CH2-微處理器與總線-陳裕國_第1頁
CH2-微處理器與總線-陳裕國_第2頁
CH2-微處理器與總線-陳裕國_第3頁
CH2-微處理器與總線-陳裕國_第4頁
CH2-微處理器與總線-陳裕國_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章微處理器與總線

2.1 微處理器概述

2.28088/8086微處理器 2.380386微處理器 2.4Pentium4微處理器

2.5 總線

思考題、作業(yè)題2.1 微處理器概述微處理器的功能:是計算機系統(tǒng)的核心根據(jù)指令實現(xiàn)各種相應的運算實現(xiàn)數(shù)據(jù)的暫存實現(xiàn)與存儲器和接口的信息通信…….接下頁2.1 微處理器概述微處理器的一般構成:運算器控制器內部寄存器組返回2.2

8088/8086微處理器

微處理器發(fā)展簡況

2.2.18088/8086CPU的特點

2.2.28088的外部引腳及其功能

2.2.38088/8086的內部結構

2.2.48088/8086的存儲器組織

2.2.58088/8086的工作時序返回微處理器發(fā)展簡況

由上個世紀70年代發(fā)展至今,經(jīng)歷了五代,它的劃分是以其數(shù)據(jù)總線的寬度為標志的。①1971,4位微處理器,典型產(chǎn)品是Intel4004;1972,8位微處理器,典型產(chǎn)品是Intel8008;其集成度是2000個晶體管/片。②1973,8位微處理器,典型產(chǎn)品是Intel8080/8085、MC6800、Z80;其集成度是9000晶體管/片。接下頁微處理器發(fā)展簡況

③1978,16位微處理器,典型產(chǎn)品是Intel8086/8088,MC68000,Z8000;集成度為68000個晶體管/片。④1981,32位微處理器,典型產(chǎn)品是Z80000,MC68020,Intel80386;集成度為27.5萬個晶體管/片。⑤1995年以來,,64位微處理器,PentiumPro(高能奔騰),PentiumⅣ,其集成度為2100萬個晶體管/片返回Intel4004返回Intel8086返回Intel80386返回IntelPentium返回2.2.18088/8086CPU的特點采用并行流水線工作方式

——通過設置指令預取隊列實現(xiàn)對內存空間實行分段管理

——將內存分為4個段并設置地址段寄存器,以實現(xiàn)對1MB空間的尋址支持多處理器系統(tǒng)CPU內部結構存儲器尋址部分工作模式返回采用并行流水線工作方式

8086/8088以前的8位微處理器執(zhí)行一段程序是通過重復執(zhí)行以下步驟來完成的。

(圖示)

①從內存中取出一條指令,分析指令操作碼;②讀出一個操作數(shù)(如果指令需要操作數(shù));③執(zhí)行指令;④將結果寫入內存儲器(如果指令需要)。微處理器在取指令、取操作數(shù)和存儲操作數(shù)時要占用總線;分析操作碼和執(zhí)行指令時不占用總線。(下一頁)采用并行流水線工作方式8086/8088

16位微處理器設計成兩個獨立的功能部件:(1)執(zhí)行部件EU;(2)總線接口部件BIU。EU和BIU能相互獨立地工作,能使大部分的取指令和執(zhí)行指令重疊進行。

EU執(zhí)行的是BIU在前一時刻取出的指令;同時,BIU又再取出EU在下一時刻要執(zhí)行的指令。(圖示)返回串行工作方式8088以前的CPU采用串行工作方式:取指令1執(zhí)行指令1分析指令1CPUBUS忙碌忙碌取指令2執(zhí)行指令2分析指令2返回并行工作方式8088CPU采用并行工作方式BIU

EU取指令1執(zhí)行指令1分析指令1CPU取指令2執(zhí)行指令2分析指令2取指令2執(zhí)行指令2分析指令2忙碌忙碌忙碌忙碌忙碌返回8086/8088存儲器的分段管理

CPU內部所有寄存器和ALU都是16位的,尋址范圍最多為64KB,為了能夠直接尋址1M內存空間(20位地址),采用存儲器地址分段的辦法解決。 編程時可把存儲器劃分成段,每段最大可尋址64KB,這樣段內地址可用16位表示。8086/8088把1M存儲空間分成若干邏輯段,每段最多為64KB,各邏輯段的起始地址叫基址;段內任意一個存儲單元的地址,可用相對于基址的偏移量來表示,稱為段內偏移地址。

