K12第5章中央處理器2_第1頁
K12第5章中央處理器2_第2頁
K12第5章中央處理器2_第3頁
K12第5章中央處理器2_第4頁
K12第5章中央處理器2_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第5章中央處理器(CPU)5.1控制器的基本概念5.2時(shí)序系統(tǒng)與控制方式5.3指令的執(zhí)行過程5.4微程序控制原理5.5微程序設(shè)計(jì)舉例5.6硬布線控制器5.7流水線處理技術(shù)15.5微程序設(shè)計(jì)舉例5.5.1系統(tǒng)構(gòu)成5.5.2微指令格式5.5.3微程序流程25.5.1系統(tǒng)構(gòu)成345選用了4片Am2901芯片實(shí)現(xiàn)的接收內(nèi)部總線IB送來的16位數(shù)據(jù)運(yùn)算結(jié)果

①送到地址寄存器AR

②經(jīng)過2個(gè)8位的開關(guān)門電路送到內(nèi)部中線IB運(yùn)算結(jié)果的狀態(tài)信息送到標(biāo)志寄存器FLAG,F(xiàn)LAG的輸出可以經(jīng)過一個(gè)8位的開關(guān)門送到內(nèi)部總線IB。1)運(yùn)算器67微程序的和組合邏輯的兩種控制器主要線路都集中到一片高集成度MACH器件中實(shí)現(xiàn)。在MACH芯片之外,有一片Am2910芯片作為微程序定序器的,2片8位的寄存器用作指令寄存器IR。指令寄存器接收從內(nèi)存讀出并傳送到內(nèi)部總線IB的指令,其全部16位輸出送到MACH芯片的輸入引腳,其低8位內(nèi)容還要經(jīng)一個(gè)開關(guān)門送到內(nèi)部總線IB。微指令字中的32位微命令和組合邏輯控制器的32位控制信號完全相同。2)控制器892片8KB的EEPROM芯片58C65組成8KWROM區(qū),地址范圍:0~1FFFH,固化監(jiān)控程序

2片2KB的SRAM芯片6116組成2KWRAM區(qū),地址范圍:2000H~27FFH,保存用戶程序和用戶數(shù)據(jù),其高端的一些單元作為監(jiān)控程序的數(shù)據(jù)區(qū)用于完成擴(kuò)展內(nèi)存實(shí)驗(yàn)的第二組ROM區(qū),地址范圍由用戶選擇。2路串行接口(INTEL8251),以支持接入PC機(jī)作為教學(xué)計(jì)算機(jī)的仿真終端完成輸入輸出操作;第一個(gè)串口的端口地址分配為80h/81h,第二個(gè)串口的端口地址可以由用戶選擇。作為擴(kuò)展實(shí)驗(yàn)內(nèi)容,也可以通過在一個(gè)40芯的器件插座上插上其他標(biāo)準(zhǔn)接口線路(例如INTEL的8255、8253等)并適當(dāng)接線,完成常用接口線路的輸入輸出操作。3)主存及I/O接口10115.5.2微指令格式微指令字長48位:

順序控制字段16位、操作控制字段32位。B47B46B45B44B43B42B41B408位下址字段B39B38B37B36B35B34B33B32Am2910命令碼CI3----CI0SCC給出2910的/CC的選擇碼12B31B30B29B28B27B26B25B24MRWI2I1I0I8I7B23B22B21B20B19B18B17B16I6I5I4I3B口地址B15B14B13B12B11B10B9B8A口地址SSTB7B6B5B4B3B2B1B0SSHSCIDC1DC2132910的/CC的選擇碼14存儲器和I/O接口控制15ALU完成功能需要的控制信號數(shù)據(jù)來源(I2I1I0

)功能代碼(I5I4I3

)結(jié)果去向(I8I7I6

)A口地址B口地址最低位進(jìn)位控制信號(SCi)狀態(tài)寄存器接收信號(SST)移位控制信號(SSH)160,1,RAM0Q0,RAM15

16位的運(yùn)算器16位機(jī)的運(yùn)算器的完整組成四位標(biāo)志位GAL1右移輸入信號GAL3

