高速存储器

来源:互联网 发布:软件 一面 苹果 编辑:程序博客网 时间:2024/06/11 05:19

1、双端口存储器

  • 由于同一个存储器具有两组相互独立的读写控制线路而得名
  • 当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突
  • 当任意端口备选中时,就可对整个存储器进行存取
  • 当两个端口同时存取存储器的同一存储单元时,便发生了读写冲突; 为解决此问题,设置了BUSY标志,片上的逻辑判断会决定对哪个端口优先进行读写操作,而对另一个被延迟的端口设置BUSY标志,即暂时关闭此端口;也就是说存取操作对有BUSY标志的端口是无效的
2、多模块交叉存储器
  • 一个由若干个模块组成的主存储器是线性编址的; 可分为顺序方式、交叉方式
  • 在顺序方式中某个模块进行存取时,其他模块不工作; 当某一模块出现故障时,其他模块可以照常工作

  • 可以看出,用地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字; 这样,连续地址分布在相邻的不同模块内,而同一模块内的地址都是不连续的; 因此,定性分析,对连续字的成块传送,交叉方式的存储器可以实现多模块流水式并行存取,大大的提高了存储器的带宽
  • 对于交叉存储器,CPU同时可访问多个模块
  • 顺序存储读取M个字所需时间为:t = MT(T是存取一个字的存储周期)
  • 交叉存储读取M个字所需的时间为:t = T + (M - 1)t (t 是总线传送周期)
3、相联存储器
  • 之前的存储器都是按照地址访问的存储器,而相联存储器是按内容访问的存储器
  • 相联存储器就是利用数据的某一项存储内容作为地址来存取的存取器
  • 选来当地址的字段称为关键字,简称键
  • 所以,基本原理是把存储单元所存内容的某一部分作为检索项(即关键字),去检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写入
  • 在计算机系统中,相联存储器主要用于虚拟存储器中存放分段表、页表和块表