组成第七章答案版本.docx

上传人:b****6 文档编号:7960816 上传时间:2023-01-27 格式:DOCX 页数:20 大小:27.09KB
下载 相关 举报
组成第七章答案版本.docx_第1页
第1页 / 共20页
组成第七章答案版本.docx_第2页
第2页 / 共20页
组成第七章答案版本.docx_第3页
第3页 / 共20页
组成第七章答案版本.docx_第4页
第4页 / 共20页
组成第七章答案版本.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

组成第七章答案版本.docx

《组成第七章答案版本.docx》由会员分享,可在线阅读,更多相关《组成第七章答案版本.docx(20页珍藏版)》请在冰豆网上搜索。

组成第七章答案版本.docx

组成第七章答案版本

计算机组成第七章考试部分参考答案

陈天洲,居立晗(助教)

tzchen@,lhju@

本文档只针对2010级计算机组成章节考试的部分答案,请勿外传

一、选择题

1)已知虚拟内存地址32bit,物理内存为64MB。

内存编址最小单位为字节。

段页式虚拟内存管理,每页16KB。

一个程序代码段长度45KB。

问一共需要C

个段与个页。

A:

2,2B:

1,1

C:

1,3D:

以上答案都不对

过程:

段页式内存管理,是结合了段式与页式存储管理。

页的大小是固定的,段的大小等于n个页。

n为整数。

45/16=3,所以需要1个段,段内3个页。

 

2)一CACHE-MEM系统中,命中率为95%,MEM访问时间为10ns,CACHE访问时间为1ns。

问平均存储访问时间为Cns。

(判断命中时间忽略不计)

A:

(1+10)/2B:

10×5%+1×95%

C:

(10+1)×5%+1×95%D:

10×95%+1×5%

过程:

访问Cache到:

95%×1

访问cache不中,先访问内存,送数据到cache,然后再由cpu访问cache。

所以时间为5%×(1+10)

表达式也可以写成1+10×5%

3)对系统程序员不透明的是D。

A:

cache存储器B:

系列机各档不同的数据通道宽度

C:

指令缓冲寄存器D:

虚拟存储器

过程:

系统程序员不能对cache、数据通道、指令缓冲进行编程,能够对虚拟内存进行编程。

2003年以后出现的处理器可以对cache编程。

4)直接映射的cache-主存构成的存储层次,已知是八入口,每块1B,内存变址最小单元为B。

初始时cache为空。

问以下存储器访问序列:

1、5、8、17、1、0、5、2、6、1,失效率是B。

A:

70%B:

80%

C:

90%C:

60%

过程:

访问序列

Cache内容

1

miss

5

miss

8

Miss

17

Miss

1

Miss

0

Miss

5

Hit

2

Miss

6

Miss

1

Hit

编号0

(8)

(8)

(8)

(0)

(0)

(0)

(0)

(0)

编号1

(1)

(1)

(1)

(17)

(1)

(1)

(1)

(1)

(1)

(1)

编号2

(2)

(2)

(2)

编号3

编号4

编号5

(5)

(5)

(5)

(5)

(5)

(5)

(5)

(5)

(5)

编号6

(6)

(6)

编号7

5)已知虚拟内存地址32bit,物理内存为64MB。

内存变址最小单位为字节。

页式虚拟内存管理,每页32KB。

问页表大小为D。

A:

128KBB:

32KB

C:

64KBD:

以上答案都不对

过程:

每页32KB,推导出页内偏移15bit

虚地址32bit,虚页号需要32-15=17bit,一共有217页,即页表入口217个

物理内存64M,实地址26bit,推导出实页号26-15=11bit,但是这个没有用处,因为页表每个入口访问是字对齐,即一个入口需要1W,4B

页表大小=入口数目×每入口大小=217×4B=512KB

6)已知一cache是直接映射方式,每块数据为2W,cache入口为1K,则cache容量为CKB。

A:

2B:

4C:

8D:

以上答案都不对

过程:

参见7)

7)已知一cache是2路组相联映射方式,每块数据为2W,cache入口为1K,则cache容量为CKB。

A:

4B:

8C:

16D:

以上答案都不对

过程:

每块数据2W即8B

Cache容量=关联度×入口×块大小=2×1K×8B=16KB

8)已知内存32位,cache是2路组相联映射方式,数据容量为16KB。

每块数据为2W,cache需要有效位、脏数据位各1位,则cache器件需要的总容量(总容量需要包括数据、标记、有效位、脏数据位)为Abit。

A:

2路×(1位有效位+1位脏数据位+19位标记位+8×8数据位)×1K入口

B:

2路×(1位有效位+1位脏数据位+21位标记位+8×8数据位)×2K入口

C:

2路×(1位有效位+1位脏数据位+21位标记位)×4K入口

D:

以上答案都不对

过程:

