前段時間看完了<程序是怎么跑起來的>這本書所以今天寫篇博客來描述一下CPU,內存,硬盤,指令他們之間的關系我會采用總分總得方式來介紹
首先我們說CPU
當然這只是一個大概只是讓我們對cpu有一個大概的了解


很多同學對於寄存器並不清楚是什么東西,我貼張圖大家看看關於寄存器的主要功能現有一個大概的意識
然后是關於內存
簡單來說是用來存儲數據用到 ,應為硬盤速度太慢所以后來人們想創建一個東西來加快讀取數據,就是讓硬盤里的東西先讀取到內存中,這樣需要的時候就可以直接從內存中讀取了,這樣是比較方便的
而對於為什么硬盤比內存讀取數據要快我之前也不是很明白所以我找了一下官方的解釋它的存儲原理和讀取方式不一樣。
硬盤是有機械結構的,磁頭要運動到相應的位置,轉片還在轉動,然后讀取磁信號。
而內存是沒有機械結構的,是電,瞬間到達。電的到達速度要比磁頭的運動快得多,比盤算轉動也快得多。所以,有機械結構的磁頭的讀取速度是不能和無機械結構電的速度相比的。
內存,一般分為RAM、ROM和高速緩存三大類。
硬盤,一般分為機械硬盤和固態硬盤。固態硬盤使用的是閃存,比機械硬盤的磁盤要快得多,但也不能和真正的RAM去比速度。
關於硬盤
硬盤就如上面所說主要是為了讓我們存儲數據每次計算機讀取的數據和存儲的數據都是以硬盤為基礎的,其實內存的數據也是從硬盤讀取的,然后cpu再從內存中讀取數據,就跟一個梯子似的
cpu是最快的他一秒鍾能干的事情 內存可能需要及時秒,硬盤可能需要幾分鍾(當然這個比喻作不得准,只是舉個例子,不喜勿噴啊)
最后我們該說一說指令了,指令這個東西比較復雜,怕自己說不好所以先上官方解釋
- 數據處理指令:包括算術運算指令、邏輯運算指令、移位指令、比較指令等。
- 數據傳送指令:包括寄存器之間、寄存器與主存儲器之間的傳送指令等。
- 程序控制指令:包括條件轉移指令、無條件轉移指令、轉子程序指令等。
- 輸入-輸出指令:包括各種外圍設備的讀、寫指令等。有的計算機將輸入-輸出指令包含在數據傳送指令類中。
- 狀態管理指令:包括諸如實現置存儲保護、中斷處理等功能的管理指令。
指令是一種計算器各個單元的通訊語言,是通過這種語言才完成他們的協作。
從指令的這些定義我們可以看出來指令相當於一個起始點,這個怎么說呢,就好比你吃飯,那你要先拿碗,拿碗你的大腦會給你發送一個指令拿碗,然后你的手就去去做,你的手也可以比作是硬盤,他存儲着個種動作信息,然后內存就相當於在你體內流動的血夜之類的軟組織,如果沒有沒血那你發動這些命令還需要等很久才能執行,而大腦的信息通過血夜以及神經軟組織存儲的一些基本動作比如說手指的握合之類的簡單動作
這樣你就可以迅速的拿起碗然后吃飯了,而CPU,硬盤,內存,指令他們之間也是這個關系,你想一想如果你吃飯的話每次都是發出個信息然后讀取手臂的信息才能動一個動作得好長時間,有時候可能會餓死人的
所以cpu,硬盤,內存,指令,是不可分割的就像人是一個整體,密不可分,當然可能科技以后發達了,可能會出現新的東西也不一定,關於他們就介紹到這吧,實在墨水有限,等以后對他們理解的更深入的時候再寫一下后記吧!