单体多字系统以及多体并行系统
2018-1-2
他們的出現是為了提高訪存的速度。
1.單體多字系統
適用于程序和數據在存儲體內是連續存放的情況。在一個存取周期內,從同一地址取出多條指令,然后再逐條將指令送至CPU執行,這樣增大了存儲器的帶寬,提高了單體存儲器的速度。這里的單體應該就是一個模塊,但是每次可以讀取多個字,可以和多體進行比較。
(圖在唐朔飛老師的計算機組成原理書的103頁)
2.多體并行系統
有多個模塊,每個模塊有相同的容量以及存取速度,各模塊各自都有獨立的地址寄存器(MAR),數據寄存器(MDR),地址譯碼,驅動電路和讀寫電路,他們能夠并行工作,同時也能交叉工作(什么是交叉工作?),但是并行讀出的數據在總線上需要分時傳送。
地址分為體號與體內地址。
對于高位交叉編址的多體存儲器而言,程序按體內地址順序存放,他們在每一個模塊中的地址是連續的,有利于存儲器的擴充。高位地址表示體號,低位地址表示體內地址。
(圖在唐朔飛老師的計算機組成原理書的104頁)
對于地位交叉編址的多體存儲器而言,程序連續存放在相鄰體中(又有交叉存儲之稱),低位地址表示體號,高位地址表示體內地址。這種編址方式又稱為模M編址,其中M為模塊數。
每個模塊的存取周期是不變的,但是CPU交叉訪問各體,使得這幾個存儲體的讀/寫過程重疊進行。
(圖在唐朔飛老師的計算機組成原理書的105頁)
我們根據書上106頁的圖可以得知:
對于低位交叉的存儲器,連續讀取n個字所需的時間為T+(n-1)*t,
對于高位交叉的存儲器,連續讀取n個字所需的時間為n*T,
假設有4個模塊組成的四體存儲器結構,每個體的存儲字長為32位,存取周期為200ns,假設數據總線寬度為32位,總線傳輸周期為50ns,試求順序存儲和交叉存儲的存儲器帶寬。
連續讀出4個字的信息量為32*4=128位,
順序存儲存儲器連續讀出4個字的時間為:200ns*4=800ns
交叉存儲存儲器連續讀出4個字的時間為:200ns+50ns*(4-1)=350ns
順序存儲器的帶寬為:128bit/800ns=16*10^7bps
交叉存儲器的帶寬為:128bit/350ns=37*10^7bps
總結
以上是生活随笔為你收集整理的单体多字系统以及多体并行系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 安装nginx笔记
- 下一篇: JS 客户端浏览器操作、BOM、渗透客户