天天看點

存儲器、I/O組織、微處理器

重點知識

  • 存儲器的内部結構及通路方法
  • 存儲器分段以及存儲器中的邏輯位址和實體位址
  • I/O端口組織及編址方式
  • 時序和總線操作以及系統的工作方式和特點。

存儲器組織

  • 8086有20根位址線,可尋址的存儲器空間為1MB,位址範圍為0220-1(00000HFFFFFH)。
  • 存儲器内部按位元組進行組織,兩個相鄰的位元組被稱為一個“字”;存儲資料以位元組為機關,将在存儲器中順序存放。
  • 若按字存放,一個字的低位元組放在低位址,高位元組放高位址。并以低位址,做該字位址。
  • 若一個字從偶位址開始存放,稱規則存放或對準存放,這樣存放的字稱為規則字或對準字。 對規則字的存取可在一個總線周期完成,非規則字的存取需要兩個總線周期。

1M位元組的存儲器,存儲空間被分成兩個存儲體,每個存儲體512K位元組。 兩個存儲體之間采用位元組交叉編址方式。

存儲器、I/O組織、微處理器

與資料總線D15~D8相連的存儲體由奇位址單元組成。稱高位元組存儲體或奇位址存儲體。 用BHE信号作為選擇信号;

存儲器、I/O組織、微處理器
存儲器、I/O組織、微處理器
存儲器、I/O組織、微處理器

存儲器分段

  • 采用20位位址線來尋址。最大可直接尋址的記憶體實體位址空間220=1MB 。CPU内寄存器都隻有16位,隻能尋址64KB(216位元組)
  • 把整個存儲空間1MB,分成若幹邏輯段, 每個邏輯段的容量最大為64KB,可分為16個互不重疊的邏輯段。
  • 邏輯段分為代碼段、資料段、堆棧段和附加段四種類型;
  • 各個邏輯段在整個存儲空間中浮動,可相連,可重疊,可分開一段距離。
存儲器、I/O組織、微處理器

允許各個邏輯段在整個存儲空間浮動,可以相連,也可以重疊,可以分開一段距離

存儲器位址

  • 段位址:一般存放在段寄存器中(CS、SS、DS和ES)。是指一個段的起始位址,最低4位為零, (2000H)
  • 偏移位址(有效位址):要尋址的記憶體單元距本段段首的偏移量。同一個段内,各個存儲單元的段位址是相同的,偏移位址是不同的。(0202H)
  • 邏輯位址:在程式中使用的位址,由段位址和偏移位址兩部分組成。表示形式為“段位址:偏移位址”。(2000:0202H)
  • 實體位址:存儲單元的實際位址(20位)。實體位址與存儲單元是一一對應關系。(20202H)
存儲器、I/O組織、微處理器

實體位址的計算方法:

實體位址

=段寄存器内容×10H + 偏移位址

=段寄存器内容左移4位+偏移位址

  • 取指令實體位址=(CS)×10H+(IP)
  • 堆棧操作實體位址=(SS)×10H+(SP)/(BP的表達式)
  • 存儲器操作數實體位址=(DS)/(ES)×10H+偏移位址
存儲器、I/O組織、微處理器

例:記憶體有由10個位元組組成的資料區,起始位址1100H:0020H。計算該資料區在記憶體的首末單元實際位址。

解:記憶體資料區邏輯位址1100H:0020H,可知該資料段位址:(DS)=1100H,偏移位址為0020H,對應實體位址:

PA=(DS)×10H+0020H

=1100H×10H+0020H

= 11020H

即該資料區在記憶體中首單元的實體位址(實際位址)為11020H。

存儲空間中10個位元組對應10個位址,應占用從起始位址0單元到9号單元的位置,該資料區在記憶體中末單元實體位址(實際位址):

PA = 11020H+0009H

= 11029H

是以:本題中10個位元組組成的資料區,在記憶體首單元實際位址是11020H,記憶體末單元實際位址是11029H。

專用和保留的存儲器單元

8086系統規定:

1)00000H~003FFH(共1KB):存放中斷向量表,中斷服務程式的入口位址。每個中斷向量占4位元組,前2位元組存放中斷服務程式的入口偏移位址(IP),後2位元組存放中斷服務程式的入口段位址(CS)。1KB區域可存放256個中斷服務入口位址。當系統啟動、引導後,這個區域的中斷向量就被建立起來。

2)FFFF0H~FFFFFH(共16B):存放一條無條件轉移指令,使系統在上電或複位時,自動跳轉到系統的初始化程式。

系統啟動後,CS=0FFFFH,IP=0000H,初始指令的實體位址為0FFFF0H,存放一條無條件轉移指令,即轉移到系統初始化程式部分。

FFFF:0000H:是BIOS(Basic Input Output System) ROM的起始位址,但不是有效指令開始位址。Jmp指令跳轉的START是真正進行BIOS程式起始位址

存儲器、I/O組織、微處理器

I/O端口組織

