計算機系統006 硬體元件之RAM

2021-09-11 11:32:42 字數 3269 閱讀 4075

計算機五大元件,已經介紹完了輸入輸出裝置。從前面幾篇中我們了解到,計算任務實際上就是控制單元控制執行單元根據輸入和儲存器中內容計算得到輸出結果,控制單元和執行單元比較複雜,運算時也需要使用到儲存器,所以本篇先展開儲存器相關知識。

如果你還能記得,第一篇電學知識中我們提到過s-r觸發器(flip flop,簡稱ff)。

總的來講,觸發器的工作狀態依賴於兩個開關s和r,閉合乙個斷開另乙個,總會得到兩個相反的輸出q和q',而如果兩個開關都斷開,那麼就保持住q和q』最後處於什麼狀態。完整觸發器真值表如下:

通過使用s-r觸發器或其類似實現版本,可以實現1個bit的儲存。而通過組合使用s-r觸發器,就可以達到多個bit的儲存,也就是ram的由來,而其組成部分中的每個觸發器則被稱為儲存單元)。

記憶體單元的主要職責是儲存儲存在其中的資料直到下一次設定或重置操作的出現,現今廣泛使用的ram主要有靜態ram(static ram)和動態ram(dynamic ram)兩種。

sram直接使用6個電晶體記憶體單元的狀態來儲存1 bit資料,造價相比dram更貴,但同時帶來的好處是比dram擁有更快的訪問速度和更低的能耗。通常用於cpu內部的cache中。

與sram的全電晶體記憶體單元不同的是,dram搭配乙個電晶體和乙個電容器來儲存1 bit資料。其中電容器負責儲存,電晶體負責控制訪問操作。

同樣的,第一篇中捎帶提到電容器原理,從中我們知道電容器由於會對空氣放電的因素,內部電勢差會逐漸衰減。也就是說,儲存其中的1 bit值,如果放任不管,不知道哪次去讀取時,就會從1變成0了,這就無法實現儲存的功能。為了隨時都能夠爭取獲取其中儲存的值,就必須經常對電容就行充電,也稱重新整理

根據能量守恆定律,充電需要額外供電,因此dram功耗肯定是要比sram大的。同時,由於需要經常重新整理dram,訪問速率也自然比不上sram。那還造dram幹嘛?因為dram電路簡單許多,可以擁有非常高的密度,單位體積的容量較高因此成本較低。總的來說就是因為便宜且速率可接受。這沒什麼不好,權衡利弊,夠用就行。

前面講的都是原理,具體到計算機元件應用之前,先放一張cpu使用到的儲存器層級圖,稍後將依次展開。

從圖中我們可以看出,ram屬於臨時儲存區,它和cpu之間至少還間隔著幾層cache,ram下方是永久性儲存區域。永久性儲存區域之前提到過如光碟、硬碟等,但這個cache又是什麼?

前面提到過cache使用的是高大上的sram,擁有速度快、功耗低的特點。快自然是件好事,我們也知道囊中羞澀,無法給cpu配上幾個gb的sram作為ram使用,只能退而求其次,換上速度一般但容量客觀的dram。不過有句話說得好,好鋼用在刀刃上,假如說配個小容量如kb、mb級別的sram能夠提高系統效能,還是值得嘗試的。

隨著硬體的發展,cpu頻率早已達到ghz級別,而同期的dram還在以mhz作為單位,先不去追究為什麼dram無法提公升至ghz級別,就說使用時,這種量級的頻率差異確實拖慢了整個計算機的效能。

之前略微提到,cpu工作時是有指令週期的,指令只是操作方法,要想操作有意義,畢竟還是要有操作物件才行的。操作物件來自**?無論是輸入裝置也好,光碟、硬碟也罷,終究是要載入到ram中,排好了位址,才能載入。如果因為從記憶體中載入拖慢了cpu的執行,那麼這麼肆意地浪費cpu資源就太過奢侈了,畢竟cpu也不便宜啊。

但辦法終歸還是有的,於是乎在cpu和dram之間,插入了小儲存的sram,畢竟cpu每個指令週期操作的物件也有限,無需特別大的空間。這樣一來,cpu對接sram,速率得到了大大提公升。不過現在還沒完,快是快了,但我想更快,又不捨得花太多的錢,只好分配下預算,買一些頂級sram,再買一些稍慢一點的,再買一些慢的dram。反正cpu不和低一級的sram直接對接,也不會影響太大。

於是就有了多個level的cache,費勁心機,無非就是想在預算有限的條件下達到更快

