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