存储系统的笔记

存储系统

计算机存储系统层次及存储介质

op1=>operation: 寄存器组
op2=>operation: cache
op3=>operation: 主存
op4=>operation: 辅存
op1->op2->op3->op4

op11=>operation: 电路(组合逻辑电路)
op22=>operation: SRAM
op33=>operation: DRAM
op44=>operation: 磁表面存储
op11->op22->op33->op44

结论:容量由小到大,速度由高到低,单位存储价格由高到低


cache篇

为什么会提出cache?

  • 避免 CPU “空等” 现象
  • CPU 和主存(DRAM)的速度差异

利用原理

  • 程序访问的局部性原理

重要概念

  • 地址映像:信息从主存装入cache时,主存地址要按一定规则映像为cache地址。

  • 地址转换:程序根据用户提供的主存地址访问cache中对应内容时,要完成主存地址转换为cache地址。

地址映像方式

直接映像

主存字块标记 cache字块地址 字块内地址
t位 c位 b位

全相联映像

主存字块标记 字块内地址
m=t+c位 b位

组相联映像

主存字块标记 组地址 块内地址
t+r位 c位 b位

例题
一个组相联映象Cache由64个存储块构成,每组包含4个存储块,主存包含4096个存储块,每块由此128字组成,访存地址为字地址。

  1. 写出主存地址的位数和地址格式?

  2. 初始CACHE为空,在直接映像方式下若CPU依次访问主存块0,1,2,…,63,循环执行10次,问命中率多少?

解:由题可知为四路组相联
(1)因为主存包含2^{12}(4096)个存储块,每块由2^{7}(128)个字组成,可得主存容量为2^{12}*2^{7}=2^{19},所以主存地址位数为19,块内地址为7位。
又组数为2^{6}/2^{2}=2^{4},则组号为4位,则可得标记需8位。

主存字块标记(8位) 组号(4位) 块内地址(7位)
A18----A11 A10----A7 A6----A0

(2)因为由题可得,刚开始cache无内容,则第一轮全部不命中,之后九次命中,则命中率:9/10=90%


辅存篇

重要概念

存储密度

定义:单位长度或单位面积磁层表面磁层所存储的二进制信息量

道密度

沿磁盘半径方向单位长度的磁道数称为道密度,单位为道/英寸tpi或道/毫米tpmm

位密度或线密度

单位长度磁道所能记录二进制信息的位数叫位密度或线密度,单位为位/英寸bpi或位/毫米bpmm

存储容量

C = n × k × s

寻址时间

平均寻址时间Ta=平均找道时间Ts+平均等待时间Tw

例题
假设某磁盘存储器的平均找道时间为Ts,转速为每分钟r转,每磁道容量为N个字,每信息块为n个字。试推导读写一个信息块所需要总时间Tb的计算公式:
Tb=平均寻址时间+传送时间
平均寻道时间=寻道时间+等待时间
=Ts+转一圈的时间/2
=Ts+(60S/r)/2
=Ts+30/r
令传送n个字所需的传送时间为X,则由数据传输率可得:
N*(r/60)=n/X
计算可得,X=\frac{60n}{rN}
则Tb=Ts+\frac{30}{r}+\frac{60n}{rN}

假设磁盘组有11个盘面,每片有两个记录面;存储区域内直径2.36in,外直径5.00in;道密度为1250tpi,内层位密度为52400bpi,转速为2400rpm。问:

  1. 共有多少个存储面可用?
    由题可得,共有11个盘片,但最上面及最下面将用于封装,无法用于存储,故共有20个存储面。

  2. 共有多少柱面?
    每个盘面上的磁道侧面即为柱面,故磁道数即为柱面数。
    而磁道数=道密度((存储区域外直径-内直径)/2)
    =1250tpi
    ((5-2.36)/2)
    =1650个

  3. 每道存储多少字节?盘组总存储容量是多少?
    (3)已知,各磁道上道容量相等,故:
    内层道容量=道容量=(内层位密度л内直径)
    =(52400bpiл2.36)bit
    =(52400bpiл2.36)/8B
    =48538B=48.538KB
    盘组总存储容量=存储面数磁道数磁道容量
    =20165048.538KB
    =1.6GB

  4. 数据传送率是多少?
    数据传输率Dr=磁道容量转速
    =48.538
    (2400rpm/60)rps
    =1941520B/S=1.9MB/S

  5. 每扇区存储2KB数据,在寻址命令中如何表示磁盘地址?
    已知确定磁盘地址,需确认存储面号、磁道号及扇区号,故磁盘地址需分成三部分。
    存储面:因有20个存储面,故需至少5位用于表示
    磁道号:因有1650个磁道,故至少需11位用于表示
    扇区:因有磁道容量/扇区容量=48538/2048=24个扇区,故至少需5位用于表示
    即可得:
    | 存储面(磁头)号 |磁道号 |扇区号 |
    |:--------|--------:|:-----|
    | 5位 | 11位 | 5位 |

  6. 如果某文件长度超过了一个磁道的容量,应将它记录在同一个存储面上,还是记录在同一个柱面上?
    柱面上
    因为如果记录在一个存储面上,则需要重新寻道,而直接记录在同一个柱面上就不用,则可以节约寻道时间。

你可能感兴趣的:(存储系统的笔记)