计算机组成原理期末笔记(简答题)
第二章
- 小阶向大阶对齐的原因:
减小误差 - 什么叫溢出?
超出了机器的表示范围 - 计算机内部为什么大部分
- 全加器公式
- 全加器的时间延迟
- 行波进位补码加法器为什么m=0为加法,m=1为减法?
- 默写对2求补电路
- 直接补码阵列乘法器
最高位权值-1 - 间接补码阵列乘法器
算前求补的目的:补码变原码,扣掉符号位
算后求补的目的:原码变补码,存入计算器 - 原码除法:符号位单独运算
- 阵列除法器CAS用的是加减交替法
- ALU电路的基本概念
- 先行进位
- 流水线特点:并行进行运算,速度快
[x]补+[y]补=[x+y]补的证明
补码加法的公式为:
</span>
证明:设x和y均为定点小数,且运算结果没有溢出。即
- (1)x﹥0,y﹥0,则x+y﹥0。正数的补码和原码是一样的,可得:
[x]补+[y]补=x+y=[x+y]补 (mod 2)
- (2)x﹥0,y﹤0,x+y≥0或x+y﹤0。
[x]补=x,
[y]补=2+y
[x]补+[y]补=x+2+y=2+(x+y)- 当x+y≥0时,2 +(x+y) ≥2,对于模2来说,2被丢掉,于是
[x]补+[y]补=x+y=[x+y]补 (mod 2) - 当x+y﹤0时,2 +(x+y) ﹤2,于是
[x]补+[y]补=2+(x+y)=[x+y]补
(mod 2)
- 当x+y≥0时,2 +(x+y) ≥2,对于模2来说,2被丢掉,于是
- (3)x﹤0,y﹥0。
这种情况和第2种情况证明方法相同。 - (4)x﹤0,y﹤0,则x+y﹤0。
[x]补=2+x,
[y]补=2+y
[x]补+[y]补=2+x+2+y=2+(2+x+y)
(2+x+y) 小于2而大于1的数,第一个2作为进位被舍弃。于是
[x]补+[y]补=2+(x+y)=[x+y]补 (mod 2)
至此我们证明了在模2意义下,两数的补码之和等于这两个数之和的补码。
第三章
- 高速缓冲存储器cache的目的
提升访问速度,使存取速度和CPU的运算相匹配 - 双译码结构优点
减少线的数目 - 刷新->行
- 地址复用技术
- CDRAM DRAM里放一个SRAM
SRAM->静态存储器,比较小但快
DRAM->动态存储器
读取时高位不变,低9位连续变化
在SRAM读出期间同时对DRAM阵列进行刷新
写和读可以同时 - SDRAM:同步DRAM-CPU在SDRAM执行请求CPU同时,CPU能先去做别的
- DDR SDRAM:上升沿和下降沿均可读数据
- SRAM和DRAM
SRAM | DRAM | |
---|---|---|
存储容量 | 小 | 大 |
功率 | 小 | 大 |
速度 | 快 | 慢 |
集成率 | 低 | 高 |
价格 | 贵 | 便宜 |
缓冲 | 高速缓冲 | 需要定期刷新 |
- 解决CPU和贮存之间速度差异的主要途径
- CPU内部设置更多通用寄存器
- CPU和主存之间插入高速缓冲存储器(cache)
- 采用并行操作的存储器(如双端口存储器)
- 主存储器采用更高速的技术来缩短读出时间,或加长存储器的字长
- 相连存储器:按内容访问所有存储器,主要用来存放cache的行地址
- 程序局部性:时间局部性和空间局部性
- 时间局部性:如果一个存储单元被访问,则可能该单元会很快被再次访问(因为程序存在着循环)
- 空间局部性:如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问。(因为程序中大部分指令是顺序存储、顺序执行的,数据也是以向量、数组、树、表等形式簇聚地存储在一起的。)
- 主存与cache的地址映射(p94)
- 全相联映射方式
- 直接映射方式
- 级相连映射方式
- cache的替换策略(p100)
- 最不经常使用(LFU)算法
- 近期最少使用(LRU)算法
- 随机替换
主存与cache的地址映射(p94)
全相联映射方式 | 直接映射方式 | 组相联映射方式 | |
---|---|---|---|
主存地址长度 | (s+w)位 | ||
页内地址 | w位 | ||
寻址单元数 | 2s+w字 | ||
块大小 | 2w字 | ||
行大小 | |||
主存的块数 | 2s | ||
标记位数 | s位 | (s-r)位 | (s-d)位 |
组内块号 | r位 | d位 | |
cache的行数 | 不由地址格式确定 | m=2r | m=uv |
主存区内块号 | cache行号 | cache组号 | |
每组的行数 | v | ||
cache的组数 | u=2d |
PPT例题
一个四路组相联的Cache共有64行,主存有8192块,每块32个字,则主存地址中的主存字块标记(tag)为_位,组地址(组号)为_位,字块内地址为___位。
v=4
m=64=uv =>u=16
u=2^d => d=4
2^w=32 => w=5
2^s=8192=2^13 => s=13
∴ans: 9 4 5
某8位机主存1M字节,分成512块,Cache分8行,地址采用全相联映像方式,如图。
- Cache容量多大? 16KB
2^(s+w)=1M=2^20
s+w=20
2^s=512
s=9
w=20-9=11
2^w*8=2^14=16k - Cache的页内地址有多少位? 11位
w=11 - Cache的标记有多少位? 9位
s=9
第四章
- RISC和CISC的区别
CISC:复杂指令系统计算机
RISC:精简指令系统计算机
CISC比RISC指令系统庞大 - 为什么不同指令执行不同?
OP字段(操作码)不同。不同的op对应不同的指令第四章拓展知识
|比较|RISC|CISC|
|-|-|-|
|名称|精简指令系统计算机|复杂指令系统计算机|
|时钟周期|通常1个|更多|
|控制|硬布线逻辑|微程序控制|
|指令种类|少|多|
|寻指方式|少|多|
两者都可以采用流水线技术,RISC更适合而已。
第五章
- CPU的功能(p145)
- 指令控制
- 操作控制
- 时间控制
- 数据加工
- 同步/异步控制方式
- 各项操作采用/不采用统一的时钟信号控制
- PC为什么加1?
为下一条指令做准备。 - 方框图中,为什么第一个方框能共用,后面的不行?
第一个方框是取指周期。 - 一个方框代表一个CPU周期
- 为什么取完指令后会有一个菱形框
判定测试,做的是指令译码,根据OP字段不同分析测试 - 微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合
- 微程序:一条机器指令的功能是用许多条微指令组成的序列来实现的
- 为什么软件可以控制硬件?
指令的OP字段不一样。 - 为什么机器指令码的OP字段不一样?
地址转移后,强制置1的位置不一样,后面的分支和跳转不一样 - 机器指令和微程序的关系
- 一条机器指令对应的一个微程序,这个微程序由若干条微指令序列组成的
- 指令存放在存储器中;微指令存放在控制器中
- 一个CPU周期对应一条微指令,一个指令周期至少包含两个CPU周期(取指令,执行)
- RISC的全称和特点
- 全称:精简指令系统计算机
- 一个有限的简单的指令系统
- CPU配备大量的通用寄存器
- 强调对指令流水线的优化
第五章拓展知识
- 同步/异步传输
- 同步传输:CPU↔内存储器、CPU↔PCI、CPU↔I/O
- 异步传输:I/O↔打印设备(基于缓存池)
第六章
- 总线分类(p189)
- 内部总线:CPU内部连接各寄存器及运算部件之间的总线,称为内部总线
- 系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线
- I/O总线:中、低速I/O设备之间相互连接的总线
- 总线带宽=总线位宽×总线工作频率
- 总线带宽:单位时间内总线上可传送的数据量
- 总线位宽:总线上能同时传送的数据位数。1/8/16/32位
- 总线工作频率:用于控制总线操作周期的时钟信号的频率
- 单总线结构特点:简单,易于扩充
- 双总线结构:ppt7
- 直接存储器DMA(Direct Memory Access)
如果由外围设备指定的地址对应于一个主存单元,则主存予以响应,于是在主存和外设之间将进行直接存储器传送 - 简单总线结构的不足之处
- CPU是总线上唯一的主控者
- 总线结构紧密与CPU相关,通用性较差
- 信息传送方式(p195)
- 串行传送
- 并行传送
- 分时传送
- 总线仲裁部件:以某种方式选择其中一个主设备作为总线的下一个主方(p198)
- 集中式仲裁:每个功能模块都有两条线连到总线控制器
- 总线请求信号线BR:送往仲裁器
- 总线授权信号线BG:仲裁器送出
- 在查询链中,离总线仲裁器最近的设备具有最高优先级
- 分布式仲裁:不需要集中的总线仲裁器
- 同步总线必须按最慢的模块来设计时钟