




已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章 CPU資源和存儲(chǔ)器 2.1 寄存器組 2.2 存儲(chǔ)器的管理模式 微機(jī)系統(tǒng)組成結(jié)構(gòu)圖 I/O 接 口 主存儲(chǔ)器 系統(tǒng)總線 輔助存儲(chǔ)器 輸入設(shè)備 輸出設(shè)備 CPU 寄存器 控制器 運(yùn)算器 時(shí)鐘 8086 CPU的內(nèi)部結(jié)構(gòu) 8086內(nèi)部結(jié)構(gòu)有兩個(gè)功能模塊: 1.執(zhí)行單元(Execution Unit,EU): 負(fù)責(zé)指令的譯碼和執(zhí)行 2.總線接口單元(Bus Inference Unit, BIU ) 主要負(fù)責(zé)讀取指令和操作數(shù) *3 內(nèi)部暫存器 IP ES SS DS CS 輸入/輸出 控制電路 外部總線 執(zhí)行部分 控制電路 1 2 3 4 5 6 ALU 標(biāo)志寄存器 AH AL BH BL CH CL DH DL SP BP SI DI 通用寄存器 地址加法器 指令隊(duì)列緩沖器 執(zhí)行部件 (EU) 總線接口部件 (BIU) 16位 20位 16位 8位 2.1 寄存器組 CPU中為什么要使用寄存器 寄存器比存儲(chǔ)器存取速度快 使用靈活(如暫存運(yùn)算的中間數(shù)據(jù))、控制方便(如IP) 寄存器的分類 通用寄存器:傳送和暫存數(shù)據(jù);參與算術(shù)邏輯運(yùn)算并保存運(yùn) 算結(jié)果; 段寄存器:保存段地址,用于尋址時(shí)構(gòu)成物理地址; 專用寄存器:CPU運(yùn)行的輔助工具。 *5 通 用 寄 存 器 *6 類別32位16位8位名稱作用 數(shù)據(jù)寄 存器 EAXAXAH、AL累加器常作隱含操作數(shù),可通用 EBXBXBH、BL基地址寄存器常作地址指針,可通用 ECXCXCH、CL計(jì)數(shù)器常存放計(jì)數(shù)值,可通用 EDXDXDH、DL數(shù)據(jù)寄存器常與累加器配合,可通用 變址寄 存器 ESISI無源變址寄存器保存源操作數(shù)地址 EDIDI無目的變址寄存器保存目的操作數(shù)地址 ESPSP無棧頂指針只能保存堆棧棧頂?shù)刂?EBPBP無堆棧指針可保存堆棧任意位置地址 堆棧指 針寄存 器 數(shù)據(jù)寄存器AX、BX、CX和DX 16位寄存器 高低8位可分為兩個(gè)獨(dú)立寄存器使用; 主要用于暫存指令執(zhí)行過程中的數(shù)據(jù); 特殊用途 AX:累加器,ALU運(yùn)算核心部件、某些指令的默認(rèn)寄存器; BX:基址寄存器,存放存儲(chǔ)單元的有效地址; CX:計(jì)數(shù)器,串操作指令和循環(huán)指令中的默認(rèn)計(jì)數(shù)器; DX:與AX合用保存32位數(shù)據(jù);I/O指令中存放端口地址。 *7 累加器AX 16位寄存器可以存儲(chǔ)2個(gè)字節(jié)的數(shù)據(jù); 例如,數(shù)值2008H存放于AX累加器中。 AX可分做兩個(gè)8位的寄存器使用,分別為AH和AL。 (AX)=2008H,則(AH)=20H,(AL)=08H; BX、CX、DX類似。 *8 AX 0123456789101112131415 無符號(hào)數(shù)范圍為065535 有符號(hào)數(shù)范圍為-32768+32767 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 AHAL 變址寄存器SI、DI 16位寄存器; 常作為指針,存放存儲(chǔ)單元有效地址,也可暫存數(shù)據(jù); 特殊用法: SI、DI中保存的地址信息可以隨著指令的執(zhí)行而自動(dòng)改變; SI:源變址寄存器,串操作中存放源串地址,默認(rèn)DS段; DI:目的變址寄存器,串操作中存放目的串地址,默認(rèn)ES段; 該特殊用法只在字符串操作中有效,其它場(chǎng)合下作一般的指 針寄存器使用; *9 堆棧指針寄存器SP、BP 堆棧是一個(gè)先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),棧底位 置不變; 棧頂指針SP 其中始終存放棧頂單元的有效地址; 其值是由出入棧指令自動(dòng)更改的,一 般不允許隨意對(duì)該寄存器賦值; 堆棧指針BP 其中數(shù)據(jù)一般作為地址進(jìn)行訪存; 默認(rèn)對(duì)應(yīng)于SS段,可尋址堆棧中的任 何單元。 *10 堆棧 棧底 1 2 3 1 2 3 3 2 1 棧頂 段 寄 存 器 類別16位8位名稱作用 段寄存器無代碼段段寄存器存放代碼段段地址 無數(shù)據(jù)段段寄存器存放數(shù)據(jù)段段地址 無附加段段寄存器存放附加段段地址 無堆棧段段寄存器存放堆棧段段地址 一段匯編語(yǔ)言程序至少有一個(gè)邏輯段代碼段,用于存放 代碼; 一段匯編語(yǔ)言程序最多有4個(gè)邏輯段1個(gè)代碼段,3個(gè)數(shù)據(jù) 段,分別用于存放代碼和數(shù)據(jù); *11 CS DS ES SS CS (Code Segment) 代碼段 用來存放要執(zhí)行的指令序列; 段首地址用代碼段寄存器CS來保存; 指令指針寄存器IP指示本段中的地址; n將要執(zhí)行的下條指令的有效地址; CPU利用CS:IP形成存儲(chǔ)單元的物理地址,以獲取下條 要執(zhí)行指令的代碼。 *12 DS (Data Segment) 數(shù)據(jù)段 用來存放程序運(yùn)行所需要的數(shù)據(jù); 段首地址用數(shù)據(jù)段寄存器DS來保存; CPU利用DS:EA形成存儲(chǔ)單元的物理地址,以獲取數(shù) 據(jù)段中的數(shù)據(jù); nEA的形成方式詳見第3章尋址方式的介紹。 *13 ES (Extra Segment) 附加段 即附加的數(shù)據(jù)段,保存程序運(yùn)行所需要的數(shù)據(jù); 段首地址用附加段寄存器ES來保存; CPU利用ES:EA形成存儲(chǔ)單元的物理地址,以獲取附加 段中的數(shù)據(jù); 串操作指令常將附加段ES作為目的操作數(shù)的存放區(qū)域。 *14 SS (Stack Segment) 堆棧 用于存儲(chǔ)程序運(yùn)行中需要臨時(shí)保護(hù)的數(shù)據(jù); 段首地址用堆棧段寄存器SS來保存; 堆棧指針寄存器SP保存堆棧棧頂?shù)挠行У刂罚?CPU利用SS:SP對(duì)堆棧棧頂單元進(jìn)行操作; 利用SS:BP對(duì)堆棧中的任一單元進(jìn)行操作。 *15 專 用 寄 存 器 指令指針I(yè)P 保存將要執(zhí)行指令的有效地址; 該寄存器的內(nèi)容是不允許人為更改的,通過指令的執(zhí)行而自 動(dòng)改變。 標(biāo)志寄存器FLAG 該寄存器是利用其中的每一位來反映當(dāng)前CPU執(zhí)行指令的 結(jié)果或控制指令執(zhí)行形式。 *16 類別16位8位名稱作用 專用 寄存器 IP無指令指針寄存器 保存將要取出的指令有效地址 FLAG 無標(biāo)志寄存器 保存CPU當(dāng)前的狀態(tài)標(biāo)志信息 16位標(biāo)志寄存器 僅用到其中9位,且按位使用; 6位狀態(tài)標(biāo)志位:反映ALU的執(zhí)行狀態(tài); n按照ALU指令執(zhí)行的結(jié)果設(shè)置各狀態(tài)標(biāo)志位; 3位控制標(biāo)志位:控制CPU的某些功能; *17 1514131211109876543210 OFDFIFTFSFZFAFPFCF 進(jìn)位標(biāo)志 零標(biāo)志 符號(hào)標(biāo)志 溢出標(biāo)志 方向標(biāo)志 中斷允許標(biāo)志 陷阱標(biāo)志 奇偶標(biāo)志 輔助進(jìn)位標(biāo)志 常用的狀態(tài)標(biāo)志位 進(jìn)位標(biāo)志位CF 運(yùn)算結(jié)果有進(jìn)位或借位時(shí),CF=1,否則CF=0; 溢出標(biāo)志位OF 運(yùn)算結(jié)果超出了數(shù)據(jù)表示范圍時(shí),OF=1,否則OF=0; 符號(hào)標(biāo)志位SF 運(yùn)算結(jié)果為負(fù)數(shù)時(shí),SF=1,否則SF=0; 零標(biāo)志位ZF 運(yùn)算結(jié)果為0時(shí),ZF=1,否則ZF=0; *18 標(biāo)志位設(shè)置 例1:3AH + 7CH例2:0AAH + 7CH *19 3A H = 0011 1010 B +) 7C H = 0111 1100 B 1011 0110 B = 0B6H CF = SF = ZF = OF = 1 0 10 AA H = 1010 1010 B +) 7C H = 0111 1100 B 1 0010 0110 B = (1)26H CF = SF = ZF = OF = 0 1 00 問題: 什么是溢出? 溢出和進(jìn)位有何區(qū)別? 如何判斷溢出? *20 什么是溢出? 微機(jī)中常用補(bǔ)碼來表示有符號(hào)數(shù); 8位表達(dá)的范圍是:-128 +127 16位表達(dá)的有符號(hào)數(shù)范圍是:-32768 +32767 如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出,則表示該運(yùn) 算結(jié)果不正確! 注意:只有加減法運(yùn)算中才會(huì)出現(xiàn)溢出現(xiàn)象,在其他運(yùn)算 中無溢出! *21 溢出和進(jìn)位的區(qū)別 溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個(gè)意義不同的標(biāo)志位; 進(jìn)位標(biāo)志CF 其設(shè)置完全根據(jù)二進(jìn)制數(shù)據(jù)的計(jì)算情況設(shè)置; 表示無符號(hào)數(shù)的運(yùn)算結(jié)果是否溢出; 無論CF為何值,無符號(hào)數(shù)的運(yùn)算結(jié)果均正確。 溢出標(biāo)志OF 其設(shè)置是把數(shù)據(jù)看作有符號(hào)數(shù)來判斷的; 表示有符號(hào)數(shù)運(yùn)算結(jié)果是否溢出; 當(dāng)OF=1時(shí),有符號(hào)數(shù)的運(yùn)算結(jié)果不正確。 *22 前面例子的結(jié)果 例1:3AH + 7CHB6H 作為無符號(hào)數(shù):58124182 ,范圍內(nèi),無進(jìn)位 作為有符號(hào)數(shù):58124182 ,范圍外,有溢出 例2:AAH + 7CH(1) 26H 作為無符號(hào)數(shù):170124294, 范圍外,有進(jìn)位 作為有符號(hào)數(shù):8612438 ,范圍內(nèi),無溢出 *23 如何判斷溢出? 判斷運(yùn)算結(jié)果是否溢出的規(guī)則:運(yùn)算前后數(shù)據(jù)的符號(hào) 將減法運(yùn)算轉(zhuǎn)換成加法運(yùn)算; x y補(bǔ) x補(bǔ) + y補(bǔ) (mod 2n+1) 當(dāng)正數(shù)+正數(shù)=負(fù)數(shù),或者負(fù)數(shù)+負(fù)數(shù)=正數(shù)時(shí),產(chǎn)生溢出。 其他判斷方法: 直接判別法:不容易判斷; 進(jìn)位判別法:最高位和次高位的進(jìn)位位相異或。 *24 判斷標(biāo)志位狀態(tài) 例:計(jì)算(-56)+(-67)=? ,并給出6個(gè)狀態(tài)標(biāo)志位的狀態(tài)。 *25 1100 1000 1011 1101 (1)1000 0101 CF= , ZF= ,SF= ,OF= = -123D 1010 (-56)補(bǔ)1100 1000 (-67)補(bǔ)1011 1101 2.2 存儲(chǔ)器的管理模式 主存儲(chǔ)器用于存放系統(tǒng)運(yùn)行所需要的所有的程序和數(shù)據(jù); 開機(jī)后自動(dòng)從BIOS和輔存中調(diào)入數(shù)據(jù),掉電后丟失; 存儲(chǔ)器的基本單位是存儲(chǔ)單元; 每個(gè)存儲(chǔ)單元的大小可以是一個(gè)字節(jié),或一個(gè)字; n8086 CPU的主存是以字節(jié)進(jìn)行組織的; 每個(gè)存儲(chǔ)單元都有一個(gè)唯一的編號(hào),稱為物理地址,用于 CPU訪問; 存儲(chǔ)器容量單位 bit、Byte、KB、MB、GB *26 物理地址(Physical Address,PA) 將整個(gè)存儲(chǔ)器從第一單元到最后一個(gè)單元 按順序編號(hào)所得到的地址稱為物理地址; 物理地址可以唯一地標(biāo)識(shí)每一個(gè)存儲(chǔ)單元 ; CPU訪問主存時(shí),必須通過地址總線輸出 所要訪問存儲(chǔ)單元的的物理地址。 系統(tǒng)的最大主存容量取決于地址總線的位 數(shù); *27 主存儲(chǔ)器 000B 001B 010B 111B CPU對(duì)主存儲(chǔ)器的訪問過程 1.CPU通過控制總線,發(fā)出訪存信號(hào),通知主存準(zhǔn)備數(shù)據(jù)讀寫; 2.CPU通過地址總線,發(fā)出存儲(chǔ)單元的地址; 主存儲(chǔ)器接收到地址后,譯碼,尋址正確的存儲(chǔ)單元; 3.CPU通過控制總線,發(fā)出讀寫的命令; 主存儲(chǔ)器將準(zhǔn)備執(zhí)行讀寫操作; 4.CPU通過數(shù)據(jù)總線,讀出或?qū)懭氲臄?shù)據(jù); *28 CPU 主存 數(shù)據(jù)總線 地址總線 讀寫控制線 訪存控制線 8086需要4個(gè)時(shí)鐘周期, 80486只需要1個(gè)時(shí)鐘周期 。 1 PA 1100 0110 1 1100 0110 存儲(chǔ)單元中數(shù)據(jù)的存取方法 基本原則:高高低低原則 即低地址單元存放低位數(shù)據(jù), 高地址單元存放高位數(shù)據(jù)。 例如,存儲(chǔ)器如右圖所示 12341H單元的字節(jié)數(shù)據(jù)為34H; 12341H單元的字?jǐn)?shù)據(jù)為5634H。 *29 12 34 56 78 90 12340H 12341H 12342H 12343H 12344H 存儲(chǔ)器分段管理的原因 16位系統(tǒng)中 地址總線20根 可尋址主存空間為220=1MB 地址區(qū)間00FFFFFH 機(jī)器字長(zhǎng)16位 運(yùn)算的最大位數(shù)、指針等只有16位 可直接尋址的空間為216=64KB 地址區(qū)間00FFFFH 因此,采用分段方式管理和訪問內(nèi)存。 *30 物理地址 存儲(chǔ)器的分段管理 分段的思想: 用兩個(gè)16位地址合成的方法形成一個(gè)20位的物理地址 關(guān)于分段的規(guī)定 段的起始:每個(gè)邏輯段的起始地址必須是16的倍數(shù)。 即:xxxx xxxx xxxx xxxx 0000B 或:xxxx0H 段的容量:每個(gè)邏輯段的最大容量可以達(dá)到64KB。 注意:各邏輯段之間是可以重疊的。 *31 主存實(shí)際上并沒有從物 理上分段,段的劃分只 是來自于CPU的管理! 存儲(chǔ)器的分段管理模式 *32 物理地址 00000H 12340H 12341H 22000H 2233FH 0FFFFFH 主存儲(chǔ)器 段起始單元 邏輯段1 段地址為:1234H 保存于段寄存器中 偏移地址 0000H 0001H 0002H 0FFFFH 段起始單元 邏輯段2 段地址為:2200H 保存于段寄存器中 偏移地址 0000H 0001H 0002H 0FFFFH 關(guān)于分段 1MB空間最多能分成多少個(gè)段? 邏輯段最密集的劃分方式 每隔16個(gè)存儲(chǔ)單元開始一個(gè)新段,各段都是重疊的; 所以,1MB最多可以有2201621664K 個(gè)段 1MB空間最少能分成多少個(gè)段? 邏輯段最松散的劃分方式 每隔 64K 個(gè)存儲(chǔ)單元開始一個(gè)新段,各段不重疊; 所以,1MB最少可以有 22021616 個(gè)段 *33 物理地址的形成 任意一個(gè)物理地址均可以用段地址和偏移地址兩部分形成; 邏輯地址:段地址 + 偏移地址 分段的不同,可導(dǎo)致同一個(gè)物理地址對(duì)應(yīng)多個(gè)不同的邏輯地 址。 物理地址(PA)=段地址16 + 偏移地址 段地址:段起始單元物理地址的高16位,其值由段寄存器( CS、DS、ES、SS)保存; 偏移地址:也叫有效地址(EA) ,指實(shí)際單元和段起始單元 之間的距離。 *34 即將段地址左移4個(gè)二進(jìn)制位 分段模式下主存儲(chǔ)器的地址類型 物理地址 每個(gè)存儲(chǔ)單元在整個(gè)存儲(chǔ)器中的唯一標(biāo)識(shí); 段地址 邏輯段首單元的物理地址的高16位; 有效地址EA(段內(nèi)偏移地址) 該存儲(chǔ)單元相對(duì)于段首單元的偏移量; 該單元物理地址 = 有效地址 + 段首單元的物理地址; 邏輯地址 由段地址和有效地址表示的存儲(chǔ)單元地址形式; *35 某單元A的物理地址為23000H 若段起始地址為20000H,即段地址為2000H 則A的有效地址為3000H 該段中,A的邏輯地址可表示為2000H:3000H 段寄存器的引用 段寄存器要與指針寄存器一起使用來訪問主存; 代碼段段寄存器CS指針寄存器為IP。 數(shù)據(jù)段段寄存器DS指針寄存器一般用BX、SI、DI。 附加段段寄存器ES指針寄存器一般用DI(字符串操作)。 堆棧段段寄存器SS指針寄存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽高中教科研聯(lián)盟2025年高一化學(xué)第二學(xué)期期末聯(lián)考模擬試題含解析
- 2025屆吉林省長(zhǎng)春市汽車經(jīng)濟(jì)技術(shù)開發(fā)區(qū)第六中學(xué)化學(xué)高二下期末檢測(cè)試題含解析
- 2025屆江西省吉安市永豐中學(xué)高一下化學(xué)期末質(zhì)量檢測(cè)模擬試題含解析
- 醫(yī)院通訊費(fèi)用管理辦法
- 機(jī)構(gòu)工資薪酬管理辦法
- 2025年暑假八上古詩(shī)文默寫強(qiáng)化訓(xùn)練早背晚默21-36 素材
- 財(cái)政政策與市場(chǎng)信心-洞察及研究
- 全國(guó)現(xiàn)代農(nóng)業(yè)發(fā)展規(guī)劃與實(shí)施策略
- 智慧學(xué)校信息管理辦法
- 云資源訪問控制機(jī)制-洞察及研究
- 招商大使選聘管理辦法
- 海外現(xiàn)場(chǎng)安全健康環(huán)境管理(HSE)
- 2025年公安機(jī)關(guān)人民警察(行政執(zhí)法)資格考試(客觀題及刑法)含答案
- DB3502∕T 166-2024 既有廠區(qū)及老舊小區(qū)海綿城市方案設(shè)計(jì)導(dǎo)則
- 2025年 江西省金控科技產(chǎn)業(yè)集團(tuán)有限公司招聘考試筆試試卷附答案
- 四川省成都市蓉城聯(lián)盟2024-2025學(xué)年高一下學(xué)期6月期末考試物理試題(含答案)
- 2025年中國(guó)模內(nèi)標(biāo)簽(IML)行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 【人教版】吉林長(zhǎng)春2024-2025學(xué)年 五年級(jí)下學(xué)期期末數(shù)學(xué)試題【附答案】
- 福建省三明市永安林業(yè)(集團(tuán))股份有限公司招聘筆試題庫(kù)2025
- 地基基礎(chǔ)公司管理制度
- 科室vte預(yù)防管理制度
評(píng)論
0/150
提交評(píng)論