组成原理03年考前辅导笔记--北京邮电大学E(1).ppt_第1页
组成原理03年考前辅导笔记--北京邮电大学E(1).ppt_第2页
组成原理03年考前辅导笔记--北京邮电大学E(1).ppt_第3页
组成原理03年考前辅导笔记--北京邮电大学E(1).ppt_第4页
组成原理03年考前辅导笔记--北京邮电大学E(1).ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京邮电大学北京邮电大学 计算机科学与技术学院计算机科学与技术学院 设由设由S,E,M三个域组成的一个三个域组成的一个32位二进制字所表示的非规则化数位二进制字所表示的非规则化数x, 其表示为其表示为 x = (-1)S(1.M)2E-128 问:它所能表示的规格化的最大正数,最小正数,最大负数,最问:它所能表示的规格化的最大正数,最小正数,最大负数,最 小负数是多少?小负数是多少? 解:(1)最大正数 0 11 111 111 111 111 111 111 111 111 111 11 X = 1+(1-2-23)2127 (2)最小正数 0 00 000 000 000 000 000

2、000 000 000 000 00 X=1.02-128 (3)最大负数 1 00 000 000 000 000 000 000 000 000 000 00 X=-1.02-128 (4)最小负数 1 111 111 11 111 111 111 111 111 111 111 11 X= -1+(1-2-23)2127 设设x= +15, y= -13,用带求补器的原码阵列乘法器求乘积用带求补器的原码阵列乘法器求乘积xy = ? 并用十并用十 进制数乘法进行验证。进制数乘法进行验证。 解:设最高位为符号位,输入数据为x原 = 01111 y原 = 11101 因符号位单独考虑,尾数算前

3、求补器输出值为:|x| = 1111, |y| = 1101 乘积符号位运算: x0 y0 = 01 =1 尾数部分运算: 1 1 1 1 1 1 0 1 - 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 - 1 1 0 0 0 0 1 1 经算后求补器输出,加上乘积符号位,得原码乘积值xy 原 = 111000011 换算成二进制真值 xy = (-11000011)2 = (-195)10 十进制数乘法验证:xy = 15(-13) = -195 已知已知x0.10011101, y0.1110,用不恢复余数阵列除法器求,用不恢复余数阵列除法器求xy? 解: -y补=1.

4、0010 被除数0.10011101 减y 1.0010 - 余数为负1.10111101 Q0 = 0 左移1.0111101 加y0.1110 - 余数为正 0.0101101 0 = Q1 = 1 左移 0.101101 减y 1.0010 - 余数为负 1.110101 Q2 = 0 左移 1.10101 加y 0.1110 - 余数为正 0.10001 0 = Q3 = 1 左移 1.0001 减y 1.0010 - 余数为正 0.0011 0 = Q4 = 1 故得 商 Q = Q0.Q1Q2Q3Q4 = 0.1011 余数 R = 0.00000011 设有浮点数设有浮点数x=2

5、-50.0110011,y=23(-0.1110010),阶码用位移码表示,阶码用位移码表示, 尾数(含符号位)用位补码表示。求尾数(含符号位)用位补码表示。求xy浮 浮。要求直接用补码完 。要求直接用补码完 成尾数乘法运算,运算结果尾数仍保留位(含符号位),并用尾数之成尾数乘法运算,运算结果尾数仍保留位(含符号位),并用尾数之 后的位值处理舍入操作。后的位值处理舍入操作。 解:移码采用双符号位,尾数补码采用单符号位,则有 Mx补=0.0110011,My补=1.0001110,Ey移=01 011,Ey补=00 011, Ex移=00 011, (1) 求阶码和 Ex+Ey移=Ex移+Ey补

6、=00 011 + 00 011 = 00 110, 值为移码形式-2 (2)尾数乘法运算可直接采用补码阵列乘法器实现,即有 Mx补My补= 0.0110011补1.0001110补 = 1.0011001,10010010补 (3)规格化处理 乘积的尾数符号位与最高数值位符号相反,已是规格化的数,不需要左 规,阶码仍为00110。 (4)舍入处理 尾数为负数,且是双倍字长的乘积,按舍入规则,尾数低位部分的前4 位为1001,应作“入”,故尾数为1.0011010。 最终相乘结果为 xy浮= 00 110, 1.0011010; 其真值为 xy= 2-2(-0.1100110) 设有两个浮点数

7、设有两个浮点数 N N1 1 = 2 = 2j1 j1 S S1 1, N, N2 2 = 2 = 2j2 j2 S S2 2, ,其中阶码其中阶码2 2位位, ,阶符阶符1 1 位位, ,尾数尾数4 4位位, ,数符数符1 1位位. . 设设 j j1 1 = (-10) = (-10)2 2 S S1 1=(+0.1001) =(+0.1001)2 2 j j2 2 = (+10) = (+10)2 2 ,S ,S2 2 = (+0.1011) = (+0.1011), ,求求N N1 1 N N2 2 , ,写出运算步骤及结果写出运算步骤及结果, ,积的积的 尾数占尾数占4 4位位, ,

