計(jì)算機(jī)硬件(第2章原理)_第1頁(yè)
計(jì)算機(jī)硬件(第2章原理)_第2頁(yè)
計(jì)算機(jī)硬件(第2章原理)_第3頁(yè)
計(jì)算機(jī)硬件(第2章原理)_第4頁(yè)
計(jì)算機(jī)硬件(第2章原理)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 1 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)第二章第二章 計(jì)算機(jī)的工作原理與指令系統(tǒng)計(jì)算機(jī)的工作原理與指令系統(tǒng) 本章主要內(nèi)容本章主要內(nèi)容2.1 2.1 計(jì)算機(jī)系統(tǒng)的硬件結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)的硬件結(jié)構(gòu) 計(jì)算機(jī)的五大主要部件、總線結(jié)構(gòu)。計(jì)算機(jī)的五大主要部件、總線結(jié)構(gòu)。2.2 CPU2.2 CPU的組成與工作原理的組成與工作原理 CPU的組成、工作原理,數(shù)據(jù)表示、編碼和運(yùn)算,的組成、工作原理,數(shù)據(jù)表示、編碼和運(yùn)算,CPU控制,控制,x86結(jié)構(gòu)。結(jié)構(gòu)。2.3 2.3 內(nèi)存的組成及讀寫(xiě)原理內(nèi)存的組成及讀寫(xiě)原理 內(nèi)存組成和基本結(jié)構(gòu),讀寫(xiě)方式,內(nèi)存與內(nèi)存組成和基本結(jié)構(gòu),讀寫(xiě)方式,內(nèi)存與CPU的接口,的接口,堆棧操作。堆棧操作。

2、2.4 2.4 指令系統(tǒng)指令系統(tǒng) 指令系統(tǒng)的概念,尋址,指令系統(tǒng)的概念,尋址,x86x86指令系統(tǒng)簡(jiǎn)介。指令系統(tǒng)簡(jiǎn)介。 2.5 2.5 計(jì)算機(jī)的工作過(guò)程計(jì)算機(jī)的工作過(guò)程 CPU的基本工作過(guò)程的基本工作過(guò)程第 2 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.1 計(jì)算機(jī)系統(tǒng)的硬件結(jié)構(gòu)2.1.1 計(jì)算機(jī)的主要部件計(jì)算機(jī)五大基本部件:運(yùn)算器運(yùn)算器控制器控制器內(nèi)存儲(chǔ)器內(nèi)存儲(chǔ)器輸入設(shè)備輸入設(shè)備輸出設(shè)輸出設(shè)備備外存儲(chǔ)器外存儲(chǔ)器控制數(shù)據(jù)地址或指令CPU主機(jī)外設(shè)存儲(chǔ)器CPU主機(jī)外設(shè)CPU = 運(yùn)算器+控制器+寄存器 Central Processing Unit MPU = 一塊IC的CPUMicro Processing Uni

3、t運(yùn)算器運(yùn)算器 執(zhí)行全部的算術(shù)和邏輯執(zhí)行全部的算術(shù)和邏輯運(yùn)算。運(yùn)算。 控制器控制器 計(jì)算機(jī)的控制中心,控計(jì)算機(jī)的控制中心,控制和同步其他各個(gè)部件。制和同步其他各個(gè)部件。存儲(chǔ)器存儲(chǔ)器 計(jì)算機(jī)的主要記憶部件,計(jì)算機(jī)的主要記憶部件,以字節(jié)為單位的、線性編以字節(jié)為單位的、線性編址的二進(jìn)制記憶部件。址的二進(jìn)制記憶部件。輸入、輸出設(shè)備輸入、輸出設(shè)備 通過(guò)接口電路連接到總通過(guò)接口電路連接到總線的計(jì)算機(jī)外部設(shè)備。線的計(jì)算機(jī)外部設(shè)備。 第 3 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.1.2 計(jì)算機(jī)的總線結(jié)構(gòu) 總線總線(BUS):能為多個(gè)部件服務(wù)的公共信息傳送線路,分時(shí)地發(fā)送與接收各部件的信息??偩€信息:總線信息:地址信息(地址

4、總線)、數(shù)據(jù)信息(數(shù)據(jù)總線)和控制信息(控制總線) 地址總線地址總線(AB):?jiǎn)蜗?,用于向?nèi)存、外部端口傳輸?shù)刂沸畔?。:?jiǎn)蜗颍糜谙騼?nèi)存、外部端口傳輸?shù)刂沸畔ⅰ?數(shù)據(jù)總線數(shù)據(jù)總線(DB):雙向,傳輸各種數(shù)據(jù)信息。:雙向,傳輸各種數(shù)據(jù)信息。 控制總線控制總線(CB):傳輸控制信息。包括讀寫(xiě)、中斷等。:傳輸控制信息。包括讀寫(xiě)、中斷等。系統(tǒng)總線CPU內(nèi)存接口外部設(shè)備接口外部設(shè)備.單總線結(jié)構(gòu)單總線結(jié)構(gòu)第 4 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)連接到總線上的設(shè)備主要有:CPU 一般情況下總線由CPU控制內(nèi)部存儲(chǔ)器內(nèi)部存儲(chǔ)器 是完全被動(dòng)的總線設(shè)備接口電路接口電路 所有外部設(shè)備必須通過(guò)接口電路連接到計(jì)算機(jī),不同的接口電路