8086微處理器用位址總線的低16位作為對8位I/O端口的尋址線,是以8086可通路的8位I/O端口有216(65536)個。兩個編号相鄰的8位端口可以組成一個16位的端口。一個8位的I/O裝置可以連接配接在資料總線的高8位,也可連接配接低8位。

1、統一編址: 把I/O端口看作存儲器單元,每個端口占用一個存儲單元的位址。CPU通路存儲器的指令和各種尋址方式都可用于尋址I/O端口。

2、獨立編址: 端口單獨編址構成一個I/O空間,不占用存儲器位址。有專門輸入/輸出指令(IN和OUT)。使用16條位址線A15~A0來通路I/O端口,可通路最多64K容量的8位端口或32K容量的16位端口。

8086CPU的操作是在時鐘CLK統一控制下進行的。 8086CPU由外部的一片8284A時鐘信号發生器提供主頻為5MHz的時鐘信号。

  • 8284A能産生8086所需的系統時鐘信号,即系統主頻。
  • 8284A還可對外界輸入準備就緒信号RDY和RES進行同步操作。
  • 輸出READY信号作為8086的就緒信号READY;輸出RESET信号作為8086的複位信号RESET。

8086CPU的總線周期和工作方式

8086CPU經外部總線對存儲器或I/O端口進行一次資訊的輸入或輸出過程,稱為總線操作,執行該操作所需要的時間,稱為總線周期。

1個總線周期,包含4個T時态。T1,T2,T3,T4。

不同的總線操作需要不同的總線信号,對這些信号的變化進行時間順序的描述稱為“總線時序”。

CPU的操作是在時鐘統一控制下進行。描述總線操作的微處理器時序有三級

指令周期 → 總線周期 → 時鐘周期

  • 指令周期:計算機完成對一條指令的讀取并執行所需的時間。
  • 總線周期:CPU經外部總線對存儲器或I/O端口進行一次資訊的輸入或輸出過程所需要的時間。
  • 時鐘周期 T: CPU的基本時間計量機關,由主頻決定。
  • 等待周期TW:當慢速的存儲器或I/O接口,無法在3個時鐘周期内完成資料讀寫操作時,在總線周期中插入等待周期。
  • 空閑周期 TI:是指在二個總線周期之間的時間間隔(總線處在空閑狀态)。無總線操作時進入空閑周期。

8086CPU由外部的一片8284A時鐘信号發生器提供主頻為5MHz的時鐘信号。

存儲器、I/O組織、微處理器
  • 基本總線周期:由4個T狀态組成:T1、T2、T3、T4。
  • 等待時鐘周期Tw:在總線周期的T3和T4之間插入。
  • 空閑時鐘周期Ti:在兩個總線周期之間插入。

8086CPU采用總線複用操作方式,16位資料總線和位址總線的低16位是共用的,典型的總線周期如圖

在沒有插入等待時鐘周期TW的情況下,總線周期由4個時鐘周期組成,即圖中T1、T2、T3、T4

存儲器、I/O組織、微處理器
  • 在T1期間:CPU把存儲器或外設的位址放到總線上。
  • T2期間:分時複用的位址/資料總線處于高阻态,以便為讀入或寫出資料作準備。
  • 在T3和T4期間:讀或寫的資料出現在總線上,以使完成讀或寫的操作。

等待周期TW:

存儲器、I/O組織、微處理器

如果在T3周期結束之前,存儲器或外設未準備好資料傳送,就要輸入CPU的READY線使之變低電平,進而在T3和T4之間插入一個或多個TW等待周期,直到READY變高,轉入T4周期,完成讀寫操作。

  • 任何指令的取指階段都需要存儲器讀總線周期,讀取的内容是指令代碼
  • 任何一條以存儲單元為源操作數的指令都将引起存儲器讀總線周期,任何一條以存儲單元為目的操作數的指令都将引起存儲器寫總線周期
  • 隻有執行IN指令才出現I/O讀總線周期,執行OUT指令才出現I/O寫總線周期
  • CPU響應可屏蔽中斷時生成中斷響應總線周期

為了适應各種場合的要求,8086CPU在設計中提供了兩種工作模式,即最小模式和最大模式。

通過CPU的第33條引腳 MN/MX 來控制。

(1)最小工作模式(MN/MX =1):适用于單微處理器組成的小系統,系統中通常隻有一個微處理器,所有的總線控制信号都直接由8086CPU産生,系統中的總線控制邏輯電路被減到最少。

(2)最大工作模式(MN/MX=0):此時,系統中存在兩個或兩個以上的微處理器,其中有一個主處理器8086,其他處理器稱為協處理器。

舉例:8086最小模式基本時序

  • 總線讀周期 8086CPU進行存儲器或I/O端口讀操作時,總線進入讀周期;
  • 總線寫周期 8086CPU進行存儲器或I/O接口寫操作時,總線進入寫周期。
  • 中斷響應周期 當8086的INTR引腳上有高電平信号,且中斷标志IF=1時,8086CPU在執行完目前指令後,進入中斷響應周期。響應中斷時CPU将執行兩個中斷響應周期。
  • 總線響應周期 當系統中有其它的總線主裝置請求總線控制時, CPU進入總線響應周期。
  • 系統複位周期 8086CPU的RESET引腳,可以用來啟動或再啟動系統

