《计算机组成原理》存储器(二)

本文探讨了高速缓冲存储器如何解决CPU与I/O设备争抢问题,介绍了直接映射、全相联映射和组相联映射的原理,并通过计算公式阐述了Cache效率和平均访问时间。随后聚焦于辅助存储器,讲解了磁盘表面指标、记录密度、寻址时间及循环冗余校验码的应用。
摘要由CSDN通过智能技术生成

4.3 高速缓冲存储器

4.3.1

在多体并行存储系统中,由于I/O设备向主存请求的级别高于CPU访存,这就出现了CPU等待I/О设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了CPU的工作效率。为了避免CPU与I/0设备争抢访存,可在CPU与主存之间加一级缓存(参见图4.3) ,这样,主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O设备交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。
下图是cache-主存存储空间基本间的基本结构:
字块是由若干字节组成,例如一个字块8个字节,在交换信息的时候整个字块的信息交换
cache标记就是一个地址,2^c = C
在这里插入图片描述
Cache的容量与块长是影响Cache效率的重要因素,通常用“命中率”来衡量Cache的效率。命中率是指CPU 要访问的信息已在Cache内的比率。
在一个程序执行期间,设Nc为访问Cache的总命中次数,Nm为访问主存的总次数,则命中率h为
h = N c / ( N c + N m ) h = N_c/(N_c+N_m) h=Nc/(Nc+Nm)
设t_c为命中时的Cache访问时间, t_m。为未命中时的主存访问时间,1-h表示未命中率,则Cache -主存系统的平均访问时间t_a。为
t a = h t c + ( 1 − h ) t m t_a = ht_c + (1-h)t_m ta=htc+(1h)tm
当然,以较小的硬件代价使Cache-主存系统的平均访问时间t_a越接近于t_c越好。用e表示访问效率,则有
e = t c / t a ∗ 100 % e = t_c/t_a *100\% e=tc/ta100% = t c / ( h t c + ( 1 − h ) t m ) ∗ 100 % = t_c/(ht_c+(1-h)t_m) *100\% =tc/(htc+(1h)tm)100%

4.3.2Cache-主存地址映射

1.直接映射
Cache缓存中的字块依次映射到主存字块,然后不断地循环。在存取数据时会出现Cache空着但是主存块不能使用,比如Cache0号块占用、1号块空着,但是主存的0号块只能与Cache 0 号块对应,2号块不能使用
在这里插入图片描述
主存块只与一个缓存块对应,映射关系式:
i = j m o d C 或 i = j m o d 2 c i = j mod C或 i = j mod 2^c i=jmodCi=jmod2c
i为缓存块号,j为主存块号,C缓存块数

2.全相邻映射
主存中字块与Cache中字块任意对应
CPU访问数据时会从Cache和主存获取,但是需要查询主存中的信息是否在Cache中,需要进行查询,所以全相邻映射,访问速度慢
在这里插入图片描述
由于直接映射空间利用率不高,全相联映射在寻址是速度慢于是有了
3.组相联映射
组内采用全相邻,组间采用直接映射。
在这里插入图片描述
例题跳转.

4.4辅助存储器

4.4.1概述

磁盘表面主要指标
1.记录密度
道密度D_t,道距P
D t = 1 / P D_t = 1/P Dt=1/P
位密度 D_b,f_t为每道总位数,d_min同心圆最小直径
D b = f t / ( π d m i n ) D_b = f_t/(\pi d_{min} ) Db=ft/(πdmin)
2.存储容量
C总容量,n存放信息的盘面数,k为每个盘面磁道数,s为每个磁道上记录的二进制代码数
C = n ∗ k ∗ s C = n*k*s C=nks
PS: 磁盘每层的两个盘面都可以储存,有时最外两层不进行储存

3.平均寻址时间
由存取方式分类可知,磁盘采取直接存取方式,寻址时间分为两个部分,其一是磁头寻找目标磁道的找道时间t_s ,其二是找到磁道后,磁头等待欲读/写的磁道区段旋转到磁头下方所需要的等待时间t_w。由于从最外圈磁道找到最里圈磁道和寻找相邻磁道所需时间是不等的,而且磁头等待不同区段所花的时间也不等,因此,取其平均值,称为平均寻址时间T_a,它是平均找道时间t_sa.和平均等待时间t_wa之和:
T a = t s a + t w a = ( t s m a x + t s m i n ) / 2 + ( t w m a x + t w m i n ) / 2 T_a = t_{sa}+t_{wa} =(t_{smax}+t_{smin})/2 + (t_{wmax}+t_{wmin})/2 Ta=tsa+twa=(tsmax+tsmin)/2+(twmax+twmin)/2

磁表面存储器记录方式
在这里插入图片描述

4.4.6循环冗余校验码

模2运算规则

  1. 模2加和模2减的结果是相等的,即0 ±1 = 1,0 ± 0 = 0,1 ±0= 1,1 土 1 = 0。可见,两个相同数的模⒉和恒为0。
  2. 模⒉乘是按模⒉和求部分积之和。
  3. 模⒉除是按模⒉减求部分余数。每求一位商应使部分余数减少一位。上商的原则是:当部分余数的首位为1时,上商1;当部分余数的首位为0时,上商0。当部分余数的位数小于除数的位数时,该余数即为最后余数。
    在这里插入图片描述
    右侧的“除法运算”,每步其实是异或运算
    在这里插入图片描述
    在这里插入图片描述
    G(x) 是一个多项式,01代表多项式系数,题目中n = 4 就是G(x)位数,k是最高次数
    M(x) 左移 k 位补 0,然后"除"G(x),余数为R(x),
    最后校验码CRC = 左移后的M(x) + R(x)
    CRC码的译码和纠错
    将CRC“除”G(x),余数为0则正确,不为0可以根据传送位数,生成多项式G(x) 确定。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喂★借个微笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值