计算思维第2章 计算机思维

前言回顾

        目前认为,三大思维能力是指:1.理论思维;2.实验思维;3.计算思维
        为了实现自动计算,需要解决的基本问题是:1.数据的表示;2.计算规则的表示;3.数据的存储及自动存取;4.计算规则的存储及自动存取

目录

一、冯·诺依曼计算机

        1.符号0和1

        ①二进制-采用符号0和1的计数系统

       ②布尔代数

       ③数字电路:工作信号只有0和1

        2.存储程序

        ①指令系统

        ②内存储器

        ③中央处理器(运算器、控制器)

二、现代计算机

        1.操作系统        

        ①CPU管理

        ②存储管理

三、现代程序

        1.程序设计语言

        2.软件开发方法

一、冯·诺依曼计算机

        1.符号0和1

        主要是运用在三个方面:①二进制-采用符号0和1的计数系统;②布尔代数;③数字电路-工作信号只有符号0和1。

        ①二进制-采用符号0和1的计数系统

        采用数制表示数值数据需要考虑以下问题:a.数字符号的选用-进位制数及其相互转换;b.小数点位置的表示-定点与浮点表示;c.正号与负号的表示以及运算的简化-机器数。

    a.进位制数及其相互转换

        十进制数:符号0~9;规则-逢十进一;基数为10,第i位的位权为10^i (整数部分最低位为第0位)。比如:

        二进制数:符号0~1;规则-逢二进一;基数位2,第i位的位权为2^i (整数部分最低位为第0位)。比如:

        转换方法:
        二进制数转化为十进制数:按十进制数的规则,把二进制数的各位数按位权展开相加。比如:

        十进制数转化为二进制数(除2取余法):首先用2连续除该十进制整数及得到的商,并列出余数,直至商为0,然后把先后得到的余数从低位到高位排列。

        十进制小数转换为二进制小数(乘2取整数法):首先用2连续乘该十进制小数及得到的积的小数,并列出积的整数部分,直至积的小数为0,然后把先后得到的积的整数按从高位到低位排列。

        十进制数转换为N进制数:除N取余,逆序排序。
       
十进制小数转换为N进制小数:乘N取整,顺序排列。注:十进制小数转换成其他进制小数时,结果有可能是一个无限位的小数。

        若要使二进制转换为N进制,可以先转换为十进制,再进行转换。当然也有其他方法,比如说二进制转为八进制,从小数点往两边取二进制数,每3个(不足的补0)转换成一个8进制。

    b.定点与浮点的表示
        计算机采用的存储单位
        8bit = 1Byte                        1024B =  1KB
        1024KB = 1MB                   1024MB = 1GB
        1024GB = 1TB 
  
        定点表示:小数点位置固定不变(定点整数)。
        浮点表示:小数点位置随着阶的变化而左右浮动(浮点实数)。

        定点整数:小数点位置固定在数值位之后。比如说:我们设存储长度为8位,从高位到低位依次是:符号1位,数值7位,小数点位置隐式地固定在数值位之后。那么我们所能表示的十进制数值范围为 ±(2^7 - 1)。

        浮点实数:采用记阶表示。

         比如说:我们设存储长度为8位,从高位到低位依次是阶符1位,阶数2位,尾符1位,位数4位,小数点位置隐式地表示在尾数位之前,尾数随着阶的变化而变化,因此小数点位置也随着阶的变化而左右浮动。所能表示的数值范围由阶数位数决定,数值精度由尾数位数决定。

    c.机器数
        原码:二进制整数x的原码记为[x]原。
        当x为正的时候,[x]原的符号位为0,数值位不变;
        当x为负的时候,[x]原的符号位为1,数值位不变。
        比如说:我们设存储长度为8位,那么则有
                x = +10011    [x]原 =  00010011
                x = - 10011    [x]原 =  10010011

        补码:二进制整数x的补码记为[x]补。
        当x为正的时候,[x]补的符号位为0,数值位不变;
        当x为负的时候,[x]补的符号位为1,数值位为取反加1。

        比如说:我们设存储长度为8位,那么则有
                x = +10011     [x]补 = 00010011
                x = - 10011     [x]补 = 11101101

        补码加法运算的特点:[x+y]补 = [x]补 + [y]补,即二进制数的加法运算可以转换为补码的加法运算;在补码的加法运算中,符号位直接参加运算。
        补码减法运算的特点:[x- y]补 = [x]补 + [-y]补,而[-y]补则将[Y]补的各个位(连同符号位)均取反,然后最低位加1,即可得到。
        比如说:我们设存储长度为8位,110110 - 1111001=(+110110) + (-1111001)

       ②布尔代数

        布尔代数:<{0,1},∧,∨,┐>;
        逻辑值:0(F/假)、1(T/真)
        逻辑运算:∧(逻辑与),∨(逻辑或),┐(逻辑非)

        逻辑变量:取值只能为逻辑值的变量。
        逻辑表达式:由逻辑变量或者逻辑变量与逻辑运算构成。
        真值表:逻辑表达式的所有可能取值情况的罗列。

       ③数字电路:工作信号只有0和1

        门电路:实现逻辑运算的电路。可分为三种:与门;或门;非门。

        2.存储程序

        存储程序是指程序存储在内存储器中,中央处理器按照存储的程序有条不紊地进行。主要分为有三个方面:①指令系统;②内存储器;③中央处理器(运算器、控制器)。

        ①指令系统

        程序:人们编写的计算机可以识别的如何处理问题的步骤集合。
        机器指令:编码表示的计算机可以直接识别和处理的基本操作。

       
