ram是什么意思 ram是什么( 二 )


摩爾定律:當價格不變時,集成電路上可容納的元器件的數目,約每隔18-24個月便會增加一倍,性能也將提升一倍 。
半導體行業開始騰飛了 。CPU上集成的晶體管數量越來越多 。intel i9的制程工藝已經到了14nm 。所以CPU的執行速度也越來越快 。
當然,摩爾定律也快到盡頭了,根據量子力學,2nm是理論極限值 。線寬不能再細了,低于2nm,隧穿效應就會產生干擾 。
閑扯了一段CPU的發展歷史,想說明的是,現在的CPU集成度越來越高,速度也越來越快 。每秒鐘能執行的指令也越來越多 。(如果不知道指令,匯編之類的啥意思,看一下我的的另一篇文章關于跨平臺的一些認識,否則下面的內容看著也有難度) 。
CPU的作用就是去執行指令(當然,也包括輸出結果等,本文只討論和存儲器相關,所以不扯其他的),并且盡可能的以它的極限更高速度去執行指令,至于具體的執行過程,做過單片機或者學過微機原理的應該比較清楚 。就是伴隨著時鐘周期滴滴答答的節奏,CPU踏著拍子來執行指令 。
至于CPU的指令集,那就是Intel的架構師們的工作,總之,CPU認識這些指令,并且能執行運算 。(別忘記了馮諾依曼體系結構那張圖) 。對于這些指令,但是CPU采取了各種措施來加快執行過程(也可以理解為加快它的計算速度) 。比如有以下幾種常見的措施:
流水線(pipeline)技術:有電子廠打工經歷的讀者肯定很熟悉這個流水線模式 。CPU的流水線工作方式和工業生產上的流水線概念一樣 。就是將一個指令的執行過程也分解為多個步驟,CPU中的每個電路只執行其中一個步驟,這樣前赴后繼加快執行速度 。CPU中多個不同功能的電路單元組成一條指令處理流水線,然后將一條指令分成幾個步驟后再由這些電路單元分別執行 。在執行過程中,指令源源不斷的送往CPU 。讓每個電路單元都不閑著,這樣就大大的加快了執行速度 。超線程(Hyper-Threading)技術:對于超線程,百度百科的解釋我都沒看懂,但是大概原理就是這樣的 。CPU在進行線程切換的時候,要執行 切換各種寄存器狀態等一些操作 。把之一個線程的各種寄存器狀態寫回緩存中保存,然后把第二個線程的相關內容送到各種寄存器上 。該過程必不可少,否則待會再將之一個線程切換回來時,不知道該線程的各個狀態,那還怎么接著繼續執行呢?也正因為如此,所以這個過程比較慢,大概需要幾萬個時鐘周期 。所以后來做了這樣的設計,把每個寄存器等都多做一個,就是多做一組寄存器(也包括一些其他相關電路等),,CPU在執行A線程時,使用的之一組寄存器,切換到B線程,直接使用第二組寄存器,然后再切換A線程時,再使用之一組寄存器 。,CPU就不用再傻傻的等著寄存器值的切換,線程切換只需要幾個時鐘周期就夠了 。對于普通的執行多任務的計算機,CPU線程切換是個非常頻繁的操作,所以使用該技術就會節省大量的時鐘周期 。也就是相當于加快了CPU的執行速度 。這就是CPU宣傳參數中所謂的四核八線程的由來,其實就是超線程技術 。(每個核多做一組寄存器等電路固然會占用寶貴的空間,但是它帶來的優點遠遠大于缺點) 。超標量技術:CPU可以在每個時鐘周期內執行多個操作,可以實行指令的并行運算 。亂序執行: 我們認為程序都是順序執行的 。但是在CPU層面上,指令的執行順序并不一定與它們在機器級程序(匯編)中的順序一樣 。比如 a = b+c; d++;這兩個語句 不按照順序執行也不會影響最終結果 。當然這只是在CPU執行指令的層面,在程序員們看來,依舊認為程序是順序執行的 。前面扯了那么多,就是為了說明CPU的執行速度很快 。雖然每條指令的執行時間需要幾個時鐘周期到幾十個時鐘周期不等 。但是CPU采用了種種技術來加快執行過程 。所以平均執行一條指令只需要一個周期 。而現在CPU主頻都那么高 。比如i7 7700K主頻達到了 4.2G 。這也就意味著,每個core每秒鐘大約可以執行4.2億條指令 。那四個core呢?
CPU每秒鐘可以執行幾億(甚至十幾億)條指令,所以它的執行速度真丫的的快啊
我們討論完CPU如此快的執行速度,我們再來說我們常見的存儲設備-機械硬盤 。

ram是什么意思  ram是什么

文章插圖
圖2:機械硬盤結構
機械硬盤的結構就不再具體的討論了 。它讓我想起了民國電影中那種播放音樂的唱片機 。
帶機械硬盤的電腦,在使用過程中,如果機箱被摔了,可能后果很嚴重,就是因為可能會把機械硬盤的那個讀寫頭/傳動臂等機械結構摔壞 。

推薦閱讀