SST左移輸入信號GAL3最低位進(jìn)位GAL3CZVSCyF=0OVRF15來自內(nèi)部總線IBSSHSSHSCi[運(yùn)算功能碼]右移控制左移控制RAM15Q15RAM0Q00CQ15/F150CCyRAM001C[/C]方波Y15~0D15~0B口A口I8~I0Cin1718ALU可完成的功能ADDR0,R1;SUBR0,R1?INCR0?MOVR1,1;ADDR0,R1DECR0?ADCR0?SBBR0,R1R0+/R1+1(C)R0+0+1(C)R0+/0+0(C)R0+R1+0(C)R0+0+CR0+/R1+C19ALU最低位進(jìn)位信號最低位進(jìn)位Cin

控制碼SCI應(yīng)用場合舉例

000ADDDEC

101SUBINCC10

ADCSBB

最低位進(jìn)位信號由

SCi

編碼決定20DC1、DC2字段215.5.3微程序流程1)基本指令222)擴(kuò)展指令235.6

硬布線控制器5.6.1硬布線控制器與微程序控制器的比較5.6.2硬布線控制器設(shè)計(jì)步驟24共同點(diǎn)基本功能都是依據(jù)當(dāng)前正在執(zhí)行的指令和它所處的執(zhí)行步驟,形成并提供處在這一時(shí)刻整機(jī)各部件所需要的控制信號。組成部分都有程序計(jì)數(shù)器PC,指令寄存器IR,時(shí)序電路。都分成幾個(gè)執(zhí)行步驟完成每一條指令的具體功能。5.6.1硬布線控制器與微程序控制器的比較25不同點(diǎn)指令執(zhí)行步驟的控制方法不同硬布線控制器是用節(jié)拍發(fā)生器指明指令執(zhí)行步驟(機(jī)器周期、節(jié)拍、工作脈沖)微程序控制器是通過微指令地址的銜接區(qū)分指令執(zhí)行步驟(微周期)提供微操作控制信號的方案不同硬布線控制器是用組合邏輯門電路直接提供控制計(jì)算機(jī)各功能部件協(xié)同運(yùn)行所需的控制信號微程序控制器控制信號是以微程序的方式存放在控制存儲器中,控制信號從控制存儲器中讀出,并經(jīng)過一個(gè)微指令寄存器送到被控制部件。26硬布線控制器微程序控制器結(jié)構(gòu)不規(guī)整、設(shè)計(jì)與實(shí)現(xiàn)復(fù)雜結(jié)構(gòu)規(guī)整、設(shè)計(jì)與實(shí)現(xiàn)簡單不易修改和擴(kuò)充可修改性,易于實(shí)現(xiàn)系列產(chǎn)品運(yùn)行速度快運(yùn)行速度慢特點(diǎn)比較275.6.2硬布線控制器設(shè)計(jì)步驟1)時(shí)序系統(tǒng)2)擬定指令流程(以機(jī)器周期為線索、以指令為線索)3)列出微操作時(shí)間表(電位型微命令、脈沖型微命令)4)綜合分析,歸納出產(chǎn)生每個(gè)微命令的條件,寫出每個(gè)微命令的邏輯表達(dá)式,并進(jìn)行化簡。5)實(shí)現(xiàn)電路285.7流水線處理技術(shù)對于指令的執(zhí)行,CPU可有三種控制方式:

順序方式、重疊方式及流水線方式。5.7.1重疊控制和先行控制5.7.2流水線工作原理295.7.1重疊控制和先行控制1)順序執(zhí)行和重疊控制(1)順序執(zhí)行順序執(zhí)行方式是指各指令間順序串行執(zhí)行,執(zhí)行完第k條指令后,方可取出第k+1條指令分析、執(zhí)行。T=3nt,T=(t取指+t分析+t執(zhí)行)取指K分析K執(zhí)行K取指K+1分析K+1執(zhí)行K+130(2)重疊控制①一次重疊一次重疊執(zhí)行方式是把執(zhí)行第k條指令與取第k+1條指令同時(shí)進(jìn)行。

T=(2*n+1)t

