计算机结构原理超级精简.docx

上传人:b****4 文档编号:11924637 上传时间:2023-04-16 格式:DOCX 页数:40 大小:131KB
下载 相关 举报
计算机结构原理超级精简.docx_第1页
第1页 / 共40页
计算机结构原理超级精简.docx_第2页
第2页 / 共40页
计算机结构原理超级精简.docx_第3页
第3页 / 共40页
计算机结构原理超级精简.docx_第4页
第4页 / 共40页
计算机结构原理超级精简.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

计算机结构原理超级精简.docx

《计算机结构原理超级精简.docx》由会员分享,可在线阅读,更多相关《计算机结构原理超级精简.docx(40页珍藏版)》请在冰豆网上搜索。

计算机结构原理超级精简.docx

计算机结构原理超级精简

第一章计算机系统概论

例题精析

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位,格式如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1