8、要规格化结果要规格化结果. .根据原码阵列乘法器的计算步骤求尾数之积。根据原码阵列乘法器的计算步骤求尾数之积。 解: j1移 = 0010 j2补 = 0010 解(1)浮点乘法规则:N1N2 = (2j1S1)(2j2S2) =2(j1+j2)(S1S2) (2)阶码求和 j1 + j2移 =j1移+j2补= 0010+0010=0100, 值为移码形式0 (3)尾数相乘 积的符号位 = 00 = 0 符号位单独处理0.1 0 0 1 0.1 0 1 1 _ 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0.0 1 1 0 0 0 1 1 故 N1N2 =

9、200.01100011 (4)尾数规格化,舍入(尾数4位) 故 N1N2 = (+0.01100011)2 = (+0.1100)22(-01)2 有浮点数有浮点数x=2-50.0110110,y=23(-0.1110010),阶码用位移码表示,尾阶码用位移码表示,尾 数(含符号位)用位原码表示,求(数(含符号位)用位原码表示,求(xy)浮,要求尾数用原码阵列)浮,要求尾数用原码阵列 乘法器实现。乘法器实现。 解: 移码采用双符号位,尾数原码采用单符号位,则有 Mx=0.0110110, My=1.1110010, Ex移=00 011, Ey移=11 011, Ey补=00 011 x浮=

10、00 011, 0.0110110, y浮=11 011, 1.1110010 (1) 求阶码和 Ex+Ey移=Ex移+Ey补=00 011 + 00 011 = 00 110, 值为移码形式-2 (2)尾数乘法运算 0110110 1110010 0000000 0110110 0000000 0000000 0110110 0110110 0110110 1100000001100 符号位为x0y0 = 01 =1 xy浮= 00 110, 1.1100000001100 设有两个十进制数:设有两个十进制数:x = -0.875 x = -0.875 2 21 1,y = 0.625 ,y

11、 = 0.625 2 22 2, , (1)(1)将将x,yx,y的尾数转换为二进制补码形式的尾数转换为二进制补码形式 (2)(2)设阶码设阶码2 2位,阶符位,阶符1 1位,数符位,数符1 1位,尾数位,尾数3 3位,通过补码运算规则求出位,通过补码运算规则求出z z = x y= x y的二进制浮点规格化结果。的二进制浮点规格化结果。 解:1.设S1为x的尾数,S2为y的尾数,则 S1 = (-0.875)10 = (-0.111)2S1补 = 1.001 S2= (0.625)10 = (+0.101)2S2补 = 0.101 2.求z = x y的二进制浮点规格化结果。 对阶: 设x的

12、阶码为jx,y的阶码为jy, jx = (+01)2,jy = (+10)2, jx jy = (01)2 (10)2 = (-01)2,小阶的尾数S1右移一位 S1 = (-0.0111)2,jx阶码加,则jx = (10)2 = jy,经舍入后, S1 = (-0,100)2,对阶完毕。 x = 2jxS1 = 2(10)2(-0.100) y = 2jyS2 = 2(10)2(+0.101) 尾数相减 S1补= 11.100 + -S2补= 11.011 - S1-S2补= 10.111 尾数求和绝对值大于1,尾数右移一位,最低有效位舍掉,阶码加 (右规),则S1-S2补 = 11.01

13、1(规格化数),jx = jy = 11 规格化结果011.1011 已知已知x补 补 = x0.x1x2xn 求证 求证 1-x补 补 = x0.x1x2xn + 2-n 证明: 1-x补= 1补 + -x补 = 1 + x0.x1x2xn + 2-n = x0.x1x2xn + 2-n 设设x补 补 = x0.x1x2xn , y补补 = y0.y1y2yn , 证明:证明:xy补 补 = x补补 (-y0 + y12-1+y22-2+yn2-n)。 证明: (1)当被乘数x的符号任意,用补码表示,乘数y为正。设 x补=x0. x1x2 xn y补=0. y1y2 yn 因为 x补=2n+

14、1 + x ( mod2 ) y补=y 所以x补y补=(2n+1 +x)y = 2n+1y +xy= 2(y1y2 yn) +xy 因为 (y1y2 yn) 是大于0的正整数,根据模运算的性质有: 2 (y1y2 yn) = 2 (mod2) 所以 x补y补 = 2 + xy =xy补(mod2) 即 xy补=x补y补 =x补(0. y1y2 yn) = x补y (1) (2) 当被乘数x符号任意,乘数y为负,都以补码表示。 x补 = x0. x1x2 xny补 = y0.y1y2 yn = 1. y1y2 yn = 2 + y (mod)2 y = y补 2 =1. y1y2 yn 2 =0

15、. y1y2 yn 1 所以 xy = x(0. y1y2 yn 1) = x(0. y1y2 yn) x xy补 = x (0. y1y2 yn)补 + -x补 因为 (0. y1y2 yn) 0,根据式(1) x(0. y1y2 yn)补 = x补y补 = x补(0. y1y2 yn) 即 xy补 = x补(0. y1y2 yn) + -x补 (2) (3)被乘数x与乘数y的符号任意,以补码表示。 只要将式(1)与式(2)综合起来便得到补码乘法的统一算式如下: xy 补 = x补(0. y1y2 yn)- x补y0 = x补0. y1y2 yn y0 =x补-y0 + y12-1+y22-

