计算机组成原理复习
第一章 计算机系统概论
冯·诺依曼型计算机
冯·诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?
- 计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
- 各基本部件的功能是:
存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;
控制器应能自动取出指令来执行;
运算器应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;
操作人员可以通过输入设备、输出设备和主机进行通信。 - 内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。
- 采用“存储程序”工作方式。
计算机重要性能指标
计算机一些重要性能指标的概念及计算,如CPI,主频,时钟周期等
- CPI:每条指令周期数,即执行一条指令所需的平均时钟周期数。
-
MIPS:每秒百万条指令数,表示单位时间内执行的指令数目。
-
主频/时钟周期:CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。度量单位是MHz、GHz。
主频的倒数称为CPU时钟周期(T),即T=1/f,度量单位是微秒s 、纳秒ns。
CPU执行时间:表示CPU执行一段程序所占用的CPU时间,可用下式计算:
CPU执行时间 = CPU时钟周期数 × CPU时钟周期长(T)
第二章 运算方法和运算器
1.计算机中定点数的表示以及计算
2.变形补码的计算及溢出判断
正整数 原码反码补码符号位都固定为0,三种方式完全一样
-
负整数
原码符号位为1不变,整数的每一位二进制数位求反得到反码
反码符号位为1不变,反码数值位最低位加1,得到补码
从[y]补求[-y]补的法则是:
[y]补包括符号位在内全部按位取反再末位+1。
溢出概念及检测方法
-
概念
- 在定点小数机器中,数的表示范围为 [-1,1)。在运算过程中如出现结果超出表示范围的现象,称为 “溢出”。
- 而在定点整数机器中,数的表示范围为 。在运算过程中如出现结果超出表示范围的现象,称为 “溢出”。
-
双符号位的含义如下:
= 00 结果为正数,无溢出
01 结果正溢
10 结果负溢
11 结果为负数,无溢出
3.计算IEEE754单精度浮点数对应的十进制真值**
S —— 尾数符号,0正1负;
M —— 尾数, 纯小数表示, 小数点放在尾数域的最前面。
采用原码表示。
E —— 阶码,采用“移码”表示;
阶符采用隐含方式,即采用“移码”方法来表示正负指数
一个规格化的32位浮点数x的真值为:
这里e是真值,E是机器数
一个规格化的64位浮点数x的真值为:
4.IEEE754单精度浮点规格化数的取值范围
如最大正数,最大负数,最小正数和最小负数
第三章 存储系统
存储容量的扩充
DRAM芯片设计时地址引脚和数据引脚个数
地址引脚 7 个 数据引脚 8 个
交叉读取连续读取m个字所需要的时间为:t1=T+(m-1)τ
顺序方式存储器连续读取m个字所需的时间为:t2=mT
虚存机制要解决哪些关键问题?
1)调度问题:决定哪些程序和数据应被调入主存。
-
2)地址映射问题:在访问主存时把虚地址变为主存物理地址;在访问辅存时把虚地址变成辅存的物理地址,以便换页。
此外还要解决主存分配、存储保护与程序再定位等问题。
3)替换问题:决定哪些程序和数据应被调出主存。
4)更新问题:确保主存与辅存的一致性。
虚存、TLB和cache的协同操作**
当采用不同的cache写策略时,又会产生什么样的影响呢?
TLB | 页表 | cache | 可能发生吗?如果可能,发生的背景是? |
---|---|---|---|
命中 | 命中 | 缺失 | 可能,但若TLB命中就不可能再去检查页表 |
缺失 | 命中 | 命中 | TLB缺失,但在页表中找到表项;在cache中找到数据 |
缺失 | 命中 | 缺失 | TLB缺失,但在页表中找到表项;未在cache中找到数据 |
缺失 | 缺失 | 缺失 | TLB缺失并随之发生缺页;cache中必然也找不到数据 |
命中 | 缺失 | 缺失 | 不可能:如果页不在内存中,TLB不可能命中 |
命中 | 缺失 | 命中 | 不可能:如果页不在内存中,TLB不可能命中 |
缺失 | 缺失 | 命中 | 不可能:如果页不在内存中,数据不允许在cache中存在 |
TLB采用什么存储器实现?TLB按什么寻址?**
TLB由按内容查询的相联存储器实现,存储慢表中部分信息的副本。
TLB按内容寻址
虚拟地址和物理地址的转换
- 通过页面大小算出页内地址
- 算出物理地址和虚拟地址分别有多少位,得到地址码
直接映射方式下cache容量的计算
第四章 指令系统
设计指令格式时扩展操作码是为了什么?
确保指令字长度尽可能统一
指令系统在设计时应该满足哪四个方面要求?
完备性、有效性、规整性、兼容性
计算机常用的寻址方式有哪些?
方式 | 算法 | 主要优点 | 主要缺点 |
---|---|---|---|
隐含寻址 | 操作数在专用寄存器中 | 无需访存 | 数据范围有限 |
立即寻址 | 操作数=A | 无需访存 | 操作数幅值有限 |
直接寻址 | EA=A | 简单 | 地址范围有限 |
间接寻址 | EA=(A) | 地址范围大 | 多重存储器访问 |
寄存器寻址 | EA=R | 无需访存 | 地址范围有限 |
寄存器间接寻址 | EA=(R) | 地址范围大 | 额外存储器访问 |
偏移寻址 | EA=A+(R) | 灵活 | 复杂 |
段寻址 | EA=A+(R) | 灵活 | 复杂 |
堆栈寻址 | EA=栈顶 | 无需访存 | 需要堆栈指示器 |
相对寻址 | EA = A +(PC) | ||
基址寻址 | **E= ()+D ** | :基址寄存器 | |
变址寻址 | E= ()+D | :变址寄存器 |
第五章 中央处理器
CPU的结构
运算器、控制器、缓存
CPU中主要寄存器的作用
指令寄存器IR
- 保存当前正在执行的一条指令
- IR中指令操作码字段经过指令译码器译码,向操作控制器发出具体操作的特定信号
- 在执行该指令的过程中,IR的内容不允许发生变化,以保证实现指令的全部功能
程序计数器PC(指令计数器)
- 程序开始执行前,将起始地址(程序的第一条指令所在的地址)送入PC
- 执行指令时,CPU自动修改PC的内容,使PC中总是存放将要执行的下一条指令的地址(指令顺序执行,PC+1)
- 执行转移指令时,后继指令地址由转移指令来规定,因此PC具有寄存器和计数两种功能
数据地址寄存器AR
(有些题目中为MAR)
保存当前CPU所访问的数据cache(数存)单元的地址。
数据缓冲寄存器DR
(有些题目中为MDR)
- 暂存ALU的运算结果,作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲
- 暂存数据存储器读出的一个数据字或来自外部接口的一个数据字,补偿CPU和内存、外围设备之间在操作速度上的差别。
通用寄存器组
- ALU执行算术或逻辑运算时,为ALU提供一个工作区。
- 通用寄存器组中的寄存器既可以存放源操作数,又可以存放结果操作数,因此在指令格式中要对寄存器号加以编址。
- 通用寄存器还可以用作地址指示器、变址寄存器、堆栈指示器等。
程序状态字寄存器PSWR(状态条件寄存器)
是一个由各种状态条件标志拼凑而成的寄存器
- 保存由算术指令和逻辑指令运算或测试结果建立的各种条件信息,如运算结果进位标志、运算结果溢出标志等。
- 保存中断和系统工作状态,以便使CPU和系统能及时了解机器运行状态和程序运行状态。
如何取得一条指令?
- 程序计数器PC中装入第一条指令地址101(八进制)
- PC的内容被放到指存地址总线ABUS(I)上,�对指存进行译码,并启动读命令;
- 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;
- PC+1,变成102,为取下一条指令做好准备;
- IR中的操作码(OP)被译码;
- 操作控制器OC识别出是MOV指令,至此,取指周期结束。
什么是微命令?什么是微操作?
- 微命令:控制部件通过控制线向执行部件发出的各种控制命令,是构成控制序列的最小单位
- 微操作:执行部件接受微命令后所进行的操作
如何确定微指令各个字段的位数
微指令可以分为操作控制字段、判别测试字段和下地址字段,如何确定各个字段的位数?
什么是超标量流水计算机?
如果流水计算机具有两条以上的指令流水线,称为超标量流水计算机。
指令流水执行时CPU时钟周期如何选择
选最大
第六章 总线系统
总线带宽的计算
传输率:也称为总线带宽,通常指总线所能达到的最高数据传输率,单位是Bps(每秒传送字节数)。计算公式
D:数据宽度; f:总线时钟频率;N:一次数据传送所需的时钟周期数。
集中式仲裁三种方式的特点
链式查询方式
- 离中央仲裁器最近的设备具有最高优先级,通过接口优先级排队电路实现。
- 只用很少几根线就能按一定优先次序实现总线仲裁,很容易扩充设备
- 对询问链的电路故障很敏感
计数器定时查询方式
每次计数可以从“0”开始,也可以从中止点开始。
独立请求方式
- 首先响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。
- 其次,对优先次序的控制相当灵活,可以预先固定也可以通过程序来改变优先次序;
- 还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。
第七章 外围设备
磁盘的计算,如平均存取时间
$T_s$表示平均找道时间;
1/2r表示平均等待时间;
$b\over rN$表示数据传送时间。
r表示磁盘旋转速率,单位是转/秒;b表示传送的字节数;N表示每磁道字节数。
什么是分辨率和灰度级?刷新存储器容量的计算
分辨率:显示设备所能表示的像素个数。
灰度级:指所显示像素点的亮暗差别,在彩显中则表现为颜色的不同。