指令系统:计算机的机器指令集合。
        基本操作(机器指令)包含:a.功能信息-需要执行什么操作(操作码);b.数据信息-操作的数据来自何处,操作的结果去向何处(操作数)。
       
举个例子:设两个加数分别存于地址X和Y的内存单元中,两个加数相加,将和存于地址为Z的内存单元中。我们采取归纳基本操作,分为三个基本操作(引入寄存器):第一步为取数操作,我们从地址为X的内存单元中取出加数1,存于地址为A的寄存器中;第二步为加法操作,我们将地址为A的寄存器中的加数1与地址为Y的内存单元中的加数2相加,和存于地址为A的寄存器中;第三步为存数操作,我们从地址为A的寄存器中取出和,存于地址为Z的内存单元中。

        编码机器指令:
       
设:功能不同的基本操作(机器指令)的数目为16,寄存器的数目为4,内存单元的数目为1K。则:操作码的编码长度至少为4位,寄存器地址至少为2位,内存地址至少为10位,机器指令长度至少位16位。机器指令格式如下图所示:

 

        ②内存储器

        特点:a.容量小;b.存储速度快;c.成本高。
        若内存单元为mB,内存容量为nGB,则内存地址至少为
log2(2^30*n/m)位。

        ③中央处理器(运算器、控制器)

        中央处理器(CPU):有条不紊地执行机器指令性是的程序。

        具体示例图:

        当中央处理器在执行机器指令形式的程序时,从程序计数器中得到下一条指令的地址以实现自动执行。

二、现代计算机

        1.操作系统        

        操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程(资源管理),以便有效地利用这些资源,为用户提供一个功能强、使用方便的工作环境,从而在计算机与其用户之间起到接口作用(用户接口)。它可以说是硬件功能的第一层封装及扩展。

        CPU管理

        并发执行与分时调度
        进程:程序对给定的数据集在处理机上的一次执行过程,包括如下基本状态:
        a.就绪态:其他条件满足,具备运行条件,等待CPU的状态。
        b.执行态:占有CPU并在CPU上执行的状态。
        c.阻塞态:其他条件不满足,不具备运行条件的状态。

        死锁:两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。
        产生的必要条件互斥条件、不可抢占条件、占有且申请条件、循环等待条件。
        解决方法:第一种方法,我们可以通过设置一些限制条件,去破坏产生死锁必要条件的一个或多个来预防死锁,称为预防死锁;第二种方法,我们可以在资源分配过程中,使用某种方法避免系统进入不安全的状态,从而避免发生死锁;第三种方法,我们可以让进程回退到某个状态(回退到没有获取某种资源的状态),从而释放已经获得的资源。
        活锁:任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试—失败—尝试—失败的过程。处于活锁的实体是在不断的改变状态,活锁有可能自行解开。
        解决方法:通过先来先服务的方式进行解锁。
        死锁与活锁的区别:处于活锁的实体是在不停的改变状态,而处于死锁的实体处于等待状态;活锁有可能自行解开,但死锁不行。

        ②存储管理

        现代计算机的存储体系包括:外存;RAM,ROM(内存);Cache(高速缓冲存储器)。

        虚拟存储管理技术:当程序运行时,不是将程序一次性全部从外存调入内存,而是先调入将要执行的部分,再逐步调入需要的部分,调出不要的部分到外存。
        内存空间——实际地址、物理地址;
        虚拟空间——虚拟地址、逻辑地址。
        请求页式管理:
        a.将内存空间分成若干个大小相等的块,