5、可能擁有不同的端口地址、中斷等??偩€的特點(diǎn) 公共性、高速性、標(biāo)準(zhǔn)性。公共性、高速性、標(biāo)準(zhǔn)性。單總線和多總線 多總線計(jì)算機(jī)系統(tǒng)中同時(shí)存在多條總線。目前微機(jī)算機(jī)中都是采用多總線結(jié)構(gòu)。 解決不同的部件速度不一致的問(wèn)題。 為存儲(chǔ)器設(shè)計(jì)專(zhuān)用的數(shù)據(jù)通道。 兼容符合不同的總線標(biāo)準(zhǔn)的設(shè)備。2.1.2 計(jì)算機(jī)的總線結(jié)構(gòu)第 5 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2 CPU的組成與工作原理CPUCPU主要包括運(yùn)算器和控制器主要包括運(yùn)算器和控制器1 1運(yùn)算器運(yùn)算器ALU:Arithmetic and logical Unit 累加器累加器A A:N位的寄存器,用于保存運(yùn)算過(guò)程中的有關(guān)數(shù)據(jù)。 緩存器緩存器R R(暫時(shí)寄存器):N

6、位寄存器,接收來(lái)自累加器和數(shù)據(jù)總線的數(shù)據(jù)。 加法器加法器:由N個(gè)全加器構(gòu)成。數(shù)據(jù)總線加法器暫存器 R累加器A暫存器第 6 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.1 中央處理器的基本構(gòu)成 2.2.控制器控制器 程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC,又稱(chēng)指令計(jì)數(shù)器、指令指針(IP) 指令寄存器指令寄存器IRIR 指令譯碼器指令譯碼器IDID,又稱(chēng)操作碼譯碼器、指令功能分析解釋器。 地址形成部件地址形成部件 微操作信號(hào)發(fā)生器,微操作信號(hào)發(fā)生器,確定完成指令所需要的步驟及完成每一步驟所需要的控制信號(hào)組合。 時(shí)序部件,時(shí)序部件,產(chǎn)生定時(shí)信號(hào)第 7 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.1 中央處理器的基本構(gòu)成CPU中的寄存器組3.

7、 CPU3. CPU中的寄存器組中的寄存器組 按功能分有通用寄存器和專(zhuān)用寄存器 通用寄存器通用寄存器存放原始數(shù)據(jù)和運(yùn)算結(jié)果作為變址寄存器、計(jì)數(shù)器、地址指針等。 專(zhuān)用寄存器專(zhuān)用寄存器程序計(jì)數(shù)器PC、指令指針I(yè)P指令寄存器IR等狀態(tài)標(biāo)志寄存器,主要包括兩部分內(nèi)容: 狀態(tài)標(biāo)志,如:進(jìn)位標(biāo)志、結(jié)果為零標(biāo)志等,大多數(shù)運(yùn)算類(lèi)指令的執(zhí)行將會(huì)影響到這些標(biāo)志位。 控制標(biāo)志,如:中斷標(biāo)志、陷阱標(biāo)志等。第 8 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 數(shù)字化信息編碼的概念: 在計(jì)算機(jī)內(nèi)一切信息必須進(jìn)行數(shù)字化編碼(即用二進(jìn)在計(jì)算機(jī)內(nèi)一切信息必須進(jìn)行數(shù)字化編碼(即用二進(jìn)制代碼形式),才能在機(jī)內(nèi)傳送、存儲(chǔ)和

8、處理。制代碼形式),才能在機(jī)內(nèi)傳送、存儲(chǔ)和處理。輸入電路 10110101計(jì)算機(jī)主機(jī) 10100010輸出電路二進(jìn)制:只有0和1,記數(shù)按“逢二進(jìn)一”規(guī)律,第k位權(quán)是2k。 二進(jìn)制二進(jìn)制 十進(jìn)制十進(jìn)制 bnbn-1bn-2 b0 = dndn-1dn-2 . d0 = bkX2kk=0ndkX10kk=0n1011=1X23+0X22+1X21+1X20 325 = 3X102 + 2X101 + 5X100 = 1X8 + 0X4 + 1X2 + 1X1 = 3X100 + 2X10 + 5X1第 9 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)二進(jìn)制: b7 b6 b5 b4 b3 b2 b1 b0 權(quán)值: 128

9、 64 32 16 8 4 2 1 27 26 25 24 23 22 21 20二進(jìn)制小數(shù):小數(shù)點(diǎn)后第二進(jìn)制小數(shù):小數(shù)點(diǎn)后第k位權(quán)值位位權(quán)值位2-k = 1/2k。1101.1001 (二進(jìn)制) = 1X8 + 1X4 + 0X2 + 1X1 + 1X0.5 + 0X0.25 + 0X0.125 + 1X0.0625 = 13.5625 (十進(jìn)制) 二進(jìn)制:0 . B-1 b-2 b-3 b-4 權(quán)值: 0.5 0.25 0.125 0.0625 2-1 2-2 2-3 2-4 1/2 1/4 1/8 1/162.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示二進(jìn)制 第 10 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)原碼、反碼

