8086計算機組織結構

8086計算機組織結構

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

  2.學習目標
  瞭解計算機系統的主要組成部分;掌握存儲器地址分段的方法以及存儲單元物理地址的形成方法;熟悉8086各類寄存器的用途;熟悉標誌寄存器各標誌位的意義。

  3.學習指南
  本章內容是彙編語言程序設計所需要了解的硬件知識,已熟悉計算機基本原理的學員可直接學習後面的章節。

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

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

  2.2 基於8086的微計算機系統
 ● 8086微處理器的基本組成 
 ● 微計算機的軟件系統

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

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

  2.5 外部設備
 ● I/O端口
 ● DOS和BIOS功能調用


 

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

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

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

  1981年IBM公司選擇8088微處理器作爲核心來設計IBM PC微計算機系統,推向市場後獲得了巨大的成功,爲後來的80x86系列微處理器成爲主流微計算機的處理核心打下了基礎。 

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

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

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

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

2.2 基於8086的微計算機系統

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

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


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


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

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

  ·I/O驅動程序:用來對I/O設備進行控制或管理。

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

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

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

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

  ·裝入程序:用來把程序從外存儲器裝入到內存儲器,以便機器執行。

  ·調試程序:是系統提供給用戶調試程序的一種工具,微機上常用的調試程序是DEBUG,它有裝入、修改、顯示、單步執行和反彙編等調試功能。

  ·系統程序庫:各種標準程序、子程序和一些文件的集合稱爲程序庫,它可以被系統程序或用戶程序調用。操作系統還允許用戶建立程序庫,以提高不同類型用戶的工作效率。

  2. 應用軟件
  應用軟件是直接服務於用戶的程序系統,一般分爲兩類。一類是爲特定需要開發的實用程序,如財務軟件,訂票系統等;另一類是爲了方便用戶使用而提供的軟件工具,如用於系統維護的PCTOOLS、NORTON,用於輔助設計的AUTOCAD,用於字表處理的的EXCEL等。
3. 段寄存器

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

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

 在8086中,段寄存器和與其對應存放偏移地址的寄存器之間有一種默認的組合關係,如下所示:

          段寄存器             偏移地址寄存器
         fengexian.gif
            CS                  IP
           SS                SP或BP
           DS                BX、DI、SI 
           ES               DI(用於串指令)

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

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

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

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

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

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

  在80x86系列機中,由於I/O地址空間是獨立編址的,所以系統提供了訪問外設的輸入/輸出指令IN和OUT。

  爲了便於用戶使用外設,8086提供了兩種類型的例行程序供用戶調用。一種是BIOS(Basic Input/Output System),另一種是DOS(Disk Operating System)功能調用。它們都是系統編制的子程序,通過中斷方式轉入所需要的子程序去執行。用戶通過調用DOS或BIOS例行程序來實現對外設的訪問,降低了程序設計的複雜程度,縮短了開發週期。

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

  2.存儲器
  存儲器以字節爲單位存儲信息,一個字節單元對應一個地址編碼,地址碼用無符號整數來表示。8086微型機既能處理8位數據(字節),也能處理16位數據(字),字數據存儲在連續的兩個字節單元中。

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

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

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

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

  4.外部設備
  外設接口負責微處理器對I/O設備的控制和信息的傳送,每個接口包括一組寄存器,分別存放控制信息、狀態信息和數據信息。

  外設中的寄存器都分配一個端口地址,CPU與外設交換信息用兩條專門的輸入輸出指令IN和OUT來完成。

  BIOS和DOS功能調用是系統提供給用戶的例行程序,這些例行程序給程序員提供了易於使用的直接對硬件操作的子功能,程序員編程時可直接中斷調用這些功能,而不必瞭解硬件操作的具體細節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章