计算机结构原理超级精简.docx
- 文档编号:11924637
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:40
- 大小:131KB
计算机结构原理超级精简.docx
《计算机结构原理超级精简.docx》由会员分享,可在线阅读,更多相关《计算机结构原理超级精简.docx(40页珍藏版)》请在冰豆网上搜索。
计算机结构原理超级精简
第一章计算机系统概论
例题精析
1.C2.D
3.解答:
计算机系统包括硬件和软件。
从计算机层次结构来看,它通常有五个以上的层次,在每一层次(级)上都能进行程序设计。
由下至上排序为:
第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行。
此外,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。
4.解答:
由主存容量为64K×32位,可得共需要数据线32根,存储字长为32位;由于MDR的位数与存储字长相等,故MDR为32位;由于MAR的位数对应存储单元的个数,且216=64K,故MAR为16位,地址线16根。
因指令字长=机器字长=存储字长(32位),则IR、ACC、MQ、X均为32位。
试题精选
单项选择题
1.B2.B3.D4.C5.D6.D7.C8.D9.D10.C11.A12.C13.C14.C15.D
综合应用题
1.解答:
CPI即执行一条指令所需的时钟周期(时钟频率f的倒数)数。
本处理器共包括四种指令,那么CPI就是这四种指令的数学期望。
即
CPI=1×60%+2×18%+4×12%+8×10%=2.24
MIPS即MillionInstructionsPerSecond(每秒执行百万条指令数)。
已知处理器时钟频率为40MHz,即每秒包含40M个时钟周期,故
MIPS=40÷CPI=40÷2.24=17.9
程序的执行时间T=CPI×T_IC×I=CPI×(1/f)×I=5.6×10-8I(s)。
2.解答:
1)A机的CPU主频为8MHz,所有A机的CPU时钟周期=1÷8MHz=0.125s。
2)A机的平均指令周期=1÷0.4MIPS=2.5s。
3)A机平均每条指令的时钟周期数=2.5s÷0.125s=20.
因微机A和B片内逻辑电路完全相同,所以B机平均每条指令的时钟周期数也为20.
由于B机的CPU主频为12MHz,所以B机的CPU时钟周期=1÷12MHz=1/12s。
B机的平均指令周期=20×(1/12)s=5/3s。
B机的平均指令执行速度=1÷(5/3)s=0.6MIPS。
另解:
B机的平均执行速度=A机的平均指令执行速度×(12/8)=0.4MIPS×(12/8)=0.6MIPS。
第二章数据的表示和运算
例题精析
1.C2.B3.C4.C5.D6.B7.B8.C9.D
10.组间并行;16;4.
11.327D=101000111B
12.解答:
①奇校验码:
11001110,偶校验码:
11001111.
②奇校验码:
10001100,偶校验码:
10001101.
③奇校验码:
10101101,偶校验码:
10101100.
13.解答:
(1100)的循环校验码为M(x)x3+R(X)=1100000+010=1100010(模2加)。
14.解答:
浮点数的格式如下:
阶符2
阶码3
数符2
尾数9
X=5/256=(101)2/28=2101×(0.101000000)2
Y=+59/1024=(111011)2/210=2100×(0.111011000)2
[X]补=11011,11.011000000
[Y]补=11100,00.111011000
①求阶差:
[E]补=11011+00100=11111,知E=1。
②对阶:
[X]补=11100,11.101100000.
③尾数求差:
11.101100000
+11.000101000
——————
10.110001000
[XY]补=11100,10.110001000.
④结果右规一次:
[XY]补=11101,11.011000100.
⑤正常阶码,无溢出,结果真值为23×(0.1001111)2.
试题精选
单项选择题
1.C2.A3.B4.B5.D6.B7.B8.A9.C10.B11.C12.B13.C14.C15.C16.C17.C18.D19.B20.C21.C22.C23.B24.C
综合应用题
1.解答:
1)表示一个补码整数:
最高位为符号位,其他31位为数值位。
其对应的真值二进制数表示为
1110000000100000100000000000000
其十进制值为(230+229+228+220+214)。
2)表示一个无符号整数:
全部32位均为数值位,其十进制值为
231+227+226+225+224+223+222+221+219+218+217+216+215+214
3)表示一个IEEE754标准的单精度浮点数:
其阶码为00011111,对应十进制数为31.
IEEE754标准中的阶码用移码表示,单精度浮点数的偏置值为127,所以阶码的十进制真值为31127=96.
其尾数为1.11011111100000000000000(第一位为符号位)。
IEEE754标准中的尾数用原码表示,且采用隐含尾数最高数位“1”的方法,隐含的“1”是一位整数(即位权为20)。
所以尾数真值为
(20+21+22+24+25+26+27+28+29)
单精度浮点数的真值为
(20+21+22+24+25+26+27+28+29)×296
2.解答:
为判断溢出采用双符号位。
1)[y]补=0.10101
[x+y]补=[x]补+[y]补=00.11011+11.01011=00.00110
无溢出,结果正确。
[xy]补=[x]补+[y]补=00.11011+00.10101=01.10000
两个符号位相反,出现溢出。
双符号位为01表示发生正溢出,结果不正确。
2)[y]补=0.11100
[x+y]补=[x]补+[y]补=11.01010+11.00100=10.01110
两个符号位相反,出现溢出。
双符号位为10表示发生负溢出,结果不正确。
[xy]补=[x]补+[y]补=11.01010+00.11100=00.00110
无溢出,结果正确。
3.解答:
[x×y]补=1.10011101,即x×y=0.01100011.
4.解答:
1)(3.8125)10=11.1101=1.11101×21
表示为IEEE754标准短实数时,阶码加7FH,即01H+7FH=80H;数符为0,尾数部分隐藏第一位1,即得机器数形式为
0,10000000;11101000000000000000000
表示为IEEE754标准长实数时,阶码加3FFH,即01H+3FFH=4000H;数符为0,尾数部分隐藏第一位1,即得机器数形式为
0,10000000000;11101000000…000(44个0)
表示为IEEE754标准临时实数时,阶码加3FFFH,即01H+3FFFH=4000H;数符为0,没有隐藏位,即得机器数形式为
0,100000000000000;111101000000…0000(56个0)
2)机器数为11000010111110111101000000000000,即
1,10000101;11110111101000000000000,可知阶码为133-127=6;数符为1表示负数,尾数加上隐藏位后的二进制形式为1.11110111101000000000000,可知真值的二进制形式为1111101.11101,即十进制数为125.90625.
5.解答:
1)串行进位方式:
C1=G1+P1C0其中:
G1=A1B1,P1=A1B1
C2=G2+P2C1G2=A2B2,P2=A2B2
C3=G3+P3C2G3=A3B3,P3=A3B3
C4=G4+P4C3G4=A4B4,P4=A4B4
2)并行进位方式:
C1=G1+P1C0
C2=G2+P2G1+P2P1C0
C3=G3+P3G2+P3P2G1+P3P2P1C0
C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
其中,G1G4、P1P4表达式与串行进位方式相同。
第3章存储器系统的层次结构
例题精析
1.A2.B3.D4.D5.D6.A7.D8.C9.D10.D
11.解答:
因为ta=tc/e,所以tc=tae=60ns×0.85=51ns(Cache存取周期),tm=tcr=51ns×4=204ns(主存存取周期)。
因为e=tc/[htc+(1-h)tm],所以h=0.94.
12.解答:
1)主存容量=16×256×2=8192B,Cache容量=16×8×2=256B,主存字地址=8+4=12位,Cache字地址=3+4=7位,如图3-17a所示。
Cache块号块内地址主存块号块内地址
Cache地址
3位
4
8位
4
主存地址
第0块
第1块
…
第7块
Cache
第0块
第1块
…
第255块
主存
a)
Cache块号块内地址主存块号块内地址
3位4位8位4位
Cache地址
5H
8H
33H
8H
第0块
第1块
…
第5块
…
第7块
Cache
第0块
第1块
…
第33H块
…
第FFH块
主存
b)
图3-17
2)如图3-17b)所示,由于每块16字,所以该主存字所在的主存块号为33H,由于是全相联映射,原先已经装入Cache的5个块依次在04号块,因此主存的第33H的块将装入Cache的第5块。
对应Cache的字地址为1011000B,其中101为块号,1000为块内地址。
3)如图3-18所示,由于表中地址为1的行中标记着36H的主存块号标志,则当CPU送来主存的字地址为368H时,其主存块号为36H,所以命中。
此时的Cache字地址为58H。
图3-18
13.解答:
1)数据Cache有8个Cache行,每个Cache行大小为64B,若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为8×64B=512B。
2)数据Cache容量为512B,Cache地址为9位,有8个Cache行,块地址为3位,块的大小为64B,块内地址为6位,主存容量为256MB,按字节编址,256MB=228B,主存地址为28位,块标记为19位,采用直接映射方式,主存和Cache的地址格式分别为:
2798650
块标记
块号
块内偏移
8650
块号
块内偏移
数组按行优先方式存放,首地址为320,数组元素占4个字节,可知a[0][31]的地址为320+31×4=444=110111100,可知其所在的主存块对应的Cache行号为110=6.
a[1][1]的地址为320+(256+1)×4=1348=10101000100,可知其所在的主存块对应的Cache行号为101=5.
3)数组a存放的数据量为256×256×4B=218B,占用218/64=212个内存块,按行优先方式存放。
程序A逐行访问数组a,未命中次数为212,于是程序A的数据访问命中率为
(216212)/216×100%=93.75%
程序B逐行访问数组a,由于数组a一行的数据量为1KB>64B,所以访问第0列每个元素时都不命中。
由于数组有256列,数据Cache仅有8行,故访问数组后续列元素时仍然不命中,于是程序B的数据访问命中率为0%。
由于从Cache读数据比从内存读数据块很多,所以程序A的执行过程更短。
试题精选
单项选择题
1.A2.C3.B4.B5.A6.D7.B8.B9.C10.C11.A12.B13.A14.C15.A16.C17.B18.B19.D20.C21.C22.D23.B24.C25.D26.D27.D
填空题
1.写操作占总访存次数的___%。
Cache命中率为___%。
每块__个字。
当Cache发生块替换时,有___%块需要写回主存,其余的因未被修改过而不必写回主存。
2.WT法:
写主存次数占总访存次数的___%.
WB法:
(1-99%)×30%×4=1.2%。
综合应用题
1.解答:
假设存储器和交叉存储器连续读出m=4个字的信息总量都是
q=64位×4=256位
顺序存储器和交叉存储器连续读出4个字所需的时间分别是
t2=mT=4×200ns=800ns=8×107s
t1=T+(m1)t=200ns+3×50ns=350ns=3.5×107s
顺序存储器带宽:
W2=q/t2=256bit/(8×107)s=32×107bit/s
交叉存储器带宽:
W1=q/t1=256bit/(3.5×107)s=73×107bit/s
2.解答:
1)命中率H=Nc/(Nc+Nm)=1900/(1900+100)=0.95
主存访问时间是Cache的倍率:
r=tm/tc=250ns/50ns=5
访问效率:
e=1/[r+(1r)H]=1/[5+(15)×0.95]=83.3%
2)平均访问时间:
ta=tc/e=50ns/0.833=60ns
3.解答:
1)主存容量为2MB,按字节编址,所以主存地址为21位。
每个块有8个字,每个字有32位,得出主存地址字段中字块内地址字段为5位。
根据Cache容量为16KB=214B,字块大小为25B,得出Cache共有29块,故c=9.根据4路组相联映射2r=4,得r=2,则q=cr=7.
主存字块标记位数为2175=9.
其地址格式如下:
主存字块标记(9位)
组地址(7位)
字块内地址(5位)
2)由于每个字块有8个字,所以CPU的0,1,…,100字单元分别在字块0至字块11和字块12中,采用4路组相联映射将分别映射到第0至第12组中,但高速缓存起始为空,所以第一次读时每一块中的第一个单元每命中,但后面10次每个单元均可以命中。
所以命中率=(11×101-13)/(11×101)=98.8%。
3)设高速缓存的存储周期为T,则主存的存储周期为5T。
有高速缓存的访问时间=98.8%×T+(1-98.8%)×5T=1.048T。
无高速缓存的访问时间=5T。
所以提高倍数=(5/1.048)-1=3.77倍。
4.解答:
1)存储器的总容量为16K×16位,RAM芯片为1K×4位,故所需芯片总数为(16K×16位)/(1K×4位)=64片。
2)由于存储单元数为16K,故地址长度为14位(设A13A0)。
芯片单元数为1K,则占用地址长度为10位(A9A0).每一组16位(4片),共16组,组与组间译码采用4:
16译码器。
组成框图如图3-21所示。
图3-21存储体的组成框图
3)采用异步刷新方式,在2ms时间内分散地把芯片64行刷新一遍,故刷新信号的时间间隔为2ms/64=31.25s,即可取刷新信号周期为30s。
5.1)将十六进制地址范围写成二进制地址码,并确定其总容量,如图3-22所示。
图3-22二进制地址码
2)根据地址范围的容量以及该范围在计算机系统中的作用,选择存储芯片。
由6000H67FFH为系统程序区的范围,应选1片2K×8位的ROM芯片。
由6800H6BFFH为用户程序区的范围,应选2片1K×4位的RAM芯片。
3)存储芯片的片选逻辑图如图3-23所示。
图3-23存储芯片的片选逻辑图
6.解答:
1)用虚拟地址1的页号15作为快表检索项,查得页号为15的页在主存中的起始地址为80000,故将80000与虚拟地址中的页内地址码0324相加,求得主存实地址码为80324.
2)主存实地址码=96000+0128=96128.
3)虚拟地址3的页号为48,当用48作检索项在快表中检索时,没有检索到页号为48的页面,此时操作系统暂停用户作业程序的执行,转去执行查页表程序。
如该页面在主存中,则将该页号及该页在主存中的起始地址写入快表;如该页面不存在,则操作系统要将该页面从外存调入主存,然后将页号及其在主存中的起始地址写入快表。
7.解答:
根据图3-20已知,ROM1的地址空间为0000H3FFFH,ROM2的地址空间为4000H7FFFH,RAM1的地址空间为C000HDFFFH,RAM2的地址空间为E000HFFFFH。
对应上述空间,地址码最高4位A15A12的状态如下:
00000011ROM1
01000111ROM2
11001101RAM1
11101111RAM2
2:
4译码器对A15、A14两位进行译码,产生4路输出,其中,Y0=00对应ROM1,Y1=01对应ROM2,Y3=11对应RAM1和RAM2,然后用A13区分是RAM1(A13=0)还是RAM2(A13=1)。
由此,两组端子的连接方法如下:
1—5,2—6,3—7,8—12,11—14,9—13。
8.解答:
加速比SP=tM/tE,又tE=tch+(1-h)tM,本题中h=90%,tM=10tc,故可由上式解得
SP=tM/[tc+(1-h)tM]=1/(0.1×0.9+1-0.9)=1//0.19=5.26
9.解答:
1)依据Cache的块容量和访问的块地址流序列可以画出图3-25.
访问顺序
1
2
3
4
5
6
7
8
块地址序列
14
18
14
18
8
4
8
10
块分配情况
14
14
14
14
14
14
14
14
-
18
18
18
18
18
18
18
-
-
-
-
8
8
8
8
-
-
-
-
-
4
4
4
-
-
-
-
-
-
-
10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
操作状态:
调进
调进
命中
命中
调进
调进
命中
调进
图3-25Cache的地址分配
(1)
2)如图3-26所示。
访问顺序
1
2
3
4
5
6
7
8
块地址序列
6
15
6
13
11
10
8
7
块分配情况
6
6
6
6
6
10
10
10
-
15
15
15
15
15
8
8
-
-
-
13
13
13
13
7
-
-
-
-
11
11
11
11
操作状态:
调进
调进
命中
调进
调进
替换
替换
替换
图3-26Cache的地址分配
(2)
由于是全相联映射,且当访问从第6个地址开始时,Cache已经装不下,因此,按照先进先出的原则依次替换出第0块、第1块和第2块。
10.解答:
1)主存有512K÷16=512×1024÷16=32768个块;有512K÷8K=64个区。
2)Cache中有8192÷16=512块;8192=213,Cache的字地址为13位;512=29,16=24,即块号和块内地址分别为9位和4位。
3)主存有32768块×16B/字块=219B,即字地址为19位。
主存储器的字地址分为三段:
区号、区内块号、块内字地址。
区号的长度为19-13=6位,块号为9位,块内字地址为4位。
4)主存中的第i块映射到Cache中第imod29个块中。
5)根据j=imod29,Cache块号=513mod29=1,即第1号块。
根据k=[i/29],区号=[513/29]=1,即区号标志为000001.
6)16位主存字地址为04011H=0000100000000010001,按此主存的块号为地址读出的主存区号标志000010000001(当前主存区号),故不命中。
第4章指令系统
例题解析
1.A2.C3.A
4.解答:
1)根据操作数地址码为6位,则二地址指令中操作码的位数为1666=4,这4位操作码可有16种操作。
由于操作码固定,则除了零地址指令有M种,一地址指令有N种,剩下二地址指令最多有16MN种。
2)采用扩展操作码技术,操作码位数可随地址数的减少而增加。
对于二地址指令,指令字长16位减去两个地址码共12位,剩下4位操作码,共16种编码,去掉一种编码(如1111)用于一地址指令扩展,二地址指令最多可有15种操作。
3)采用扩展操作码技术,操作码位数可变,则二地址、一地址和零地址的操作码长度分别为4位、10位和16位。
这样二地址指令操作码每减少一个,就可以多构成26条一地址指令操作码;一地址指令操作码每减少一个,就可以多构成26条零地址指令操作码。
设一地址指令有R条,则一地址指令最多有(24P)×26条,零地址指令最多有[(24P)×26R]×26条。
根据题中给出零地址指令为Q条,即
Q=[(24P)×26R]×26
则R=(24P)×26Q×26
5.解答:
此题的指令编码格式如图4-11所示
2位
7位
7位
01
1)
OP
地址码1
地址码2
操作码
总共3条
10
5位
4位
7位
11000
2)
OP
寄存器索引
操作数
操作码
…
总共6条
11101
8位
4位
4位
11110000
OP
寄存器索引1
寄存器索引2
操作码
…
总共8条
11110111
9位
7位
111110000
4)
OP
地址码
操作码
…
总共12条
11111011
1位
1111111000000000
5)
OP
操作码
…
总共32条
1111111000011111
图4-11
6.解答:
1)算术逻辑指令格式为“寄存器—寄存器”型,取单字长为16位,格式如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 结构 原理 超级 精简