10、和補(bǔ)碼原碼、反碼和補(bǔ)碼原碼:二進(jìn)制的最高位為符號(hào)位,0正1負(fù),其余各位同無(wú)符號(hào)二進(jìn)制。125D原 = 0 1111101-125D原 = 1 1111101 符號(hào)位符號(hào)位 數(shù)值位數(shù)值位 8位原碼表示數(shù)的范圍:-127 +127,且00000000和10000000含義相同。反碼:正數(shù)的反碼和原碼相同,負(fù)數(shù)的反碼為其原碼將數(shù)值位求反,即0變1,1變0。125D反 = 0 1111101-125D反 = 1 0000010 符號(hào)位符號(hào)位 數(shù)值位數(shù)值位2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示原碼、反碼和補(bǔ)碼第 11 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ) 8位反碼表示數(shù)的范圍:-127 +127,且0 0000000和11

11、111111含義相同。補(bǔ)碼:補(bǔ)碼:正數(shù)的補(bǔ)碼和原碼相同,負(fù)數(shù)的補(bǔ)碼為其原碼將數(shù)值位求反+1。125D補(bǔ) = 0 1111101-125D補(bǔ) = 1 0000011 符號(hào)位 數(shù)值位 8位補(bǔ)碼表示數(shù)的范圍:-128 +127,最主要的優(yōu)點(diǎn)是在加、減運(yùn)算時(shí)不需要判斷符號(hào)位,所以CPU在進(jìn)行有符號(hào)數(shù)的加、減運(yùn)算時(shí)用的是補(bǔ)碼。例:分別求出十進(jìn)制數(shù)78D和-120D的原碼、反碼和補(bǔ)碼。 將78D和120D分別轉(zhuǎn)換成二進(jìn)制:2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示原碼、反碼和補(bǔ)碼 第 12 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)78D和和-120D的原碼:的原碼:78D原原 = 0 1001110-120D原原 = 1 11110

12、0078D和和-120D的反碼:的反碼:78D反反 = 0 1001110-120D反反 = 1 000011178D和和-120D的補(bǔ)碼:的補(bǔ)碼:78D補(bǔ)補(bǔ) = 0 1001110-120D補(bǔ)補(bǔ) = 1 0001000 2 | 1 2 0 2 | 6 0 0 2 | 3 0 0 2 | 1 5 0 2 | 7 1 2 | 3 1 2 | 1 1 0 1 120D = 1111000 2 | 7 8 2 | 3 9 0 2 | 1 9 1 2 | 9 1 2 | 4 1 2 | 2 0 2 | 1 0 0 1 78D = 10011102.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示原碼、反碼和補(bǔ)碼 第 1

13、3 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示原碼、反碼和補(bǔ)碼三種機(jī)器數(shù)的比較三種機(jī)器數(shù)的比較 對(duì)于正數(shù)它們相等,而對(duì)于負(fù)數(shù)各有不同的表示。 補(bǔ)碼和反碼的符號(hào)位可作為數(shù)值位的一部分看待,但原碼的符號(hào)位不允許和數(shù)值位同等看待。 原碼和反碼各有兩種零的表示法,而補(bǔ)碼具有唯一的一種零的表示法。 原碼、反碼表示的正、負(fù)數(shù)范圍相對(duì)零來(lái)說(shuō)是對(duì)稱(chēng)的,但補(bǔ)碼負(fù)數(shù)表示范圍較正數(shù)表示范圍寬。補(bǔ)碼的運(yùn)算補(bǔ)碼的運(yùn)算XX補(bǔ)補(bǔ)+Y+Y補(bǔ)補(bǔ)=X+Y=X+Y補(bǔ)補(bǔ)XX補(bǔ)補(bǔ)-Y-Y補(bǔ)補(bǔ)=X-Y=X-Y補(bǔ)補(bǔ)=X=X補(bǔ)補(bǔ)+-Y+-Y補(bǔ)補(bǔ)第 14 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示原碼、反碼和補(bǔ)碼符號(hào)擴(kuò)

14、展:如將8位轉(zhuǎn)換為16位 原碼的符號(hào)擴(kuò)展正數(shù):0010 1001 0000 0000 0010 1001負(fù)數(shù):1010 1001 1000 0000 0010 1001 反碼的符號(hào)擴(kuò)展正數(shù):0010 1001 0000 0000 0010 1001負(fù)數(shù):1010 1001 1111 1111 1010 1001 補(bǔ)碼的符號(hào)擴(kuò)展正數(shù):0010 1001 0000 0000 0010 1001負(fù)數(shù):1010 1001 1111 1111 1010 1001 80X86有符號(hào)擴(kuò)展的專(zhuān)用指令。第 15 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn)邏輯運(yùn)算邏輯運(yùn)算 一般CPU有與、或、非、異

