接口技术课件_第1页
接口技术课件_第2页
接口技术课件_第3页
接口技术课件_第4页
接口技术课件_第5页
已阅读5页,还剩900页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型電腦概論1.1有關微型電腦的基本知識1.2微型電腦系統的匯流排結構

1.1有關微型電腦的基本知識

μP、μC與μCS

微處理器(μP)發展概況微型電腦(μC)的分類概述1.1有關微型電腦的基本知識

1.1.1μP.μC與μCS

電腦5大組成部分运算器CPU中央處理部件主機控制器(centralprocessingunit)

內記憶體輸入設備外設輸出設備

Microprocessor(μP)微處理器 微型化的CPU,又可表示為MPU

控制器 微處理器運算器 微型電腦寄存器組 內記憶體 輸入/輸出介面微型電腦輸入/輸出設備及外存儲器系統 系統軟體 軟體 應用軟體 電源,面板和機架 Microprocessor(μP) Microcomputer(μC) MicrocomputerSystem(μCS)

1.1.2微處理器發展概況

1971.10Intel4004 4位μP 1972.3Intel8008 低檔8位μP 1973Intel8080 中檔8位μP 1974.3MotorolaMC6800 1975-76ZilogZ80 高檔8位μP 1976Intel80851978Intel8086 1979ZilogZ800016位μP MotorolaMC68000 1983ZilogZ80000 1984.7MotorolaMC6802032位μP 1985Intel80386 Intel系列32位μP (85.10)(89.4)(93.3)(95.11) 8038680486PentiumPentiumPro

奔騰高能奔騰

(97.1)MMX(PentiumwithMMX)

