計算機系統簡介
硬件體系
講授內容:計算機、組織(組成:計算機硬件系統的邏輯實現——數字電路、數字邏輯)、原理(不依托機器)
基本內容
基本部件的結構與組織方式
基本運算的操作原理
基本部件與基本單元的設計思想,如何將部件連接起來
特色
計算機組成的一般原理,不易具體機型為依托
采用自頂而下的方式、層層細化
教材:唐碩飛-計算機組成原理(第二版),學習指導與習題解答
參考教材:Patterson\Hennessy-計算機組成與設計:硬/軟件接口;數字設計和計算機體系結構(共有兩部分,實現處理器)
計算機組成原理是連接軟硬件的中間層
課程組織
1、概論
2、計算機系統硬件結構 存儲器、IO、CPU、系統總線
3、CPU(ALU、CU、寄存器)
4、CU(排隊邏輯、寄存器解碼器、控制存儲器)
第一章 計算機系統概論
物聯網:將傳感器嵌入到各設備之中,並且被普遍連接,即“物聯網”,+“互聯網”=人類社會與物理系統的整合。
超算:HPC(higher performance computer) TF(千萬億次)
1.1計算機軟硬件概念
計算機系統:硬件(實體)、軟件(具有各類特殊功能的信息組成)
層次結構——軟件:系統軟件(管理整個計算機系統;語言處理程序,操作系統,服務性程序(數學庫),數據庫管理系統)、應用軟件(按任務需要編織成的各種程序)
高級語言--匯編語言--機器語言-||軟硬件分界線||-微指令解釋機器指令--硬件執行微指令
計算機組成與計算機體系結構區別:實現計算機體系結構所體現的屬性(具體指令實現);系統結構定義了軟硬件交界面,程序員所見到的計算機系統屬性(指令 系統、數據類型、尋址技術、IO機理)
1.2計算機的基本組成
馮諾依曼計算機(存儲程序型計算機)特點
五大組成部分:運算器、控制器、存儲器、輸入設備、輸出設備
指令和數據以同等地位保存在存儲器中,咳咳按地址尋訪
指令和數據二進制表示(為什么?)
指令有操作碼和地址碼
存儲程序
以運算器為中心
馮諾依曼計算機硬件框圖 (實線:數據;虛線:控制)
存在問題:以運算器為核心(瓶頸)
改進:
1.以存儲器為中心
可以用層次化的設計思想
改進:層次化(按層次划分模塊)、模塊化(要能夠組裝在一起,有明確定義的功能和接口方便組裝)、規則性(是模塊更容易被重用,對模塊規范化),也稱3Y法則
可計算理論:可計算性問題,不可計算問題(圖靈機停機問題)
建立數學模型(eg sin(x)) 、確定計算方法(泰勒展開,精度確認)
指令和數據都是保存在存儲器中(存儲器結構,如何訪問存儲器)
存儲器結構
1.存儲器的基本組成:存儲體-存儲單元(二進制代碼)-存儲字(單元中二進制代碼集合)-存儲字長(存儲單元中二進制代碼的位數,每個存儲單元賦予一個地址號;按地址尋訪)-存儲元件;
MAR-存儲器地址寄存器,反應存儲單元個數
MDR-存儲器數據寄存器,反應存儲字長
存儲體存儲01代碼
每個存儲單元里存儲的01個數稱為存儲字長
假設MAR4位,從0000到1111,說明一共有16個存儲單元
MDR8位,說明每個存儲字字長是8位
運算器
假設程序已經保存為二進制代碼,可按地址尋訪
假設模型機有三個寄存器:累加器、
結構與功能(完成運算)
ALU,組合電路,特點是輸入結果撤銷,那么輸出也撤銷;因此要在其輸入端加上寄存器(保存參與運算的數據;ACC,X數據寄存器);乘法中產生的結果長度是操作數的兩倍(為什么),因此要加另一個寄存器
加法操作
memory
減法操作
乘法操作
乘法操作移位,這些操作總體上有先后順序(由控制器控制)
除法操作
可以看出,MQ僅用於乘除,所以MQ寄存器又叫做,乘商寄存器
控制器
功能:解釋指令,保證指令按序進行
完成一條指令:取指令、分析指令、執行指令
取指令:PC(程序計數器) 存放當前欲執行指令的地址,具備計數功能(PC)+1 -->PC(自動調整)
分析指令:IR(指令寄存器)存放當前欲執行的指令
執行指令:CU(控制單元)
運算器、控制器、存儲器構成了主機
主機上一條指令的執行過程
以取數指令為例:
一、取指令
1.PC把指定地址送給MAR
2.MAR再送給存儲體
3.控制器控制下,存儲體把指定存儲單元中保存的取數指令取出來,送入MDR
4.把指令送給IR
二、分析指令
5.把寄存器中的操作碼送給CU進行執行,把M中的數據取到ACC中;把地址部分送給存儲器,以便從存儲體中取數據
三、IR開始(保存了當前指令,當前指令地址、當前指令操作數的地址),地址嗎部分從把地址送給MAR,MAR 把地址送給存儲體,在控制器的作用下,從存儲體中把數取出,存入MDR,再送入ACC
OP 操作碼;Ad地址碼;連打印也得經過取指令、分析指令、執行指令的過程
課后練習:
將乘法、除法指令的運行過程按照上述計算機結構表述出來
1.3計算機硬件的主要技術指標
1.機器字長,CPU一次能夠處理數據的位數,(CPU可以對兩個8位數做加法結果依舊是8位,那么這個CPU一次可以處理的數據位數是8位,不是24位;機器字長和CPU的寄存器位數相等的;為了簡化問題,存儲器字長也是這樣——僅限於當前假設的模型機)
一般來說,機器字長越長,性能越好;
2.運算速度
主頻
核數,每個核支持的線程數
吉布森法(指令執行速度),以使用頻率做權重來做加權平均
CPI 執行一條指令所需的時鍾周期
MIPS 每秒執行百萬條指令
FLOPS 美妙浮點運算次數
3.存儲容量(主存容量、輔存容量)
存放二進制信息總位數