注:所學(xué)教材為《計(jì)算機(jī)組成原理(第二版)》 唐朔飛 編著 ; 本次梳理涵蓋內(nèi)容為:
第一章 計(jì)算機(jī)系統(tǒng)概論
1.1 計(jì)算機(jī)系統(tǒng)簡介
1.2 計(jì)算機(jī)的基本組成
參考內(nèi)容以及圖片來源為書本和csdn博文
第一章 計(jì)算機(jī)系統(tǒng)概論
1.1 計(jì)算機(jī)系統(tǒng)簡介
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):主要研究軟硬件功能的分配和對(duì)軟硬件界面的確定前痘。
計(jì)算機(jī)組成是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的邏輯實(shí)現(xiàn)怀浆。
計(jì)算機(jī)實(shí)現(xiàn)是對(duì)計(jì)算機(jī)組成的物理實(shí)現(xiàn)。
計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)
第三級(jí): 虛擬機(jī)器M4(高級(jí)語言機(jī)器) 用編譯程序翻譯成匯編語言程序
第二級(jí): 虛擬機(jī)器M3(匯編語言機(jī)器) 用匯編語言翻譯成機(jī)器語言程序
操作系統(tǒng): 虛擬機(jī)器M2 (操作系統(tǒng)機(jī)器) 用機(jī)器語言解釋操作系統(tǒng)
第一級(jí): 傳統(tǒng)機(jī)器M1(傳統(tǒng)機(jī)器M1) 用微程序解釋機(jī)器命令
第零級(jí): 微程序機(jī)器M0 (微指令系統(tǒng)) 由硬件直接執(zhí)行微指令
1.2 計(jì)算機(jī)的基本組成
馮·諾依曼計(jì)算機(jī)的特點(diǎn)(機(jī)器以運(yùn)算器為中心)
1. 計(jì)算機(jī)由運(yùn)算器有咨、存儲(chǔ)器蚜点、控制器、輸入設(shè)備和輸出設(shè)備五大部件組成
2. 指令(程序)和數(shù)據(jù)以二進(jìn)制不加區(qū)別地存儲(chǔ)在存儲(chǔ)器中
3. 程序自動(dòng)運(yùn)行
現(xiàn)代計(jì)算機(jī)由三大部分組成(已經(jīng)轉(zhuǎn)化為以存儲(chǔ)器為中心)
1. CPU(Central Processing Unit) 中央處理器,核心部件為ALU(Arithmetic Logic Unit,算術(shù)邏輯單元)和CU(Control Unit,控制單元)
2. I/O設(shè)備(受CU控制)
3. 主存儲(chǔ)器(Main Memory,MM),分為RAM(隨機(jī)存儲(chǔ)器)和ROM(只讀存儲(chǔ)器)
//CPU與MM合成主機(jī)炭臭,I/O設(shè)備可稱為外部設(shè)備
一條指令在CPU的執(zhí)行過程
// 專業(yè)術(shù)語
1. Ad(Address) 形式地址
2. DR(Data Register) 數(shù)據(jù)寄存器
3. AR(Address Register) 地址寄存器(MAR)
4. IR(Instruction Register) 指令寄存器
5. BR(Buffer Register) 緩沖寄存器(MBR)
5. ID(Instruction Decoder) 指令譯碼器
6. PC(ProgramCounter) 程序計(jì)數(shù)器
CPU內(nèi)部結(jié)構(gòu)框圖
過程詳述:
幾乎所有的馮·諾伊曼型計(jì)算機(jī)的CPU,其工作都可以分為5個(gè)階段:
取指令
指令譯碼
執(zhí)行指令
訪存取數(shù)
結(jié)果寫回
1.取指令階段
取指令(Instruction Fetch袍辞,IF)階段是將一條指令從主存中取到指令寄存器的過程。
程序計(jì)數(shù)器PC中的數(shù)值常摧,用來指示當(dāng)前指令在主存中的位置搅吁。當(dāng)一條指令被取出后,PC中的數(shù)值將根據(jù)指令字長度而自動(dòng)遞增:若為單字長指令落午,則(PC)+1àPC谎懦;若為雙字長指令,則(PC)+2àPC溃斋,依此類推界拦。
//PC -> AR -> Memory
//Memory -> IR
2.指令譯碼階段
取出指令后,計(jì)算機(jī)立即進(jìn)入指令譯碼(Instruction Decode梗劫,ID)階段享甸。
在指令譯碼階段,指令譯碼器按照預(yù)定的指令格式梳侨,對(duì)取回的指令進(jìn)行拆分和解釋蛉威,識(shí)別區(qū)分出不同的指令類別以及各種獲取操作數(shù)的方法。
在組合邏輯控制的計(jì)算機(jī)中走哺,指令譯碼器對(duì)不同的指令操作碼產(chǎn)生不同的控制電位蚯嫌,以形成不同的微操作序列;在微程序控制的計(jì)算機(jī)中丙躏,指令譯碼器用指令操作碼來找到執(zhí)行該指令的微程序的入口择示,并從此入口開始執(zhí)行。
// { 1.Ad
//Memory -> IR -> ID -> { 2.PC變化
// { 3.CU(Control Unit)
3.訪存取數(shù)階段
根據(jù)指令需要晒旅,有可能要訪問主存栅盲,讀取操作數(shù),這樣就進(jìn)入了訪存取數(shù)(Memory敢朱,MEM)階段剪菱。
此階段的任務(wù)是:根據(jù)指令地址碼,得到操作數(shù)在主存中的地址拴签,并從主存中讀取該操作數(shù)用于運(yùn)算孝常。
//Ad -> AR -> AD -> Memory
4.執(zhí)行指令階段
在取指令和指令譯碼階段之后,接著進(jìn)入執(zhí)行指令(Execute蚓哩,EX)階段构灸。
此階段的任務(wù)是完成指令所規(guī)定的各種操作,具體實(shí)現(xiàn)指令的功能岸梨。為此喜颁,CPU的不同部分被連接起來稠氮,以執(zhí)行所需的操作。
例如半开,如果要求完成一個(gè)加法運(yùn)算隔披,算術(shù)邏輯單元ALU將被連接到一組輸入和一組輸出,輸入端提供需要相加的數(shù)值寂拆,輸出端將含有最后的運(yùn)算結(jié)果奢米。
//Memory -> DR -> ALU
5.結(jié)果寫回階段
作為最后一個(gè)階段,結(jié)果寫回(Writeback纠永,WB)階段把執(zhí)行指令階段的運(yùn)行結(jié)果數(shù)據(jù)“寫回”到某種存儲(chǔ)形式:結(jié)果數(shù)據(jù)經(jīng)常被寫到CPU的內(nèi)部寄存器中鬓长,以便被后續(xù)的指令快速地存取尝江;在有些情況下涉波,結(jié)果數(shù)據(jù)也可被寫入相對(duì)較慢、但較廉價(jià)且容量較大的主存炭序。許多指令還會(huì)改變程序狀態(tài)字寄存器中標(biāo)志位的狀態(tài)啤覆,這些標(biāo)志位標(biāo)識(shí)著不同的操作結(jié)果,可被用來影響程序的動(dòng)作少态。
//DR -> Memory
6.循環(huán)階段
在指令執(zhí)行完畢城侧、結(jié)果數(shù)據(jù)寫回之后,若無意外事件(如結(jié)果溢出等)發(fā)生彼妻,計(jì)算機(jī)就接著從程序計(jì)數(shù)器PC中取得下一條指令地址嫌佑,開始新一輪的循環(huán),下一個(gè)指令周期將順序取出下一條指令侨歉。
//重復(fù) 1~5
//遇hlt(holt on)停止