16、2+yn2-n=x补.y 用定量分析方法证明模块交叉存储器带宽大于顺序存储器带宽。用定量分析方法证明模块交叉存储器带宽大于顺序存储器带宽。 解:假设(1)存储器模块字长等于数据总线宽度(2)模块存取一个字的 存储周期等于T (3)总线传送周期为(4)交叉存储器的交叉模块数 为m. 交叉存储器为了实现流水线方式存储,即每经过时间延迟后启动下一 模快,应满足 T = m(1) 交叉存储器要求其模快数m,以保证启动某模快后经过m时间后再次 启动该模快时,它的上次存取操作已经完成。这样连续读取m个字所需 要时间为t1 = T + (m 1)= m+ m= (2m 1) (2) 故存储器带宽为W1 =

17、1/t1 = 1/(2m-1)(3) 而顺序方式存储器连续读取m个字所需时间为 t2 = mT = m2 (4) 存储器带宽为W2 = 1/t2 = 1/(m2)(5) 比较(3)和(5)式可知,交叉存储器带宽W1 顺序存储器带宽W2 设存储器容量为设存储器容量为3232字,字长字,字长6464位,模块数位,模块数m = 4,m = 4,分别用顺序方式和交叉分别用顺序方式和交叉 方式进行组织方式进行组织. .若存储周期若存储周期T = 200nsT = 200ns,数据总线宽度为,数据总线宽度为6464位,总线传送位,总线传送 周期周期= 50ns,= 50ns,问:顺序存储器和交叉存储器带宽

18、各是多少?问:顺序存储器和交叉存储器带宽各是多少? 解: 顺序存储器和交叉存储器连续读出m=4个字的信息总量都是 q = 64位 4 =256位 顺序存储器和交叉存储器连续读出4个字所需的时间分别是 t2 = mT = 4 200ns =800ns = 8 10 -7(S) t1 = T + (m1)t =200ns + 350ns = 350ns = 3.5 10-7 (S) 顺序存储器带宽 W2 =q/t2 = 256 / (810-7) = 32 107 (位/S) 交叉存储器带宽 W1 =q/t1 = 256 / (3.510-7) = 73 107 (位/S) 设存储器容量为设存储器

19、容量为512K字,字长字,字长32位,模块数位,模块数M=8,分别用顺序方式和,分别用顺序方式和 交叉方式进行组织。存储周期交叉方式进行组织。存储周期T=200ns,数据总线宽度为,数据总线宽度为32位,总线传位,总线传 送周期送周期=50ns。问顺序存储器和交叉存储器带宽各是多少?。问顺序存储器和交叉存储器带宽各是多少? 解:顺序存储器和交叉存储器连续读出m=8个字的信息总量都是: q=32位8=256位 顺序存储器和交叉存储器连续读出8个字所需的时间分别是: t2=mT=8200ns=1600ns=1610-7(s) t1=T+(m-1)t =200+750ns=550ns=5.510-7

20、(s) 顺序存储器和交叉存储器的带宽分别是: W2=q/t2=256(1.610-7)=16107(位/s) W1=q/t1=256(5.510-7)=46.5107(位/s) CPU执行一段程序时,执行一段程序时,cache完成存取的次数为完成存取的次数为1900次,主存完成存取次,主存完成存取 的次数为的次数为100次,已知次,已知cache存取周期为存取周期为50ns,主存存取周期为主存存取周期为250ns. 求:(求:(1)cache/主存系统的效率主存系统的效率 。 (2)平均访问时间。)平均访问时间。 解:()命中率H = Nc / (Nc + Nm) = 1900 / (1900

21、 + 100) = 0.95 主存慢于cache的倍率r = tm / tc = 250ns / 50ns = 5 访问效率e = 1 / r+(1-r)H = 1 / 5+(1-5)0.95 = 83.3% ()平均访问时间ta = tc / e = 50ns / 0.833 = 60 ns 已知已知cache命中率命中率0.98,主存比,主存比cache慢倍,已知主存存取周期为慢倍,已知主存存取周期为 200ns,求,求cahce主存系统的效率和平均访问时间主存系统的效率和平均访问时间 解: r = t m/t c = 4 t c = t m /4 = 50ns e = 1/r+(1-r)

22、h = 1/4+(1-4)0.98 t a = t c /e = t c 4-30.98 = 501.06 = 53ns 有一个有一个K16位的存储器,由位的存储器,由1K4位的位的DRAM芯片构成(芯片是芯片构成(芯片是 6464结构)。问:结构)。问: (1)共需要多少共需要多少RAM芯片?芯片? (2)存储体的组成框图存储体的组成框图 (3)采用异步刷新方式,如单元刷新间隔不超过采用异步刷新方式,如单元刷新间隔不超过ms,则刷新信号周期,则刷新信号周期 是多少是多少 (4)如采用集中刷新方式,存储器刷新一遍最少用多少读写周期?死如采用集中刷新方式,存储器刷新一遍最少用多少读写周期?死 时

23、间率是多少?时间率是多少? 解: (1)存储器的总容量为16K16位=256K位,所以用RAM芯片为4K位,故 芯片总数为 256K位/4K位 = 64片 (2)由于存储单元数为16K,故地址长度为14位(设A13A0)。芯片单 元数为1K则占用地址长度为10位(A9A0)。每一组16位(4片),共 16组,组与组间译码采用4:16译码。 (3) 采用异步刷新方式,在2ms时间内分散地把芯片64行刷新一遍,故 刷新信号的时间间隔为2ms/64 = 31.25s,即可取刷新信号周期为30s (4)如采用集中刷新方式,假定T为读/写周期,则所需刷新时间为64T。 设T单位为s ,2ms=2000s