多能奔騰(帶多媒體擴展技術) (97.5)PII(PentiumII)(奔II) (99.3)PIII(PentiumIII)(奔III) (2000.6.28)P4(Pentium4)(奔

(2000.11) Itanium(安騰)—64位μP

微處理器的位數由字長決定 字長—CPU內運算器處理資訊的基本單位,即一次能處理二進位資訊的位數。 “字長”同處理器的處理能力 有關 計算精度 電腦中的K,M,G,TKHz

主頻:CPU的時鐘頻率MHz GHz K(Kilo)=1000=103M(Mega)=10002=106(百萬)G(Giga)=109(十億)T(Tera)=1012

(萬億)記憶體容量:KB=1024Bytes(210)MB=10242Bytes(220)GB=10243Bytes(230)TB=10244Bytes(240)1.1.3微型電腦的分類一、單片機 又稱為“微控制器(Microcontroller)和“嵌入式電腦(Embeddedcomputer)。這是一種把構成一個微型電腦的一些功能部件集成在一塊晶片之中的電腦,這些功能部件包括微處理器、RAM、ROM(有的單片機中不含ROM)、I/O介面電路、定時器/計數器等,在智能化儀器儀錶以及控制領域內應用極廣。二、單板機 將微處理器、RAM、ROM以及一些I/O介面電路,加上相應的外設(鍵盤、發光二極體顯示器)以及監控程序固件等安裝在一塊印刷電路板上所構成的電腦系統。如TP-801,TP-86等,可廣泛應用於生產過程的即時控制及教學實驗。三、個人電腦(PersonalComputer)1975 Altair80801977 AppleII1981.8IBMPC1983IBM-PC/XT1984 IBM-PC/AT1987.4IBM-PS/21.2微型電腦系統的匯流排結構μCS是一個資訊處理系統,各部件之間存在大量的資訊流動,所有資訊都要通過通信線路傳送,通信線路的設置和連接方式至關重要。匯流排(BUS)電腦系統中,各部件(模組、器件)之間資訊傳送的公共通路。部件(模組、器件)數必須大於2微處理器典型結構微型電腦的基本結構

匯流排由數據匯流排、地址匯流排和控制匯流排組成,數據匯流排是從微處理器向內記憶體、I/O介面傳送數據的通路;反之,它也是從內記憶體、I/O介面向微處理器傳送數據的通路,稱為雙向匯流排。 地址匯流排是微處理器向內記憶體和I/O介面傳送地址資訊的通路,是單向匯流排, 控制匯流排是微處理器向內記憶體和I/O介面傳送的命令信號以及外界向微處理器傳送狀態信號等資訊的通路。用三類匯流排構成的微機系統192.1從8086到Itanium

8086基本結構

80286和80386Intel80486Pentium系列處理器和Itanium處理器2.1從8086到Itanium2.1.1 8086基本結構

一、匯流排介面部件BIU

(BusInterfaceUnit) 匯流排介面部件BIU同外部匯流排連接,為執行部件EU完成全部的匯流排操作,並且計算、形成20位的內記憶體的物理地址。

22二、執行部件EU(ExecutionUnit)

執行指令,完成指令所規定的操作。進行記憶體有效地址的計算。由於EU和BIU這兩個功能部件能相互獨立地工作,在大多數情況下,取指令所需的時間“消失”了(隱含在上一指令的執行之中),大大減少等待取指令所需的時間,提高了微處理器的利用率和整個系統的執行速度。2.1.280286和803868086EUExecutionUnit(16位)BIUBusInterfaceUnitAUAddressUnit80286IUInstructionUnit(16位)

BUBusUnitEUExecutionUnit

BIUBusInterfaceUnitIPUInstructionPrefetchUnit80386IDUInstructionPredecodeUnit(32位)EUExecutionUnitSUSegmentationUnitPUPagingUnitSUMMU(MemoryManagementUnit)PUALU外部DB80386SX32位16位80386DX32位32位對8位16位資訊處理SX與DX一樣(主頻相同條件下)對32位資訊處理SX與DX不一樣取數處理80386SX2次1次80386

DX1次1次綜合性能80386DX比80386SX好對大量的8位、16位操作兩者性能一樣。2.1.3Intel80486

Intel80486DX=高性能的+高性能的+8KBL1Cache8038680387*面向多處理器結構*主頻提高從33MHz-50/60MHz*採用部分RISC技術(ReducedInstructionSetComputer)1.2條/時鐘8087NDP數值數據處理器80287與80387數學處理器*突發式匯流排(BurstBus)給出一個地址後,與該地址相關的一組數據都可以進行輸入/輸出。*486SX/DX/DX2/DX4486SX不帶FPU的486486DX2內頻是外頻的2倍;486DX4內頻是外頻的3倍;內頻:是處理器內部工作核心頻率;外頻:是處理器外部工作頻率,在Socket結構的主板上,外頻即系統記憶體和L2Cache匯流排的時鐘頻率,是主板提供的時鐘。486DX/33MHz內頻33MHz

外頻33MHz486DX/66MHz內頻66MHz

外頻66MHz486DX2/66MHz內頻66MHz

外頻33MHz486DX4/100MHz內頻100MHz

外頻33MHz2.1.4Pentium系列處理器及Itanium處理器

Pentium

奔騰57條MMX指令PentiumProMMX高能奔騰多能奔騰

PentiumII

70條SSE指令

PentiumIII

144條SSE2指令新的IA-32Pentium4廣度深度57條MMX指令一、Pentium處理器技術特點1.超標量流水線U/V

每條流水線有各自的ALU/地址生成部件指令預收指令解碼地址生成指令執行回寫2.重新設計的浮點部件

8級流水線浮點—1~2條指令/時鐘3.獨立的I-cache與D-cache4.分支預測5.64位外部數據匯流排內部ALU仍為32位IntelPentiumTMProcessor

代碼Cache分支預測預取Buf.超流水線

64位整數ALU整數ALU浮點部件

Bus

介面寄存器組乘法加法數據Cache除法二、PentiumPro處理器技術特點:1.一個封裝2個晶片

*CPU內核+2×8KBL1Cache*256KBL2Cache(全速)2.指令分解為微操作3.超級流水線和超標量技術

14級流水線

3路超標量微結構

5個並行處理單元

5個並行處理單元

整數單元×2

裝入單元×1

儲存單元×1FPU×14.亂序執行和推測執行三、PentiumwithMMXMMX(MultiMediaeXtention)

多媒體擴展—提高多媒體和通信處理能力主要特點1.採用SIMD(SingleInstructionMultiData)技術,使多條資訊可由一條單一指令來處理。這是MMX的基礎。

SIMD與IA(IntelArchitecture英特爾體系結構)的超標量技術相結合,可極大增強PC機平臺性能;MMX技術執行指令時,將8bytes數據作為一個包裝的64位值進入CPU,全部過程由一條指令立即處理。362.MMX指令具有很強的通用性,不僅能滿足建立在當前及未來演算法上的PC機應用程式的大部分要求,而且還可用於編碼/解碼器,演算法及驅動程式等。3.MMX指令系統增加了4種新的數據類型:緊縮位元組(8×8bit)

緊縮字(4×16bit)

緊縮雙字(2×32bit)

四字(64bit)

目的:

緊縮定點整數,將多個整數字組成一個單一的64位數據。使系統在同一時刻能處理更多的數據。384.增加8個64位MMX寄存器----浮點寄存器。5.增加了57條MMX指令,具有飽和運算和積和運算能力。飽和運算:運算中“上溢”或“下溢”的結果被截取到該類數據類型的最大值或最小值。積和運算:PMADDWDP:packedM:multiplyD:dual/double

這是緊縮字相乘並相加。飽和運算:在圖形學中應用很有效。積和運算:向量點積和矩陣乘法中應用極廣,這是圖象/音頻/視頻數據處理的基本演算法。廣泛應用於音頻/視頻圖像的壓縮/解壓縮。四、PentiumII技術特點1.MMX技術2.動態執行技術多分支跳轉預測、數據流分析、推測執行3.雙重獨立匯流排結構

DIB(DualIndependentBus)SEC插盒(SingleEdgeContact)

Solt插槽五PentiumIII主要技術特性仍是PentiumPro結構1.更高的主頻起始頻率450MHz/500MHz2.SSE指令70條StreamingSIMDExtension數據流單指令多數據擴展提高多媒體和浮點運算能力3.LICache16KBI-Cache16KBD-CacheL2Cache512KB(速度為CPU核心頻率1/2)

增強音頻,視頻,3D圖形處理能力。用於3D圖像處理、語言識別、視頻即時壓縮4.8個新的128位單精確度寄存器(4×32位)能同時處理4個單精確度浮點變數。可達20億次/秒浮點運算速度。

L2Cache512KB(速度為CPU核心頻率的1/2)

增強音頻、視頻、3D圖形處理能力。用於3D圖象處理、語音識別、視頻即時壓縮5.8個新的128位單精確度寄存器(4×32位)Coppermine——新一代的PentiumIII技術特性1.內置工作在核心頻率下的L2Cache256KB2.採用先進的緩存轉換結構、內置L2Cache採用1條256位的寬頻數據通路。相當於64位數據通路的片外L2Cache的4倍。3.採用先進的系統緩衝器。4.採用適用於移動PC系統的Speedstep技術低壓低速全壓全速

六.Pentium4

主要技術特性 採用新的IA-32體系結構對PentiumPro進行徹底改造。主頻以1.3G~1.5GHz為起始頻率。這是基於內核體系結構的重新設計而非內核工藝的單純提高。451.採用20級的超級流水線(Superpipeline)

流水線深度越大(級數越高)越易提高內核工作頻率。 帶來短時鐘週期、高主頻和長運算延遲(Latency,兩個操作指令間的時間間隔較長)的問題。 解決方法:

*加大L1Cache *提高分支預測功能。2.採用256KB的L1Cache1MB的L2Cache3.整數運算單元4.

浮點運算單元

摒棄X87體系結構5.

匯流排結構

採用64位、100MHz的4倍數據速率(QDR)技術。七、IntelItanium

中文名“安騰”,原定名為Merced主要技術特性:結構:IA-64結構

*基礎是EPIC技術

ExplicitlyParallelInstructionComputing

顯性並行指令計算核心頻率:800MHz以上Cache:L1Cache全速,128KB(片內) L2Cache全速,256KB~1MB(片內) L3Cache全速,4MB(同封裝)處理器核心∶ 4個整數執行單元

4個MMX/浮點執行單元

128個整數寄存器,128個浮點寄存器64位處理器

*一次可以處理64位(8Bytes)的數據

*可以用64位地址來“訪存”。

32位處理器訪存232位=4GB 64位處理器訪存264位=16MTB

是32位處理器的4G倍。(410243)

浮點執行單元4個一個時鐘週期內可以執行20個單精確度浮點運算,12個雙精度浮點運算

128個82位浮點寄存器整數處理單元4個

MMM處理單元4個

50寄存器: 通用寄存器

128個(64位+1位) 64位供程式設計者用

1位稱為NAT(NotAThing)位 當寄存器中數據被確定為無用位時,只要發送NAT位就可確定該寄存器中的數據無用。

浮點寄存器128個(82位)

用於浮點運算預測寄存器64個(1位)

控制分支以及有條件指令分支寄存器64個(8位)

指定分支的目標地址32位指令的相容性

Itanium將完全相容現有的32位指令集。現有的32位應用程式無須改動即可應用於Itanium系統上。EPIC技術 這裏的“並行處理技術”是指在處理器內部同一個處理單元同時並行處理多條指令。 應用了LIW、Predication和Speculative技術。LIW(LongInstructionWord)將3條指令“拼接”成128位的“束”(bundle)以加快處理速度,稱“LIW編碼”。128位長的指令束中包含一個由編譯程序寫入的若干位的“模組”(template)清楚地告訴CPU哪些指令可以並行地執行。InstructionPredication(指令預測)一般的處理器在分支預測的計算中要花費大量時間;Itanium的指令預測是一項基於程式編譯器的技術,目的是對將要用到哪些分支進行更準確的預測。注意∶指令預測是基於程式編譯器的,指令預測技術代替分支預測,使CPU並行執行所有可能的分支路徑。要求∶CPU的編譯程序必須有高超的分支預測能力,Itanium必須是極寬的超標量晶片,擁有大量的備用資源。用晶片資源換取時間。

Speculativeloading 推理裝載 在指令和數據沒有被用到之前,Itanium處理器可以把這些指令和數據統統裝入,把處理器本身有效地當做一個極好的緩存。它可能在處理器空閒時完成。通過提前裝載沒有用到的指令和數據來減少由於記憶體延遲造成的性能損失。552.280x86的編程結構8086的編程結構80X86的編程結構1—基本結構寄存器80X86的編程結構2—系統級寄存器80X86的編程結構3—調試和測試寄存器80X86的編程結構4—浮點寄存器2.280x86的編程結構2.2.1 8086的編程結構一、通用寄存器

AXAHALBXBHBLCXCHCLDXDHDLSPBPSIDI(1)數據寄存器 累加器AX(Accumulator)基址寄存器BX(Base)計數寄存器CX(Count)數據寄存器DX(Data)這四個16位寄存器可分為高8位(AH、BH、CH和DH)與低8位(AL、BL、CL和DL)可分別尋址、獨立操作。

(2)指針寄存器和變址寄存器 堆疊指針寄存器SP(StackPointer)基址指針寄存器BP(BasePointer)源變址寄存器SI(SourceIndex)目的變址寄存器DI(DestinationIndex)

SP用來確定欲讀寫堆疊的地址,BP用來存放在現行堆疊段的一個數據區的“基地址”。SI、DI用於變址操作,存放變址地址。

二、指令指針IP和標誌寄存器F

指令指針IP(InstructionPointer) 指向當前需要取出的指令位元組

IP指向的是指令地址的段內地址偏移量,又稱偏移地址(OffsetAddress)或有效地址(EA,EffectiveAddress)。 程式員不能對IP進行存取操作,程式中的轉移指令、返回指令以及中斷處理能對IP進行操作。IPFR標誌寄存器FR(FlagRegister)

定義了9位6位狀態位 C、A、Z、S、O、P3位控制位I、D、TOFDFIFTFSFZFAFPFCFInterruptenableDirectionTrapCarryAuxiliaryCarryZeroSignOverflowParity進位標誌CF,加減運算後有進位(借位)CF=1, CF=D7CY/D15CY輔助進位標誌AF,AF=D3CY零標誌ZF,結果為0,ZF=1

結果非0,ZF=0符號標誌SF,結果為正,SF=0

結果為負,SF=1奇偶校驗標誌PF,低8位中,“1”的個數為偶數,PF=1, “1”的個數為奇數,PF=0溢出標誌OF,OF=或中斷允許標誌IF:用於控制可遮罩中斷。

IF=1,開中,IF=0關中。方向標誌DF:用於串操作

DF=0,增量操作,DF=1,減量操作。陷阱標誌TF:

TF=1,單步操作,TF=0,連續操作。三、段寄存器(SegmentRegister)記憶體中通常存放著三類資訊:(1)代碼(指令)—指示微處理器執行何種操作;(2)數據(字元、數值)—程式處理的對象;(3)堆疊資訊—被保存的返回地址和中間結果等。CSDSSSES

段的起始地址由稱為“段寄存器”的4個16位寄存器決定,這4個段寄存器為:(1)代碼段寄存器CS(CodeSegment)指向當前的代碼段,指令由此段中取出;(2)堆疊段寄存器SS(StackSegment)指向當前的堆疊段,堆疊操作的對象就是該段中存儲單元的內容;65(3)數據段寄存器DS(DataSegment)指向當前的數據段,通常用來存放程式變數(記憶體運算元);(4)附加段寄存器ES(ExtraSegment)指向當前的附加段,通常也用來存放數據,以及一些專用指令的運算元。

四、8086系統中記憶體分段 解決20位記憶體地址和16位地址計算能力的矛盾。

8086程式把1M位元組的存儲空間看成為一組存儲段,各段的功能由具體用途而定,分別為代碼段、堆疊段、數據段和附加段。67

一個存儲段是記憶體的一個邏輯單位,其長度可達64K位元組,每段第一個位元組的位置稱為“段起始地址”。對段起始地址的要求是:最好能被16整除(起始地址為××××0H)。段寄存器中存放了與段起始地址有關的16位“段基值”(SegmentBasevalue),幾個段可以相互重疊,也可指向同一個64K位元組空間。

在具有地址變換機構的電腦中,有兩種記憶體地址:一種是邏輯地址(LogicalAddress)

—允許在程式中編排的地址一種是物理地址(PhysicalAddress)

—資訊在記憶體中實際存放的地址698086系統中,對給定的任一存儲單元而言有兩部分邏輯地址;“段基值”—決定所在段第一個位元組的位置;“段內偏移量”(Offset)—該存儲單元相對於該段起始單元的距離。 “段基值”存放在段寄存器(CS、SS、DS、ES)中,“段內偏移量”由SP、BP、SI、DI、IP、BX和直接地址以及上述寄存器和直接地址的組合而形成。8086系統中邏輯地址的來源可歸納如表所示。注:EA(EffectiveAddress)為有效地址,反映運算元的段內偏移地址。操作類型隱含的段基值可替換的段基值偏移地址取指令CS無IP堆疊指令SS無SPBP用作基地址寄存器SSCS、DS、ESEA通用數據讀寫DSCS、ES、SSEA字串操作(源地址)DSCS、ES、SSSI字串操作(目的地址)ES無DI2.2.280X86的編程結構1—基本結構寄存器一、通用寄存器GeneralPurposeRegisterEAXAXAHALEBXBXBHBLECXCXCHCLEDXDXDHDL32位16位8位ESPSPEBPBPESISIEDIDI32位16位

32位寄存器僅用於80386以上的處理器注意寄存器的隱含用法二、專用寄存器SpecialRegister1.EIP(InstructionPointer)指示要執行的下一條指令的偏移地址(Offset)該偏移值相對於指令所在代碼段的基地址(BaseAddress)。程式員不能直接對EIP(IP)讀寫,程式轉移指令能對EIP(IP)進行操作。742.EFLAGS(Flags)指示處理器的狀態,控制其操作。從8086-PentiumPro所定義的標誌位見教材各標誌位的定義見教材

三、段寄存器

SegmentRegister6個

DS、CS、SS、ES、FS、GS

用來保存標誌現行可尋址存儲段的選擇子(Selector,選擇符)值。 在實地址方式下(以及8086)段的長度固定為64KB; 在保護方式下段的長度在1Byte~整個物理地址空間內任選。在80286及以上的處理器中每個段寄存器都由一個“段描述子寄存器”相對應, 該寄存器用來描述一個存儲段的段基地址段限屬性(訪問許可權)

BaseAddressLimitAccessRightBase是線性地址或物理地址計算的一個分量

Limit用於段限檢查操作。

AccessRight對照所要求的記憶體訪問類型進行檢驗段寄存器對程式員而言是可見的;段描述子寄存器對程式員是透明的。2.2.380X86的編程結構2—系統級寄存器一、控制寄存器5個(ControlRegister)用於對80x86的多種功能的控制。1.CR0

定義了11位控制位

80286中稱為MSW(MachineStatusWord)

其中PE(0位)為允許保護(ProtectionEnable)PE=0以實方式工作

PE=1進入保護方式

2.CR2頁故障線性地址寄存器3.CR3頁目錄基地址寄存器

CR2、CR3用於386以上處理器,在分頁操作中使用。

CR3中高20位為頁的目錄基地址,在分頁計算中用

4.CR4用於Pentium以上處理器。

二、系統地址寄存器2個 (SystemAddressRegister) 描述子(Descriptor):保護方式下,用來描述記憶體運算元所在段的性質的數據結構。 描述子表(DescriptorTable)

在一個系統中,存放所有段的描述子的存儲區。80系統地址寄存器:用來尋址和定義上述描述子表的地址。全局描述子表寄存器

GDTR(GlobalDescriptorTableRegister)

存放全局描述子表的段基址(SegmentBaseAddress)和段限(Limit)。81中斷描述子表寄存器

IDTR(InterruptDescriptorTableRegister)

存放中斷描述子表的Base和Limit。

GDTR和IDTR為48(40)位寄存器其中Base:32位-386以上

24位-286;

Limit:16位。

三、系統段寄存器2個

(SystemSegmentRegister)

局部描述子表寄存器

LDTR(LocalDescriptorTableRegister) 16位寄存器內裝入16位選擇子,通過該選擇子訪問GDT。找到相應的描述子,該描述子中包含LDT的Base,Limit和AccessRight(AR)。 每個LDTR都有一個64位的LDTCache描述子寄存器(或稱段描述子及Cache)。

BaseLimitAR32位20位12位

任務狀態段寄存器

TR(TaskStateSegmentRegister)

一個任務即指一個應用程式或一個過程。每個任務有一個相關的TSS(任務狀態段),TSS中保存有當前任務的所有環境(該任務的運行狀態)。

TSS的描述子存放在GDT中,由TR內的16位選擇子來檢索,檢索所得之描述子自動裝入TSSCache中。(同LDTR和LDTCache)2.2.480X86的編程結構3—調試和測試寄存器一.調試寄存器(DebugRegister)用於排除故障

DR0-DR3設置線性中斷點地址

DR6顯示中斷點狀態

DR7設置中斷點二.測試寄存器(TestRegister)

用於測試分頁和Cache狀態。386/486分別定義了2~5個TRPentium以上處理器採用MSR(ModelSpecialRegister,模型專用寄存器)來替代,MSR用於控制可測試性,執行跟蹤,性能監測和機器檢查錯誤。TR與MSR中用到TLBTLB(TranslationLookasideBuffer)轉換後備緩衝器用來保存最常用的頁表地址轉換。Pentium處理器用RDMSR(讀MSR)和WRMSR(寫MSR)來訪問MSR。用ECX值(僅用8位)確定所訪問的MSR(見教材))2.2.580X86的編程結構4—浮點寄存器(FloatingPointRegister

)

