
- 页 数
- 346页
- 作 者
- 蒋本珊
- 类 别
- 21世纪大学本科计算机专业系列教材
- 装 帧
- 平装
- 书 名
- 计算机组成原理
- 出版时间
- 2004年3月1日
- 开 本
- 16开
- 出版社
- 清华大学出版社
- ISBN
- 9787302081081
-
计算机组成原理
2020-07-30 10:14:54 -
计算机组成原理期末复习【超实用】
2019-08-14 00:07:42计算机组成原理(第二版)唐朔飞 编著(课本有些地方还不错,可以下载电子版看看) 五道解答题30‘=9’(9个知识点)+6’+6’+4’+5’ 我依据老师的考题范围手动整理,有什么问题or想添加的知识点请在评论下方留言...计算机组成原理(第二版)唐朔飞 编著(课本有些地方还不错,可以下载电子版看看)
b站2小时讲解链接 https://www.bilibili.com/video/BV1x4411q7Fz/初次录讲解视频,各种差错和画音不同步请各位谅解,我录到后面都想放弃了,只当是做做博文的推广,想着知识点都写得挺明白了,我个人看博文比看视频效率高,实在没想到挺多人宁愿看视频。我后台还看到有些人说听不懂,如果全都听不懂的话,我建议你们另寻高人指点。我和你们一样是学生,我也有很多没搞明白为什么的,只知道大概怎么算、怎么画。还有,大家别再问我要word文档了,我发到CSDN上的底稿全都删了,可能在你们看来是混课设和考试的救命稻草,在我看来只是一堆再无用处的垃圾。
五道解答题30‘=9’(9个知识点)+6’+6’+4’+5’ 橙色题号的是当年我遇到的考试题,后面计算题记不清楚确切考了哪些,但掌握了做题技巧就问题不大了。
我依据老师的考题范围手动整理,有什么问题or想添加的知识点请在评论下方留言!实时更新,助诸位共进步!
一、解答题
1. 影响流水线性能的因素主要有哪几种?请简要加以说明。P348
结构相关:是当多条指令进入流水线后,硬件资源满足不了指令重叠执行的要求时产生的。不同指令争用同一功能部件产生资源冲突。
数据相关:是指令在流水线中重叠执行时,当后继指令需要用到前面指令的执行结果时发生的。可能改变对操作数的读写访问顺序。
控制相关:是当流水线遇到分支指令和其它改变PC值的指令时引起的。
2. 为了保证DRAM的存储信息不遭破坏,必须在电荷漏掉前就进行充电,称为刷新。常见的刷新方式有哪三种,试分析它们间的区别。P86
集中刷新:是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。
分散刷新:是指对每行存储单元的刷新分散到每个存储周期内完成。
异步刷新:是前两种方式的结合,既可缩短“死时间”,又充分利用最大刷新间隔2ms的特点。
3. 说明计算机九大寻址方式及有效地址EA计算方法。P311
立即寻址:无需寻址 隐含寻址:无需寻址 直接寻址:EA=A 间接寻址:EA=(A) 相对寻址:EA=(PC)+A
基址寻址:EA=(BR)+A 变址寻址:EA=(IX)+A 寄存器寻址:EA=Rj 寄存器间接寻址:EA=(Rj)
4. 按传输信息的不同,系统总线可分为哪几类?并加以简单描述。P43
数据总线:用来传输各种功能部件间的数据信息,是双向传输总线,其位数与机器字长、存储字长有关,一般为8/16/32位。
地址总线:主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。
控制总线:用来发送各种控制信号的传输线,通常对任意控制线而言,它的传输是单向的。
5. 试说明具有Cache-主存结构的计算机,CPU在访问存储器时的工作流程。P110
CPU欲读取主存某字时,有两种可能:一种是所需要的字已经在缓存中,即可直接访问Cache;另一种是所需的字不在Cache内,此时需将该字所在的主存整个字块一次调入Cache中(Cache与主存之间是字块传输)。当Cache未满时,主存块可被调入缓存块中,称该主存块与缓存块建立了联系。当Cache已满时,无法接收来自主存块的信息,就由Cache内的替换机构按一定的算法从Cache内移除哪块返回主存,并把新的主存块调入Cache中。
6. 在写操作时,要考虑Cache和主存的数据一致性的问题,试说明写回法和写直达法的区别。P113
写回法(拷回法):写操作时只把数据写入Cache而不写入主存(减少了主存的写操作次数),写操作时间=访Cache时间。但当(读操作且Cache已满时)Cache数据被替换出来时才写回主存,增加了Cache复杂性。
写直达法(存直达法):写操作时数据既写入Cache又写入主存,写操作时间=访存时间,它能随时保证主存与Cache的数据始终一致,但增加了访存次数。(读操作时不涉及对主存的写操作,更新策划较容易实现。)
7. 说明补码定点加减运算,判断溢出的两种方法。P239-240
一位符号位判断溢出:参加操作的两个数(减法时即为被减数和“求补”后的减数)符号相同,其结果的符号与原操作数的符号不同,即为溢出。
两位符号位判断溢出:若结果双符号位相同,则未溢出;若双符号位不同,则溢出。最高符号位为真结果符号。
8. 说明Cache-主存的地址映像有哪三种方式,说明他们的基本映像原理。P117
直接映射:将主存空间按Cache的尺寸分区,每区内相同的块号映像到Cache中相同的块位置。优:实现简单;缺:不够灵活
全相连映射:主存中的每一个字块可映射到Cache任何一个字块位置上,当访问一个块中的数据时,块地址要与Cache块表中的所有地址标记进行比较以确认是否命中。
组相连映射:是直接映射和全相连映射的一种折中方案,这种方案将存储空间分为若干组,各组间是直接映射,而组内各块间是全相连映射。
9. 试说明指令周期,机器周期,时钟周期之间的关系。P386
一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期(节拍),每个指令周期内的机器周期数可以不等,每个机器周期内的节拍数也可以不等。
10. 试说明单译码方式(线选法)和双译码方式(重合法)的区别。P75
存储芯片内的地址译码器有两种方式:一种是线选法,适用于地址线较少的芯片。地址信号只需经过一个方向的译码器就可以选中某一存储单元的所有位,结构较简单。
另一种是重合法,适用于地址线较多的芯片。地址线分为两组,分别经行地址译码器和列地址译码器,通过两者“与”选中存储单元才能进行读/写。
11. 分别说明一下名词MAR,MDR,CU,IR,PC的中文名称及该器件的主要功能。P14-16
MAR是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。
MDR是存储器数据寄存器,用来存放从存储体某单元取出or存入的代码,其位数与存储字长相等。
如4K × 8位的存储芯片,有log2(4K)=12条地址线,8条数据线
CU是控制单元,用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
IR是指令寄存器,用来存放当前指令,IR的内容来自MDR。
PC是程序计数器,用来存放当前欲执行指令的地址,它与主存的MAR间有一条直接通道且具有自动加1功能,即可自动形成下一条指令的地址。
12. 计算机的五大基本组成是什么?P9
运算器:用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器里。
存储器:用来存放数据和程序。
控制器:用来控制、指挥程序和数据的输入、运行以及处理运算的结果。
输入设备:用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。
输出设备:可将机器运算结果转换为人们熟悉的信息形式,如打印机输出等。
13. 设某计算机采用微程序控制器,试说明微程序控制器的基本工作原理(即CPU执行指令时的操作过程)。P405
首先将用户程序的首地址送到PC,然后进入
取指阶段:①将取指周期微程序首地址M→CMAR
②取微指令:将对应控存M地址单元中的第一条微指令读到控存数据寄存器中,记为CM(CMAR)→CMDR
③产生微操作指令:第一条微指令的操作控制字段中为“1”的各位发出控制信号,如PC→MAR、I→R,命令主存 接收程序首地址并进行读操作。
④形成下一条微指令的地址:此微指令的顺序控制字段指出了下一条微指令的地址为M+1,将M+1送至CMAR,即Ad(CMDR)→CMAR
⑤取下一条微指令:将对应控存M+1地址单元中的第二条微指令读到CMDR中,即CM(CMAR)→CMDR
⑥产生微操作指令:由第二条微指令的操作控制字段中对应“1”的各位发出控制信号,如M(MAR)→MDR使对应主存2000H地址单元中的第一条机器指令从主存中读出,送至MDR中。
⑦形成下一条微指令地址:将第二条微指令下地址字段指出的地址M+2送至CMAR,即Ad(CMDR)→CMAR
执行阶段:①取数指令微程序首地址的形成:当取数指令存入IR后,其操作码OP(IR)直接送到微地址形成部件,该部件的输出即为取数指令微程序的首地址P,且将P送至CMAR,记作OP(IR)→微地址形成部件→CMAR
②取微指令:将对应控存P地址单元中的微指令读到CMDR中,记为CM(CMAR)→CMDR
③产生为操作命令:由微指令操作控制字段中对应“1”的各位发出控制信号,如Ad(IR)→MAR、I→R,命令主存读操作数。
④形成下一条微指令地址:将此条微指令下地址字段指出的P+1送至CMAR,即Ad(CMDR)→CMAR
14. 试说明汉明码的校验原理(即如何生成汉明码,以及汉明码的检验原理),默认偶校验。P110
汉明码的生成步骤:①确定校验位的位数 2^k ≥ n + k +1
②确定校验位的位置
③分组
④生成校验位的值
⑤得出结论
检验原理:将已知的汉明码按照前三步正常进行,到第四步时,用H接收P和D一起异或,然后把H倒序排列,若都为0,即无错。否则,该序列对应的二进制位置出错。
15. 试说明循环冗余校验码的校验原理。P144
循环冗余校验码的生成步骤:①确定校验位的位数 r
②写出信息多项式 M(x)
③将信息多项式左移 r 位,得到 M(x)·x^r
④用 M(x)·x^r 除以生成多项式 G(x),得到 r 位校验位
⑤M(x)·x^r+R(x) 得到CRC码
检验原理:根据余数判出错位,取反纠错。
二、计算题
第6章 运算方法和运算部件
定点原码一位乘:符号位单独计算,运算数取绝对值参与计算。
定点原码两位乘:提高了乘法速度,但仍基于重复相加和移位的思想,且随着乘数位数的↗,重复次数↗,仍影响乘法速度。计算较复杂,不常考,自行看书!并行阵列乘法器:可大大提升乘法速度。(拓展)定点补码一位乘:分校正法和比较法(Booth法)。校正法中被乘数符号任意,乘数分正、负两种情况。若乘数为正,则按原码一位乘的算法计算,符号位不用另外计算,被乘数的符号位参与计算;若乘数为负,则按原码一位乘的算法计算,被乘数和乘数取绝对值参与计算,最后加上 [-x]补 校正。虽然可将乘数和被乘数互换,使乘数保持+,不必校正,但当两数均为-时必须校正。∵Booth的运算规则不受乘数符号的约束 ∴控制线路较简明,在计算机中普遍使用,常考!
定点补码两位乘:自行看书!区别:补码乘法中,乘积得符号位是在运算过程中自然形成的。而原码乘法中,符号位与数值部分分开计算。
困扰作者得问题是:被乘数和乘数互换位置的其它情况在此不一 一列举,以上三个例子,两个源于书本,同一组数据,书上的校正法却不能全部适用。望指点!
P8应=1,感谢网友指正
较复杂,不怎么考,在此不赘述!
第四章 主存储器
第七章 指令系统
教材P324
第3篇 中央处理器
教材P384
看下方!!
←参考P412例10.6,上题改正为
已确定是对的!
第四章 存储系统
书上P122原题!
鉴于我用公式写易误导大家,我上传书上原解如下:
4.4 辅助存储器
1. 若某磁盘有两个记录面,每面80个磁道,每磁道18扇区,每扇区存512字节,计算该磁盘的容量是多少?
解: 18×512×80×2B=1440KB
举个栗子( o=^•ェ•)o
如果对你有帮助,可以给点小赏。记得关注我呦!
-
计算机组成原理核心知识点总结&面试笔试要点
2019-08-13 14:04:07作为一名计算机专业的学生,计算机组成原理、计算机网络、操作系统这三门课程可以说是专业核心基础课,是至关重要的,其内容是一名合格的coder所必备的知识集;非科班出身的程序员要是想要有所提升,也需要认真学习...作为一名计算机专业的学生,计算机组成原理、计算机网络、操作系统这三门课程可以说是专业核心基础课,是至关重要的,其内容是一名合格的coder所必备的知识集;非科班出身的程序员要是想要有所提升,也需要认真学习这三门课程,可以快速形成计算机知识的结构体系,理解计算机底层原理,在工作实践中可以借鉴优秀的设计;而且很多互联网公司在笔试和面试中都会涉及到这三门课程的知识点,因此我通过视频学习对这三门课程就行复习巩固,同时分三篇博客记录总结。
计算机组成原理
一 计组之概述篇
-
计算机的发展历史
第一阶段(1946-1957):电子管计算机 特点:集成度低,体积大,功耗高,运行速度慢,操作复杂。
第二阶段(1957-1964):晶体管计算机 特点:相对电子管计算机,体积小,速度快,功耗低,可靠性高,配备显示器。
第三阶段(1964-1980):集成电路计算机 特点:操作系统诞生。
第四阶段(1980-至 今):超大规模集成电路计算机 特点:集成度高,速度快,体积小,价格低,用途广泛。
第五阶段( f u t u r e) :生物计算机&&量子计算机 … -
计算机的分类
超级计算机、大型计算机、迷你计算机(普通服务器)、工作站、微型计算机(个人计算机) -
计算机的体系与结构
冯·诺伊曼体系:将程序指令和数据一起存储的计算机设计概念结构,存储器+控制器+运算器+输入设备+输出设备。
现代计算机的结构:以存储器为核心,解决冯·诺伊曼体系瓶颈问题(CPU与存储设备之间的性能差异)。
-
计算机的层次
-
计算机的字符与编码集
字符编码集的历史:ASCII码 --> Extended ASCII码
中文编码集:GB2312、GBK、Unicode(统一码、万国码)
二 计组之组成篇
-
计算机的总线与I/O设备
a.计算机的总线(Bus)
概述:连接多个设备或者接入点的数据传输通路。
作用:解决不同设备之间的通信问题。
分类:片内总线(高集成度内部的信息传输线)、系统总线(细分为:数据总线&地址总线&控制总线,是CPU、主内存、IO设备、各组件之间的信息传输线)
总线的仲裁:为了解决总线使用权的冲突问题,三种方法:链式查询、计时器定时查询、独立请求。
b.常见的输入输出设备
字符输入设备:键盘
图形输入设备:鼠标、数位板、扫描仪
图像输出设备:显示器、打印机、投影仪
c.输入输出接口的通用设计
数据线:I/O设备与主机进行数据交换的传送线(单向&双向)。
状态线:I/O设备状态向主机报告的信号线。
命令线:CPU向I/O设备发送命令(读写信号、启动停止信号)的信号线。
设备选择线:主机选择I/O设备进行操作的信号线。
d.CPU与I/O设备的通信
程序中断:提供低速设备通知CPU的一种异步的方式,CPU可以在高速运转的同时兼顾低速设备的响应。
直接存储器访问(DMA):
-
计算机的存储器
a.存储器的分类:
按照存储介质:半导体存储器(内存、U盘、固态硬盘)、磁存储器(磁带、磁盘)
按照存取方式:随机存储器RAM(随机读取,与位置无关)、串行存储器(按顺序查找,与位置有关)、只读存储器ROM(只读不写)
b.存储器的层次结构
缓存-主存层次:局部性原理,在CPU与主存之间增加一层速度快容量小的Cache,解决主存速度不足的问题。
主存-辅存层次:局部性原理,主存之外增加辅助存储器,解决主存容量不足的问题。
局部性原理:是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
c.计算机的主存储器
内存RAM(随机存取存储器Random Access Memory):通过电容存取数据,掉电将丢失所有数据。
d.计算机的辅助存储器
e.计算机的高速缓存
工作原理:命中率是衡量缓存的重要性能指标,理论上CPU每次都能从高速缓存取数据的时候,命中率为1。
高速缓存的替换时间:当缓存没有数据,需要从主存载入数据的时候。
高速缓存的替换策略:随机算法、先进先出算法(FIFO)、最不经常使用算法(LFU)、最近最少使用算法(LRU)。 -
计算机的CPU
a.计算机的指令系统
机器指令的形式:操作码(指明指令所要完成的操作)+地址码(给出操作数或操作数的地址);
机器指令的操作类型:数据传输、算术逻辑操作、移位操作、控制指令;
机器指令的寻址方式:指令寻址(顺序寻址+跳跃寻址)、数据寻址(立即寻址(速度快)+直接寻址(寻找操作数简单)+间接寻址(寻址范围大,速度慢))
b.计算机的控制器
作用:控制器是协调和控制计算机运行的。
组成:程序计数器(存储下一条指令的地址)、时序发生器(发送时序脉冲)、指令译码器(控制器的主要部件之一,翻译操作码+地址码)、指令寄存器(控制器的主要部件之一,从主存或缓存存取计算机指令)、主存地址寄存器(保存当前CPU正要访问的内存地址单元)、主存数据寄存器(保存当前CPU正要读或写的主存数据)、通用寄存器(比一般专用寄存器大,可以暂时存放或传送数据或指令,可保存ALU的运算中间结果)。
c.计算机的运算器
作用:进行数据运算加工。
组成:数据缓冲器(输入缓冲暂时存放外设送过来的数据,输出缓冲暂时存放送往外设的数据)、ALU(算术逻辑运算)、状态字及寄存器(存放运算状态和运算控制信息)、通用寄存器(比一般专用寄存器大,可以暂时存放或传送数据或指令,可保存ALU的运算中间结果)。
d.计算机指令执行的过程
指令执行过程:取指令-分析指令-执行指令
CPU的流水线设计:因运算器和控制器不能同时工作,CPU的综合利用率并不高,所以CPU的流水线设计可以提高CPU的利用率,提高大概3倍。
三 计组之计算篇
- 进制运算的基础知识
进位制:即进制,是一种计数方式,亦称进位计数法,有限种数字符号来表示无限的数值。
传送门——>关于进制转换推荐看文 - 二进制数据的表示方法
a.有符号数和无符号数
原码表示法:0表示正数,1表示负数,规定符号位位于数值的第一位;表达简单,容易理解,但运算复杂。
b.二进制的补码表示法
定义:
引入目的:为了消除减法(未完全实现)引入补码的概念,使用正数代替负数。
规律:负数的补码等于反码+1,如十进制数-7,反码表示为1,1000,补码表示为1,1001。
举个小例子计算题:
c.二进制的反码表示法
定义:
引入目的:找出原码和补码之间的规律,消除转换过程中的减法操作。
规律:负数的反码等于原码除符号位外按位取反,如十进制数-7,原码表示为1,0111,反码表示为1,1000。
举个小例子计算题:
d.小数的二进制补码表示
定义:
上述两个整数的反码补码计算规律同样适用。 - 二进制数据的运算
a.定点数与浮点数
定点数:小数点固定在某个位置。
浮点数的表示格式:符号、阶码、尾数
浮点数的表示范围:单精度± (2-2^-23) × 2127
双精度± (2-2^-52) × 21023 其中大于浮点数绝对值最大的数为上溢,小于绝对值最小的数据为下溢。
浮点数的规格化:尾数使用纯小数、尾数最高位必须是1。
b.定点数的加减法运算
加法运算:数值位与符号位一同运算,并将符号位产生的进位自然丢掉(模2^n舍去)。
举两个小栗子计算题(整数和小数):
减法运算:将B[补码]转换成-B[补码]来计算,其中-B[补码]=B[补码]连同符号按位取反,末尾加1,例如B[补码]=1,0010101 ,则-B[补码]=0,1101011。
举个小栗子计算题:
c.浮点数的加减法运算
步骤:对阶(使得阶码一致,尾数才可以运算)–>尾数求和–>尾数规格化–>舍入–>溢出判断
运算:先进行对阶,后与定点数的加减法相同。
举个小栗子计算题:
d.浮点数的乘除法运算
乘法:阶码相加,尾数求积。
除法:阶码相减,尾数求商。
四 计组之实践篇
- 实现双向链表
单向链表:节点1–>节点2–>节点3–>节点4–>节点5 其中每一个节点都有下一个节点的地址或引用。
双向链表:节点1⇋节点2⇋节点3⇋节点4⇋节点5 每一个节点都有上一个和下一个节点的地址和引用。
双向链表优点:可以快速找到上/下节点,也可以快速去掉链表中的某一个节点。
传送门——>实现双向链表 - 实现FIFO缓存置换算法
淘汰缓存时,把最先进入链表的结点淘汰掉。
传送门——> 实现FIFO缓存置换算法 - 实现LRU缓存置换算法
传送门——> 实现LRU缓存置换算法 - 实现LFU缓存置换算法
传送门——> 实现LFU缓存置换算法
五 重要知识点及笔&面试常考题目
传送门——>计算机组成原理试题1
传送门——>计算机组成原理试题2
传送门——>计算机组成原理试题3 -
-
【超详细】计算机组成原理总结及思维导图
2018-06-20 08:59:46计算机组成 第一章 计算机系统概论 冯诺依曼型计算机特点 1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成 2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。...计算机组成
第一章 计算机系统概论
冯诺依曼型计算机特点
- 1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成
- 2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。
- 3.指令由操作码和地址码组成
- 4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变
- 5.机器以运算器为中心,输入输出设备与存储器间的数据传送都通过运算器
区别以运算器为中心的计算机还是存储器的方法
- 看输入设备能否直接与存储器相连,是的话就是以存储器为中心
计算机系统
- 硬件
- 结构
- 主机
- cpu
- ALU运算器
- CU控制器
- 存储器
- 主存
- 辅存
- cpu
- I/O
- 输入设备
- 输出设备
- 主机
- 主要技术指标
- 机器字长
- CPU一次能处理的数据位数
- 存储容量
- 存储容量=存储单元个数×存储字长
- 运算速度
- 单位时间执行指令的平均条数,MIPS
- 机器字长
- 结构
- 软件
- 系统软件
- 用来管理整个计算机系统
- 语言处理程序
- 操作系统
- 服务性程序
- 数据库管理系统
- 网络软件
- 用来管理整个计算机系统
- 应用软件
- 按任务需要编制成的各种程序
- 系统软件
第三章 运算方法和运算部件
数据的表示方法和转换
- 机器数正0负1
- 符号数值化的带符号二进制数,称为机器数。
- 真值:符号位加绝对值
- 余三码:在8421码的基础上,把每个编码都加上0011
- 当两个余三码想加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位,本位加0011
- 格雷码:任何两个相邻编码只有1个二进制位不同,而其余3个二进制位相同
- 8421码
- 权值从高到低为8、4、2、1
- 算术运算时,需对运算结果进行修正。 方法:如果小于、等于(1001)2,不需要修正;否则加6修正
- 权值从高到低为8、4、2、1
带符号的二进制数据在计算机中的表示方法及加减法运算
- 原码
- 定义
- 最高位为符号位0/1+数值的绝对值形式
- 特点
- (1)值+0,-0的原码分别为00000、10000,形式不唯一;
- (2)正数的原码码值随着真值增长而增长
-
负数的原码码值随着真值增长而减少
-
- (3)n+1位原码表示定点整数范围-(2n-1)——2n-1
-
n+1位原码表示定点小数范围 -(1-2-n)——1-2-n
-
- 运算
- 绝对值相加减,由数值大小决定运算结果符号
- 定义
- 补码
- 定义,特点和运算
- 运算:
结果不超过机器所能表示范围时,[X+Y]补=[X]补+[Y]补
减法运算:
[X–Y]补=[X+(–Y)]补=[X]补+[–Y]补 - 结论
- 负数的补数=模+负数
- 互为补数的绝对值相加=模
- 在补数中,减法运算即加法运算
- 定义
- 定义法,即[X]补=2·符号位+X (MOD 2)
- X为正数,则符号0+X的绝对值;X为负数,则X的绝对值取反+1。
- 特点
- 数值零的补码表示唯一
- 正数补码码值随着真值增大而增大,负数补码码值随着真值增大而增大
- n+1位补码所表示定点整数范围- 2n——2n-1,n+1位补码所表示定点小数范围-1——1-2-n
- 运算:
- 加法运算逻辑事例
- 过程
- 加减法运算的溢出处理
- 溢出定义
- 当运算结果超出机器数所能表示的范围
- 加减中,可能产生溢出的情况
- 可能出现溢出
- 同号数相加
- 异号数相减
- 不可能出现溢出
- 异号数相加
- 同号数相减
- 可能出现溢出
- 判断溢出的方法
- 法一:当符号相同两数相加,结果符号和加数(或被加数)不相同,则溢出
- fa,fb表示两操作数(A,B)的符号位,fs为结果的符号位
- 法二:任意符号相加,如果C=Cf,则结果正确,否则溢出;
- C为数值最高位的进位,Cf为符号位的进位
- 法三:采用双符号相加,如果fs1=fs2,则结果正确,否则溢出;
- 运算结果的符号位为fs2;
- 多符号位的补码,叫做变形补码;
- 如果采用双符号位,当数为小数时,模m=4;当数为整数时,模m=2的n+2次方
- 法一:当符号相同两数相加,结果符号和加数(或被加数)不相同,则溢出
- 溢出定义
- 定义,特点和运算
- 反码
- 定义
- a.定义法,即[X]反=(2-2-n)·符号位+X (MOD 2-2-n)
- b.X是正数,[X]反=[X]原;X是负数,符号+数值取反。
- 特点
- 数值零的反码表示不唯一
- 正数反码码值随着真值增大而增大,负数反码码值随着真值增大而增大
- n+1位反码所表示定点整数范围- (2n-1)——2n-1,n+1位反码所表示定点小数范围-(1-2-n)——1-2-n
- 加减运算特点
- 在机器数范围内,反码运算满足[X+Y]反=[X]反+[Y]反
,[X-Y]反=[X]反+[-Y]反
- 在机器数范围内,反码运算满足[X+Y]反=[X]反+[Y]反
- 反码运算在最高位有进位时,要在最低位+1,此时要多进行一次加法运算,增加了复杂性,又影响了速度,因此很少采用
- 由于反码运算是以2-2的-次方为模,所以,当最高位有进位而丢掉进位(即2)时,要在最低位+/-1
- 定义
- 移码
- 由来及窍门
- 为了从码值直接判断对应真值的大小,所以引进移码
- [X]补的符号位取反,即得[X]移
- 特点
- 最高位是符号位,1表示正,0表示负
- 数据0有唯一的编码
- 移码码值随着真值增大而增大
- n+1位移码所表示定点整数范围- 2n——2n-1, n+1位移码所表示定点小数范围-1——1-2-n
- 计算机中,移码常用于表示阶码,故只执行加、减运算
- 计算机中,移码运算公式需要对结果进行修正
- 浮点数的阶码运算
- 移码定义:[X]移=2的n次方+X
- 补码定义:[X]补=2的n+1次方+Y
- 阶码求和公式
- [X]移+[Y]补=[X+Y]移 mod2的n+1次方
- [X]移+[-Y]补=[X-Y]移
- 判溢方法
- 双符号位参加运算,最高符号位恒置0
- 当结果最高符号位=1则溢出
- 低位符号=0,则上溢;低位符号=1,则下溢;
- 当结果最高符号位=0则未溢出
- 低位符号=0,负数;低位符号=1,正数
- 说明:如果阶码运算的结果溢出,上述条件不成立。此时,使用双符号位的阶码加法器,并规定移码的第二个符号位,即最高符号位恒用0参加加减运算,则溢出条件是结果的最高符号位为1。此时低位符号为0时,表明结果上溢;为1时,表明结果下溢。当最高符号位为0时,表明没有溢出,低位符号位为1,表明结果为正;为0时表明结果为负。
- 由来及窍门
- 补,反,原,移码的相互转换
- 反码-》原码
- 方法:符号位不变,正数不变,负数数值部分取反。
- 补码-》原码
- 方法1:正数不变,负数数值部分求反加1。
- 方法2:串行转换
- 从最后开始数,遇到第一个“1”,除第一个“1”不变,前面数字分别取反
- 移码-》原码
- 方法:移码转换为补码,再转换为原码
- 反码-》原码
- 数据从补码和反码表示形式转换成原码
- 自低位开始转换,从低位向高位,在遇到第一个1之前,保存各位的0不变,第一个1也不变,以后得各位按位取反,最后保持符号位不变,经历一遍后,即可得到补码
- 定点数和浮点数
- 定点数
- 小数点固定在某个位置上的数据
- 32位定点小数、定点整数补码的范围
- 32位定点小数-1~1-2-31
- 32位定点整数-231~231-1
- 32位定点小数、定点整数补码的范围
- 小数点固定在某个位置上的数据
- 浮点数
- 根据IEEE754国际标准,常用的浮点数有两种格式
- Nmax=Mmax2的Emax
Nmin=Mmin2的Emax - 单精度(32位)=8位阶码+24位尾数
- 单精度浮点数(32位),阶码8位(含一位符号位),尾数24(含一位符号位),取值范围:-2的127次方~(1-2的-23次方)*2的127次方
- 双精度(64位)=11位阶码+53位尾数
- 双精度浮点数(64位),阶码11位(含一位符号位),尾数53位(含一位符号位),取值范围:-2的1023次方~(1-2的-52次方)*2的1023次方
- Nmax=Mmax2的Emax
- 为了保证数据精度,尾数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值应大于或等于(0.5)10
- 左规
- 右规
- 小数点位置可以浮动的数据。
- 表示形式:N = M · RE
- 计算机中存储形式
- Ms+Es+E(n位)+M(m位)
- 阶码E,一般为整数,用补码或者移码表示;
- 尾数M,一般为规格化的定点小数,用补码表示;
- Ms+Es+E(n位)+M(m位)
- 根据IEEE754国际标准,常用的浮点数有两种格式
- 定点数
二进制乘法运算
- 定点原码一位乘法
- 两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积
- [X·Y]原=[X]原·[Y]原=(X0⊕Y0)|(X1X2…Xn) · (Y1Y2…Yn)
- 几点结论
- 从低到高根据乘数每位0、1决定相加被乘数还是0;
- 相加数每次左移,最后一起求积;
- 符号由异或决定
- 表达式
- 电路框架
- 修正
- 1.在机器内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每每求得一个相加数,就与上次部分积相加
- 2.人工计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(或被乘数)的两倍,如按此算法在机器中运算,加法器也需增到两倍。观察计算过程很容易发现,在求本次部分积时,前一次部分积的最低位不再参与运算,因此可将其右移一位,相加数可直送而不必偏移,于是用N位加法器就可实现两个N位数相乘
- 部分积右移时,乘数寄存器同时右移一位,这样可以用乘数寄存器的最低位来控制相加数(取被乘数或零),同时乘数寄存器的最高位可接受部分积右移出来的一位,因此,完成乘法运算后,A寄存器中保存乘积的高位部分,乘数寄存器中保存乘积低位部分
- 例题
- 控制流程图
- 两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积
- 定点补码一位乘法
- 表达式
- [X·Y]补=[X]补·(-Y0+Y1·2-1+….Yn·2-n)
- 注意:此处为双符号位,当最后乘积高位为负数时,需要补充加上[-|x|]补的操作
二进制除法
- 加减交替法
- 当余数为正时,商上1,求下一位商的办法是,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法是,余数左移一位,再加上除数。此方法不用恢复余数,所以又叫不恢复余数法。但若最后一次上商为0而又需得到正确余数,则在这最后扔需恢复余数
浮点数的运算方法
- 浮点数的加减法运算
- 1.对阶操作
- 求出△E,再对小的进行移位
- 2.尾数的加减运算
- 3.规格化操作
- 规则简化是符号位和数值最高位不同,即00.1xxxx或11.0xxxx
- 4.舍入
- 超出表示范围的高位为1舍入
- 5.检查阶码是否溢出
- 1.对阶操作
- 浮点数的乘除法运算
- 1.浮点数阶码运算(移码)
- 牢记公式
- [X+Y]移=[X]移+[Y]补
- [X–Y]移=[X]移+[–Y]补
- 牢记公式
- 2.按照一位乘或加减交替除运算
- 先确定符号,在列式子计算
- 1.浮点数阶码运算(移码)
运算部件
- ABC寄存器作业
- 定点运算部件
- 浮点运算部件
- 由阶码运算部件和尾数运算部件组成
数据校验码
- 码距
- 任意两个合法码之间不相同的二进制位数的最小值
- 要具有差错能力,则码距>1
- 合理增大码距,就能提高发现错误的能力
- 任意两个合法码之间不相同的二进制位数的最小值
- 鉴定方法
- 有无差错能力
- 是否能合理增大码距
- 奇偶校验码
- 能发现数据代码中一位或奇数个位出错情况的编码
- 实现原理是使码距由1增加到2
- 步骤1:在字节高位补充一位,即校验位
- 步骤2:依据图3.10电路形成原始数据D8…D1的校验位值
- 步骤3:将9位数据写入主存
- 步骤4:读出该数据时,读取数据D8…D1通过图3.10判定合法性
- 电路图
- 结论
- (1)奇偶校验码只能发现一位或奇位错,且不能确定出错位置
- (2)奇偶校验码的码距=2
- 海明校验码
- 海明码位号和校验位位号的关系
- Pi的位置在2的i-1次方,但是除了最高位
- 笔记
- 3,5,7||3,6,7||5,6,7
- 电路图
- 海明码码距为4
- 纠一位错,查一位错
- 2∧r≥k+r+1
- 纠一位错,查两位错
- 2∧(r–1)≥k+r
- 海明码位号和校验位位号的关系
- 循环冗余校验码(CRC)
- CRC码可以发现并纠正信息存储或传送过程中连续出现的多位错误
- CRC码一般是指k位信息码之后拼接r位校验码
- 模2运算
- 模2加减
- 模2乘除
- 异或逻辑
- CRC的译码与纠错
- 更换不同的待测码字可以证明:余数与出错位的对应关系是不变,只与码制和生成多项式有关
- 图
第四章 主存储器
主存储器处于全机中心低位
辅助存储器或称为外存储器,通常用来存放主存的副本和当前不在运行的程序和数据
主存储器的类型
- 随机存储器RAM
- 非易失性存储器
主存储器的主要技术指标
- 主存容量
- 64×8等等
- 计算机可寻址的最小信息单元是一个存储字
- 主存储器存储单元的总数
- 存取速度
- 由存储器存取时间和存储周期表示
- 存储器存取时间
- 启动一次存储器操作(读/写)到完成该操作所经历的时间
- 存储周期
- 连续启动两次独立的存储器操作所间隔的最小时间
主存储器的基本操作
- CPU通过使用AR(地址寄存器)和DR(数据寄存器)和主存进行数据传送
- 若AR为K位字长,DR为n位字长,则允许主存包含2∧k个可寻址单元
- CPU与主存采取异步工作方式,以ready信号表示一次访存操作的结束
读/写存储器
- 随机存储器(RAM)按存储元件在运行中能否长时间保存信息分为静态存储器和动态存储器
- 静态存储器,利用触发器保存信息,只要不断电,信息就不会丢失
- 电路简图
- MOS静态存储结构图
- 动态存储器,利用MOS电容存储电荷来保存信息,需要不断给电容充电才能使信息来保存信息
- 电路简图
- 16K×1位动态存储器框图
- 再生
- 集中式
- 分散式
- 时间小于或等于2ms
- 行读出再生
非易失性半导体存储器
- 只读存储器ROM
- 只读不能写
- 可编程序的只读存储器PROM
- 一次性写入
- 可擦可编程序的只读存储器EPROM
- 可多次写入、读出
- 可电擦可编程序只读存储器E2PROM
- 可多次读出但写入次数有限
- 快擦除读写存储器Flash Memory
- 重复写入、读出
存储器的组成与控制
- 存储器容量扩展
- 位扩展:用多个存储器芯片对字长进行扩充
- 字扩展:增加存储器中字的数量,提高存储器的寻址范围
- 字位扩展,假设一个存储器的容量为M×N位,若使用L×K位存储器芯片,那么,这个存储器共需要(M/L)×(N/K)个存储器芯片
多体交叉存储器
- 提高访存速度的方式
- 采用高速器件
- 采用层次结构
- 调整主存结构
- 计算机中大容量的主存可由多个存储体组成,每个存储体都具有自己的读写线路,地址寄存器和数据寄存器,称为"存储模块"。这种多模块存储器可以实现重叠与交叉存取
- 第i个模块M的地址编号应按下式给出:M×j+i
- 连续地址分布在相邻的不同模块内,而同一模块内的地址都是不连续的
第五章:指令系统
指令系统的发展
- 20世纪70年代末人们提出了便于VLSI实现的精简指令系统计算机,简称RISC,同时将指令系统越来越复杂的计算机称为复杂指令系统计算机,简称CISC
指令格式
- 结构(操作码+地址码)
- 操作码
- 操作数的地址
- 操作结果的存储地址
- 下一条指令的地址
- 地址码
- 零地址指令
- 一地址指令
- 寻址范围 224 = 16 M
- 2次访存
- 寻址范围 224 = 16 M
- 二地址指令
- 寻址范围 212 = 4 K
- 4 次访存
- 寻址范围 212 = 4 K
- 三地址指令
- 寻址范围 28 = 256
- 4 次访存
- 寻址范围 28 = 256
- 多地址指令
- 寻址范围 26 = 64
- 4 次访存
- 寻址范围 26 = 64
- 指令字长
- 取决因素
- 操作码的长度
- 操作数地址的长度
- 操作数地址的个数
- 指令字长 固定
- 指令字长 = 存储字长
- 指令字长 可变
- 按字节的倍数变化
- 对准边界存放
- 不连续存放数据
- 按字节编址
- a.半字地址最低位恒为0
- b.字地址最低两位恒为0
- c.双字地址的最低三位恒为0
- 减少访存次数,浪费存储空间
- 不 对 准 边 界 存 放
- 连续存放数据
- 节约存储器空间,但增加访存次数,对多字节数据存在调整高 低字节位置的问题
- 取决因素
- 寻址方式
- 确定本条指令的数据地址
- 下一条要执行的指令地址的方法
- 指令操作码的扩展技术
- 指令操作码的长度决定了指令系统中完成不同操作的指令数
- 若某机器的操作码长度固定为K位,则它最多只能有2^K条不同指令
- 指令操作码两种格式
- 固定格式
- 优点:对于简化硬件设计,减少指令译码时间非常有利
- 缺点:指令少,浪费地址
- 可变格式(分散地放在字的不同字段)
- 优点:指令多,缩短指令平均长度,减少程序总位数,增加指令字所能表示的操作信息
- 缺点:译码复杂,控制器的设计难度增大
- 固定格式
- 拓展方法的一个重要原则
- 使用频度(即指令在程序中出现概率)高的指令应分配短的操作码,使用频度低的指令相应地分配较长的操作码
- 指令系统的兼容性
- 保持系统向上兼容
精简指令系统计算机(RISC)——用于小型机
复杂指令系统计算机(CISC)——用于大型机
第六章:中央处理器
计算机工作过程
- 加电——》产生reset信号——》执行程序——》停机——》停电
- 产生reset信号的任务
- 任务一:使计算机处于初始状态
- 任务二:从PC中取出指令地址
- 控制器作用是协调并控制计算机各部件执行程序的指令序列
控制器的组成
- 控制器的功能
- 取指令
- 发出指令地址,取出指令的内容
- 分析指令
- (1)对操作码译码产生操作相应部件的控制信号
- (2)根据寻址方式形成操作数地址
- 执行指令
- (1)根据分析指令后产生控制信号、操作数地址信号序列,通过CPU及输入输出设备的执行实现每条指令的功能
- (2)结果回送存储器
- (3)形成下条指令的地址
- 控制程序和数据的输入和结果输出
- 对异常情况和某些请求的处理
- 异常情况的处理:例如算术运算的溢出、数据传送奇偶错
- 某些请求的处理
- “中断请求”信号
- DMA请求信号
- 取指令
- 控制器的组成
- 程序计数器(PC)
- 即地址寄存器,用来存放当前正在执行的指令地址或即将要执行的下一条指令地址
- 指令寄存器(IR)
- 用以存放当前正在执行的指令,以便在指令执行过程中控制完成一条指令的全部功能
- 指令译码器或操作码译码器
- 对指令寄存器中的操作码进行分析解释,产生相应的控制信号
- 脉冲源及启停线路
- 脉冲源参数一定评率的脉冲作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号,在机器刚加电时,还应产生一个总清信号(reset)
- 时序控制信号形成部件
- 当程序启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控制功能部件的反馈信号调整时序控制信号
- 控制存储器
- 微指令寄存器
- 控制字段+下址
- 当程序启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控制功能部件的反馈信号调整时序控制信号
- 周期概念
- 指令周期
- 完成一条指令所需的时间,包括取指令、分析指令、执行指令
- 机器周期
- 也称为CPU周期,是CPU从内存中读取一个指令的时间,通常等于取指周期
- 时钟周期
- 称为节拍脉冲或T周期,是基准脉冲信号
- 指令周期
- 三条假设
- 程序是存放在主存中的,当执行完一条指令后才从主存中取下一条指令(非流水线)
- 指令的长度是固定的,并限制了寻址方式的多样化
- 在程序运行前,程序和数据都已存在主存中
- 程序计数器(PC)
- 指令执行过程(运算器和控制器配合)
- 组成控制器的基本电路
- 具有记忆功能的触发器以及由它组成的寄存器,计数器和存储单元
- 没有记忆功能的门电路及由它组成的加法器,算术逻辑运算单元(ALU)和各种逻辑电路
- 举例
- 加法
- 取指令——》计算操作数地址——》取操作数——》执行结果并运算送结果
- 要能看懂时序图
- 哪些指令在对应的时间有效
- 条件转移指令
- 取指令——》计算地址
- 加法
- 控制器的功能就是按每一条指令的要求产生所需的控制信号
- 产生控制信号的方法
- 微程序控制
- 硬布线控制
- 组成控制器的基本电路
微程序控制计算机的基本工作原理
- 基本概念
- 微指令
- 在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作
- 微命令
- 将指令分为若干条微指令,按次序执行这些微指令。组成微指令的操作即微命令
- 微程序
- 计算机的程序由指令序列构成,而计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就叫做微程序
- 控制存储器
- 微程序一般是存放在专门的存储器中的,由于该存储器主要存放控制命令(信号)与下一条执行的微指令地址(简称下址)
- 存储单元内容
- (1)微指令的控制信号——控制位
- (2)下条微指令的地址——下址字段
- 存储芯片:ROM
- 执行一条指令实际上就是执行一段存放在控制存储器中的微程序
- 微指令
- 实现微程序控制的基本原理
- 控制信号(23条)
- 书上P123页为加法的过程
- 微指令格式:控制字段+下址字段
- 23个控制位,12个下址位——》容量为4K
- 取址微指令的操作对所有指令都是相同的,所以是一条公用的微指令,其下址由操作码译码产生
- 微程序控制器
- 时序信号及工作脉冲的形成
- 停机和停电的区别
- 停机
- 电压:稳定
- 存放内容:保持
- 重启PC内容:断点指令地址
- 存放内容:保持
- 电压:稳定
- 停电
- 电压:消失
- 存放内容:RAM的内容消失
- 重启PC内容:第一条指令地址
- 存放内容:RAM的内容消失
- 电压:消失
- 停机
微程序设计技术
- 如何缩短微指令字长
- 直接控制法(容量太小)
- 编译方法:每一位代表一个控制信号,直接送往相应的控制点
- 优点:控制简单
- 缺点:微指令字长过大
- 字段直接编译法
- 选出互斥的微指令
- 每个字段都要留出一个代码,表示本段不发出任何指令(000)
- 优点:节省微指令的字长
- 缺点:增加了额外的硬件开销
- 字段间接编译法
- 指令之间相互联系的情况
- 举例:A为0-7,B为0-3,如果是直接编译——3+2=5,如果是间接编译——3+1=4
- 编码方法:在字段直接编译法中,译码输出端要兼由另一字段中的某些微命令配合解释
- 优点:减少了微指令长度
- 缺点:可能削弱微指令的并行控制能力,同时增加硬件开销
- 常熟源字段E(了解)
- 直接控制法(容量太小)
- 如何减少微指令长度
- 现行微指令/微地址
- 现行微指令:当前正在执行的指令
- 现行微地址:存放现行微指令的控制器存储单元
- 后继微指令/微地址
- 后继微指令:下一条要执行的微指令
- 后继微地址:存放后继微指令的控制器存储单元
- 增量与下址字段结合产生后继微指令的方法
- 下址字段分成:转移控制字段BCF和转移地址字段BAF
- BCF:控制微程序的转移情况
- BAF:转移后的微指令所在地址
- BAF有两种情况
- 与uPC的位数相等——转移灵活,但增加微指令长度
- 比uPC短——转移地址收到限制,但可缩短微指令长度
- 优点
- 微指令的下址字段很短,仅用于选择输入uPC计数器的某条线路有效
- 缺点
- 微程序转移不灵活,使得微程序在控存中的物理空间分配有困难
- 下址字段分成:转移控制字段BCF和转移地址字段BAF
- 多路转移方式
- 一条微指令存在多个转移分支的情况称为多路转移
- 微中断
- 1.微中断请求信号是由程序中断请求信号引起的
- 2.在完成现行指令的微程序后响应该微中断请求
- 3.由硬件产生对应微中断处理程序在控存中的入口地址
- 现行微指令/微地址
- 如何提高微程序的执行速度
- 微指令格式
- 水平型微指令——直接控制,字段编译(直接、间接)
- 特点:在一条微指令中定义并并行执行多个微命令
- 垂直型微指令
- 特点:不强调实现微指令的并行控制功能
- 定义:采用微操作码编译法,由操作码规定微指令的功能
- 水平型微指令——直接控制,字段编译(直接、间接)
- 微程序控制存储器
- 一般采用ROM存储器
- 也可采用RAM,为防止断电后内容消失,则必须开机后将外存中存放的微程序调入控存RAM,然后才能执行程序。
- 当前为了能不断扩展指令系统,通常采用ROM+RAM
- 动态微程序设计
- 定义:能根据用户要求改变微程序
- 优点:是计算机能更灵活、有效的适应于各种不同的应用目标
- 控制存储器的操作(P136)
- 串行方式
- 并行方式——比串行多了微指令寄存器
- 微周期=max(取微指令时间,执行微指令时间)
- 由于取微指令、执行微指令同时进行,故对于某些后继微地址的产生根据处理结果而定的微指令,则延迟一个微周期再取微指令
硬布线控制的计算机(RISC)——特点快
- 形成操作控制信号的逻辑框图(P141)
- 操作控制信号的产生
- 取值周期cy1所产生的信号对所有指令都是相同的,即与当前执行的指令无关,逻辑式得到最简单的形式
- 通常,同一个控制控制信号在若干条指令的某些周期(或再加上一些条件)中都需要,为此需要把它们组合起来
- 同种类型的指令所需要的控制信号大部分是相同的,仅有少量区别
- 在确定指令的操作码时(即对具体指令赋予二进制操作码),为了便于逻辑表达式的化简以减少逻辑电路数量,往往给予特别关注
- 设计组合逻辑电路从而产生需要的控制信号的步骤
- 1.实际逻辑问题2.真值表3.公式化简4.逻辑电路图
- 设计目标
- 使用最少的电路元件达到最高的操作速度
流水线工作原理
- 几点结论
- 每条指令的执行时间不变
- 每条指令处理结果的时间缩短
- 流水线处理速率最高时=流水线处于满载的稳定状态
- 流水线处理速率最低时=流水线未满载状态
- 为了满足在重叠时间段不同指令的机器周期能够完成指定的操作,将时间段=操作完成的最长时间
- 为了保证一个周期内流水线的输入信号不变,相邻时间段之间必须设置锁存器或寄存器
- 除了指令执行流水线,还有运算操作流水线
- 相关问题
- 流水线阻塞(P163-6.15)
- 数据相关产生
- 假设第二条指令需要的操作数是第一条指令运算的结果,那么出现了数据相关
- 指令执行时间不同产生
- 程序转移的影响
- 异常情况响应中断
- 数据相关产生
- 流水线阻塞(P163-6.15)
第七章:存储系统
存储系统的层次结构
- cache->主存->辅存
高速缓冲存储器
- cache的工作原理
- 局部性原理
- 主存地址和cache地址(P166 图7.2)
- 块长
- 块长一般取一个主存周期所能调出的信息长度(一般为16个字)
- cache的容量和块的大小是影响cache的效率的重要因素
- 命中率
- CPU所要访问的信息是否在cache中的比率,而将所要访问的信息不在cache中的比率称为失败率
- 一致性策略
- 标志交换方式(写回法)
- 通过式写入(写通法)
- 写操作直接对主存进行,而不写入cache
- cache的存取时间
- 平均存取时间=h*tc+(1-h)(tc+tm)
- 最好替换策略
- 按照被替换的字块是下一段时间最少使用的,由替换部件实现
- cache组织
- 地址映像
- 直接映像
- cache中许多空的位置被浪费
- 主存地址:主存字块标记+cache字块地址+字块内地址
- 全相联映像
- 成本太高而不能采用
- 主存地址:主存字块标记+字块内地址
- 优点
- 方式灵活,缩小了块发生冲突的概率
- 缺点
- 增加了标识位位数
- 增加了寻找主存块在cache中对应块的时间
- 组相联映像
- 直接映像和全相联映像的折衷
- 主存地址:主存字块标记+组地址+块内地址
- 直接映像
- 地址映像
虚拟存储器
- 存储管理部件(MMU)
- 现代计算机一般都有辅助存储器,但具有辅存的存储系统不一定是虚拟存储系统
- 虚拟存储系统的特点
- 允许用户程序用比主存大的多的空间来访问主存
- 每次访存都要进行虚实地址的转换
第八章:辅助存储器
半导体存储器可随机访问任一单元,而辅助存储器一般为串行访问存储器
辅助存储器的种类
- 磁表面存储器
- 数字式磁记录
- 硬盘、软盘和磁带
- 模拟式磁记录
- 录音、录像设备
- 数字式磁记录
- 光存储器
- 光盘
串行存储器
- 顺序存取存储器
- 直接存取存储器
辅助存储器的技术指标
- 存储密度
- 定义:单位长度或单位面积磁层表面磁层所存储的二进制信息量
- 道密度
- 沿磁盘半径方向单位长度的磁道数称为道密度,单位为道/英寸tpi或道/毫米tpmm
- 位密度或线密度
- 单位长度磁道所能记录二进制信息的位数叫位密度或线密度,单位为位/英寸bpi或位/毫米bpmm
- 每个磁道所存储的信息量是一样的
- 存储容量
- C = n × k × s
- 寻址时间
- 平均寻址时间Ta=平均找道时间Ts+平均等待时间Tw
- 辅存的速度
- 寻址时间
- 磁头读写时间
- 数据传输率
- Dr = D × V
- 误码率
- 价格
硬磁盘存储器的类型
- (1) 固定磁头和移动磁头
- (2) 可换盘和固定盘
磁盘存储器
- 温彻斯特磁盘简称温盘
- 磁盘存储器由驱动器(HDD),控制器(HDC)和盘片组成
- 最外面的同心圆叫0磁道,最里面的同心圆假设称为n磁道
- 驱动器的定位驱动系统实现快速精准的磁头定位
- 主轴系统的作用是带动盘片按额定转速稳定旋转
- 数据控制系统的作用是控制数据的写入和读出,包括寻址,磁头旋转,写电流控制,读出放大,数据分离
- 磁盘控制器有两个方向的接口
- 与主机的接口
- 与驱动器(设备)的接口
光盘
- 采用光存储技术
- 利用激光写入和读出
- 第一代光存储技术
- 采用非磁性介质
- 不可擦写
- 采用非磁性介质
- 第二代光存储技术
- 采用磁性介质
- 可擦写
- 采用磁性介质
- 光盘的存储原理
- 只读型和只写一次型
- 热作用(物理或化学变化)
- 可擦写光盘
- 热磁效应
- 只读型和只写一次型
第九/十章:输出输出(I/O)设备/系统
设备控制器(I/O)的基本功能
- 实现主机和外部设备之间的数据传送
- 实现数据缓冲,以达到主机同外部设备之间的速度匹配
- 接受主机的命令,提供设备接口的设备,并按照主机的命令控制设备
I/O 编址方式
- (1) 统一编址:用取数、存数指令
- (2) 不统一编址:有专门的 I/O 指令
I/O 与主机的连接方式
- 辐射式连接
- 每台设备都配有一套
- 控制线路和一组信号线
- 不便于增删设备
- 总线连接
- 便于增删设备
I/O设备
- 人机交互设备
- 键盘、鼠标等
- 计算机信息的驻留设备
- 硬盘、光盘等
- 机——机通信设备
- MODEN等
为什么要设置接口?
-
- 实现设备的选择
-
- 实现数据缓冲达到速度匹配
-
- 实现数据串 并格式转换
-
- 实现电平转换
-
- 传送控制命令
-
- 反映设备的状态
- (“忙”、“就绪”、“中断请求”)
中断服务程序的流程
- (1) 保护现场
- 程序断点的保护
- 寄存器内容的保护
- (2) 中断服务
- 对不同的 I/O 设备具有不同内容的设备服务
- (3) 恢复现场
- 出栈指令
- (4) 中断返回
- 中断返回指令
单重中断和多重中断
- 单重 中断
- 不允许中断 现行的 中断服务程序
- 多重 中断
- 允许级别更高 的中断源
- 中断 现行的 中断服务程序
DMA 方式
- 主存和 I/O 之间有一条直接数据通道
- CPU 和 I/O 并行工作
- DMA 的三种工作方式
- (1) CPU暂停方式
- (2) CPU周期窃取方式
- (3)直接访问存储器
- DMA 接口功能
- (1) 向 CPU 申请 DMA 传送
- (2) 处理总线 控制权的转交
- (3) 管理 系统总线、控制 数据传送
- (4) 确定 数据传送的 首地址和长度,修正 传送过程中的数据地址和长度
- (5) DMA 传送结束时,给出操作完成信号
- DMA 传送过程
- 预处理、数据传送、后处理
外设接口
- 设备与主机相连时,必须按照规定的物理互连特性、电气特性等进行连接,这些特性的技术规范称为接口标准
思维导图下载地址
-
2019年下半年 软件评测师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
会话管理漏洞检测
-
MMM 集群部署实现 MySQL 高可用和读写分离
-
沿RF锁相辅助的光纤环路链路上任意中间点的精确时延感测和工作台频率分配
-
通过新颖的二元君主蝶优化算法解决0-1背包问题
-
射影级双缝光子晶体光机腔设计
-
2014年上半年 数据库系统工程师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
响应式编程中的Flux和Mono 的理解
-
虚幻4引擎基础
-
Linux基础入门系列课程
-
【Python-随到随学】FLask第二周
-
Python启蒙到架构师的核心技术精讲课程
-
2018年下半年 嵌入式系统设计师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
2019年下半年 多媒体应用设计师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
从理论到试验台,WiFi DCF网络的性能评估
-
从 Notbook 到 JupyterLab, 再配上代码帮手 Kite
-
MaxScale 实现 MySQL 读写分离与负载均衡
-
2017年下半年 软件评测师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
2015年下半年 软件评测师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
spark大数据分析与实战