24、,则死时间率 = 64T/2000 100% CPU的地址总线的地址总线16根(根(A15A0,A0是低位),双向数据总线是低位),双向数据总线16根根 (D15D0),控制总线中与主存有关的信号有,控制总线中与主存有关的信号有-MREQ(允许访存,低电平允许访存,低电平 有效有效),R/-W(高电平读命令,低电平写命令高电平读命令,低电平写命令)。主存地址空间分配如下:。主存地址空间分配如下: 08191为系统程序区,由为系统程序区,由EPROM芯片组成,从芯片组成,从8192起一共起一共32K地址空地址空 间为用户程序区,最后(最大地址)间为用户程序区,最后(最大地址)4K地址空间为系统程

25、序工作区。地址空间为系统程序工作区。 上述地址为十进制,按字编址。现有如下芯片:上述地址为十进制,按字编址。现有如下芯片: EPROM : 8K16位(控制端仅有位(控制端仅有-CS),16K8位位 SRAM :16K1位,位,2K8位位, 4K16位,位, 8K16位位 请从上述芯片中选择芯片设计该计算机的主存储器,画出主存逻辑框图,请从上述芯片中选择芯片设计该计算机的主存储器,画出主存逻辑框图, 注意画选片逻辑(可选用门电路及译码器)。注意画选片逻辑(可选用门电路及译码器)。 解: 根据给定条件,选用 EPROM: 8K16位 芯片1片 SRAM: 8K16位芯片4片 4K16位芯片1片

26、3:8译码器1片,与非门和反向器 某机字长某机字长16位,常规设计的存储空间位,常规设计的存储空间32K, 若将存储空间扩至若将存储空间扩至256K, 请提出一种可能方案。请提出一种可能方案。 解:解: 可采用多体交叉的存取方案,即将主存分成个相互独立,容量 相同的模块M0, M1 ,M2, M7,每个模块K16位。它们各自具备 一套地址寄存器,数据缓冲器,各自以等同的方式与CPU传递信息. CPU访问个存储模块,可采用两种方式:一种是在存取周期内,同 时访问个存储模块,由存储器控制它们分时使用总线进行信息传递。 另一种方式是:在一个存取周期内分时访问每个体,即每经过存 取周期就访问一个模块。

27、这样,对每个模块而言,从CPU给出访存操作 命令直到读出信息仍然是一个存取周期时间。而对CPU来说,它可以在 一个存取周期内连续访问个存储体,各体的读写过程将重叠(并行) 进行。 用用16K1位的动态位的动态RAM芯片构成芯片构成64K8位的存储器,要求:位的存储器,要求: (1)画出该存储器组成的逻辑框图画出该存储器组成的逻辑框图 (2)设存储器的读写周期均为设存储器的读写周期均为0.5s,CPU在在1s 内至少要访问内存一次。内至少要访问内存一次。 试问采用那种刷新方式比较合理?两次刷新的最大时间间隔是多少?对试问采用那种刷新方式比较合理?两次刷新的最大时间间隔是多少?对 全部存储单元刷新

28、一遍所需的实际刷新时间是多少?全部存储单元刷新一遍所需的实际刷新时间是多少? 解: (1)根据题意,存储器总容量为64KB,故地址线总需16位。现使用 16K1位的DRAM芯片,共需32片。芯片本身地址线占14位,所以采用 位并联与地址串联相结合的方法来组成整个存储器 (2)根据已知条件,CPU在1s内至少需要访存一次,所以整个存储器的 平均读/写周期与单个存储器片的读/写周期相差不多,应采用异步式刷 新方式比较合理。 对DRAM存储器来讲,两次刷新的最大时间间隔是2ms。 DRAM芯片读/写周期为0.5s。假定16K1位的RAM芯片由128128 矩阵存储元构成,刷新时只对128行进行异步式

29、刷新,则刷新间隔为 2ms/128 =15.6s,可取刷新信号周期为15s。 某机器中,配有一个某机器中,配有一个ROM芯片,地址空间芯片,地址空间0000H3FFFH。现在再用。现在再用 几个几个16K8的芯片构成一个的芯片构成一个32K8的的RAM区域,便其地址空间为区域,便其地址空间为 8000HFFFFH。假设此。假设此RAM芯片有芯片有CS和和WE信号控制端。信号控制端。CPU地址地址 总线为总线为A15A0,数据总线为数据总线为D7D0,控制信号为控制信号为RD(读读),WR(写写), MREQ(存储器请求存储器请求),当且仅当,当且仅当MREQ和和RD(或(或WR)同时有效时,)

30、同时有效时, CPU才能对有存储器进行读才能对有存储器进行读(或写或写),试画出此,试画出此CPU与上述与上述ROM芯片和芯片和 RAM芯片的连接图。芯片的连接图。 一片一片EDRAM的存储容量为的存储容量为1M4位,其中位,其中Sel为片选信号,为片选信号,RAS为行选为行选 通信号,通信号,CAS为列选通信号,为列选通信号,Ref为刷新信号,为刷新信号,A0A10为地址输入信号。为地址输入信号。 请设计一个请设计一个1M32位的存储器。其存储容量是多少?画出组成模块图。位的存储器。其存储容量是多少?画出组成模块图。 解:8个芯片共用片选信号Sel,行选通信号RAS,刷新信号Ref和地址输

31、入信号A0-A10, 两片EDRAM芯片的列选通信号CAS连在一起,形成一个1M8位(1MB) 的片组。再由4个片组组成一个1M32位(4MB)的存储模块。4个组的 列选通信号CAS3-CAS0分别与CPU送出的4个字节允许信号BE3-BE0相对应, 以允许存取8位的字节或16位的字。当进行32位存取时,BE3-BE0全无效, 此时认为存储地址的A1A0位为00(CPU没有A1,A0输出引脚),也即存 储地址A23-A0为4的整数倍。其中最高2位A23A22用作模块选择,它们的 译码输出分别驱动4个模块的片选信号Sel。若配置4个这样的4MB模块, 存储器容量可达16MB。 模块图如下图所示.

32、 下表列出下表列出pentium机的机的9种寻址方式名称及有关说明,请写出对应寻址方种寻址方式名称及有关说明,请写出对应寻址方 式的有效地址式的有效地址E的计算方法。的计算方法。 Pentium机寻址方式机寻址方式 序 号寻址方式名称 说 明 (1) 立 即操作数在指令中 (2) 寄存器操作数在某寄存器中,指令给出寄存器号 (3) 直 接Disp为偏移量 (4) 基 值B为基值寄存器 (5) 基值 + 偏移量 (6) 比例变址+偏移量I 为变址寄存器,S为比例因子 (7) 基值+变址+偏移量 (8) 基值+比例变址+偏移量 (9) 相 对PC为程序计算器 解:解: (1) (1) 操作数在指令

33、中操作数在指令中 (2) (2) E=(R)E=(R) (3) E = Disp(3) E = Disp (4) E = (B)(4) E = (B) (5) E = (B) + Disp(5) E = (B) + Disp (6) E = (I) (6) E = (I)S + DispS + Disp (7) E = (B) + (I) + Disp (7) E = (B) + (I) + Disp (8) E = (B) + (I) (8) E = (B) + (I)S + DispS + Disp (9) (9) 指令地址指令地址 = (= (PC) + DispPC) + Disp 一

34、种二地址一种二地址RRRR型,型,RSRS型指令结构如下所示型指令结构如下所示 6 位 4 位 4 位 1 位 2 位 16 位 OP源寄存器目标寄存器IXD(偏移量) 其中源寄存器,目标寄存器都是通用寄存器,其中源寄存器,目标寄存器都是通用寄存器,I I为间接寻址标志位,为间接寻址标志位,X X 为寻址模式字段为寻址模式字段.D.D为偏移量字段为偏移量字段. .通过通过I,X,DI,X,D的组合,可构成一个操作的组合,可构成一个操作 数的寻址方式,其有效地址数的寻址方式,其有效地址E E的算法及有关说明列于下表的算法及有关说明列于下表, ,请写出表中请写出表中6 6 种寻址方式名称,并说明主

35、存中操作数的位置。种寻址方式名称,并说明主存中操作数的位置。 寻址 方式 IX有效地址 E 算法说明 (1)000E=DD 为偏移量 (2)001指令地址=(PC)+D PC 为程序计数器 (3)010E=(Rx)+DRx为变址寄存器 (4)111E=(R)R 为通用寄存器 (5) 100E=(D) (6)011E=(Rb)+DRb为基址寄存器 解:解: (1).(1).直接寻址,操作数在有效地址直接寻址,操作数在有效地址E=DE=D的存储单元中的存储单元中 (2).(2).相对寻址相对寻址. .操作数在操作数在E=(PC)+DE=(PC)+D地存储单元中地存储单元中 (3).(3).变址寻址

36、,操作数在变址寻址,操作数在E=(RX) + DE=(RX) + D的存储单元中的存储单元中 (4).(4).寄存器间接寻址,通用寄存器的内容指明操作数在主存中的地址寄存器间接寻址,通用寄存器的内容指明操作数在主存中的地址 (5).(5).间接寻址,用偏移量做地址访主存得到操作数的地址指示器,再按间接寻址,用偏移量做地址访主存得到操作数的地址指示器,再按 地址指示器访主存的操作数,因此间接寻址需两次访问主存地址指示器访主存的操作数,因此间接寻址需两次访问主存. . (6). (6).基值寻址,操作数在基值寻址,操作数在E=(RbE=(Rb) + D ) + D 的存储单元中的存储单元中. .

37、一台处理机具有如下指令格式一台处理机具有如下指令格式 位 位位 位 X OP源寄存器目标寄存器地址 格式表明有个通用寄存器(长度位),格式表明有个通用寄存器(长度位),X指定寻址模式,主指定寻址模式,主 存实际容量为存实际容量为k字。字。 (1)假设不用通用寄存器也能直接访问主存中的每一个单元,并)假设不用通用寄存器也能直接访问主存中的每一个单元,并 假设操作码域假设操作码域OP=6位,请问地址码域应分配多少位?指令字长度位,请问地址码域应分配多少位?指令字长度 应有多少位?应有多少位? (2)假设)假设X=11时,指定的那个通用寄存器用做基值寄存器,请提时,指定的那个通用寄存器用做基值寄存器