數據寄存器DataRegister8×80位符號位階碼尾數

11564標記字TagWord

與8個數據寄存器對應,各2位。狀態寄存器StatusRegister16位寄存器控制寄存器ControlRegistor16位寄存器指令指針(InstructionPointer)提供發生故障的數字指令的地址數字指針(DataPointer)提供發生故障的數字記憶體運算元的地址注意:80486處理器片內集成有FPU(FloatingProcessingUnit,浮點處理部件)這是對80486而言的。Pentium以上處理器在應用程式模式上不再使用上述浮點寄存器。882.380x86的引腳和時序8086的引腳信號80X86引腳信號80X86的時序圖2.3 80x86的引腳和時序

一、引腳信號綜述 微處理器的信號引腳是處理器內部同外部世界(記憶體或I/O介面)之間資訊傳輸的通道。所以也稱為晶片匯流排。理解微處理器的引腳功能是微機系統中記憶體介面和I/O介面的重要基礎。

90

二、電腦中軟體與硬體的關係: 軟體(指令)的功能是通過硬體(引腳信號)起作用的;硬體(引腳)信號是由軟體(指令)產生的。 三、有關引腳信號的一些基本知識

1.輸入/輸出

2.高電平有效/低電平有效

3.輸出信號是二態/三態

4.的意義912.3.18086的引腳信號