数据容量16KB,2路,则每路16KB÷2=8KB

每块大小=2W=8B,块内偏移位数=3bit

入口数目=每路大小÷每块大小=8KB÷8B=1K,即入口位数=10bit

标记位(tag)=地址位数-块内偏移位数-入口位数=32-3-10=19bit

Cache总容量=关联度×入口数目×(有效位+脏数据位+tag位+数据块大小)=2×1K×(1位有效位+1位脏数据位+19位标记位+8×8数据位)

注意:

cache总容量计算需要以bit为单位,而cache容量表示数据容量,数据容量可以以Byte为单位。

9)已知内存32位,cache是4路组相联映射方式,数据容量为32KB。

每块数据为2W,则cache的标记位为Abit。

A:

19B:

21C:

25D:

以上答案都不对

过程:

数据容量32KB,4路组相联映射方式,每组8KB

每数据块2W=8B,块内字节偏移3bit

入口数目=8KB÷8B=1K,入口位数=10bit

标记位数=内存位数-入口位数-块内字节偏移=32-10-3=19

10)有如下内存访问序列,在一个4入口的直接映射cache下,最终的cache内容是A。

内存访问序列:

1,5,1,6,3

A:

1

6

3

B:

1

6

3

5

C:

5

6

3

D:

6

3

过程:

参考(选择题4)

二、判断题

1、内存中的SDRAM是用CACHE制作的。

(F)

内存是DRAM做的,Cache是SRAM

2、在CACHE系统中,写分配法一般配合写回法使用。

(T)

是啊。

写分配是写cache失效时,取数据到cache,然后写cache。

3、存储器采用单体单字,还是多体交叉并行存取,对系统结构设计是透明的。

(F)

体系结构可以看到各个组成器件,显然能够看到存储器

4、块大小越大,命中率越高。

(F)

容量一定的时候,块大小太大,块数量减少,hitrate也会下降。

5、cache-MEM存储层次中,内存的数据不会比cache的数据新。

(F)

Cache是mem的子集。

但是有特殊情况,一些mem映射到外设,外设输入时直接写mem,而不知道该mem已经被cache了。

所以有外设的情况下,mem数据可能是新的,而cache数据可能是脏数据。

三、计算设计题

类型1:

容量计算,给出一些条件,计算容量。

1)有一cache存储器,每块4Word。

主存地址32bit,cache有8K个入口,采用4路组相联映射。

cache除了tag标记外,还需要1bit的有效位,1bit脏数据位。

问cache总容量(包括所有的信息存储)与cache容量(仅仅数据)。

答案:

4W/Block->2bitWordoffsetforBlock

1W=4B->2bitByteoffsetforword

8K入口,Indexhas13bits.

Taghas32-2-2-13=15bits.

Totalsize=index×(tagsize+dirty+valid+datasize)×associate=8K×(15+1+1+4×4×8)×4=4640Kbit

Totaldatasize=index×datasize×associate=8K×4×4×8×4=4Mbit

2)已知一计算机虚拟内存地址40bit,物理内存地址36bit,页式虚拟内存管理,每页64Kbyte。

问页表大小。

Answer:

64Kbyte=216byte

Virtualpagenumber=240-16=224

physicalpagenumber=236-16=220,20bit<32bit,use4Byte=1Wstorephysicalpagenumber

Sopagesize=224×4=64MB

类型2:

已知访问序列,问结果

1)某计算机内存字节编址,内存容量64字节,有容量为8字节cache,组织形式2路组相联。

Cache替换策略为LRU(最近最少使用)。

Cache初始时为空。

已知内存访问序列如下:

3,5,7,2,4,6,3,11,10,14,4,2,7。

问:

1、cache的命中率,那几次cache访问是命中的(5分),

2、画出最后cache组织结构及其存储的数据图。

(5分)

Memoryblock

Hitormiss

Contentsaftereachreference

Set0

Set1

Set2

Set3

Block0

Block1

Block2

Block3

Block4

Block5

Block6

Block7

3

Miss

M[3]

5

Miss

M[5]

M[3]

7

Miss

M[5]

M[3]

M[7]

2

Miss

M[5]

M[2]

M[3]

M[7]

4

Miss

M[4]

M[5]

M[2]

M[3]

M[7]

6

Miss

M[4]

M[5]

M[2]

M[6]

M[3]

M[7]

3

Hit

M[4]

M[5]

M[2]

M[6]

M[3](Hit)

M[7]

11

Miss

M[4]

M[5]

M[2]

M[6]

M[3]

M[11]

注意,这里替换掉M[7],因为M[3]最近访问过了

10

Miss

M[4]

M[5]

M[10]

M[6]

M[3]

M[11]

14

Miss

M[4]

M[5]

M[10]

M[14]

M[3]

M[11]

4

Hit

M[4](Hit)