38、,请提 出一个硬件设计规划,使得被指定的通用寄存器能访问出一个硬件设计规划,使得被指定的通用寄存器能访问1M主存空主存空 间中的每一个单元。间中的每一个单元。 解:解: ()因为()因为218=256K,所以地址码域位,所以地址码域位, 操作码域位操作码域位 指令长度指令长度18 + 3 + 3 + 6 + 2 = 32位位 ()此时指定的通用寄存器用作基值寄存器(位),但位长度()此时指定的通用寄存器用作基值寄存器(位),但位长度 不足以覆盖不足以覆盖1M字地址空间,为此将通用寄存器左移,位低位补形字地址空间,为此将通用寄存器左移,位低位补形 成位基地址。然后与指令字形式地址相加得有效地址,

39、可访问主存成位基地址。然后与指令字形式地址相加得有效地址,可访问主存 1M地址空间中任何单元。地址空间中任何单元。 某机的某机的16位单字长访内指令格式如下:位单字长访内指令格式如下: 11 其中为形式地址,补码表示(其中一位符号位);为直接间接其中为形式地址,补码表示(其中一位符号位);为直接间接 寻址方式:为间接寻址方式,为直接寻址方式;为寻寻址方式:为间接寻址方式,为直接寻址方式;为寻 址模式:为绝对地址,为基地址寻址,为相对寻址,为立即址模式:为绝对地址,为基地址寻址,为相对寻址,为立即 寻址;为变址寻址。设,寻址;为变址寻址。设,x,b分别为指令计数器,变址寄分别为指令计数器,变址寄

