跳转至

期末复习

教材:《计算机组成原理 第六版》白中英

第一章导论

冯诺依曼设计思想(了解、记忆):p10

存储程序,并按地址顺序执行

第二章机器码

1)浮点数IEE754的计算

知识点:

  • 32位IEE754的标准格式
  • 二进制小数位->十进制

题型p23:

  • IEE754->求普通浮点数
  • 普通浮点数->标准二进制IEE754格式

2)四码(原、反、补、移)

知识点:

  • why要有四码,即为了解决什么问题?(解决计算机计算时候,符号位的问题)
  • why要有补码?(解决原码留下的问题,简化减法运算。即用加法代替减法)
  • 补码的定义(负数求补码的原始方法:2(n+1次)+x)| x为负数
  • 移码的传统定义
  • 原->补:除符号位,全部取反,最后加一

题型p21

  • 正负补码->求原十进制数
  • 十进制真值->二进制真值->求原、反、补、移
  • 原、反、补的表示范围(数轴形式)p23【最直观可视化看懂三个码】

3)奇偶校验码

题型p27:

  • 根据数据,编写奇偶校验码(校验码=1的个数 mod2,将校验码放到数据最后 )

4)补码的加减、溢出

知识点:

  • 二进制浮点数的组成(x = 2的阶码次 * 尾数M)
  • x补+y补=(x+y)补
  • x补-y补=(x+(-y))补
  • 应对溢出采用双符号位的办法

题型p28、29:

  • 二进制真值的加减法,利用补码来做
  • 正溢出、负溢出

5)浮点数加减法、乘除法

知识点:

  • 加减法的四步骤(前提:先变成标准二进制浮点数。四步骤:1.检查0操作数-2.对阶-3.尾数相加-4.规格化并检查舍入)
  • 乘除法(没看)

题型p53

  • 浮点数的加减法
  • 乘除法(很少考,有时间再看)

第三章存储器

1)存储器的分类

知识点p64:RAM、ROM

2)SRAM、DRAM概念

知识点P64:

  • SRAM(static-RAM)静态RAM、DRAM(dramatic-RAM)动态
  • DRAM的刷新方式(策略)p72:集中式、分散式

3)位扩展、字扩展、芯片选择、地址选择

什么是位扩展:存储器的位数太少 什么是字扩展:存储器容量太小

知识点and题型P69:

  • 位扩展的要点(分配数据总线)
  • 字扩展的要点(利用译码器去配置地址总线)

4)双端口存储器命名由来,冲突判断

知识点p86:

  • why要有并行存储器?(CPU和主存储器的速度不匹配,限制了高速计算机的设计。为了解决速度问题,需要改进存储器和CPU之间的连接方式,传统的存储器只有一个读写口,所以 提出了多口存储器结构(e.g双端口存储器)
  • What is 双端口存储器?(具有两组相互独立的读写控制电路&两组独立的地址线、控制线、数据线)
  • how 解决有冲突的读写控制?
    • 总体上:设置BUSY非标志->片上判断逻辑决定哪个端口优先读写->优先端口的BUSY高电平、延迟端口低电平->完成之后延迟端口BUSY复位变高电平
    • 具体的判断方式p88:(CE非)判断、地址有效判断

5)交叉存储器的交叉存取度,带宽计算

知识点p89、90:

  • Why要有交叉存储器(参考why要有并行存储器?)
  • What是顺序存储器、交叉存储器(顺序:模块访问地址是按顺序一个一个分配给模块的;交叉:地址是交叉分配给不同的模块的)p89图片
  • 交叉存储器的优势(可以实现多模块并行存取,提高带宽、机器运行速度CPU同时访问N个模块)
  • What交叉存取度m(m最小=T/tao)【解释:在完成运输所有数据(时间mtao)之前新的数据要被存储(时间T)进来,这样就可以不间断的运输数据了。即T<=mtao m>=T/tao】

前置知识:

  • CPU速度>存储器速度
  • 即 总线传送周期tao<存储周期T