8086的40條引腳信號按功能可分為4部分─地址匯流排、數據匯流排、控制匯流排以及其他(時鐘與電源)。

一、雙重匯流排、分時複用

1.21條引腳傳送42個信號

AD0~AD15,

A16/S3~A19/S6,

/S7。

2.三種週期

*指令週期(InstructionCycle)執行一條指令所需要的時間稱為指令週期,不同指令的指令週期是不等長的。

*匯流排週期(BusCycle)

8086CPU與外部交換資訊總是通過匯流排進行的。CPU的每一個這種資訊輸入、輸出過程需要的時間稱為匯流排週期,一個指令週期由一個或若干個匯流排週期組成。 94*時鐘週期(ClockCycle)執行指令的一系列操作都是在時鐘脈衝CLK的統一控制下一步一步進行的,時鐘脈衝的重複週期稱為時鐘週期,時鐘週期是CPU的時間基準,由電腦的主頻決定,8086CPU的匯流排週期至少由4個時鐘週期組成,分別以T1、T2、T3和T4表示。3.AD0~AD15

在每個匯流排週期開始(T1)時,用作地址匯流排的16位(A15~A0),給出記憶體單元(或I/O端口)的地址;其他時間為數據匯流排,用於數據傳輸。A16/S3~A19/S6,/S7

