溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

8086計算機組織結(jié)構(gòu)

發(fā)布時間:2020-04-07 00:07:50 來源:網(wǎng)絡(luò) 閱讀:1106 作者:TheRoodToDeath 欄目:移動開發(fā)

8086計算機組織結(jié)構(gòu)

  1.課前思考
 ?。?) 微計算機系統(tǒng)一般包括哪兩部分?  答:軟件于硬件系統(tǒng)
 ?。?) 8086微處理器主要由哪幾部分組成?它們的功能是什么?
  (4) 在Intel系列微型機中是如何編址的?
  (5) 一個字節(jié)和一個字在存儲器中是如何存儲的?
  (6) 字單元的地址是偶數(shù)或是奇數(shù)時,訪問存儲器有什么不同?
 ?。?) 8086微型機可以訪問的最大存儲空間是多少?應(yīng)用幾位地址來表示?
 ?。?) 在8086微機中,如何提供20位的地址?如何形成物理地址?
 ?。?) 8086微機中,存儲器空間可分為幾種邏輯段?每段的可尋址空間是多大?段地址存放在哪些寄存器中?
  (10) CPU中有哪幾類寄存器,它們各自的專門用途是什么?
 ?。?1) 條件碼標(biāo)志和控制標(biāo)志各包含幾位?它們每位所表示的意義是什么?
 ?。?2) 什么是DOS和BIOS功能調(diào)用?

  2.學(xué)習(xí)目標(biāo)
  了解計算機系統(tǒng)的主要組成部分;掌握存儲器地址分段的方法以及存儲單元物理地址的形成方法;熟悉8086各類寄存器的用途;熟悉標(biāo)志寄存器各標(biāo)志位的意義。

  3.學(xué)習(xí)指南
  本章內(nèi)容是匯編語言程序設(shè)計所需要了解的硬件知識,已熟悉計算機基本原理的學(xué)員可直接學(xué)習(xí)后面的章節(jié)。

  4.難重點
  存儲器分段;存儲器單元物理地址的形成;各寄存器的用途。 

  5.知識點
  2.1 80x86微處理器系列概況

  2.2 基于8086的微計算機系統(tǒng)
 ● 8086微處理器的基本組成 
 ● 微計算機的軟件系統(tǒng)

  2.3 8086寄存器組
 ● 通用寄存器
 ● 專用寄存器
 ● 段寄存器

  2.4 8086微處理器的存儲器管理
 ● 存儲單元的地址和內(nèi)容
 ● 存儲器分段管理

  2.5 外部設(shè)備
 ● I/O端口
 ● DOS和BIOS功能調(diào)用


 

1.從8080/8085到8086
  8080計算機組織介紹

8086是1978年Intel公司推出的16位微處理器。與其前一代8位微處理器8080/8085相比,8086有如下幾點進步:
 ?。?)8086有16位數(shù)據(jù)總線,處理器與外部傳送數(shù)據(jù)時,一次可傳送16位二進制數(shù),而8080/8085一次只能傳送8位。 
 ?。?)8086的尋址空間從8080/8085的64K字節(jié)提高到1M字節(jié)。 
 ?。?)8086采用了流水線技術(shù),而8080/8085是非流水線結(jié)構(gòu)。在一個具有流水線結(jié)構(gòu)處理器的系統(tǒng)中,可以實現(xiàn)處理器的內(nèi)部操作與存儲器或I/O接口之間的數(shù)據(jù)傳送操作重疊進行,從而提高了處理器的性能。 

  2.從8086到8088 
  8086的內(nèi)部寄存器、功能部件、數(shù)據(jù)通路以及對外的數(shù)據(jù)總線均為16位寬度,它的出現(xiàn)是計算機技術(shù)上一個很大的進步。但是,當(dāng)時已有的微處理器外圍配套芯片的數(shù)據(jù)總線都是8位的,為了使用這些8位的外圍芯片組成系統(tǒng),Intel公司又推出了8088微處理器。8088的內(nèi)部結(jié)構(gòu)與8086基本相同,也提供16位的處理能力,但對外的數(shù)據(jù)總線設(shè)計成8位。 

  1981年IBM公司選擇8088微處理器作為核心來設(shè)計IBM PC微計算機系統(tǒng),推向市場后獲得了巨大的成功,為后來的80x86系列微處理器成為主流微計算機的處理核心打下了基礎(chǔ)。 

  3.80286、80386到Pentium微處理器 
  由于用戶對PC機性能的要求迅速提高,Intel公司在1982年推出了80286微處理器,它仍然是16位結(jié)構(gòu)。80286的內(nèi)部及外部數(shù)據(jù)總線都是16位的,但它的地址線是24位的,可尋址16M字節(jié)的存儲空間。80286有兩種工作方式,即實模式和保護模式。實模式與8086工作方式相同,但速度比8086快。保護模式除了仍具有16M字節(jié)的存儲器物理地址空間外,她還能為每個任務(wù)提供1G(230)字節(jié)的虛擬存儲器地址空間。保護方式把操作系統(tǒng)及各任務(wù)所分配到的地址空間隔離開,避免程序之間的相互干擾,保證系統(tǒng)在多任務(wù)環(huán)境下正常工作。

  80386是1985年研制出的一個32位微處理器,內(nèi)部及外部數(shù)據(jù)總線均為32位,地址線也為32位,因此它可處理4G(232)字節(jié)的物理存儲空間。80386為每個任務(wù)提供的虛擬存儲空間增加到64T(246)字節(jié)。

  1989年Intel公司又研制出新一代的微處理器80486,80486芯片內(nèi)除了有一個與80386相同結(jié)構(gòu)的主處理器外,還集成了一個浮點處理部件FPU以及一個8K字節(jié)的高速緩沖存儲器(cache),使80486的計算速度和總體性能比80386有了明顯的提高。

  1993年Intel公司又推出了Pentium微處理器,此后幾乎每兩年就推出一個新型號,至今市場上的Intel微處理器已是PentiumⅣ。由此可見,微處理器芯片的發(fā)展速度是非常快的。在微處理器的發(fā)展過程中,芯片主頻越來越快,尋址空間越來越大,數(shù)據(jù)和地址總線也越來越寬,加之許多體系結(jié)構(gòu)方面的改進措施,如流水線結(jié)構(gòu)、存儲器層次結(jié)構(gòu)等,使微計算機的性能大大提高,其應(yīng)用領(lǐng)域也更加廣泛。