存储器->CPU的核心逻辑:存储器模块先存储数据,时间为T->总线再将数据传送到CPU,时间为tao

顺序存储器的核心逻辑:存储器慢慢存储数据,而总线速度比存储器存储数据快得多,直接和存储数据的时间重叠了。所以:读出n个字的时间为t2=nT

交叉存储器的核心逻辑:让总线传送可以源源不断地从模块中拿到数据送到CPU(流水线方式)

举个具体的例子(书本p90图)来看:

  1. 模块M0先存储数据,时间为T
  2. M0完成后,总线将数据送到CPU,时间为tao,总时间为T+tao
  3. 在总线将数据送到CPU之后,也就是tao时间过后。M1完成了一次存储数据,总线又可以继续传送数据到CPU了
  4. M1怎么回事呢?M1在M0开始存储数据后的一小段时间,开始了存储数据,并在T+tao时间完成了数据存储。(同理M2、3、4)
  5. 所以:交叉存储读取m个字的时间为t1=T+(m-1)tao

题型p90:

  • 顺序交叉存储的带宽计算、交叉存取度的计算

6)cache 命中率、平均访问时间、效率的计算

知识点p92:

  • Why要有cache?(解决CPU和主存之间速度不匹配的问题)
  • What是cache?(介于CPU和主存的之间的小容量存储器,速度>主存,容量<<主存)
  • CPU和cache、主存之间的交互逻辑(CPU想要从内存读取一个数据,先问cache里有没有。如果有,就从cache中送数据到CPU,叫==cache命中==;如果没有,则从主存中读取数据,同时把含有这个字的数据块从主存读取送到cache中,叫==cache缺失==
  • cache命中率h、cache/主存的平均访问时间ta、访问效率e 的概念p93
  • 最理想的cache是怎样的?(命中率为1,即 尽可能让CPU和cache交互,而不是让CPU和主存交互)

题型p93:

  • 计算cache命中率、平均访问时间、效率的计算

公式:

前置知识:tc>=ta>tm 【tc:cache访问时间、tm:主存访问时间、ta总访问时间】

  1. 命中率h=(cache存取次数)/(总次数)【总次数=cache+主存存取次数】
  2. cache/主存系统的平均访问时间ta= htc + (1-h)tm
  3. 效率e = tc / ta

7)cache 地址映射的 3 种方式,直接映射方式分配位置计算,以及直接映射方式的内存地址

(有视频:b站、老师讲解)

知识点:

  • why要有这个?
  • CPU与cache之间数据交换是以字为单位的,而cache与主存之间的数据交换是以块为单位的。(cache保存内容只是主存的一个子集)

个人理解(why要有cache与主存的地址映射):

  • 前提:
    • 主存中数据的排列:一个主存有N个块,每块有M个字
    • 为了精准找到具体是哪一个字,所以主存地址= 块号 + 字地址
    • CPU根据主存地址精准的从主存中找到具体的某一个地址。具体逻辑:根据块号找到块号为x的块->再根据字地址找到第x块中具体的第y字
  • 解释why要有cache与主存的地址映射
    • 本质不变:CPU仍然是需要从主存中找到数据
    • 只不过为了提高速度,把部分数据从主存移到了cache
    • 现在的查找数据逻辑:CPU根据主存地址->去cache找->去主存找
    • 那如何将主存数据信息定位到cache中?————地址映射

永远不变的:CPU->主存,通过主存地址 = 块号 + 字地址

为了实现cache到主存的地址映射:块号 = 标记位 + 块号(组号)

CPU到cache查找数据的逻辑:

  • 前提:CPU本身是要找主存中的2号块
  • 从cache中先去查找->根据组号判断2号块在的组中有没有数据->如果有,根据标记位判断这个块具体是不是2号块

具体举例,推荐去看视频教程

以上部分都是个人理解(对why地址映射,cpu-cache-主存之间逻辑),一时脑热,可能有错。


对于做题来说,上面这些想法可以更简单一些。(以组相联为例)