8086在最大與最小模式下的主要差別是增加了一個8288總線控制器。8288接受8086CPU的狀态信号S2、S1和S0,經過變換群組合,由8288發出對存儲器和I/O端口的讀/寫信号,對鎖存器8282及對總線收發器8286的控制信号。

32位微處理器

80386的主要特點

  • 80386微處理器擁有32位資料總線和32位位址總線,可直接尋址4GB(232)的實體存儲空間,同時具有虛拟存儲的能力,虛拟存儲空間達64TB。存儲器采用分段結構,一個段最大可為4G位元組。
  • 系統采用了流水線和指令重疊技術、虛拟存儲技術、片記憶體儲器管理技術、存儲器管理分段分頁保護技術等,使80386系統實作了多使用者多任務操作,功能得到大大加強。
  • 提供32位的指令,可支援8位、16位、32位的資料類型,具有8個通用的32位寄存器,具有片内位址轉換的高速緩沖存儲器Cache。
  • 提供32位外部總線接口,最大資料傳輸速率為32Mbps。系統可同高速的DRAM晶片接口,支援動态總線寬度控制,能動态地切換32位/16位資料總線。
  • 具有片内內建的存儲器管理部件MMU,可支援虛拟存儲和特權保護,可選擇片内分頁單元。片内具有多任務機構,能快速完成任務的切換。
  • 通過配置浮點協處理器80387實作資料高速處理,加快了浮點運算速度。
  • 80386系統能在時鐘頻率為12.5 MHz或16 MHz下可靠工作,指令的執行速度可達3~4MIPS以上。

80486的主要特性

  • 80486是在複雜指令集計算機CISC技術的基礎上,首次采用了精簡指令集計算機RISC技術的80X86系列微處理器。
  • 把浮點運算部件和高速緩沖存儲器Cache內建在晶片内,使運算速度和資料存取速度得到大大提高
  • 80486增加了多處理器指令,增強了多重處理系統,片上硬體確定了超高速緩存一緻性協定,并支援多級超高速緩存結構。
  • 80486具有機内自測試功能,可以廣泛地測試片上邏輯電路、超高速緩存和片上分頁轉換高速緩存,支援硬體測試、Intel軟體和擴充的第三者軟體。

80486的基本結構

80486CPU的内部結構如圖所示,它包括總線接口部件、片内高速緩沖存儲器Cache、指令預取、指令譯碼、控制/保護、整數、浮點運算、分段和分頁等功能部件。80486将這些部件內建在一塊晶片上,既可以減少主機闆空間,還可以提高CPU的執行速度。

Pentium系列微處理器

Pentium系列微型計算機的主要特點

  • 高內建度,片内內建有310萬個半導體。
  • 時鐘頻率高,從60MHz或66MHz發展到500MHz,700MHz和1500MHz。
  • 資料總線帶寬增加,内部總線為32位,外部資料總線寬度為64位。
  • 内采用分立的指令Cache和資料Cache結構,可無沖突地同時完成指令預取和資料讀寫。
  • 采用RISC型超标量結構。超标量是指微處理器内具有多條指令執行流水線,以增加每個時鐘周期内可以執行的指令數,進而使微處理器的運作速度成倍提高。
  • 高性能的浮點運算器。Pentium采用全新設計的增強型浮點運算器(FPU),使得它的浮點運算速度比80486DX要快3~5倍
  • 雙重分離式高速緩存。将指令高速緩存與資料高速緩存分離,各自擁有獨立的8KB高速緩存。
  • 增強了錯誤檢測與報告功能。内部增強了錯誤檢測與報告功能,特别引進了片功能備援檢測(FRC)。
  • 64位資料總線。Pentium為了大幅度提高資料傳輸速度而使用64位的資料總線。
  • 分支指令預測。處理器内部采用了分支預測技術,大大提高了流水線執行效率。
  • 常用指令固化及微代碼改進。把一些常用的指令改用硬體實作,不再使用微代碼操作。
  • 系統管理方式。具有實位址方式、保護方式、虛拟8086方式及具有特色的SMM(系統管理方式)。
  • 軟體向上相容 80386/80486,可以在MS-DOS,Windows 95,Windows NT,OS/2,UNIX和Solaris等作業系統下運作。

Pentium微處理器的内部結構

Pentium微處理器的主要部件包括總線接口部件、指令高速緩存器、資料高速緩存器、指令預取部件(指令預取緩沖器)與轉移目标緩沖器、寄存器組、指令譯碼部件、具有兩條流水線的整數處理部件(U流水線和V流水線)、擁有加乘除運算且具有多用途電路的流水浮點處理部件FPU等。