15、或等邏輯指令。邏輯運(yùn)算是按位進(jìn)行的,位與位之間沒(méi)有進(jìn)位/借位的關(guān)系。與或非異或00 = 000 = 000 = 001 = 001 = 1 0 = 101 = 110 = 010 = 110 = 111 = 111 = 1 1 = 011 = 00 與任何數(shù)結(jié)果為 0僅當(dāng) 1 與 1 時(shí)結(jié)果為 11 或任何數(shù)結(jié)果為 1僅當(dāng) 0 或 0 時(shí)結(jié)果為 0求反:0 變 11 變 0又叫模 2 加相同為 0不同為 1第 16 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.4 2.2.4 控制信號(hào)的產(chǎn)生控制信號(hào)的產(chǎn)生 1. 時(shí)序系統(tǒng) 與CPU時(shí)序有關(guān)的基本概念 指令周期:一條指令從取出、分析、取數(shù)到執(zhí)行完該指令所需的全部時(shí)

16、間。不同指令的指令周期可能不同。 機(jī)器周期:每個(gè)機(jī)器周期完成一個(gè)任務(wù)(指令中的一個(gè)步驟)。若干個(gè)機(jī)器周期組成一個(gè)指令周期。 時(shí)鐘周期:時(shí)鐘脈沖信號(hào)的間隔時(shí)間稱(chēng)為時(shí)鐘周期,CPU的任何操作都是在時(shí)鐘脈沖的統(tǒng)一控制下一步一步地進(jìn)行的。機(jī)器周期由若干時(shí)鐘周期組成。 總線周期:在微型計(jì)算機(jī)中,CPU與外部系統(tǒng)(內(nèi)存或外設(shè))的信息交換都是通過(guò)總線進(jìn)行的,將CPU一次訪問(wèn)(即讀或?qū)懀﹥?nèi)存或外設(shè)所花費(fèi)的時(shí)間,稱(chēng)為總線周期。第 17 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)機(jī)器周期機(jī)器周期指令地址操作數(shù)地址CPU時(shí)鐘地址總線數(shù)據(jù)總線指令操作數(shù).指令周期一個(gè)最基本的機(jī)器周期由多個(gè)(個(gè)數(shù)可能不同)時(shí)鐘周期組成。執(zhí)行一條指令需要多個(gè)(

17、個(gè)數(shù)可能不同)機(jī)器周期 。2.2.4 2.2.4 控制信號(hào)的產(chǎn)生控制信號(hào)的產(chǎn)生 第 18 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.4 控制信號(hào)的產(chǎn)生控制電路的硬件實(shí)現(xiàn)方法 2控制器電路的硬件實(shí)現(xiàn)方法控制器的核心是微操作信號(hào)發(fā)生器,它的輸入是譯碼后的指令操作碼,輸出是微操作控制命令。微操作信號(hào)發(fā)生器的兩種實(shí)現(xiàn)方法: 硬布線控制器硬布線控制器,采用組合邏輯技術(shù)實(shí)現(xiàn),特點(diǎn): 指令執(zhí)行速度快 微操作信號(hào)發(fā)生器的結(jié)構(gòu)不規(guī)整,設(shè)計(jì)、調(diào)試?yán)щy,難以實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。 微程序控制器 把微操作控制命令代碼化,用微指令實(shí)現(xiàn)機(jī)器指令,特點(diǎn): 設(shè)計(jì)規(guī)整、調(diào)試以及更改、擴(kuò)充指令方便,易于實(shí)現(xiàn)自動(dòng)化設(shè)計(jì)。 增加了一級(jí)控制內(nèi)存,指令的執(zhí)

18、行速度比硬布線控制器慢。第 19 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.5 2.2.5 典型典型CPUCPU的總體結(jié)構(gòu)的總體結(jié)構(gòu)8086的內(nèi)部結(jié)構(gòu) 由兩個(gè)獨(dú)立的部件:執(zhí)行 部 件E U 和 總線接口部件BIU構(gòu)成。暫存器標(biāo)志奇存器EU控制器CSDSSSESIP內(nèi)部寄存器1 2 3 4 5 6總線控制邏輯SPBPDISI通用寄存器地址總線(20位)數(shù)據(jù)總線(16位)系統(tǒng)總線指令緩沖器(8位)執(zhí)行單元(EU)總線接口單元(BIU)ALU數(shù)據(jù)總線(16位)AXBXCXDXALUAH ALBH BLDH DLCH CL1 180868086的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)運(yùn)算器數(shù)據(jù)寄存器組控制器指令隊(duì)列地址加法器段寄存器第

19、 20 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ) 執(zhí)行部件EU 負(fù)責(zé)執(zhí)行指令完成取指令完成取指令( (內(nèi)部?jī)?nèi)部) )、譯碼、產(chǎn)生指令所需的各種控制信、譯碼、產(chǎn)生指令所需的各種控制信號(hào)。號(hào)。ALUALU進(jìn)行算術(shù)、邏輯運(yùn)算。進(jìn)行算術(shù)、邏輯運(yùn)算。通用寄存器組暫存操作數(shù)據(jù)或中間結(jié)果。通用寄存器組暫存操作數(shù)據(jù)或中間結(jié)果。 總線接口部件BIU 負(fù)責(zé)與外部的信息交換。從內(nèi)存取指令從內(nèi)存取指令( (外部外部) )送到指令隊(duì)列,完成指令緩沖。送到指令隊(duì)列,完成指令緩沖。根據(jù)根據(jù)EUEU送來(lái)的送來(lái)的1616位偏移地址,通過(guò)地址產(chǎn)生器生成位偏移地址,通過(guò)地址產(chǎn)生器生成2020位位的物理地址。的物理地址。配合配合EUEU的請(qǐng)求,完成與的