在每個匯流排週期開始(T1)時,作地址匯流排的高4位(A19~A16)和,96

在記憶體操作中為高4位地址,在I/O操作中,這4位置“0”(低電平)。在匯流排週期的其餘時間,這4條信號線指示CPU的狀態資訊。當 為低電平時,把讀/寫的8位數據與AD15~AD8連通。該信號與A0(地址信號最低位)結合以決定數據字是高位元組工作還是低位元組工作。

二、控制匯流排1—同工作方式有關的控制信號

1.MN/

最小/最大方式控制線,用來控制8086的工作方式。當MN/接+5V時,8086處於最小方式,由8086提供系統所需的全部控制信號,用來構成一個小型的單處理機系統。當MN/接地時,8086處於最大方式,系統的匯流排控制信號由專用的匯流排控制器8288提供,用來構成一個多處理器或協處理器系統。

、、解碼表操作類型(CPU週期)LLL中斷回應LLH讀I/O端口LHL寫I/O端口LHH暫停HLL取指HLH讀記憶體(數據)HHL寫記憶體HHH無效(無匯流排週期) 2.、、—匯流排週期狀態信號(三態、輸出) 表示8086外部匯流排週期的操作類型,在最小方式下, 、、三引腳分別為 、和。 為記憶體/IO控制信號(輸出、三態), 用於區分CPU是訪問記憶體(=H),還是訪問I/O端口(=L)。100