邏輯地址的表示格式:段基址:偏移地址返回8088/8086CPU的內部結構ALU數(shù)據(jù)總線(16位)AHALBHBLCHCLDHDL堆棧指針

SP基址指針

BP源變址

DI目的變址

SI通用寄存器AXBXCXDX運算寄存器ALU標志寄存器FlagsEU控制系統(tǒng)執(zhí)行單元EU地址總線20位8位隊列總線∑代碼段

CS數(shù)據(jù)段

DS堆棧段

SS附加段

ES指令指針I(yè)P內部暫存器123456數(shù)據(jù)總線8088:8位8086:16位總線控制邏輯指令隊列80888086

段寄存器外部總線總線接口單元BIU返回8088/8086的內部結構—EU執(zhí)行部件(ExecutionUnit—EU)

作用:執(zhí)行指令,與外界的聯(lián)系必須通過總線接口部件BIU

。①EU負責從BIU的指令隊列中取指令,并對指令譯碼;②根據(jù)指令要求,向EU內部各部件發(fā)出控制命令以完成各條指令的功能。

說明:對8086/8088來說,EU完全一樣(下一頁)8088/8086的內部結構—

EU執(zhí)行部件(ExecutionUnit—EU)

EU主要完成兩種類型的操作:①算術運算和邏輯運算;②按指令的尋址方式計算出16位的偏移地址,并將它送到BIU中,形成20位的實際地址。當EU執(zhí)行完一條指令,就再到BIU的指令隊列前部取出BIU預先讀入的指令代碼。(若指令隊列是空的,則EU處于等待狀態(tài);一旦指令隊列中有一條指令,EU立即取出執(zhí)行。)(返回)8088/8086的內部結構—BIU總線接口部件(BusInterfaceUnit—BIU)作用:根據(jù)EU的請求,完成CPU與存儲器、CPU與I/O之間的信息傳送。取指令時,從存儲器指定地址取出指令送入指令隊列排隊;執(zhí)行指令時,根據(jù)EU命令對指定存儲單元或I/O端口存取數(shù)據(jù)。說明:對8086/8088來說,BIU有差別:8088外部數(shù)據(jù)總線是8位;指令隊列是4個指節(jié)。(下一頁)8088/8086的內部結構—BIU總線接口部件(BusInterfaceUnit—BIU)

BIU指令隊列中,若出現(xiàn)兩個空字節(jié)(8088是一個空字節(jié)),而且EU沒有命令BIU對存儲器或I/O端口進行訪問,則BIU自動執(zhí)行總線操作,從存儲器讀出指令并填入指令隊列中,直至滿為止。當指令隊列已填滿指令,而又沒有訪問存儲器或I/O端口的命令,BIU進入空閑狀態(tài)。(返回)8088/8086的內部結構—ALUALU—算術邏輯單元;ALU數(shù)據(jù)總線(16位)和8位隊列總線—用于實現(xiàn)EU內部和EU與BIU之間的通訊;(返回)8088/8086的內部結構

—通用寄存器組通用寄存器組共有8個16位的通用寄存器:①數(shù)據(jù)寄存器②地址指針寄存器和變址寄存器(返回)AHALBHBLCHCLDHDL堆棧指針

SP基址指針

BP源變址

SI目的變址

DI通用寄存器AXBXCXDX8088/8086的內部結構

—通用寄存器組數(shù)據(jù)寄存器AX、BX、CX、DX,用于存放16的數(shù)據(jù)和地址??梢圆鸱殖葾H、AL、BH、BL、CH、CL、DH、DL,用來存放8位數(shù)據(jù),可以獨立尋址,獨立使用。隱含使用:AX作為累加器;

BX作為基址寄存器;CX作為計數(shù)寄存器;DX在乘除運算中做輔助累加器。(返回)AHALBHBLCHCLDHDL堆棧指針

SP基址指針

BP源變址

DI目的變址

SI通用寄存器AXBXCXDX8088/8086的內部結構

—通用寄存器組地址指針寄存器和變址寄存器SP、BP、SI、DI,都是16位寄存器,可以存放數(shù)據(jù),通常用來存放邏輯地址的偏移量,是形成20位物理地址的其中一部分。SP—堆棧指針,是棧頂?shù)钠屏?。BP—基址指針,用于存放位于堆棧段中的一個數(shù)據(jù)區(qū)基址的偏移地址。

SI—源變址寄存器,存放源操作數(shù)地址的偏移量;

DI—目的變址寄存器,存放目的操作數(shù)地址的偏移量;(返回)AHALBHBLCHCLDHDL堆棧指針

