




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)硬件技術(shù)基礎(chǔ)第二章 計(jì)算機(jī)的基本工作原理與指令系統(tǒng) 2.3 內(nèi)存的組成及讀寫原理內(nèi)存組成和基本結(jié)構(gòu)內(nèi)存的讀寫典型微機(jī)的內(nèi)存接口內(nèi)存堆棧與堆棧操作 2.4 指令系統(tǒng) 指令系統(tǒng)簡介 指令系統(tǒng)的發(fā)展 2.5 計(jì)算機(jī)的工作過程指令的執(zhí)行過程加速程序執(zhí)行的方法習(xí)題與思考題115、18、21、25、26、33、34第1頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.1.1 計(jì)算機(jī)的主要部件 五大基本部件:輸入設(shè)備主存儲(chǔ)器輔助存儲(chǔ)器輸出設(shè)備運(yùn)算器控制器輸入輸出程序/原始數(shù)據(jù)運(yùn)算結(jié)果指令數(shù)據(jù)線控制信號(hào)線存儲(chǔ)器第2頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.1.1 計(jì)算機(jī)的主要部件運(yùn)算器 功能:算術(shù)運(yùn)算和邏輯運(yùn)算 其主要
2、部件:ALU(算術(shù)邏輯部件)控制器 功能:使計(jì)算機(jī)能自動(dòng)地執(zhí)行程序,并使各部分協(xié)調(diào)工作存儲(chǔ)器 功能:用于保存程序和數(shù)據(jù) 主存儲(chǔ)器(內(nèi)部存儲(chǔ)器):存放當(dāng)前所執(zhí)行程序的指令和數(shù)據(jù) 輔助存儲(chǔ)器(外部存儲(chǔ)器):存放暫不參加運(yùn)算的程序的指令和數(shù)據(jù) 注意:一切程序和數(shù)據(jù)必須進(jìn)入內(nèi)存才能被計(jì)算機(jī)執(zhí)行和使用。輸入設(shè)備:用于程序和數(shù)據(jù)輸入(標(biāo)準(zhǔn)設(shè)備:鍵盤、鼠標(biāo))輸出設(shè)備:用于程序和數(shù)據(jù)輸出(標(biāo)準(zhǔn)設(shè)備:顯示器、打印機(jī))第3頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.1.1 計(jì)算機(jī)的主要部件 在計(jì)算機(jī)五大部分中,運(yùn)算器和控制器是最核心的部分,通常做在一個(gè)器件上,稱作CPU(Center Processing Unit)。
3、 CPU=控制器+運(yùn)算器(+寄存器組) 只有主存(內(nèi)存)可直接與CPU交換信息,它與CPU組合可實(shí)現(xiàn)計(jì)算機(jī)的基本功能。 主機(jī)=CPU+主存儲(chǔ)器 輸入/輸出(Input/Output)設(shè)備和外存合稱“外圍設(shè)備”。 外設(shè)=I/O+輔助存儲(chǔ)器 第4頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.1.2 計(jì)算機(jī)的總線結(jié)構(gòu) 總線是一組能為多個(gè)部件服務(wù)的公共信息傳送線路,分時(shí)地發(fā)送與接收各部件的信息。計(jì)算機(jī)的五大 部件之間就是通過(Bus)連接實(shí)現(xiàn)信息交換的。 根據(jù)總線所傳輸?shù)男畔⑼ǔ0芽偩€分為地址總線、數(shù)據(jù)總線和控制總線。簡稱三大總線。 三大總線=數(shù)據(jù)總線+地址總線+控制總線地址總線(AB):單向,用于向內(nèi)存、輸
4、入/輸出設(shè)備傳輸?shù)刂沸畔?。?shù)據(jù)總線(DB):雙方,傳輸各種數(shù)據(jù)信息。控制總線(CB):傳輸控制信息第5頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.1.2 計(jì)算機(jī)的總線結(jié)構(gòu) 微型計(jì)算機(jī)通常把各大部件都連接在單一的一組總線上,各部件間的信息交換都經(jīng)過這組總線,因此稱其為系統(tǒng)總線。這種結(jié)構(gòu)提高了CPU的工作效率,而且外設(shè)連接靈活,易于擴(kuò)充。但由于所有部件都掛在同一組總線上,而總線又只能分時(shí)的工作,故同一時(shí)刻只允許一對(duì)設(shè)備(或部件)之間傳送信息,這使信息傳送的吞吐率受到限制,此外,總線的管理也比較復(fù)雜。 系統(tǒng)總線CPU內(nèi)存接口外部設(shè)備接口外部設(shè)備.單總線結(jié)構(gòu)第6頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2 中央
5、處理器的基本組成與基本工作原理 中央處理機(jī)CPU 中央處理機(jī)即 CPU,( central processing unit)是計(jì)算機(jī)中最核心的部件,用于進(jìn)行運(yùn)算和控制。微機(jī)所用的CPU芯片是將運(yùn)算器、控制器和寄存器集成在一個(gè)半導(dǎo)體基片內(nèi),稱為微處理器。 CPU的基本功能:執(zhí)行指令、負(fù)責(zé)控制微機(jī)的所有動(dòng)作(運(yùn)算、控制、計(jì)算機(jī)與設(shè)備間的數(shù)據(jù)傳送) CPU的組成: CPU內(nèi)部的電路可以劃分為運(yùn)算電路和控制電路兩大部分。主要組成部件包括運(yùn)算器、控制器和寄存器組。 運(yùn)算器(也稱“算術(shù)邏輯單元ALU:Arithmetic Logic Unit)其功能實(shí)執(zhí)行算術(shù)運(yùn)算、邏輯運(yùn)算(至少一個(gè)ALU,專用浮點(diǎn)數(shù)計(jì)算
6、芯片“協(xié)處理器”或“浮點(diǎn)處理器”) 控制器:指令執(zhí)行的順序、控制各種部件的動(dòng)作 寄存器組(R):暫存數(shù)據(jù)、命令第7頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.1 中央處理器的基本構(gòu)成指令寄存器(IR)指令譯碼器(ID)操作控制器(OC)寄存器組(IR)通用寄存器組堆棧指針(SP)程序計(jì)數(shù)器(PC)累加器(ACC)累加器鎖存器暫存器標(biāo)志寄存器(FR)地址緩存器數(shù)據(jù)緩存器內(nèi)部總線控制器運(yùn)算器控制總線(CB)地址總線(AB)數(shù)據(jù)總線(DB)ALU是運(yùn)算器的核心,它是以全加器為基礎(chǔ),輔以移位寄存器及相應(yīng)的控制邏輯組合而成的電路,在控制信號(hào)的作用下可完成加、減、乘、除幾各種邏輯運(yùn)算。累加器是一個(gè)特殊的通用
7、寄存器,他總是提供送入ALU的兩個(gè)運(yùn)算操作數(shù)之一,且運(yùn)算后的結(jié)果又總是返回累加器。暫存器的作用保從將要送入ALU運(yùn)算的操作數(shù)器。寄存器組用于暫存數(shù)據(jù)、命令指令寄存器組用于存放要執(zhí)行的指令。根據(jù)指令內(nèi)容,發(fā)出控制信號(hào)。標(biāo)志寄存器主要用于存放ALU操作結(jié)果的狀態(tài)和特征:包括兩部分內(nèi)容:狀態(tài)標(biāo)志,如:進(jìn)位標(biāo)志、結(jié)果為零標(biāo)志等,大多數(shù)運(yùn)算類指令的執(zhí)行將會(huì)影響到這些標(biāo)志位。控制標(biāo)志,如:中斷標(biāo)志、陷阱標(biāo)志等。第8頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.1 中央處理器的基本構(gòu)成 1運(yùn)算器 累加器A:N位的寄存器,用于保存運(yùn)算過程中的有關(guān)數(shù)據(jù)。 暫存器:N位寄存器,接收來自累加器和數(shù)據(jù)總線的數(shù)據(jù)。 加法器
8、:由N個(gè)全加器構(gòu)成。加法器的兩個(gè)輸入:累加器A、暫存器加法器的輸出:送入累加器A,也可以發(fā)送給數(shù)據(jù)總線DB。第9頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.1 中央處理器的基本構(gòu)成 2.控制器 程序計(jì)數(shù)器PC,又稱指令計(jì)數(shù)器 指令寄存器IR,存放從內(nèi)存中取出的待執(zhí)行的指令。 指令譯碼器ID,又稱操作碼譯碼器或指令功能分析解釋器。 地址形成部件 微操作信號(hào)發(fā)生器 指令的執(zhí)行都可分解成一系列微操作控制信號(hào)。微操作信號(hào)發(fā)生器的根據(jù)指令譯碼器的輸出和時(shí)序部件提供的定時(shí)信號(hào),確定完成該指令所需要的步驟以及完成每一步驟所需要的控制信號(hào)組合。 時(shí)序部件,給出定時(shí)信號(hào)以確定產(chǎn)生控制信號(hào)的具體時(shí)間。第10頁,共1
9、12頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.1 中央處理器的基本構(gòu)成 3. CPU中的寄存器按功能分有通用寄存器和專用寄存器 通用寄存器存放原始數(shù)據(jù)和運(yùn)算結(jié)果作為變址寄存器、計(jì)數(shù)器、地址指針等。 專用寄存器程序計(jì)數(shù)器PC指令寄存器IR等狀態(tài)標(biāo)志寄存器主要包括兩部分內(nèi)容:狀態(tài)標(biāo)志,如:進(jìn)位標(biāo)志、結(jié)果為零標(biāo)志等,大多數(shù)運(yùn)算類指令的執(zhí)行將會(huì)影響到這些標(biāo)志位??刂茦?biāo)志,如:中斷標(biāo)志、陷阱標(biāo)志等。第11頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 數(shù)字化信息編碼的概念: 在計(jì)算機(jī) 中 , 數(shù) 字 是 以 一 串 “0” 或 “1”的二進(jìn)制代碼來表示的,這是一種計(jì)算機(jī)唯一能識(shí)別的機(jī)器語言。所
10、有需要計(jì)算機(jī)加以處理的數(shù)、字字母、文字、圖形、圖象、聲音等信息以及控制操作等命令(人讀數(shù)據(jù))都必須采用二進(jìn)制編碼(機(jī)讀數(shù)據(jù))來表示和處理。也就是說: 在計(jì)算機(jī)內(nèi)一切信息必須進(jìn)行數(shù)字化編碼(即用二進(jìn)制代碼形式),才能在機(jī)內(nèi)傳送、存儲(chǔ)和處理。 人們輸入到計(jì)算機(jī)中的各種信息,都要 通過系統(tǒng)自動(dòng)轉(zhuǎn)換成計(jì)算機(jī)能處理的二 進(jìn)制數(shù),處理完成后,系統(tǒng)把這些處理 過的二進(jìn)制數(shù)再自動(dòng)還原成各種信息。 即: 輸 入 處 理 輸 出 (多類型信息1) (二進(jìn)制) (多類型信息2)第12頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 進(jìn)位計(jì)數(shù)制: 按進(jìn)位的方法進(jìn)行計(jì)數(shù),稱為進(jìn)位計(jì)數(shù)制。也就是 數(shù)字
11、累計(jì)到最大計(jì)數(shù)(進(jìn)制數(shù))時(shí),數(shù)碼長度就增加一位或數(shù)碼高位數(shù)值增 1。 任意進(jìn)制數(shù)的表示基數(shù) (K) : 是最大進(jìn)位數(shù)(進(jìn)制數(shù)),例如:十進(jìn)制基數(shù)為10; 六十進(jìn)制(時(shí)間)的基數(shù)為60等。系數(shù) (m) : 每個(gè)數(shù)位上的值,取值范圍0k-1 【例】數(shù)32343.43可以分解為: 31042103310241013100410 -1310 -2位權(quán)位權(quán)位權(quán)位權(quán)位權(quán)位權(quán)位權(quán)第13頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)可用數(shù)碼進(jìn)位基數(shù)0K-10 1 2 3 45 6 7 8 9ABCDEF0 1 2 34 5 6 7 0 10 1 2 3 45 6 7 8 9逢K進(jìn)1逢16進(jìn)1逢8進(jìn)1逢2進(jìn)1逢10進(jìn)1K1
12、68210K進(jìn)制十六進(jìn)制八進(jìn)制二進(jìn)制十進(jìn)制常用數(shù)制2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示K進(jìn)制數(shù)的某些性質(zhì): 小數(shù)點(diǎn)右移n 位相當(dāng)于乘以K n(增加K n 倍) 小數(shù)點(diǎn)左移n 位相當(dāng)于除以K n (為K n 份之一)思考: m位K進(jìn)制數(shù),其最大數(shù)值是多少?最小數(shù)值是多少?第14頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示K進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)位權(quán)展開法【例一】將下列數(shù)值轉(zhuǎn)換為十進(jìn)制數(shù) (101.01)2 (205.4)8 (AF.8)16 解: (101.01)2= 12202112002 -112-2 =(5.25)10 (205.4)8= 28208158 048 1
13、=(133. 5)10 (AF.8)16= 1016 1 15160816 -1 =(175. 5)10【思考】以下數(shù)值中最大的和最小的分別是哪個(gè)? (1234)8 (1234)16 (1234)5 (1234)10 (11011011)2 (219)16 (210)8 (219)10 第15頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)十進(jìn)制數(shù)轉(zhuǎn)換為K進(jìn)制數(shù)將整數(shù)部份和小數(shù)部份分開來算,位權(quán)展開法整數(shù)部份:除以K取余數(shù),直到商為0,余數(shù)從自下而上排列小數(shù)部份:以小數(shù)部分乘以K取積的整數(shù),并將其自上而下排列,直 計(jì)算機(jī)中數(shù)據(jù)信息的表示到小數(shù)部份為0或規(guī)定精度為止【例】將(100.345)10 轉(zhuǎn)換為二進(jìn)制
14、 除2取余 余 數(shù) 整 數(shù) 乘2取整 2 |2 3 7 1 0. 6 2 5 2 |1 1 8 0 取 2 2 |5 9 1 1 1. 2 5 0 2 |2 9 1 值 0. 2 5 2 |1 4 0 2 轉(zhuǎn)換結(jié)果為:11101101.101 2 | 7 1 方 0 0. 5 0 2 | 3 1 2 2 | 1 1 向 1 1. 0 0第16頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 除8取余 余 數(shù) 整 數(shù) 乘8取整8 |2 3 7 5 取 0. 6 2 5 8 |2 9 5 值 8 8 | 3 3 方 5 5. 0 0 0 0 向 第17頁,共112頁。計(jì)算機(jī)硬件
15、技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 除16取余 余 數(shù) 整 數(shù) 乘16取整16 |2 3 7 D (13) 取 0. 6 2 5 16 |1 4 E (14) 值 1 6 0 方 A 10. 0 0 0 向 第18頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 二進(jìn)制數(shù)十六進(jìn)制數(shù)方法:以小數(shù)點(diǎn)為基準(zhǔn),分別向左和向右每4位劃為一組,不足4位用0補(bǔ),每一組用其對(duì)應(yīng)的十六進(jìn)制數(shù)代替。例:11110. 01B = 0001 1110. 0100 B = 1 E . 4 H1111101. 001B = 0111 1101. 0010 B = 7 D . 2 H 第19頁,
16、共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 十六進(jìn)制數(shù)二進(jìn)制數(shù) 方法: 將每位十六進(jìn)制數(shù)用其對(duì)應(yīng)的4位二進(jìn)制數(shù)代替即可。例 :1E. 4H = 0001 1110. 0100B = 11110. 01B7D. 2H = 0111 1101. 0010B = 111 1101. 001B第20頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 總結(jié):十進(jìn)制數(shù)與二進(jìn)制數(shù)之間的轉(zhuǎn)換需計(jì)算,不直觀; 二進(jìn)制表示的數(shù)位多不便于書寫、閱讀; 八進(jìn)制、十六進(jìn)制數(shù)與二進(jìn)制數(shù)間轉(zhuǎn)換方便、直觀, 相對(duì)于二進(jìn)制數(shù),八進(jìn)制、十六進(jìn)制數(shù)書寫、閱讀相對(duì)方便第21頁,共112頁。計(jì)算
17、機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 1. 二進(jìn)制數(shù)的表示無符號(hào)數(shù):正整數(shù)。帶符號(hào)數(shù):正數(shù)或負(fù)數(shù)。最高位為符號(hào)位,“0”表示“+”,“1”表示“”。這種表示數(shù)的形式稱為機(jī)器數(shù)。原碼、反碼、補(bǔ)碼。 原碼高位為符號(hào)位,如:八位的原碼X1= + 9= + 1001B X1原 = 00001001X2= 9= 1001B X2原 = 10001001在原碼表示中,0有兩種不同的表示形式:+ 0原 =00000000 0原 =10000000設(shè)字長為n+1位(含1位符號(hào)位),原碼的表示范圍為:(2n 1)(2n 1)。若字長為8位,則表示范圍為127127。第22頁,共112頁。計(jì)算機(jī)硬件技
18、術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 反碼正數(shù)的反碼=原碼;負(fù)數(shù)的反碼=原碼尾數(shù)部分按位取反。 如:八位的反碼X1= + 9= + 1001B X1反=00001001X2= 9= 1001B X2反=11110110在反碼表示中,0也有兩種不同的表示形式:+0反=00000000-0反=11111111設(shè)字長為n+1位(含1位符號(hào)位),反碼的表示范圍也為: (2n 1)(2n 1)。若字長為8位,則表示范圍為127127。 第23頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)例: 機(jī)器字長8位,-46補(bǔ)碼 = ? 46補(bǔ)碼 = 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1
19、0 1 0 0 1 0 = D2H 機(jī)器字長16位,-46補(bǔ)碼 = FFD2H +0補(bǔ)碼 = 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 = 00H = - 0補(bǔ)碼 0 的表示唯一按位求反末位加一按位求反末位加一2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 (3)補(bǔ)碼:正數(shù)的補(bǔ)碼: 同原碼負(fù)數(shù)的補(bǔ)碼:(1)寫出與該負(fù)數(shù)相對(duì)應(yīng)的正數(shù)的補(bǔ)碼 (2)按位求反 (3)末位加一第24頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 2. 三種機(jī)器數(shù)的比較主要區(qū)別有以下幾點(diǎn): 對(duì)于正數(shù)它們相等,而對(duì)于負(fù)數(shù)各有不同的表示。 補(bǔ)碼和反碼的符號(hào)位可作
20、為數(shù)值位的一部分看待,但原碼的符號(hào)位不允許和數(shù)值位同等看待。 原碼和反碼各有兩種零的表示法,而補(bǔ)碼具有唯一的一種零的表示法。 原碼、反碼表示的正、負(fù)數(shù)范圍相對(duì)零來說是對(duì)稱的,但補(bǔ)碼負(fù)數(shù)表示范圍較正數(shù)表示范圍寬。第25頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 符號(hào)擴(kuò)展:將低精度數(shù)轉(zhuǎn)換為高精度數(shù),如將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 1
21、111 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ò)展的專用指令。第26頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 3. 機(jī)器數(shù)的定點(diǎn)與浮點(diǎn)表示 定點(diǎn)表示法所有數(shù)據(jù)的小數(shù)點(diǎn)位置固定不變。小數(shù)點(diǎn)“.”在機(jī)器中的位置是隱含約定的,并不需要真正地占據(jù)一個(gè)二進(jìn)制位。由于實(shí)際參與運(yùn)算的數(shù)往往是混合數(shù),它既有整數(shù)部分又有小數(shù)部分,所以必須選取合適的比例因子,把原始的數(shù)縮小成純小數(shù)或擴(kuò)大成純整數(shù)后再進(jìn)行處理,所得到的運(yùn)算結(jié)果還需要根據(jù)
22、比例因子還原成實(shí)際的數(shù)值。第27頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 浮點(diǎn)表示法 小數(shù)點(diǎn)的位置不固定,根據(jù)需要而浮動(dòng)。任何一個(gè)數(shù)N的浮點(diǎn)表示形式為: N=M2E 式中:E和M都是帶符號(hào)的定點(diǎn)數(shù),E為階碼部分,M為尾數(shù)部分。在大多數(shù)計(jì)算機(jī)中,尾數(shù)為純小數(shù),階碼為純整數(shù)。 階碼部分的符號(hào)位為es,階碼的大小反映了在數(shù)N中小數(shù)點(diǎn)的實(shí)際位置;尾數(shù)部分的符號(hào)位為ms,它是整個(gè)浮點(diǎn)數(shù)的符號(hào)位,表示了該浮點(diǎn)數(shù)的正負(fù)。 浮點(diǎn)表示法與定點(diǎn)表示法比較,在相同字長下前者所能表示數(shù)的范圍要大得多,且可以不取比例因子,使用比較方便。第28頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算
23、機(jī)中數(shù)據(jù)信息的表示 4十進(jìn)制數(shù)的表示BCD碼:二進(jìn)制編碼的十進(jìn)制數(shù)(Binary-Code Decimal),一般用四位二進(jìn)制代碼來表示一位十進(jìn)制數(shù),使用最廣泛的是8421碼,通常稱其為標(biāo)準(zhǔn)BCD碼(NBCD碼),在80X86微處理器中干脆就稱之為BCD碼。8421碼的主要特點(diǎn):簡單直觀。從高到低各位的權(quán)分別為8、4、2、1。不允許出現(xiàn)10101111。這六個(gè)代碼在8421碼中是非法碼。BCD碼與二進(jìn)制數(shù)之間轉(zhuǎn)換沒有直接關(guān)系,必須先轉(zhuǎn)換成十進(jìn)制,然后轉(zhuǎn)換成二進(jìn)制。 例: 1111111B=255D=0010,0101,0101BCD 0010,0101,0101BCD255D=1111 111
24、1B第29頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 5. 非數(shù)值數(shù)據(jù)的表示 通常是指字符、字符串、圖形符號(hào)和漢字等各種數(shù)據(jù),它們通常不用來表示數(shù)值的大小,因此又稱為非數(shù)值數(shù)據(jù),一般情況下不對(duì)它們進(jìn)行算術(shù)運(yùn)算。(1)ASC 目前在微機(jī)上使用最廣泛的是ASC(美國標(biāo)準(zhǔn)信息交換碼,以被ISO認(rèn)定為國際標(biāo)準(zhǔn)),可表示128種字符的7位基本ASC碼(國際通用)和可表示256種字符的8位擴(kuò)充ASC碼(可重新定義)。 ASC碼可分為:顯示字符(例如鍵盤字符鍵的編碼,“0 ”為48,“A”為65)和控制字符(例如return 、backspace鍵的編碼分別為13、8)。第30頁,
25、共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 第31頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示(2)漢字編碼 漢字是一種象形文字,無法直接用標(biāo)準(zhǔn)西文鍵盤輸入,必須經(jīng)過轉(zhuǎn)換間接輸入;漢字的字?jǐn)?shù)也較多,不能用單字節(jié)的ASC(256個(gè)字符)來表示。因此,按照不同的目的和需要,產(chǎn)生了多種漢字編碼系統(tǒng)與漢字輸入方法。 目前采用兩個(gè)字節(jié)(可以表示64K字符)的漢字編碼方案。由于漢字的應(yīng)用范圍較廣(東南亞國家),漢字的編碼字符集不相同,中國大陸常用GB / GBK碼,臺(tái)灣BIG5。 第32頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示漢字處
26、理過程 漢字系統(tǒng)對(duì)每個(gè)漢字預(yù)先規(guī)定輸入計(jì)算機(jī)中的代碼,即漢字的外部碼(例如拼音輸入碼)。計(jì)算機(jī)為了識(shí)別漢字,要把漢字的外部碼轉(zhuǎn)換成內(nèi)部碼(二進(jìn)制代碼)進(jìn)行存儲(chǔ)和處理。輸出時(shí),還將漢字的內(nèi)部碼轉(zhuǎn)換成漢字的字形碼。計(jì)算機(jī)處理漢字的總過程如下: 鍵盤管理程序 漢字處理程序 外部(輸入)碼 機(jī)內(nèi)碼 字形(輸出)碼 (鍵盤) (計(jì)算機(jī)存儲(chǔ)、傳輸) (計(jì)算機(jī)輸出漢字) 漢字信息 交換碼(國標(biāo)碼) 漢字信息 其它系統(tǒng)代碼第33頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示交換碼 用于計(jì)算機(jī)與其他系統(tǒng)或設(shè)備之間進(jìn)行漢字代碼信息交換的標(biāo)準(zhǔn)漢字代碼,目前最常使用的是國標(biāo)碼1981年的GB23
27、12-80, 7445; 2000年的GB18030-2000,27000 特 點(diǎn) 每個(gè)漢字(圖形符號(hào))用兩個(gè)字節(jié)表示,每個(gè)字節(jié)只用低7位,即最高位為0的二進(jìn)制碼。 在128種編碼表示中,有94種用來表示漢字的編碼。此標(biāo)準(zhǔn)的漢字編碼表有94行、94列,分別為區(qū)號(hào)和位號(hào)。漢字編碼使用的高字節(jié)稱為區(qū)碼,低字節(jié)稱為位碼。 漢字分為兩級(jí):一級(jí)為使用頻度高的常用漢字; 二級(jí)為次常用的漢字;第34頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示內(nèi)部碼 也稱漢字內(nèi)碼或漢字機(jī)內(nèi)碼,是計(jì)算機(jī)對(duì)漢字進(jìn)行存儲(chǔ)、運(yùn)算、傳碼的實(shí)際代碼。 特點(diǎn) 是由 0和1組成的二進(jìn)制代碼。一個(gè)漢字對(duì)應(yīng)一個(gè)機(jī)內(nèi)碼,即
28、漢字?jǐn)?shù)目機(jī)內(nèi)碼數(shù)目; 一般用兩個(gè)字節(jié)表示一個(gè)漢字的內(nèi)碼且每個(gè)字節(jié)最高位為 1。 還有少數(shù)三字節(jié)、四字節(jié)等內(nèi)部碼最多能表示128128 = 16384 個(gè)漢字和圖形符號(hào); 機(jī)內(nèi)碼目前雖未完全統(tǒng)一,但已趨于標(biāo)準(zhǔn)化。 內(nèi)部碼與國標(biāo)碼的對(duì)應(yīng)關(guān)系:內(nèi)碼=國標(biāo)碼+8080 即國標(biāo)碼每個(gè)字節(jié)最高位為1 內(nèi)部碼。 例如:國標(biāo)碼 3B7A 00111011 01111010 那么,機(jī)內(nèi)碼 BBFA 10111011 11111010第35頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)外部碼 也叫漢字輸入編碼,主要是從鍵盤(語音、手寫、光電)輸入計(jì)算機(jī)中的代表漢字的編碼。鍵盤輸入方式 目前漢字輸入方案有數(shù)百種,基本上是直接利
29、用西文標(biāo)準(zhǔn)鍵盤進(jìn)行漢字輸入,每一種漢字輸入法都各自提供相應(yīng)的鍵盤碼與漢字機(jī)內(nèi)碼(碼表),編碼方案大致可分以下四 類:數(shù)碼(如電報(bào)碼,區(qū)位碼,國標(biāo)碼等)音碼(如全拼碼,簡拼碼,雙拼碼等)形碼(如五筆字型,大眾碼,倉吉碼等)音形碼(如自然碼,首尾碼等)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示第36頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)各種輸入碼交換碼(國標(biāo)碼)內(nèi)碼字形碼顯示漢字打印漢字漢字代碼交換流程2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示第37頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 6現(xiàn)代微機(jī)系統(tǒng)中的數(shù)據(jù)類型舉例 支持浮點(diǎn)運(yùn)算的浮點(diǎn)部件(FPU)。808680386對(duì)應(yīng)808780
30、387,80486以后嵌入于CPU內(nèi)部。 無符號(hào)二進(jìn)制數(shù)字節(jié):8位數(shù),存放在任何邏輯地址上的8位二進(jìn)制數(shù)。 字:16位數(shù),存放在任何字節(jié)地址開始的2個(gè)相鄰字節(jié)。雙字:32位數(shù),存放在任何字節(jié)地址開始的2個(gè)相鄰字(4個(gè)相鄰字節(jié))。 帶符號(hào)的二進(jìn)制定點(diǎn)整數(shù) 所有帶符號(hào)的數(shù)都以補(bǔ)碼形式表示,符號(hào)位是最高位(MSB)。字節(jié):補(bǔ)碼表示的8位帶符號(hào)數(shù)。字整數(shù)(字):補(bǔ)碼表示的16位帶符號(hào)數(shù)。短整數(shù)(雙字):補(bǔ)碼表示的32位帶符號(hào)數(shù)。長整數(shù)(四倍字):補(bǔ)碼表示的64位帶符號(hào)數(shù)。CPU支持前3種,浮點(diǎn)部件(FPU)支持后3種。第38頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 浮點(diǎn)數(shù)
31、由FPU支持,數(shù)據(jù)格式基于IEEE 754標(biāo)準(zhǔn),它與前面介紹的浮點(diǎn)數(shù)格式有一些差別。 BCD數(shù) BCD數(shù)分成壓縮的BCD數(shù)(BCD數(shù))和非壓縮的BCD數(shù)(UBCD數(shù))兩種。壓縮的BCD數(shù)是每個(gè)字節(jié)包含兩位十進(jìn)制數(shù),其低位在03位上,高位在47位上;而非壓縮的BCD數(shù)每個(gè)字節(jié)僅包含一位十進(jìn)制數(shù),在03位上。CPU支持兩種BCD數(shù),而FPU只支持壓縮的BCD數(shù)。第39頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.2 計(jì)算機(jī)中數(shù)據(jù)信息的表示 串?dāng)?shù)據(jù) 包括字節(jié)串、字符串和雙字符串,串長度為0到232-1字節(jié)。只有CPU支持串?dāng)?shù)據(jù)。 指針數(shù)據(jù) 包括近指針和遠(yuǎn)指針兩種。近指針即32位指針,是一個(gè)32位的段內(nèi)偏
32、移量,用于段內(nèi)單元訪問。遠(yuǎn)指針即48位指針,由16位選擇符和32位偏移量組成,用于段間單元訪問。第40頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 1. 二進(jìn)制加減運(yùn)算用原碼進(jìn)行加法運(yùn)算時(shí)必須根據(jù)兩數(shù)的符號(hào)和數(shù)值大小來決定運(yùn)算結(jié)果的符號(hào),這將增加機(jī)器的復(fù)雜性和運(yùn)算時(shí)間。補(bǔ)碼加減法運(yùn)算是最簡單的加法:X+Y補(bǔ)=X補(bǔ)+Y補(bǔ)減法:X-Y補(bǔ)=X+(-Y)補(bǔ)=X補(bǔ)+-Y補(bǔ) 已知Y補(bǔ)求-Y補(bǔ)的方法:將Y補(bǔ)連同符號(hào)位一起求反,末尾加“1”。-Y補(bǔ)稱為Y補(bǔ)的機(jī)器負(fù)數(shù)。第41頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 補(bǔ)碼加減運(yùn)算規(guī)則 參加運(yùn)算的兩個(gè)操作數(shù)均
33、用補(bǔ)碼表示; 符號(hào)位作為數(shù)的一部分參加運(yùn)算; 若做加法,則兩數(shù)直接相加,若做減法,則將被減數(shù)與減數(shù)的機(jī)器負(fù)數(shù)相加; 運(yùn)算結(jié)果用補(bǔ)碼表示。 例1: 64(-46) 180100 00001101 00100001 0010第42頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 例2:A=+01011,B=-01110,求A+B補(bǔ)。 01011 A補(bǔ) + 10010 B補(bǔ) 11101 A+B補(bǔ)例3:A=+01011,B=-00010,求A-B補(bǔ)。 01011 A補(bǔ) + 00010 -B補(bǔ) 01101 A-B補(bǔ) A = 11B = - 14A+B= - 3A+B原=10011(
34、B)A = 11B = - 2A-B= 13A+B原=01101(B)第43頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 2. 溢出的產(chǎn)生和判斷 當(dāng)所得的結(jié)果超過機(jī)器允許的額定位數(shù),就會(huì)出現(xiàn)錯(cuò)誤,這種情況被稱為溢出。兩個(gè)符號(hào)相同的數(shù)相加,和的符號(hào)相反;兩個(gè)符號(hào)不同的數(shù)相減,差的符號(hào)和減數(shù)相同;將符號(hào)位擴(kuò)充為兩位(Ss1、Ss2),既能判別是否溢出,又能指出結(jié)果的符號(hào)。兩個(gè)符號(hào)位作為數(shù)的一部分參加運(yùn)算。 Ss1、Ss2= 00結(jié)果為正數(shù),無溢出 11結(jié)果為負(fù)數(shù),無溢出 01結(jié)果正溢出 10結(jié)果負(fù)溢出 80X86CPU中根據(jù)標(biāo)志位OF來判斷。無符號(hào)數(shù)在運(yùn)算時(shí)也可能產(chǎn)生,如
35、8位數(shù)相加,128+128=256,而8位變?yōu)?。 80X86CPU中可根據(jù)標(biāo)志位CF來判斷。第44頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 00,1011(+11) 11,0101(-11) + 00,0111(+7) + 11,1001(-7) 01,0010(正溢出) 10,1110(負(fù)溢出) 00,1011(+11) 11,0101(-11) + 11,1001(-7) + 00,0111(7) 00,0100 (+4) 11,1100(-4)第45頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 3. 其它算術(shù)運(yùn)算簡介 二進(jìn)制乘除運(yùn)
36、算 二進(jìn)制的乘除運(yùn)算可以由專用的乘法器或除法器來實(shí)現(xiàn),也可以用一個(gè)加法器經(jīng)過多次迭代來實(shí)現(xiàn)。 十進(jìn)制數(shù)的算術(shù)運(yùn)算 在許多通用性較強(qiáng)的計(jì)算機(jī)中都可采用BCD碼進(jìn)行算術(shù)運(yùn)算。十進(jìn)制數(shù)相加時(shí)是“逢十進(jìn)一”,而BCD數(shù)運(yùn)算卻是“逢十六進(jìn)一”,兩者在進(jìn)位時(shí)相差6(即0110),必須要做相應(yīng)的調(diào)整。如:用8421碼數(shù)進(jìn)行加法運(yùn)算時(shí),當(dāng)和數(shù)大于9或向高位有進(jìn)位時(shí),必須對(duì)該位加校正值(0110)調(diào)整,才能得到正確的結(jié)果。 十進(jìn)制數(shù)在進(jìn)行減法、乘法和除法運(yùn)算時(shí),也需要做相應(yīng)的調(diào)整。第46頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 例:A=0001 0111(17BCD),B=0001
37、 0011(13BCD),求A+B(BCD)。 0001 0111 + 0001 0011 0010 1010 1010 10(D),需調(diào)整。 + 0000 0110 0011 0000例:A=0001 0111(18BCD),B=0001 0011(19BCD),求A+B(BCD)。 0001 1000 + 0001 1001 0011 0001 有進(jìn)位,需調(diào)整。 + 0000 0110 0011 0111第47頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 4邏輯運(yùn)算(按位操作) 與、或、非、異或等。邏輯運(yùn)算是按位進(jìn)行的,位與位之間沒有進(jìn)位/借位的關(guān)系?!芭c”運(yùn)算(
38、AND) “或”運(yùn)算(OR) A B AB A B AB 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1“非”運(yùn)算(NOT) “異或”運(yùn)算(XOR) A A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0第48頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.3 算術(shù)運(yùn)算與邏輯運(yùn)算的實(shí)現(xiàn) 例:X=1011 1101,Y=1101 1110 X= 1011 1101 Y= 1101 1110 1001 1100 X= 1011 1101 Y= 1101 1110 1111 1111 X= 1011 1101 X= 0100 0
39、010 X= 1011 1101 Y= 1101 1110 0110 0011第49頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.4 控制信號(hào)的產(chǎn)生 1. 時(shí)序系統(tǒng) 時(shí)序系統(tǒng)是控制器的心臟,其功能是為指令的執(zhí)行提供各種定時(shí)信號(hào)。時(shí)序系統(tǒng)是有周期性的時(shí)鐘脈沖信號(hào)組成。其中包括:時(shí)鐘周期:時(shí)鐘脈沖信號(hào)的間隔時(shí)間稱為時(shí)鐘周期,CPU的任何操作都是在時(shí)鐘脈沖的統(tǒng)一控制下一步一步地進(jìn)行的。機(jī)器周期:每個(gè)機(jī)器周期完成一個(gè)任務(wù)。機(jī)器周期由若干時(shí)鐘周期組成。指令周期:一條指令從取出、分析、取數(shù)到執(zhí)行完該指令所需的全部時(shí)間。指令周期與指令的操作功能有關(guān),若干個(gè)機(jī)器周期組成一個(gè)指令周期??偩€周期:在微型計(jì)算機(jī)中,CP
40、U與外部系統(tǒng)(內(nèi)存或外設(shè))的信息交換都是通過總線進(jìn)行的,將CPU一次訪問(即讀或?qū)懀﹥?nèi)存或外設(shè)所花費(fèi)的時(shí)間,稱為總線周期。第50頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.4 控制信號(hào)的產(chǎn)生 在8086微處理器中,一個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期組成,在T4結(jié)束后,又開始新的總線周期。如果內(nèi)存或外設(shè)的讀寫速度跟不上CPU的訪問速度時(shí),可以在第三個(gè)時(shí)鐘周期T3之后插入等待時(shí)鐘周期TW,插入TW的個(gè)數(shù)與READY信號(hào)低電平的持續(xù)時(shí)間長短有關(guān)。 第51頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.4 控制信號(hào)的產(chǎn)生 2控制電路的硬件實(shí)現(xiàn)方法微操作信號(hào)發(fā)生器是整個(gè)控制器的核心,它的輸入是譯碼后的指令操作碼
41、,輸出是微操作控制命令??刂破骺煞譃橛膊季€控制器和微程控器,根本區(qū)別在于微操作信號(hào)發(fā)生器的實(shí)現(xiàn)方法不同。 硬布線控制器硬布線控制器(組合邏輯控制器),采用組合邏輯技術(shù)來實(shí)現(xiàn),微操作信號(hào)發(fā)生器由門電路組成。特點(diǎn)指令執(zhí)行速度快微操作信號(hào)發(fā)生器的結(jié)構(gòu)不規(guī)整,設(shè)計(jì)、調(diào)試、維修較困難,難以實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。第52頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.4 控制信號(hào)的產(chǎn)生 微程控器把微操作控制命令代碼化,每條機(jī)器指令轉(zhuǎn)化成為一段微程序(指令的微程序)。特點(diǎn)設(shè)計(jì)規(guī)整、調(diào)試、維修以及更改、擴(kuò)充指令方便,易于實(shí)現(xiàn)自動(dòng)化設(shè)計(jì)。增加了一級(jí)控制內(nèi)存,指令的執(zhí)行速度比硬布線控制器慢。3微程控原理指令微程序化將指令分解為
42、基本操作(微操作)。將同時(shí)發(fā)出的控制信號(hào)所執(zhí)行的一組微操作稱為一條微指令,一條指令對(duì)應(yīng)于若干個(gè)微指令。微程序固化在微程控器的只讀控制內(nèi)存中第53頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.5 典型CPU的總體結(jié)構(gòu) 18086的內(nèi)部結(jié)構(gòu)第54頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.5 典型CPU的總體結(jié)構(gòu) 執(zhí)行部件EUEU負(fù)責(zé)執(zhí)行全部指令從BIU的指令隊(duì)列中取得指令,經(jīng)控制單元譯碼、產(chǎn)生完成該指令所需的各種控制信號(hào),完成規(guī)定的操作。ALU進(jìn)行算術(shù)、邏輯運(yùn)算,或計(jì)算出存儲(chǔ)單元的16位偏移地址送給BIU,由BIU生成20位的實(shí)際物理地址,再與外部總線交換數(shù)據(jù)。EU的通用寄存器組暫存指令所要求的操作數(shù)
43、據(jù)。第55頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.5 典型CPU的總體結(jié)構(gòu) 總線接口部件BIU負(fù)責(zé)CPU與內(nèi)存、I/O端口之間的信息傳送。BIU從內(nèi)存取指令送到指令隊(duì)列CPU執(zhí)行指令時(shí),BIU要配合EU的請(qǐng)求,完成EU與內(nèi)存單元或者I/O端口中間的數(shù)據(jù)傳送。BIU根據(jù)EU計(jì)算出來的16位偏移地址及段寄存器提供的段首址,通過地址產(chǎn)生器生成20位的物理地址。BIU的指令隊(duì)列緩沖器由6個(gè)8位的寄存器組成,采用“先進(jìn)先出”的原則,順序存放6個(gè)字節(jié)的指令碼,每當(dāng)指令隊(duì)列中空出兩個(gè)字節(jié)后,BIU便自動(dòng)地執(zhí)行取指令操作。 EU和BIU是兩個(gè)獨(dú)立的工作部件,在大多數(shù)情況下,它們能并行重疊操作,在EU執(zhí)行指令
44、的同時(shí),BIU也在進(jìn)行取指令、讀操作數(shù)或存入結(jié)果數(shù)據(jù)的操作。第56頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.2.5 典型CPU的總體結(jié)構(gòu) 28086的寄存器結(jié)構(gòu) 通用寄存器組 段寄存器組 專用寄存器組狀態(tài)標(biāo)志位有6個(gè):CF:進(jìn)位標(biāo)志AF:是輔助進(jìn)位標(biāo)志OF:溢出標(biāo)志ZF:零標(biāo)志SF:符號(hào)標(biāo)志PF:奇偶標(biāo)志。控制標(biāo)志位有3個(gè):DF:方向標(biāo)志IF:中斷允許標(biāo)志TF:陷阱標(biāo)志。 第57頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成 存儲(chǔ)單元的地址和內(nèi)容: 存儲(chǔ)器以字節(jié)(8 bit)為單位存儲(chǔ)信息 每個(gè)字節(jié)單元有一個(gè)地址,從 0 編號(hào),順序加 1 地址用二進(jìn)制數(shù)表示(無符號(hào)整數(shù),寫成十六進(jìn)制) 一
45、個(gè)字要占用相繼的兩個(gè)字節(jié) 低位字節(jié)存入低地址,高位字節(jié)存入高地址 機(jī)器以偶地址訪問(讀 / 寫)存儲(chǔ)器 字單元地址用它的低地址來表示第58頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成 1. 三級(jí)存儲(chǔ)系統(tǒng) 計(jì)算機(jī)系統(tǒng)中,規(guī)模較大的存儲(chǔ)器往往分成若干級(jí),稱為存儲(chǔ)系統(tǒng)。內(nèi)存儲(chǔ)器(主存儲(chǔ)器)外存儲(chǔ)器(輔助存儲(chǔ)器)高速緩沖存儲(chǔ)器(Cache) Cache通常在CPU的外部,80386以上的微處理器中為了進(jìn)一步提高CPU的運(yùn)行效率,在CPU的內(nèi)部又設(shè)置了一個(gè)Cache 。 Cache對(duì)用戶是透明的。CPU內(nèi)部的Cache稱為一級(jí)Cache(L1 Cache)CPU外部的Cache稱為二級(jí)Cach
46、e(L2 Cache)第59頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成 2內(nèi)存儲(chǔ)器的的基本結(jié)構(gòu) 存儲(chǔ)體 2k個(gè)存儲(chǔ)單元(n位)組成,全部存儲(chǔ)單元統(tǒng)一編號(hào)。 地址寄存器AR 地址譯碼器 數(shù)據(jù)寄存器DR 讀/寫電路 控制邏輯電路使內(nèi)存在嚴(yán)格的時(shí)序邏輯中執(zhí)行讀或?qū)懖僮?。?0頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成 3內(nèi)存的存儲(chǔ)單元存儲(chǔ)字:作為一個(gè)整體存入或取出的數(shù)稱為存儲(chǔ)字。存儲(chǔ)單元:存放存儲(chǔ)字或存儲(chǔ)字節(jié)的內(nèi)存空間。地址:存儲(chǔ)單元的編號(hào)稱為地址,地址和存儲(chǔ)單元之間有一對(duì)一的對(duì)應(yīng)關(guān)系。一個(gè)存儲(chǔ)單元可能存放一個(gè)字,也可能存放一個(gè)字節(jié),這是由計(jì)算機(jī)的結(jié)構(gòu)確定的。存儲(chǔ)單元是CPU
47、對(duì)主存可訪問操作的最小存儲(chǔ)單位。字節(jié)編址:最小尋址單位是一個(gè)字節(jié),相鄰的存儲(chǔ)單元地址指向相鄰的存儲(chǔ)字節(jié)。字編址:最小尋址單位是一個(gè)字,相鄰的存儲(chǔ)單元地址指向相鄰的存儲(chǔ)字。第61頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成 1 0 0 1 1 1 1 1 1000H ( 1000H ) = 9F H0 0 1 0 0 1 1 0 1001H 0 0 0 1 1 1 1 0 1002H ( 1002H ) = 1E H1 1 0 1 0 1 1 1 1003H ( 1000H ) = 269F H ( 1002H ) = D71E H ( 1001H ) = 1E26 H 訪問兩次存儲(chǔ)器
48、( 1001H ) = 26 H( 1003H ) = D7 H存儲(chǔ)器第62頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成存儲(chǔ)器的分段:20 根地址線: 地址范圍 00000H FFFFFH機(jī)器字長16位:僅能表示地址范圍 0000H FFFFH小段:每16個(gè)字節(jié)為一小段,共有64K個(gè)小段 小段的首地址 00000 H 0000F H 00010 H 0001F H 00020 H 0002F H FFFF0 H FFFFF H 段起始地址:小段首地址段的大?。?64K 范圍內(nèi)的任意字節(jié)第63頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成物理地址 = 16d 段地址 + 偏移地
49、址 16 位 段 地 址 16 位 偏 移 地 址 0000+ 20 位 物 理 地 址物理地址:每個(gè)存儲(chǔ)單元唯一的 20 位地址 段地址:段起始地址的高 16 位 偏移地址:段內(nèi)相對(duì)于段起始地址的偏移值(16 位) (有效地址 EA)第64頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成存儲(chǔ)器的邏輯分段: 存儲(chǔ)器64K代碼01500H42000H1CD00H0150H4200H1CD0H段寄存器CSDSSSES64K堆棧64K數(shù)據(jù) 64K附加數(shù)據(jù)B0000HB000H第65頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.1 內(nèi)存組成 存儲(chǔ)器 8K代碼 2K數(shù)據(jù) 256堆棧02000H0480
50、0H04000H0200H0400H0480HCSDSSS例:(DS) = 0400H, EA = 1234H, 物理地址 = 16d (DS) + EA = 05234H第66頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.2 內(nèi)存的讀寫 1內(nèi)存和CPU之間的連接2. CPU對(duì)內(nèi)存的基本操作 讀:地址ABAR、Read、 等待MFC、(M)DRDB。 寫:地址ABAR、數(shù)據(jù)DBDR、 Write、等待MFC。同步內(nèi)存存取和異步內(nèi)存存取。異步內(nèi)存存取:CPU和內(nèi)存間沒有統(tǒng)一的時(shí)鐘,由MFC通知CPU內(nèi)存工作已完成。同步內(nèi)存存?。篊PU和內(nèi)存采用統(tǒng)一時(shí)鐘,同步工作,不需要MFC。第67頁,共112頁。
51、計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.3 典型微機(jī)的內(nèi)存接口 1. 內(nèi)存編址:最常用的編址方式是字節(jié)編址。字/雙字/四倍字的地址是最低地址字節(jié)的地址。一個(gè)字存放在從偶數(shù)開始的兩個(gè)地址中,稱為規(guī)則存放(規(guī)則字);反之稱為非規(guī)則存放(非規(guī)則字)。一個(gè)雙字存放在從4的整倍數(shù)開始的四個(gè)地址中,稱為規(guī)則雙字,一個(gè)四倍字存放在從8的整倍數(shù)開始的八個(gè)地址中,稱為規(guī)則四倍字。讀寫規(guī)則字/雙字/四倍字只需一個(gè)總線周期,而讀寫非規(guī)則字/雙字/四倍字則需要兩個(gè)存儲(chǔ)周期。2. 內(nèi)存接口 數(shù)據(jù)總線一次能并行傳送的位數(shù),稱為數(shù)據(jù)通路寬度。對(duì)于字節(jié)編址的內(nèi)存來說,存在著一個(gè)內(nèi)存與數(shù)據(jù)總線之間的寬度匹配和內(nèi)存接口問題。第68頁,共112
52、頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.4 內(nèi)存堆棧與堆棧操作 1. 堆棧結(jié)構(gòu)堆棧是一種按特定順序“后進(jìn)先出”(LIFO)或“先進(jìn)后出”(FILO)進(jìn)行存取的存儲(chǔ)區(qū)。一般在內(nèi)存中劃出一段區(qū)域來作堆棧,這種堆棧稱為軟堆棧。堆棧的大小可變,棧底固定,棧頂浮動(dòng),用一個(gè)專門的寄存器作為堆棧棧頂指針(SP)。在80X86中,堆棧的棧底地址大于棧頂?shù)刂?。SP 堆棧常用來暫存一些重要的數(shù)據(jù)中斷時(shí)的斷點(diǎn)返回地址參數(shù)的傳遞第69頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.4 內(nèi)存堆棧與堆棧操作 2. 堆棧操作:進(jìn)棧堆棧指針SP的內(nèi)容需要先自動(dòng)減1,然后再將數(shù)據(jù)壓入堆棧: (SP)-1 SP 修改棧指針 (A)(SP) 將A
53、中的內(nèi)容壓入棧頂單元出棧先將堆棧中的數(shù)據(jù)彈出,然后SP的內(nèi)容再自動(dòng)加1: (SP)A 將棧頂單元內(nèi)容彈出送入A中 (SP)+1 SP 修改棧指針 堆棧操作既不是在堆棧中移動(dòng)它所存儲(chǔ)的內(nèi)容,也不是把已存儲(chǔ)在棧中的內(nèi)容從棧中抹掉,而是通過調(diào)整堆棧指針而給出新的棧頂位置,以便對(duì)位于棧頂位置的數(shù)據(jù)進(jìn)行操作。第70頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.4 內(nèi)存堆棧與堆棧操作 8086微處理器的堆棧位置由堆棧寄存器SS和堆棧指針SP規(guī)定;棧操作都是字(16位)操作;數(shù)據(jù)的源/目的不能是立即數(shù)、目的不能為CS。進(jìn)棧SP的內(nèi)容先自動(dòng)減2,然后將放在寄存器中的數(shù)據(jù)壓入:(SP)-1SP,然后把高位字節(jié)送到S
54、P所指的存儲(chǔ)單元;(SP)-1SP,然后把低位字節(jié)送到SP所指的存儲(chǔ)單元。出棧先將數(shù)據(jù)彈出至寄存器,然后SP的內(nèi)容自動(dòng)加2: 先將棧頂內(nèi)容送入寄存器的低位字節(jié)(如AL),(SP)+1SP; 再將棧頂內(nèi)容送入寄存器的高位字節(jié)(如AH),(SP)+1SP。第71頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.3.4 內(nèi)存堆棧與堆棧操作 PUSH AXPOP BX第72頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.1 指令系統(tǒng)簡介 指令是微處理器執(zhí)行某種操作的命令,微處理器全部指令的集合稱為指令系統(tǒng)。指令有兩種書寫格式:機(jī)器指令和符號(hào)指令。機(jī)器指令指令的二進(jìn)制數(shù)描述硬件只能識(shí)別機(jī)器指令,用機(jī)器指令書寫的程序可以直
55、接運(yùn)行符號(hào)指令用規(guī)定的助記符和規(guī)定的書寫格式書寫的指令與機(jī)器指令一一對(duì)應(yīng),需要翻譯成機(jī)器指令才能運(yùn)行 10110000 00000001 MOV AL, 1第73頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.1 指令系統(tǒng)簡介 1指令的組成操作碼字段(OP),用來指明操作的性質(zhì)及功能。地址碼字段(A),操作數(shù)的地址或直接給出操作數(shù)。機(jī)器語言:用二進(jìn)制代碼表示的指令,是唯一可以被CPU直接識(shí)別和執(zhí)行的程序。匯編程序:賦予每條指令一種利于記憶的符號(hào)(助記符),用助記符指令編寫的程序就是匯編程序。OPA操作碼字段地址碼字段第74頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.1 指令系統(tǒng)簡介 2. 指令的操作碼
56、指令的操作碼字段表明了所執(zhí)行的操作。讀出指令經(jīng)過譯碼產(chǎn)生執(zhí)行本指令操作所需的微操作控制信號(hào),控制計(jì)算機(jī)的各部件完成規(guī)定的操作。指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼。如果指令系統(tǒng)共有m條指令,指令中操作碼字段的位數(shù)為N位,則有如下關(guān)系式: m2N ; Nlog2 m3. 地址碼結(jié)構(gòu)對(duì)于一般的指令來說,除去操作碼(OP)之外,指令還應(yīng)包含以下信息:參加運(yùn)算的操作數(shù)存放的地址;執(zhí)行某種操作的結(jié)果存放的地址。指令地址碼字段的結(jié)構(gòu)又可以有三地址指令、二地址指令和一地址指令等幾種。第75頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.1 指令系統(tǒng)簡介 4指令的格式8086的指令通常由16個(gè)字節(jié)組成,指
57、令的第一個(gè)字節(jié)或前兩個(gè)字節(jié)存放指令的操作碼和尋址方式。指令的第一個(gè)字節(jié)稱為操作碼字節(jié)其中高6位是操作碼OP,用來指明指令執(zhí)行的操作。第1位說明數(shù)據(jù)流動(dòng)的方向第0位說明數(shù)據(jù)長度是字節(jié)還是字第二個(gè)字節(jié)稱為模式字節(jié)高2位MOD域選擇尋址類型及其是否存在位移量REG域(中間3位)和R/M域(低3位),表示寄存器的分配和內(nèi)存尋址方式。操作碼字節(jié)和模式字節(jié)后面跟著的字節(jié),用來指明該內(nèi)存操作數(shù)地址的位移量(8位或16位),或者直接給出操作數(shù)。第76頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.1 指令系統(tǒng)簡介 5. 指令類型通常CPU的指令系統(tǒng)可以有上百條指令,按功能可以分成: 數(shù)據(jù)傳送類指令 算術(shù)、邏輯運(yùn)算類
58、指令 程控類指令 輸入/輸出類指令 第77頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.2 指令的尋址方式 每種CPU的指令系統(tǒng)都有自己的一套尋址方式與數(shù)據(jù)有關(guān)的尋址方式:尋找操作數(shù)的地址與轉(zhuǎn)移地址有關(guān)的尋址方式:尋找指令的轉(zhuǎn)移地址數(shù)據(jù)有關(guān)的尋址方式:以 MOV 指令為例: 立即尋址 MOV AX , 3069H寄存器尋址 MOV AL , BH直接尋址 MOV AX , 2000H 寄存器間接尋址 MOV AX , BX 寄存器相對(duì)尋址 MOV AX , COUNT SI 基址變址尋址 MOV AX , BP DI 相對(duì)基址變址尋址 MOV AX , MASK BX SI 第78頁,共112頁。
59、計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.2 指令的尋址方式 1.立即尋址立即尋址是將操作數(shù)直接傳送給寄存器的一種尋址方式操作數(shù)緊跟在操作碼之后,作為指令的一部分。立即數(shù)可以是字節(jié)(8位)、字(16位)、雙字(32位),其低位字節(jié)放在低地址單元,高位字節(jié)放在高地址單元。例如:MOV AX,1234H低地址高地址操作碼34H12H12HAX34H第79頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.2 指令的尋址方式 2.寄存器尋址寄存器尋址是用于寄存器之間的數(shù)據(jù)傳送,源和目的寄存器必須使用相同的位數(shù)。例如: MOV AX, BX MOV AL, BH MOV AX, 3064H* 字節(jié)寄存器只有 AH AL BH
60、BL CH CL DH DL* SRC 和 DST 的字長一致 MOV AH, BX * CS 不能用 MOV 指令改變 MOV CS, AX 第80頁,共112頁。計(jì)算機(jī)硬件技術(shù)基礎(chǔ)2.4.2 指令的尋址方式 3.內(nèi)存尋址內(nèi)存尋址是寄存器與內(nèi)存之間傳送數(shù)據(jù)操作數(shù)存放在代碼段之外的存儲(chǔ)區(qū)指令中給出的是存儲(chǔ)單元地址或產(chǎn)生存儲(chǔ)單元地址的有關(guān)信息。 X86系列處理器對(duì)內(nèi)存采用分段式管理,程序員在指令中使用的是邏輯地址,邏輯地址由兩部分組成存儲(chǔ)單元所在段的基地址:段內(nèi)偏移地址(偏移量) 段的基地址一般由操作系統(tǒng)將程序裝入內(nèi)存時(shí)設(shè)置,程序員在編程時(shí)主要使用段內(nèi)偏移地址,段內(nèi)偏移地址也稱為有效地址(EA)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年貴州輕工職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫附答案
- 2025年廣東農(nóng)工商職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 2025年貴州工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫完整版
- 2025年硅湖職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫1套
- 基礎(chǔ)設(shè)施建設(shè)墊資合同樣本
- 員工保密協(xié)議合同模板
- 品牌代理權(quán)轉(zhuǎn)讓合同
- 房屋租賃中介費(fèi)用合同模板
- 倉庫租賃合同(簡化版)
- 建筑消防工程勞務(wù)分包合同范本
- 政府審計(jì) 課件 第二章 政府審計(jì)組織與審計(jì)法律
- 常用血管活性藥物的應(yīng)用及護(hù)理
- 2025年云南省昆明國家高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)招聘合同聘用制專業(yè)技術(shù)人員47人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 農(nóng)機(jī)安全知識(shí)講座
- DeepSeek從入門到精通 -指導(dǎo)手冊(cè)
- 2025年九年級(jí)上冊(cè)道德與法治核心知識(shí)點(diǎn)梳理匯編
- 校長第一次全體教師會(huì)上發(fā)言:2025春季開學(xué)教師掌握這 6 詞教育之路暢通無阻
- 2024年河南省鄭州某中學(xué)小升初數(shù)學(xué)試卷(含答案)
- 2024 湖南省公務(wù)員考試真題及答案(A類、B類、行政執(zhí)法、綜合管理崗、省考)5套
- 新能源汽車及零部件檢驗(yàn)檢測公共服務(wù)平臺(tái)建設(shè)項(xiàng)目可行性研究報(bào)告
- 七年級(jí)數(shù)學(xué)新北師大版(2024)下冊(cè)第一章《整式的乘除》單元檢測習(xí)題(含簡單答案)
評(píng)論
0/150
提交評(píng)論