笔记变动提醒
- 2.27-15.36 :第1章-7 新增内容,
机器字长一般大于等于存储字长
- 2.27-16:10 :第6章-14 规格化数更正:
1/2
不为规格化数,以及规格化数判定方法- 2.27-16:30 :第4章-3 ROM的四种类型的特点变更
- 2.27-16:47 :第4章-2 IO接口的定义变更
- 2.27-16:57 :第6章-4 添加移码注释
- 2.27-17:17 :第7章-3 寻址方式定义变更
题型
选择20题,填空15题,名词解释5题,简答与计算4-5题,综合设计2题
第1章
- 冯诺依曼的几个基本特点。
- 计算机由
运算器
、控制器
、输入设备
、输出设备
、存储器
五大部分组成 - 指令和数据以同等的地位存放在存储器当中,并且可以按照地址进行访问
- 指令和数据均由二进制表示
- 指令由操作码和地址码两大部分组成
- 指令在计算机中按照顺序进行存放
- 机器以运算器为核心,输入输出设备与存储器之间通过运算器完成。
- 计算机硬件系统的构成(主机和外设)(CPU,存储器和外设)(或者五部分)。
- 两部分:主机 + 外设
- 三部分:CPU + 存储器 + 外设(输入输出设备)
- 五部分:
运算器
、控制器
、输入设备
、输出设备
、存储器
- 存储器的基本组成:什么是MAR,MDR,以及它们的作用。什么是存储字,存储字长。已知MDR和MAR的位数,如何计算存储体的容量。
- MAR:存储器地址寄存器,用于存放欲访问的存储单元的地址
- MDR:存储器数据缓存寄存器,用于存放从某个存储单元中读出或者即将写入的某个存储单元的数据
- 存储字:一个存储单元所存的二进制代码
- 存储字长:一个存储单元锁存二进制代码的位数
存储器的容量 = 存储单元的个数 * 存储字长 MAR位数代表的就是存储单元地址有几位,MAR有m位,那么存储单元个数为:
2m
个 MDR位数代表的就是存储单元有几位,MDR有n位,那么存储字长为n
位 存储器的容量 = 2m * n(位)
- 控制器的构成,PC和IR的作用。
控制器由程序计数器(PC)
,指令寄存器(IR)
以及控制单元(CU)
构成。
- PC:用于存放当前欲执行指令的地址
- IR:用于存放当前的指令
- 计算机的结构框图,详细回答各部件之间的关系,根据题目已知条件,解释构成计算机的各部件的字长,位数等。
此题暂未找到相关内容,如果有找的可以速速联系我。
- 衡量计算机硬件的主要指标:什么是机器字长。
- 主要指标:
- 机器字长
- 存储容量
- 运算速度
- 机器字长:计算机能一次处理二进制数据的位数
一般来说机器字长 >= 存储字长
第2章
- 各种语言(机器语言和汇编语言面相机器,另外一个面相问题)
- 机器语言和汇编语言面向机器
- 高级语言面向问题
- 什么是Moore定律
微芯片上集成的晶体管数目每三年翻两番
第3章
- 什么是总线,总线特点等。
- 总线:总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
- 总线特点:
- 机械特性:尺寸、形状、管脚数,排列顺序
- 电气特性:传输方向和有效的电平范围
- 功能特性:每根传输线的功能
- 地址:传输地址信息
- 数据:传输数据新型
- 控制:传输控制信息
- 时间特性:信号的时序关系(也就是每一根总线在什么时候有效)
- 系统三总线的概念(片内总线,系统总线(数据总线 双向,地址总线 单向,控制总线 有出有入 并成为系统三总线))。
- 控制总线:主要用来传送控制信号和时序信号
- 数据总线:用于传送数据信息
- 地址总线:用来传输想要存取(读取/写入)电脑内存元件/地方的实体位址
- 总线宽度,总线带宽,总线复用理解并明白含义。
- 总线宽度:数据总线的根数
- 总线带宽:总线在单位时间内能传递的二进制位数
- 总线复用:数据和地址在同一个总线上传输的方式
- 已知总线宽度和工作频率计算总线带宽。
总线带宽 = 总线传输率 = 总线工作频率 * 总线宽度 / 8(字节)
总线三种集中式判优控制的优缺点和特点。 | 方式 | 优点 | 缺点 | 特点 | | —- | —- | —- | —- | | 链式查询 | 线路简单 | 设备之间的优先级都是固定的
对于电路敏感 | 设备之间按照链式的方式响应总线 | | 计数器查询 | 保证了各个设备的优先级一致
对电路不敏感 | 电路复杂,成本高 | 设备之间响应请求需要排队 | | 独立请求方式 | 响应速度快
优先次序控制灵活
对电路不敏感 | 控制线数量多
总线控制复杂 | 每个设备对于总线请求都是独立的 |四种总线通信的4种方式(同步通信,异步通信例3.1 3.4 3.2掌握)的优缺点和特点。 | 方式 | 优点 | 缺点 | 特点 | | —- | —- | —- | —- | | 同步通讯 |
1. 通信之间规定明确,统一
2. 模块之间的配合简单一致
|
1. 主从模块之间需要强制同步,必须在限定时间完成规定的要求
2. 模块间速度不匹配,运行速度快的模块必须等待速度慢的模块
3. 缺乏灵活性
| 通信就是由统一时标控制数据传送 | | 异步通讯 |
1. 允许了各模块之间速度的不一致
2. 灵活性高
|
1. 设计复杂
| 采用了应答的方式进行通信 | | 半同步通讯 |
1. 系统简单(对比异步通信的情况下)
2. 工作速度高(对比纯同步通信的情况下)
3. 可靠性高
4. 同步结构比较方便
|
1. 对系统时钟频率不能要求太高
| 同步和异步相结合进行通讯 | | 分离式通讯 |
1. 工作速度进一步提高
2. 系统性能更好
|
1. 总线控制复杂
|
1. 各模块想要占用总线使用权都必须提出申请
2. 在得到总线使用权之后,主模块在限定的时间内向对方传送信息,采用同步式传送么不用等待对方的回答信号
3. 各模块在准备数据的过程中都不占用总线,总线可以接受其他模块的请求
4. 总线在被占用的时候一直都是在做有效工作
|
第4章
课堂上讲过的例题4.1 4.2 4.3等。高速缓冲存储器的例题例4.8-4.11掌握,多体并行系统例4.6掌握。
存储器分类按存取方式分类分为两类。顺序存取存储器的典型代表(磁带),直接存取存储器(磁盘),ROM,RAM
- 存取时间和物理地址无关(随机访问)
- 随机存储器(RAM):在程序的执行过程中,可以读可以写
- 只读存储器(ROM):在程序的执行过程中,只可以读
- 存取时间和物理地址有关(串行访问)
- 顺序存取存储器:磁带
- 直接存取存储器:磁盘
- ROM中4种ROM的特点
- 掩模ROM:无论程序是否在执行过程中,都只能读不能写
- PROM:可编程只读存储器,用高电压将数据写入多次,也可以用紫外线将数据擦除,只可以实现一次性编程
- EPROM:可擦除,可编程只读存储器
- EEPROM:电子可擦可编程,用电子方式将数据写入和擦除多次
- 工作速度最快的存储部件:寄存器(金字塔页PPT掌握)
寄存器 > 缓存 > 主存 > 磁盘 > 光盘 > 磁带
- 缓存-主存层次和主存-辅存层次。虚拟存储器(虚地址或逻辑地址)(物理地址)
存储系统的层次结构主要体现在:缓存-主存和主存-辅存这两个存储层次上。
CPU和缓存,主存都可以直接交换信息,缓存能和主存CPU直接交换信息,主存则可以和其他三个交换信息。
缓存-主存层次主要解决CPU和主存速度不匹配的问题。主存会把CPU近期最需要调用的信息存入缓存当中,这样可以提高访存速度。
主存-辅存层次主要解决存储系统容量的问题。辅存当中会存放大量暂时用不到的数据,等到需要用到的时候,通过硬件和操作系统统一调入主存当中,供CPU进行访问。
在主存-辅存这一个层次的发展当中,又逐渐形成了虚拟存储系统,这个系统当中,编程对应的地址范围和虚拟存储器的地址空间相对应。
这个对应就体现在:例如指令地址码有24位,那么虚拟存储器存储单元个数可以达到224 = 16M个。
但是实际上主存的存储单元个数远远小于16M,虚拟存储器之所以能达到这么大容量,是因为借用了外存(辅存)的存储空间,把当前不需要访问的数据存放在外存(辅存)。
在虚拟存储系统中,存储地址被称为:虚地址或者逻辑地址。在实际主存当中,实际地址被称为:物理地址或者实地址。由于虚拟存储系统实际上是借用了外存,所以当虚地址的内容
在主存当中的时候,就直接调用,如果不在主存当中,则先把该内容传递到主存再调用。
- 主存中存储单元地址的分配:已知地址线根数和按字节寻址的地址,求按字寻址的地址范围
假设地址线24根
那么24根地址线代表可以表示224 = 16M
个地址。
如果按照字节寻址,一个字节正好对应8位二进制,则字节的寻址范围就是 16M
。
如果字长是16位,按照字寻址,1字 = 2字节 ,那么字的寻址范围就是 16/2 = 8M
如果字长是32位,按照字寻址,1字 = 4字节,那么字的寻址范围就是 16/4 = 4M
- 什么是存取时间(存储器的访问时间,读出时间 写入时间),存取周期
- 存取时间:存储器的访问时间,指:启动一次存储器操作到完成的全部时间
- 读出时间:从存储器接受到有效地址开始,到产生有效输出的全部时间
- 写入时间:从存储器接受到有效地址开始,到数据写入被选中单元为止的全部时间
- 存取周期:存储器连续两次独立的存储器操作所需要最小的时间间隔
- 一般
存取周期 > 存取时间
- 一般
- 已知地址信号线,数据信号线根数,求芯片容量(反过来也要求会)
假设地址信号线有m跟,数据信号线根数为 n根。
芯片容量 = 2m n
例如:地址线10根,数据线4根,那么芯片容量为 `1k 4位`
- 已知存储器容量,求所需芯片的数量
- 位扩展:2片
1K * 4位
的存储芯片组成1个1K*8位
的存储器 - 字扩展:2片
1K * 8位
的存储芯片组成1个2K*8位
的存储器 - 字位扩展:8片
1K * 4位
的存储芯片组成1个4K*8位
的存储器
- 半导体芯片的译码驱动方式:线选法和重合法(行列两个方向都有译码器)
- 有关ROM和RAM的原理电路图不要求掌握
略。
- 动态RAM采用电荷。。的基本原理等
动态RAM的基本单元电路有两种:
- 三管式(左图)
- 单管式(右图)
两者的共同特点就是都依赖于电容(C)存放信息,当电容有足够多的电荷的时候就表示存储信息1,反之存储0。由于电容上的电荷维持时间很短,一般维持1-2ms,所以需要每2ms恢复一次电容状态,这个过程叫做刷新,相比静态RAM,有集成度高,功耗低的特点。
- 给定一个存储矩阵和存取周期,计算集中刷新(存在死区)和分散刷新(存取周期会变长,效率下降),异步刷新(两者集合)的时间间隔。
下面都假设:存储矩阵为128 * 128
。也就是有128行需要刷新,存取周期为0.5μs
- 集中刷新:所谓集中刷新,就是在2ms这个刷新间隔里面,集中一个时间把128行全部刷新一遍。如下图所示,那么刷新总时间为128 0.5 = 64 μs。每一行距离下次刷新的时间仍然是*2ms。
- 分散刷新就是每有一行做完读/写之后就立马紧随其后做一次刷新。每一行距离下次刷新的时间就是 128 0.5 =* 64 μs。
- 异步刷新就是集中刷新和分散刷新的结合,简单的来说就是将
2ms
的刷新时间进行均分,如果是128行,那么就每2000 / 128 = 15.6 μs
刷新一行。每一行距离下次刷新的时间仍然是2ms。存取周期
一般是读/写周期
的两倍,如果读写周期是0.5μs,那么存取周期就是1μs
- 课后练习4.11
- 集中刷新:2ms
- 分散刷新:256 * 0.2 = 51.2μs
- 异步刷新:2ms
- 了解每一种ROM存放的基本原理
- 掩模ROM:这种ROM采用的是重合的方式进行译码驱动,判断信息的方式就是判断在两根交叉的地址线上是否存在MOS管,如果存在,则表示
**0**
,如果不存在,表示**1**
。 - PROM:由一个双极型电路和熔丝构成,判断信息的方式是熔丝是否断裂
- EPROM:通过浮动栅可以控制MOS管的导通与否,通过照射紫外线的方式,使得浮动栅消失(这个过程叫擦除),或者撤销紫外线,使得浮动栅呈现
- EEPROM:使用电气方法将存储内容进行擦除和重写
- 位扩展(解决数据信号线的分组使用),字扩展(地址信号线的分配,高位生成片选信号,低位和存储芯片相连参与片内寻址),字位扩展(先做位扩展,再字扩展)(芯片数量越少越好,宁做字扩展,不做位扩展)例4.1-4.3。
P94页。
选择芯片原则:
- 芯片数量越少越好
- 所有可选方案中,如果芯片数量相同,优先采取位扩展
- 如果字扩展芯片数量少,则宁愿做字扩展也不做位扩展
- 符合题目条件
- 提高防存速度:多体并行系统:低位交叉编址,高位交叉编址。两种编址方式下存储器带宽的计算。
提高访存速度的措施:
- 采用单体多字系统
- 采用多体并行系统
- 低位交叉编址
- 高位交叉编址
例题4.6 假设有4个模块组成的四体存储器结构,每个体的存储字长为32位,存取周期为200ns。假设数据总线宽度为32位,总线传输周期为50ns,求解顺序存储和交叉存储的存储器带宽。
顺序存储 = 高位交叉编址,交叉存储 = 低位交叉编址。
存取带宽 = 读出n个字的信息量 / 连续读取n个字的时间。
读取n个字的信息量 = n 存储字长
对于低位交叉的存储器,连续读取n个字所需要的时间为:
t1 = T + (n-1)τ
对于*高位交叉的存储器,连续读取n个字所需要的时间为:
tq = nT
其中: T:存取周期 τ:总线传输周期
所以上述题中,连续读出4个字的信息量 = 4 32 = 128位
交叉存储读取4个字的时间为:200 + 50(4 -1) = 350ns = 3.510-7
顺序存储读取4个字的时间为:2004 = 800ns = 810-7
交叉存储带宽为:128/(3.510-7) = 37 107 bps
顺序存储带宽为:128/(810-7) = 16 * 107 bps
- 高速缓冲存储器,什么是程序访问局部性原理
CPU从主存取指令或者数据,在一定时间内,只是对主存局部地址区域的访问,指令和数据在主存的地址分布相对聚集,使得CPU在执行程序的时候,访存具有局部性
- 主存和缓存按块在存储,块的大小相同。
主存中块的数目多,缓存少
- Cache命中率的计算
命中率的计算如下:
假设一个程序执行期间内,Nc
是访问Cache的总命中次数,Nm
是访存主存的总次数,那么命中率**h**
为:
- 块长,容量都会影响CACHE命中率
很明显,缓存命中率越高效率就越高,而影响缓存命中效率的因素主要有两个:
- Cache容量
- 字块大小
Cache容量越大,能存储的信息越多,CPU所需要的信息越可能出现在Cache中,自然缓存命中率越高,但是容量大了造价也就高了。
字块大小对命中率的影响并非越大越高,因为缓存大小是固定的。
- 字块过大,字块数量过少,一旦不命中,整个字块被替换,十分影响效率
- 字块过小,导致缓存内部的字十分琐碎,而一般信息读取都是读取地址连续的,所以这样效率也不高
所以字块大小需要折中取。
- Cache-主存系统的效率的计算
假设h
是访存的命中率,tc
是访问Cache的时间,tm
是访问主存的时间,那么Cache-主存的平均访问时间ta
就是:
访问效率e为:
当h越接近1的时候,访问效率越高。
- Cache的基本结构
主要结构由三个:
Cache替换机构
Cache内容已满,无法接受来自主存块的信息时,就由Cache内的替换机构由按一定的替换算法来确定应从Cache内移出哪个块返回主存,而把新的主存块调入Cache。
主存Cache地址映像变换机构
将CPU送来的主存地址转换为Cache地址。
Cache存储体
Cache存储体以块为单位与主存交换信息,为加速Cache与主存之间的调动,主存大多采用多体结构,且Cache访存的优先级最高。
- Cache的写入(Cache和主存的一致性):写直达法,写回法
- 写直达法
每次同时写入缓存和主存,能随时保证主存与Cache的数据始终一致。但有可能会增加访存次数,因每向Cache写入时,都需向主存写入。
优点:主存与Cache的数据始终一致。
缺点:写入时间长,等于写入主存的时间
- 写回法
数据每次只是暂时写入Cache,并用标志将该块加以注明,直至该块从Cache替换出时,才写入主存。
Cache中所有字块增加一个标志位,如果字块被修改,标记为
**浊**
状态,如果没有,标记为**清**
状态,字块返回的时候,**浊**
状态的字块会写回主存。
优点:速度快
缺点:信息可能失效,增加了Cache的复杂性
- Cache的改进:增加Cache的级数,什么是统一Cache什么是分离Cache
单一缓存和二级缓存:
单一缓存即在CPU和主存之间只设一个缓存。随着集成电路逻辑密度的提高,又把这个缓存直接与CPU制作在同一个芯片内,故又叫片内缓存。
片内缓存可以提高外部总线的利用率,因为Cache做在芯片内,CPU直接访问Cache不必占用芯片外的总线(外部总线),而且片内缓存与CPU之间的数据通路很短,大大提高了存取速度,外部总线又可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率。
由于片内缓存制在芯片内,其容量不可能很大,所以需要在主存与片内缓存之间,再加一级缓存,叫做片外缓存,而且它是静态RAM组成。
统一缓存和分开缓存:
统一缓存:是指指令和数据都存放在同一缓存内的Cache
分开缓存:是指指令和数据分别存放在两个缓存中,一个叫指令Cache,一个叫数据Cache。
- Cache主存三种映射变换方式的特点,例4.8-4.11
- 直接映射:主存中存储块的数据只可调入Cache中的一个位置
- 全相连映射:每个主存块都可映象到任何Cache块的地址映象
- 组相连映射:将存储空间分成若干组,各组之间是直接映象,而组内各块之间则是全相联映象
- 作为辅存不直接与。。做交换
不直接与CPU做交换
第5章
- 三种IO控制方式或三种CPU与外设的。。方式(程序中断方式,DMA方式等)
三种I/O控制方式:
- 程序查询方式
- 程序中断方式
- DMA方式
- 什么是IO接口(cpu和外设的桥梁),为什么要设置IO接口
IO接口是主机和外设之间的交接界面。
设置IO接口的原因如下:
- 实现设备的选择:一台机器通常配有多台外设, 他们各自有其设备号(地址)。
- 实现数据缓冲达到速度匹配:外部设备种类繁多,速度不一,与CPU速度相差可能很大。
- 实现数据
**串-并**
格式的转换:有些外部设备可能串行传送数据,而CPU一般为并行传送。 - 实现电平转换:外部设备的入/出电平可能与CPU的入/出电平不同。
- 传送控制命令:CPU启动外部设备工作,要向外设发各种控制信号。
- 外部设备需将其工作状态及时向CPU报告,通过接口可监视设备的工作状态,并可保存状态信息,供CPU查询。
重点回答这里的第二点。
- IO接口的基本组成
- 数据线:用于传输数据信息,一般是双向的
- 设备选择线:用于选择设备,根数取决于I/O指令中设备码的位数
- 命令线:主要用以传输CPU向设备发出的各种命令信号,其根数与命令信号多少有关
- 状态线:I/O设备的状态向主机报告的信号线
- io中断处理:CPU响应中断的条件
CPU响应I/O提出中断请求的条件是必须满足CPU中的允许中断触发器**EINT**
为**1**
。该触发器可用开中断指令置位(称作开中断);也可用关中断指令或硬件自动使其复位(称作关中断)。
第6章
- 数的表示:给定机器字长,无符号数和有符号数的范围
假设机器字长为n。
无符号数范围:0~2n - 1
有符号数范围:-2n-1 ~ 2n-1 -1
- 四种码制的相互转换
以四位二进制数为例:
真值 | 原码 | 反码 | 补码 | 移码 |
---|---|---|---|---|
13 | 0,1101 | 0,1101 | 0,1101 | 1,1101 |
-13 | 1,1101 | 1,0010 | 1,0011 | 0,0011 |
详情参见:
第六章:计算机的运算方式
- 补码和移码的关系(只差一个符号位)
移码是对应补码符号位取反
- ±0的原码和反码和移码。。等是否相同 | 真值 | 原码 | 反码 | 补码 | 移码 | | —- | —- | —- | —- | —- | | +0 | 0,0000 | 0,0000 | 0,0000 | 1,0000 | | -0 | 1,0000 | 1,1111 | 0,0000 | 1,0000 |
注意:移码不是机器数,前三者才是机器数。
- 已知补码,求原码等
补码求原码:
- 正数:原码 = 补码
- 负数:末尾-1,各位求反
- 数的定点表示和浮点表示(高位代表阶码,低位表示尾数)(基数r越大表示范围越大,精度越小)
- 什么是上溢,下溢
**上溢**
:浮点数阶码大于最大阶码,机器停止运算,进行中断溢出处理**下溢**
:浮点数阶码小于最小阶码,尾数强置为0,按照机器零处理
- 已知机器字长等,如何写出阶码和尾数
假设浮点数字长为16位,其中阶码为5位(包含一位阶符),尾数为11位(包含一位数符),写出-53/512
对应的浮点规格化数的**源码**
、**补码**
、**反码**
和**阶码用移码、尾数用补码**
的形式。
这里一共需要四种形式。
首先先写出-53/512
的源码表示形式:
- 由于
1/512 = 2-9
所以这个数在小数点后有9位 - 接下来表示
53
可以知道是110101
- 写在小数点后9位就是
-0.000110101
- 规格化后写成浮点数形式就是
-0.110101000 * 2-11
(注意这里的-11
表示的是-3
) - 根据题意,阶码有5位,其中1位为阶符,所以
-11
写成1,0011
(逗号前的1表示负号) - 根据题意,尾数有11位,其中1位为阶符,所以
-0.110101000
写成1.1101010000
(小数点前的1表示负号)
综上,可以得到这个浮点数原码的表示形式,再根据这个原码写出他们对应的补码、反码、移码即可:
[X]原 = 1,0011; 1.1101010000 [X]补 = 1,1101; 1.0010110000 [X]反 = 1,1100; 1.0010101111 [X]阶移,尾补 = 0,1101; 1.0010110000
;
前面表示的是阶码,后面表示的是尾数
- 浮点数的规格化是什么
把一个浮点数按指定的格式进行转换。
- 机器零的处理:当浮点数的阶码=或<最小数。。。
**下溢**
:浮点数阶码小于最小阶码,尾数强置为0,按照机器零处理
- 移位规则:算术移位表(有符号数)掌握
- 定点补码加减运算判溢出的方式,单符号位,双符号位判溢出的方式
假设参与运算的操作数有两位:A和B
(1)用一位符号做溢出判断
在A和B的符号相同的情况下,如果A与B的运算结果和A和B的符号不相同,即为溢出。
(2)用两位符号做溢出判断
原始的符号位定义如下:
- 正:
0
- 负:
1
两位符号位的定义如下:
- 正:
00
- 负:
11
同样,如果出现溢出现象,那么A``B
两位的符号位应该是相同的。
这种带有两位符号位的补码叫做变形补码,变形补码的运算需要带上符号位。
变形补码判断溢出的原则是:运算结果的两位符号位不同的时候,就表示溢出,否则就是不溢出。
- 正溢出:两位符号位为
01
- 负溢出:两位符号位为
10
无论是否溢出,两位符号位的最高位表示变形补码的真正符号。
例:
设x=+1100
,y=+1000
,求6位双符号位补码之和[x+y]补。
解:
[x]补=00,1100, [y]补=00,1000
[x+y]补=00,1100+00,1000=01,0100
[x+y]补=01,0100,其中两个符号位出现01,表示已溢出,并且为上溢出,最终结果符号为正。
验算可得:x+y = 12 + 8 = 20 ,确实为上溢出。
- 浮点数加减运算的过程(对阶,求和。。等)
首先我们需要知道浮点数的形式:
x = S r j
由于浮点数尾数的小数点均固定在第一数值位前,尾数的加减运算规则与定点数完全相同。但由于其阶码的大小又直接反映尾数有效值的小数点位置,因此当两浮点数阶码不等时,因两尾数小数点的实际位置不一样,尾数部分无法直接进行加减运算。因此,浮点数加减运算必须按以下n步进行:
①对阶:使两数的小数点位置对齐。
②尾数求和:将对阶后的两尾数按定点加减运算规则求和(差)。
③规格化:为增加有效数字的位数,提高运算精度,必须将求和(差)后的尾数规格化。
④舍入:为提高精度,要考虑尾数右移时丢失的数值位。
⑤*判断结果:即判断结果是否溢出。
- 规格化数的判断以及规格化数的两个特例
假设位数为S,采用单符号位:
S>0 | 规格化形式 | S<0 | 规格化形式 |
---|---|---|---|
真值 | 0.1xxx | 真值 | -0.1xxx |
原码 | 0.1xxx | 原码 | 1.1xxx |
补码 | 0.1xxx | 补码 | 1.0xxx |
反码 | 0.1xxx | 反码 | 1.0xxx |
两个特例:
①S=-1/2,则[S]补=11.100…0。对于补码而言,它不满足于上面的规格化表示式。所以-1/2
不是规格化的数(对补码而言)。
②S=-1,则[S]补=11.000…0。因小数补码允许表示-1,故**-1**
视为规格化的数。
第7章
- 机器指令的基本格式,操作码地址码是什么。
- 基本格式:操作码 + 地址码
- 操作码:指明该指令所要完成的操作的二进制码
- 地址码:指出指令的源操作数的地址的二进制码
- 扩展操作码掌握
书上P301 例题7.1
- 什么是寻址方式
确定本条指令的数据地址以及下一条要执行的指令地址的方法。
- 指令寻址,数据寻址。7.3节重点
- 不同寻址方式下,操作数的计算,判断原操作数和目标操作数的。。
上述引用中
- 例7.3:堆栈,理解PC,SP等寄存器的作用
- PC:程序计数器,内容是指令或者数据的地址
- SP:堆栈栈顶指针,内容同样是指令地址
堆栈的作用就是用于存放程序断点的地址,以先进后出的方式进行存放。一般来说堆栈都是选取主存的一部分,所以堆栈的地址从顶部到底部是递增的:
详情看书上P319 例题7.3
- 堆栈的寻访,栈顶指针的更改
在堆栈寻址的指令字中没有形式地址码字段,它是一种零地址指令。
硬堆栈:用寄存器组来实现
软堆栈:用主存的一部分空间作堆栈。
堆栈的运行方式为先进后出或先进先出两种,先进后出型堆栈的操作数只能从—个口进行读或写。
如图所示,**SP**
为堆栈指针,用于指向栈顶的地址。进栈的时候地址+1,出栈的时候地址-1。
- 按字编制
- 进栈:SP - 1 → SP
- 出栈:SP + 1 → SP
- 按字节编址
- 存储字长16位(2字节)
- 进栈:SP - 2 → SP
- 出栈:SP + 2 → SP
- 存储字长32位(4字节)
- 进栈:SP - 4 → SP
- 出栈:SP + 4 → SP
- 存储字长16位(2字节)
- 理解RISC和CISC是什么,两者之间的比较
- RISC:精简指令系统计算机
- CISC:复杂指令系统计算机
与CISC机相比,RISC机的主要优点可归纳如下:
- 充分利用VLSI芯片的面积
- 提高计算机运算速度
- 便于设计,可降低成本,提高可靠性
- 有效支持高级语言程序
第8章
- 专用寄存器是干什么的
专用寄存器是用于执行一些特殊的操作的寄存器。一般包括程序计数器PC、堆栈指示器SP和标志寄存器FR。
- 什么是指令周期,哪些是必须有的
指令周期指的是取出并执行一条指令所需要的全部时间。
一般有:
- 取指周期
- (间址周期)
- 执行周期
- (中断周期)
取指周期必须有。(空操作指令可以没有执行周期)
- 影响指令流水的因素,数据相关,控制相关,结构相关的含义
影响指令流水的因素:
- 指令的执行时间 > 取指时间
- 结构相关
- 控制相关
- 数据相关
结构相关:当指令在重叠执行的过程中,不同指令争用同一功能部件产生资源冲突产生的
控制相关:条件转移指令会使得流水线的连续流动收到破坏
数据相关:流水线中的各条指令因为重叠操作,可能改变对操作数的读写访问顺序,从而导致数据相关冲突
- 什么是超标量技术。。。
超标量技术就是配置多套指令处理部件,然后一次性送入多条可并行处理的指令进行处理,在每个时钟周期内可同时并发多条独立指令。
- 什么是中断向量,什么是中断向量地址
- 中断向量:中断服务程序入口地址
- 中断向量地址:中断服务程序入口地址的地址
- 中断响应周期硬件关闭中断的作用
确保CPU响应后所需做的一些列操作不至于又受到新的的中断请求的干扰。
- 如何通过屏蔽字调整程序的执行轨迹,例8.2
通过设置新的屏蔽字就可以了调整程序的执行轨迹
第八章:CPU
第9、10章
- 写出4个工作子周期的工作序列
- 取指周期
- 间址周期
- 执行周期
- 中断周期
- 微指令的格式,三种编码方式
在微程序当中,微指令的格式如下:
其实就是类似于操作码 + 地址码。 所谓顺序控制,就是指出下条微指令的地址,也称下地址。
编码方式:
- 直接编码
- 字段直接编码
- 字段间直接编码
- 下地址字段等的作用
指出下条微指令的地址
- 什么是微程序,微指令等
微程序:一个机器指令对应就是一个微程序,用于解释机器指令
微指令:微指令是指在微程序控制的计算机中,同时发出的控制信号所执行的一组微操作。
微操作:指令执行时必须完成的基本操作