第一章:概论
电子数字计算机和电子模拟计算机的区别在哪里?
- 电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;
- 电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
冯·诺依曼计算机的特点
-
计算机由五大部件组成:存储器,运算器,控制器,输入设备,输出设备。
-
指令和数据以同等地位存于存储器,可按地址顺序访问。
-
指令和数据用二进制表示。
-
存储程序,程序在计算机中顺序存放。
-
以运算器为中心。(不合理:花大量的时间进行数据传输,降低了运算器数据运算的效率)
什么是总线?简述单总线的结构特点。
总线是为多个部件服务的公共信息传送线路,分时发送接收信息。
- 部件之间直接进行信息交换。
- 分时共享。
第二章:数据的机器层次表示
8位有符号数的补码表示范围-128至127.
第三章:指令系统
指令的基本格式
-
四地址指令
其指令格式如下:
指令含义:(A1) OP (A2) → A3,A4=下条将要执行指令的地址。
符号含义:OP 为具体的操作,Ai表示地址,(Ai)表示存放于该地址的内容。执行一条四地址的双操作数运算指令,共需访问 4 次主存:第一次取指令本身;第 2 次取第一操作数;第 3 次取第二操作数;第 4 次保存运算结果。
若指令字长为 32 位,操作码占 8 位,4 个地址码字段各占 6 位,则指令操作数的直接寻址范围为 26=64。
-
三地址指令
其指令格式如下:
指令含义:(A1) OP (A2) → A3,(PC) + 1 → PC(隐含)
符号含义:OP 为具体的操作,Ai表示地址,PC 为程序计数寄存器,用于存放下一条指令的地址,从而消除四地址指令中的 A4,形成更短的三地址指令。
执行一条三地址的双操作数运算指令,也需访问 4 次主存:第一次取指令本身;第 2次取第一操作数;第 3 次取第二操作数;第 4 次保存运算结果。
若指令字长为 32 位,操作码占 8 位,3 个地址码字段各占 8 位,则指令操作数的直接寻址范围为 28=256。
-
二地址指令
其指令格式如下:
指令含义:(A1) OP (A2) → A1,(PC) + 1 → PC(隐含)
符号含义:A1为目的操作数地址,A2为源操作数地址。
执行一条二地址的双操作数运算指令,共需访问 4 次主存:第一次取指令本身;第 2次取目的操作数;第 3 次取源操作数;第 4 次保存运算结果。并且源操作数地址中原存的内容被破坏了。
若指令字长为 32 位,操作码占 8 位,两个地址码字段各占 12 位,则指令操作数的直接寻址范围为 212=4K。
二地址指令有两个操作数,这些操作数并不一定都在主存中,往往有一个或两个在通用寄存器中,这样构成不同的类型,详见后面的二地址指令的分类。当操作数放在通用寄存器中时,每个通用寄存器有一个编号,需要指定相应的寄存器编号即可。
-
一地址指令
其指令格式如下:
指令含义:(ACC) OP (A1) → ACC,(PC) + 1 → PC(隐含)
符号含义:ACC 为累加寄存器。
执行一条一地址的双操作数运算指令,共需访问两次主存:第一次取指令本身;第 2次取第二操作数。
若指令字长为 32 位,则操作码占 8 位,一个地址码字段则占 24 位,指令操作数的直接寻址范围为 224=16M。
-
零地址指令
其指令格式如下:
指令含义:无地址码。例如,空操作(NOP)、停机(HLT)、子程序返回(RET)和中断返回(IRET)等,这类指令没有地址码,其操作数的地址隐含在堆栈的栈顶指针 SP 中。
参加的两个操作数来自于堆栈的栈顶和次堆栈栈顶
例如,零地址加法指令仅用在堆栈计算机中,操作数和结果都保存在堆栈中,参与加法运算的两个操作数隐含地从堆栈顶部弹出,送到运算器中进行运算,运算的结果再隐含地压入堆栈。所有这些指令都会执行(PC)+1→PC。
访存次数取决于堆栈结构
基本数据寻址方式比较
程序控制类指令作用、功能
程序控制类指令用于控制程序的执行顺序,并使程序具有测试、分析和判断的能力。
-
转移指令
在程序执行过程中,通常采用转移指令来改变程序的执行顺序。
转移指令又分为无条件转移和条件转移两种。
均采用相对寻址方式 -
子程序调用指令
子程序是一组可以公开的指令序列,只要知道子程序的入口地址就能调用它,这样既简化了程序设计,又节省了存储空间。
-
返回指令
从子程序转向主程序的指令成为返回指令。返回指令常是零地址指令。
第四章:数值的机器运算
-
提高并行加法器速度的关键是尽量加快进位的产生和传递的速度
-
溢出原因:
两数相加之和的数值已经超过了机器允许的表示范围。
规格化浮点运算:
第五章:存储系统和结构
-
层次结构目的:
为了解决存储容量,存储速度和价格之间的矛盾。通常把各种不同存储容量、不同存取速度的存储器按一定的体系结构组织起来,形成一个统一整体的存储系统。 -
- cache存储系统是为了解决主存速度不足提出来的。
- 虚拟存储系统是为了解决主存容量不足提出来的。
-
cache原理
cache利用了程序的局部性原理,把程序中正在进行使用的部分存放在一个高速的、容量较小的cache中,使CPU的访问操作大多针对cache进行,从而使得程序的执行速度大大提高。
-
虚拟存储器
- 用户编程的地址称为虚拟地址或逻辑地址
- 实际的主存单元地址称为实地址或物理地址
- 虚地址比实地址大得多
- 采用虚拟存储器的主要目的是(扩大主存储器的存储空间,并能进行自动管理和调度)
第六章:中央处理器
-
CPU结构:
CPU由运算器和控制器组成。
-
CPU中主要寄存器
-
通用寄存器
通用寄存器可用来存放原始数据和计算结果,有的还可以作为变址寄存器,计数器等,
累加寄存器ACC也是一个通用寄存器。
-
专用寄存器
-
程序计数器:用来存放正在执行的指令地址或者接着要执行的下一条指令地址。
-
指令寄存器:用来存放从存储器中取出的指令。
-
存储器数据寄存器:用来咱叔存放由主存储器独处的一条指令或一个数据字。
-
存储器地址寄存器:用来保存当前CPU访问的主存单元的地址。
-
程序状态寄存器:用来存放状态字(PSW)。
-
-
-
控制器功能
控制器是计算机系统的指挥中心,他把运算器、存储器、输入输出设备等组件组成一个有机的整体,然后根据指令的要求指挥全机的工作。
微操作信号发生器
(1)微操作序列:控制器在实现一条指令的功能时,总要把每条指令分解成一系列时间上有序的最基本、最简单的微操作。一条指令可以分解成一个微操作序列。
(2)微命令:控制部件向执行部件发出的各种控制命令称为微命令,构成了控制序列的最小单位,微命令是控制计算机各部件完成某个基本微操作的命令(微命令和微操作一一对应)
(3)微指令:**微指令是指控制存储器中一个单元的内容,即控制字,是若干微命令的集合,**存放控制字的单元地址就是微地址
一条微指令最少包含两部分信息
操作控制字段(微操作码字段):用来产生某一步操作所需的各种微操作控制信号
顺序控制字段(微地址码字段):用以产生下一条要执行的微指令地址
(4)微程序:一系列微指令的有序集合就是微程序,每一条机器周期(一个微程序序列)都对应一个微程序 -
运算器功能
(1)执行所有的算术运算,如加、减、乘、除等基本运算及附加运算。 (2)执行所有的逻辑运算,并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。
第七章:总线
总线分类:
- 按功能层次分类
+ 片内总线 (芯片内部的总线)
+ 系统总线(内总线)
系统总线按照传输的信息不同可以分为数据总线,地址总线和控制总线。
+ 通信总线(外总线)
-
按数据线的多少分类
- 并行总线:成本高,速度快,数据线较长时,会造成传输错误。
- 串行总线:在长距离连线的情况下仍可有效的传送数据。
总线带宽:
B = W * F / N
W:总线宽度,以字节为单位 F:总线时钟频率 N:一次数据传送所用的时钟周期数
第九章:输入输出系统
I/O 传送控制方式
- 程序查询方式(主机与外设串行工作)
- 程序中断方式(可以并行 可以处理异常,传数据)
- 直接存储器存取(DMA)方式 (更好的并行 只用来传数据)
- I/O通道控制方式 (专门化的I/O操作 通道程序)
向量中断
向量中断是指中断服务程序的入口地址是由中断事件自己提供的中断。
通道的类型
- 字节多路通道(流):用于连接和管理多台低速设备
- 选择通道(高速通道):物理上可以连接多个设备,但这些设备不能同时工作。
- 数组多路通道
一些题目
电子计算机可分为数字计算机、模拟计算机,是按照( C)分类的。
-
A、计算机的用途
-
B、计算机的使用方式
-
C、信息的形式和处理方式
-
D、计算机的系统规模
迄今为止,计算机中的所有信息仍以二进制方式表示的理由是(C )。
- A、节约元件
- B、运算速度快
- C、物理器件性能所致
- D、信息处理方便
-
由于集成度提升,现代计算机允许把运算器和( 主存储器)制成一块芯片,称为微处理器。
-
只有当程序执行时,它才会把源程序翻译成机器语言,而且一次只能读取、翻译并执行源程序中的一行语句,此程序被称为(解释程序)。
-
系统总线中,划分数据线、地址线和控制线的根据是( 总线传输内容 )。
-
存储系统的基本含义是把编号的程序和数据事先存入主存中。(×)
存储系统的基本含义是把编号的程序和数据事先存入存储器中,再启动计算机工作。
-
计算机系统中采用补码运算的目的是为了(简化计算的设计)。
补码负数的特点是数值位对应的真值越小,其绝对值越大,即负得越多。所以由4个1和4个O组成的补码数中,最小的补码表示为10000111,即真值为-121(1111 1001)。
6.引入八进制和十六进制的目的是(用于等价地表示二进制,便于阅读和书写)
对于ASCII码,一个字节右边的7位表示不同的字符代码,最左边一位可以作为(奇偶校验位),用来检查错误,亦可以用于(西文字符)和(汉字)的区分标识。
-
浮点数的取值范围由阶码的位数决定,而精度由尾数的位数决定。
-
字符串存放通常有向量法和串表法,请比较一下两种方法的优缺点。
向量法:
优点:简单,节省存储空间。
缺点:在字符串需要进行插入删除操作时,在删除或插入字符后面的子字符串需要全部重新分配储存空间,将花费较多时间。
串表法:
优点:串中的字符可以安排在存储器的任意位置上,在对字符串进行删除和插入操作时,只需修改相应字符代码后面的链接字即可,非常方便。
缺点:链接字占据了存储单元的大部分空间,使得主存的有效利用率下降了。
9. 将子程序返回地址放在( 堆栈 )中时,子程序允许嵌套和递归。
10. 把指令中地址码字段给出的地址称为(形式地址),这个字段经过某种运算而得到的能够直接访问主存的地址称为(有效地址)。
11. 寄存器寻址从寄存器中存取数据比丛主存中存取(快);地址码字段比主存单元地址字段(短),因而几乎所有计算机都使用了寄存器寻址。
- 两补码数相加,采用1位符号位,当(D )时,表示结果溢出。
- A、[符号位有进位](javascript:void(0))
- B、[符号位进位和最高数位进位异或结果为0](javascript:void(0))
- C、[符号位为1](javascript:void(0))
- D、[符号位进位和最高数位进位异或结果为1](javascript:void(0))
- 多级存储体系由( 主存 )、( cache )和虚拟存储器构成。
CPU响应中断时需要保存当前现场(断点地址,状态寄存器),通常会被保存到堆栈中。
在计算机系统中,表征系统运行状态的部件是程序状态字。
三级时序系统提供的三级时序信号是机器周期,节拍,脉冲。
隐指令是指操作数隐含在操作码中的指令。(×)
隐指令是指令系统中没有的指令(√)
为1](javascript:void(0))
- D、[符号位进位和最高数位进位异或结果为1](javascript:void(0))
- 多级存储体系由( 主存 )、( cache )和虚拟存储器构成。
CPU响应中断时需要保存当前现场(断点地址,状态寄存器),通常会被保存到堆栈中。
在计算机系统中,表征系统运行状态的部件是程序状态字。
三级时序系统提供的三级时序信号是机器周期,节拍,脉冲。
隐指令是指操作数隐含在操作码中的指令。(×)
隐指令是指令系统中没有的指令(√)