20、請(qǐng)求,完成與CPUCPU外部的數(shù)據(jù)交換。外部的數(shù)據(jù)交換。 EU和BIU是兩個(gè)獨(dú)立的工作部件,在大多數(shù)情況下,它們能并行重疊操作,在EU執(zhí)行指令的同時(shí),BIU也在進(jìn)行取指令、讀操作數(shù)或存入結(jié)果數(shù)據(jù)的操作。2.2.5 2.2.5 典型典型CPUCPU的總體結(jié)構(gòu)的總體結(jié)構(gòu)8086的內(nèi)部結(jié)構(gòu) 第 21 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.5 典型CPU的總體結(jié)構(gòu) 8086的寄存器結(jié)構(gòu)8個(gè)16位通用寄存器: 4個(gè)16位數(shù)據(jù)寄存器(可分為2個(gè)8位) 2個(gè)16位變址寄存器 2個(gè)16位指針寄存器。指令指針寄存器IP 存放當(dāng)前要執(zhí)行的指令的偏移量地址。4個(gè)段寄存器 CS、SS、DS、ES分別存放代碼段、堆棧段、數(shù)據(jù)段和

21、附加數(shù)據(jù)段的段地址。標(biāo)志寄存器AHALBHBLCHCLDHDLFLAGSSPBPSIDIIPCSDSSSESAX(累加器)BX(基址寄存器)DX(數(shù)據(jù)寄存器)CX(記數(shù)器)(源地址寄存器)(目的地址寄存器)(堆棧指針寄存器)(基址指針寄存器)指令指針寄存器標(biāo)志寄存器代碼段寄存器數(shù)據(jù)段寄存器附加段寄存器堆棧段寄存器數(shù)據(jù) 寄存器變址 寄存器指針 寄存器 段寄存器通用 寄存器28086的寄存器結(jié)構(gòu)第 22 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)15 14 131211OF10DF9IF8TF7SF6ZF54AF32PF10CFOF 溢出1 = 溢出標(biāo)志有符號(hào)數(shù)運(yùn)算結(jié)果溢出DF 方向1 = 減,0 = 增用于字符串指令

22、IF中斷1 = 允許用于外部中斷開(kāi)關(guān)TF 單步1 = 單步狀態(tài)用于單步調(diào)試程序SF 符號(hào)1 = 負(fù),0 = 正標(biāo)志運(yùn)算結(jié)果的符號(hào)ZF 零1 = 零,0 = 非零標(biāo)志運(yùn)算結(jié)果是否為0AF 輔助進(jìn)位1 = 有進(jìn)位/借位半字節(jié)間的進(jìn)位/借位PF 奇偶1 = 偶,0 = 奇運(yùn)算結(jié)果中1的個(gè)數(shù)CF 進(jìn)位1 = 有進(jìn)位/借位運(yùn)算是否產(chǎn)生進(jìn)位/借位2.2.5 典型CPU的總體結(jié)構(gòu) 標(biāo)志寄存器標(biāo)志寄存器用于存放運(yùn)算結(jié)果的屬性,和控制標(biāo)志。第 23 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3 內(nèi)存的組成與讀寫(xiě)原理2.3.1 內(nèi)存組成 1. 三級(jí)存儲(chǔ)系統(tǒng) 計(jì)算機(jī)系統(tǒng)中,規(guī)模較大的存儲(chǔ)器往往分成若干級(jí),稱(chēng)存儲(chǔ)系統(tǒng)。 Cache:高

23、速緩沖存儲(chǔ)器 Cache是比內(nèi)存容量小得多的、但速度比內(nèi)存快得多的高速存儲(chǔ)器。 Cache的作用是為了提高CPU對(duì)內(nèi)存的訪問(wèn)速度。對(duì)用戶(hù)透明。 CPU內(nèi)部的Cache稱(chēng)為一級(jí)Cache(L1 Cache)CPU外部的Cache稱(chēng)為二級(jí)Cache(L2 Cache)內(nèi)部存儲(chǔ)器 主存儲(chǔ)器。外部存儲(chǔ)器(輔助存儲(chǔ)器) 硬盤(pán)、軟盤(pán)、光盤(pán)、U盤(pán)、磁帶等。CPU寄存器 Cache內(nèi)部存儲(chǔ)器內(nèi)部存儲(chǔ)器外部存儲(chǔ)器外部存儲(chǔ)器 第 24 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成內(nèi)部存儲(chǔ)器的的基本結(jié)構(gòu)容量2k n地址總線數(shù)據(jù)總線ReadWriteMFCk位n位CPUDRAR內(nèi)存容量2k n地址總線數(shù)據(jù)總線ReadWr

