8.1-CPU结构(学习笔记)
【README】
本文總結(jié)自bilibili《計(jì)算機(jī)組成原理(哈工大劉宏偉)》的視頻講解,非常棒,墻裂推薦;
【1】CPU結(jié)構(gòu)
Cpu的首要功能就是解釋指令;功能列表如下:
- 1)?? ?取指令:從內(nèi)存中讀取指令;
- 2)?? ?分析指令:對(duì)指令的操作碼部分進(jìn)行解碼;分析這條指令要完成什么功能,是指令集中的哪一條指令;
- 3)?? ?執(zhí)行指令: cpu控制器發(fā)出各種操作命令,由這些操作命令去控制相關(guān)部件去完成指令要求的操作;(這些操作命令有一定的先后順序);
- 4)?? ?控制器控制參數(shù)輸入及結(jié)果輸出;
- 5)?? ?總線管理: 對(duì)總線的控制權(quán),使用權(quán)進(jìn)行管理;
- 6)?? ?處理異常情況和特殊請(qǐng)求: 在程序執(zhí)行過(guò)程中,控制器能夠?qū)Ξ惓G闆r,或特殊請(qǐng)求進(jìn)行及時(shí)處理;
【2】cpu結(jié)構(gòu)框圖
【2.1】總線功能列表
1)?? ?控制總線:雙向,由cpu向各個(gè)部件發(fā)出的控制命令,或外部設(shè)備向cpu提出的請(qǐng)求以及外部設(shè)備的狀態(tài),可以通過(guò)控制總線來(lái)傳輸;
2)?? ?數(shù)據(jù)總線:雙向,由cpu向存儲(chǔ)器或外設(shè)寫(xiě)出或讀入數(shù)據(jù);
3)?? ?地址總線:單向, 由cpu發(fā)出,送給內(nèi)存或外設(shè)接口;
【2.2】cpu內(nèi)部結(jié)構(gòu)
【2.2.1】寄存器
PC,程序計(jì)數(shù)器寄存器,存儲(chǔ)要取出的指令的地址;
IR,指令寄存器,從內(nèi)存中取出指令,被放入到IR寄存器中;
。。。其他寄存器;
【2.2.2】控制單元CU
操作控制和實(shí)際控制:這兩部分需要控制單元CU,由控制單元對(duì)指令進(jìn)行譯碼,譯碼之后,在給定時(shí)刻給出給定的操作命令;
【2.2.3】ALU(算術(shù)邏輯運(yùn)算單元):
算術(shù)運(yùn)算,邏輯運(yùn)算都是在ALU中進(jìn)行計(jì)算中;
另外在運(yùn)算過(guò)程中,還需要寄存器,如2個(gè)操作數(shù)可能都保存在寄存器中,或運(yùn)算結(jié)果也需要輸出到寄存器中;
【2.2.4】中斷系統(tǒng)
還需要中斷處理,所以需要中斷系統(tǒng);
refer2 計(jì)算機(jī)中斷系統(tǒng)小結(jié)(cpu響應(yīng)中斷)_PacosonSWJTU的博客-CSDN博客_各中斷源如何向cpu提出中斷請(qǐng)求
?【3】cpu的寄存器
?【3.1】用戶(hù)可見(jiàn)寄存器
1)?? ?通用寄存器:用于存放操作數(shù),如8086cpu的AX,BX等;
2)?? ?數(shù)據(jù)寄存器:存放操作數(shù),如有保存整數(shù)的寄存器,也有保存浮點(diǎn)數(shù)的寄存器;如把ACC寄存器和MQ寄存器拼接在一起用于保存兩個(gè)數(shù)相乘的積;
3)?? ?地址寄存器:保存地址,如8086cpu中的段寄存器,如段基址,堆棧指針寄存器SP;
4)?? ?條件碼寄存器:存放條件碼,根據(jù)條件碼來(lái)判斷是否要跳轉(zhuǎn)執(zhí)行指令;
補(bǔ)充:用戶(hù)可見(jiàn)的寄存器指的是 用戶(hù)在編寫(xiě)程序的過(guò)程中,可以使用這些寄存器的值;
【3.2】控制和狀態(tài)寄存器
PC -> MAR -> M -> MDR ->IR? 講的是取指令的過(guò)程,其中
步驟如下:
寫(xiě)到這里,本文擴(kuò)展性的給出取指令的步驟(干貨):
| 步驟 | 描述 |
| 1 | PC把下一條指令的內(nèi)存地址送入MAR; |
| 2 | MAR把地址送到地址總線,再由地址總線送到存儲(chǔ)器; |
| 3 | CU把讀控制信號(hào)送到控制總線上;再由控制總線送到存儲(chǔ)器; |
| 4 | 存儲(chǔ)器執(zhí)行讀操作,把相應(yīng)的數(shù)據(jù)送到數(shù)據(jù)總線;通過(guò)數(shù)據(jù)總線送到MDR; (這個(gè)時(shí)候,指令已經(jīng)被取出到cpu了,并保持到MDR寄存器中) |
| 5 | MDR把指令送到IR中; |
| 6 | CU把PC加1(得到下一條指令的地址);為下一條指令的取指操作做準(zhǔn)備; |
【補(bǔ)充】
狀態(tài)寄存器 :反映了指令執(zhí)行結(jié)果的情況或計(jì)算機(jī)的軟硬件狀態(tài);
PSW: 程序狀態(tài)字寄存器(procedure state word);
程序狀態(tài)字是什么?
在中斷或者是子程序調(diào)用過(guò)程中,為了能夠讓程序能夠正確返回?cái)帱c(diǎn),返回?cái)帱c(diǎn)后,還能夠接著執(zhí)行給定程序;在中斷前或轉(zhuǎn)子程序前,就需要保存程序的運(yùn)行現(xiàn)場(chǎng)和斷點(diǎn),包括了程序運(yùn)行的軟硬件信息;這些軟硬件信息就可以保存在程序狀態(tài)字寄存器(它是一個(gè)大的寄存器);
【4】控制單元CU和中斷系統(tǒng)??
【4.1】控制單元CU
1)控制單元作用:產(chǎn)生全部指令在執(zhí)行時(shí)所需要的微操作命令序列;
任何一條指令的執(zhí)行,它會(huì)在cpu中譯碼;
根據(jù)它是一條什么樣的指令,或完成什么功能;要產(chǎn)生完成這些功能所需的微操作命令及序列(保證微操作命令的順序);
2)控制器的設(shè)計(jì)方式
- 組合邏輯設(shè)計(jì): 通過(guò)硬連線邏輯,如精簡(jiǎn)指令集計(jì)算機(jī) CISC;
- 微程序設(shè)計(jì):存儲(chǔ)邏輯;適用于復(fù)雜指令的設(shè)計(jì);
總結(jié)
以上是生活随笔為你收集整理的8.1-CPU结构(学习笔记)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3款经典实用的电脑软件好用的电脑软件大全
- 下一篇: 8.2-指令周期(学习笔记)