40、 存器,基地址寄存器,为有效地址,请回答以下问题:存器,基地址寄存器,为有效地址,请回答以下问题: ()() 该指令格式能定义多少种不同的操作?立即寻址操作数的范该指令格式能定义多少种不同的操作?立即寻址操作数的范 围是多少?围是多少? ()() 在非间接寻址情况下,写出各计算有效地址的表达式在非间接寻址情况下,写出各计算有效地址的表达式 ()() 设基址寄存器为位,在非变址直接基地址寻址时,确定设基址寄存器为位,在非变址直接基地址寻址时,确定 存储器可寻址的地址范围存储器可寻址的地址范围 ()() 间接寻址时,寻址范围是多少?间接寻址时,寻址范围是多少? 解:解: (1 1) 该指令格式可定

41、义该指令格式可定义1616种不同的操作,立即寻址操作数的范围是种不同的操作,立即寻址操作数的范围是 128128 +127 (2) 绝对寻址(直接寻址)绝对寻址(直接寻址) E D 基值寻址基值寻址 E = (R b)+D 相对寻址相对寻址 E = (PC)+D 立即寻址立即寻址 操作数在指令中操作数在指令中 变址寻址变址寻址 E = (R X)+D (3)由于)由于E = (R b)+D,R b=14位,故存储器可寻址的地址范围为位,故存储器可寻址的地址范围为 (16383+127)(16383- -128) (4)间接寻址时,寻址范围为)间接寻址时,寻址范围为64K,因为此时从主存读出的数

42、作为有效地,因为此时从主存读出的数作为有效地 址(址(16位)。位)。 指令格式如下所示。指令格式如下所示。OP为操作码字段,试分析指令格式特点。为操作码字段,试分析指令格式特点。 31 26 22 18 17 16 15 0 OP 源寄存器 变址寄存器 偏移量 解:解: (1)操作码字段为操作码字段为6位,可指定位,可指定26= 64种操作,即种操作,即64条指令。条指令。 (2)单字长(单字长(32位)二地址指令位)二地址指令 (3)一个操作数在源寄存器(共有一个操作数在源寄存器(共有16位),另一个操作数在存储器中位),另一个操作数在存储器中 (由变址寄存器内容(由变址寄存器内容+偏移量

43、决定),所以是偏移量决定),所以是RS型指令。型指令。 (4)这种指令结构用于访问存储器。这种指令结构用于访问存储器。 指令格式如下所示。指令格式如下所示。OPOP为操作码字段,试分析指令格式特点。为操作码字段,试分析指令格式特点。 15 10 7 3 2 0 OP 源寄存器 基值寄存器 偏移量(16 位) 解解: : (1 1)操作码字段)操作码字段OPOP为为1616位,可指定位,可指定2 26 6 = 64 = 64 (2 2)双字长()双字长(3232位)二地址指令,用于访问存储器。位)二地址指令,用于访问存储器。 (3 3)一个操作数在源寄存器(共)一个操作数在源寄存器(共3232个

44、),另一个操作数在存储器中个),另一个操作数在存储器中 (由基值寄存器和偏移量决定)。所以是(由基值寄存器和偏移量决定)。所以是RSRS型指令。型指令。 设机器字长设机器字长16位,有位,有8个通用寄存器,主存容量个通用寄存器,主存容量128K字节,指令字长度字节,指令字长度 16位或位或32位,共位,共78条指令,设计计算机指令格式,要求有直接,立即数,条指令,设计计算机指令格式,要求有直接,立即数, 相对,基值四种寻址方式。相对,基值四种寻址方式。 解:解: 由已知条件,机器字长由已知条件,机器字长16位,主存容量位,主存容量128KB/2 = 64K字。共字。共78条指令,条指令, 故故

