计算机体系结构-hw9

计算机体系结构-hw9

前言

张科老师的计算机体系结构课后作业,不保证正确,请辩证看待。

Problem 1:

img

如果存在L3 Cache,AMAT为:

AMAT = 0.98*1 + 0.02(0.99 * 10 + 0.01*(0.995 * 30 + 0.005 * 300)) = 1.18427
another answer: 1000 + 20*10 + 10*30 + 5*300 = 3000

如果不存在L3 Cache,AMAT为:

AMAT = 0.98*1 + 0.02*(0.99*10 + 0.01 * 300)= 1.238
another answer: 1000 + 20*10 + 10*300 = 4200

可以发现:使用L3Cache的(平均)内存访问时间比不使用L3Cache的(平均)内存访问时间更短

所以:需要L3 Cache

Problem 2:

img

A-组0 B-组1 C-组0 D-组1 E-组0 F-组1 G-组0 这里假设采用LRU置换,估算命中和失效次数:

失效次数:1+1+1+1+...+1 = 11次

命中次数:1+1+1+1+1 = 5次

Problem 3:

img

由于一个Cacheline大小为64B,8KB的全相联数据缓存阵列,共有Cacheline个数为:

8192B / 64B = 128(个)

  1. 由于采用全相联映射,因此组个数为1,128路.
  2. CacheLine大小为64B,按照字节寻址,可以表示64个地址,共用6bits. 因此offset bits为6bits.
  3. 全相联映射,index bits 为 0.
  4. 由于地址位为40位。tag bits = 40 - 0 - 6 = 34bits
  5. 标记数组大小 = 组个数*路个数*tag大小 = 128 * 34 = 4352bits = 544B.

Problem 4:

img

如果要避免VIPT出现的别名问题,我们应该保证:

    page offset >= block index + block offset

明白了上述的内容之后,我们来做一下这道题:

直接映射L1缓存:

  1. 页面大小16KB,地址以字节寻址,那么一个页面可以表示16K地址。16K = 16 * 1024 = 2^4 * 2^10 = 2^14个地址。共需要14bits.
  2. 由于缓存块大小32B,可以表示32个地址,2^5个地址。共需要5bits.
  3. 即 14 >= block index + 5 => 要满足最大,block index 为9bits。
  4. 9bits共有512路,一路有32B的块。因此:最大映射L1Cache = 512 * 32B = 16KB。

最大二路L1缓存:

  1. 页面大小16KB,地址以字节寻址,那么一个页面可以表示16K地址。16K = 16 * 1024 = 2^4 * 2^10 = 2^14个地址。共需要14bits.
  2. 由于缓存块大小32B,可以表示32个地址,2^5个地址。共需要5bits.
  3. 即 14 >= block index + 5 => 要满足最大,block index 为9bits。
  4. 9bits共有512个组,一个组有两个块.因此最大二路L1Cache = 512*2*32B = 32KB。

Problem 5:

img

先给出DRAM的组织结构:

    Channel(通道) > DIMM(模组) > Rank(内存组) > Chip(内存芯片) > Bank(内存库) > Row/Column(矩阵行列)
  1. 共有DIMMs个数 = 2*4*2 = 16DIMMs
  2. 一个DIMMs有两个2Ranks,因此共有32Ranks
  3. 一个Rank共有16个chips,因此共有32*16 = 512chips(这里总线的位数是64位,x4代表chip带宽为4位,为了保证最大内存容量,需要16个chips)
  4. 一个chip4Gb,因此共有512*4Gb = 2048Gb
  5. 512Gb = 2048 / 8 = 256GB
  6. 因此服务器支持的最大内存容量为:256GB

Problem 6:

img

Request Cache Hit/Miss Request on the bus Who responds State in Cache 1 State in Cache 2 State in Cache 3 State in Cache 4
Inv Inv Inv Inv
P1:Rd X Miss Rd X Memory S Inv Inv Inv
P2:Rd X Miss Rd X Memory S S Inv Inv
P2:Wr X Perms Miss Rdx X/Upgrade X No responds Inv M Inv Inv
P3:Wr X Miss Wr X P2 Inv Inv M Inv
P3:Rd X Hit Inv Inv M Inv
P4:Rd X Miss Rd X P3 responds.
Mem wrtbk
Inv Inv S S

Problem 7:

img

Request Cache Hit/Miss Messages Directory State State in Cache 1 State in Cache 2 State in Cache 3 State in Cache 4
Inv Inv Inv Inv
P1:Rd X Miss Read request to Directory;
Directory responds
X: S: 1 S Inv Inv Inv
P2:Rd X Miss Read request to Directory;
Directory responds
X: S: S S Inv Inv
P2:Wr X Perms Miss Upgrade request to Directory;
Directory Inv request P1;
P1 Inv response Directory;
Directory grants perms to P2;
X: M: 2 Inv M Inv Inv
P3:Wr X Miss Write request to Directory;
Directory Inv request P2;
P2 Inv response Directory with data X;
Directory Write response with data X;
X: M: 3 Inv Inv M Inv
P3:Rd X Hit X: M: 3 Inv Inv M Inv
P4:Rd X Miss P4 Read request to Directory
Directory Down request P3
P3 Down response Directory with data X
Memory write back
Directory responds P4 with data X
X: S: Inv Inv S S

致谢

    [1] 以上图片来自于中国科学院大学-计算机体系结构刘珂老师的课程。
posted @   夏目^_^  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示