物理地址包括块号和块内地址;将虚拟空间分成若干个大小与块相等的页,逻辑地址包括页号和页内地址
        b.内存分配和回收以块为单位,一个块存储一个页,逻辑上连续的页可以存储在物理上不连续的块中。
        c.页表存储块和页的映射关系(页号、块号、中断位……),根据中断位可以判断该页是否在内存。
        d.当访问某页时,根据页表判断该页是否在内存,如果在内存,则根据页表计算物理地址后访问,否则发生缺页中断,即分配一个块,将该页调入内存,修改页表,之后根据页表计算物理地址后访问。        
     存储体系中:通过主存— —辅存(即虚拟存储器):解决内存容量扩充问题;通过Cache — —主存:解决主存与CPU之间速度不匹配的问题。

     在请求页式管理中,如果页面在内存,我们可以通过四步骤将逻辑地址转换为物理地址:
        第一步,我们需要确定虚拟地址的有效位,比如说:我们设页面大小为1Kb,现有8页,那么此时虚拟地址的有效位为
13 ( 2^10 * 8 =2^10 * 2^3 = 2^13 );
        第二步,我们需要确定逻辑地址的页面位数,继续就第一步的假设,那么此时页面位数为
10 ( 2^10 )。
        第三步,我们根据“逻辑地址=页号+页面”计算出页号,比如说:现有逻辑地址0000 1111 1000 0000,那么页号位为
3 ( “000011+1110000000(10位),000011转十进制值为3”);
        第四步,我们根据页号找出对应的页框号,再根据“物理地址=页框号*页块大小+页面逻辑地址”计算出物理地址。

     如果发生缺页中断,页面置换策略有:最佳⻚⾯置换算法 (OPT);先进先出置换算法 (FIFO);最近最久未使⽤的置换算法 (LRU);时钟⻚⾯置换算法 (Lock);最不常⽤置换算法 (LFU);

三、现代程序

        1.程序设计语言

        程序设计语言:用于书写程序的语言,它规定了书写程序时可以使用一组记号和一组语法规则。

         语言处理程序

        面向对象语言的优点有:易维护;易扩展;模块化;方便建模。
        编译过程包括:词法分析;语法分析;语义分析;中间代码生成;代码优化;目标代码生成。(具体完成什么任务可以去查阅)

        2.软件开发方法

        组件:是实现IComponent接口的类,或者直接或简介地从实现IComponent接口的类派生的类。
        事件:是可以通过代码处理的操作。用户操作或系统操作——产生事件;代码执行——处理事件。
        事件驱动:事件产生——代码执行
        基本实现步骤:①绑定对象事件与事件处理方法;②编写事件处理方法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Windows 7操作系统的思维导图如下: 1. Windows 7操作系统概述: - Windows 7是Microsoft推出的操作系统,是Windows家族的一员。 - Windows 7以提供更稳定、易用和安全的用户体验为目标。 2. Windows 7的特点和优势: - 界面友好:Windows 7采用了Aero界面,具有更好的可视化效果和操作体验。 - 提升性能:Windows 7在系统资源管理和性能优化上有所改进,提供更高的运行效率。 - 强大兼容性:Windows 7兼容大量的应用程序和外部设备,提供广泛的硬件和软件支持。 - 改进的安全性:Windows 7加强了安全性,提供了更安全的上网和数据保护功能。 3. Windows 7的基本操作: - 桌面和任务栏:桌面是Windows 7的主要工作区域,任务栏用于快速访问和切换程序。 - 文件和文件夹管理:使用Windows资源管理器浏览、创建、复制、移动和删除文件和文件夹。 - 窗口管理:Windows 7支持多窗口管理,可最小化、最大化和平铺窗口来优化显示。 - 系统设置:通过控制面板可进行系统设置、用户管理、硬件设置和网络配置等操作。 - 上网和网络连接:Windows 7提供了Internet Explorer和网络设置功能,可轻松上网和连接网络。 4. Windows 7的高级功能: - 用户账户控制(UAC):提供了更好的用户权限管理和程序安全性。 - 虚拟硬盘(VHD):可以通过创建和挂载虚拟硬盘来扩展存储和进行数据备份。 - Windows XP模式:允许在Windows 7上运行Windows XP程序,提供向后兼容性。 - 多媒体功能:Windows Media Player可播放音频和视频,Windows Media Center提供更丰富的多媒体体验。 总结:Windows 7是一款功能强大、易于使用和安全可靠的操作系统,具有提升性能、强大的兼容性和改进的安全性等优点。通过桌面、任务栏、窗口管理和系统设置等基本操作,用户可以方便地进行文件和文件夹管理、上网和网络连接。此外,Windows 7还提供了用户账户控制、虚拟硬盘、Windows XP模式和多媒体功能等高级特性,为用户提供更丰富的体验和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的panda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值