计算机组成原理,存储系统

存储系统

概论

  • 局部性原理:在某一段时间内频繁访问某一局部的存储器地址空间,而对此范围外的地址空间则很少访问

    • 时间局部性:最近被访问的信息可能还要被访问

    • 空间局部性:最近被访问信息的邻近地址信息可能也要被访问

  • 寄存器,cache,内存,外存

  • 存储位元:二进制代码位,存储器中最小的存储单位

  • 内存包括cache和主存,能被CPU直接访问的存储器

  • 存储器分类:

    • 存储介质:半导体器件,磁性材料,光存储器

    • 存取方式:随机存储器(RAM),顺序存取存储器(磁带),半顺序(直接)存取存储器(磁盘)

    • 读写功能:只读存储器(ROM),读写存储器(RAM, 可读可写)

    • 信息易失性:易失性存储器(RAM),非易失性存储器(ROM)

    • 与CPU耦合度:内部存储器,外部存储器

  • RAM和ROM

    • 静态RAM(SRAM),动态RAM(DRAM)

    • 只读存储器ROM:掩膜ROM,一次性可编程ROM(PROM),可擦除ROM(EPROM)

      • 紫外线擦除EPROM(UV-EPROM)、电擦除EPROM(EEPROM),闪速只读存储器(FLASH)

  • 存储器的编址和端模式

    • 存放一个字的存储单元,字存储单元,字地址

    • 存放一个字节的存储单元,字节存储单元,字节地址

    • 编址方式:按字编址,按字节编址

    • 机器字可以包含数字节,一个16位二进制的字存储单元包含两个字节,占两个字节地址

  • 技术指标

    • 存储容量KB, MB, GB, TB

      • 存储字数(存储单元数)* 存储字长(每单元的比特数), e.g 1Mbit = 1M * 1bit

    • 存取周期 $$t_{RC} = t_{WC}$$

锁存器

  • AND-OR LATCH锁存器

  • 门锁

    • 数据输入

    • 允许写入,为0时锁住,不允许写入,数据输入线失效

  • 列地址,行地址唯一启动一个锁存器

    • 故所有锁存器共用一条数据线

    • 256 = 16 * 16,行地址线和列地址线各16根

    • 2*4 = 16,多路复用器,译码

  • Random access memory RAM

  • SRAM的锁存器

    • NOR门

    • RS除法器(Rd,Sd)

静态随机存取存储器SRAM

SRAM存取速度快,但存储密度和容量不如DRAM大

  • 基本的静态存储元阵列

    • 64 * 4 = 256个存储位元

    • 三组信号线:地址线,控制线,数据线

    • 双译码,组织更大的存储容量(存储矩阵)

      • 行译码,列译码

      • 控制信号:

        • $$\overline{CS}$$:片选信号,低电平有效

        • $$\overline{OE}$$:输出(读出)使能信号,低电平有效

        • $$\overline{WE}$$:写命令, 读操作(1), 写操作(0)

        • 三态门中给0则断开,考虑取非则是给1为断开

        • 注意读操作时输入缓冲区关闭,输出缓冲器打开,写操作时相反

  • SRAM读/写时序

    • 读周期:读出时间$$t_{AQ}$$,读周期时间$$t_{RC}$$

    • 写周期:写进时间$$t_{WD}$$, 维持时间$$t_{hD}$$, 写周期时间$$t_{WC}$$

    • 存取周期 $$t_{RC}=t_{WC}$$,地址总线才可以改变

  • 存储器容量的扩充

    • 所需芯片数d = 设计要求的存储器容量/已知芯片存储容量

    • 位扩展

      • 地址线、控制线公用,数据线分高低位

    • 字扩展

      • 数据线,读写控制线公用,地址线分开,高位用译码器产生片选信号(代替$$\overline{CS}$$)

    • 字位扩展

