高位交叉编址与低位交叉编址

1.多体并行存储器

  多体并行交叉存储器是由多个独立的、容量相同的存储模块构成的多体模块存储器。它解决的主要问题是提高主存储器的数据传输速率。

  多体并行存储器分为高位交叉编址低位交叉编址两种。

2.高位交叉编址

  

 

  图是适合于并行工作的高位交叉编址的多体存储器结构示意图,图中程序因按体内地址顺序存放(一个体存满后,再存入下一个体),故又有顺序存储之称。

  高位地址可表示体号,低位地址为体内地址。按这种编址方式,只要合理调动,使不同的请求源同时访问不同的体,便可实现并行工作。

  例如,当一个体正与CPU交换信息时,另一个体可同时与外部设备进行直接存储器访问,实现两个体并行工作。

3.低位交叉编址:

  

 

  图是低位交叉编址的多体模块结构示意图。由于程序连续存放在相邻体中,故又有交叉存储之称。

  低位地址用来表示体号,高位地址为体内地址。这种编址方式又称为模M编址(M等于模块数),一般模块数取2的方幂,使硬件电路比较简单。有的机器为了减少存储器冲突,采取质数个模块。

 

 4.理解

  对于高位交叉编址比较好理解,就像单元号与房号。体号就是单元号,找到程序在体,体内地址就是房号,找到程序的开始位置。

  如何理解程序连续放在相邻的体中,我们举个实际例子: 

 

  存储体的有2个存储芯片,存储周期为100ns,数据按放置方法,先放第一个芯片,放满后再放第2个芯片(顺序方式)。

  那么你读数据的过程就是这样:读0位置数据,等100ns,读1位置数据,等100ns读2位置数据。

  但如果换个方式来放,0位置是1号芯片起始,1位置是2号芯片起始位置,2位置是1号芯片第2个单元,3位置是2号芯片的第2个单元这样交叉来编址。

  再回忆存取周期的概念:存取周期等于存取时间+恢复时间,你读一个芯片后,必须间隔一段时间才能去读。采用交叉编址后,你的读过程就像这样:

  读0位置数据到缓冲区,40ns后,CPU取走了数据。这时1号芯片的100ns的周期还没过,不能去读,但幸运的是我们读的不是1号芯片,而是2号芯片,这样,我们就把2号芯片的数据读到缓冲区。过了40ns后,CPU取走数据,此时过去了80ns,我们只需再等20ns就可以继续去读3号位置数据,这样速度就比以前快了很多。

 

 

参考博客链接:https://blog.csdn.net/nuo_Shar/article/details/79048019

 

 

posted @ 2022-04-12 08:04  风吹过半夏  阅读(7842)  评论(0编辑  收藏  举报