45、OP字段占字段占7位。采用单字长和双字长两种指令格式,其中单字长指令位。采用单字长和双字长两种指令格式,其中单字长指令 用于算术逻辑和用于算术逻辑和I/O指令,双字长用于访问主存的指令。指令,双字长用于访问主存的指令。 寻址方式由寻址模式寻址方式由寻址模式X定义如下:定义如下: X=00 直接寻址直接寻址 E=D(64K) X=01 立即数立即数 D=操作数操作数 X=10 相对寻址相对寻址 E=(PC)+D PC=16位位 X=11 基值寻址基值寻址 E=(Rb)+D Rb=16位位 15 9 8 6 5 3 2 0 15 9 8 7 2 0 O P XR2 D O P R1R2 现在要设计

46、一个新处理机,指令系统有现在要设计一个新处理机,指令系统有64条指令,但机器字长尚悬而未条指令,但机器字长尚悬而未 决,有两种方案等待选择:一种是指令字长决,有两种方案等待选择:一种是指令字长16位,另一种指令字长位,另一种指令字长24位。位。 该处理机的硬件特色是:该处理机的硬件特色是:有两个基值寄存器(有两个基值寄存器(20位)。位)。有两个通用有两个通用 寄存器组,每组包括寄存器组,每组包括16个寄存器。请问:个寄存器。请问: (1)16位字长的指令和位字长的指令和24位字长的指令各有什么优缺点?哪种方案较好?位字长的指令各有什么优缺点?哪种方案较好? (2)若选用若选用24位的指令字长

47、,基地址寄存器还有保留的必要吗?位的指令字长,基地址寄存器还有保留的必要吗? 解:(解:(1 1)采用)采用1616位字长的指令,原则上讲,优点是节省硬件(包括位字长的指令,原则上讲,优点是节省硬件(包括CPUCPU 中的通用寄存器组,中的通用寄存器组,ALUALU与主存储器,与主存储器,MDRMDR),缺点是指令字长较短,操),缺点是指令字长较短,操 作码字段不会很长,所以指令条数受到限制。另一方面,为了在有限的作码字段不会很长,所以指令条数受到限制。另一方面,为了在有限的 字段内确定操作数地址,可能要采用较复杂的寻址方式,从而使指令执字段内确定操作数地址,可能要采用较复杂的寻址方式,从而使

48、指令执 行的速度降低,当采用行的速度降低,当采用2424位字长的指令结构时,其优缺点正好相反。具位字长的指令结构时,其优缺点正好相反。具 体讲,按所给条件,体讲,按所给条件,1616位字长的指令格式方案可设计如下:位字长的指令格式方案可设计如下: 15 10 9 8 7 4 3 0 OP X1 R1 R2 其中其中OPOP字段可指定字段可指定6464条指令。条指令。X X1 1为寻址模式,与为寻址模式,与R R1 1通用寄存器组一通用寄存器组一 起,形成一个操作数。具体定义如下:起,形成一个操作数。具体定义如下: X X1 1=00 =00 寄存器直接寻址寄存器直接寻址 E=RE=R1i 1i

49、 X X1 1=01 =01 寄存器间接寻址寄存器间接寻址 E=(RE=(R1i 1i) ) X X1 1=10 =10 基地址方式基地址方式0 0 E=(RE=(Rb0 b0)+(R )+(R1i 1i) ) X X1 1=11 =11 基地址方式基地址方式1 1 E=(RE=(Rb1 b1)+(R )+(R1i 1i) ) 其中其中R Rb0 b0,R ,Rb1 b1分别为两个 分别为两个2020位的基地址寄存器。位的基地址寄存器。 2424位字长指令格式方案如下:位字长指令格式方案如下: 其中其中OPOP占占6 6位,位,6464位条指令。位条指令。X X1 1,X,X2 2分别为两组寻

50、址模式,分别与分别为两组寻址模式,分别与R R1 1和和R R2 2 通用寄存器组组成双操作数字段。由于通用寄存器组组成双操作数字段。由于X X1 1,X,X2 2各占各占3 3位,可指定位,可指定8 8种寻址种寻址 方式。方式。 比较两种方案,从性能价格比衡量,比较两种方案,从性能价格比衡量,1616位字长指令的方案较优。位字长指令的方案较优。 (2 2)如果选用)如果选用2424位的指令字长,基地址寄存器没有必要保留。因为通位的指令字长,基地址寄存器没有必要保留。因为通 用寄存器长度为用寄存器长度为2424位,足以覆盖位,足以覆盖1M1M字的空间。字的空间。 6 3 4 3 4 4 OP

51、X1 R1 X2 R2 在决定一台计算机采用何种寻址方式时,总要做出各种各样的权衡,在在决定一台计算机采用何种寻址方式时,总要做出各种各样的权衡,在 下列每种情况下,具体的考虑是什么?下列每种情况下,具体的考虑是什么? (1)(1)单级间接寻址方式作为一种方式,提出来的时候,硬件变址寄存器单级间接寻址方式作为一种方式,提出来的时候,硬件变址寄存器 被认为是一种成本很高的方法,随被认为是一种成本很高的方法,随LSILSI电路的问世,硬件成本大降,试电路的问世,硬件成本大降,试 问,现在是不是使用变址寄存器更为可取?问,现在是不是使用变址寄存器更为可取? (2)(2)已知一台已知一台1616位计算