简化思想步骤:

  1. 先不看主存,CPU直接想从cache中获取数据,需要组号字地址
  2. 但是CPU根本上是想从主存中获得某一个数据,只不过一部分数据被映射到cache中了。
  3. 所以需要标记位来确定是不是真的具体就是这个数据。
  4. 解释原因:这是因为组相联的思想是==取余== ,也就是说cache中第0组中,可能包含主存的第0、4、9块,要想确定cache的第0组存在的数据真的是CPU想要从主存中的第4块,而不是第0、9块,这就需要标记位来帮忙。
  5. 标记位怎么做的?标记位+组号=块号,这时候内存地址的块号 与 cache的 标记+组号 进行对比。判断是不是这一块。
  6. 注意:cache中没有标记,这个标记是另外的存储器来实现的,这个存储器在cache旁边,叫相联存储器。

题型p99

  • 全相联、直接相联、组相联 求内存地址的格式

8)物理地址、逻辑地址的计算,物理空间、逻辑空间的计算(习题)

页式存储器为例

知识点p105

题型p117

9)主存-辅存和 cache-主存的相同和不同点(简答)

知识点p105:

  • What是辅存(辅存:比主存速度慢、容量大。e.g.外接硬盘)
  • What是虚存(虚存:虚拟内存,解决的是内存不够大的问题,用一定的软件将部分虚存当作主存,逻辑地址<->物理地址)

  • 相同:

    • 出发点相同:提升性能
    • 原理相同:把常用的数据从大但慢的存储器中掉入小但快的存储器中
  • 不同点:
    • 侧重点不同:cache是为了解决主存和CPU之间速度差异的问题,虚存解决主存容量小的问题
    • 数据通路不同:CPU可以直接和cache访问,而虚存和CPU之间隔了主存
    • 透明性不同:cache是靠硬件支持;虚存是软件(OS)+硬件(辅存)实现的,对硬件系统程序员不透明,对应用型的透明
    • 未命中时损失不同:cache存取速度>主存>>辅存。所以,主存未命中时候系统的性能损失比cache远远多

10)虚拟存储器的 3 种管理方式

知识点:

  • 页式、段式、段页式

11)页式虚拟存储器的工作原理及其实地址计算方法,页表大小的计算。(习题)

与上面的(8)一样

12)虚存的替换算法,列表法计算(简单

知识点:

  • FIFO、LRU

题型p111、116

第四章 指令

1) 指令的组成(操作码和地址码)

知识点p121:

  • 操作码、地址码(N地址指令)

2)二地址指令格式中的 3 种类型(RR,RS,SS),及其判断

知识点:

  • R-Rigister
  • S-Storage

3)指令格式特点的分析(简答)

知识点:

  • 指令字长:单字长、双字长、半字长

题型p126

  • x字长x地址指令
  • 操作码OP可以制定2的n次条指令
  • RR(RS)型指令

4)指令寻址方式

  • 顺序寻址(通过PC,一条一条执行指令)
  • 跳跃寻址(遇到JMP指令,PC直接跳转到某一条指令)

5)操作数的寻址方式及其有效地址计算公式

知识点:

  • What是操作数?(用于参与到计算的数字,123,456,789)
  • 操作数的寻址方式(P131,看图就能懂)
    • 隐含寻址、立即寻址(指令里,就有操作数了,而不是操作数的地址)
    • 直接寻址、间接寻址、寄存器寻址、偏移寻址、堆栈寻址

6)精简指令RISC系统的 3 个最大特点(简答)

知识点p138

  • RISC的三个最大特点
    • 指令条数少、都是使用频率最高的
    • 指令长度固定,指令格式种类少,寻址方式少
    • 只有取数/存数指令能访问存储器,其他都是在寄存器之间进行(回忆自己写RISC的时候)

第五章 CPU

1)CPU 的四个基本功能

知识点p145

  • WhyCPU的基本组成是运算器、控制器?(CPU核心功能是运算(运算器的作用),那在运算当中会涉及到很多情况,那应对各种情况,总需要一个‘人’去控制指挥吧,那就是控制器了)
  • 四个基本功能:指令控制、操作控制、时间控制、数据加工