24、iteMFCk位n位CPUDRAR內(nèi)存2.內(nèi)存儲(chǔ)器的的基本結(jié)構(gòu)由2k個(gè)存儲(chǔ)單元組成,單元的編號(hào)是地址。每個(gè)單元可以是1/4/8位。接收并暫存來(lái)自地址總線(AB)的地址信號(hào)。將k位地址變換成2k個(gè)輸出控制信號(hào),每個(gè)控制信號(hào)對(duì)應(yīng)一個(gè)存儲(chǔ)單元。寫(xiě)存儲(chǔ)器時(shí)暫存來(lái)自數(shù)據(jù)總線的(DB)數(shù)據(jù)。 讀存儲(chǔ)器時(shí)暫存來(lái)自存儲(chǔ)體的數(shù)據(jù)。第 25 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成內(nèi)存的存儲(chǔ)單元3.內(nèi)存的存儲(chǔ)單元 存儲(chǔ)單元是CPU對(duì)主存儲(chǔ)器的最小訪問(wèn)單位,一般為字節(jié)(8位)。E W R 選 寫(xiě) 讀通0/1D0數(shù)據(jù)0/1D1數(shù)據(jù)0/1D2數(shù)據(jù)0/1D3數(shù)據(jù)0/1D4數(shù)據(jù)0/1D5數(shù)據(jù)0/1D6數(shù)據(jù)0/1D7數(shù)據(jù)0/

25、1D數(shù)據(jù)E W R 選 寫(xiě) 讀通EWR0XX無(wú)操作100無(wú)操作101讀110寫(xiě)111非法斷開(kāi)斷開(kāi)輸入輸出數(shù)據(jù)線操作第 26 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.2 內(nèi)存的讀寫(xiě) 內(nèi)存和CPU之間的連接2. CPU對(duì)內(nèi)存的基本操作 讀操作:地址ABAR Read等待MFC( 數(shù)據(jù))DRDB 寫(xiě)操作:地址ABAR數(shù) 據(jù)DBDR Write等待MFC同步內(nèi)存存取和異步內(nèi)存存取異步內(nèi)存存取:CPU和內(nèi)存間沒(méi)有統(tǒng)一的時(shí)鐘,由MFC通知CPU內(nèi)存工作已完成。同步內(nèi)存存?。篊PU和內(nèi)存采用統(tǒng)一時(shí)鐘,同步工作,不需要MFC。NoImageMFC = Memory Function Complete 存儲(chǔ)器功能完成。第

26、27 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.3 典型微機(jī)的內(nèi)存接口 1. 內(nèi)存編址:最常用的編址方式是字節(jié)編址。 一個(gè)字(雙字/四倍字)的地址是最低地址字節(jié)的地址。 一個(gè)字(雙字/四倍字)存放在從偶數(shù)(4的整數(shù)倍/8的整數(shù)倍)開(kāi)始的存儲(chǔ)器單元中,稱(chēng)為規(guī)則存放;反之稱(chēng)為非規(guī)則存放。 讀寫(xiě)規(guī)則字(雙字/四倍字)只需一個(gè)總線周期,而讀寫(xiě)非規(guī)則字(雙字/四倍字)則需要兩個(gè)存儲(chǔ)周期。2. 內(nèi)存接口 數(shù)據(jù)總線寬度:一次最多能并行傳送的二進(jìn)制位數(shù),稱(chēng)為數(shù)據(jù)通路寬度。 存儲(chǔ)器數(shù)據(jù)線數(shù)目:一般情況下和數(shù)據(jù)總線寬度相等。 CPU的位寬:和總線寬度不一定相等。第 28 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)字節(jié)字雙字4字 N+7 N+6 N+

27、5 N+4 N+3 N+2 N+1 N地址字節(jié)低字節(jié)高字節(jié)低字高字低雙字高雙字地址給出的是數(shù)據(jù)占用的最小地址單元字節(jié)(8位):(10000H) = 12H, (10001H) = 34H字(16位) :(10002H) = 2345H雙字(32位) :(10004H) = 55667788H四倍字(64位) :(10008H) = 0123456789012345H1234452388776655452301896745230110000H10002H10008H10004H2.3.3 典型微機(jī)的內(nèi)存接口 數(shù)據(jù)在存儲(chǔ)器中的存放圖例第 29 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.4 內(nèi)存堆棧與堆棧操作 1

28、. 堆棧 堆 棧 是 一 種 按 “ 后 進(jìn) 先出”(LIFO)進(jìn)行存儲(chǔ)器訪問(wèn)的存儲(chǔ)器訪問(wèn)方式。 一般在內(nèi)存中劃出一段區(qū)域用作堆棧,這一區(qū)域被稱(chēng)作堆棧區(qū)間。 堆棧的大小可變,棧底固定,棧頂浮動(dòng),用一個(gè)專(zhuān)門(mén)的寄存器作為堆棧棧頂指針。 在80X86中,堆棧的棧底地址大于棧頂?shù)刂?。堆棧操作作?中斷時(shí)的斷點(diǎn) 返回地址 參數(shù)的傳遞棧頂高地址端棧底SP堆棧指針堆棧區(qū)第 30 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.4 內(nèi)存堆棧與堆棧操作 2. 堆棧操作:堆棧操作:進(jìn)棧操作 (SP)-2 SP修改棧指針 (A)(SP) 將A中的內(nèi)容傳送到棧頂單元(壓入)出棧操作 (SP)A 將棧頂單元內(nèi)容傳送到A中(彈出) (SP)