2.2 基于8086的微計算機系統(tǒng)

  計算機系統(tǒng)包括硬件和軟件兩部分。微計算機的硬件有包括中央處理器(CPU)的微處理器芯片、存儲器(MEMORY)、輸入/輸出(I/O)接口三部分組成。軟件是各種程序的總和,包括系統(tǒng)軟件和應(yīng)用軟件。

  
2.2.1 8086微處理器的基本組成
 
  Intel 8086微處理器是一個16位結(jié)構(gòu),從圖2.1中可以看出,整個微處理器分成兩大功能部件,即執(zhí)行部件(Execution Unit,EU)與總線接口部件(Bus Interface Unit,BIU)。EU與BIU通過內(nèi)部總線連接,它們既可協(xié)同工作,又可獨立工作。當(dāng)EU與BIU各自獨立工作時,就體現(xiàn)出8086內(nèi)部操作具有并行性的特征。


  1. 執(zhí)行部件(EU)
  執(zhí)行部件EU是執(zhí)行程序的的核心部件,完成指令譯碼、運算及其它操作的執(zhí)行。執(zhí)行部件由ALU(算術(shù)邏輯運算部件)、通用寄存器組、狀態(tài)標(biāo)志寄存器以及控制電路組成。


  2. 總線接口部件(BIU)
  總線接口部件BIU負(fù)責(zé)與存儲器、I/O接口電路連接,并形成20位的地址碼和16位的數(shù)據(jù),通過總線進行數(shù)據(jù)傳送。BIU由一些專用寄存器、指令隊列緩沖器、地址加法器等功能部件組成。
2.2.2 微型計算機的軟件系統(tǒng)
 
  計算機軟件是計算機系統(tǒng)的重要組成部分,它可以分成系統(tǒng)軟件和應(yīng)用軟件兩大類。

  1. 系統(tǒng)軟件
  系統(tǒng)軟件是由計算機生產(chǎn)廠家提供給用戶的一組程序,這些程序是控制和協(xié)調(diào)計算機及其外部設(shè)備,支持應(yīng)用軟件的開發(fā)和運行的各種軟件。
  
  操作系統(tǒng)使系統(tǒng)軟件的核心,它的功能是統(tǒng)一管理和分配計算機的軟、硬件資源,提高計算機的工作效率。同時,為程序員提供方便、有效和可靠的計算機工作環(huán)境。目前微機上廣泛使用的是Windows系列的操作系統(tǒng)。圖2.2表示了系統(tǒng)軟件的主要組成部分。
·文件管理系統(tǒng):用來處理存儲在外存儲器中的大量信息,它可以和外存儲器的設(shè)備驅(qū)動程序相連接,對存儲在其中的信息以文件(File)的形式進行取、復(fù)制及其他管理操作。

  ·I/O驅(qū)動程序:用來對I/O設(shè)備進行控制或管理。

  ·文本編輯程序:用來建立、輸入或修改文本,并使它存入內(nèi)存或硬盤中。