动态随机存取存储器DRAM

  • MOS晶体管(金属氧化物半导体场效应晶体管)和电容器组成的单管DRAM记忆电路

    • 输入输出缓冲器(三态门)的打开/关闭靠读写控制信号控制

    • 刷新缓冲器由单独的刷新线控制

    • 存储元由mos管和电容器组成

    • 读出过程破坏电容上存储的信息,要重新写入信息,即刷新

      • 电容器充满电荷代表存储1,没有电荷为0

  • 存储元

  • DRAM芯片的逻辑结构

    • 分时传送行地址,列地址 10位地址码 -> 20位地址线的作用

    • $$\overline{RAS}$$ :行选通信号,先送行 (低电平有效)

    • $$\overline{CAS}$$:列选通信号 (低电平有效)

    • 行地址锁存器和列地址锁存器可以分别暂存行地址和列地址

  • 位线预充电,然后给行地址,整行值存在读出放大器,然后列地址选出需要的列值

  • 读写时序

    • 先给地址(行地址、列地址)

    • 后给控制

    • 最后出数据

  • DRAM的刷新操作

    • 集中式刷新策略

    • 分散式刷新策略

  • 突发传输模式

    • 突发Burst

    • 突发访问时先激活一行,然后按照一定顺序依次发出列选择信号,访问相应的目标存储单元

同步DRAM(SDRAM)

  • 逻辑结构

    • 新增时钟控制CLK,时钟使能CKE,命令译码器,模式寄存器,控制信号发生器

  • 特征

    • 所有输出信号在系统时钟CLK的上升沿被输出

    • 多存储体独立并行操作

    • 命令控制,由一组信号的电平编码组合为命令

      • 激活:选中是使用哪个存储体

  • 与异步DRAM差异

    • 读延迟$$\overline{CAS}$$可编程

  • 控制方式

    • 以时钟信号为依据,所有输出信号在CLK的上升沿输出

    • 激活:选择某个存储体

    • 预充:准备下一轮操作

    • $$\overline{CAS}$$延迟CL:从列地址被锁存到数据有效输出的时间间隔,可编程

    • SDRAM的操作时序是确定的,CPU需等待事先确定好的一定矢量时钟周期,在此期间可以执行其他任务,不必单独等待,提高系统效率

  • SDRAM命令

    • 突发长度BL

双倍数据率SDRAM(DDR SDRAM)

  • 在时钟上升沿和下降沿都能传输数据

  • 2n预取结构prefetch

  • DRAM读/写校验

    • 奇偶校验

    • 纠错码:汉明码

    • F部分为进行奇校验或偶校验的异或运算电路

Cached RAM(CDRAM)

附带高速缓冲存储器的动态存储器,集成了一个小容量SRAM作为高速缓冲器

  • SRAM构成cache,保存最近访问的一行数据

  • 增加“最后读出行地址锁存器”和“行地址比较器”

    • 每次来行地址,做一次比较(首次除外),若命中直接转cache,否则要访问DRAM阵列,并更新最后读出行地址锁存器和cache内容

  • 优点

    • 突发操作速度高

    • SRAM读出期间可同时对DRAM阵列进行刷新

    • 允许写操作完成时同时启动一行的读操作,因为数据输出路径和数据输入路径是分开的

  • 行地址和列地址还是分时传送

只读存储器ROM

  • 大部分可以按地址访问,工作时只读出,不写入,有非易失性

  • 闪存Flash

    • NOR闪存(线性闪存),可以随机读取,接口方式与SRAM相似,常用于引导加载程序等不经常改变的程序代码

    • NAND闪存(非线性闪存),不能随机读出,有高比特错误率,价格低,如优盘,存储卡,固态盘等

  • 一般无法取代RAM,因为编程速度远慢于读取或RAM的写入

并行存储器

是为了提高CPU和主存之间的数据交换率的存储器的优化方式

  • 芯片技术:提高单个芯片的访问速度

  • 结构技术:改进存储器与CPU之间的连接方式

  • 系统结构技术:采用分层存储结构解决访问速度问题

双端口存储器

  • 空间并行技术优化

  • 同一个存储器有两组相互独立的读写控制电路

  • 逻辑框图

    • 左L、右R两端口

    • 高位UB,低位LB控制信号

    • $$\overline{BUSY}$$信号,配合仲裁逻辑解决有冲突的读写控制

  • 无冲突的读写控制:两个端口地址不相同时,在两个端口上进行读写操作,一定不会发生冲突(访问的存储单元不同)

    • 高位,低位字节数据分开控制

    • 片选信号,输出使能信号均为低电平有效

    • “X”代表任意,"Z"代表高阻态

  • 有冲突的读写控制:当两个端口同时存取同一存储单元,且至少有一个端口为写操作时,便发生读写冲突

    • $$\overline{BUSY}$$高电平有效,优先端口$$\overline{BUSY}$$高电平,被延迟的端口$$\overline{BUSY}$$为低电平,低电平的端口不能进行写操作

    • 仲裁逻辑:$$\overline{CE}$$判断和地址有效判断

      • 有冲突时谁快谁取胜

    • “X”是因为片选信号为高电平,地址信号无效