29、+2 SP 修改棧指針 2是堆棧操作的字節(jié)數(shù),在8086CPU中堆棧以字為操作單位。 堆棧操作既不是在堆棧中移動(dòng)它所存儲(chǔ)的內(nèi)容,也不是把已存儲(chǔ)在棧中的內(nèi)容從棧中抹掉,而是通過(guò)調(diào)整堆棧指針而給出新的棧頂位置,以便對(duì)位于棧頂位置的數(shù)據(jù)進(jìn)行操作。第 31 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4 指令系統(tǒng)2.4.1 指令系統(tǒng)簡(jiǎn)介 CPU指令(機(jī)器指令):是CPU功能的體現(xiàn),是用二進(jìn)制代碼表示的指令,是唯一可以被CPU直接識(shí)別和執(zhí)行的程序。 指令系統(tǒng):是CPU全部指令的集合,不同的CPU有不同的指令系統(tǒng)。 匯編指令:是機(jī)器指令一種利于記憶的符號(hào)(助記符),用助記符指令編寫(xiě)的程序就是匯編程序。 同系列的CPU必須保持

30、指令系統(tǒng)的兼容性。新一代CPU的指令系統(tǒng)必須包含老一代CPU的全部指令。1指令的組成 指令由操作碼字段(OP,指明操作功能)和地址碼字段 (A,或稱(chēng)操作數(shù)字段,指明操作數(shù))兩部分構(gòu)成。OPA操作碼字段 操作數(shù)字段(地址碼字段)第 32 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.1 指令系統(tǒng)簡(jiǎn)介 2. 指令的操作碼 指令的操作碼字段表明了所執(zhí)行的操作。指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼。3. 地址碼結(jié)構(gòu) 運(yùn)算的操作數(shù)和運(yùn)算結(jié)果存放的地址。 根據(jù)指令功能的不同,地址碼字段可以含有單地址、雙地址或三地址結(jié)構(gòu),少量指令無(wú)地址碼字段。4. 指令格式 如:Intel 8086 CPU加法指令 ADD CL,

31、 BH,將寄存器CL和BH相加,和送到CL寄存器。該指令由兩個(gè)字節(jié)構(gòu)成:02CFH。02CFH=00000010 11001111:其中 000000=ADD 1=目標(biāo)為寄存器0=字節(jié)運(yùn)算 11=寄存器方式 001=CL111=BH。第 33 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.1 指令系統(tǒng)簡(jiǎn)介 5. 指令類(lèi)型 CPU的指令按功能可以分成:傳送類(lèi)指令寄存器、存儲(chǔ)器之間的數(shù)據(jù)傳送。運(yùn)算類(lèi)指令、邏輯、位移等。程控類(lèi)指令轉(zhuǎn)移、循環(huán)、子程序等I/O類(lèi)指令和外部設(shè)備的數(shù)據(jù)交換。處理器控制指令 第 34 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.2 指令的尋址方式 尋址方式獲得操作數(shù)的方式每種CPU的指令系統(tǒng)都有自己的一套尋址

32、方式與數(shù)據(jù)有關(guān)的尋址方式:尋找操作數(shù)的地址與轉(zhuǎn)移地址有關(guān)的尋址方式:尋找指令的轉(zhuǎn)移地址80X86系列微處理器與數(shù)據(jù)有關(guān)的尋址方式:立即數(shù)尋址數(shù)據(jù)在指令中寄存器尋址數(shù)據(jù)在CPU寄存器中存儲(chǔ)器尋址數(shù)據(jù)在存儲(chǔ)器中 直接尋址 寄存器間接尋址例如 基址變址尋址MOV AX, 123 寄存器相對(duì)尋址ADD BL, 1000 相對(duì)基址變址尋址MOV CX, SI 比例變址尋址。第 35 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ) 立即數(shù)尋址操作數(shù)在指令中立即數(shù)。 如加法指令中12D就是立即數(shù)。ADD AX,12D (將寄存器AX加12)立即數(shù)用后綴字母說(shuō)明數(shù)制,二進(jìn)制后綴B,十進(jìn)制后綴D,十六進(jìn)制后綴H。無(wú)后綴時(shí)默認(rèn)為十進(jìn)制。數(shù)

33、字開(kāi)頭,立即數(shù)可能是8位、16位、32位立即數(shù)。2. 寄存器尋址操作數(shù)在通用寄存器中寄存器數(shù)。8位寄存器: AH、AL、BH、BL、CH、CL、DH、DL。16位寄存器: AX、BX、CX、DX、SI、DI、BP、SP。32位寄存器: EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。2.4.2 指令的尋址方式第 36 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)3. 存儲(chǔ)器尋址 存儲(chǔ)器尋址存儲(chǔ)器的定位方式Intel 8086、80286 CPU有5種存儲(chǔ)器尋址方式,Intel 32位CPU增加第6種尋址方式。+偏移地址DS存儲(chǔ)器操作數(shù)2.4.2 指令的尋址方式 直接尋址:直接給出有效地址(偏移量)格式

