计算机系统结构习题补充例题与练习【精选】
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最短平均长度(信息源熵):
n
H pi log2 pi i1
信息冗余量
(实际长度-H)/实际长度
每次选择两个最小值节点
n
L pi li i 1
非叶子结点值相加
5
习题2
扩展编码 等长、不等长 X-Y-Z、X/Y/Z 短编码不能是长编码的前缀 一定要用短编码表示频率高的指令
令的测试条件,不透明 • 乘法器、移位器:汇编语言不能控制的具体硬件,透明 • 主存地址寄存器:也称存储器地址寄存器MAR,透明 • 磁盘外设:I/O指令可直接对其操作(通过端口号),不透明 • 先行进位链:提高加法器运算速度的,组原和数字逻辑中学到,汇编
语言不能控制的具体硬件,透明 • 通用寄存器、中断字寄存器(中断响应、优先级、屏蔽等):程序中
习题1
存在的问题
•大多数同学较认真,少数不太认真、有抄袭现象 •关于参考答案,要知其然,更要知其所以然
第5、7两题
•理解透明性的含义 •掌握计算机系统结构、组成、实现研究的范围,P4、5 •凡编写机器语言和汇编语言程序要用到的(数据表示、指令 系统、寄存器¨¨¨)对计算机系统结构都是不透明的 •凡是只影响系统速度和价格的逻辑实现(计算机组成)和物 理实现(计算机实现)对系统结构都是透明的
•从MIPS之比得出的结论:
1 43% 0.5 78.5
减少ALU指令的比例会使速度变慢
×
减少使用频率高的指令会使速度变慢 ×
减少速度快的指令的比例会使速度变慢 √
4
习题2
OP编码优化的目标
Huffman编码
平均长度短(冗余小)
平均长度最短的方案
编码规整(长度种类少) 编码不唯一,但长度确定
变址位移量 补码表示(-2n-1~2n-1-1)
指令类型 R-R:速度快,给频率高的指令使用 M-M
6
习题2
第3题(10条指令)
•第2问:要求OP平均长度最短,则一定是Huffman编码(画Huffman树时 要注意,确保每次选两个概率最小的),2.7 •第3问: OP平均长度最短的扩展编码(不一定是等长扩展),究竟哪种最 短,要一个一个去试,本题可以试一下2-5、2-4、3-4,结果2-5最短,2.9 •第4问: OP平均长度最短的等长扩展编码,只需考虑2-4(1-2不可能、36太长),2.92 第5题(三地址12条,单地址254条,总长16位,每个地址4位) •4-8-12等长扩展,12/X/254 •若不考虑单地址指令,则二地址最多4×16=64条 •考虑单地址指令,每预留一个二地址指令码点,则可以扩展16条单地址指 令,要使单地址指令达到254条,则应预留254/16=15.9个二地址指令码点 •因此,二地址最多可以设计64-16=48条
要用到,不透明
3
习题1
第8题
•掌握三个公式
n
I CPI
CPIi Ii
i1
N
n i 1
(CPIi
Ii IN
)
MIPS
TE
IN 106
fc CPI 106
TE
IN MIPS 106
第12题
•优化之后各类指令所占比例,ALU指令的减少也导致总指令数减少
优化后算术运算指令所占比例 43% 0.5 21.5 27.39%
7
习题2
第6题(9条指令,8位(R-R)、16位(R-M)两种 指令字长)
•第1问:OP平均长度最短的扩展编码,与第3题类似,2-4、 2-5比较后可知,2-5平均长度最短,2.9 •第2问:为提高速度,应将使用频率高的指令安排成R-R型, 为减少存储容量,应将使用频率高的指令安排成短OP(2 位),因此R编码占3位,可以表示8个通用寄存器 •第3、4问:通用寄存器做变址寄存器,则变址位移量只能是 5位(16位-5位OP-3位R-3位X),偏移范围-16~15(补码)
2
习题1
第7题:从机器(汇编)语言看哪些是透明的
• 指令地址寄存器:指的是程序计数器PC,80X86中为IP,相对转移指 令中用到,不透明
• 指令缓冲器:缓冲和排队技术属于计算机组成P5,透明 • 时标发生器:产生系统时钟,汇编语言不能控制的具体硬件,透明 • 条件码寄存器:存放转移条件,也叫程序状态字PSW,是条件转移指
8
补充习题
1、若某机要求有:ຫໍສະໝຸດ Baidu地址指令4条,单地址指令255条,0地址 指令16条。设指令字长为12位,每个地址码为3位。问能否用扩 展操作码为其编码?单地址指令为254条呢?请说明理由。
•3-9-12不等长扩展, 4/255/16; 4/254/16 •若不考虑0地址指令,则单地址最多4×26=256条 •考虑0地址指令,每预留一个单地址指令码点,则可以扩展8 条0地址指令,要使0地址指令达到16条,则应预留16/8=2个 单地址指令码点 •因此,单地址最多可以设计256-2=254条
•4/255/16 × •4/254/16 √
9
补充习题
2、某机指令字长为16位。设有单地址指令和双地址指令两类。 若每个地址字段均为6位,且双地址指令有x条。问单地址指令可 以有多少条?
•4-10扩展 •双地址指令剩余16-x个码点作扩展标志 •共可扩出单地址指令(16-x)×26条
10
补充习题
1
习题1
第5题:哪些对计算机系统结构是透明的
• 存储器的模m交叉存取:目的加快存储器速度,透明 • 浮点数据表示:硬件可直接识别的数据类型,不透明 • I/O是通道方式还是处理机方式:I/O方式选择属于系统结构,不透明 • 阵列运算部件(多个相同运算部件阵列排列):加快运算速度,透明 • 数据总线宽度:只影响数据传输速度,不影响功能,透明 • 通道类型(结合、独立,P6):功能相同、速度不同,透明 • 访问方式保护:属于系统结构,不透明 • 程序性中断:属于系统结构,不透明 • 控制方式(串行、流水等):仅影响速度,透明 • 堆栈指令:指令系统属于系统结构,不透明 • 存储器最小编址单位:属于系统结构,不透明 • Cache存储器:为了提高存储系统速度,组原课中细讲的,透明
某处理机的指令字长为16位,有2地址指令、1地址指 令和0地址指令3类,每个地址字段的长度均为6位。