記憶體也稱為主存,使用的是dram記憶體單元。由於前面介紹了sram和dram的主要區別等相關知識,這裡就不再贅述。只要有乙個概念,就是到ram為止,都是掉電就丟失資料的。也就是說,ram只在計算機執行過程中儲存資料,執行完畢斷電後,不負責儲存任何資訊

然而為了實現計算機自動化執行任務,就必須先將任務儲存在計算機內部而不是每次都需要輸入裝置輸入,因此對於永久性儲存裝置的需求十分強烈。

如前面cpu儲存器層級圖所示,永久性儲存器主要分為如下幾種。

首先講rom,rom全稱read only memory,顯而易見是一種唯讀儲存器,其內容在出廠前就已經固化進去,後續只能讀取而不能再次寫入。雖然後面出現別的可擦寫rom如(eprom),但終歸寫入的條件如紫外線要求較高。

rom儲存在乙個非易失性晶元上,即使掉電後其中內容依舊可以儲存。比較廣泛的使用場景是計算機bios,關於bios的部分在後續講解作業系統時會詳細講述。

雖然從本機看起來,不需要依賴儲存磁碟,但終歸網路另一端提供服務的計算機仍然需要磁碟來獲取源資料,因此不管雞生蛋還是蛋生雞,至少能確定,必須有雞才行,而在這裡,雞就是磁碟儲存。

終於到了永久性儲存中的重頭戲,硬碟儲存。硬碟也稱為磁碟,還是要來那麼一句,如果你看了第一章的電學知識的話,那麼你應該能理解為什麼要通過磁來實現儲存。

硬碟之所以成為磁碟是因為它通過改變碟片上磁性的分布來實現儲存,讀取時再根據碟片磁性分布轉換成電訊號,並進一步成為二進位制值。這其中的原理無非是電磁感應,電生磁、磁生電。

講到硬碟,總有關於柱面、扇區、磁頭的內容,本篇也不能免俗。

如圖所示,磁軌是兩個同心圓間區域,該區域等分成扇區,每個扇區位元組數為512b。所有碟片上的同一磁軌構成柱面,由於磁頭為機械裝置,如頻繁定址則開銷較大,因此寫入資料時,就以柱面為單位,儘量減少機械裝置的移動頻率。

到這一步,似乎所有正兒八經點的資料都能給出,但有一點,由於碟片是一張圓盤,也就是說,越往外的磁軌在碟片轉動單位時間內走過的路程越多,也就是說相對靠內的磁軌,其定址速度更快。因此通常將作業系統安裝在靠外柱面可以適量提公升其響應速度,對應到windows也就是c盤位置通常最靠外,其他碟符依次往內。

由於磁頭是機械裝置,既降低了訪問速度,又降低了穩定性,如果訪問過程中由於震動碟片被磁頭劃傷,那資料就可能出現錯誤。假如出現錯誤的資料正好是作業系統,那麼就只有自認倒霉了。

正是因為磁碟存在速度、穩定性等因素,和cache一樣,我們又製造出一種新的硬碟,成為固態硬碟。

對比下就可以發現,ssd使用的是積體電路而非機械裝置來訪問,所以可以達到更高的訪問頻率,也不用再為可能出現的震動操心。比較顯著的缺點就是目前成本仍然較高、同時存在寫入次數有限的問題。為了保證資料的安全性,通常ssd內部會使用多個記憶體單元來儲存乙個bit,即以冗餘來換穩定。

計算機系統004 硬體元件概況

有一段時間沒有更新,一來最近事務繁忙,二來也重新整理了下硬體及作業系統相關知識,以便形成部分後續章節內容概要,避免凌亂。希望遲來的更新對大家依然有所幫助,同樣,如有疑慮,歡迎提出以便及時修正。本篇假設讀者對計算機只是了解有限,將比較細緻地概括計算機中主要單元的外觀及特性,因此濕貨較多,便於形成印象,...

計算機系統組成 計算機系統的組成硬體系統1

計算機的系統組成,由軟體系統和硬體系統組成。對於硬體我們一般印象中的電腦機箱結構是下面這個樣子的 那從理論上來講乙個完整的計算機系統是由什麼組成的呢?我們換個思路來看看下面計算機系統的結構圖 今天我們從硬體開始為大家介紹計算機系統的各個知識點,在計算機所有硬體中最核心的硬體我們稱為 處理器,也就是我...

計算機系統的硬體組成

1 匯流排 貫穿整個系統的是一組電子管道,稱為匯流排 bus 它攜帶資訊位元組並負責在各個部件之間傳遞。通常匯流排被設計成傳送定長的位元組快,也就是字 word 字中的位元組數 即字長 是乙個基本的系統引數,各個系統中都不盡相同。現在大多數機器字長要麼是4個位元組即32位,要麼是8個位元組 64位 ...