計算機體系結構


在這裏插入圖片描述

前言

計算機體系結構指軟、硬件的系統結構 ,有兩方面的含義:它包括機器內的數據表示、尋址方式以及對這些數據的運算和控制這些運算的執行等(即指令系統)看成是一臺計算機的邏輯組成中最基本的軟件。計算機運算器、存儲器、控制器、輸入設備和輸出設備等主要功能部件的相互連接和相互作用,藉以實現機器指令級的各種功能和特性。從最基本的功能和作用原理來說,計算機是在控制器的全面控制下,接收經數字化編碼的輸入信息(程序和數據),把它存放在存儲器中,根據程序的要求對數據進行快速運算,產生結果數據輸出。因此,可以把運算器、存儲器、控制器、輸入設備和輸出設備看成是一臺計算機的邏輯組成中最基本的硬件。

一. 物理(電子的運動)

如果問大家CPU的原料是什麼,大家可能都會輕而易舉的給出答案—是硅,準確的來說是單晶硅,硅(Silicon,Si)是第Ⅳ族元素,因此其化合價外層有4個電子,並與4個相鄰元素緊密連接,形成晶格(lattice)。在上古時代,世界上第一個和第一個商用的雙極結型晶體管都是用鍺做的。摩托羅拉是當時第一家使用晶體管來製造收音機的廠商。但是好景不長,摩托羅拉收到了大量用戶投訴,說他們發現摩托羅拉的車載收音機在午後的陽光下曝曬一個下午後,就不再工作了。因爲鍺在受熱之後會變成本徵態,這使得nMOS晶體管和pMOS晶體管都失去了他們特有的性質,結果雙極結型晶體管不能再工作了。而硅可以經受更高溫度的考驗,具有更好的熱穩定性,並且有着和鑽石一樣棒的晶體結構,這賦予了硅極好的穩定性和強度。電子的運動不只是在CPU裏面進行,一開機TA就在所有通電的硬件裏運動着,電源的電經由主板上電阻、電容等元器件的控制變成微弱的電流在適合TA運動的二級管裏運動。

  • 二進制
  • 邏輯門()

二.器件(晶體管、二極管)

  1. 晶體管(transistor)是一種固體半導體器件,具有檢波、整流、放大、開關、穩壓、信號調製等多種功能。晶體管泛指一切以半導體材料爲基礎的單一元件,包括各種半導體材料製成的二極管、三極管、場效應管、可控硅等(晶體管有時多指晶體三極管)。晶體管作爲一種可變電流開關,能夠基於輸入電壓控制輸出電流。與普通機械開關(如Relay、switch)不同,晶體管利用電訊號來控制自身的開合,而且開關速度可以非常快,實驗室中的切換速度可達100GHz以上。

  2. 二極管(Diode)是一種具有兩個電極的裝置,只允許電流由單一方向流過,許多的使用是應用其整流的功能。而變容二極管(Varicap Diode)則用來當作電子式的可調電容器。大部分二極管所具備的電流方向性我們通常稱之爲“整流(Rectifying)”功能。二極管最普遍的功能就是隻允許電流由單一方向通過(稱爲順向偏壓),反向時阻斷 (稱爲逆向偏壓)。因此,二極管可以想成電子版的逆止閥。

  3. 高速緩存

  4. 虛擬存儲器

  5. 嵌入式I/O

  6. PC I/O

三.模擬電路(放大器、濾波器)

四.數字電路(邏輯門與、或、非)

五.邏輯(加法器、存儲器)

六.微體系結構(數據路徑控制器)

1.單週期處理
2.多週期處理
3.流水線處理
4.硬件描述語言表示
5.高級微體系結構
6.x86微體系結構

七.體系結構(指令寄存器)

體系結構是程序員所見到的計算機,它由指令集(彙編語言)和操作數地址(operand location)(寄存器和存儲器)來定義。如x86、MIPS、SPARC、PowerPC等。

理解計算機體系結構的第一步是學習它的語言。計算機語言中的單詞叫做指令(instruction),詞彙表叫做指令集(instruction set),在同一臺計算機上運行的所有程序使用相同的指令集。即使是非常複雜的軟件應用(如webstorm、myeclipse等)最終都會被編譯爲一系列諸如加法、減法或跳轉的簡單指令,計算機指令包含需要完成的操作和要使用的操作數,如MIPS彙編代碼:add a, b, c用高級語言表示就是a=b+c;
1.彙編語言
在這裏插入圖片描述
因爲計算機用電路的通斷處理信息,所以計算機硬件只能理解二進制信息,指令也會被編碼爲二進制,這樣微處理器纔可以讀取並執行指令需要完成的操作,但是變成了二進制我們人去閱讀就會很枯燥並且麻煩,所以就用符號格式來表示指令,稱爲彙編語言(assembly language),所以彙編語言是計算機機器語言的人類可閱讀表示,每條彙編語言指令都指明瞭需要完成的操作和操作所處理的操作數,操作數可以存放在寄存器或者存儲器中,也可以作爲常數存儲在指令自身當中,訪問寄存器和指令自身的操作數會很快。

彙編語言是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱爲符號語言。在彙編語言中,用助記符(Mnemonics)代替機器指令的操作碼,用地址符號(Symbol)或標號(Label)代替指令或操作數的地址。在不同的設備中,彙編語言對應着不同的機器語言指令集,通過彙編過程轉換成機器指令。普遍地說,特定的彙編語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。

許多彙編程序爲程序開發、彙編控制、輔助調試提供了額外的支持機制。有的彙編語言編程工具經常會提供宏,它們也被稱爲宏彙編器。

彙編語言不像其他大多數的程序設計語言一樣被廣泛用於程序設計。在今天的實際應用中,它通常被應用在底層,硬件操作和高要求的程序優化的場合。驅動程序、嵌入式操作系統和實時運行程序都需要彙編語言。

  1. 機器語言
  2. 編程
  3. 尋址方式
  4. 編譯、彙編和裝入
  5. x86結構

八.操作系統(設備驅動程序)

九.應用軟件(程序 “hello world”)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章