第一章
1.冯诺依曼型计算机的主要设计思想
- 包括运算器、控制器、存储器、输入输出设备
- 以二进制形式存储数据
- 指令和数据存放在同一存储器
- 采用存储程序的工作方式
2.计算机的性能指标及计算
计算机性能指标 | 含义 |
---|---|
处理机字长 | 处理机中运算器一次能完成的二进制运算位数 |
主频 | 主时钟的频率 |
CPU时钟周期 | 主时钟的周期,主频的倒数 |
CPI | 每条指令的周期数 |
MIPS | 平均每秒执行多少百万条定点指令数 |
FLOPS | 每秒执行浮点操作的次数 |
存储器带宽 | 单位时间内从存储器读出的二进制数信息量 |
第二章
1.如何计算IEEE754单精度浮点数对应的十进制真值
(
−
1
)
s
×
(
1.
m
)
×
2
E
−
127
,
其中
E
∈
[
1
,
254
]
(-1)^s\times(1.m)\times2^{E-127},\text{其中}E\in[1,254]
(
−
1
)
s
×
(
1
.
m
)
×
2
E
−
1
2
7
,
其中
E
∈
[
1
,
2
5
4
]
第三章
1.虚存机制要解决的关键问题
-
调度问题
-
地址映射问题
-
替换问题
-
更新问题
2.TLB采用什么存储器实现?TLB按什么寻址
-
TLB采用
相联
存储器实现(
P.107
) -
TLB按
内容
寻址
3.虚存、TLB和cache的协同操作,当采用不同的cache写策略时,又会产生什么样的影响呢?
TLB缺失可由硬件也可由OS处理,Cache缺失由硬件处理,缺页由OS处理(缺页中断),TLB在CPU里面,页表在主存中,同时访问
TLB |
页表 |
cache |
可能发生吗?如果可能,发生的背景是? |
---|---|---|---|
命中 |
命中 |
缺失 |
可能,但若 TLB 命中就不可能再去检查页表 |
缺失 |
命中 |
命中 |
TLB 缺失,但在页表中找到表项;在 cache 中找到数据 |
缺失 |
命中 |
缺失 |
TLB 缺失,但在页表中找到表项;未在 cache 中找到数据 |
缺失 |
缺失 |
缺失 |
TLB 缺失并随之发生缺页; cache 中必然也找不到数据 |
命中 |
缺失 |
缺失 |
不可能:如果页不在内存中,TLB不可能命中 |
命中 |
缺失 |
命中 |
不可能:如果页不在内存中,TLB不可能命中 |
缺失 |
缺失 |
命中 |
不可能:如果页不在内存中,数据不允许在cache中存在 |
命中 |
命中 |
命中 |
不需要访存,此时数据在 CPU 中 |
第四章
1.设计指令格式时扩展操作码是为了什么?
增加指令条数,丰富指令种类P.122
2.指令系统在设计时应该满足哪四个方面要求?
完备性、有效性、规整性、兼容性P.119
3.计算机常用的寻址方式有哪些
(1)指令寻址方式(形成指令地址的方式)
-
顺序寻址方式:顺序执行,用程序计数器(PC)来计数指令的顺序号,即指令在内存中的地址。
-
跳跃寻址方式:由本条指令(如指令jmp,jnz等等)给出下条指令的地址,跳跃之后PC也要改变。
(2)数据寻址方式(寻找操作数地址的方式)
指令中给出的地址码并不是有效地址,寻址即将地址码转换成有效地址的过程。
-
隐含寻址:操作数或者操作数的地址隐含在某个通用寄存器或指定的内存单元中。
-
立即寻址:将操作码和一个操作数同时取出,不必再访问存储器,操作数即指令的一部分(如add eax , 1的1就是立即数)
-
直接寻址:直接给出有效地址而不是形式地址。或者有效地址==形式地址。(操作数的有效地址无法被修改)
-
间接寻址:指令地址字段中的形式地址是存放操作数的地址的地址。(操作数的有效地址可以被灵活修改,但需要访问两次主存)
-
寄存器寻址:给出的是寄存器的编号,寄存器里的就是操作数(减少地址码位数的同时取操作数更加快)
-
寄存器间接寻址:给出的是寄存器的编号,但
寄存器里的是
存放操作数的主存的地址。 -
偏移寻址:直接寻址和寄存器间接寻址的结合(指令中两个地址段,一个被直接使用,另一个指的是某个专用寄存器,
寄存器中的值
+
给出的形式地址
=
有效地址
)- 相对寻址:[程序计数器]+A=有效地址【PC里的是下一条指令的地址】
- 基址寻址:[基址寄存器]+A=有效地址【A是段内偏移,基址寻址是面向系统的】
- 变址寻址:[存放变址值的某寄存器(多为变址寄存器)]+A=有效地址【与基址寻址不同,该寄存器存放的是偏移量,且A地址位数比寄存器中的偏移量位数更大,变址寻址是面向用户的】
-
段寻址:将存储空间划分成若干段,由段寄存器提供基地址,一些寄存器提供偏移量,形成实际的地址。
-
堆栈寻址:
-
寄存器堆栈(硬堆栈):在CPU中设置几个寄存器作为堆栈。
-
存储器堆栈(软堆栈):在主存中利用一部分主存区域作为堆栈。(需要堆栈指示器指向栈顶)
第五章
1.CPU的结构,CPU中主要寄存器的作用,如何取指
P.147
-
假定程序已经装入
指存
。 -
程序计数器PC
中装入第一条指令地址101 -
PC的内容被放到指存地址总线
ABUS
(1)上,对指存进行译码,并启动读命令; -
从101号地址读出的MOV指令通过指令总线IBUS装入
指令寄存器IR
; - PC+1,变成102,为取下一条指令做好准备;
- IR中的操作码(OP)被译码;
-
操作控制器OC
识别出是MOV指令,至此,取指周期结束。
2.什么是微命令?什么是微操作?
-
微命令
:控制部件通过控制总线向执行部件发出各种控制命令,是构成控制序列的最小单元 -
微操作
:执行部件接受微命令后所进行的操作。微操作是执行部件中最基本的操作。P.163 -
微程序控制器
:主要由
控制存储器
、
微指令寄存器
、
地址转换逻辑
三大部分组成,微指令寄存器分为
微地址寄存器
和
微命令寄存器
。
3.什么是超标量流水计算机?
一般的流水计算机只有一条指令流水线,称为标量流水计算机。
如果流水计算机具有两条以上的指令流水线,称为超标量流水计算机。
4. 微指令可以分为操作控制字段、判别测试字段和下地址字段,如何确定各个字段的位数?
微指令可以分为
操作控制字段
、
判别测试字段
和
下地址字段
。
5. 指令流水执行时CPU时钟周期如何选择
选最长的
第六章
1.集中式仲裁方式的特点
除了地址总线和数据总线之外,
-
链式查询方式
需要额外增加3根线(BG,BR,BS) -
计数器定时查询方式
需要额外增加
⌈l
o
g
2
n
⌉
+
2
\lceil log_2n\rceil+2
⌈
l
o
g
2
n
⌉
+
2
根(设备地址线给n个设备编址需要
⌈l
o
g
2
n
⌉
\lceil log_2n\rceil
⌈
l
o
g
2
n
⌉
根,共享BS跟BR) -
独立请求方式
需要额外增加2n+1(n个设备各有BR和BG,都共享一个BS)
BS:表示总线状态。
BR:设备请求。
BG:仲裁后的授权。
第七章
1.磁盘的计算
总的平均读写操作时间
=
平均等待时间
+
数据传输时间
+
平均寻道时间
平均等待时间=旋转半周所需要的时间
数据
传
输
时
间
=
传
输
数
据
量
数
据
传
输
率
数据传输时间=\frac{传输数据量}{数据传输率}
数
据
传
输
时
间
=
数
据
传
输
率
传
输
数
据
量
(数据传输率根据转速算)
2.什么是分辨率和灰度级?刷新存储器容量的计算
-
分辨率:显示器所能显示的像素个数。
-
灰度级:黑白显示器中所显示的像素点的亮暗差别。
-
刷新
存
储
器
的
容
量
=
分
辨
率
×
灰
度
级
刷新存储器的容量=分辨率\times灰度级
刷
新
存
储
器
的
容
量
=
分
辨
率
×
灰
度
级
第八章
1.外部I/O中断方式的特点
2.不同I/O方式的相关计算