現代計算機的硬件組成主要依據下圖這位大神-馮·諾依曼的思想設計的。
馮·諾依曼結構也稱普林斯頓結構,是一種将程序指令存儲器和數據存儲器合并在一起的存儲器結構。
馮·諾依曼
它主要由運算器、控制器、存儲器、輸入設備和輸出設備等五部分組成
結構示意如下圖,原理遠比其複雜,本篇隻是為了簡單介紹就使用了如下簡略圖
工作過程簡述
計算機中在傳輸中使用二進制,即隻有1和0
數據的編碼和進制數據編碼
計算機将現實世界中的數據按類型分為以下大類和小類
機器數 :一個數字在計算機中的二進制表示形式, 叫做這個數的機器數。機器數是帶符号的。
真值: 現實時間中人們直接書寫表述的數
原碼
原碼就是符号位加上真值的絕對值,即用第一位表示符号,其餘位表示值。比如:如果是8位二進制:
[ 1]原= 0000 0001
[-1]原= 1000 0001
第一位是符号位,因為第一位是符号位,所以8位二進制數的取值範圍就是:(即第一位不表示值,隻表示正負。)
[1111 1111 , 0111 1111]
即
[-127 , 127]
原碼是人腦最容易理解和計算的表示方式。
反碼
反碼的表示方法是:
正數的反碼是其本身;
負數的反碼是在其原碼的基礎上,符号位不變,其餘各個位取反。
[ 1] = [0000 0001]原= [0000 0001]反
[-1] = [1000 0001]原= [1111 1110]反
可見如果一個反碼表示的是負數,人腦無法直觀地看出來它的數值。通常要将其轉換成原碼再計算。
補碼
補碼的表示方法是:
正數的補碼就是其本身;
負數的補碼是在其原碼的基礎上,符号位不變,其餘各位取反,最後 1。(也即在反碼的基礎上 1)
[ 1] = [0000 0001]原= [0000 0001]反= [0000 0001]補
[-1] = [1000 0001]原= [1111 1110]反= [1111 1111]補
對于負數,補碼表示方式也是人腦無法直觀看出其數值的。通常也需要轉換成原碼再計算其數值。
數據的編碼數值類數據,将它們轉為二進制比較容易。定點數采用進制轉換,浮點數采用科學計數法來進行轉換表達。
科學計數法示例
非數值類數據 ,由于計算機最開始由美國人發明,所有他們采用ASCII編碼就可以表示所有的英文字母和常用符号。但是漢字是表意文字每個字都有必須有唯一的編碼,所有中國為了使得漢字能輸入計算機和被識别發明了GB系列編碼格式。後來加入的國家越來越多,又才用了Unicode編碼它有更多的容量可以将包含全世界所有語言的文字,所有現在是主流的編碼方式。
中央處理器的主要組成運算器組成:
控制器組成:
總線:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!