M[5]

M[10]

M[14]

M[3]

M[11]

2

Miss

M[4]

M[5]

M[2]

M[14]

M[3]

M[11]

7

Miss

M[4]

M[5]

M[2]

M[14]

M[7]

M[11]

Cache结构详细图为:

V为1bit,tag为6(64字节内存,所以内存6位)-2(入口4,需要2bit)=4bit

V

Tag

Data

V

Tag

Data

1

0001

M(4)

0

1

0001

M(5)

0

1

0000

M

(2)

1

0011

M(14)

1

0001

M(7)

1

0010

M(11)

Set0set1

 

对比下题

2)某计算机内存字节编址,内存容量64字节,有容量为8字节cache,组织形式直接映射,块大小为2字节。

Cache初始时为空。

已知内存访问序列如下:

3,5,7,2,4,6,3,11,10,14,4,2,7。

问:

1、cache的命中率,那几次cache访问是命中的(5分),

2、画出最后cache组织结构及其存储的数据图。

(5分)

本题与上题cache结构类似,但是块作为整体进行存取。

所以有差别

Memoryblock

Hitormiss

Contentsaftereachreference

Block0=2B

Block1=2B

Block2=2B

Block3=2B

3(000011)

Miss

M[2]

M[3]

注意,最后1bit是块内偏移,内存地址3的入口是01,标注成红色的那个01,同时把内存2(000010)也copy到cache。

因为内存2与内存3标注为红色的部分是一样的,前面的tag也是一样的。

5(000101)

Miss

M[2]

M[3]

M[4]

M[5]

7(000111)

Miss

M[2]

M[3]

M[4]

M[5]

M[6]

M[7]

2(000010)

Hit

M[2](hit)

M[3]

M[4]

M[5]

M[6]

M[7]

4(000100)

Hit

M[2]

M[3]

M[4](hit)

M[5]

M[6]

M[7]

6(000110)

Hit

M[2]

M[3]

M[4]

M[5]

M[6](hit)

M[7]

3(000011)

Hit

M[2]

M[3](Hit)

M[4]

M[5]

M[6]

M[7]

11(001011)

Miss

M[10]

M[11]

M[4]

M[5]

M[6]

M[7]

10(001010)

Hit

M[10](Hit)

M[11]

M[4]

M[5]

M[6]

M[7]

14(001110)

Miss

M[10]

M[11]

M[4]

M[5]

M[14]

M[15]

4(000100)

Hit

M[10]

M[11]

M[4](hit)

M[5]

M[14]

M[15]

2(000010)

Miss

M[2]

M[3]

M[4]

M[5]

M[14]

M[15]

7(000111)

Miss

M[2]

M[3]

M[4]

M[5]

M[6]

M[7]

Cache结构详细图为:

V为1bit,tag为6(64字节内存,所以内存6位)-2(入口4,需要2bit)-1(块内偏移)=3bit

V

Tag

Data

Data

0

1

000

M

(2)

M(3)

1

000

M(4)

M(5)

1

000

M(6)

M(7)

 

3)某程序包含了5个虚页,页地址访问流为4,5,3,2,5,1,3,2,2,5,1,3。

当使用LRU替换,为了获得最高的命中率,至少给该程序分配几个实页,其可能的最高命中率是多少?

Iftherewereonephysicpages,pagefaults=11/12

Ifthereweretwophysicpages,pagefaults=11/12

Iftherewerethreephysicpages,pagefaults=10/12

Iftherewerefourphysicpages,pagefaults=5/12

Iftherewerefivephysicpages,pagefaults=5/12

所以4页即可。

命中率7/12

 

4)已知一计算机的cache系统,4个入口,每块1字,采用2路组相联。

试设计一内存访问序列,使得,替换策略为FIFO的方法比LRU的命中率高。

FIFO

Memoryblock

Hitormiss

Contentsaftereachreference

Set0

Set1

Block0

Block1

Block2

Block3

0

Miss

M[0]

8

Miss

M[0]

M[8]

0

Hit

M[0]

M[8]

6

Miss

M[6]

M[8]

8

Hit

M[6]

M[8]

LRU

Memoryblock

Hitormiss

Contentsaftereachreference

Set0

Set1

Block0

Block1

Block2

Block3

0

Miss

M[0]

8

Miss

M[0]

M[8]

0

Hit

M[0]

M[8]

6

Miss

M[0]

M[6]

8

Miss

M[8]

M[6]

 

5)OPT(optimalreplacementalgorithm)称为最优替换算法,其方法是选择将来最近不被访问的页面作为被替换的页,常常用于虚拟内存的替换策略中。

已知一计算机有主存4页,问有以下虚拟页号访问流,问箭头指向的位置,主存辅存的状态,用图表示。

1,2,1,5,4,1,3,4,2,4,2,3,5,2,8,1,2,3,4