34、為:偏移地址第 37 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)如指令:MOV AX, 2345H操作數(shù) 2345H為立即尋址,指令功能:(DS:2345H) (AX) 或(DS:2345H) (AL) (DS:2346H) (AH)如(DS) = 1200H (14345H) (AL) (14346H) (AH) 段地址DS偏移地址2345H代碼段數(shù)據(jù)段AX寄存器段地址CS第 38 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)其他的存儲(chǔ)器尋址存儲(chǔ)器尋址通式 8086,80286使用16位尋址方式,從80386開(kāi)始擴(kuò)充32位尋址方式。 16位尋址方式通式:基址寄存器+變址寄存器+常量基址寄存器BX, BP變址寄存器SI, DI常量8位/1

35、6位常數(shù)16位尋址方式名稱(chēng) 常量 直接尋址 基址/變址寄存器 寄存器間接尋址 基址/變址寄存器 + 常量 寄存器相對(duì)尋址 基址寄存器 + 變址寄存器 基址變址尋址 基址寄存器 + 變址寄存器 + 常量 相對(duì)基址變址尋址2.4.2 指令的尋址方式第 39 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ) 32位尋址方式通式:基址寄存器+變址寄存器X比例因子+常量基址寄存器 任一32位通用寄存器變址寄存器 ESP之外的32位通用寄存器比例因子 1 / 2 / 4 / 8常量 8位/32位常數(shù)32位尋址方式及其名稱(chēng): 比例=1:基址寄存器+變址寄存器+常量 功能和名稱(chēng)同16位尋址 變址寄存器X比例 比例變址尋址 基址寄存器+變

36、址寄存器X比例 基址比例變址尋址 基址寄存器+變址寄存器X比例+常量 相對(duì)基址比例變址尋址2.4.2 指令的尋址方式第 40 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.2 指令的尋址方式操作數(shù)的類(lèi)型和關(guān)系操作數(shù)立即數(shù)寄存器數(shù)存儲(chǔ)器數(shù)相對(duì)基址變址尋址基址寄存器+變址寄存器+常量相對(duì)基址比例變址尋址基址寄存器+變址寄存器X比例+常量基址變址尋址基址寄存器+變址寄存器寄存器相對(duì)尋址基址/變址寄存器+常量寄存器間接尋址基址/變址寄存器直接尋址常量基址比例變址尋址基址寄存器+變址寄存器X比例比例變址尋址變址寄存器X比例第 41 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)匯編語(yǔ)句包括2類(lèi):指令語(yǔ)句:每一條指令語(yǔ)句對(duì)應(yīng)一條CPU機(jī)器指令,產(chǎn)生

37、相應(yīng)的CPU動(dòng)作。偽指令語(yǔ)句:不對(duì)應(yīng)CPU機(jī)器指令,用于設(shè)定段結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)等。關(guān)于指令: 有操作碼和操作數(shù)2部分; 不同的指令的編碼長(zhǎng)度(字節(jié)數(shù))不同; 不同的指令的執(zhí)行時(shí)間不同; 大多數(shù)指令的數(shù)據(jù)寬度取決于操作數(shù)。2.4.3 x86指令系統(tǒng)舉例第 42 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)1. 數(shù)據(jù)傳送指令 MOV 傳送指令指令格式:MOV dest, src功能:dest src例如MOV AX, 1MOV CL, 1200MOV 1000H, 23寄存器reg存儲(chǔ)器mem段寄存器sreg立即數(shù)data合法的傳送方向2.4.3 x86指令系統(tǒng)舉例MOVReg:寄存器 sreg:段寄存器 mem:存儲(chǔ)器

38、imm:立即數(shù)第 43 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ) 加減運(yùn)算ADD dest, src(dest)(dest)+(src)二進(jìn)制加ADC dest, src(dest)(dest)+(src)+(CF)二進(jìn)制帶進(jìn)位加SUB dest, src(dest)(dest)-(src)二進(jìn)制減SBB dest, src (dest)(dest)-(src)-(CF) 二進(jìn)制帶借位減2.4.3 x86指令系統(tǒng)舉例加減指令如:(dest)=10001001B, (src)=11100000B,作加、減運(yùn)算dest src 和(ADD) 差(SUB) 10001001 11100000 01101001 1010

39、1001 第 44 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ) MUL 無(wú)符號(hào)乘MUL r8/m8(AL)(r8/m8)(AX)無(wú)符號(hào)字節(jié)乘MUL r16/m16(AX)(r16/m16)(DX.AX)無(wú)符號(hào)字乘 DIV 無(wú)符號(hào)除DIV r8/m8(AX)(r8/m8)商(AL),余數(shù)(AH)無(wú)符號(hào)字節(jié)除DIV r16/m16 (DX.AX)(r16/m16)商(AX),余數(shù)(DX)無(wú)符號(hào)字除例如:計(jì)算121056 , 5432123MOV AX, 1210; 1210=04BAHMOV BX, 56; 56=38HMUL BX; 積=67760-(DX.AX) DX=1, AX=08B0MOV AX, 5432; 5432=1538HMOV BL, 123; 123=7BHDIV BL; 商=44-AL, 余數(shù)=20-AH可以通過(guò)debug驗(yàn)證2.4.3 x86指令系統(tǒng)舉例乘除指令第 45 頁(yè)計(jì)算機(jī)硬件技術(shù)基礎(chǔ) 邏輯指令NOT reg/mem(reg/mem) (reg/mem) 邏輯非AND dest, src

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論