8088/8086CPU有20條地址總線,有 220=1048576=1MB(1M字節(jié)) 個(gè)存儲(chǔ)單元。在機(jī)器內(nèi)部用20位無符號(hào)二進(jìn)制數(shù)來表示存儲(chǔ)單元地址。用十六進(jìn)制表示的地址范圍為:00000H~FFFFFH。8086微處理器是一個(gè)16位結(jié)構(gòu),用戶可用的寄存器均為16位。顯然,用一個(gè)寄存器是無法形成尋址1MB存儲(chǔ)器空間所需的地址碼的。 8086/8088把1M主存空間劃分為若干段。每個(gè)段由連續(xù)的字節(jié)單元組成,最大長度為64K(即65536)??勺鳛楠?dú)立尋址的邏輯單位。一個(gè)段中的代碼和數(shù)據(jù),可存放在該段內(nèi)的任意單元中。一個(gè)段的起始地址,稱為該段的段基地址(20位)。要求段基址的低4位必須為0(可被16整除),段地址存放在段寄存器CS、DS、SS、ES中。 在程序中設(shè)置的段稱為邏輯段。各邏輯段的大小按實(shí)際需要確定,最大為64KB,實(shí)際應(yīng)用時(shí)可小于64KB,其未用空間可再定義為其它段的空間。因而可出現(xiàn)段的重疊。各邏輯段可以是鄰接的、間隔的、部分重疊的和完全重疊的。 在8086/8088微處理器中,描述存儲(chǔ)器地址的三個(gè)相關(guān)術(shù)語:物理地址、偏移地址、邏輯地址 ①物理地址:是由8086/8088芯片地址引線送出的20位地址碼,它用來參加存儲(chǔ)器的地址譯碼,最終讀/寫所訪問的的一個(gè)特定的存儲(chǔ)單元。 ②偏移地址:某個(gè)存儲(chǔ)單元相對(duì)于該段首地址的差值,用16位二進(jìn)制代碼。 ③邏輯地址:是在程序中對(duì)存儲(chǔ)器地址的一種表示方法: 邏輯地址 = 段地址:偏移地址 物理地址的形成: 物理地址 = 段基地址×10H + 偏移量 例:8086/8088某主存單元的邏輯地址是: 1234H:000AH,求其物理地址。 答:則此單元的物理地址為:1234H×10H + 000AH = 2340H+000AH =1234AH 練習(xí)題1.8086是多少位的微處理器?為什么? 答:8086是16位的微處理器,其內(nèi)部數(shù)據(jù)通路為16位,對(duì)外的數(shù)據(jù)總線也是16位。 練習(xí)題2.EU與BIU各自的功能是什么?如何協(xié)同工作? 答:EU是執(zhí)行部件,主要的功能是執(zhí)行指令。BIU是總線接口部件,與片外存儲(chǔ)器及I/O接口電路傳輸數(shù)據(jù)。EU經(jīng)過BIU進(jìn)行片外操作數(shù)的訪問,BIU為EU提供將要執(zhí)行的指令。EU與BIU可分別獨(dú)立工作,當(dāng)EU不需BIU提供服務(wù)時(shí),BIU可進(jìn)行填充指令隊(duì)列的操作。 練習(xí)題3.8086/8088與其前一代微處理器8085相比,內(nèi)部操作有什么改進(jìn)? 答:8085為8位機(jī),在執(zhí)行指令過程中,取指令與執(zhí)行執(zhí)令都是串行的。8086/8088由于內(nèi)部有EU和BIU兩個(gè)功能部件,可重疊操作,提高了處理器的性能。 練習(xí)題4. 8086/8088微處理器內(nèi)部有那些寄存器,它們的主要作用是什么? 答:執(zhí)行部件有8個(gè)16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作為通用數(shù)據(jù)寄存器。SP為堆棧指針存器,BP、DI、SI在間接尋址時(shí)作為地址寄存器或變址寄存器??偩€接口部件設(shè)有段寄存器CS、DS、SS、ES和指令指針寄存器IP。段寄存器存放段地址,與偏移地址共同形成存儲(chǔ)器的物理地址。IP的內(nèi)容為下一條將要執(zhí)行指令的偏移地址,與CS共同形成下一條指令的物理地址。 練習(xí)題5. 8086對(duì)存儲(chǔ)器的管理為什么采用分段的辦法? 答:8086是一個(gè)16位的結(jié)構(gòu),采用分段管理辦法可形成超過16位的存儲(chǔ)器物理地址,擴(kuò)大對(duì)存儲(chǔ)器的尋址范圍 (1MB,20位地址)。若不用分段方法,16位地址只能尋址64KB空間。 練習(xí)題6. 在8086中,邏輯地址、偏移地址、物理地址分別指的是什么?具體說明。 答:邏輯地址是在程序中對(duì)存儲(chǔ)器地址的一種表示方法,由段地址和段內(nèi)偏移地址兩部分組成,如1234H:0088H。偏移地址是指段內(nèi)某個(gè)存儲(chǔ)單元相對(duì)該段首地址的差值,是一個(gè)16位的二進(jìn)制代碼。物理地址是8086芯片引線送出的20位地址碼,用來指出一個(gè)特定的存儲(chǔ)單元。 練習(xí)題7.給定一個(gè)存放數(shù)據(jù)的內(nèi)存單元的偏移地址是20C0H,(DS)=0C00EH,求出該內(nèi)存單元的物理地址。 答:0C00EH*10H+20C0H=C21A0H 物理地址:C21A0H。 練習(xí)題9. 8086與8088的主要區(qū)別是什么? 答:8086有16條數(shù)據(jù)信號(hào)引線,8088只有8條;8086片內(nèi)指令預(yù)取緩沖器深度為6字節(jié),8088只有4字節(jié)。 |
聯(lián)系客服