為數據發送/接收信號(輸出、三態), 用於指示CPU是進行寫操作(=H)還是讀操作(=L)。為數據允許信號(輸出、三態), 在CPU訪問記憶體或I/O端口的匯流排週期的後一段時間內,該信號有效,用作系統中匯流排收發器的允許控制信號。

3., 請求/允許匯流排訪問控制信號(雙向)。 在最小方式下,和二引腳分別為HOLD和HLDA。HOLD為保持請求信號(輸入)。

HLDA為保持回應信號(輸出),這是CPU對HOLD信號的回應信號。 4.QS1,QS0

指令佇列狀態信號(輸出)。在最小方式下,QS1、QS0二引腳分別為ALE和。ALE為地址鎖存允許信號(輸出),為中斷回應信號(輸出、三態)。

5.

匯流排優先權鎖定信號(輸出、三態)該信號用來封鎖外部處理器的匯流排請求,當輸出低電平時,外部處理器不能控制匯流排,信號有效由指令LOCK在程式中設置,在最小方式下,引腳為信號。

三、控制匯流排2—同工作方式無關的控制匯流排

─讀控制信號(三態、輸出)

READY─等待狀態控制信號,又稱準備就緒信號(輸入)。當被訪問的部件無法在8086CPU規定的時間內完成數據傳送時,應由該部件向8086CPU發出READY=L(低電平),使8086CPU處於等待狀態,插入一個或幾個等待週期TW,當被訪問的部件可以完成數據傳輸時,被訪問的部件將使READY=H(高電平),8086CPU繼續運行。

INTR─中斷請求信號(輸入)NMI─不可遮罩中斷請求信號(輸入)

─等待測試控制信號(輸入)RESET─複位信號(輸入)。當RESETA為高電平時,系統處於複位狀態,8086CPU停止正在運行的操作,把內部的標誌寄存器FR、段寄存器、指令指針IP以及指令佇列複位到初始化狀態。注意,代碼段寄存器CS的初始化狀態為FFFFH。

四、8086系統的二種配置1.最小方式下的配置2.最大方式下的配置主要部件1.時鐘發生器8284A⑴時鐘信號發生器⑵複位生成電路⑶就緒控制電路2.匯流排鎖存器和匯流排收發器3.匯流排控制器82882.3.280X86引腳信號以Pentium晶片為例引腳信號可分為如下幾大類:1.處理器控制信號,包括: 時鐘CLK

初始化RESET、INIT

中斷INTR、NMI

匯流排仲裁HOLK、HLDA等

數字出錯FERR#.IGNNE# Cache窺視AHOLD,EADS#..FLUSH#等 系統管理SMI#,SMIACT#

執行跟蹤IU,IV,IBT FRCFRCM#,IERRA20M#2.匯流排介面信號,包括:地址信號:A35-A3APCHK#BE7#-BE0#數據信號:D63-D0DP7-DP0PEN#

PCHK#BUSCHK#匯流排週期控制信號:

ADS#D/C#W/R#M/IO#

BRDY#CACHE#LOCK#Cache控制信號:

PWTPCDKEN#NA#

WB/WT#EWBE#匯流排週期定義信號M/IO#D/C#W/R#啟動的匯流排週期 L L L 中斷回應 L L H 停機/暫停 L H L I/O讀 L H H I/O寫 H L L 讀代碼 H L H 保留 H H L 記憶體讀 H H H 記憶體寫 在ADS#有效時定義一個匯流排週期2.3.380X86的時序圖一、8086的時序(最小方式)1.匯流排讀操作2.匯流排寫操作3.中斷回應操作4.匯流排保持與回應

5.系統複位三、80386的時序1.80386的基本匯流排週期

例如80386-16MHz晶片

CLK2為32MHzCLK為16MHz時鐘週期T=62ns80386匯流排操作的最小時間單位為T(又稱匯流排狀態);完成數據傳送的匯流排至少是2T。基本匯流排週期和地址流水線方式的匯流排週期。

3.1尋址方式數據的尋址方式轉移地址的尋址方式保護方式下的尋址方式

3.1尋址方式 指令的尋址方式是指:指令中運算元的表示方式。 指令中的運算元有兩類:一般數據轉移地址3.1.1數據的尋址方式

立即尋址

寄存器尋址

直接尋址

寄存器間接尋址

基址變址尋址

寄存器相對尋址

