版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
接口與通信技術(shù)會計學(xué)
1所謂總線操作是指發(fā)生在總線上的一些特定的操作。對8088來說,總線操作包括存儲器讀和I/O讀、存儲器寫和I/O寫、中斷響應(yīng)、總線請求及響應(yīng)等幾種操作。此外,如果CPU正在進(jìn)行內(nèi)部操作,暫時沒有對外訪問的任務(wù),總線將處在空閑狀態(tài),這也是總線的一種工作狀態(tài)。第1頁/共102頁完成一次特定的總線操作所需的時間被稱為總線周期(BusCycle)。每個總線周期都伴隨著CPU與外界(存儲器或I/O端口)的一次數(shù)據(jù)交換。8088的典型總線周期由4個時鐘周期構(gòu)成。在每個時鐘周期,8088將進(jìn)行不同的相應(yīng)操作。為了便于描述,我們將這4個時鐘周期分別編號為T1、T2、T3和T4。所以,在CPU控制的總線周期中,一個時鐘周期也稱作一個T狀態(tài)。第2頁/共102頁對8088來說,它允許的最高時鐘頻率為5MHz。但在IBMPC/XT中,提供給8088的時鐘頻率為4.77MHz,即每個時鐘周期約為210ns。因此,在IBMPC/XT中,典型的總線周期是840ns(4T),但可以通過申請來延長總線周期。辦法是通過輸入信號READY的無效(低電平)來申請向總線周期中插入等待狀態(tài)Tw。第3頁/共102頁在IBMPC/XT中,訪問存儲器的標(biāo)準(zhǔn)總線周期為4T,考慮到I/O設(shè)備的速度比存儲器要慢,在I/O訪問總線時序中,訪問I/O的標(biāo)準(zhǔn)總線周期為5T(T1、T2、T3、Tw和T4),I/O訪問采用外電路請求的辦法向總線周期中插入1個Tw。實際上,I/O通道中的設(shè)備還可以通過通道信號I/OCHRDY來請求插入更多的Tw。第4頁/共102頁在微處理器中,指令功能通常被分解為更基本的操作來加以實現(xiàn),如將指令功能分解為:取指并譯碼、讀操作數(shù),數(shù)據(jù)處理和寫操作數(shù)等4個環(huán)節(jié),各環(huán)節(jié)均在1個時鐘周期內(nèi)完成。在這種情況下,我們將完成一條特定指令(包括取指環(huán)節(jié))所需的時間稱為指令周期(InstructionCycle),將完成某個基本操作所需的時間稱為機器周期(MachineCycle)。第5頁/共102頁所以,8088的指令周期為4個時鐘周期,機器周期為1個時鐘周期。由于8088采用流水作業(yè),將取指令和執(zhí)行指令的操作分別交由不同的功能模塊來實現(xiàn),因此兩種操作在時間上可能重疊,第6頁/共102頁即后一條指令的取指和前一條指令的內(nèi)部操作可能在同一時間發(fā)生,這使得我們很難精確地討論每條指令的指令周期,但我們可以精確的討論每個總線操作的總線周期,因為兩個總線操作不可能同時進(jìn)行。因此,在8086/8088系統(tǒng)中,我們不討論指令周期,只討論總線周期。第7頁/共102頁顯然,讀一條指令和執(zhí)行一條指令可能分別需要不同的總線操作和總線周期。例如,8088將3字節(jié)長的“MOV[1600H],AL”讀到指令隊列需要3個“存儲器讀”總線周期,而執(zhí)行它只需要1個“存儲器寫”總線周期。第8頁/共102頁實際上,任何以存儲單元為源操作數(shù)的指令都會產(chǎn)生“存儲器讀”總線周期,任何以存儲單元為目的操作數(shù)的指令都會產(chǎn)生“存儲器寫”總線周期,執(zhí)行IN和OUT指令將分別產(chǎn)生“I/O讀”和“I/O寫”總線周期,而只是在CPU響應(yīng)可屏蔽中斷時才會產(chǎn)生“中斷響應(yīng)”總線周期。無論是取指令還是讀存儲器操作數(shù)都會產(chǎn)生“存儲器讀”總線周期,對總線接口單元BIU來說,其操作完全相同;對執(zhí)行單元EU來說,它們的后續(xù)操作將完全不同。第9頁/共102頁存儲器的讀、寫及I/O的讀、寫是微處理器中最基本和最頻繁使用的4種總線操作,是學(xué)習(xí)的重點。由于不同組態(tài)下總線形成的辦法不同,總線信號構(gòu)成也不盡相同。所以,在討論總線時,既要注意區(qū)分系統(tǒng)的組態(tài),又要注意區(qū)分總線操作的類型。第10頁/共102頁8088CPU在最小組態(tài)模式下的總線時序第11頁/共102頁8088CPU采用同步時序(SynchronousTiming)與外界進(jìn)行數(shù)據(jù)交換,即所有操作均以同一時鐘為基準(zhǔn),各信號的變化不是與該時鐘的某個上升沿相關(guān)聯(lián)就是與某個下降沿相關(guān)聯(lián)。當(dāng)然,互為因果的兩個信號,其發(fā)生時間必然會有一定的延遲。為了突出這種延遲,在時序圖中常有意夸大它以便醒目。第12頁/共102頁在閱讀時序圖時,請讀者注意一下表示:單一信號——用單線表示,如ALE、。它變高時表示高電平,變低時表示低電平;其上升跳變和下降跳變表示信號改變;虛線則表示一種可能的電平狀態(tài)。第13頁/共102頁,。號改變因此,由兩個交叉點所構(gòu)成的六邊尖角框表示一種穩(wěn)定有效的信息組合;當(dāng)雙線變成一條居中的橫線時表示輸出高阻。成組信號——用雙線來表示,如地址、數(shù)據(jù)及其它編碼信號兩線交叉表示成組信第14頁/共102頁示。,果,端為“因”。信號的來源——常通過文字標(biāo)注來加以說明。例如,復(fù)用總線AD7~AD0在存儲器讀總線周期中使用(參見圖4-8):T1階段,CPU向AD7~AD0輸出地址(一個尖角框加“A7~A0”說明)。信號間的因果關(guān)系——用箭頭的曲線或直線來表其中
箭頭所指為“
”另一第15頁/共102頁T2~T4階段,CPU向AD7~AD0輸出高阻(一條居中的橫線加“高阻”說明);同時,被尋址的存儲單元向AD7~AD0輸出數(shù)據(jù)(一個尖角框加“輸入數(shù)據(jù)”說明,因為對CPU來說該數(shù)據(jù)是輸入)。第16頁/共102頁1.最小組態(tài)下的寫總線周期寫總線”周期用來完成對存儲器或I/O端口的一次寫操作。它一般由1個T狀態(tài)組成,編號為T1~T4,如圖4-7所示;必要時可在T3.T4間插入1個至數(shù)個TW。第17頁/共102頁(1)T1狀態(tài)——輸出存儲器地址或I/O地址從T1狀態(tài)開始IO/將有效,并一直保持有效到下個總線周期開始。如果IO/為低電平,則訪問對象為存儲器;復(fù)用總線A19/S6~A16/S3、AD7~AD0及不復(fù)用的總線A15~A8將輸出20位的存儲器地址。如果IO/為高電平,則訪問對象為I/O端口,AD7~AD0和A15~A8將輸出16位的I/O地址,而高4位的地址線A19~A16始終輸出低電平。第18頁/共102頁注意:對8088CPU來說,除有效地址的位數(shù)和IO/信號的電平有所不同外,“存儲器寫”和“I/O寫”的總線周期并沒有什么實質(zhì)上的區(qū)別。所以,圖4-7用一個“寫總線”周期包括了這兩種總線操作,但對IO/信號進(jìn)行了文字說明。也就是說,如果進(jìn)行存儲器寫,則IO/信號應(yīng)該走低;如果進(jìn)行I/O寫,IO/信號應(yīng)該走高。第19頁/共102頁ALE和T1狀態(tài)輸出一個正脈沖,可利用它的后沿(即下跳沿)來鎖存復(fù)用總線上的地址。由于CPU進(jìn)行寫操作,所以從狀態(tài)開始輸出高電平,控制數(shù)據(jù)收發(fā)器向總線方向驅(qū)動數(shù)據(jù),直到下一總線周期開始為止第20頁/共102頁(2)狀態(tài)——輸出控制信號從狀態(tài)開始,所有復(fù)用總線上的地址信號將被撤消;而復(fù)用總線~上出現(xiàn)CPU輸出的數(shù)據(jù);復(fù)用總線~上出現(xiàn)CPU輸出的地址線~將始終輸出地址并保持到本總線周期結(jié)束。隨著CPU輸出數(shù)據(jù)到總線,寫控制將有效。這是,通過地址譯碼已選中特定的存儲單元或端口,在寫信號的控制下它們的門被“打開”,并開始接受總線上的數(shù)據(jù)。第21頁/共102頁等控制信號也持續(xù)有效。如果存儲器或者端口因速度較低,來不及完成數(shù)據(jù)接受,可以將CPU的輸入信號READY信號“拉低”(無效),以便通知CPU需要延長時序。若測到無效,CPU將在和間插入周期。的長度為一個時鐘周期。第22頁/共102頁(3)T3和TW狀態(tài)——總線操作持續(xù),并檢測READ以決定是否延長時序。在狀態(tài),被鎖存的地址以及由CPU提供的數(shù)據(jù)在總線上繼續(xù)維持,和
、、在TW期間,數(shù)據(jù)、地址和控制信號都將延續(xù)時的狀態(tài),這就為存儲器或端口多提供一個時鐘周期的操作時間。在的前沿,CPU將繼續(xù)對READY進(jìn)行測試,如果無效還可繼續(xù)插入;僅在測到READY有效時才轉(zhuǎn)入,并在中結(jié)束數(shù)據(jù)傳送。在圖4-7中,READY始終有效,所以不需要向總線周期中插入。通過插入等待周期,可使CPU與速度差別較大的存儲器或外設(shè)在數(shù)據(jù)傳送中保持同步。第23頁/共102頁(4)狀態(tài)——完成數(shù)據(jù)傳送進(jìn)入狀態(tài),8088對本次數(shù)據(jù)傳送進(jìn)行收尾,并準(zhǔn)備過渡到下一個總線操作。此時,寫控制信號轉(zhuǎn)為無效,于是對存儲器或的寫操作宣告完成;總線控制信號也轉(zhuǎn)為無效,數(shù)據(jù)收發(fā)器不在驅(qū)動數(shù)據(jù),數(shù)據(jù)將在數(shù)據(jù)總線上消失。第24頁/共102頁讀總線周期用來完成對存儲器或端口的一次讀操作。它同樣由~這4個狀態(tài)組成,也可通過READY無效在、間插入若干,其時序如圖4-8所示;與圖4-7的“寫總線”周期相比,“讀總線”周期主要有以下特點:2.最小組態(tài)下的讀總線周期“讀總線”周期用來完成對存儲器或端口第25頁/共102頁(1)在狀態(tài),因為CPU要進(jìn)行讀操作,故將輸出低電平,并一直維持到,一控制數(shù)據(jù)收發(fā)器從總線向CPU方向驅(qū)動數(shù)據(jù)。(2)在~期間,CPU對數(shù)據(jù)總線輸出高阻,表示它不再控制數(shù)據(jù)總線,使得外部數(shù)據(jù)可以發(fā)送到數(shù)據(jù)總線。與此同時,CPU輸出的控制信號和將變?yōu)橛行?前者選通存儲器或端口,將它們提供的數(shù)據(jù)外放到數(shù)據(jù)總線;后者使數(shù)據(jù)收發(fā)器開始驅(qū)動數(shù)據(jù),因為已經(jīng)是低電平,所以它將從總線向CPU驅(qū)動數(shù)據(jù)。第26頁/共102頁(3)在的前沿,CPU對數(shù)據(jù)總線進(jìn)行一次采樣;在學(xué)習(xí)“讀總線”周期時,有關(guān)CPU的采樣以及此時數(shù)據(jù)總線的狀態(tài)是學(xué)習(xí)難點。下面,我們用更通俗的語言來進(jìn)一步加以說明:從T2到T4,CPU一直向數(shù)據(jù)總線輸出高阻,表明數(shù)據(jù)總線已不受它的控制。第27頁/共102頁從T1開始,對存儲單元或I/O的尋址實際上已經(jīng)開始,到T2時,讀信號開始有效,在它的控制下,被尋址的存儲單元或I/O口將“打開大門”,將尋址到的數(shù)據(jù)放到數(shù)據(jù)總線。也就是說,該數(shù)據(jù)在總線上出現(xiàn)的時間以及維持的時間都要受的控制。到T4前沿,總線上的數(shù)據(jù)已經(jīng)穩(wěn)定,于是CPU“按動快門”,將數(shù)據(jù)“攝入”第28頁/共102頁234~
A15
A8
A7~A0
高阻
輸入數(shù)據(jù)
高阻
(高電平)8088CPU在最小組態(tài)模式下的總線時序最小狀態(tài)下的讀總線周期時序T1CLK
T
T
TIO/MA19/S6~A16/S3~A15
A8~AD7
AD0最小組態(tài)下的讀總線周期時序ALEREADYRDDT/-R高時為I/O操作;
低時為存儲操作第29頁/共102頁~
S6
S3~AA19
16DEN最大組態(tài)下的總線時序第30頁/共102頁■在最大組態(tài)模式下,系統(tǒng)得許多控制信號將不再由8088直接提供,而改由總線控制器8288來提供。也就是說,系統(tǒng)總線將由8088和8288共同形成。圖4-9和圖4-10是最大組態(tài)下“寫總線”周期和“讀總線”周期時序圖。將它們與圖4-7和圖4-8中同樣的總線時序相比,可以看出它們十分相似。下面僅說明它們的不同點。第31頁/共102頁(1)在最大組態(tài)下,8088通過引腳~輸出3位狀態(tài)編碼,這些編碼信號被送往總線控制器8288,由8288譯碼出總線周期的各個控制信號。一般情況下,從T1直到T4之前,CPU的~引腳一直輸出它的工作狀態(tài)編碼(參考表4-4);但是到了T4,它將輸出一個固定的編碼“111”,該編碼表明CPU正處在過渡狀態(tài),意味著當(dāng)前總線周期即將結(jié)束,下一個總線周期即將開始。第32頁/共102頁(2)由8288產(chǎn)生的控制信號如下: (存儲器寫控制)和(I/O寫控制)——其時序與最小組態(tài)下的時序類似,但它們開始有效的時刻要比滯后一個時鐘周期。在PC/XT中,這兩個信號未被使用第33頁/共102頁 (超前存儲器寫控制)和(超前I/O口寫控制)——其時序與最小組態(tài)下的WR時序基本相同,它們開始有效的時刻要比和超前一個時鐘周期,因此給寫操作提供了更長的時間。在PC/XT中,這兩個信號被使用,并被重新命名為(存儲器寫)和(I/O寫)。第34頁/共102頁(中斷響應(yīng))——在可屏蔽中斷被相應(yīng)后,它將2次有效,詳見第8.3.2節(jié)。(3)在最大組態(tài)下,由8288輸出的數(shù)據(jù)允許信號DEN為高電平有效,在最小組態(tài)下同樣功能的信號為,低電平有效。第35頁/共102頁最大組態(tài)下的存儲器寫總線周期序
T1
T2
T3
T4S2MWTCA19/S6~A16/S3~A15
A8~AD7
AD0ALE兩種寫命令DT/R-
DENA19
A16S0=
110
A7~A0
輸出數(shù)據(jù)
~
S2
S0~
~
第36頁/共102頁由8288
產(chǎn)生~A15
A8~S6
S3S0=
111AMWTCS2~第37頁/共102頁■
_
第四節(jié)8086微處理器第38頁/共102頁在前面兩節(jié)中已經(jīng)詳細(xì)介紹了Intel8088微處理器,Intel8086與Intel8088兩個CPU具有兼容的指令系統(tǒng),其結(jié)構(gòu)和引腳也非常相似,這一節(jié)將從第3比9頁/頁的角度來介紹8086
,
主要說明二者在結(jié),16位的數(shù)據(jù)/地址復(fù)用總線AD15~AD0。在讀寫存儲器或I/O端口時,既可按字節(jié)進(jìn)行訪問,也可按字(兩個字節(jié))進(jìn)行訪問。(1)8086是一個真正的16位微處理器,其內(nèi)部數(shù)據(jù)處理和外部數(shù)據(jù)總線均為16位擁有第40頁/共102頁(2)8088指令隊列的長度為4個字節(jié),當(dāng)隊列中有一個字節(jié)的空缺時,它就會自動取指;當(dāng)隊列中保存有一個指令字節(jié)時,8088就會執(zhí)行它。8086的指令隊列長度為6個字節(jié),當(dāng)出現(xiàn)兩個字節(jié)的空缺時,它才會自動取指;當(dāng)隊列中保存有兩個指令字節(jié)時,它才開始執(zhí)行指令。第41頁/共102頁這是由于8086的數(shù)據(jù)總線寬度為16位,一次可讀取兩個字節(jié)的緣故。(3)8088在最小組態(tài)下選擇訪問對象的信號為IO/M;8086在最小組太下的對應(yīng)信號為M/IO,前者是為了兼容8085CPU而設(shè)計的。第42頁/共102頁奇地址第1次訪問低8位數(shù)據(jù)(于奇地址)
第2次訪問高8位數(shù)據(jù)(于偶地址)16位(字訪問)8位(字節(jié)訪問)偶地址表2-6
8086
CPU的字節(jié)訪問與字訪問訪問的起始地址奇地址偶地址AD7
~
AD0(低8位)1
0AD7
~AD0(低8位)操作數(shù)有效數(shù)據(jù)出現(xiàn)的
位置AD15
~
AD8(高8位)AD15
~
AD8(高8位)1
0AD15
~
AD0(16位)A00
10
10
0第43頁/共102頁(4)8088的第34號引腳為(最小模式)或HIGH(最大模式);8086的對應(yīng)引腳為/S7(不分模式)。/S7引腳分時復(fù)用:在T1時輸出(ByteHighEnable)信號,在T2~T4,該引腳輸出狀態(tài)信號S7(但系統(tǒng)并4頁0義2頁它的功能)。其中
,
信號低電平有效
,
有效時,表示啟用數(shù)據(jù)總線的高字節(jié)
即在T2~T4階段
,
高8位復(fù)用總線AD15~AD8將傳送數(shù)據(jù)D15~D8
。
由于僅在T1所以系統(tǒng)應(yīng)對它進(jìn)行鎖存。階段出現(xiàn),第45頁/共102頁,據(jù)總線為16位,其存儲器應(yīng)按16位的數(shù)據(jù)寬度來進(jìn)行組織,以提高訪問效率。圖2-13所示為8086的存儲器組織,(5)8088的數(shù)據(jù)總線為8位,其存儲器只能按8位的數(shù)據(jù)寬度來進(jìn)行設(shè)計。8086的數(shù)第46頁/共102頁注意,它由對稱的兩個存儲體(Bank)構(gòu)成,其中一個為偶存儲體,它集中了所有的偶地址單元(0、2、4、…FFFEH),另一個為奇存儲體,它集中了所有的奇地址單元(1、3、5、…FFFFH)。兩個存儲體的長度相同,寬度均為1個字節(jié)。第47頁/共102頁在圖2-13中,A0=0用來選通偶存儲體,用來選通奇存儲體;系統(tǒng)數(shù)據(jù)線的低8位接到偶存儲體,高8位接到奇存儲體;從A1開始的系統(tǒng)地址線連接從A0開始的存儲芯片地址線;雖說8086的存儲器按16位數(shù)據(jù)寬度進(jìn)行組織,但并不意味著它只能進(jìn)行16位的數(shù)據(jù)訪問。第48頁/共102頁請注意訪問的以下特點:在8位訪問時,偶地址單元的訪問數(shù)據(jù)將出現(xiàn)在總線AD7-AD0上,奇地址單元的訪問數(shù)據(jù)將出現(xiàn)在總線AD15-AD8上;在進(jìn)行16位訪問時,除了以上特征外,更強調(diào)地址的“對齊”,因為對偶地址單元的字訪問只需操作一次,而對奇地址的訪問需要操作兩次,即多消耗1倍的時間。第49頁/共102頁_圖2-
13配合8086的存儲器組織第50頁/共102頁演示■(6)I/O端口最好也能按16位的數(shù)據(jù)寬度來進(jìn)行組織,如圖2-14所示,這樣可以提高訪問效率。在圖2-14中,A0=0時將選通偶地址的I/O端口并訪問到低8位I/O數(shù)據(jù),時將選通奇地頁的/共1O端口并訪問到高8位I/O數(shù)據(jù)
,
其訪問規(guī)則見表據(jù)總線AD7-AD0,一般都將I/O端口的地址設(shè)計為偶地址;如果設(shè)計為奇地址,則訪問數(shù)據(jù)將出現(xiàn)在高8位的數(shù)據(jù)總線AD15-AD8上。但實際上,許多外設(shè)是按8位數(shù)據(jù)寬度來設(shè)計的。為了能將8位數(shù)據(jù)引導(dǎo)到低8位的數(shù)第52頁/共102頁第53頁/共102頁圖2
14第五節(jié)80286微處理器第54頁/共102頁1982年,Intel公司推出了高性能的16位微處理器80286。其內(nèi)部集成了約13萬個晶體管,以8MHz的時鐘進(jìn)行工作,它有68條引腳,可封裝成PGA(PinGridArray)或LCC(LeadlessChipCarry)兩種形式,圖4-13所示為它的LCC封裝。與8086相比,80286增加了存儲管理單元(MMU),在引腳結(jié)構(gòu)和工作模式上有以下的特點:第55頁/共102頁(1)它有24根地址線,最多可尋址16MB的實際存儲空間(簡稱實存)和64K的I/O地址空間。(2)其地址總線和數(shù)據(jù)總線完全分離,并形成總線操作的流水作業(yè)。也就是說,當(dāng)前一個總線操作的有效數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上的時候,后一個總線操作的地址也開始送到地址總線。第56頁/共102頁(3)其最高工作時鐘為8MHz,每個時鐘周期為125ns。它的總線周期基本上由Ts(SendStatus)和Tc(PerformCommand)兩個T狀態(tài)(時鐘周期)構(gòu)成,明顯提高了數(shù)據(jù)訪問的速度。(4)具有實地址方式(RealAddressMode)和保護虛地址方式(ProtectedVirtualAddressMode)兩種工作方式,實方式用來兼容8086,此時24個地址信號中只有低20位有效,第57頁/共102頁其尋址空間和尋址方法與8086完全相同。保護方式則充分體現(xiàn)了80286的特色,其主要特點是,24根地址線全部有效,可尋址16MB的物理內(nèi)存;通過存儲管理和保護機構(gòu),可為每個任務(wù)提供多達(dá)1GB的虛擬存儲空間和保護機制,從而有力地支持多用戶、多任務(wù)的操作。第58頁/共102頁80286的多數(shù)引腳信號在功能和命名上與8086相同,對此我們將不再重復(fù)。下面僅介紹功能不同的引腳?!23-A0——24位地址總線。通過這些地址線,80286最多可尋址16MB物理存儲器;但尋址I/O口仍然只使用其中的低16位,故最多可尋址64K個8位I/O端口。第59頁/共102頁D15-D0——16位數(shù)據(jù)總線。80286的數(shù)據(jù)總線與地址總線完全分離,不再分時復(fù)用。一組狀態(tài)輸出信號——包括和(系統(tǒng)狀態(tài),輸出)、COD/(代碼或中斷響應(yīng),輸出)、M/(選擇存儲器或I/O端口,輸出)。以上4個信號的編碼表明CPU和總線的工作狀態(tài)。第60頁/共102頁一組與協(xié)議處理器進(jìn)行聯(lián)絡(luò)的信號——包括PEREQ(協(xié)處理器8087/80287操作數(shù)請求,輸入)信號、PEACK(協(xié)處理器操作數(shù)響應(yīng),輸出)、(協(xié)處理器忙,輸入)、(協(xié)處理器出錯,輸入)CAP——襯底濾波電容輸入引腳
。在該引腳與地之
間必須接一個電容。Vss——
系統(tǒng)的參考地。NC(
No
Connection
)——
內(nèi)部沒有連接的引腳。第61頁/共102頁等。第62頁/共102頁第六節(jié)
介
第六節(jié)
微處理器技術(shù)簡在本章的前面,我們詳細(xì)介紹了Intel8088微處理器,并簡單介紹了8086和80286微處理器。為了進(jìn)一步拓寬讀者的視野,并跟蹤微處理器的技術(shù)發(fā)展,下面簡要介紹若干與微處理器有關(guān)的技術(shù)。第63頁/共102頁微程序和微操作微程序空駛是針對計算機指令系統(tǒng)和硬件控制器的實現(xiàn)所提出的思想。傳統(tǒng)上,計算機的控制器用組合邏輯實現(xiàn),但隨著指令系統(tǒng)功能的增加,硬件的用量大大增加,設(shè)計也因此變得非常復(fù)雜,且不易修改。微程序控制的基本思想是:將指令操作分解為由微指令構(gòu)成的序列,其中每條微指令由若干可同時進(jìn)行的微操作構(gòu)成,而微操作就是在該處理器內(nèi)不能再分解的操作。第64頁/共102頁微程序固化在微處理器內(nèi),操作時,根據(jù)機器代碼不斷取出各種微指令,或順序執(zhí)行,或條件轉(zhuǎn)移,或進(jìn)行循環(huán),從而實現(xiàn)指令所要求的功能。采用這一方法,可有效降低硬件控制器的復(fù)雜程度和非標(biāo)準(zhǔn)性,使指令系統(tǒng)實現(xiàn)指令流水線;也可以將復(fù)雜指令集計算機(CISC)演變?yōu)槲⒉僮饕患壍木喼噶罴嬎銠C(RISC)。第65頁/共102頁當(dāng)前,許多微處理器都采用了微程序控制的辦法,有的微處理器還設(shè)計有比微程序再低一級的毫微程序哈佛結(jié)構(gòu)和普林斯頓結(jié)構(gòu)微處理器在存取程序和數(shù)據(jù)時,有兩種典型的系統(tǒng)結(jié)構(gòu),一種是普林斯頓結(jié)構(gòu),一種是哈佛結(jié)構(gòu)。下面簡單介紹這兩種結(jié)構(gòu)。第66頁/共102頁并同線來分時行存?。ɡ?088)。具有普林斯頓結(jié)構(gòu)的微處理器在取指時不能訪問操作數(shù),在訪問操作數(shù)時不能取指。因此,一條涉及數(shù)據(jù)存取的指令需要使用同一總線來分時進(jìn)行取指、讀操作數(shù)和寫操作數(shù)的操作,這就延長了指令的執(zhí)行時間。普林斯頓結(jié)構(gòu)也稱馮.諾依曼(參見圖2-16a),其特點是將程序和數(shù)據(jù)存儲與同一空間,通過一組總進(jìn)第67頁/共102頁哈佛結(jié)構(gòu)(參見圖2-16b)的特點是將程序和數(shù)據(jù)分別存儲于兩個空間。處理器通過程序總線和數(shù)據(jù)總線來分別訪問指令和數(shù)據(jù),兩個訪問可同時進(jìn)行,因此可從整體上縮短指令的執(zhí)行時間。此外,兩組總線可分別擁有不同的寬度。例如,某單片機的數(shù)據(jù)總線寬度為8位,程序總線的寬度視不同產(chǎn)品分別為12/14/16位。。第68頁/共102頁采用哈佛結(jié)構(gòu)有利于采用長指令或超長指令字(VeryLongInstructionWord,VLIW),使指令功能得到增強。一些嵌入式應(yīng)用的微處理器(包括單片機和數(shù)字信號處理器)多采用哈佛結(jié)構(gòu)。在80486以后的x86微處理器中,其一級/view24/M01/00/2F/wKh2HWNq6yKAKfwNAAgaMum4c_Y62407結(jié)構(gòu)精簡指令集計算機與復(fù)雜指令集計算機隨著計算機功能的增強,CPU的指令系統(tǒng)也變得越來越復(fù)雜。復(fù)雜的指令系統(tǒng)為編程帶來高效和方便,但實現(xiàn)的難度和出錯的幾率也大大增加了。人們在審視程序和指令時發(fā)現(xiàn):第70頁/共102頁在程序中大量使用的是為數(shù)不多的簡單指令,其用量約占全部指令用量的80%;而那些需要大量硬件支持的復(fù)雜指令,雖然提高工作效率和存儲效率,但使用的機會并不多,這就造成了硬件資源的浪費。精簡指令集計算機(ReducedInstructionSetComputer,RISC)的思想就是在這種情況下產(chǎn)生的,與它形成對照的是復(fù)雜指令集計算機(ComplexInstructionSetComputer,CISC)。第71頁/共102頁RISC的目標(biāo)是增加內(nèi)部寄存器的數(shù)量、簡化指令和指令系統(tǒng)。它選取得指令簡單而常用,以減少指令總數(shù)、縮短指令長度和指令周期。這樣,以前由硬件和復(fù)雜指令實現(xiàn)的工作,現(xiàn)在可通過簡單指令的組合來加以實現(xiàn),降低了硬件設(shè)計的難度,有利于進(jìn)一步提高芯片集成度和工作速度。從20世紀(jì)70年代中期開始到現(xiàn)在,RISC處理器的發(fā)展已經(jīng)歷了3代。第72頁/共102頁例如,IBM和Motorola等公司在1991年聯(lián)合研制的PowerPC微處理器就屬于RISC處理器,其中Power的意思是PerformanceOptimizationwithEnhancedRISC。至于Intel的x86微處理器仍屬于CISC,不過從80486開始也引入了RISC技術(shù),主要體現(xiàn)在微程序一級。實際上,新的微處理器一般都體現(xiàn)了RISC和CISC兩種技術(shù)的融合第73頁/共102頁4.流水線技術(shù)所謂流水線(Pipeline)是指這樣一種技術(shù),它將一個復(fù)雜操作分解為若干簡單的、可順序執(zhí)行的子操作(其中,子操作的個數(shù)成為流水線的級或深度)。這些子操作由不同的功能部件(流水段)獨立完成,采用中間機構(gòu)(寄存器或緩沖器)進(jìn)行緩沖,一般按耗時最多的子操作來設(shè)定統(tǒng)一周期(流水周期)。第74頁/共102頁流水線技術(shù)可以用于指令處理、數(shù)據(jù)運算、總線操作等多種場合。以指令流水線為例,8088擁有2級不太典型的指令流水線,即取指和指令的譯碼執(zhí)行,分別由EU單元和BIU單元實施操作,并以指令隊列作為緩沖機構(gòu)。更為典型的是80486的指令流水線,它包括5個流水段,即指令預(yù)取、指令譯碼、地址生成、執(zhí)行指令和結(jié)果寫回。第75頁/共102頁實際上,由于指令間的相關(guān)性,處在后面的指令并不總是能夠“跟進(jìn)”前面的指令。當(dāng)以下情況發(fā)生時,流水線就會發(fā)生“斷流”現(xiàn)象。例如,當(dāng)后面的指令要等前面指令的執(zhí)行結(jié)果來決定程序走向(控制相關(guān)),或者當(dāng)后面的指令要使用前面指令所產(chǎn)生的運算結(jié)果(數(shù)據(jù)相關(guān))時,就會發(fā)生“斷流”現(xiàn)象。如果出現(xiàn)這樣的情況,只要前面的指令沒有最終退出流水線,后面的指令就無法繼續(xù)前行。此外,如果幾條相近的指令使用了相同的寄存器但不存在數(shù)據(jù)相關(guān)(偽相關(guān)),也會影響流水線的正常工作。第76頁/共102頁5.寄存器重命名、分支預(yù)測和亂序執(zhí)行其操作流程大致如下:(1)從指令Cache中取指令并譯碼,從數(shù)據(jù)Cache中獲取操作數(shù),排除偽相關(guān)因素,將譯碼產(chǎn)生的微操作集中到中間緩沖器。(2)分析機構(gòu)分析指令數(shù)據(jù)間的相關(guān)性,通過動態(tài)調(diào)度使相近的指令間不存在數(shù)據(jù)相關(guān),控制機構(gòu)據(jù)此將緩沖器中的微操作分派給各功能單元獨立執(zhí)行。第77頁/共102頁■(3)各微操作執(zhí)行完后在緩沖器中再次集中并恢復(fù)原來的指令順序,最后將結(jié)果寫回目標(biāo)。為保持流水線的充盈,盡量減少停頓,在上述過程中,人們采用以下的主要技術(shù)和方法?!觥ぜ拇嫫髦孛≧egisterRename)——將存在偽相關(guān)關(guān)系的寄存器分別影射到微處理器內(nèi)部的各個物理寄存器來排除偽相關(guān)性。比如,在PentiumPro內(nèi)部提供了40個這樣的物理寄存器。第78頁/共102頁分支預(yù)測(BranchPrediction)和推測執(zhí)行(SpeculativeExecution)——在程序分支發(fā)生之前,先推測它會走哪一個分支,然后按預(yù)測來取指并繼續(xù)在流水線中推進(jìn),這樣,在預(yù)測成功時流水線就不會停頓。分支預(yù)測可采用靜態(tài)和動態(tài)兩種方法。。注意,分支預(yù)測不可能100﹪準(zhǔn)確,在預(yù)測失敗時,還可以想其他辦法來盡量補救。第79頁/共102頁,據(jù)相關(guān)性且操作數(shù)已就緒的指令提前執(zhí)行,這就是亂序執(zhí)行,也稱失序執(zhí)行。在亂序執(zhí)行后,會有一個恢復(fù)過程,經(jīng)過重新排序后,最后提交結(jié)果的順序?qū)⑴c指令的原來的順序相同。·亂序執(zhí)行(Outoforderexecution)——在微操作一級對指令進(jìn)行動態(tài)調(diào)度,將存在數(shù)據(jù)相關(guān)性的指令推遲執(zhí)行將不存在數(shù)第80頁/共102頁6.超標(biāo)量和超流水標(biāo)量(Scalar)和向量(Vector)是兩個相對的數(shù)學(xué)概念。向量由多個分量構(gòu)成,而標(biāo)量只含一個分量。如果計算機能直接對向量進(jìn)行運算那它就是向量計算機,但微機一般只能計算非向量(即標(biāo)量),所以微機屬標(biāo)量計算機。第81頁/共102頁所謂超標(biāo)量(SuperScalar)是指微機能同時處理多個標(biāo)量。通過在微處理器中安排多余流水線,即安排多個指令譯碼和執(zhí)行機構(gòu)可實現(xiàn)超標(biāo)量設(shè)計。例如,在Pentium中安排有U和V兩條流水線,其中U流水線可處理所有微操作,但V流水線只能處理一些簡單的微操作。又如,PentiumPro為3發(fā)超標(biāo)量,即它擁有3個并行運轉(zhuǎn)的指令譯碼器,其中2個為簡單型,一個為復(fù)雜型,在一個時鐘周期內(nèi)平均可產(chǎn)生3個微操作。第82頁/共102頁所謂超流水(SuperPipeline),一般是指深度超過8級的流水線。通過對流水線中的子操作做進(jìn)一步分割,形成更多的流水級,這樣,就可以在單周期內(nèi)使流水線執(zhí)行更多的指令,例如,Pentium4的流水線深達(dá)20級,理論上可以讓20條指令同時執(zhí)行。如果微處理器同時具有這兩種屬性,我們將稱它為超標(biāo)量超流水設(shè)計,例如Intel的Pentium微處理器系列。第83頁/共102頁7.多媒體指令和單指令多數(shù)據(jù)處理我們將信息的載體成為媒體(Media)。在計算機領(lǐng)域,多媒體(Multimedia)一詞是指對各種媒體進(jìn)行綜合運用,包括文字、聲音、圖像、動畫、活動影像等,其中最主要的形式是音頻和視頻。第84頁/共102頁多媒體應(yīng)用的特點是數(shù)據(jù)量特別大。在應(yīng)用中,多媒體信息首先要被轉(zhuǎn)化為數(shù)字,通過編碼、調(diào)制、壓縮等處理,來減少數(shù)據(jù)的總量,使它們易于傳輸和存儲。等到接受和重現(xiàn)時,又要反過來做解碼、解調(diào)、解壓縮等項處理,將數(shù)據(jù)還原或大致還原為它的初始形態(tài)。第85頁/共102頁當(dāng)前,多媒體應(yīng)用已成為微機應(yīng)用的一個重要方向,具體表現(xiàn)在兩類微機的應(yīng)用中。一類是數(shù)字信號處理器(DSP),它以嵌入應(yīng)用的方式進(jìn)行多媒體信息處理,針對不同的應(yīng)用可分別使用長于圖像和通信處理的芯片和長于控制的芯片;另一類是通用微處理器,它通過不斷擴展的多媒體指令集支持對多種媒體數(shù)據(jù)的處理。第86頁/共102頁應(yīng)該指出,雖然多媒體應(yīng)用的數(shù)據(jù)量龐大,但處理方法卻比較單調(diào),大量工作是重復(fù)性的。所以,除了在微處理器的內(nèi)部增加更多的硬件資源(如硬件乘法器、整數(shù)運算單元和浮點運算單元)外,具有多媒體處理特征的微處理器一般都支持單指令多數(shù)據(jù)(SingleInstructionMultipleData,SIMD)的處理結(jié)構(gòu)和處理方法。其做法大致如下:將多個多媒體數(shù)據(jù)包裝整合在一個長字中,用一條指令同時對多個數(shù)據(jù)進(jìn)行操作。第87頁/共102頁8.多處理器系統(tǒng)處理器的基本特征是它可以接受指令并譯碼執(zhí)行。為了進(jìn)一步提高系統(tǒng)的工作速度和工作能力,一些微機系統(tǒng)采用了多處理器結(jié)構(gòu)。例如8088微處理器,當(dāng)它工作在最大組態(tài)時,可以與數(shù)值運算協(xié)處理器8087或I/O協(xié)處理器8089組成主協(xié)式的多處理器系統(tǒng)。幾個這樣的系統(tǒng)還可以通過總線(Multibus)進(jìn)一步連接成多CPU系統(tǒng)第88頁/共102頁9.超級程和多核CPU計算機中被加載的程序代碼及其所占資源被稱為進(jìn)程(Process),該代碼的一段執(zhí)行軌跡被稱為線程(Thread)。每個進(jìn)程至少產(chǎn)生1個線程,也可產(chǎn)生多個線程。二者的區(qū)別是,進(jìn)程是靜態(tài)的,線程是動態(tài)的;進(jìn)程占用的系統(tǒng)資源較多,而線程占用的系統(tǒng)資源較少,屬于同一進(jìn)程的線程分享該進(jìn)程提供的資源。第89頁/共102頁所謂的“多線程”,是指計算機中同時運行著多個線程。超線程(Hyper-Threading)就是一種多線程,它通過增加處理器中邏輯處理單元,使一個物理處理器可以當(dāng)多個邏輯處理器來使用,使得多個線程能同時得到執(zhí)行。這種多線程稱為同時多線程(SimultaneousMultiThreading,SMT),與操作系統(tǒng)用時間片來支持的多線程不同。由于這些線程共享該處理器所提供的執(zhí)行資源(ExecutionResource)第90頁/共102頁如ALU、FPU、L2Cache等,使得CPU對內(nèi)部資源的利用率得到很大的提高。例如,Pentium4的一些高端產(chǎn)品具有超線程功能,它可以同時執(zhí)行兩個線程,使CPU對內(nèi)部執(zhí)行單元的利用率提高40%,這樣CPU就可以在同樣的時鐘周期內(nèi)做更多的工作。應(yīng)該注意,實現(xiàn)這種多線程,需要同時得到CPU、主板、操作系統(tǒng)和應(yīng)用程序的支持。第91頁/共102頁為了提高CPU的工作效率,人們還考慮采用多核CPU的方案,即在一個CPU芯片內(nèi)集成兩個或更多的處理器內(nèi)核,并使它們協(xié)同工作。當(dāng)前,IBM、AMD、Intel公司等都已推出了它們的雙核CPU,估計到2005~2006年,多核CPU將取代單核CPU占據(jù)市場主流。第92頁/共102頁此外,TI公司還將ARM微控制器集成到它的DSP產(chǎn)品中,為WAP(WirelessApplicationProtocol,無線應(yīng)用協(xié)議)手機、個人數(shù)字助理(PDA)等應(yīng)用提供了更好的選擇。事實上采用多CPU后,可以規(guī)避因一味提升工作效率所造成CPU功耗增大和散熱因難的局面。第93頁/共102頁2-
18088一共有根地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《奶制品培訓(xùn)資料》課件
- 《小王子英文》課件
- 《企業(yè)管理概論》課件
- 2024年雷電頌教案
- 尖子生家長會發(fā)言稿
- 單位管理制度匯編大合集【人員管理篇】十篇
- 單位管理制度合并匯編職工管理
- 單位管理制度分享大全【職員管理篇】
- 單位管理制度范文大合集人力資源管理十篇
- 單位管理制度范例合集【職工管理】十篇
- 《國家課程建設(shè)》課件
- 養(yǎng)老機構(gòu)安全隱患排查清單、自查表、治理整改臺賬
- 少數(shù)民族小學(xué)生良好行為習(xí)慣養(yǎng)成的內(nèi)需與外趨的研究課題
- 毛坯房驗房專用表格詳細(xì)
- 江西省特種作業(yè)人員體檢表(共1頁)
- 幼兒園大班主題《我自己》個別化學(xué)習(xí)
- 派出所立體化勤務(wù)指揮室建設(shè)模式探析――以大連市公
- 物資設(shè)備部工作述職報告
- 精品資料(2021-2022年收藏)龍門吊軌道基礎(chǔ)施工方案
- 畫廊與畫家合作協(xié)議書范本
- 全口義齒-印模與模型-課件PPT
評論
0/150
提交評論