取指K分析K執(zhí)行K取指K+1分析K+1執(zhí)行K+1取指K+2分析K+2執(zhí)行K+231②二次重疊二次重疊執(zhí)行方式是把取第k+1條指令提前到與分析第k條指令同時(shí)進(jìn)行,分析第k+1條指令與執(zhí)行第k條指令同時(shí)進(jìn)行。T=(n+2)t取指K分析K執(zhí)行K取指K+1分析K+1執(zhí)行K+1取指K+2分析K+2執(zhí)行K+232二次重疊執(zhí)行方式必須有獨(dú)立的取指部件、指令分析部件和指令執(zhí)行部件。解決訪問內(nèi)存沖突一般采用三種方法:設(shè)置彼此獨(dú)立編址的指令存儲器和數(shù)據(jù)存儲器,并規(guī)定執(zhí)行指令的結(jié)果只寫到通用寄存器。采用多體交叉存儲結(jié)構(gòu),一個(gè)讀周期同時(shí)可以訪問多個(gè)存儲單元。采用先行控制技術(shù),進(jìn)行指令預(yù)取。332)先行控制在CPU內(nèi)部設(shè)置指令隊(duì)列緩沖器及相應(yīng)的預(yù)取指令計(jì)數(shù)器、隊(duì)列控制邏輯等,就可以預(yù)先將內(nèi)存中的指令取到隊(duì)列緩沖器中,這樣“取指k+1”只需將第k+1條指令由指令隊(duì)列緩沖器取到指令分析部件,無需訪問內(nèi)存。指令預(yù)取得以實(shí)現(xiàn)的原因是指令的執(zhí)行階段比分析階段運(yùn)行使用的時(shí)間長,在執(zhí)行k和分析k+1同時(shí)進(jìn)行時(shí),當(dāng)k+1已分析完成,k執(zhí)行還未完成,此時(shí)若存儲器空閑,就可進(jìn)行指令的預(yù)取。34在先行控制下的一次重疊執(zhí)行方式是把一條指令的執(zhí)行過程分為“分析”和“執(zhí)行”二個(gè)子過程。T=t分析1+[MAX{t分析i+t執(zhí)行i-1}]+t執(zhí)行n

(i=2~n)執(zhí)行K分析K+1分析K執(zhí)行K+1分析K+2執(zhí)行K+2t1t235使各階段的專用控制部件不間斷的工作。

T=t分析1+t執(zhí)行i

(i=1~n)執(zhí)行K分析K+1分析K執(zhí)行K+1分析K+2執(zhí)行K+2分析K+2365.7.2流水線工作原理1)流水線概念流水線技術(shù)是將一個(gè)重復(fù)的處理過程分解為m個(gè)復(fù)雜程度大致相同,處理時(shí)間大致相同的子過程,每一個(gè)子過程由一個(gè)獨(dú)立的功能部件完成。處理對象在實(shí)現(xiàn)各子過程的功能部件連成的通路上連續(xù)流動,在同一時(shí)間,m個(gè)部件同時(shí)進(jìn)行不同的操作完成對不同的指令或數(shù)據(jù),不同子過程的處理。這種并行處理是通過各功能部件在時(shí)間上的重疊實(shí)現(xiàn)的。37流水線方式與順序工作方式相比,硬件設(shè)備增加量少,只是將完成各子過程的功能部件分開,但效率卻相當(dāng)于m套順序處理設(shè)備的并行工作結(jié)果。38如果將一條指令的執(zhí)行過程分解為取指令、指令譯碼、取操作數(shù)和執(zhí)行四個(gè)子過程,每一過程對應(yīng)的部件的輸出端皆有一個(gè)鎖存器,使對應(yīng)的四個(gè)部件相互獨(dú)立工作。設(shè)各部件的執(zhí)行時(shí)間分別為Δt1、Δt2、Δt3、Δt4,且Δt1=Δt2=Δt3=Δt4=Δt,則執(zhí)行指令的速度是順序執(zhí)行的4倍。39時(shí)空圖若部件并行工作,可采用時(shí)空圖描述。橫坐標(biāo)表示時(shí)間,也就是輸入到流水線中各個(gè)任務(wù)在流水線中所經(jīng)過的時(shí)間,當(dāng)各任務(wù)執(zhí)行時(shí)間都相等時(shí),橫坐標(biāo)被分割成相等長度的時(shí)間段縱坐標(biāo)表示空間,也就是流水線的各個(gè)子過程(也稱為功能段)。402)流水線分類(1)按照流水線使用的級別分類一個(gè)計(jì)算機(jī)系統(tǒng)可以在不同的并行等級上采用流水線技術(shù)功能部件級(運(yùn)算操作流水線)指令級(指令流水線)處理器級----又稱為宏流水線,是指程序步驟的并行。41指令流水線是一種將每條指令分解為多個(gè)子過程,并讓各子過程操作重疊,從而實(shí)現(xiàn)n條指令并行處理的技術(shù)。例如:80486CPUPF預(yù)取級D1譯碼級D2譯碼級EX執(zhí)行級WB寫回級42運(yùn)算操作流水線在指令流水線的每一個(gè)部件內(nèi)部還可以采用流水線來實(shí)現(xiàn)。例如:浮點(diǎn)加法器流水線43(2)按照功能分類單功能流水線:只能完成一種固定的功能。實(shí)現(xiàn)多種不同功能,可采用多條單功能流水線。多功能流水線多功能流水線是指流水線的各段可以進(jìn)行不同的連接,在不同時(shí)間內(nèi)或在同一時(shí)間內(nèi),通過不同連接方式實(shí)現(xiàn)不同的功能。44(3)按工作方式分類靜態(tài)流水線在某一時(shí)刻,只允許一個(gè)功能通過流水線單功能流水線一定是靜態(tài)流水線靜態(tài)多功能流水線從一種功能方式變?yōu)榱硪环N,需要先排空流水線。動態(tài)流水線允許幾個(gè)功能同時(shí)通過流水線。動態(tài)流水線一定是多功能流水線。45(4)按流水線結(jié)構(gòu)分類線性流水線設(shè)過程T被分成m個(gè)子過程,可表達(dá)為:T={T1,T2,…,Tm},各子過程之間有一定的優(yōu)先關(guān)系:若i<j,則必須在Ti完成以后,Tj才能開始執(zhí)行。具有這樣線性優(yōu)先關(guān)系的流水線稱為線性流水線。非線性流水線除有串行連接的通路外,還有反饋回路,某些功能段要反復(fù)多次使用。463)衡量流水線性能的主要參數(shù)吞吐率、加速比、效率(1)吞吐率TP吞吐率是指單位時(shí)間內(nèi)流水線所完成的任務(wù)數(shù)量或輸出的結(jié)果數(shù)量。