多模块交叉存储器

  • 时间并行优化

  • 线性编址,地址安排方式:

    • 顺序方式

      • 高位字段选模块

      • 各模块串行工作,存储器带宽受到限制

    • 交叉方式

      • 低位字段选模块,可以实现多模块流水式并行存取

  • 多模块交叉存储器基本结构

    • 主存被分成4个相互独立、容量相同的模块,每个模块都有子集的读写控制电路、地址寄存器和数据寄存器

    • CPU同时访问四个模块,分时使用数据总线进行信息传递

  • 流水线方式存取和交叉存取度

  • 只有一套总线路,不能同时送地址/发控制/IO数据

  • 举例

    • 存储体,存储模块内字地址,选择模块

    • 每个模块独立的读写控制电路,地址寄存器,数据寄存器

  • 零等待存取

    • 一个模块刷新时另一个模块可存取

Cache存储器

  • 两级cache

  • cache基本原理

    • 包含SRAM和控制逻辑

    • CPU和cache之间的数据交换以字为单位,cache与主存之间的数据交换以块为单位

      • 一个块由若干个字组成(cache中的一行)

      • cache命中、cache缺失

    • cache:小容量存储器

    • 相联存储表CAM:存放cache内容对应的地址,CAM是一个按内容寻址的存储器

  • cache命中率h、cache/主存系统平均访问时间$$t_a$$、访问效率e

  • cache结构设计

    • 地址映射:主存的地址定位到cache地址

    • 替换算法,写一致性

主存与cache的地址映射

  • 主存块,cache行,都是一个数据块且块大小相同

  • 标记:块地址

  • 全相联映射:主存的一个块可以映射到cache的任意一行

    • 优点:冲突概率小

    • 缺点:高速比较器电路难于设计和实现,只适合于小容量cache

  • 标记位数即为块数的指数幂次

  • 直接映射方式:一个主存块只能拷贝到cache的一个特定行位置上去

    • 内存地址包含映射到cache哪一行的信息,cache标记位数可以减少

      • 对8取余,相当于留下低三位内容

    • 优点:硬件简单,成本低,地址变换速度快

    • 缺点:两个块映射到同一个cache行时,发生冲突要替换,可能出现频繁替换

    • 适合于大容量cache,更多的行数可以减少冲突的机会

  • 标记位数省去去了自动对应的cache行数幂次r

  • 组相联映射:一个主存块只能分配到固定一个cache组里,但组内的行任选

    • 结合了全相联映射和直接映射的特性

  • 标记位数:省去了cache区的幂次d

    • 每组行数v,又称为v路组相联cache

  • 替换策略

    • 最不经常使用LFU算法:将一段时间内(计数周期限定在两次替换之间的间隔时间内)访问次数最少的那行数据换出

    • 近期最少使用LRU算法:将近期内长久未访问过的行换出,每被命中一次,相应计数器清零,每次将数值最大的换出,这样保护了刚复制到cache中的新数据行

      • 二路组相联的cache,用一个二进制位代替计数器(组内两行二选一)

    • 随机替换

  • cache的写操作策略

    • 写回法(write back, copy back)

      • 命中时,只修改cache的内容,直到此行被换出时才写回主存。配置修改位,决定写回还是简单弃去

      • 未命中,复制到cache行后修改,但主存的写修改操作统一留到换出时再进行

    • 全写法(write through)

      • 写命中时,cache和主存同时发生写修改

      • 未命中时,去主存修改

        • WTWA:修改过的主存块取到cache

        • WTNWA:不取主存块到cache

    • 写一次法(write once)

      • 与写回法类似,只是第一次写命中时要同时写入内存

  • Pentium4的cache组织

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值