文本是指由字母、數(shù)字、符號等組成的信息,它可以是一個用匯編語言編寫的程序(稱為匯編語言源程序),也可以是一組數(shù)據(jù)或一份報告。

  ·翻譯程序:用于編寫程序的計算機語言可分為三類:機器語言、匯編語言和高級語言。機器語言是用二進制代碼指令來表示各種操作的計算機語言,它由0、1代碼組成,可由計算機直接識別。
  
  匯編語言是一種用符號表示指令的程序設(shè)計語言,用它編寫的程序必須由匯編程序翻譯成機器語言程序,才能被計算機執(zhí)行。匯編程序有MASM、TASM等多種版本。

  高級語言是接近于人類自然語言和數(shù)學(xué)表示的程序設(shè)計語言,用它編寫的程序也必須翻譯成機器語言才能在機器上執(zhí)行。高級語言的翻譯程序有兩種方式:一種是編譯程序,另一種是對高級語言程序邊解釋邊執(zhí)行的解釋程序。

  ·連接程序:用來把要執(zhí)行的程序與庫文件或其他已經(jīng)編譯或翻譯好的子程序(能完成一種獨立功能的程序模塊)連接在一起,形成機器能執(zhí)行的程序。

  ·裝入程序:用來把程序從外存儲器裝入到內(nèi)存儲器,以便機器執(zhí)行。

  ·調(diào)試程序:是系統(tǒng)提供給用戶調(diào)試程序的一種工具,微機上常用的調(diào)試程序是DEBUG,它有裝入、修改、顯示、單步執(zhí)行和反匯編等調(diào)試功能。

  ·系統(tǒng)程序庫:各種標(biāo)準(zhǔn)程序、子程序和一些文件的集合稱為程序庫,它可以被系統(tǒng)程序或用戶程序調(diào)用。操作系統(tǒng)還允許用戶建立程序庫,以提高不同類型用戶的工作效率。

  2. 應(yīng)用軟件
  應(yīng)用軟件是直接服務(wù)于用戶的程序系統(tǒng),一般分為兩類。一類是為特定需要開發(fā)的實用程序,如財務(wù)軟件,訂票系統(tǒng)等;另一類是為了方便用戶使用而提供的軟件工具,如用于系統(tǒng)維護的PCTOOLS、NORTON,用于輔助設(shè)計的AUTOCAD,用于字表處理的的EXCEL等。
3. 段寄存器

  8086微處理器共有4個16位的段寄存器,在尋址內(nèi)存單元時,用它們直接或間接地存放段地址。
  代碼段寄存器CS:存放當(dāng)前執(zhí)行的程序的段地址。
  數(shù)據(jù)段寄存器DS:存放當(dāng)前執(zhí)行的程序所用操作數(shù)的段地址。
  堆棧段寄存器SS:存放當(dāng)前執(zhí)行的程序所用堆棧的段地址。
  附加段寄存器ES:存放當(dāng)前執(zhí)行程序中一個輔助數(shù)據(jù)段的段地址。
1.存儲單元的地址和內(nèi)容
  計算機存儲信息的基本單位是一個二進制位(bit)。一位可存儲一個二進制數(shù):0或1,每8位組成一個字節(jié)。