n:任務(wù)數(shù)

Tn:完成n個(gè)任務(wù)所需的時(shí)間。47若流水線包括m個(gè)子過程,其中第i個(gè)子過程流過對應(yīng)功能部件的時(shí)間為△ti實(shí)際吞吐率最大吞吐率148當(dāng)流水線中各功能段的執(zhí)行時(shí)間不完全相等時(shí),吞吐率主要是由流水線中執(zhí)行時(shí)間最長的那個(gè)功能段來決定,這個(gè)功能段就成了整個(gè)流水線的“瓶頸”。解決瓶頸問題:采取將“瓶頸”部分再細(xì)分重復(fù)設(shè)置瓶頸段,使多個(gè)瓶頸段并行工作49設(shè)流水線中各功能段的執(zhí)行時(shí)間相等皆為△t最大吞吐率

TPmax=1/△t實(shí)際吞吐率

TP=n/[m△t+(n-1)△t]

=TPmax/[1+(m–1)/n]50(2)加速比S加速比是指順序方式完成n個(gè)任務(wù)所需的時(shí)間與采用流水方式后完成n個(gè)任務(wù)所需的時(shí)間之比。設(shè)流水線包括m個(gè)子過程,且各子過程的執(zhí)行時(shí)間相等,皆為△t,則:

S=順序完成n個(gè)任務(wù)所需的時(shí)間/流水完成n個(gè)任務(wù)占用的時(shí)間

=nm△t/[m△t+(n-1)△t]

=nm/[m+(n-1)]

=m/[1+(m-1)/n]當(dāng)n很大時(shí),S=m,即在理想情況下,流水線處理機(jī)的加速比等于流水線所包括的子過程數(shù)。51(3)效率E流水線的效率是指流水線各段的設(shè)備利用率。E=n個(gè)任務(wù)占用的時(shí)空區(qū)/m個(gè)流水段的總的時(shí)空區(qū)

=To/(m·Tn)

To:n個(gè)任務(wù)占用的時(shí)空區(qū)即是順序執(zhí)行n個(gè)任務(wù)所使用的總的時(shí)間

Tn:流水線完成n個(gè)任務(wù)所用的時(shí)間

m·Tn:m段流水線完成n個(gè)任務(wù)的總的時(shí)空區(qū)。52設(shè)流水線中各功能段的執(zhí)行時(shí)間相等

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論