8k乘8存儲器多少字
『壹』 【計算機組成原理】這里8K*8位的存儲器為什麼容量是8kb,這是怎麼算的
一個位元組等於八位,8片8k×1位的存儲器就是8k×8位,大寫的B表示的是位元組,所以存儲器容量是8k位元組沒問題。
『貳』 計算機組成原理(三)存儲系統
輔存中的數據要調入主存後才能被CPU訪問
按存儲介質,存儲器可分為磁表面存儲器(磁碟、磁帶)、磁心存儲器半導體存儲器(MOS型存儲器、雙極型存儲器)和光存儲器(光碟)。
隨機存取存儲器(RAM):讀寫任何一個存儲單元所需時間都相同,與存儲單元所在的物理位置無關,如內存條等
順序存取存儲器(SAM):讀寫一個存儲單元所需時間取決於存儲單元所在的物理位置,如磁碟等
直接存取存儲器(DAM):既有隨機存取特性,也有順序存取特性。先直接選取信息所在區域,然後按順序方式存取。如硬碟等
相聯存儲器,即可以按內容訪問的存儲器(CAM)可以按照內容檢索到存儲位置進行讀寫,「快表」就是一種相聯存儲器
讀寫存儲器—即可讀、也可寫(如:磁碟、內存、Cache)
只讀存儲器—只能讀,不能寫(如:實體音樂專輯通常採用CD-ROM,實體電影採用藍光光碟,BIOS通常寫在ROM中)
斷電後,存儲信息消失的存儲器——易失性存儲器(主存、Cache)
斷電後,存儲信息依然保持的存儲器——非易失性存儲器(磁碟、光碟)
信息讀出後,原存儲信息被破壞——破壞性讀出(如DRAM晶元,讀出數據後要進行重寫)
信息讀出後,原存儲信息不被破壞——非破壞性讀出(如SRAM晶元、磁碟、光碟)
存儲器晶元的基本電路如下
封裝後如下圖所示
圖中的每條線都會對應一個金屬引腳,另外還有供電引腳、接地引腳,故可以由此求引腳數目
n位地址對應2 n 個存儲單元
假如有8k×8位的存儲晶元,即
現代計算機通常按位元組編址,即每個位元組對應一個地址
但也支持按位元組定址、按字定址、按半字定址、按雙字定址
(Dynamic Random Access Memory,DRAM)即動態RAM,使用柵極電容存儲信息
(Static Random Access Memory,SRAM)即靜態RAM,使用雙穩態觸發器存儲信息
DRAM用於主存、SRAM用於Cache,兩者都屬於易失性存儲器
簡單模型下需要有 根選通線,而行列地址下僅需 根選通線
ROM晶元具有非易失性,斷電後數據不會丟失
主板上的BIOS晶元(ROM),存儲了「自舉裝入程序」,負責引導裝入操作系統(開機)。邏輯上,主存由 輔存RAM+ROM組成,且二者常統一編址
位擴展的連接方式是將多個存儲晶元的地址端、片選端和讀寫控制端相應並聯,數據端分別引出。
字擴展是指增加存儲器中字的數量,而位數不變。字擴展將晶元的地址線、數據線、讀寫控制線相應並聯,而由片選信號來區分各晶元的地址范圍。
實際上,存儲器往往需要同時擴充字和位。字位同時擴展是指既增加存儲字的數量,又增加存儲字長。
兩個埠對同一主存操作有以下4種情況:
當出現(3)(4)時,置「忙」信號為0,由判斷邏輯決定暫時關閉一個埠(即被延時),未被關閉的埠正常訪問,被關閉的埠延長一個很短的時間段後再訪問。
多體並行存儲器由多體模塊組成。每個模塊都有相同的容量和存取速度,各模塊都有獨立的讀寫控制電路、地址寄存器和數據寄存器。它們既能並行工作,又能交義工作。多體並行存儲器分為高位交叉編址(順序方式)和低位交叉編址(交叉方式)兩種.
①高位交叉編址
②低位交叉編址
採用「流水線」的方式並行存取(宏觀上並行,微觀上串列),連續取n個存儲字耗時可縮短為
宏觀上,一個存儲周期內,m體交叉存儲器可以提供的數據量為單個模塊的m倍。存取周期為T,存取時間/匯流排傳輸周期為r,為了使流水線不間斷,應保證模塊數
單體多字系統的特點是存儲器中只有一個存儲體,每個存儲單元存儲m個字,匯流排寬度也為m個字。一次並行讀出m個字,地址必須順序排列並處於同一存儲單元。
缺點:每次只能同時取m個字,不能單獨取其中某個字;指令和數據在主存內必須是連續存放的
為便於Cache 和主存之間交換信息,Cache 和主存都被劃分為相等的塊,Cache 塊又稱Cache 行,每塊由若干位元組組成。塊的長度稱為塊長(Cache 行長)。由於Cache 的容量遠小於主存的容盤,所以Cache中的塊數要遠少於主存中的塊數,它僅保存主存中最活躍的若干塊的副本。因此 Cache 按照某種策略,預測CPU在未來一段時間內欲訪存的數據,將其裝入Cache.
將某些主存塊復制到Cache中,緩和CPU與主存之間的速度矛盾
CPU欲訪問的信息已在Cache中的比率稱為命中率H。先訪問Cache,若Cache未命中再訪問主存,系統的平均訪問時間t 為
同時訪問Cache和主存,若Cache命中則立即停止訪問主存系統的平均訪問時間t 為
空間局部性:在最近的未來要用到的信息(指令和數據),很可能與現在正在使用的信息在存儲空間上是鄰近的
時間局部性:在最近的未來要用到的信息,很可能是現在正在使用的信息
基於局部性原理,不難想到,可以把CPU目前訪問的地址「周圍」的部分數據放到Cache中
直接映射方式不需要考慮替換演算法,僅全相聯映射和組相聯映射需要考慮
①隨機演算法(RAND):若Cache已滿,則隨機選擇一塊替換。實現簡單,但完全沒考慮局部性原理,命中率低,實際效果很不穩定
②先進先出演算法(FIFO):若Cache已滿,則替換最先被調入Cache的塊。實現簡單,依然沒考慮局部性原理
③近期最少使用演算法(LRU):為每一個Cache塊設置一個「計數器」,用於記錄每個Cache塊已經有多久沒被訪問了。當Cache滿後替換「計數器」最大的.基於「局部性原理」,LRU演算法的實際運行效果優秀,Cache命中率高。
④最不經常使用演算法(LFU):為每一個Cache塊設置一個「計數器」,用於記錄每個Cache塊被訪問過幾次。當Cache滿後替換「計數器」最小的.並沒有很好地遵循局部性原理,因此實際運行效果不如LRU
現代計算機常採用多級Cache,各級Cache之間常採用「全寫法+非寫分配法」;Cache-主存之間常採用「寫回法+寫分配法」
寫回法(write-back):當CPU對Cache寫命中時,只修改Cache的內容,而不立即寫入主存,只有當此塊被換出時才寫回主存。減少了訪存次數,但存在數據不一致的隱患。
全寫法(寫直通法,write-through):當CPU對Cache寫命中時,必須把數據同時寫入Cache和主存,一般使用寫緩沖(write buffer)。使用寫緩沖,CPU寫的速度很快,若寫操作不頻繁,則效果很好。若寫操作很頻繁,可能會因為寫緩沖飽和而發生阻塞訪存次數增加,速度變慢,但更能保證數據一致性
寫分配法(write-allocate):當CPU對Cache寫不命中時,把主存中的塊調入Cache,在Cache中修改。通常搭配寫回法使用。
非寫分配法(not-write-allocate):當CPU對Cache寫不命中時只寫入主存,不調入Cache。搭配全寫法使用。
頁式存儲系統:一個程序(進程)在邏輯上被分為若干個大小相等的「頁面」, 「頁面」大小與「塊」的大小相同 。每個頁面可以離散地放入不同的主存塊中。CPU執行的機器指令中,使用的是「邏輯地址」,因此需要通「頁表」將邏輯地址轉為物理地址。頁表的作用:記錄了每個邏輯頁面存放在哪個主存塊中
邏輯地址(虛地址):程序員視角看到的地址
物理地址(實地址):實際在主存中的地址
快表是一種「相聯存儲器」,可以按內容尋訪,表中存儲的是頁表項的副本;Cache中存儲的是主存塊的副本
地址映射表中每一行都有對應的標記項
主存-輔存:實現虛擬存儲系統,解決了主存容量不夠的問題
Cache-主存:解決了主存與CPU速度不匹配的問題