计算机系统知识(二)
一、指令系统
1、寻址方式
- 指令的基本概念
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码
指令的基本格式如下:
操作码字段 | 地址码字段 |
---|
- 寻址方式
①立即寻址方式
特点:操作数直接在指令中,速度快,灵活性差
②直接寻址方式
特点:指令中存放的是操作数的地址
③间接寻址方式
特点:指令中存放的是操作数的地址的地址
④寄存器寻址方式
特点:寄存器存放操作数
⑤寄存器间接寻址方式
特点:寄存器内存放的是操作数的地址
2、CISC与RISC
- CISC与RISC是指令集发展的两种途径
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其它 |
---|---|---|---|---|
CISC(复杂指令集计算机) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(精简指令集计算机) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store 操作内存 | 支持方式少 | 增加了通用寄存器;布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
-
CISC与RISC比较,分哪些维度?
指令数量、指令使用频率,寻址方式,寄存器,流水线支持,高级语言支持CISC:复杂,指令数量多,频率差别大,多寻址
RISC:精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线
3、流水线技术
-
概念
①相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率(后两个只在高级考试中出现,不需要了解)
②流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术
③流水处理时空图 -
流水线计算
①流水线周期 t :为执行时间最长的一段(即 取指、分析(指令译码、取操作数)、执行 这些步骤中时间最长的)②执行时间公式(n:指令条数;t:周期;k:步骤有几段(段数))
第1条指令执行时间+(指令条数-1)*流水线周期理论公式:(t1+t2+ ··· +tn)+(n-1)*t
红色部分为第1条指令执行时间,即流水线建立时间实践公式:k*t+(n-1)*t
默认用理论公式,若无答案再用实践公式③吞吐率计算
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。基本公式:TP=指令条数/流水线执行时间
最大吞吐率:TPmax = limn->∞n / ((k+n-1)*t) = 1/t(即流水线周期的倒数)
二、存储系统
1、层次化存储结构
虚拟存储体系由主存-辅存两级存储器构成
局部性原理是层次化存储结构的支撑
时间局部性:刚被访问的内容,立即又被访问(循环体)
空间局部性:刚被访问的内容,临近的空间很快被访问(顺序结构)
2、存储器的分类
1、按位置分类
- 内存(主存):用来存储当前运行所需要的程序和数据,速度快,容量小
- 外存(辅存):用来存储当前不参与运行的数据,容量大但速度慢
2、按存取方式分类
- 按内容存取
相联存储器(如Cache) - 按地址存取
①随机存取存储器RAM(如内存)
②顺序存取存储器SAM(如磁带)
③直接存取存储器DAM(如磁盘)
3、按工作方式分类
- 随机存取存储器RAM(如内存DRAM)
- 只读存储器ROM(如BIOS)
DRAM:动态随机存取存储器
SRAM:静态随机存取存储器
Cache:高速缓存
EEPROM:电可擦可编程只读存储器
3、高速缓存Cache
1、概念
- 在计算机的存储系统体系中,Cache是访问速度最快的层次
(若有寄存器,则寄存器最快) - 使用Cache改善系统性能的依据是程序的局部性原理
时间局部性
空间局部性 - 如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用 “Cache+主存储器” 的系统的平均周期为t3,则:
t3 = h*t1 + (1 - h)*t2
其中,(1-h)又称为失效率(未命中率)
2、映像
-
地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)。
例如,某机的主存容量为1GB,划分为2048页,每页512KB;Cache容量为8MB,划分为16页,每页512KB -
①直接相联映像:硬件电路较简单,但冲突率很高
②全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低
③组相联映像:直接相联与全相联的折中
注:主存与Cache之间的地址映射由 硬件 直接完成
冲突率 | 电路复杂度 | |
---|---|---|
直接相联映像 | 高 | 简单 |
全相联映像 | 低 | 复杂 |
组相联映像 | 中 | 折中 |
3、主存编址计算
-
存储单元
存储单元个数 = 最大地址 - 最小地址 + 1 -
编址内容
按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节
-
总容量=存储单元个数 * 编址内容
-
根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
总片数=总容量 / 每片的容量