计算机组成原理例题习题ppt课件.ppt
《计算机组成原理例题习题ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理例题习题ppt课件.ppt(72页珍藏版)》请在三一办公上搜索。
1、第一章 计算机系统概论,第二章 运算方法和运算器,第三章 存储系统,第四章 指令系统,第五章 中央处理器,第六章 总线系统,目 录,【例】 用一台40MHz处理机执行标准测试程序,程序所含的混合指令数和每类指令的CPI如表所示,求有效CPI、MIPS速率和程序的执行时间。,【解】:总指令数为: 45000+32000+15000+8000=100000条 各类指令所占的比例分别是: 整数运算为45%,数据传送为32%,浮点操作为15%,控制传送为8%。 有效CPI、MIPS速率和程序的执行时间分别计算如下: (1)有效CPI为 10.45+20.32+20.15+20.08=1.55CPI (
2、2)MIPS速率为 40106/(1.55106)25.8MIPS (3)程序的执行时间为 1000001.55/(40106)=0.003875s,【例】若浮点数 x 的二进制存储格式为(41360000)16,求其32位浮点数的十进制值。,【解】: 将x展开成二进制: 0100,0001,0011,0110,0000,0000,0000,0000 数符:0 阶码:1000,0010 尾数:011,0110,0000,0000,0000,0000 指数e阶码1271000001001111111 00000011=(3)10 包括隐藏位1的尾数: 1.M1.011 0110 0000 000
3、0 0000 00001.011011 于是有 x(1)s1.M2e (1.011011)231011.011(11.375)10,【例】: 将十进制数20.59375转换成32位浮点数的二进制格式来存储。,【解】:首先分别将整数和分数部分转换成二进制数: 20.5937510100.10011 然后移动小数点,使其在第1,2位之间 10100.100111.01001001124e4 于是得到: e = 127S0,E4127131=1000,0011,M010010011最后得到32位浮点数的二进制存储格式为 0100 0001 1010 0100 1100 0000 0000 0000
4、(41A4C000)16,【例】设机器字长16位,定点表示,尾数15位,数符1位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少?,【解】 (1)定点原码整数表示 最大正数值(2151)10(32767)10 0111 1111 1111 1111 最小负数值(2151)10(32767)10 1111 1111 1111 1111,(2)定点原码小数表示 最大正数值(1215)10(0.111.11)2 最小负数值(1215)10(0.111.11)2,若把问题换成补码,则结果又是什么?即(1)定点补码整数表示时,最
5、大正数是多少?最小负数是多少?(2)定点补码小数表示时,最大正数是多少?最小负数是多少?,【解】 (1)定点补码整数表示 最大正数值(2151)10(32767)10 0111 1111 1111 1111 最小负数值215(32768)10 1000 0000 0000 0000,(2)定点补码小数表示 最大正数值(1215)10(0.111.11)2 最小负数值1,【解】 x补=00.1100 y补=00.1000 x补 0 0. 1 1 0 0 + y补 0 0. 1 0 0 0 0 1. 0 1 0 0 符号位出现“01”,表示已溢出,正溢。即结果大于+1,【例】 x= +0.1100
6、, y= +0.1000, 用变形补码求x+y。,【解】 x补=11.0100 y补=11.1000 x补 1 1.0 1 0 0 + y补 1 1.1 0 0 0 1 0.1 1 0 0 符号位出现“10”,表示已溢出,负溢出。即结果小于-1,【例】 x= -0.1100, y= -0.1000, 用变形补码求x+y。,【例】: = +011,= +110, 变形移码求x+y移 和 x-y移, 并判断是否溢出。,【解】:阶码取3位(不含符号位),其对应的真值范围是: -8+7,x移= 01 011, y补= 00 110, -y补=11 010,x+y移= x移+ y补=,x-y移= x移+
7、 -y补=,结果上溢。,结果正确, 为-3。,【例】 设15,13,用带求补器的原码阵列乘法器求出乘积?(设最高位为符号位),【解】 输入数据为: 原 01111 原 11101 乘积符号位: xfyf=1 算前求补器的使能控制信号=0,算前求补输出为: |1111, |1101 1111 ) 1101 1111 0000 1111 1111 0 1 1000011 算后求补器的使能控制信号也为0,算后求补输出为: 11000011, 加上符号位,最后乘积 原=1 11000011 其真值为:xy=-11000011B=-195,【例】 设15,13,用带求补器的补码阵列乘法器求出乘积?,【解
8、】 设最高位为符号位,则输入数据为: 补 01111 补 10011 符号位单独运算,算前求补级输出为: |1111, |1101 1111 ) 1101 1111 0000 1111 1111 0 1 1000011 算后求补级输出为: 00111101, 最后乘积 补=100111101 其真值为:-11000011B=-195,【例】设x=0.1101,y=-0.1011,分别用带求补器的原码阵列乘法器、带求补器的补码阵列乘法器和直接补码阵列乘法器计算xy。,【解】带求补器的原码阵列乘法器 x原=0.1101 y原=1.1011 乘积的符号位为:xfyf=01=1 因符号位单独考虑,算前
9、求补器的使能控制信号为0,经算前求补后输出 x=1101,y=1011,其中x和y分别是x和y原码的数值位。,因算后求补器的使能控制信号为0,经算后求补后输出为10001111,加上乘积符号位1,得 xy原=1.10001111 所以 xy=-0.10001111,1101 1011 1101 1101 0000 + 1101 。 10001111,【解】带求补器的补码阵列乘法器 x补=0.1101 y补=1.0101 乘积的符号位为:xfyf=01=1 因算前求补器的使能控制信号分别为被乘数和乘数的符号位,经算前求补后输出 x=1101,y=1011,其中x和y分别是x和y原码的数值位。,1
10、101 1011 1101 1101 0000 + 1101 。 10001111,因算后求补器的使能控制信号为乘积的符号位,经算后求补后输出为01110001,加上乘积符号位1,得 xy补=1.01110001 所以 xy=-0.10001111, 直接补码阵列乘法器 x补=0.1101 y补=1.0101,(0) 1 1 0 1 (1) 0 1 0 1 (0) 1 1 0 1 (0) 0 0 0 0 (0) 1 1 0 1 (0) 0 0 0 0 + 0 (1)(1)(0)(1) . 0 0 (1)(1) 1 1 0 0 0 1 (1) 1 0 1 1 1 0 0 0 1,xy补=1.01
11、11001 所以 xy=-0.10001111,注意:在这三种阵列运算中,一定要注意运算结果的位数。 例如,参与运算的数位都是5位,则运算结果的位数就应该是10位。,【例】设x=101001,y=-111,用原码阵列除法器计算xy。,【解】: x原=0101001 , y原=1111 商的符号位为: xfyf=01=1 令x=101001,y=111, 其中x和y分别为x原和 y原的数值部分: x补=0101001, y补=0111, -y补=1001,被除数/余数 商 说明 0101001 被除数x补 +-y补 1001 第一步减去除数,即+-y补 1110001 q0=0 最高位向前产生的
12、进位为0,即商0 + y补 0111 向右错开1位,加上除数,即+y补 001101 q1=1 最高位向前产生的进位为1,即商1 +-y补 1001 向右错开1位,减去除数,即+-y补 11111 q2=0 最高位向前产生的进位为0,即商0 + y补 0111 向右错开1位,加上除数,即+y补 0110 q3=1 最高位向前产生的进位为1,即商1 故得 商q=q0q1q2q3=0101, 余数r=r3r4r5r6=0110 所以 xy原=1101,余数原=0110 其中,余数的符号位与被除数相同 即 xy=-101,余数=110,【例】:利用74181和74182器件设计如下三种方案的64位A
13、LU;(1)行波CLA; (2) 两级行波CLA; (3) 三级CLA。,【解】: (1) 行波CLA 仅使用74181,用芯片的Cn+4进位输出作为下一级的进位输入Cm,片子内部有先行进位,片与片之间采用串行进位。64位ALU共需要16片74181,运算速度最慢。,(2)两级行波CLA 需要16片74181和4片74182。每4片74181为一组,使用1片74182,可实现4片74181之间的第二级先行进位。共有四组,组与组之间采用行波进位。速度比(1)快。,(3) 三级CLA 如图所示:多用一片74182,实现第三级先行进位。此方案速度最快,最低位的进位信号可以直接传送到最高位(第64位)
14、。,【例】 两浮点数x = 2010.1101,y = 211(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,2位保护位,阶码以原码表示,求x+y。,【解】:将x,y转换成浮点数据格式x浮 = 00 01, 00.1101,y浮 = 00 11, 11.0110步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得 x浮 = 00 11, 00.001101步骤2:对尾数求和,得:x+y浮 = 00 11, 11.100101步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得 x+y浮 = 00 10, 11.001010步骤4:截去。 x+y浮
15、= 00 10, 11.0010步骤5: 数据无溢出,因此结果为 x+y = 210(-0.1110),【例】 设有浮点数=25 0.0110011, = 23 (-0.1110010), 阶码用4位移码表示, 尾数 (含符号位)用8位补码表示。求浮。要求用补码完成尾数乘法运算, 运算结果尾数保留高8位(含符号位), 并用尾数低位字长值处理舍入操作。,【解】: 阶码采用双符号位, 尾数补码采用单符号位, 则有 Mx补= 0.0110011, My补= 1.0001110, Ex移= 00 011,Ey移 = 01 011, Ey补= 00 011, x浮00 011, 0.0110011, y
16、浮01 011, 1.0001110,(1) 求阶码和,Ex+ Ey移= Ex移+ Ey补= 00 011+ 00 011= 00 110,值为移码形式-2。,(2) 尾数乘法运算 可采用补码阵列乘法器实现, 即有,Mx补 My补 = 0.0110011补 1.0001110补,= 1.1010010,1001010补,(3) 规格化处理,乘积的尾数符号位与最高数值位符号相同, 不是规格化的数,需要左规, 阶码变为00 101(-3), 尾数变为 1.0100101,0010100。,(4) 舍入处理,尾数为负数, 取尾数高位字长,按舍入规则, 舍去低位字长,故尾数为1.0100101 。 最
17、终相乘结果为,其真值为 23 (0.1011011),浮00 101,1.0100101,【例】 设有若干片256K8位的SRAM芯片,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。 问:(1) 如何构成2048K32位的存储器?需要多少片RAM芯片?(2) 该存储器需要多少字节地址位?(3) 画出该存储器与CPU连接的结构图。,【解】:采用字位扩展的方法。需要32片SRAM芯片。,存储器设计举例,CPU的地址总线16根(A15A0,A0为低位);双向数据总线8根(D7D0),控制总线中与主存有关的信号有: MREQ#,R/W#。主存地址空间分配如下: 08191为系统
18、程序区,由只读存储芯片组成; 819232767为用户程序区; 最后(最大地址)2K地址空间为系统程序工作区。现有如下存储器芯片: EPROM:8K8位(控制端仅有CS); SRAM:16K1位,2K8位,4K8位,8K8位。 请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及38译码器74LS138)与CPU 的连接,说明选哪些存储器芯片,选多少片。,【解】: (1) 主存地址空间分布如图所示。,16根地址线寻址 64K 地址范围:0000 FFFFH(65535),根据条件,选定芯片:EPROM:8K8位 1片 系统程序区SRAM: 8K
19、8位 3片 用户程序区 2K8位 1片 系统程序工作区,地址空间分配表,(2) 连接电路,片内寻址:8K芯片片内13根 A12A02K芯片片内11根 A10A0片间寻址:前32K A15A14A13 译码线 0 0 0 Y0# 0 0 1 Y1# 0 1 0 Y2# 0 1 1 Y3#最后2K 1 1 1 加 A12A11 1 1,EPROM: 0000H1FFFH,SRAM1: 2000H3FFFH,SRAM2: 4000H5FFFH,SRAM3: 6000H7FFFH,SRAM4: F800HFFFFH,【例】 某CPU地址总线为A15A0,数据总线为D7D0;其主存系统中,地址空间000
20、0H1FFFH为ROM区域,ROM芯片为8K8位;从地址4000H开始,用8K4位的SRAM芯片组成一个24K8位的RAM区域,假设RAM芯片有WE#和CS#信号控制端。设读/写控制信号为R/W#,访存允许信号为MREQ#,要求: (1)给出地址译码方案及各存储芯片地址分配表; (2)画出主存与CPU的连接图。,【解】:根据题意,需要ROM 1片,需要RAM 6片(3组,每组2片)。其中A12 A0用于片内译码, A15 A13用于片间译码。 采用3:8译码器,各存储芯片地址为: ROM: 0000H-1FFFH Y0# RAM1: 4000H-5FFFH Y2# RAM2: 6000H-7F
21、FFH Y3# RAM3: 8000H-9FFFH Y4#,【例】 设主存储器容量为256字,字长为32位,模块数m=4,分别用顺序方式和交叉方式进行组织。主存储器的存储周期T=200ns,数据总线宽度为32位,总线传送周期=50ns。若按地址顺序连续读取4个字,问顺序存储器和交叉存储器的带宽各是多少?【解】:顺序存储器和交叉存储器按地址顺序连续读出4个字的信息总量都是: q=32b4=128b 顺序存储器和交叉存储器按地址顺序连续读出4个字所需的时间分别是: t顺=nT=4200ns=800ns t交=T+(n-1)=200ns+350ns=350ns 顺序存储器和交叉存储器的带宽分别是:
22、W顺=q/t顺=128b800ns=160Mb/s W交=q/t交=128b350ns366Mb/s,【例】 设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。问顺序存储器和交叉存储器的带宽各是多少?,【解】 顺序存储器和交叉存储器连续读出m=4个字的信息总量都是: q=64位4=256位顺序存储器和交叉存储器连续读出4个字所需的时间分别是: t2=mT=4200ns=800ns=810-7s; t1=T+(m-1)=200ns+350ns=350ns=3.510-7s 顺序存储器和交叉存储器
23、的带宽分别是: W2=q/t2=256(810-7)=32107位/s W1=q/t1=256(3.510-7)=73107位/s,【例】CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期为50ns,主存存取周期为250ns,求Cache/主存系统的效率和平均访问时间。,【解】先求出命中率及倍率:,Cache/主存系统的效率:,平均访问时间:,或,【例】一台计算机的主存容量为16M字,Cache容量为64K字,每块的大小为1K个字,主存和Cache之间采用组相联映像,假设每组为16块。请设计在此条件下的主存地址格式和Cache地址格
24、式。,【解】:主存容量16M=224字,Cache容量64K=216字,块的大小1K=210字 64K/(161K)=4 Cache分为4组。 主存分区: 16M/64K=28 因此主存分为256(28)个区。 Cache地址格式如下:,主存地址格式如下:,【例】:已知主存容量为64MB,虚存容量为4GB,页面大小为16KB,求页表长度?,【解】: 以字节为单位,已知: 主存容量为64MB=225B,即主存地址为 25位; 虚存容量为4GB=232B,虚存地址为32位; 页面大小为16KB=214B,即页大小为14位; 因页表要包含所有虚(逻辑)页号,故页表长度为: 32-14=18位,即21
25、8。,【例】:某虚拟存储器共有8个页面,每页为1024个字,实际主存为4096个字,采用页表法进行地址映象。映象表如表所示(1表示装入)。,【解】:(1)页面失效的虚页号: 2、3、5、7。(2)地址(逻辑地址) 0,3728, 1023,1024。 页内位移: 0, 656, 1023, 0 实地址: 3072, 无, 4095,1024,1. 会发生页面失效的全部虚页号;2. 按以下虚地址计算主存实地址:0,3728,1023,1024。,扩展操作码举例,【例】 设某指令系统,有三类指令,如图所示,假设二地址指令有15条,一地址指令62条,则零地址指令最多有多少条?整个指令系统可以有多少条
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 例题 习题 ppt 课件
链接地址:https://www.31ppt.com/p-1438936.html