52、机配有位计算机配有1616个通用寄存器,请问,是否有一个简单个通用寄存器,请问,是否有一个简单 的硬件设计规则,使我们可以指定这个通用寄存器组的某些寄存器来进的硬件设计规则,使我们可以指定这个通用寄存器组的某些寄存器来进 行行2020位的存储器寻址?参与这种寻址的通用寄存器该采用什么办法区分位的存储器寻址?参与这种寻址的通用寄存器该采用什么办法区分 出来?出来? 解:解: (1)采用间接寻址的优点是不需要额外增加专用寄存器,只使用)采用间接寻址的优点是不需要额外增加专用寄存器,只使用MAR 和和MDR即可完成这种寻址,但缺点是多访问一次存储器(对单级间接即可完成这种寻址,但缺点是多访问一次存储

53、器(对单级间接 寻址而言),随着寻址而言),随着LSI的发展,硬件成本大大下降,所以现在使用专门的发展,硬件成本大大下降,所以现在使用专门 的变址寄存器更为可取,因为其优点是减少一次访问主存的时间,提高的变址寄存器更为可取,因为其优点是减少一次访问主存的时间,提高 了指令执行的速度。了指令执行的速度。 (2)可以存一个简单的硬件规则,使我们可以指定某些寄存器来进行)可以存一个简单的硬件规则,使我们可以指定某些寄存器来进行 20位的存储器寻址。由于这些通用寄存器字长是位的存储器寻址。由于这些通用寄存器字长是16位,我们可以组成位,我们可以组成20 位地址的低位地址的低16位,再用位,再用4位形式

54、地址做为高位形式地址做为高4位,与低位,与低16位的某些通用寄位的某些通用寄 存器简单相拼,从而形成页面寻址方式。也可以用通用寄存器作存器简单相拼,从而形成页面寻址方式。也可以用通用寄存器作20位地位地 址的高位部分(全部或一部分),在与低位部分形式地址相拼成址的高位部分(全部或一部分),在与低位部分形式地址相拼成20位地位地 址。这两种情况下,硬件上均需一个址。这两种情况下,硬件上均需一个20位的位的MAR寄存器。参与这种寻寄存器。参与这种寻 址方式的通用寄存器,可赋与地址编号来加以区分。址方式的通用寄存器,可赋与地址编号来加以区分。16个通用寄存器为个通用寄存器为 一组占用一组占用4位字长

55、,可用位字长,可用R0R15命名,哪几个参与这种方式寻址,可命名,哪几个参与这种方式寻址,可 由设计者选定。由设计者选定。 如下图所示的处理机是按下列规则设计的如下图所示的处理机是按下列规则设计的所有指令的字长都是所有指令的字长都是 位位;OP码域宽度为位码域宽度为位;在进行所有的算术运算时,累加器在进行所有的算术运算时,累加器AC0的内的内 容总是作为一个操作数,而运算结果保存在容总是作为一个操作数,而运算结果保存在AC1。AC0,AC1均不必在指均不必在指 令中指出令中指出;数据存储器数据存储器(DM)字长位,最大容量字长位,最大容量65536字字;指令存指令存 储器储器(IM)最大容量为

56、最大容量为16384字字;四个合法的操作码中,任一操作码所指四个合法的操作码中,任一操作码所指 定的任何一个操作数都可以按直接寻址方式从定的任何一个操作数都可以按直接寻址方式从DM中找到中找到;每个通用寄每个通用寄 存器存器(Ri)的宽度都是位的宽度都是位;四个合法的四个合法的OP码是:码是:LDA=00,从从DM位置位置 AAA取数放在取数放在AC 0中, 中,STA=01,将将AC 0的内容存入 的内容存入DM位置位置 AAA;ADD=10,AC0内容与内容与DM位置位置AAA里的内容相加,里的内容相加,UNA=11未用。未用。 请问()下述各寄存器多少位?请问()下述各寄存器多少位? P

57、C,IAR(IM地址寄存器地址寄存器),IDR(IM数据寄存器数据寄存器),IR(指令寄存器指令寄存器), DAR(DM地址寄存器地址寄存器),DDR(DM数据寄存器数据寄存器),AC0,AC1,变址寄存器,变址寄存器 IX0,IX1。 ()先假设将()先假设将DM扩充到扩充到K字,指令字字长保持不变,也不允字,指令字字长保持不变,也不允 许进行间接寻址,那么对现有的这一套许进行间接寻址,那么对现有的这一套DM寄存器进行哪一种简单改动,寄存器进行哪一种简单改动, 就能满足要求?就能满足要求? ()在()在OP码域保持不变的条件下,如何增加另外的指令?码域保持不变的条件下,如何增加另外的指令? ()假定使用()假定使用“扩充操作码扩充操作码”码域,请画出下述操作的指令格式。码域,请画出下述操作的指令格式。 .将一个通用寄存器内容与将一个通用寄存器内容与AC0的内容相加的内容相加 .将将AC0的内容存放到的内容存放到DM中某个位置,具体位置由某个变址寄存器的中某个位置,具体位置由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论