欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机组成原理例题习题ppt课件.ppt

    • 资源ID:1438936       资源大小:1.34MB        全文页数:72页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组成原理例题习题ppt课件.ppt

    第一章 计算机系统概论,第二章 运算方法和运算器,第三章 存储系统,第四章 指令系统,第五章 中央处理器,第六章 总线系统,目 录,【例】 用一台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)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 0000 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 (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)定点补码整数表示时,最大正数是多少?最小负数是多少?(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, 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移+ -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,用带求补器的补码阵列乘法器求出乘积?,【解】 设最高位为符号位,则输入数据为: 补 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 因符号位单独考虑,算前求补器的使能控制信号为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原码的数值位。,1101 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.0111001 所以 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 最高位向前产生的进位为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位ALU;(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位)。,【例】 两浮点数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浮 = 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浮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 。 最终相乘结果为,其真值为 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为系统程序区,由只读存储芯片组成; 819232767为用户程序区; 最后(最大地址)2K地址空间为系统程序工作区。现有如下存储器芯片: EPROM:8K8位(控制端仅有CS); SRAM:16K1位,2K8位,4K8位,8K8位。 请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及38译码器74LS138)与CPU 的连接,说明选哪些存储器芯片,选多少片。,【解】: (1) 主存地址空间分布如图所示。,16根地址线寻址 64K 地址范围:0000 FFFFH(65535),根据条件,选定芯片:EPROM:8K8位 1片 系统程序区SRAM: 8K8位 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;其主存系统中,地址空间0000H1FFFH为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-7FFFH 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 顺序存储器和交叉存储器的带宽分别是: 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 顺序存储器和交叉存储器的带宽分别是: 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地址格式。,【解】:主存容量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位,即218。,【例】:某虚拟存储器共有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条,则零地址指令最多有多少条?整个指令系统可以有多少条指令?,【分析】 二地址指令有15条,则其未使用的编码还剩下: 24-15=1个 设没使用的编码为1111,这个编码作为一地址指令操作码的扩展标志,,1111 XXXXXX,由于A1字段的位数是6位,因此用一个扩展标志1111就可以扩展出26=64种一地址指令的操作码。,如果机器只需要62条一地址指令,则余下的两个编码(1111111110、1111111111)都可以作为零地址指令操作码的扩展标志,扩展到一地址指令的A字段,就形成了零地址指令。,1111 111110 1111 111111,由于A字段的位数是6位,因此用两个标志位可以扩展出226=128种零地址指令的操作码。 整个指令系统可以有 15+62+128=205条指令。,若指令系统要求设计180条一地址指令,则二地址指令最多可以有多少条?此时零地址指令最多可以有多少?,若一地址指令180条,则需要3个扩展标志,则二地址指令最多可以有24-3=13条,零地址指令最多可以有 (3*26-180)*26 =768 条,【例】:机器字长为16位,指令格式如下所示,其中OP为操作码,试分析指令格式的特点。,【解】: (1) 单字长二地址指令。 (2) 操作码字段OP可以指定128条指令。 (3) 源寄存器和目标寄存器都是通用寄存器(可分别指定16个),所以是RR型指令,两个操作数均在寄存器中。 (4) 这种指令结构常用于算术逻辑运算类指令。,【例】: 一种二地址RS型指令的结构如下所示:,其中I为间接寻址标志位,X为寻址模式字段,D为偏移量字段,通过I,X,D的组合,可构成下表所示的寻址方式。请写出6种寻址方式的名称。,寻址方式举例,解:(1)直接寻址,(6)基址寻址,(2)相对地址,(3)变址寻址,(4)寄存器间接寻址,(5)间接寻址,【例】 设有一台计算机,其指令长度为16位,有一类RS型指令的格式:,其中,OP为操作码,占6位;R为寄存器编号,占2位,可访问4个不同的通用寄存器;MOD为寻址方式,占2位,与形式地址A一起决定源操作数,规定如下: MOD=00,为立即寻址,A为立即数; MOD=01,为相对寻址,A为位移量; MOD=10,为变址寻址,A为位移量。 假定要执行的指令为加法指令,存放在1000H单元中,形式地址A的编码为01H,其中H表示十六进制数。该指令执行前存储器和寄存器的存储情况如图所示,假定此加法指令的两个源操作数中一个来自于形式地址A或者主存,另一个来自于目的寄存器R0,并且加法的结果一定存放在目的寄存器R0中。,在以下几种情况下,该指令执行后,R0和PC的内容为多少? (1)若MOD=00,(R0)= ; (2)若MOD=01,(R0)= ; (3)若MOD=10,(R0)= ;(PC)= 。,【解】: (1) 若MOD=00,为立即寻址,则指令格式中的形式地址部分即为立即数,因此一个源操作数为01H,另一个源操作数为R0的内容0015H,加法指令执行的结果为(R0)= 0016H 。 (2) 若MOD=01,为相对寻址,则一个源操作数的有效地址E=(PC)+A,在执行加法指令时,PC的值为下一条指令的地址,即(PC)=1001H,由此可以算出这个源操作数的有效地址为E=1001H+01H=1002H,这个操作数为(E)=1150H,另一个源操作数为R0的内容0015H,加法指令执行的结果为(R0)= 1165H 。 (3) 若MOD=10,为变址寻址,则一个源操作数的有效地址E=(Rx)+A,由此可以算出这个源操作数的有效地址为E=1002H+01H=1003H,这个操作数为(E)=1250H,另一个源操作数为R0的内容0015H,加法指令执行的结果为(R0)= 1265H ;在执行加法指令时,PC的值为下一条指令的地址,即(PC)= 1001H 。,【例】某微机指令格式如下所示:,格式中 D 为位移量,X为寻址方式特征值: X=00 , 直接寻址; X=01, 用变址寄存器RI进行变址 X=10, 用基址寄存器RB进行寻址 X=11, 相对寻址 设(PC)=2000H,(RI)=0150H, (RB)=1889H,请确定如下指令的有效地址: (1)4420H (2) 2244H (3) 730AH (4) 3566H (5) 6783H,【解】: 1)X=00 , D=20H , 有效地址EA=20H 2) X=10 , D=44H , 有效地址EA=1889H+44H=18CDH 3) X=11 , D=0AH , 有效地址EA=2000H+0AH=200AH 4) X=01 , D=66H , 有效地址EA=0150H+66H=01B6H 5) X=11 , D=83H , 有效地址EA=2000H+FF83H=1F83H,【例】设寄存器R的值为2000,PC的值为3000,存储器如图所示,问在以下寻址方式下,指令访问到的操作数的值为多少?,(1)寄存器直接寻址,R; (2)寄存器间接寻址,(R); (3)直接寻址,2000; (4)立即寻址,#2000; (5)相对寻址,-2000,(PC)。,【解】(1) 从寄存器R中读取操作数=2000; (2) E=2000,即地址为2000的存储单元读取操作数=1000; (3) E=2000,即地址为2000的存储单元读取操作数=1000; (4) 立即数就是要读取的操作数=2000 ; (5) E=1000,即地址为2000的存储单元读取操作数=3000。,【例】 假设机器字长16位,主存容量为128K字节,指令字长度为16位或32位,共有99条指令,设计计算机指令格式,要求有直接、立即数、相对、基值、间接、变址六种寻址方式。,【解】:由已知条件,机器字长16位,主存容量128KB / 16= 64K字,因此MAR = 16位,共99条指令,故OP字段占7位。采用单字长和双字长两种指令格式,其中单字长指令用于算术逻辑和I / O类指令,双字长用于访问主存的指令。,寻址方式由寻址模式X定义如下: X = 000 直接寻址 E = D(64K) X = 001 立即数 D = 操作数 X = 010 相对寻址 E = PC + D PC = 16位 X = 011 基值寻址 E = Rb + D ,Rb =16 位 X = 100 间接寻址 E = (D) X = 101 变址寻址 E = RX + D ,RX = 10位,其中,OP为操作码,占5位;Ri为通用寄存器编号,占3位,用来指定目标空间,机器有独立的变址和基址寄存器;X为寻址方式特征码,占2位,与D一起决定源操作数,规定如下: X=00,为立即寻址,D为立即量; X=01,为相对寻址,D为位移量; X=10,为变址寻址,D为位移量; X=11,为基址寻址,D为位移量。 假定要执行的指令为加法指令(OP=1FH),存放在3000H单元中。该指令执行前存储器和有关寄存器的存储情况如下,其内容用十六进制表示。变址寄存器的内容为1000H,基址寄存器的内容为2080H。各寄存器内容如下: R0=4000H, R1=5000H, R2=6000H, R3=7000H, R4=8000H, R5=9000H, R6=3000H, R7=1080H。,【例】:设有一台计算机,其指令长度为16位,指令格式如下:,当YY=0F828H,0FA41H,0FBC6H时,分别写出指令执行后,目标寄存器和PC的内容。,【解】: (1) YY=0F828H=11111 000 00 101000 X=00,立即寻址;目标寄存器为R0,D=28H。 执行加法操作后,即(R0)+DR0 (R0)= 4028H (PC)= 3001H (2) YY=0FA41H=11111 010 01 000001 X=01,相对寻址;目标寄存器为R2,D=1H, (PC)=3001H 执行完加法操作后,即 (R2)+(PC)+D)R2 (R2)= 6500H (PC)= 3001H,(3) YY=0FBC6H=11111 011 11 000110 X=11,变址寻址;目标寄存器为R3,D=6H 执行完加法操作后, (R3)=7700H (PC)=3001H,第五章 中央处理器,【例】:为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器, ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。 (1)“ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。 (2)“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。,【例】:为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器, ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。 (1)“ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。 (2)“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。,双总线结构机器的数据通路,执行:PCAR,相应的微操作控制信号:PCO,G,ARi,ALUO,ADD R2, R0,SUB R1, R3,思考题若将指令ADD R2,R0改为ADD R2,(R0), 画出相应流程,【例】 单总线结构机器的数据通路如图所示,IR为指令寄存器,PC为程序计数器,MAR为主存地址寄存器,MDR为主存数据缓冲寄存器,R0Rn-1为n个通用寄存器,Y为ALU的输入数据暂存寄存器,Z为ALU的结果暂存寄存器,SR为状态寄存器。 (1)“ADD Rd,Rs1,Rs2”指令的功能是将Rs1和Rs2中的数据相加,结果送入Rd中,画出其指令周期流程图。 (2)“LOAD Rd,mem”指令的功能是执行读存储器数据到Rd,其中mem为内存地址值,画出其指令周期流程图。,【例】已知某机器共有微操作控制信号共有60个,构成5个相斥类的微命令组,各组分别包含4个,7个,8个,14个,27个微命令,已知测试字段长度为4位,微指令字长为32位。问:(1)给出该微指令的格式。(2)若不限定微指令字长,其下地址字段长度同(1)相同,每个微命令直接进行控制,则微指令字长为多少位?(3)在(1)的条件下,控存容量为多少位?,【解】:(1) 微命令字段长度为:3+3+4+4+5=19位。 下地址字段长度为:32-19-4=9位。 注意:每组中必须包含一个不发出命令的操作。,(2)字长为:60+4+9=73位。(3)控存容量为 2932=51232=214。,【例】 某处理机的微指令格式中操作控制字段由10个分离的控制字段C0C9组成,每个字段Ci可激活Ni条控制线组中的某一条,其中Ni的定义为:,问:(1)为表示这10个控制字段,微指令格式中的操作控制字段至少需要设计多少位? (2)如果微命令的编码采用直接表示法,则微指令格式中的操作控制字段需要设计多少位?,【解】: (1) 因为每个字段中微命令是互斥的,所以微命令的编码采用字段直接译码法,需要的控制位为: 3+3+2+4+4+5+3+1+4+5=34(位) 每个字段Ci要留出一种状态,表示本字段不发出任何有效微命令。 (2) 如果微命令的编码采用直接表示法,那么在微指令格式的操作控制字段中,每一位表示一个微命令,则总的微命令个数即为操作控制字段的位数。 4+4+3+11+9+16+7+1+8+22=85(位) 微指令格式中的操作控制字段需要设计85位。,【例】 设某机有8条微指令I1I8,每条微指令所包含的有效微命令如表所示。 每条微指令所包含的有效微命令列表,aj分别对应10种不同性质的微命令信号。假设一条微指令的操作控制字段仅限为8位,请安排微指令的操作控制字段格式。,【解】:为了压缩操作控制字段的长度,必须设法把互斥性微命令进行分组,并采用字段译码器译码后产生这些互斥性微命令。 从表中可以看出,不存在5个或5个以上的互斥性微命令,即对任何一条微指令而言,这些微命令中最多只有一个有效。经分析发现,在10个微命令中存在多组3个互斥的微命令,列举如下: (b、f、i),(b、f、j),(b、g、j),(b、i、j), (c、f、j),(d、i、j), (e、f、h),(e、f、j), (f、h、i),(f、i、j) 为了将10个微命令信号压缩成8位来表示,需将6个不同的微命令信号分成两个小组,采用字段直接译码法来产生这些互斥性微命令,剩下的4个微命令则采用直接表示法来产生相应的微命令。,因此微指令的操作控制字段可以有四种不同的格式,如图所示 :,【例】微地址寄存器有6位(A5-A0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况: (1) 执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支; (2) 执行条件转移指令微程序时,按进位标志CF的状态进行2路分支; (3) 执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。请按多路转移方法设计微地址转移逻辑。,【解】 按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。 由于修改A5-A0内容具有很大灵活性,现分配如下: (1)用P1和IR3-IR0修改A3-A0; (2)用P2和CF修改A0; (3)用P3和IR5,IR4修改A5,A4。,另外还要考虑时间因素T4(假设CPU周期最后一个节拍脉冲),故转移逻辑表达式如下:A5=P3IR5T4 A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CFT4 由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。,【例】 指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器(WB)五个过程段,共有15条指令连续输入此流水线。 (1)画出流水处理的时空图,假设时钟周期为20ns; (2)求流水线的实际吞吐率(单位时间里执行完毕的指令数); (3)求流水线的加速比; (4)求流水线的效率。 【解】(1)指令流水处理的时空图如图所示。,空间,时间,IF,ID,EX,MEM,WB,19380ns,0,5,10,15,(2)流水线的实际吞吐率为: TP=15/(192010-9106)39.47MIPS (3)流水线的加速比为: Sp=15520/(1920)3.95 (4)流水线的效率为: =15520/(51920)78.9%,流水线性能分析,【例】 用一条4段浮点加法器流水线求8个浮点数的和:ZABCDEFGH。已知流水线的各段经过时间都是t,流水线的输出结果可以直接返回到流水线的输入或暂存于相应的缓冲寄存器中,其延迟时间忽略不计。流水线为双输入端,如图所示。,【分析】 实现8个浮点数的相加,先完成A+B、C+D、E+F、G+H,然后(A+B)和(C+D)、(E+F)和(G+H)又作为新的输入进入流水线,分别实现A+B+C+D及E+F+G+H,最后完成所要求的加法。,【解】时空图如下,流入流水线的任务数为7个,从时-空图上可以看出,从任务开始到结束,共需15t,而顺序完成7个任务需要的时间为74t=28t。,该流水线的实际吞吐率为:TP=7/(15t) 加速比为: Sp=28t/(15t)1.87 效率为: =28t/(415t)46.7%,第六章 总线系统,【例】(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,则总线带宽是多少? (2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,则总线带宽是多少?,【解】:设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示, 根据定义可得: (1) Dr = D/T = D1/T = Df Dr =4B331000000/s=132MB/s (2) 64位=8B, Dr= Df =8B661000000/s=528MB/s,【例】:画出链式查询电路的逻辑结构图。,【解】:,信号定义说明: BS:送往总线仲裁部件的总线忙信号,高电平有效; BR:送往总线仲裁部件的总线请求信号,高电平有效; BG0:总线仲裁部件发往设备接口0的总线授权信号,高电平有效; BSi和BRi分别表示第i个设备接口发出的总线忙信号和总线请求信号,高电平有效; BGi和BGi+1分别表示传入第i个设备接口的总线授权信号和第i个设备接口传往第i+1个设备接口的总线授权信号,高电平有效。若BGi无效,则必须置BGi+1无效。,工作过程: 总线空闲时,BS、BR和BG0都无效; 任何部件可通过置BRi=1发出总线请求; 当BR=1且BS=0时,总线仲裁部件使BG0=1,开始从第0个设备接口向第n个设备接口方向逐个查询,看是哪一个设备接口提出的总线请求; 若第i个设备接口未提出总线请求而收到BGi=1,则置BGi+1=1,继续查询第i+1个设备接口; 若某个设备接口发出申请后,在BRi=1且BS=0和BGi=1三者同时满足的情况下,接管总线控制权,同时使BGi+1=0,以禁止低优先级的申请者接管总线控制权; 提出总线请求的设备占用总线后,通过置BSi=1使BS=1,以禁止总线仲裁部

    注意事项

    本文(计算机组成原理例题习题ppt课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开