SP基址指針

BP源變址

DI目的變址

SI通用寄存器AXBXCXDX8088/8086的內部結構

—段寄存器組段寄存器組(Segmentregister)(返回)代碼段

CS數(shù)據(jù)段

DS堆棧段

SS附加段

ES

段寄存器8086/8088把可直接尋址的1M字節(jié)的內存空間,分成稱為“段”的邏輯區(qū)域,每個“段”的物理長度為64K,而段的起始地址由4個“段寄存器”決定。CS—代碼段寄存器,指向當前的代碼段,指令由此段中取出;DS—數(shù)據(jù)段寄存器,指向當前的數(shù)據(jù)段;

SS—堆棧段寄存器,存放當前的堆棧段的段基址;ES—附加段寄存器,存放附加數(shù)據(jù)段的段基址,在進行字符串操作時,作為目的地址使用。8088/8086的內部結構

—控制寄存器組控制寄存器組①指令指針I(yè)P②標志寄存器(返回)標志寄存器Flags指令指針I(yè)P控制寄存器8088/8086的內部結構

—控制寄存器組①指令指針(InstructionPointer—IP)是一個16位寄存器,總是存放著下一次要取出的指令的偏移地址。8088/8086計算機上電復位后,CS=FFFFH,IP=0000H,8088/8086計算機復位后CPU從物理地址FFFF0H取指令執(zhí)行。用戶程序不能使用該寄存器,它由BIU自動修改。轉移指令、過程調用指令和返回指令會改變IP的內容。(返回)8088/8086的內部結構

—控制寄存器組②標志寄存器(FlagRegister—FR)是一個16寄存器,其中9位作標志位:6個狀態(tài)標志由EU設置,反映ALU算術或邏輯運算結果的某些特征;

3個是控制標志位,用來控制微處理器的某些操作,可以由指令設置。(返回)8088/8086的內部結構

—控制寄存器組6個狀態(tài)標志位CF—進位標志,加法時的最高位(D7或D15)產(chǎn)生進位或減法時最高位出現(xiàn)借位,則CF=1,否則CF=0;AF—輔助進位標志,供BCD碼使用。當D3位出現(xiàn)進位或借位時AF=1,否則AF=0;OF—溢出標志,帶符號數(shù)進行算術運算時,其結果超出了8位或16位的表示范圍,產(chǎn)生溢出,則OF=1,否則OF=0;(下一頁)8088/8086的內部結構

—控制寄存器組6個狀態(tài)標志位ZF—零標志,運算結果各位都為零,則ZF=1,否則ZF=0;SF——符號標志,運算結果為負數(shù)時,即運算結果的最高位為1,則SF=1,否則SF=0;PF—奇偶標志,反映操作結果中低8位“1”的個數(shù)的情況,若有偶數(shù)個“1”,則PF=1,否則PF=0。(下一頁)例:執(zhí)行兩個數(shù)的加法,分析對標志位的影響。標志:

次高位向最高位沒有進位,最高位向前沒有進位∴OF=0

運算結果最高位為0 ∴SF=0

運算結果本身≠0 ∴ZF=0

第三位向第四位無進位 ∴AF=0

低8位中1的個數(shù)為奇數(shù)個∴PF=0

最高位沒有進位∴CF=0 (返回)8088/8086的內部結構

—控制寄存器組3個是控制標志位DF——方向標志,用來控制數(shù)據(jù)串操作指令的步進方向;當設置DF=1時,將以遞減順序對數(shù)據(jù)串中的數(shù)據(jù)進行處理。當設置DF=0時,遞增。

IF—中斷允許標志,當設置IF=1,開中斷,CPU可響應可屏蔽中斷請求;當設置IF=0時,關中斷,CPU不響應可屏蔽中斷請求。TF—陷阱標志,為程序調試而設的。當設置TF=1,CPU處于單步執(zhí)行指令的方式;當設置TF=0時,CPU正常執(zhí)行程序。(返回)8088/8086的存儲器組織存儲器組織存儲器的分段和物理地址的形成(返回)存儲器組織8086/8088系統(tǒng)中的存儲器按字節(jié)編址,CPU有20條地址線,可尋址的最大存儲空間是220=1M,每個字節(jié)對應唯一一個20位的物理地址。表示為:(00000H)=0AH(00001H)=6AH(FFFFFH)=B5H(接下頁)0AH6AH99H5CH00000H00001H00002HFFFFEHFFFFFHB5H存放的數(shù)物理地址存儲器組織當存放的數(shù)據(jù)是一個字時,其低位字節(jié)放在低地址,高位字節(jié)放在高地址,字的地址用低位字節(jié)的地址表示。表示為:(00000H)=6A0AH(00001H)=996AH(FFFFEH)=B55CH(返回)0AH6AH99H5CH00000H00001H00002HFFFFEHFFFFFHB5H存放的數(shù)物理地址存儲器的分段和物理地址的形成

CPU內部所有寄存器和ALU都是16位的,尋址范圍最多為64KB,不能直接尋址1M內存空間。那么16位字長的機器里用什么辦法提供20位地址?

采用存儲器地址分段的辦法解決。我們編程時可把存儲器劃分成段,每段最大可尋址64KB,這樣段內地址可用16位表示。8086/8088把1M存儲空間分成若干邏輯段,每段最多為64KB,各邏輯段的起始地址叫基址;段內任意一個存儲單元的地址,可用相對于基址的偏移量來表示,稱為段內偏移地址。

邏輯地址的表示格式:段基址:偏移地址(接下頁)存儲器的分段和物理地址的形成例如我們可這樣分段:00000~0FFFFH第1段10000~1FFFFH第2段20000~2FFFFH第3段┆E0000~EFFFFH第15段F0000~FFFFFH第16段每段64KB,共16段其實不一定這樣劃分,每段大小可任意,段的起始地址亦可任意。下頁存儲器的分段和物理地址的形成在1MB的存儲器中,每一個存儲單元都有一個唯一的20位地址,稱為該存儲單元的物理地址(又叫實際地址).

邏輯地址,由兩部分組成:段基址和偏移量。

程序中不能使用20位的物理地址,而使用16位邏輯地址。20位物理地址由16位段地址和16位偏移地址行成。

物理地址=段基址×10H+偏移地址例:存儲單元的邏輯地址為2000H:3300H,該存儲單元的物理地址:物理地址=段基址×10H+偏移地址=2000H×10H+3300H=23300H下頁存儲器尋址物理地址由段基地址和偏移地址組成物理地址=段基地址×16+偏移地址0000段首地址×××???×××1904×××???×××偏移地址+物理地址下頁物理地址段基地址=6000H段首地址偏移地址物理地址數(shù)據(jù)段60009H00H12H60000H0009H下頁存儲器的分段和物理地址的形成

一個物理地址可對應多個邏輯地址例:10145H

可對應10100H+45H(1010H:0045H)也可對應10140H+05H(1014H:0005H)前面提到的四個段寄存器CS、DS、SS和ES,有各自的用途:取指令碼時用CS:IP堆棧操作時用SS:SP(返回)2.2.28088的外部引腳及其功能8088CPU最小模式下引腳及其功能最小工作方式最大工作方式(返回)8088CPU引腳(接下頁)8088CPU最小模式下引腳及其功能(1)地址/狀態(tài)引腳A19/S6~A16/S3

是分時復用引腳。

①在總線周期T1內,它們是用來輸出要訪問的存儲器地址的高4位A19~A16;②在總線周期的其他時間內,這4條線作為輸出CPU的狀態(tài)信息。?。㏒6恒為0;ⅱ)S5反映中斷允許標志IF的值;ⅲ)S4和S3組合值用來指示當前正在使用哪個段寄存器。(接下頁)8088CPU最小模式下引腳及其功能

(2)地址引腳A15--A8

:輸出8位地址信號。(3)地址/數(shù)據(jù)引腳(AD7~AD0

是分時復用引腳。

①在總線周期T1內,它們是用來輸出要訪問的存儲器地址或I/O端口地址A7~A0;②在總線周期的其他時間內,作為雙向數(shù)據(jù)總線;

(接下頁)8088CPU最小模式下引腳及其功能(4)控制引腳M/IO:存儲器/IO控制信號,高電平表示訪問I/O,低電平表示訪問存儲器。RD:讀控制(輸出,低電平有效),表示CPU正在讀存儲器或I/O端口輸入;

WR:寫信號(輸出)此引腳低電平時,表示CPU正在執(zhí)行存儲器或I/O的寫操作。

ALE:地址鎖存允許信號(輸出),是CPU在每個總線周期T1發(fā)出的,高電平表示當前地址/數(shù)據(jù)復用線上輸出的是地址信息。(接下頁)8088CPU最小模式下引腳及其功能DEN:數(shù)據(jù)允許信號(輸出),表示CPU準備好接受和發(fā)送數(shù)據(jù)。DT/R:數(shù)據(jù)收發(fā)信號,用其控制數(shù)據(jù)的傳送方向。此引腳為高電平,則CPU進行數(shù)據(jù)發(fā)送;反之,CPU進行數(shù)據(jù)接受;READY:準備好信號(輸入),是由所訪問的存儲器或I/O設備發(fā)來的響應信號,高電平表示數(shù)據(jù)已經(jīng)準備就緒,馬上可以進行一次數(shù)據(jù)傳送。CPU在總線周期T3,對READY進行采樣。(接下頁8088CPU最小模式下引腳及其功能TEST:測試信號(輸入),當CPU執(zhí)行WAIT指令時,每隔5個時鐘周期對次引腳測試一次,是高電平時,CPU繼續(xù)等待,直到出現(xiàn)低電平,CPU才開始執(zhí)行下一條指令。INTR:中斷請求(輸入),是可屏蔽中斷請求信號,當此引腳為高電平時,表示外設提出中斷請求。CPU在每一條指令的最后一個時鐘周期對INTR進行測試。NMI:非屏蔽中斷請求(輸入,上升沿觸發(fā)),當該引腳輸入一個由低電平變高電平的信號時,CPU會在執(zhí)行完當前指令后,響應中斷請求。不受IF影響,不能用指令加以屏蔽(接下頁)8088CPU最小模式下引腳及其功能INTA:中斷響應信號(輸出),是CPU對外設的中斷請求的回答信號。RESET:復位信號(輸入),高電平持續(xù)4個時鐘周期以上有效。復位后,F(xiàn)R、IP、DS、SS、ES和指令隊列清零,(CS)=FFFFH、(IP)=0000H

。MN/MX:最小/最大工作方式(輸入),該引腳接高電平時,表示CPU工作于最小工作方式;反之,是CPU工作于最大工作方式。(接下頁)8088CPU最小模式下引腳及其功能

HOLD:總線保持請求信號(輸入),是系統(tǒng)中其他總線主控部件向CPU發(fā)出的請求占用總線的申請信號。HLDA:總線保持響應信號(輸出),是CPU對請求占用總線使用權的響應信號。(返回)最小工作方式

當MN/MX(33號引腳)接+5V時,8086/8088處于最小工作方式,整個系統(tǒng)只有一片CPU,所有的總線控制信號都由該CPU產(chǎn)生。

(返回)最小模式下的連接示意圖8088CPU??控制總線數(shù)據(jù)總線地址總線地址鎖存數(shù)據(jù)收發(fā)ALE時鐘發(fā)生器接下頁最小模式地址鎖存器總線驅動器(返回)最大工作方式

當MN/MX(33號引腳)接地時,8086/8088處于最大工作方式,系統(tǒng)的總線控制信號由專用的總線控制器8288提供。最大方式用于多處理器和協(xié)處理器的結構中。(返回)最大模式下的連接示意圖8088CPU數(shù)據(jù)總線地址總線地址鎖存數(shù)據(jù)收發(fā)ALE時鐘發(fā)生器總線控制器控制總線接下頁最大模式總線控制器(返回)工作時序

時鐘周期(ClockCycle)8086/8088CPU由外部的一片8284A芯片提供主頻5MHz的時鐘信號,時鐘周期是200ns。一個時鐘周期又稱為一個T狀態(tài)。

總線周期(BusCycle)執(zhí)行一次總線操作所需要的時間稱為總線周期。一個總線周期由4個時鐘周期組成,分別是T1,T2,T3,T4。考慮到CPU的速度,在T3、T4之間插入等待狀態(tài)TW(一個或多個附加的時鐘周期)。(接下頁)工作時序

總線周期有存儲器讀周期、存儲器寫周期、I/O讀周期、I/O寫周期,等。指令周期(BusCycle)執(zhí)行一條指令所需要的時鐘周期數(shù)稱為指令周期。一個指令周期通常包含若干個總線周期。

時序CPU執(zhí)行某個操作時,在時鐘信號的統(tǒng)一控制下,系統(tǒng)總線按一定的時間順序傳送有效信號,這個時間順序就稱為時序。描述CPU操作時序的圖稱為時序圖。

(返回)8088最小模式下讀操作的時序(返回)8088最小模式下寫操作的時序(返回)2.5

總線

2.5.1概述

2.5.2總線的基本功能2.5.3

常用系統(tǒng)總線返回2.5.1概述一、總線:

是一組導線和相關的控制、驅動電路的集合。是計算機系統(tǒng)各部件之間傳輸?shù)刂贰?shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論