相對基址變址尋址

帶比例因數的變址尋址

這是指廣義的80x86的尋址方式。其中寄存器尋址彙編後的機器碼最短,執行速度最快。後6種都是記憶體尋址。運算元都是記憶體單元中的數。要訪問記憶體運算元,必須先計算運算元的物理地址。

一、立即尋址 當運算元據就在指令中時,即為“立即尋址”。這種運算元稱為立即數, 在指令中立即數可用16進制數(以H結尾),2進制數(以B結尾)和10進制數(不需加特殊符號)表示, 也可以使用撇號“‘”括起來的ASCII碼表達的字元和字串。 注意,如果16進制數以字母A~F打頭,則必須在前面加上一個“0”,這是組合語言程式的要求。

在立即尋址中,立即數為一常量, 在8086,80286處理器中,可以是位元組(8位數)或字(16位數), 而在80386以上的處理器中,立即數還可以是雙字(32位數)。8位立即數—MOVAL,43H MOVAL,01000011B MOVAL,67 16位立即數—MOVAX,4142H MOVAX,0100000101000010BMOVAX,16706 32位立即數—MOVEAX,12345678H 字元或字串—MOVAL,‘A’

二、寄存器尋址 運算元在寄存器中,即寄存器的內容就是運算元的數據,在組合語言表示的指令中,以寄存器符號表示之,可用作80X86運算元的寄存器如表3-1所示。

表3-1寄存器尋址中的寄存器寄存器運算元字長位元組(8位)名字(16位)雙字(32位)累加器AH,ALAXEAX基址寄存器BH,BLBXEBX計數寄存器CH,CLCXECX數據寄存器DH,DLDXEDX堆疊指針/SPESP基址指針/BPEBP源變址寄存器/SIESI目的變址寄存器/DIEDI代碼段寄存器/CS/數據段寄存器/DS/堆疊段寄存器/SS/E數據段寄存器/ES/F數據段寄存器/FS/G數據段寄存器/GS/

注意:

(1)當指令中的源運算元和目的運算元都是寄存器時,必須採用同樣字長的寄存器,否則彙編時會出錯; (2)兩個運算元不能同時為段寄存器; (3)目的運算元不能是代碼段寄存器,例如指令MOVCS,AX,彙編時沒有出錯,可得機器碼為8EC8H,但執行時會發生問題。三、記憶體尋址1.16位系統中的記憶體尋址(8086)由段基址(SBA,SegmentBaseAddress)和有效地址(EA,EffectiveAddress)組合而成。段基址與段基值 段基值是段基址的前16位(2進制),存放在段寄存器中,在16位處理器中為CS、DS、SS、ES。關鍵是有效地址的計算。 由BX/BP、SI/DI、DISP8/DISP16中任取1,2,3個組合而成。

16位系統中的“物理地址”與“邏輯地址”。 邏輯地址有“段基值”和“偏移地址”兩部分。偏移地址即有效地址。 注意邏輯地址的隱含約定(見第2章)。

80286以及32位微處理器在實地址方式下只能訪問1MB記憶體。2.32位系統中的記憶體尋址

32位處理器可訪問位元組、字和雙字,並有2個更大的存儲單位-段和頁。可變長度(最大4GB)的段,可以同磁片交換資訊,可由若干程式共用。分段是應用程式員的有效工具。頁的容量為4GB,分頁是系統程式員管理一個系統的物理記憶體的有用工具。

32位系統的記憶體採用分段和分頁的工具為系統設計員提供了極大方便。

1)三種記憶體地址定義(1)邏輯地址:虛擬地址。由一個16位的段選擇子和32位偏移量組成。

16位選擇子中13位為“索引值”,每個索引值,可從段描述子表中找到1個描述子(即找到一個存儲段)。 每個表長64KB。可存放8K個描述子(即8K個段), 二種表(GDT、LDT)各可表示8K個描述子,共16K個描述子。 每個任務的虛擬地址可有64TB(246)的邏輯地址。(2)線性地址

32位微處理器晶片內的分段部件將邏輯地址轉換為32位的線性地址空間。(3)物理地址

32位微處理器晶片內的分頁部件將線性地址空間轉換為物理地址空間-即處理器晶片的引腳上出現的地址。若不允許分頁操作,則分段後的32位線性地址即為物理地址。2).32位尋址方式的特點(1)通用寄存器都可用做基址寄存器;(2)通用寄存器除ESP外都可用做變址寄存器;(3)可以1,2,4或8的比例因數對變址值進行換算。

3)9種記憶體尋址方式

32位系統提供了9種記憶體尋址方式,這9種尋址方式提供了運算元所在的存儲單元的有效地址。存儲單元的段基地址和有效地址EA(即偏移地址)組成存儲單元的“線性地址”(LinearAddress),在32位微處理器中,線性地址經過分頁部件(PU,PagingUnit)後生成物理地址。線性地址的形成如圖3-2所示。

段基地址由某一個段寄存器對應的描述子寄存器確定, 而有效地址EA由基址、變址、位移量和比例因數四部分按一定運算式組合而成。

EA=[基址寄存器]+[變址寄存器]×[比例因數]+[位移量]

式中各組成部分的說明如下: (1)位移量 為指令中提供的一個8位或16位值; (2)基址寄存器 通用寄存器都可用作基址寄存器,其內容即基址值, 通常為編譯器所用,指向局部變數區的首地址;

