cache存储器作业

  1. (单选题, 5分)

某C语言程序段如下:

for(i=0;i<=9;i++){

temp=1;

for(j=0;j<=I;j++) temp*=a[j];

sum+=temp;}

下列关于数组a的访问局部性的描述中,正确的是( )。

Ⅰ时间局部性 Ⅱ空间局部性

A. Ⅰ有Ⅱ有

B. Ⅰ无Ⅱ有

C. Ⅰ有Ⅱ无

D. Ⅰ无Ⅱ无

我的答案: A正确答案: A

5分

  1. (单选题, 5分)设一个直接相联的cache中有4个块L0、L1、L2、L3,现有一程序访问的块号序列是0、13、12、4、7、10、12、2、10、3,全部访问后,cache的L2块中存放的是( )号主存块。

A. 12

B. 2

C. 4

D. 10

我的答案: D正确答案: D

5分

  1. (单选题, 5分)某计算机的 Cache 共有 16 块,采用 2 路组相联映射方式(即每组 2 块)。 每个主存块大小为 32B,按字节编址。主存 129 号单元所在主存块应装入的 Cache 组号是( )。

A. 6

B. 4

C. 2

D. 0

我的答案: B正确答案: B

5分

  1. (单选题, 5分)假设某计算机按字编址,Cache有4个行,Cache和主存之间交换的块大小为2个字。若Cache的内容初始为空,采用2路组相联映射方式和LRU替换算法,当访问的主存地址依次为0,4,8,2,0,6,8,6,4,8时,命中Cache的次数是( )。

A. 4

B. 3

C. 2

D. 1

我的答案: B正确答案: B

5分

  1. (单选题, 5分)

有如下C语言程序段:

for(k=0;k<1000;k++)

a[k]=a[k]+32

若数组a和变量k均为int型,int型数据占4B,数据cache采用直接映射方式,数据区大小为1KB,块大小为16B,该程序段执行前cache为空,则该程序段执行过程中访问数组a的cache未命中率约为( )。

A. 1.25%

B. 2.5%

C. 12.5%

D. 25%

我的答案: C正确答案: C

5分

二. 填空题(共1题,60分)

  1. (填空题, 60分)

本题所有填空均填写十进制数。共12个空,标号为⑴~⑿。

一个直接映射Cache由64个块构成,主存包含4096个块,每块由128字组成。

(1)一个主存地址有  ⑴   位。

(2)主存地址划分为标记、Cache块号、块内字号三个字段。块内字号占  ⑵  位,Cache块号占  ⑶  位,标记占  ⑷  位。

(3)检索地址73F2H单元内容的过程如下:先定位到Cache的第 ⑸ 行,然后用 ⑹ 与Cache该行的标记进行比较,如果相同则命中该块,然后用字地址 ⑺ 读出所需要的字。如果未命中,则按内存地址访问内存。

(4)如果改为全相联映射,检索地址73F2H单元内容的过程如下:用 ⑻ 与Cache所有行的标记进行比较,如果有相同的,则命中该块,然后用字地址 ⑼ 读出所需要的字。如果未命中,则按内存地址访问内存。

(5)如果改为组相联映射,每组包含4个存储块。检索地址73F2H单元内容的过程如下:先定位到Cache的第  ⑽ 组,然后用 ⑾ 与Cache该组所有行的标记进行比较,如果有相同的,则命中该块,然后用字地址 ⑿ 读出所需要的字。如果未命中,则按内存地址访问内存。

我的答案:

60分

(1) 19

(2) 7

(3) 6

(4) 6

(5) 39

(6) 3

(7) 114

(8) 231

(9) 114

(10) 7

(11) 14

(12) 114

正确答案:

(1) 19

(2) 7

(3) 6

(4) 6

(5) 39

(6) 3

(7) 114

(8) 231

(9) 114

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
a开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
组成原理课后答案第三章 3. 用16K×8位的DRAM芯片组成64K×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。 (2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少? 解:(1)组成64K×32位存储器需存储芯片数为       N=(64K/16K)×(32位/8位)=16(片)      每4片组成16K×32位的存储区,有A13-A0作为片内地址,用A15 A14经2:4译码器产生片选信号 ,逻辑框图如下所示:  (2)依题意,采用异步刷新方式较合理,可满足CPU在1μS内至少访问内存一次的要求。     设16K×8位存储芯片的阵列结构为128行×128列,按行刷新,刷新周期T=2ms,则异步     刷新的间隔时间为:                  则两次刷新的最大时间间隔发生的示意图如下    可见,两次刷新的最大时间间隔为tmax      tmax=15.5-0.5=15 (μS)    对全部存储单元刷新一遍所需时间为t R      t R =0.5×128=64  (μS) 6.用32K*8位的EPROM芯片组成128K*16位的只读存储器,试问: (1)数据寄存器多少位? (2)地址寄存器多少位? (3)共需多少个EPROM芯片? (4)画出此存储器组成框图。 解:(1)系统16位数据,所以数据寄存器16位 (2)系统地址128K=217,所以地址寄存器17位 (1) 共需要8片 (2)组成框图如下 8. 存储器容量为64M,字长64位,模块数m = 8,分别用顺序方式和交叉方式进行组织。存储周期T = 100ns,数据总线宽度为64位,总线周期τ = 10ns .问顺序存储器和交叉存储器的带宽各是多少? 解:信息总量: q = 64位 ×8 =512位   顺序存储器和交叉存储器读出8个字的时间分别是:    t2 = m T = 8×100ns =8×10 (s)    t1 = T + (m - 1) = 100 + 7×10 = 1.7 ×10 (s)   顺序存储器带宽是:    W2 = q / t2 = 512÷(8×10 )= 64 ×10 (位/ S)   交叉存储器带宽是:    W1 = q / t1 = 512÷(1.7 ×10 )= 301 ×10 (位/ S) 9. CPU执行一段程序时, cache完成存取的次数为2420次,主存完成存取的次数为80 次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。 解:先求命中率h    h=nc/(nc +nm )=2420÷(2420+80)=0.968   则平均访问时间为ta    ta=0.968×40+(1-0.968) ×240=46.4(ns)    r =240÷40=6   cache/主存系统的效率为e    e=1/[r+(1-r)×0.968]=86.2% 13、一个组相联cache由64个行组成,每组4行,主存储器包含4k个块,每块128个字。求表示内存地址的格式 64行,4行一组,共64/4=16组;主存储器有4K个块,每块128字,共2的19次方个字,所以需要19个地址位,因为块长128,所以低7位表示内偏移,因为块编号对16取余是组号,所以用4位表示对应组号,地址中的最8位无法用cache决定,保留,所以8 4 7 第四章 4.指令格式结构如下所示,试分析指令格式及寻址方式特点。 解:指令格式及寻址方式特点如下:   ① 双字长二地址指令;   ② 操作码OP可指定 =64条指令;   ③ RS型指令,两个操作数一个在寄存器中(16个寄存器之一),另一个在存储器中;   ④ 有效地址通过变址求得:E=(变址寄存器)± D,变址寄存器可有16个。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值