微機中常用的數(shù)據(jù)類型有:
  ·字節(jié):存儲器中存取信息的基本單位。我們常說某存儲器容量是64MB,就是說該存儲器有64M(1M=220)個字節(jié)。其位編號如圖2.5(1)所示。
  ·字:一個字16位,占用兩個字節(jié),8086的字長就是16位的。一個字的位編號如圖2.5(2)所示。
  ·雙字:一個雙字32位,由4個字節(jié)組成。其位編號如圖2.5(3)所示。
  ·四字:一個四字64位,由8個字節(jié)組成。其位編號如圖2.5(4)所示。

 在8086中,段寄存器和與其對應(yīng)存放偏移地址的寄存器之間有一種默認(rèn)的組合關(guān)系,如下所示:

          段寄存器             偏移地址寄存器
         8086計算機組織結(jié)構(gòu)
            CS                  IP
           SS                SP或BP
           DS                BX、DI、SI 
           ES               DI(用于串指令)

  在這種默認(rèn)的組合下,程序中不必專門指定其組合關(guān)系,但程序如用到非默認(rèn)的組合關(guān)系,則必須用段跨越前綴(如ES:)加以說明。

  2.5 外部設(shè)備
 
  計算機運行時的程序和數(shù)據(jù)以及所產(chǎn)生的的結(jié)果都要通過輸入/輸出設(shè)備與人交互,或者保存在大容量的外存儲器中,因此輸入/輸出設(shè)備(或簡稱外部設(shè)備)是計算機必不可少的組成部分,對外設(shè)進行有效的管理和信息傳輸是匯編語言的重要應(yīng)用領(lǐng)域之一。

  從圖2.1可見,外部設(shè)備與主機(微處理器和存儲器)的通信是通過外設(shè)接口進行的。每個接口包括一組寄存器。一般說來,這些寄存器有三種不同的用途:

  1. 數(shù)據(jù)寄存器:用來存放要在外設(shè)和主機間傳送的數(shù)據(jù),這種寄存器實際上起緩沖器的作用。
  2. 狀態(tài)寄存器:用來保存外部設(shè)備或接口的狀態(tài)信息,以便微處理器在必要時測試外設(shè)狀態(tài),了解外設(shè)的工作情況。 
  3. 命令寄存器:CPU給外設(shè)或接口的控制命令通過此寄存器送給外部設(shè)備。例如,CPU要啟動磁盤工作,必須發(fā)出啟動命令等。

  各種外部設(shè)備都有以上三種類型的寄存器,只是每個接口所配備的寄存器數(shù)量是根據(jù)設(shè)備的需要確定的。

  為了便于主機訪問外設(shè),外設(shè)中的每個寄存器給予一個端口地址(又稱端口號),由這些端口地址組成了一個獨立于內(nèi)存儲器的I/O地址空間。80x86的I/O地址空間可達64KB,所以端口地址的范圍是0000~FFFFH,用16位二進制代碼來表示。端口可以是8位或16位。

  在80x86系列機中,由于I/O地址空間是獨立編址的,所以系統(tǒng)提供了訪問外設(shè)的輸入/輸出指令I(lǐng)N和OUT。

  為了便于用戶使用外設(shè),8086提供了兩種類型的例行程序供用戶調(diào)用。一種是BIOS(Basic Input/Output System),另一種是DOS(Disk Operating System)功能調(diào)用。它們都是系統(tǒng)編制的子程序,通過中斷方式轉(zhuǎn)入所需要的子程序去執(zhí)行。用戶通過調(diào)用DOS或BIOS例行程序來實現(xiàn)對外設(shè)的訪問,降低了程序設(shè)計的復(fù)雜程度,縮短了開發(fā)周期。

【本章小結(jié)】
 
  1.計算機系統(tǒng)
  計算機系統(tǒng)包括硬件和軟件兩部分。硬件結(jié)構(gòu)包括80X86微處理器、存儲器和I/O子系統(tǒng),這三個主要部分由系統(tǒng)總線連接在一起。軟件分為系統(tǒng)軟件和應(yīng)用軟件。操作系統(tǒng)是系統(tǒng)軟件的核心,主要對系統(tǒng)的硬、軟件資源進行管理,其中匯編程序是將匯編語言程序翻譯成機器語言程序的一種系統(tǒng)程序。

  2.存儲器
  存儲器以字節(jié)為單位存儲信息,一個字節(jié)單元對應(yīng)一個地址編碼,地址碼用無符號整數(shù)來表示。8086微型機既能處理8位數(shù)據(jù)(字節(jié)),也能處理16位數(shù)據(jù)(字),字?jǐn)?shù)據(jù)存儲在連續(xù)的兩個字節(jié)單元中。

  存儲空間在邏輯上分為代碼段、數(shù)據(jù)段、附加段和堆棧段,每個段可尋址64KB,段的起始地址分別由段寄存器CS、DS、ES、SS給出,段內(nèi)地址稱為偏移地址。

  存儲器單元的物理地址(20位)的計算:物理地址=段地址×24+偏移地址。

  存儲器的分段是很靈活的,各段之間可以相互獨立,也可以互相重疊。

  3.8086寄存器組
  8086寄存器按功能可分為:①通用數(shù)據(jù)寄存器(AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL)②指針及變址寄存器(SP、BP、SI、DI)③段寄存器(CS、DS、ES、SS)④專用寄存器(IP、FLAGS)

  4.外部設(shè)備
  外設(shè)接口負(fù)責(zé)微處理器對I/O設(shè)備的控制和信息的傳送,每個接口包括一組寄存器,分別存放控制信息、狀態(tài)信息和數(shù)據(jù)信息。

  外設(shè)中的寄存器都分配一個端口地址,CPU與外設(shè)交換信息用兩條專門的輸入輸出指令I(lǐng)N和OUT來完成。

  BIOS和DOS功能調(diào)用是系統(tǒng)提供給用戶的例行程序,這些例行程序給程序員提供了易于使用的直接對硬件操作的子功能,程序員編程時可直接中斷調(diào)用這些功能,而不必了解硬件操作的具體細(xì)節(jié)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI