2023春季学期《计算机组成原理》复习指南
第一部分 考试格式
一. 单选题(共10题,每题2分,共20分)
二. 填空题(共10题,每题2分,共20分)
三. 计算题(共3题,共20分)
四. 综合应用题(共2题,每题20分,共40分)
第二部分 复习范围
参考教材:《计算机组成与系统结构》 袁春风老师
具体内容:
第一章 计算机系统概述
-
计算机语言的分类:高级语言,低级语言(汇编语言与机器语言)。P8
ISA(指令集体系结构,instruction system architecture):软件和硬件之间接口,简称体系结构;ISA规定的内容有哪些?【ISA定义了一台计算机可以执行的所有指令的集合,每条指令规定了计算机执行什么操作,所处理的操作数存放的地址空间以及操作数类型。 ISA规定的内容包括数据类型及格式,指令格式,寻址方式和可访问地址空间的大小,程序可访问的 寄存器 个数、位数和编号,控制寄存器的定义,I/O空间的编制方式,中断结构,机器工作状态的定义和切换,输入输出结构和数据传送方式,存储保护方式等。】
具体实现的组织称微体系结构,简称微架构。
ISA和微架构是两个不同层面上概念,微架构是软件不可感知部分。P9
-
冯·诺依曼原理的内容理解;冯·诺依曼结构计算机中数据采用二进制编码表示,冯·诺依曼计算机中,CPU如何区分取出的二进制流是指令还是数据?P14
【从时间来说:取指令事件发生在“取指周期”;取数据事件发生在“执行周期”。
从空间来说:取出的二进制代码是指令,一定送往指令寄存器(控制器);取出的二进制代码是数据,一定送往数据寄存器(运算器)。】
-
计算机系统性能评价,学会计算:CPI,用户CPU时间。
【用户CPU时间=程序总时钟周期数÷时钟频率=总时钟周期数×时钟周期】P17- P18
第二章 数据的机器级表示
-
浮点数尾数的规格化:尾数如果采用原码,规格化尾数必定是±0.1格式。浮点数所能表示的范围和精度分别取决于阶码与尾数。
-
IEEE-754单精度、双精度浮点数格式,能够根据给出的真实值能求出IEEE格式的浮点数。
【单精度:| 1 | 8 | 23 |
双精度:1+11+52
(-1)^s*1.f*2^{E-127}
double 1023
】
-
大端方式和小端方式,学会按字节编址的存储空间里如何存储数据。【小端模式将数据的低位放在内存的低地址上,而数据的高位放在内存的高地址上。大端与之相反】
第三章 运算方法和运算部件
-
C语言,包括位扩展及位截断。P53【unsigned扩展补0,signed扩展补符号位。截断时直接舍弃高位】
-
ALU干啥的? ALU的核心是加法器。(注意区分ALU和加法器,二者不同)
-
结合习题,学会定点数一位乘法(原码一位乘法、补码一位乘法[布斯公式],掌握步骤及特点)。(以例题、习题复习)
【选择题:符号位可以参与运算;右移;】
【计算题:用布斯公式计算两个数的一位乘】 P65
不考察除法
另外注意:补码的乘法不具备[X×Y]补=[X]补×[Y]补的性质。
-
浮点数的加减法、乘法除法运算步骤(特别注意尾数规格化),结合习题,学会计算。
例如采用IEEE-754扩展的浮点数格式(例如8位浮点数包含1位符号位,4位阶码和3位尾数,阶码的偏置为7),实现浮点数相乘过程。
【尾数采用原码,阶码采用移码】
【把真实值变成±1.任意任意*2的多少次方】
【浮点数加减法:对阶->尾数加减->尾数规格化->舍入处理->溢出判断
乘法/除法:判断符号位(符号位异或)->计算尾数相乘->阶码相加减->舍入处理->判断溢出】
习题参考部分:见作业参考答案。
第四章 指令系统
-
指令操作码编码:固定长度操作码,扩展操作码。 例如习题6。
-
指令系统中采用不同灵活的寻址方式,使用尽量短的地址码访问尽可能大的寻址空间。例如变址寻址的目标地址计算、相对寻址方式的计算。
【变址寻址(找操作数):变址寄存器内容+相对位移量=目标地址 坑:变址寄存器的值对应地址/单元中的内容易干扰
eg. 变址寄存器内容为A000H,A000H单元的内容是C000H,位移量为08,则目标地址为A000+8】
【相对寻址(找指令):PC+位移量 当你在执行这条指令时,实际上PC已经等于PC+4了,所以如果要转移的话是PC+4+相对位移量】
-
CISC与RISC的主要特点(尤其RISC特点,选择题角度出发,理解含义就可)。
【RISC特点:
(1)指令数目少。只包含使用频度高的简单指令。
(2)指令格式规整。寻址方式少、指令格式少、指令长度一致。(操作码固定长度)
(3)采用Load/Store型指令风格。
(4)采用流水线方式执行指令。规整的指令格式有利于采用流水线方式执行。
(5)采用大量通用寄存器。编译器可将变量分配到通用寄存器中,以减少访存次数。(MIPS中有32个)
(6)采用硬连线控制器(使用组合电路)。指令少而规整使得控制器的实现变得简单,可以不用或少用微程序控制。
(7)采用优化的编译系统。指令数目少有利于编译器优化。
】
计算机执行程序所需要的时间P= I×CPI×T 其中I是指令数,CPI是执行每条指令所需的平均周期数,T时钟周期。单周期CPU:CPI=1,还有流水线CPU,而超标量流水CPU<1。
1s(秒)=10^3ms(毫秒)=10^6μs(微秒)=10^9ns(纳秒)
* 频率在数学表达式中用“f”表示,其相应的单位有:Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz。【注意:不是2^{10}】
-
结合习题,学会C高级语言的MIPS机器代码表示,注意MIPS寄存器的使用约定。注意MIPS汇编语句的执行过程,例如算术移位、逻辑移位。
【算术右移补符号位,逻辑右移补0。两种移位方式左移都是补0】
习题参考部分:见作业参考答案。
第五章 中央处理器
-
指令周期的概念,与时钟周期、机器周期的区别。
【指令周期:是指计算机从取指到指令执行完毕的时间
时钟周期:时钟周期是计算机中最基本的、最小的时间单位,在一个时钟周期内计算机仅能完成一个“微操作”或若干相容的(数据通路上不发生冲突、互不干扰的)“微操作”。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作(或完成一次机器动作)。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个时钟周期组成。】
数据通路的含义(包括组合逻辑元件、存储元件),要求理解不是记下来。
【数据在功能部件之间传送的路径称为数据通路,路径上的部件称为数据通路部件,如ALU、通用寄存器等。】
程序计数器(PC)和指令寄存器(IR)等寄存器的功能与作用。
【程序计数器(PC,Program counter),用于存放指令的地址。
指令寄存器的作用:
-
保存下一条指令的内存地址
-
更新当前指令的指针
-
实现分支和子程序调用
-
处理各种特殊事件,如中断、异常、系统调用
】
根据MIPS指令集单周期CPU的数据通路,写出正在执行的指令的相关执行过程信息。
-
单周期、多周期CPU设计。结合教材上的几条指令举例,例如单周期处理器的特点,多周期数据通路和单周期数据通路比较特点。P133
-
结合习题,学会区别硬连线路控制器设计和微程序控制器设计,CS控制存储器与一般意义上的存储器的区别(所在的位置)。
机器指令与微指令的关系。
【
-
一条机器指令的功能是若干条微指令组成的序列来实现的。 简而言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。
-
指令与内存储器有关,微指令与控制存储器有关。
】
根据具体CPU数据通路图,能够给出具体指令周期流程图并给出微操作控制信号序列。
微程序控制器与硬布线控制器的区别(执行速度,指令修改上)。
-
异常事件在当前指令执行过程中进行检测,中断请求则在当前指令执行后进行检测。
习题参考部分:见作业参考答案。
第六章 指令流水线
-
五段流水线: IF, ID, OF, EX, WB。
N条指令的执行总时间:(M+N-1)×T 其中M为流水段数,N为每个流水段的执行时间。
-
流水线冒险(熟悉各类冒险的特点,选择题):结构冒险、数据冒险和控制冒险。 尤其要熟悉数据冒险。
-
重点是Load-use数据冒险,如何识别与改进,结合习题。
习题参考部分:见作业参考答案。
第七章 存储器分层体系结构
-
存储器的分类。ROM和RAM叙述理解。存储器的速度从快到慢:寄存器—cache—主存—辅存。计算机的存储器系统是指哪些?
-
SRAM和DRAM的区别(刷新:以行为单位)。
【SAM:顺序存取存储器,按地址访问存储单元;DAM:直接存取存储器】
-
存储器芯片的扩展:位扩展、字扩展、字位扩展,需要的片数。结合课件讲解。
DRAM的扩展与静态RAM的不同。 交叉编址。
-
磁盘存储器的存储区域为磁盘记录面(盘面),每个记录面又划分为多个磁道,每条磁道又划分为扇区,扇区也就是基础的存储快,是磁盘的最小读写单位。每个扇区包含数据及其地址信息,地址信息分为三个字段(盘面号、磁道号、扇区号)。P209
平均存取时间由寻道时间、旋转延迟时间(磁头定位到要读写的扇区时间,取旋转时间的一半)和传输时间三部分组成。
DMA的数据传送过程,分为预处理、数据传送和后处理。其中预处理是CPU完成一些必要的准备工作。数据传送是采用单字节(或者数据块)为基本单位进行传送,此过程完全由DMA控制。后处理是DMA控制器向CPU发出中断请求,CPU执行中断并在DMA结束后校验数据是否正确,测试传送过程是否出错以及决定的是否继续使用DMA传送其他数据块等。
-
常用的数据校验码:奇偶校验码(奇校验位、偶校验位的求解)、海明校验码(给定宽度的数据,学会求单纠错码SEC)、循环冗余校验码(根据生成多项式的位数求出CRC码的位数)。要求掌握海明校验码(8位数据位+4位校验位:发现1位错并能纠正1位错)。区别:发现1位错;发现1位错并能纠正1位错,发现两位错。
-
局部性:时间局部性和空间局部性。
-
Cache的行,槽 就是块。通过硬件来实现映射。 有效位,标记(三种映射变化)。
-
Cache命中率计算公式,平均访问时间公式, 例如采用两级Cache的存储系统中,如果告诉了第1级Cache和第2级Cache的命中率,然后求平均访问时间。
-
直接映射、全相联、组相联映射方式的区别及使用案例(结合例题和习题)。
要求掌握地址的字段划分(注意标记字段的变化);
要求掌握给出主存块号或者主存单元地址,给出相应方式下(考核直接映射、组相联映射)的Cache行号或组号。
要求掌握组相联映射中的比较器的个数和位数 P243
-
Cache总容量的计算:有效位、标记、数据块。(写回法下增加修改位)
-
Cache中主存块的替换算法:先进先出、LRU算法、最不经常用算法、随机替换算法。结合习题、例题。 注意:LRU位的设置。
-
Cache的一致性问题:全写法(Write Through)、写回法(Write Back)[每个cache行设置了一个修改位(dirty bit),注意计算cache容量时] ( 标记,有效位,修改位)
-
虚拟存储器的TLB和Cache的访问过程。虚拟存储器借用外存来为程序提供的很大的虚拟存储空间,解决了编程受限的问题。快表与慢表。
段式、页式、段页式。
虚拟存储器管理机制中地址转换描述,页式管理中虚页号到实页号的转换。
习题参考部分:见作业参考答案。
第八章 互连及输入输出组织
-
I/O接口的含义,I/O端口的含义。
-
I/O数据传送控制方式:程序直接控制方式,程序中断方式,DMA方式。其中DMA主要适合于磁盘等高速设备的数据传送。