chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>主機(jī)配件>cpu>

8086CPU的兩種工作模式 - 8086CPU有哪些寄存器_各有什么用途

2018年04月16日 14:08 網(wǎng)絡(luò)整理 作者: 用戶評(píng)論(0
關(guān)鍵字:寄存器(116233)8086(18426)

  8086CPU的兩種工作模式

  為了適應(yīng)各種使用場(chǎng)合,在設(shè)計(jì)8086CPU芯片時(shí),就考慮了其應(yīng)能夠使它工作在兩種模式下,即最小模式與最大模式。

  所謂最小模式,就是系統(tǒng)中只有一個(gè)8086微處理器,在這種情況下,所有的總線控制信號(hào),都是直接由8086CPU產(chǎn)生的,系統(tǒng)中的總線控制邏輯電路被減到最少,該模式適用于規(guī)模較小的微機(jī)應(yīng)用系統(tǒng)。

  最大模式是相對(duì)于最小模式而言的,最大模式用在中、大規(guī)模的微機(jī)應(yīng)用系統(tǒng)中,在最大模式下,系統(tǒng)中至少包含兩個(gè)微處理器,其中一個(gè)為主處理器,即8086/8086CPU,其它的微處理器稱之為協(xié)處理器,它們是協(xié)助主處理器工作的。

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

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

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

  8086CPU寄存器種類及用途

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

  1)通用寄存器

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

  數(shù)據(jù)寄存器分為:

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

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

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

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

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

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

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

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

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

  這4個(gè)16位寄存器只能按16位進(jìn)行存取操作,主要用來形成操作數(shù)的地址,用于堆棧操作和變址運(yùn)算中計(jì)算操作數(shù)的有效地址。

  2) 指令指針I(yè)P(Instruction Pointer)

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

  3)標(biāo)志寄存器FR(Flag Register)

  8086有一個(gè)18位的標(biāo)志寄存器FR,在FR中有意義的有9位,其中6位是狀態(tài)位,3位是控制位。

  OF: 溢出標(biāo)志位OF用于反映有符號(hào)數(shù)加減運(yùn)算所得結(jié)果是否溢出。如果運(yùn)算結(jié)果超過當(dāng)前運(yùn)算位數(shù)所能表示的范圍,則稱為溢出,OF的值被置為1,否則,OF的值被清為0。

  DF:方向標(biāo)志DF位用來決定在串操作指令執(zhí)行時(shí)有關(guān)指針寄存器發(fā)生調(diào)整的方向。

  IF:中斷允許標(biāo)志IF位用來決定CPU是否響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。但不管該標(biāo)志為何值,CPU都必須響應(yīng)CPU外部的不可屏蔽中斷所發(fā)出的中斷請(qǐng)求,以及CPU內(nèi)部產(chǎn)生的中斷請(qǐng)求。具體規(guī)定如下:

 ?。?)、當(dāng)IF=1時(shí),CPU可以響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求;

 ?。?)、當(dāng)IF=0時(shí),CPU不響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。

  TF:跟蹤標(biāo)志TF。該標(biāo)志可用于程序調(diào)試。TF標(biāo)志沒有專門的指令來設(shè)置或清楚。

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

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

  SF:符號(hào)標(biāo)志SF用來反映運(yùn)算結(jié)果的符號(hào)位,它與運(yùn)算結(jié)果的最高位相同。在微機(jī)系統(tǒng)中,有符號(hào)數(shù)采用補(bǔ)碼表示法,所以,SF也就反映運(yùn)算結(jié)果的正負(fù)號(hào)。運(yùn)算結(jié)果為正數(shù)時(shí),SF的值為0,否則其值為1。

  ZF: 零標(biāo)志ZF用來反映運(yùn)算結(jié)果是否為0。如果運(yùn)算結(jié)果為0,則其值為1,否則其值為0。在判斷運(yùn)算結(jié)果是否為0時(shí),可使用此標(biāo)志位。

  AF:下列情況下,輔助進(jìn)位標(biāo)志AF的值被置為1,否則其值為0:

 ?。?)、在字操作時(shí),發(fā)生低字節(jié)向高字節(jié)進(jìn)位或借位時(shí);

  (2)、在字節(jié)操作時(shí),發(fā)生低4位向高4位進(jìn)位或借位時(shí)。

  PF:奇偶標(biāo)志PF用于反映運(yùn)算結(jié)果中“1”的個(gè)數(shù)的奇偶性。如果“1”的個(gè)數(shù)為偶數(shù),則PF的值為1,否則其值為0。

  CF:進(jìn)位標(biāo)志CF主要用來反映運(yùn)算是否產(chǎn)生進(jìn)位或借位。如果運(yùn)算結(jié)果的最高位產(chǎn)生了一個(gè)進(jìn)位或借位,那么,其值為1,否則其值為0。)

  4)段寄存器(Segment Register)

  為了運(yùn)用所有的內(nèi)存空間,8086設(shè)定了四個(gè)段寄存器,專門用來保存段地址:

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

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

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

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

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

非常好我支持^.^

(8) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:姚遠(yuǎn)香 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?