




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二章80x86計算機組織§2.1 80x86§2.2 基于微處理器的計算機系統(tǒng)構(gòu)成§2.3 中央處理機§2.4 存儲器§2.5 外部設(shè)備§2.1 80x86微處理器§2.2 基于微處理器的計算機系統(tǒng)構(gòu)成系統(tǒng)資源:CPU、存儲器、I/O端口內(nèi)部暫存器
IP
ES
SS
DS
CS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器
AHAL
BHBLCHCL
DHDL
SP
BP
SI
DI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位8086編程結(jié)構(gòu)編程結(jié)構(gòu)BIU(總線接口部件)負(fù)責(zé)與存儲器及I/O設(shè)備交換信息 指令 數(shù)據(jù)EU(執(zhí)行部件)負(fù)責(zé)指令的執(zhí)行工作過程
兩部分并行工作,提高了工作效率每當(dāng)指令隊列中有兩個空字節(jié),BIU自動把內(nèi)存中的指令送入指令隊列中EU從指令隊列中取出指令代碼去執(zhí)行(此時,BIU可繼續(xù)取指)。如在指令執(zhí)行過程中需要訪問存儲器或I/O設(shè)備,則EU會請求BIU進(jìn)入總線周期,去完成訪問存儲器或I/O端口的操作BIU處于空閑狀態(tài),則立即響應(yīng)EU的總線請求BIU正在取指,完成當(dāng)前取指操作后響應(yīng)EU的請求當(dāng)指令隊列已滿,且EU沒有總線請求時,BIU進(jìn)入空閑狀態(tài)在執(zhí)行轉(zhuǎn)移、調(diào)用和返回指令時,BIU指令隊列的原有內(nèi)容會被自動清除,而裝入轉(zhuǎn)移目標(biāo)處的指令。1.通用寄存器
8個16位寄存器位于EU中數(shù)據(jù)寄存器(共4個16位)指針及變址寄存器(共4個16位)內(nèi)部暫存器
IP
ES
SS
DS
CS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器
AHAL
BHBLCHCL
DHDL
SP
BP
SI
DI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位1.通用寄存器—數(shù)據(jù)寄存器AX(Accumulator)累加器:算術(shù)運算的主要R,所有的I/O指令都用此RBX(Base)基址寄存器:除通用外,計算存儲器地址做基址用CX(Count)計數(shù)器:通用,作循環(huán)計數(shù)器DX(Data)數(shù)據(jù)寄存器:常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端口地址特點: 可作16位R使用,也可將每個拆成2個8位寄存器使用,對其中某8位的操作,并不影響另外對應(yīng)8位的數(shù)據(jù)具有良好的通用性:在程序中即可存放操作數(shù),也可存放操作結(jié)果2.段寄存器4個16bitsSegmentRegisters在8086/8088系統(tǒng)中,存儲器是按段進(jìn)行組織的,段寄存器就是用來存放段基值的(段起始地址的高16位)運行程序時所必要的指令、數(shù)據(jù)等存放于內(nèi)存的不同段內(nèi),根據(jù)其用途的不同,又不同的段寄存器指示,并稱其為當(dāng)前段內(nèi)部暫存器
IP
ES
SS
DS
CS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器
AHAL
BHBLCHCL
DHDL
SP
BP
SI
DI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位 2.段寄存器CS:代碼段寄存器—對應(yīng)的段存放指令代碼DS:數(shù)據(jù)段寄存器—對應(yīng)的段存放數(shù)據(jù)或變量SS:堆棧段寄存器—對應(yīng)的段存放棧操作的數(shù)據(jù)ES:附加段寄存器—對應(yīng)的段一般存放數(shù)據(jù)或變量
整個內(nèi)存可劃分為多個段,但當(dāng)前段最多只能有4個,如果需要改變當(dāng)前段,則可通過程序修改段寄存器的內(nèi)容3.控制寄存器—IPIP(InstructionPointer)指令指針寄存器IP(16bits)
指示代碼段中指令的偏移地址它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址計算機通過CS:IP寄存器來控制指令序列的執(zhí)行流程IP寄存器是一個專用寄存器不能對IP指針直接進(jìn)行訪問
程序順序執(zhí)行 修改 轉(zhuǎn)移指令的執(zhí)行 調(diào)用、返回指令的執(zhí)行CSIP正在執(zhí)行的指令下一條將要執(zhí)行的指令16bits偏移量XXXXXXXXXXXXXXXX3.控制寄存器—FLAGS標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式8086處理器的各種標(biāo)志形成了一個16位的標(biāo)志寄存器FLAGS(程序狀態(tài)字PSW寄存器)OF111512DF10IF9TF8SF7ZF65AF43PF21CF0標(biāo)志位的功能—進(jìn)位標(biāo)志CF(CarryFlag)記錄運算時從最高有效位產(chǎn)生的進(jìn)/借位值3AH+7CH=B6H,沒有進(jìn)位:CF=0AAH+7CH=(1)26H,有進(jìn)位:CF=10 NC 沒有產(chǎn)生進(jìn)/借位1 CY 有進(jìn)/借位產(chǎn)生CF=標(biāo)志位的功能—零標(biāo)志ZF(ZeroFlag)0 NZ 結(jié)果非零1 ZR 結(jié)果為零ZF=3AH+7CH=B6H,結(jié)果不是零:ZF=084H+7CH=(1)00H,結(jié)果是零:ZF=1
注意:ZF為1表示的結(jié)果是0標(biāo)志位的功能—符號標(biāo)志SF(SignFlag)表明有符號數(shù)運算結(jié)果的正負(fù)0 PL 結(jié)果為正1 NG 結(jié)果為負(fù)SF=
有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號所以,最高有效位就是符號標(biāo)志的狀態(tài)3AH+7CH=B6H,最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0標(biāo)志位的功能—溢出標(biāo)志OF(OverflowFlag)表明補碼的運算結(jié)果是否有溢出0 NV 沒有溢出1 OV 溢出OF=3AH+7CH=B6H,產(chǎn)生溢出:OF=1AAH+7CH=(1)26H,沒有溢出:OF=0關(guān)于溢出處理器內(nèi)部以補碼表示有符號數(shù)8位表達(dá)的整數(shù)范圍是:-128~+12716位表達(dá)的范圍是:-32768~+32767如果運算結(jié)果超出這個范圍,就產(chǎn)生了溢出有溢出,說明有符號數(shù)的運算結(jié)果不正確3AH+7CH=B6H,就是58+124=182,已經(jīng)超出-128~+127范圍,產(chǎn)生溢出,故OF=1;另一方面,補碼B6H表達(dá)真值是-74,顯然運算結(jié)果也不正確溢出和進(jìn)位溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個意義不同的標(biāo)志進(jìn)位標(biāo)志表示無符號數(shù)運算結(jié)果是否超出范圍,運算結(jié)果仍然正確;溢出標(biāo)志表示有符號數(shù)運算結(jié)果是否超出范圍,如溢出,運算結(jié)果已經(jīng)不正確。如何運用溢出和進(jìn)位處理器對兩個操作數(shù)進(jìn)行運算時,按照無符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CF;同時,根據(jù)是否超出有符號數(shù)的范圍設(shè)置溢出標(biāo)志OF。應(yīng)該利用哪個標(biāo)志,則由程序員來決定。也就是說,如果將參加運算的操作數(shù)認(rèn)為是無符號數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號數(shù),則要注意是否溢出。標(biāo)志位的功能—
輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)記錄運算時D3位(低半字節(jié))有無進(jìn)位或借位0 NA D3未產(chǎn)生進(jìn)/借位1 AC D3產(chǎn)生進(jìn)/借位AF=3AH+7CH=B6H,D3有進(jìn)位:AF=1
這個標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運算調(diào)整指令中,用戶一般不必關(guān)心標(biāo)志位的功能—方向標(biāo)志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向0 UP 存儲器地址自動增量修改1 DN 存儲器地址自動減量修改DF=CLD指令復(fù)位方向標(biāo)志:DF=0STD指令置位方向標(biāo)志:DF=1標(biāo)志位的功能—中斷允許標(biāo)志IF(Interrupt-enableFlag)用于開中斷或屏蔽中斷0 DI 關(guān)中斷,禁止響應(yīng)中斷1 EI 開中斷,允許響應(yīng)中斷IF=CLI指令復(fù)位中斷標(biāo)志:IF=0STI指令置位中斷標(biāo)志:IF=1標(biāo)志位的功能—陷阱標(biāo)志TF(TrapFlag)用于控制處理器進(jìn)入單步操作方式0 處理器正常工作1 處理器單步執(zhí)行指令單步執(zhí)行指令——處理器在每條指令執(zhí)行結(jié)束時,便產(chǎn)生一個編號為1的內(nèi)部中斷這種內(nèi)部中斷稱為單步中斷所以TF也稱為單步標(biāo)志利用單步中斷可對程序進(jìn)行逐條指令的調(diào)試這種逐條指令調(diào)試程序的方法就是單步調(diào)試§2.4 存儲器一、存儲器的組成二、存儲器的段結(jié)構(gòu)三、邏輯地址與物理地址四、堆棧一、存儲器的組成
存儲器的編址數(shù)據(jù)的存儲8086/8088對內(nèi)存的訪問由若干個存儲單元組成,存儲單元的多少代表存儲器的容量每個存儲單元存儲8個2進(jìn)制位—容量用Byte數(shù)來衡量1.存儲器的編址8086CPU有20條地址線最大可尋址空間為 220=1MB物理地址范圍 00000H~0FFFFFH存儲單元連續(xù)編號,被稱為存儲器地址00000H00001H00002H00003H0FFFFDH0FFFFEH0FFFFFH2.數(shù)據(jù)的存儲字節(jié)(Byte)每個字節(jié)占據(jù)1個存儲單元 (09234H)=78H字(Word)任何兩個相鄰的字節(jié)構(gòu)成1個Word存放形式:高地址單元對應(yīng)高位字節(jié),低地址單元對應(yīng)低位字節(jié)字的地址:用地址較小的字節(jié)單元的地址作為該字單元的地址(09235H)=3456H (09236H)=1234H雙字(DWord)兩個相鄰的字單元構(gòu)成1個雙字(09234H)=12345678H78H56H34H12H09234H09235H09236H09237H
字單元的地址可為奇數(shù)也可為偶數(shù),但由于機器中對字單元的訪問是以偶地址進(jìn)行的,故若設(shè)字地址為奇地址,則需進(jìn)行兩次存儲器訪問3.對內(nèi)存的訪問8086 字節(jié)
字80386 雙字 由指令明確規(guī)定或由指令中所使用的變量名(存儲單元的符號地址)的類型決定,變量名的類型是事先定義的。二、存儲器的段結(jié)構(gòu)8086CPU有20條地址線,存儲器地址是20位的8086的內(nèi)部寄存器(包括IP)都是16位的無法用寄存器直接對1MB的內(nèi)存空間直接進(jìn)行尋址 引入分段的概念—實模式存儲器尋址
1MB的存儲空間可由用戶根據(jù)需要劃分成若干個邏輯段(Segment)每個段的容量≦64KB,連續(xù)的存儲單元。(段內(nèi)是16位的尋址,0000H—0FFFFH)每段地址最小的字節(jié)單元的地址為該段的段基址(首地址),要求其最低4位為0(如:00000H,00010H,000F0H,等)段與段之間的關(guān)系:鄰接、間隔、部分重疊、完全重疊。(一個物理存儲單元可以映象到一個或多個邏輯段中某一時刻,系統(tǒng)只允許訪問4個段中的內(nèi)容(由4個段寄存器指示,其中存放段首址的高16位—段基值)如果程序/數(shù)據(jù)較大(〉64KB)可修改段寄存器的內(nèi)容來訪問其他段段1段2段3段4段5鄰接部分重疊完全重疊間隔三、邏輯地址與物理地址1.物理地址即20位的地址編碼,每個存儲單元有唯一的物理地址信息的傳送是通過它來尋址存儲單元并進(jìn)行傳送2.邏輯地址程序設(shè)計中使用的是邏輯地址由于段可重疊,同一個存儲單元可以有多個邏輯地址段基值:段起始單元地址的高16位,其值存放于段寄存器中偏移量:某存儲單元與它所在起始單元之間的距離,以字節(jié)數(shù)計偏移量為0:該單元就是段的起始單元偏移量的最大值:0FFFFH(0—0FFFFH共64K個)邏輯地址的表示方式段基值:偏移量內(nèi)部暫存器
IP
ES
SS
DS
CS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器
AHAL
BHBLCHCL
DHDL
SP
BP
SI
DI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位三、邏輯地址與物理地址3.邏輯地址與物理地址的邏輯關(guān)系當(dāng)CPU訪問存儲器時,BIU將邏輯地址轉(zhuǎn)換為物理地址物理地址=段基值×16+偏移量16位段基值16位偏移量000015 015 0+20位物理地址20 0所選存儲單元⊕
20位物理地址20016位段基值15 0000016位偏移量15 0所選段3.邏輯地址與物理地址的邏輯關(guān)系 邏輯地址1460H:0100H、1380H:0F00H14600H+100H14700H段地址左移4位加上偏移地址得到物理地址13800H+F00H14700H 物理地址 14700H段的分配例:如代碼段程序占用8KB(2000H)存儲區(qū),數(shù)據(jù)段占用2KB(800H)存儲區(qū),堆棧段占用256B存儲區(qū)。內(nèi)存應(yīng)如何分配。每段均小于64KB,且總占用量小于1MB可有多種分配方案代碼段堆棧段數(shù)據(jù)段附加段0150HCS4200HDS1CD0HSSB000HES01500H42000H1CD00HB0000H每段占用64KB,且段間間隔,所占用空間遠(yuǎn)多于實際需要。8KB代碼段2KB數(shù)據(jù)段256B堆棧段0200HCS0400HDS0480HSSES02000H04000H04800H段間鄰接此例中每段的長度都是16的整數(shù)倍,可鄰接;若不滿足此要求,則下一段將從最近的第一個小段開始,中間有少于16Bytes的間隔4.邏輯地址的來源程序運行中所需要的指令、數(shù)據(jù)根據(jù)用途不同存放在內(nèi)存的不同段中,對內(nèi)存進(jìn)行訪問時根據(jù)操作類型的不同,通過不同的途徑給出邏輯地址,以獲得物理地址。SI,DI等取指 CS IP堆棧 SS SP數(shù)據(jù) DS CS ES
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚后孩子撫養(yǎng)協(xié)議
- 充電樁安裝使用協(xié)議
- 大宗物品集中采購配送服務(wù)合同
- 屋頂飛檐建筑施工方案
- 企業(yè)數(shù)字化轉(zhuǎn)型與人才發(fā)展作業(yè)指導(dǎo)書
- 地鐵板道床施工方案
- 健康行業(yè)營養(yǎng)健康狀況調(diào)研表
- 荒山造林施工方案
- 包鋼加固施工方案
- 天棚裝飾施工方案
- 常用數(shù)學(xué)公式大全
- 護(hù)理不良事件相關(guān)知識考核試題及答案
- 母乳喂養(yǎng)課件(共68張課件)課件
- 循環(huán)流化床鍋爐改機械爐排爐項目可行性研究報告模板-立項備案
- 正常分娩過程與護(hù)理
- 膿毒血癥患者的護(hù)理查房
- 2024商品房買賣合同范本下載
- 廣東省廣州仲元中學(xué)2025年高三下學(xué)期入學(xué)考試試化學(xué)試題文試卷含解析
- 第2章-裝配式建筑標(biāo)準(zhǔn)化設(shè)計
- 醫(yī)療器械公司組織機構(gòu)圖以及部門設(shè)置和崗位職責(zé)說明
- 衛(wèi)生部病歷管理規(guī)定
評論
0/150
提交評論