一文看懂8088和8086微型計算機的區別 - 全文
一、8088介紹
8088是一個Intel以8086為基礎的微處理器,擁有16位元暫存器和8位元外部資料總線。8088使用8位元的設計,所針對的是較為經濟之系統。在它推出時候,大的資料總線寬度電路板還是相當地昂貴。8088的預取(prefetch)貯列(queue)是4字節,相對于8086的是6字節。1979年,英特爾公司開發出了8088。8086和8088在芯片內部均采用16位數據傳輸,所以都稱為16位微處理器,但8086每周期能傳送或接收16位數據,而8088每周期只采用8位。因為最初的大部分設備和芯片是8位的,而8088的外部8位數據傳送、接收能與這些設備相兼容。
8088功能結構;
8088CPU內部用兩個獨立的功能部件組成,分別為BIU和EU。
BIU(BusInterfaceUnit)BIU由段寄存器、IP、指令隊列、地址加法器和控制邏輯組成。
BIU的功能是負責從內存中取指令送入指令隊列,實現CPU與存儲器、I/O接口之間的數據傳送。
EU(ExecutionUnit)EU由通用寄存器、F寄存器、ALU和EU控制部件組成。EU的功能是分析指令和執行指令。
8088的指令系統:
MOV傳輸指令
1.數據傳送指令(包括:MOV傳送指令、堆棧操作指令、數據交換指令、地址傳送指令、標志寄存器傳送指令、換碼指令、輸入輸出指令)
數據傳送指令的特點:將數據從一個地址傳送到另一個地址;數據在傳送過程中不發生任何變化;對標志寄存器的內容無任何影響。
2.算術運算指令(包括:加法指令、減法指令、乘法指令、除法指令、十進制調整指令)
算術運算指令的特點:對狀態標志位有影響;源操作數不變;目標操作數多數情況下發生變化。
3.邏輯運算和移位指令(包括:邏輯運算指令、移位指令、循環指令)
4.串操作指令(包括:MOVS指令、LODS指令、STOS指令、SCAS指令、CMPS指令)
重復操作前綴REP;REPZ/REPE;REPNZ/REPNE
串指令;若(CX)≠0,重復執行串指令
串指令;若(CX)≠0且(ZF)=1,重復執行串指令
串指令;若(CX)≠0且(ZF)=0,重復執行串指令偶就
5.控制轉移指令(包括:無條件轉移指令、條件轉移指令、循環控制指令、子程序調用指令、子程序返回指令、中斷返回指令)
控制轉移指令的特點:將目標地址送入IP、CS從而實現轉移。
二、8086介紹
Intel 8086是一個由Intel于1978年所設計的16位微處理器芯片,是x86架構的鼻祖。不久之后,Intel 就推出了 Intel 8088 (一個擁有8根外部數據總線的微處理器)。它是以8080和8085的設計為基礎,擁有類似的寄存器組,但是數據總線擴充為16位。總線界面單元(Bus Interface Unit)透過6字節預存(prefecth) 的隊列(queue)位指令給執行單元(Execution Unit),所以取指令和執行是同步的,8086 CPU有20條地址線,可直接尋址1MB的存儲空間,每一個存儲單元可以存放一個字節(8位)二進制信息。
8086結構:
1、總線接口單元
總線接口部件由下列各部分組成
⑴4個段地址寄存器:
CS(code segment)——16位的代碼段寄存器;
DS(data segment)——16位的數據段寄存器;
ES(extra segment)——16位的擴展段寄存器;
SS(stack segment)——16位的堆棧段寄存器;
⑵16位的指令指針寄存器IP;
⑶20位的地址加法器;
⑷6字節的指令隊列緩沖器。
2、執行單元
執行部件由下列幾個部分組成:
⑴8個通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI ;
其中,4個數據寄存器:AX、BX、CX、DX;
2個地址指針寄存器:BP(base pointer),SP(stack pointer);
2個變址寄存器:SI(source index),DI(destination index) [2] ;
⑵標志寄存器FR(flags register);
⑶算術邏輯單元ALU(arithmetic logic unit)。
EU負責全部指令的執行,同時向BIU輸出數據(操作結果),并對寄存器和標志寄存器進行管理。在ALU中進行16位運算,數據傳送和處理均在EU控制下執行。
8086cpu結構圖
8086的兩種工作方式:
1、最小模式
用于由8086單一微處理器構成的小系統。在這種方式下,由8086CPU直接產生小系統所需要的全部控制信號。器系統特點是:總線控制邏輯直接由8086CPU產生和控制。若有CPU以外的其他模塊想占用總線,則可以向CPU提出請求,在CPU允許并響應的情況下,該模塊才可以獲得總線控制權,使用完后,又將總線控制權還給CPU。
2、最大模式
用于實現多處理機系統,其中,8086CPU被稱為主處理器,其他處理器被稱為協處理器。在這種方式下,8086CPU不直接提供用于存儲器或I/O讀寫的讀寫命令等控制信號,而是將當前要執行的傳送操作類型編碼為3個狀態位輸出,由總線控制器8288對狀態信號進行譯碼產生相應控制信號。最大模式系統的特點是:總線控制邏輯由總線控制器8288產生和控制,即8288將主處理器的狀態和信號轉換成系統總線命令和控制信號。協處理器只是協助主處理器完成某些輔助工作,即被動的接受并執行來自主處理器的命令。和8086配套使用的協處理器有兩個:一個是專用于數值計算的協處理器8087,另一個是專用于輸入輸出操作的協處理器8089。8087通過硬件實現高精度整數浮點數運算。8089有其自身的一套專門用于輸入輸出操作的命令系統,還可帶局部存儲器,可以直接為輸入輸出設備服務。增加協處理器,使得浮點運算和輸入輸出操作不再占用8086時間,從而大大提高了系統的運行效率。
三、8088和8086微型計算機的區別
8088和8086兩者的執行部件EU完全相同,其指令系統,尋址能力及程序設計方法都相同,所以兩種CPU完全兼容。8086和8088在芯片內部均采用16位數據傳輸,所以都稱為16位微處理器,但8086每周期能傳送或接收16位數據,而8088每周期只采用8位。因為最初的大部分設備和芯片是8位的,而8088的外部8位數據傳送、接收能與這些設備相兼容。8088采用40針的DIP封裝,工作頻率為6.66MHz、7.16MHz或8MHz,微處理器集成了大約29000個晶體管。8088和8086的不同大致可歸納為以下幾個:
1、外部數據總線位數的差別
8086CPU的外部數據總線有16位,在一個總線周期內可輸入/輸出一個字(16位數據),使系統處理數據和對中斷響應的速度得以加快;而8088CPU的外部數據總線為8位,在一個總線周期內只能輸入/輸出一個字節(8位數據)。也正因為如此,8088被稱為準16位處理器。
2、指令隊列容量的差別
8086CPU的指令隊列可容納6個字節,且在每個總線周期中從存儲器中取出2個字節的指令代碼填入指令隊列,這可提高取指操作和其它操作的并行率,從而提高系統工作速度;而8088CPU的指令隊列只能容納4個字節,且在每個總線周期中只能取一個字節的指令代碼,從而增長了總線取指令的時間,在一定條件下可能影響取指令操作和其它操作的并行率。
3、引腳特性的差別
兩種CPU的引腳功能是相同的,但有以下幾點不同:
(1)AD15~AD0的定義不同:在8086中都定義為地址/數據復用總線;而在8088中,由于只需用8條數據總線,因此,對應予8086的AD15~AD8這8條引腳,只作地址線使用。
(2)34號引腳的定義不同:在8086中定義為BHE信號;而在8088中定義為SS0,它與DT/R,IO/M一起用作最小方式下的周期狀態信號。
(3)28號引腳的相位不同:在8086中為M/IO;而在8088中被倒相,改為IO/M,以便與8080/8085系統的總線結構兼容。
- 第 1 頁:一文看懂8088和8086微型計算機的區別
- 第 2 頁:8086結構
本文導航
非常好我支持^.^
(137) 90.7%
不好我反對
(14) 9.3%
相關閱讀:
- [電子說] 8086基礎-DA轉換 2023-03-02
- [電子說] 8086基礎-轉換 2023-03-02
- [電子說] 8086基礎-串行通信 2023-03-02
- [電子說] 8086基礎-定時器 2023-03-02
- [電子說] 端口的輸入與輸出 2023-03-02
- [電子說] 匯編語言結構與8086概述 2023-03-02
- [今日頭條] SYN8086語音合成芯片(TTS語音芯片)各項指標測試已完成,正式批量化生產 2022-11-09
- [電子說] SYN8086TTS語音芯片開箱評測&一張可愛的手繪說明書 2022-11-02
( 發表人:姚遠香 )