精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>主機配件>cpu>

8086CPU有哪些寄存器_各有什么用途 - 全文

2018年04月16日 14:08 網絡整理 作者: 用戶評論(0

  8086概述

  8086微處理器Intel公司推出的第三代CPU芯片,它們的內部結構基本相同,都采用16位結構進行操作及存儲器尋址,但外部性能有所差異,兩種處理器都封裝在相同的40腳雙列直插組件(DIP)中。

  8086CPU的編程結構

  編程結構:是指從程序員和使用者的角度看到的結構,亦可稱為功能結構。如圖2-1所示是8086CPU的內部功能結構。

  從功能上來看,8086CPU可分為兩部分,即總線接口部件BIU(BusInterfaceUnit)和執行部件EU(ExecutionUnit)。

  (1)執行部件(EU)

  功能:負責指令的執行。

  組成:包括①ALU(算術邏輯單元)、②通用寄存器組和③標志寄存器等,主要進行8位及16位的各種運算。

8086CPU有哪些寄存器_各有什么用途

  (2)總線接口部件(BIU)

  功能:負責與存儲器及I/O接口之間的數據傳送操作。具體來看,完成取指令送指令隊列,配合執行部件的動作,從內存單元或I/O端口取操作數,或者將操作結果送內存單元或者I/O端口。

  組成:它由①段寄存器(DS、CS、ES、SS)、②16位指令指針寄存器IP(指向下一條要取出的指令代碼)、③20位地址加法器(用來產生20位地址)和④6字節(8088為4字節)指令隊列緩沖器組成。

  (3)8086BIU的特點

  ①8086的指令隊列分別為6/4個字節,在執行指令的同時,可從內存中取出后續的指令代碼,放在指令隊列中,可以提高CPU的工作效率。

  ②地址加法器用來產生20位物理地址。8086可用20位地址尋址1M字節的內存空間,而CPU內部的寄存器都是16位,因此需要由一個附加的機構來計算出20位的物理地址,這個機構就是20位的地址加法器。

  例如:CS=0FE00H,IP=0400H,則表示要取指令代碼的物理地址為0FE400H。

  (4)BIU與EU的動作協調原則

  總線接口部件(BIU)和執行部件(EU)按以下流水線技術原則協調工作,共同完成所要求的信息處理任務:

  ①每當8086的指令隊列中有兩個空字節,或BIU就會自動把指令取到指令隊列中。其取指的順序是按指令在程序中出現的前后順序。

  ②每當EU準備執行一條指令時,它會從BIU部件的指令隊列前部取出指令的代碼,然后用幾個時鐘周期去執行指令。在執行指令的過程中,如果必須訪問存儲器或者I/O端口,那么EU就會請求BIU,進入總線周期,完成訪問內存或者I/O端口的操作;如果此時BIU正好處于空閑狀態,會立即響應EU的總線請求。如BIU正將某個指令字節取到指令隊列中,則BIU將首先完成這個取指令的總線周期,然后再去響應EU發出的訪問總線的請求。

  ③當指令隊列已滿,且EU又沒有總線訪問請求時,BIU便進入空閑狀態。④在執行轉移指令、調用指令和返回指令時,由于待執行指令的順序發生了變化,則指令隊列中已經裝入的字節被自動消除,BIU會接著往指令隊列裝入轉向的另一程序段中的指令代碼。

  從上述BIU與EU的動作管理原則中,不難看出,它們兩者的工作是不同步的,正是這種既相互獨立又相互配合的關系,使得8086可以在執行指令的同時,進行取指令代碼的操作,也就是說BIU與EU是一種并行工作方式,改變了以往計算機取指令→譯碼→執行指令的串行工作方式,大大提高了工作效率,這正是8086獲得成功的原因之一。

  (5)8086CPU內部寄存器

  8086內部的寄存器可以分為通用寄存器和專用寄存器兩大類,專用寄存器包括指針寄存器、變址寄存器等。

  ①通用寄存器

  8086有4個16位的通用寄存器(AX、BX、CX、DX),可以存放16位的操作數,也可分為8個8位的寄存器(AL、AH;BL、BH;CL、CH;DL、DH)來使用。其中AX稱為累加器,BX稱為基址寄存器,CX稱為計數寄存器,DX稱為數據寄存器,這些寄存器在具體使用上有一定的差別,如表2-1所示。

8086CPU有哪些寄存器_各有什么用途

  ②指針寄存器

  系統中有兩個16位的指針寄存器SP和BP,其中SP是堆棧指針寄存器,由它和堆棧段寄存器SS一起來確定堆棧在內存中的位臵;BP是基數指針寄存器,通常用于存放基地址。

  ③變址寄存器

  系統中有兩個16位的變址寄存器SI和DI,其中SI是源變址寄存器,DI是目的變址寄存器,都用于指令的變址尋址方式。

  ④控制寄存器

  IP、標志寄存器是系統中的兩個16位控制寄存器,其中IP是指令指針寄存器,用來控制CPU的指令執行順序,它和代碼段寄存器CS一起可以確定當前所要取的指令的內存地址。順序執行程序時,CPU每取一個指令字節,IP自動加1,指向下一個要讀取的字節;當IP單獨改變時,會發生段內的程序轉移;當CS和IP同時改變時,會產生段間的程序轉移。

  標志寄存器的內容被稱為處理器狀態字PSW,用來存放8086CPU在工作過程中的狀態。

  ⑤段寄存器

  系統中共有4個16位段寄存器,即代碼段寄存器CS、數據段寄存器DS、堆棧段寄存器SS和附加段寄存器ES。這些段寄存器的內容與有效的地址偏移量一起,可確定內存的物理地址。通常CS劃定并控制程序區,DS和ES控制數據區,SS控制堆棧區。

  (6)處理器狀態字PSW

  8086內部標志寄存器的內容,又稱為處理器狀態字PSW。其中共有9個標志位,可分成兩類:一類為狀態標志,一類為控制標志。其中狀態標志表示前一步操作(如加、減等)執行以后,ALU所處的狀態,后續操作可以根據這些狀態標志進行判斷,實現轉移;控制標志則可以通過指令人為設臵,用以對某一種特定的功能起控制作用(如中斷屏蔽等),反映了人們對微機系統工作方式的可控制性。

8086CPU有哪些寄存器_各有什么用途

  PSW中各標志位的安排如圖2-2所示,這些標志位的含義如下:①狀態標志:6個

  CF—進位標志位,做加法時最高位出現進位或做減法時最高位出現借位,該位臵1,反之為0。

  PF—奇偶標志位,當運算結果的低8位中l的個數為偶數時,則該位臵1,反之為0。?AF—半進位標志位,做字節加法時,當低四位有向高四位的進位,或在做減法時,低

  四位有向高四位的借位時,該標志位就臵1。通常用于對BCD算術運算結果的調整。(例:11011000+10101110=110000110其中AF=1,CF=1)

  ZF—零標志位,運算結果為0時,該標志位臵1,否則清0。

  SF—符號標志位,當運算結果的最高位為1,該標志位臵1,否則清0。即與運算結果的最高位相同。

  OF—溢出標志位,OF溢出的判斷方法如下:

  加法運算:

  若兩個加數的最高位為0,而和的最高位為1,則產生上溢出;若兩個加數的最高位為1,而和的最高位為0,則產生下溢出;兩個加數的最高位不相同時,不可能產生溢出。

  減法運算:

  若被減數的最高位為0,減數的最高位為1,而差的最高位為1,則產生上溢出;若被減數的最高位為1,減數的最高位為0,而差的最高位為0,則產生下溢出;被減數及減數的最高位相同時,不可能產生溢出。

  如果所進行的運算是帶符號數的運算,則溢出標志恰好能夠反映運算結果是否超出了8位或16位帶符號數所能表達的范圍,即字節運算大于十127或小于-128時,字運算大于十32767或小于-32768時,該位臵1,反之為0。

  8086CPU的兩種工作模式

  為了適應各種使用場合,在設計8086CPU芯片時,就考慮了其應能夠使它工作在兩種模式下,即最小模式與最大模式。

  所謂最小模式,就是系統中只有一個8086微處理器,在這種情況下,所有的總線控制信號,都是直接由8086CPU產生的,系統中的總線控制邏輯電路被減到最少,該模式適用于規模較小的微機應用系統。

  最大模式是相對于最小模式而言的,最大模式用在中、大規模的微機應用系統中,在最大模式下,系統中至少包含兩個微處理器,其中一個為主處理器,即8086/8086CPU,其它的微處理器稱之為協處理器,它們是協助主處理器工作的。

  與8086CPU配合工作的協處理器有兩類,一類是數值協處理器8087另一類是輸入/輸出協處理器8089。

  8087是一種專用于數值運算的協處理器,它能實現多種類型的數值運算,如高精度的整型和浮點型數值運算,超越函數(三角函數、對數函數)的計算等,這些運算若用軟件的方法來實現,將耗費大量的機器時間。換句話說,引入了8087協處理器,就是把軟件功能硬件化,可以大大提高主處理器的運行速度。

  8089協處理器,在原理上有點象帶有兩個DMA通道的處理器,它有一套專門用于輸入/輸出操作的指令系統,但是8089又和DMA控制器不同,它可以直接為輸入/輸出設備服務,使主處理器不再承擔這類工作。所以,在系統中增加8089協處理器之后,會明顯提高主處理器的效率,尤其是在輸入/輸出操作比較頻繁的系統中。

  8086CPU寄存器種類及用途

  8086有14個16位寄存器,這14個寄存器按其用途可分為通用寄存器、指令指針、標志寄存器和段寄存器等4類。

  1)通用寄存器

  通用寄存器有8個,又可以分成2組,一組是數據寄存器(4個),另一組是指針寄存器及變址寄存器(4個)。

  數據寄存器分為:

  AH&AL=AX(accumulator):累加寄存器,常用于運算;在乘除等指令中指定用來存放操作數,另外,所有的I/O指令都使用這一寄存器與外界設備傳送數據。

  BH&BL=BX(base):基址寄存器,常用于地址索引

  CH&CL=CX(count):計數寄存器,常用于計數;常用于保存計算值,如在移位指令,循環(loop)和串處理指令中用作隱含的計數器。

  DH&DL=DX(data):數據寄存器,常用于數據傳遞。

  他們的特點是,這4個16位的寄存器可以分為高8位:AH,BH,CH,DH.以及低八位:AL,BL,CL,DL。這2組8位寄存器可以分別尋址,并單獨使用。另一組是指針寄存器和變址寄存器,包括:

  SP(StackPointer):堆棧指針,與SS配合使用,可指向目前的堆棧位置;

  BP(BasePointer):基址指針寄存器,可用作SS的一個相對基址位置;

  SI(SourceIndex):源變址寄存器可用來存放相對于DS段之源變址指針;

  DI(DestinationIndex):目的變址寄存器,可用來存放相對于ES段之目的變址指針。

  這4個16位寄存器只能按16位進行存取操作,主要用來形成操作數的地址,用于堆棧操作和變址運算中計算操作數的有效地址。

  2) 指令指針IP(Instruction Pointer)

  指令指針IP是一個16位專用寄存器,它指向當前需要取出的指令字節,當BIU從內存中取出一個指令字節后,IP就自動加1,指向下一個指令字節。注意,IP指向的是指令地址的段內地址偏移量,又稱偏移地址(Offset Address)或有效地址(EA,Effective Address)。

  3)標志寄存器FR(Flag Register)

  8086有一個18位的標志寄存器FR,在FR中有意義的有9位,其中6位是狀態位,3位是控制位。

  OF: 溢出標志位OF用于反映有符號數加減運算所得結果是否溢出。如果運算結果超過當前運算位數所能表示的范圍,則稱為溢出,OF的值被置為1,否則,OF的值被清為0。

  DF:方向標志DF位用來決定在串操作指令執行時有關指針寄存器發生調整的方向。

  IF:中斷允許標志IF位用來決定CPU是否響應CPU外部的可屏蔽中斷發出的中斷請求。但不管該標志為何值,CPU都必須響應CPU外部的不可屏蔽中斷所發出的中斷請求,以及CPU內部產生的中斷請求。具體規定如下:

  (1)、當IF=1時,CPU可以響應CPU外部的可屏蔽中斷發出的中斷請求;

  (2)、當IF=0時,CPU不響應CPU外部的可屏蔽中斷發出的中斷請求。

  TF:跟蹤標志TF。該標志可用于程序調試。TF標志沒有專門的指令來設置或清楚。

  (1)如果TF=1,則CPU處于單步執行指令的工作方式,此時每執行完一條指令,就顯示CPU內各個寄存器的當前值及CPU將要執行的下一條指令。

  (2)如果TF=0,則處于連續工作模式。

  SF:符號標志SF用來反映運算結果的符號位,它與運算結果的最高位相同。在微機系統中,有符號數采用補碼表示法,所以,SF也就反映運算結果的正負號。運算結果為正數時,SF的值為0,否則其值為1。

  ZF: 零標志ZF用來反映運算結果是否為0。如果運算結果為0,則其值為1,否則其值為0。在判斷運算結果是否為0時,可使用此標志位。

  AF:下列情況下,輔助進位標志AF的值被置為1,否則其值為0:

  (1)、在字操作時,發生低字節向高字節進位或借位時;

  (2)、在字節操作時,發生低4位向高4位進位或借位時。

  PF:奇偶標志PF用于反映運算結果中“1”的個數的奇偶性。如果“1”的個數為偶數,則PF的值為1,否則其值為0。

  CF:進位標志CF主要用來反映運算是否產生進位或借位。如果運算結果的最高位產生了一個進位或借位,那么,其值為1,否則其值為0。)

  4)段寄存器(Segment Register)

  為了運用所有的內存空間,8086設定了四個段寄存器,專門用來保存段地址:

  CS(Code Segment):代碼段寄存器;

  DS(Data Segment):數據段寄存器;

  SS(Stack Segment):堆棧段寄存器;

  ES(Extra Segment):附加段寄存器。

  當一個程序要執行時,就要決定程序代碼、數據和堆棧各要用到內存的哪些位置,通過設定段寄存器 CS,DS,SS 來指向這些起始位置。通常是將DS固定,而根據需要修改CS。所以,程序可以在可尋址空間小于64K的情況下被寫成任意大小。 所以,程序和其數據組合起來的大小,限制在DS 所指的64K內,這就是COM文件不得大于64K的原因。8086以內存做為戰場,用寄存器做為軍事基地,以加速工作。

上一頁12全文

非常好我支持^.^

(8) 100%

不好我反對

(0) 0%

( 發表人:姚遠香 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?