2)CPU 中的主要寄存器的功能辨别

  • 数据缓冲寄存器DR(暂时存放ALU的运算结果的,作用:缓冲)
  • 指令寄存器IR
  • 程序计数器PC
  • 数据地址寄存器AR
  • 通用寄存器(为ALU提供一个工作区的,可以来暂时存放数据)
  • 程序状态字寄存器PSWR(用来表明计算后结果状态的寄存器,e.g.进位、0、负数、溢出)

3)操作控制器的两种类型

知识点:

  • Why要有控制器(寄存器之间传送数据,那这么多的寄存器,总需要一个指挥控制的吧)
  • 操作控制器(分类:硬布线控制器、微程序控制器)

4)CPU 周期、指令周期、微指令周期定义以及之间关系。

知识点:

  • 程序、机器指令、微程序、微指令
    • 1个程序=N个机器指令
    • 1个机器指令=1个微程序=N个微指令
  • 指令周期、CPU周期、微指令周期
    • 指令周期(取指令时间+执行指令时间)=N个CPU周期(从内存中取一个指令的时间)
    • 1个CPU周期=1个微指令周期(微指令:控制部件【控制器】向执行部件【运算器alu、存储器、外围设备】发出一次命令)

5)方框图语言中各符号的含义(不想看p157)

也就是N个指令的逻辑运算,A->B->C

6)时序信号的体制,3 种情况p160

7)程序、机器指令、微程序、微指令之间的关系

见(4)

8)控制存储器容量的计算(课后习题)

p186

9)相斥、相容性微操作的判别(没找到)

10) 微命令编码的 3 种方式,及其应用(课后习题 8)

知识点p169

  • 直接表示、编码表示、混合表示

11)并行性的定义(简答)

知识点p176

  • 同时性:2个以上事件同时发生
  • 并发性:2个以上事件在统一时间间隔内发生

12)流水线的 3 个主要问题(填空)

知识点p178

  • 资源相关
  • 数据相关
  • 控制相关

第六章 总线系统(简单看看

  • What是总线(是部件之间数据传送的公共通道,比如数据传送总线(地址线、数据线、控制线))
  • What是IO接口(CPU、主存、外围设备之间通过总线进行连接的逻辑部件)

第七章 外围设备

1)外围设备的三个基本组成

知识点p215

  • 存储介质(磁盘
  • 驱动装置
  • 控制电路

逻辑记忆:外围设备是用来存储数据的,存储数据的东西(磁盘)->磁变成计算机的电信号:控制电路->这一小部分装满数据后,需要用磁盘的空部分来装数据,转动磁盘:驱动装置

2)磁道、柱面、扇区是什么p222(考前看

3)道密度、位密度、面密度是什么p223(考前看

4)磁盘相关的计算题p224(考前看,这个知识点都不会

5)显示器相关计算题p236(考前看,这个也是)

第八章 输入/输出系统

1)I/O(外围设备)和CPU进行信息交换的四种方式

知识点p244

  • 无条件传送方式
  • 程序查询方式
  • 程序中断方式
  • 直接内存访问(DMA)
  • 通道和输入/输出处理器

记忆:

本质:速度与效果之间的平衡

发展历程(按时间线):

速度:传输数据的速度;效果:最终实现拿到数据的效果; 理论上速度越快,效果越差。

  1. 无条件传送(速度最好,效果最差)
  2. 程序查询(速度最差,效果最好)
  3. 程序中断(兼顾了速度和效果,但是能不能再快一点?)
  4. 直接内存访问DMA(提高速度,但是硬件上需要高度外围设备的支持)
  5. 通道和输入/输出处理器(提高了效果,这是因为通道和输入/输出处理器可以理解成简化版的cpu,处理数据用)

物理上:依赖cpu->放弃cpu->简化版cpu


2)DMA的三种传输方式

知识点p261

  • 成组连续传输
  • 周期挪用
  • 透明DMA