(3)變址寄存器 除ESP之外的所有通用寄存器都可用作變址寄存器,其內容即為變址值, 變址寄存器用於訪問數組元素或字串; (4)比例因數 變址寄存器的值可以乘以1、2、4或8(對應於運算元的長度為1、2、4或8個位元組)的比例因數, 這種尋址方式對於訪問數組或結構特別有用。 9種記憶體尋址方式

#表示基址、變址任取一個3.1.2 轉移地址的尋址方式

控制轉移指令中的運算元是轉移的目的地址,稱為轉移地址。三種尋址方式:直接尋址寄存器尋址記憶體尋址一、直接尋址直接給出轉移地址 以標號(符號地址)表示。 標號的類型屬性有NEAR,FAR,SHORT。二、寄存器尋址 給出寄存器名,寄存器的內容即轉移的目的地址(僅段內用)。三、記憶體尋址 指令中給出記憶體的有效地址EA,轉移去的目的地址在數據段的記憶體單元中。3.1.3保護方式下的尋址方式一、80386的工作方式1.實方式(實地址方式) 系統啟動後,自動進入實方式。 採用類似8086的體系結構。主要特點:(1)尋址方式、記憶體管理、中斷處理同8086;(2)運算元默認為16位,允許訪問32位寄存器;(3)不使用虛擬記憶體, 最大地址範圍仍為1MB, 只採用分段部件,每段最大為64KB;(4)記憶體中保留2個固定的區域;初始化程式區FFFFFH~FFFF0H,中斷向量表0003FFH~00000H。(5)80386指令集中絕大多數可以運行。2.保護方式“保護”是指在執行多任務操作時,對不同任務使用的虛擬記憶體空間進行完全的隔離,保護每個任務順利執行。系統啟動後先進入實方式,在CR0的PE位=1時,完成系統初始化後,立即轉入保護方式。這種方式提供了多任務環境下的各種複雜功能以及對複雜記憶體組織的管理機制。這是80386最常用的方式,只有在此方式下,80386才能發揮其固有的強大功能。主要特點:(1)採用虛擬地址空間、線性地址空間和物理地址空間來描述記憶體;通過描述子、選擇子的數據結構來實現對內存的訪問;(2)強大的尋址空間。每個任務的最大虛擬地址空間可達64TB(246);(3)使用4級保護功能,可實現程式與程式、用戶與用戶、用戶與OS之間的隔離和保護,為多任務OS提供優化支持;(4)既可進行16位運算,又可進行32位運算,只要在保護方式,就能啟動其分頁單元,以支持虛擬記憶體。

3.虛擬8086方式(V86方式) “虛擬8086”是指一個多任務的環境,即模擬多個8086的工作方式,在此方式下,80386被模擬成多個8086處理器並行工作。 虛擬8086方式允許80386將記憶體劃分成若干部分,每一個部分由OS分配給不同的應用程式,而應用程式、數據以及記憶體管理程式等部分則存放在所分配的記憶體中。因此OS可根據“時間上的平均分配”或“優先權”,分給每個應用程式的執行時間。主要特點:(1)可執行原來採用8086書寫的應用程式;(2)段寄存器的用法同實方式;(3)可採用分頁方式,將記憶體以4KB為單位劃分,4KB為一“頁”,比分段劃分要細。從而可以處理較小的應用程式和數據段。

V86下線性地址是20位---1MB空間。但由於線性地址可以通過頁表映射到任何32位物理地址,所以應用程式可在80386現有實際記憶體的任何地方執行。

在80386多任務系統中,可以使其中一個或幾個任務使用V86方式,此時,一個任務所用的全部頁面可以定位於某個物理地址空間,另一個任務的頁面可以定位於其他區域,即每個V86方式下的任務可以轉換到物理記憶體的不同位置,這樣把記憶體虛擬化了。故稱為“虛擬8086方式”。 (4)應用程式在最低特權的3段上運行,80386指令系統中的特權指令不能使用。4.實地址方式與V86方式的主要區別 這是兩種類似8086的工作方式實方式的記憶體管理只採用分段,V86方式既分段又分頁;實方式的最大尋址空間為1MB。V86每個任務可在整個記憶體空間尋址,即1MB的尋址空間可在整個記憶體範圍移動。V86的實際尋址空間為4GB。(3)實方式下微處理器的所有保護機制都不起作用。不支持多任務。

V86方式既可運行8086程式,又支持多任務操作。

V86方式可針對80386保護方式中多任務操作的一個任務。實方式總是針對整個80386系統。

二、保護方式下的存儲管理 兩大機制: 地址轉換機制 保護機制

1. 地址轉換機制 使操作系統可以靈活地把存儲區分配給多個任務。 虛擬地址(邏輯地址)空間可達64TB(246),用戶在程式中所使用的地址都是由“段選擇子”和“偏移量”兩部分組成的虛擬地址。

程式在系統中運行時,由存儲管理機制把虛擬地址轉換成物理地址。

80386以上的處理器中集成有存儲管理部件MMU(MemoryManagementUnit),採用分段機制和分頁機制以實現兩級虛擬-物理地址的轉換。

2. 保護機制 支持兩個主要的保護機制通過給每個任務分配不同的虛擬地址空間,使任務之間完全隔離,每個任務有不同的虛擬地址-物理地址的轉換映射;任務內的保護機制操作,保護操作系統存儲段及特別的處理器寄存器,使其不被應用程式所破壞。

兩種地址空間: 局部地址空間:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论