VirtualMemoryblock

Hitormiss

Contentsaftereachreference

M[0]

M[1]

M[2]

M[3]

1

Miss

V[1]

2

Miss

V[1]

V[2]

1

Hit

V[1]

V[2]

5

Miss

V[1]

V[2]

V[5]

4

Miss

V[1]

V[2]

V[5]

V[4]

1

Hit

V[1]

V[2]

V[5]

V[4]

3

Miss

V[3](BecauseV[1]willbevisitedlatestinthereference1/2/5/4)

V[2]

V[5]

V[4]

替换哪个数据好呢?

现有1,2,5,4。

看后续的序列4,2,4,2,3,5,2,8,1,2,3,4,将来第9个才是出现“1”,将来第2个出现“2”,将来第6个出现“5”,将来第1个出现“4”,显然“1”是将来最晚使用到的,替换“1”

6)某计算机内存字节编址,内存容量64字节,有容量为16字节cache,组织形式2路组相联,块大小为2Byte。

Cache替换策略为LRU(最近最少使用)。

Cache初始时为空。

已知程序如下,问hit率

Main(){

chari,j;

chara[16];

for(i=0;i<13;i++)

a[i]=j;

}

类型3:

问内存各bit含义。

1)32位内存地址,512kB的cache构成cache-mem存储层次,cache采用2路组相联映射方式,每块4word。

问内存地址的各bit的意义。

31

0

2路,所以每路512KB÷2=256KB

每块4W,块内字偏移2bit,字内字节偏移2bit(也可以简单的说,块内字节偏移4bit)。

每块16字节。

所以入口数目=256KB÷16B=16K,即14bit

所以标记(tag)位=32-2-2-14=14bit

所以,

内存地址的31~18这14bit为tag

内存地址的17~4这14bit为index

内存地址的3~2这2bit为块内字偏移

内存地址的1~0这2bit为字内字节偏移

其中最后两行也可以写成:

内存地址的3~0这4bit为块内字节偏移

2)40位虚拟内存地址,36位物理内存地址,16k字节每页,TLB容量为64k,直接映射方式,每块8word。

问虚拟内存地址的各bit的意义。

Pageoffset:

16KB=214KB,

sopageoffset=14bits

Virtualpagenumber:

40-14=26bits

所以虚拟内存的39~14这26bit为Virtualpagenumber,13~0为pageoffset

注意,没有完,因为还有TLB

因为TLB直接映射,容量为64K,每块8W=32B,所以TLB入口=64KB÷32B=2K,即需要11bit

TLB每1W可以记录一个物理页号,所以1块8W可以记录8个物理页号,块内物理页偏移编号需要3bit。

所以TLB的标记(tag)位=虚页号bit数-入口-块内物理页偏移编号=26-11-3=12

所以

虚地址的39~28这12bit为TLB的标记位

虚地址的27~17这11bit为TLB的入口

虚地址的16~14这3bit为TLB的块内物理页偏移编号

总体上,虚地址的39~14这26bit为虚页号

虚地址的13~0这14bit为页内偏移。

 

装入位实页号

13

11

02

03

12

01

10

00

3)某虚拟存储器共8个页面,每页1024个字,实际主存为4096字,已知页表如右:

a)列出会产生页面失效的全部虚页号

b)按以下虚地址访问字地址:

17,3078,计算对应的主存地址。

2,3,4,5

结题过程:

1、未说几个辅存,没有关系。

2、虚地址字编码,虚地址17就是0号虚页,17偏移。

(17=0×1024+17)

看表格中第0行标记为红色部分,由于装入位为1,表示在物理内存中,对应的实页号为3,所以虚地址5表示的是3号实页,5偏移(偏移不变)。

物理地址就是3×1024+17=3089。

3、虚地址3078=3×1024+5,即3号虚页,偏移5,查表紫色为第三行,装入位为0,表示不在物理内存,所以主存地址不存在,页失效。

(另外一个也可以正确的答案是:

该内存在辅存中,查表知道对应的实页号为3,则辅存地址为3×1024+5=3078)

类型4:

计算存储速度

1)已知一计算机,理想状态下CPI为1.2。

由于cache有miss,导致性能有所下降。

已知指令cache命中率为99.9%,数据cache命中率96%。

cache访问可以在1cc完成,内存访问需要10cc。

已知指令中有40%是内存访问型指令。

问实际该计算机的CPI?

若该计算机内存采用虚拟内存方式管理,已知内存访问中物理内存命中率为99.9999%,且使用快表进行加速。

硬盘访问时间是内存的106倍。

已知快表命中率为98%,问实际计算机的CPI。

Question1:

CPUtime=(CPUexecutionclockcycles+Memory-stallclockcycles)×clockcyclet

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

当前位置:首页 > 解决方案 > 学习计划

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

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