并行存储器知识总结

并行存储器知识总结

CPU与存储之间的速度常常是不匹配的,数据存取常常成为计算瓶颈。解决这个问题一方面可以通过提高速度来解决,另一个方面可以通过优化存储结构来解决。

存储优化途径

存储优化有三个途径:

途径1: 并行存储器
双端口存储器
多存储器并行存储
途径 2: 设置各种缓冲器
通用寄存器
途径 3: 采用分层的存储系统
cache
虚拟存储系统

对于第一种并行存储器,根据并行维度的不同,可以分为两种:

空间并行
双端口存储器
时间并行
多存储模块并行存储

这里讨论的是最后一种,多存储模块并行存储。这种存储器由多个模块组成,每个模块称为一个存储体。存储器的地址码包括存储体的体内地址和存储体号两部分。这种存储器又叫做LVM(local vector memory)

并行存储器

并行存储器有两种增加访问数据量的方法由两种:
增加存储器字长:并行访问存储器
增加存储体个数:交叉访问存储器,无冲突访问存储器

并行访问存储器

把地址码分成两个部分,其中一部分仍作为存储器的地址去访问存储器(因为存储器的字数减少了,因此访问存储器的地址码可以缩短),而另一部分则去控制一个多路选择器,从同时读出的n个数据中选择一个数据输出。
并行访问存储器的主要优点是实现非常简单、容易。主要缺点是访问的冲突比较大。
并行访问存储器的冲突主要来自如下几个方面:
  (1)取指令冲突。在遇到转移指令,而且转移成功时,同一个存储周期中读出的n条指令,在转移指令后面的指令将无用。
  (2)读操作数冲突。一次同时读出的n个操作数,不一定都有用。换一种说法,需要的多个操作数不一定正好都存放在同一个存储字中。
  (3)写数据冲突。这种并行访问的存储器,必须凑齐了n个数之后才能一起写入存储器。如果只写一个字,必须先把属于同一个存储字的n个数据都读到数据寄存器中,然后在地址码的控制下修改其中的一个字,最后再把整个存储字写回存储器中。
  (4)读写冲突。当要读出的一个字和要写入存储器的一个字处在同一个存储字内时,无法在一个存储周期内完成。
  在这4种冲突中,第1种冲突的概率比较小,因为,程序在大多数情况下是顺序执行的。第2种冲突的概率比较大,因为操作数的随机性比程序要大。第3和第4种冲突,解决起来有一定困难,需要专门的控制电路。
  分析发生这些冲突的原因,从存储器本身来看,主要是因为地址寄存器和控制逻辑只有一套。如果有n个独立的地址寄存器和n套独立的读写控制逻辑,那么,上述第3和第4种两种冲突也就自然解决了,第1和第2种冲突也有所缓解(减少位宽,增加存储体个数)。
并行访问存储器

交叉访问存储器

交叉访问存储器根据交叉位的不同,可以分为低位交叉高位交叉

高位交叉

访问地址按顺序分配给各个模块,某个模块工作的时候其他模块不工作。
编码格式:
假设有n个存储体,每个存储体容量为m个存储单元,则编码格式为

logn2 l o g 2 n logm2 l o g 2 m

高位选模块,低位选块内地址

  • 12
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值