版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1Spring2017ZDMC–Lec.#11數(shù)字系統(tǒng)設計
DigitalSystemDesign-----微控制器之-微碼控制器與流水結構Prerequisites預修課程電子電路基礎電子線路C語言HowtolearnthisCourse?Notonlylistening,thinkingandwaiting….ButExercise,Simulation,Practice!課程簡介課程代碼:111C0120參考書閻石,數(shù)字電子技術基礎,第6版,高等教育出版社,2016.王金明著,數(shù)字系統(tǒng)設計與VerilogHDL,電子工業(yè)出版社,第6版補充講義/期中考試前預備Stanford大學108A課程notes.R.H.Katz,G.Borriello,ContemporaryLogicDesign,secondedition,電子工業(yè)出版社,2005.M.M.Mano,數(shù)字設計(第四版),電子工業(yè)出版社,2010./mano3Spring2017ZDMC–Lec.#1OtherCourseInfoWebsite:/wdwd/教學工作/學在浙里,85-671898:數(shù)字系統(tǒng)設計Checkfrequently答疑玉泉信電樓308室/周二周五下午2:30-5:00上課課間、課后均可Email,微信群/數(shù)字系統(tǒng)設計,短信均可Grading(考核)Finalgradeswillbecomputedapproximatelyasfollows:平時(含課程作業(yè)、期中考試+小測驗、Project、出勤等)30%ClassRoomCheckHomeworkSets作業(yè)每周二上交截止期為課后一周內有效Project2projects(1or2membersteam)Project-2可選(總評加分1~5分,但不超過平時成績范圍)FinialExam期末閉卷考試-70%授課時間和地點:2017年春夏學期,周二上午,第1、2節(jié)(08:00-09:35)星期五上午,第3、4節(jié)(9:50-11:25)地點:紫金港西1-520(多)/wdwd/教學工作/學在浙里/數(shù)字系統(tǒng)設計67Spring2017ZDMC–Lec.#1課程結構
數(shù)字理論知識(必備)數(shù)字系統(tǒng)和編碼、邏輯代數(shù)、門電路數(shù)字電路分析與設計組合邏輯電路觸發(fā)器、半導體存貯器、可編程器件時序邏輯電路脈沖電路與接口控制器與數(shù)字系統(tǒng)狀態(tài)機控制器微碼控制器測試和驗證微處理器簡介與設計指令集4位CPU8Spring2017ZDMC–Lec.#11控制單元與數(shù)據(jù)通道(復習)ASM圖給出了設計數(shù)字系統(tǒng)(控制電路和數(shù)據(jù)路徑)需要的所有信息??刂齐娐酚布c數(shù)據(jù)路徑的硬件劃分。數(shù)據(jù)路徑包含了與其操作和邏輯所關聯(lián)的硬件,這些邏輯用于產生提供給控制電路的狀態(tài)信號。數(shù)據(jù)路徑的設計要求在ASM圖的狀態(tài)框和條件框中給出,由在數(shù)據(jù)路徑上標注操作來確定??刂茊卧怂袛?shù)據(jù)路徑中操作控制信號邏輯。控制邏輯有判決框和所需狀態(tài)轉移決定。9Spring2017ZDMC–Lec.#11控制邏輯(復習)數(shù)字系統(tǒng)的設計過程可分成兩個部分:數(shù)據(jù)路徑中的寄存器傳輸設計和控制單元中的控制邏輯設計??刂七壿嬍且粋€有限狀態(tài)機,其米里型和摩爾型輸出控制著數(shù)據(jù)路徑中的操作??刂茊卧妮斎胧峭獠枯斎?,內部狀態(tài)信號從數(shù)據(jù)路徑反饋到控制電路??刂齐娐肥菚r序電路,可以采用前面概括出的時序邏輯設計步驟進行設計?,F(xiàn)在提出的方法是對經典時序電路設計方法的補充。設計方法采用序列寄存器-計數(shù)器和譯碼器采用數(shù)據(jù)選擇器來設計采用一位熱位設計(每個狀態(tài)一個觸發(fā)器)10Spring2017ZDMC–Lec.#111-計數(shù)型控制器將所要求的控制狀態(tài)按一定原則進行編碼分配,就可設計出一種狀態(tài)計數(shù)型的控制器。圖中計數(shù)器含有多個觸發(fā)器,觸發(fā)器的狀態(tài)作為狀態(tài)變量以二進制編碼的形式賦于ASM流圖中的每一個狀態(tài)框,而條件輸出框不予賦值。使用寄存器產生控制狀態(tài),使用譯碼器產生與每個狀態(tài)對應的輸出信號。若使用一位熱位編碼,就不需要使用譯碼器。11Spring2017ZDMC–Lec.#112-采用數(shù)據(jù)選擇器來設計控制器三級電路結構:決定寄存器次態(tài)的數(shù)據(jù)選擇器組成保存現(xiàn)態(tài)的寄存器譯碼器,產生每個控制狀態(tài)對應的輸出設計一個多路選擇器型控制器,完成左圖的控制算法。根據(jù)算法流程圖,得到狀態(tài)轉移表PS(現(xiàn)態(tài))NS(次態(tài))轉換條件編碼狀態(tài)名狀態(tài)名BA0(00)PR10Q11X2(10)RP0003(11)QP0001(01)-P00012Spring2017ZDMC–Lec.#113-定序型控制器一位熱位(One-hot)設計,產生的電路每一個狀態(tài)需要一個觸發(fā)器。每次只有一個觸發(fā)器為1,其余觸發(fā)器都為0。觸發(fā)器的數(shù)目代表了狀態(tài)數(shù),并依賴一組最新的代碼實現(xiàn)狀態(tài)轉換。使用一位熱位的方法會在時序電路中增加很多觸發(fā)器。但是一位熱位設計方法的優(yōu)點是設計簡單,
不需要譯碼器。13Spring2017ZDMC–Lec.#11控制和數(shù)據(jù)通道的交互Algorithmicstatemachineanddatapath(ASMD)chartsweredevelopedtoclarifytheinformationdisplayedbyASMchartsandtoprovideaneffectivetoolfordesigningacontrolunitforagivendatapathunit.AnASMDchartassociateregisteroperationswithstatetransitionsratherthanwithstates.Inpractice,designersusetheASMDcharttowriteVerilogmodelsofthecontrollersandthedatapathandthensynthesizeacircuitdirectlyfromtheVerilogdescription.控制單元數(shù)據(jù)路徑輸出數(shù)據(jù)輸入數(shù)據(jù)輸入信號(外部)控制信號狀態(tài)信號14Spring2017ZDMC–Lec.#11MemoryStructureMemorystructuresaregenerallyspeciallydesignedCouldbuildthemfromflopsorlatchesButtheywouldbebig,slow,andpowerhungrySocircuitdesignerscreatethebasicdesignCreateamodulegeneratorforlogicdesignerstouse15Spring2017ZDMC–Lec.#11Readfrom/WritetoMemoryInterfacetoMemorycanbe:Combinational(asynchronous)Clocked(synchronous)Combinationalmemory:ReaddataisvalidsomedelayafteraddresslinessettleThereisnoclock.Writesaretricky:mustsupplyawritepulseinthemiddleofyouraddressanddatavalidtimesClockedmemory(mostcommon):Memorylookslikeastandardsynchronousdevice.Addressandcontrolsignalsaresampledonrisingedgeofclock,anddataisvalidsomenumberofcycleslater16Spring2017ZDMC–Lec.#11MemoryTiming17Spring2017ZDMC–Lec.#11MemoriesInOurDesignTheywillbecombinationalOtherwisewecan’tcompleteaninstructioninonecycle!Interfaceissimple:Inputs:AddressDataInWriteEn(WriteEnmustbeapulse)Outputs:DataoutRegisterfile:Ithasthreeaddress,twoforreads,andoneforwriteItiscalleda3-port,sinceitcanperform3accessespercycle32DoutDataMemoryWE32Din32Addr18Spring2017ZDMC–Lec.#11Registerfile:FromthetopdownR0R2...R31QQQclk...32MUX3232sel(rs1)5...rd132MUX3232sel(rs2)5...rd2“tworeadports”DDDEnEnEnDEMUX...sel(ws)5WEwd3219Spring2017ZDMC–Lec.#11
RegisterFileSchematicSymbol32rd1RegFile32rd2WE32wd5rs15rs25wsWhydoweneedWE?IfwehadaMIPSregisterfilew/oWE,howcouldweworkaroundit?20Spring2017ZDMC–Lec.#11講義第8章微控制器設計
------------微碼控制器21Spring2017ZDMC–Lec.#118.4微程序(碼)控制器微程序控制的基本思想仿照通常的解題程序,把所有控制信號匯集一起編碼,稱為微指令,存放在一個EPROM存儲單元里。系統(tǒng)運行時,一條一條地讀出這些微指令,解碼產生執(zhí)行部件所需的各種控制信號,控制各邏輯部件執(zhí)行規(guī)定的操作。數(shù)據(jù)總線數(shù)據(jù)流通過BUS總線在各執(zhí)行子系統(tǒng)之間進行流動執(zhí)行部件
ALU、寄存器組、存儲器RAM等控制部件
控制器控制部件通過控制線向執(zhí)行部件發(fā)出各種控制命令,我們把這種控制命令稱為微命令,而執(zhí)行部件接受微命令所執(zhí)行的操作叫作微操作?;咀酉到y(tǒng)(補充)基本子系統(tǒng)是指構成數(shù)字系統(tǒng)時必不可少的邏輯功能部件。算術邏輯運算單元ALU、寄存器、RAM、數(shù)據(jù)總線和控制器。算術邏輯運算單元ALU它是數(shù)字系統(tǒng)中對數(shù)據(jù)進行加工處理的功能部件。ALU的結構(1)最簡單的算術運算單元--加法器22Spring2017ZDMC–Lec.#11ASC為控制信號;A、B是參加運算的兩個二進制數(shù)(n位);S是求和結果信號??刂菩盘朅SC=0時,進行加法運算。B數(shù)經過變反網絡后仍保持原數(shù),即X=B。運算結果為S=A+B。
控制信號ASC=1時,進行減法運算。B數(shù)經過變反網絡后__X=B,S=A+B+1。在這里減法是按2的補碼運算規(guī)則進行的,+1是用ASC=1來體現(xiàn)。此處將減法運算轉化為加法運算,簡化了加法器的設計。算術運算單元最簡單的算術運算單元加法器左邊四個輸出信號是運算時提供的幾個結果狀態(tài)信號,分別需要一個觸發(fā)器進行保存,以便在設計控制器時做為反饋信號。Over---溢出標志信號,當其值為1時,表示運算結果發(fā)生溢出。Sign---表示運算結果的符號(正或負)。Carry---表示最高位的進位輸出信號。Zero---當加法器的求和結果S=0時,標志信號Zero=1。(2)算術邏輯運算單元ALU加法器僅提供加、減、傳送、加1等很少功能,不具備邏輯運算能力。而ALU可以實現(xiàn)多種算術運算和邏輯運算。23Spring2017ZDMC–Lec.#11M為控制器參數(shù)。根據(jù)M的位數(shù)多少,ALU可設計成具有各種運算功能。例如芯片AM2901中,M有3位,因而ALU的功能選擇有8種。又如芯片74LS181中,控制參數(shù)有S3、S2、S1、S0、M共5個,因而組合可以實現(xiàn)16種算術運算和16種邏輯運算。其中加表示算術加,+表示邏輯加。為了設計控制器,ALU運算結果產生的一些特殊狀態(tài)信號需要用一些標志觸發(fā)器保存起來。寄存器堆寄存器的功能加法器和ALU均由門電路組成,它們沒有記憶功能,因此運算的結果需要寄存器保存起來。而參與運算的兩個數(shù)也要取自寄存器。寄存器是數(shù)字系統(tǒng)中必不可少的邏輯子系統(tǒng)。寄存器的分類數(shù)字系統(tǒng)中使用的寄存器大體有兩類:(1)通用寄存器用來暫存參與ALU運算的數(shù)據(jù)或結果。通用寄存器的數(shù)目一般是4、8、16、32個,甚至更多。(2)專用寄存器數(shù)字系統(tǒng)中的專用寄存器根據(jù)不同系統(tǒng)而有所不同。例如ALU的狀態(tài)標志信號寄存器、地址寄存器、數(shù)據(jù)緩沖寄存器、指令寄存器、程序計數(shù)器等等。他們用來存放地址信息和控制器的控制信息。24Spring2017ZDMC–Lec.#11雙端輸出寄存器堆(組)的功能框圖。它有一個數(shù)據(jù)輸入端口,兩個數(shù)據(jù)輸出端口,可以同時從寄存器堆中取出A、B兩個數(shù)。寄存器的選擇由A地址或B地址指定。由于地址線是4位,因而有16個通用寄存器。讀出操作:讀數(shù)時,控制信號RD有效,所以由A地址和B地址指定的兩個寄存器的數(shù)據(jù)分別送出到端口A和端口B。寫入操作:先給出B地址,待存入的數(shù)據(jù)放到數(shù)據(jù)輸入端,當控制信號WR有效時,數(shù)據(jù)按B地址指定的寄存器編號寫入到該寄存器。雙端口通用寄存器堆雙端口通用寄存器堆的結構非常有用它可以與ALU一起構成一個最簡單的運算器。為了時間上進行緩沖,ALU和通用寄存器堆之間加入了兩個鎖存器。25Spring2017ZDMC–Lec.#11存儲器RAM存儲器RAM一個觸發(fā)器存儲一個二進制位(bit)信息;一個寄存器存儲一個字(若干bit)信息;一個寄存器堆也只能存儲有限個字的信息。當存儲大量數(shù)據(jù)時,從經濟和成本上考慮,只能使用隨機讀寫的RAM存儲器。RAM的邏輯結構圖。其中MAR是地址寄存器,通過地址譯碼器譯碼,可選中相應的存儲單元。MDR是數(shù)據(jù)緩沖寄存器,讀出的數(shù)據(jù)或寫入的數(shù)據(jù)都由MDR暫存。存儲容量為2m個字(字長n-bit)。RD和WR是RAM的讀、寫操作控制信號。不論是讀操作還是寫操作,首先要通過地址線向MAR送入地址信息。
26Spring2017ZDMC–Lec.#11讀操作:控制信號RD有效,將地址譯碼器選中的存儲單元的內容讀出到數(shù)據(jù)緩沖寄存器MDR,然后送到數(shù)據(jù)總線上。寫操作:控制信號WR有效,將寫入的數(shù)據(jù)由數(shù)據(jù)總線送到MDR寄存器,然后寫入存儲矩陣。注意:存儲器的讀寫操作是分時進行的:讀時不寫,寫時不讀。另外同MDR連接的n位數(shù)據(jù)線具有雙向傳送功能。數(shù)據(jù)通路(補充)總線結構在數(shù)字系統(tǒng)中,總線是多個邏輯子系統(tǒng)的聯(lián)系紐帶。所謂總線,就是多個信息源分時傳送數(shù)據(jù)到多個目的地的傳送通路。如果總線的始端和終端是固定不變的,即信息只能從始端向終端傳送,稱為單向總線。如果信息的源端與目的端是相對的,稱為雙向總線,它可以實現(xiàn)信息的雙向傳送27Spring2017ZDMC–Lec.#11總線原理示意圖??偩€始端有A1、A2、A3、A4四個信息來源,經總線傳輸后有四個輸出B1、B2、B3、B4。傳送數(shù)據(jù)時,只允許一個數(shù)據(jù)進入總線。換句話說,某一時刻只能傳送A1-A4四個信息源中的一個,這就需要在總線始端對進入總線的信息有選擇地加以控制。同樣,總線終端輸出數(shù)據(jù)要送往何處,也需要有選擇地加以控制。這個任務由控制器來完成。總線結構總線的邏輯結構總線結構的邏輯實現(xiàn)可以實現(xiàn)多路選擇器方式、三態(tài)門方式。多路選擇器方式是單向總線。三態(tài)門方式可以組成雙向總線。28Spring2017ZDMC–Lec.#11三態(tài)門構成的總線。發(fā)送數(shù)據(jù)的三個寄存器A、B、C通過三態(tài)門與總線BUS相連接;接收數(shù)據(jù)的寄存器D、E、F直接接在BUS上,并用寄存器的時鐘端作為接收控制信號。當三態(tài)門的使能控制信號有效時,發(fā)送寄存器的數(shù)據(jù)發(fā)送到BUS上,一旦接收寄存器的接收控制信號有效,便將數(shù)據(jù)打入到某個或幾個寄存器中。當三態(tài)門使能控制信號無效時,該三態(tài)門輸出端呈高阻態(tài),相當于該三態(tài)門與BUS斷開。三態(tài)門的這種特性,保證了總線上信息的分時傳送。雙向數(shù)據(jù)總線的邏輯結構圖。圖中只畫出總線中的兩位。接收控制信號與發(fā)送控制信號由控制器給出,它們分別加到三態(tài)門的使能端。這兩個控制信號不能同時有效。當接收控制信號有效時,左列的三態(tài)門打開,右列的三態(tài)門關閉,因而數(shù)據(jù)由右面?zhèn)魉偷阶竺妗7粗?,當發(fā)送控制信號有效時,右列的三態(tài)門打開,左列的三態(tài)門關閉,因而數(shù)據(jù)由左面?zhèn)魉偷接颐?。?shù)據(jù)通路什么是數(shù)據(jù)通路數(shù)字系統(tǒng)中,各個子系統(tǒng)通過數(shù)據(jù)總線連接形成的數(shù)據(jù)傳送路徑稱為數(shù)據(jù)通路。數(shù)據(jù)通路的設計直接影響到控制器的設計,同時也影響到數(shù)字系統(tǒng)的速度指標和成本。一般來說,處理速度快的數(shù)字系統(tǒng),它的獨立傳送信息的通路較多。但是獨立數(shù)據(jù)傳送通路一旦增加,控制器的設計也就復雜了。因此,在滿足速度指標的前提下,為使數(shù)字系統(tǒng)結構盡量簡單,一般小型系統(tǒng)中多采用單一總線結構。在較大系統(tǒng)中可采用雙總線或三總線結構。29Spring2017ZDMC–Lec.#11數(shù)據(jù)通路結構數(shù)據(jù)通路結構單總線結構的數(shù)據(jù)通路例子,其中有如下子系統(tǒng):
通用寄存器組R:容量16個字,雙端口輸出。暫存器A和B:保存通用寄存器組讀出的數(shù)據(jù)或BUS上來的數(shù)據(jù)。算術邏輯單元ALU:有S3、S2、S1、S0、M五個控制端,以選擇運算類型。寄存器C:保存ALU運算產生的進位信號。RAM隨機讀寫存儲器:讀/寫操作受MRD/MWR控制信號控制。MAR:RAM的專用地址寄存器,寄存器的長度決定RAM的容量。IR:專用寄存器,可存放由RAM讀出的一個特殊數(shù)據(jù)??刂破鳎河脕懋a生數(shù)據(jù)通路中的所有控制信號,它們與各個子系統(tǒng)上的使能控制信號一一對應。BUS:單一數(shù)據(jù)總線,通過三態(tài)門與有關子系統(tǒng)進行連接。30Spring2017ZDMC–Lec.#11對單總線的系統(tǒng)來說,擴充是非常容易的,只要在BUS上增加子系統(tǒng)即可。例如增加一個寄存器時,可將總線BUS接到寄存器的數(shù)據(jù)輸入端,由接收控制信號將數(shù)據(jù)打入。如果該寄存器的數(shù)據(jù)還需要發(fā)送到BUS時,在寄存器的輸出端加上三態(tài)門即可,或者干脆使用帶三態(tài)門輸出的寄存器。圖中所示的數(shù)據(jù)通路中,兩類信息的表示方式是非常明確的:雙線表示數(shù)據(jù)信息,帶箭頭的單線表示控制信號。所有的控制信號由控制器產生,在它們的協(xié)調配合下,數(shù)據(jù)流通過BUS總線在各子系統(tǒng)之間進行流動。31Spring2017ZDMC–Lec.#11微程序控制器的基本原理微命令控制部件通過控制線向執(zhí)行部件發(fā)出各種控制命令微操作執(zhí)行部件接受微命令所執(zhí)行的操作反饋信息執(zhí)行部件通過反饋線向控制部件反映當前操作的結果控制部件根據(jù)執(zhí)行部件的“狀態(tài)”標志下達新的微命令基本周期/機器周期
幾個時鐘周期微指令組成一組實現(xiàn)一定操作功能的微命令的組合讀出微碼指令與執(zhí)行這條微碼指令的時間總和一條微指令中包含若干個微命令分頭并行地控制執(zhí)行部件進行相應的微操作測試判別信息,實現(xiàn)控制算法流程圖的條件分支下一條微指令的地址
32Spring2017ZDMC–Lec.#11微指令的典型結構長條框內的符號×表示一個二進制位(bit)操作控制若干微命令測試判別信息判別字段無效時,下址字段信息
下條微指令的地址判別字段有效時,根據(jù)反饋信息對下址字段信息進行修改,修改后的地址
下條微指令的地址在系統(tǒng)的一個基本狀態(tài)周期(又稱機器周期)中,一組實現(xiàn)一定操作功能的微命令的組合,構成一條微指令??刂破魍ㄟ^一條條控制線向執(zhí)行部件發(fā)出各種控制命令,我們把這些控制命令叫做微命令。而執(zhí)行部件接受微命令所執(zhí)行的操作叫做微操作。微指令的結構說明強調兩點第一,一條微指令的有效持續(xù)時間是系統(tǒng)的一個基本周期,它表示從ROM中讀出微指令與執(zhí)行這條微指令的時間總和。當從ROM中讀出下一條微指令后,當前的這條微指令即失效。第二,一條微指令中包含若干個微命令,它們分頭并行地控制執(zhí)行部件進行相應的微操作。測試判別信息微指令除給出微命令信息外,還應給出測試判別信息。一旦出現(xiàn)此信息,執(zhí)行這條微指令時要對系統(tǒng)的有關標志進行測試,從而實現(xiàn)控制算法流程圖中出現(xiàn)的條件分支。微指令中還包含下一地址字段,該字段將指明ROM中下一條微指令的地址。微指令的典型結構其中微命令字段給出執(zhí)行部件的控制信號:×編碼為1,表示有微命令,×編碼為0表示無微命令。測試判別字段和下一地址字段一起實現(xiàn)順序控制:當測試判別字段無效時(×編碼為0),下址字段信息即是下條微指令的地址;當判別測試字段有效時(其中一個X編碼為1),根據(jù)執(zhí)行部件反饋線上的標志信息對下址字段信息進行修改,修改好的地址即為下條微指令的地址。33Spring2017ZDMC–Lec.#1134Spring2017ZDMC–Lec.#11微碼程序微程序微程序是由若干條微指令組成的序列。微程序相當于前述的流程圖,一條機器指令的功能由若干條微指令組成的序列來解釋和執(zhí)行機器執(zhí)行一條指令的過程執(zhí)行一個相應的微程序的過程微程序實質上是將控制器的控制算法變成了微程序流程圖一般數(shù)字系統(tǒng)而言,微程序實質上就是將控制算法流程圖ASM用EPROM等來實現(xiàn)。微碼程序技術的革命使大型復雜數(shù)字系統(tǒng)控制器的設計發(fā)生了革命性的變化。微程序技術可代替硬件布線的控制技術存有控制代碼的EPROM存儲器,取代門電路和觸發(fā)器等組成的硬件數(shù)字電路網絡通用性35Spring2017ZDMC–Lec.#11微程序控制器的一般結構微程序控制器的結構微程序控制器的結構取決于微碼指令的格式。它由控制存儲器、微地址寄存器、微命令寄存器和地址轉移邏輯幾部分組成。控制存儲器ROM中存放微碼程序,也就是全部的微指令。ROM的容量取決于微指令的總數(shù)。微指令寄存器微地址寄存器和微命令寄存器兩者的總長度即為一條微指令的長度二者合在一起稱為微指令寄存器。微命令寄存器暫存由控制存儲器中讀出的當前微碼指令的控制信息包括微命令控制字段和測試字段,可由8D寄存器組成。
微地址寄存器存放下一條微指令的(默認臨時)地址地址轉移邏輯
組合邏輯電路條件轉移:其輸入是當前微指令的判別測試字段Pi、執(zhí)行部件反饋的“狀態(tài)條件”及時間因素T4。當微程序出現(xiàn)分支時修改微地址寄存器的內容,并按修改好的微地址讀出下條微指令。
假如控制器需要128條微指令,則微地址寄存器長度為7位。ROM的字長取決于微指令長度。如果微指令為32位,則ROM的字長就是32位。實際應用中ROM可采用EPROM或E2PROM、EAROM,用戶寫入和修改微程序比較方便。微地址寄存器暫存由控制存儲器讀出的當前微指令的下址字段信息。它可由帶RD、SD強置端的D觸發(fā)器組成。其中時鐘端和D端配合用做ROM的讀出打入,用SD進行下址修改。36Spring2017ZDMC–Lec.#11控制時序信號一個基本機器周期中的控制時序信號1)用上一周期的T4時間按微地址寄存器內容從ROM中讀一條微指令2)經過一段時間后被讀出,用當前周期的T1時間存入微指令寄存器3)
T2,T3時間用來控制處理、控制執(zhí)行部件進行操作,4)
T4時間修改微地址寄存器中的內容,再讀下一條微指令。一個基本機器周期中的控制時序信號。37Spring2017ZDMC–Lec.#11微程序控制器的設計硬件設計選取存儲器和寄存器,設計地址轉移邏輯微程序編制
需要確定微程序流程圖,即控制算法流程圖。狀態(tài)化簡和狀態(tài)分配已無關緊要狀態(tài)最簡勿需過多考慮以微指令結構為基礎可以編制任何所要求的微程序可長可短,靈活自如,且能實現(xiàn)多路并行分支微程序流程圖確定使用微指令格式將微程序轉化為二進制代碼微程序控制器的設計步驟(1)設計微程序就是確定微程序流程圖,也就是控制算法流程圖。微程序流程圖中的一條微指令,相當于ASM流程圖中的一個狀態(tài)。控制存儲器中一個地址轉移到下一個地址是隨意的,靈活的。因此增加微指令或減少微指令不必改動硬件。能實現(xiàn)多路并行轉移,而不受“狀態(tài)分配”的限制。(2)確定微指令格式微指令格式中的操作控制字段取決于執(zhí)行部件的子系統(tǒng)需要多少微指令。假定采用直接控制方式,執(zhí)行部件需要10個微命令,則操作控制字段需要10位。測試判別字段取決于微程序流程圖中有多少處分支轉移。假定有3處分支,則測試判別字段需要3位。下址字段取決于微程序流程圖的規(guī)模。假定微程序共用50條微指令,則下址字段至少需要6位。這是因為ROM地址譯碼時,26=64,6位地址可容納64條微指令。38Spring2017ZDMC–Lec.#11微程序控制器的設計步驟(2)(3)將微程序編譯成二進制代碼根據(jù)確定的微指令格式,將微程序流程圖中的每一條指令編譯成二進制代碼,這項工作可由人工完成。(4)微程序寫入控制存儲器將二進制代碼的微程序寫入E2PROM中。(5)設計硬件電路硬件電路包括微地址寄存器、微命令寄存器和地址轉移邏輯三部分。前兩部分可選用適當?shù)臉藴始拇嫫餍酒ㄈ?4LS36、74LS273等)。地址轉移邏輯的輸入是測試判斷標志Pi、狀態(tài)條件和時間因素Tj(讀ROM時間),先寫出邏輯表達式,然后用門電路芯片實現(xiàn)。39Spring2017ZDMC–Lec.#1140Spring2017ZDMC–Lec.#11【例8.11】按照圖8.33數(shù)據(jù)通路,設計微指令格式,確定微程序控制器的基本方案。假定測試判別字段有2位,下址字段有4位。41Spring2017ZDMC–Lec.#11數(shù)據(jù)通路和控制器(放大圖)ALU=74LS181寄存器A和B選用74LS273八D觸發(fā)器三態(tài)緩沖器采用74LS244寄存器C選用74LS74三態(tài)緩沖器采用74LS244選用74LS273八D觸發(fā)器RAM選用2114/2864型通用寄存器選用74LS170/670型組合而成42Spring2017ZDMC–Lec.#11數(shù)據(jù)通路數(shù)據(jù)總線聯(lián)結形成的數(shù)據(jù)傳送路徑獨立傳送信息的通路數(shù)量
性能和復雜度子系統(tǒng)暫存器A,B16字的通用寄存器組ALU存儲器RAM地址寄存器MAR總線BUS和三態(tài)門數(shù)據(jù)總線43Spring2017ZDMC–Lec.#11數(shù)據(jù)通路分析通用寄存器組雙輸出口運算器BUS寄存器組A輸出總線BUS輸出通過三態(tài)門連接RAM本身帶三態(tài),雙向數(shù)據(jù)信息雙線控制信息帶箭頭單線44Spring2017ZDMC–Lec.#11ALU算術運算單元74LS181S0,S1,S2,S3功能選擇端和M實現(xiàn)16種邏輯操作和算術運算加,減,與,或,異或,取反等M工作方式選擇當工作方式控制端(M)為低電平時,執(zhí)行算術運算當工作方式控制端(M)為高電平時,執(zhí)行邏輯運算+1進位輸入C進位輸出45Spring2017ZDMC–Lec.#114類數(shù)據(jù)操作1)Ri+RjRjRDA
以A地址讀寄存器堆RDB以B地址讀寄存器堆WRB以B地址寫寄存器堆2)RjRAMLDAR暫存器B為RAM地址打入MARRDB+MWR寫入RAM3)RAMRjMRD讀出RAM+WRB寫入R4)Ri+RAMRAMRDA+MRD(地址已有)+MWR46Spring2017ZDMC–Lec.#11微指令格式所有的控制信號均標注在邏輯子系統(tǒng)的側面,共計有26個因此微命令字段長度為26位加上測試判別字段2位微地址字段4位微指令長度共計32位根據(jù)微指令格式,確定EPROM的容量為16個存儲單元,字長32位。微地址寄存器4位,微命令寄存器28位。47Spring2017ZDMC–Lec.#11【例8.12】數(shù)字比較系統(tǒng)硬件框圖及ASM流程圖如圖8.26所示,請設計其微程序控制器。解微程序流程圖ASM流程圖硬件框圖ASM流程圖變成微程序流程圖
48Spring2017ZDMC–Lec.#11解(1)確定地址每一個狀態(tài)框變成一條微指令四條微指令,令其地址為0000,0100,0101,1000,它們是任意安排的,用4位二進制碼表示的微地址。按4位地址推算EPROM的存儲容量為24=16個存儲單元。(2)確定微指令格式本系統(tǒng)中的控制信號只有3個(LDRA、LDRB,CAP),所以微命令字段為3位;加上判別測試字段1位;下地址字段4位;故微指令字長度為8位。49Spring2017ZDMC–Lec.#11微指令執(zhí)行(3)確定地址轉移邏輯表達式分支轉移第4條微指令執(zhí)行后出現(xiàn)判別測試框(第4條微指令)判別測試標志P(1)P(1)=1,根據(jù)轉移條件(A>B)來決定下條微指令(A>B)=0,執(zhí)行第2條微指令(微地址0100)(A>B)=1,執(zhí)行第3條微指令(微地址0101)。這兩條微指令地址的差別僅在于最低位上是1還是0因此地址轉移邏輯表達式為:其中:A>B是比較器的輸出信號,(A>B)=1表示A數(shù)大于B數(shù),(A>B)=0表示A數(shù)小于等于B數(shù)。用機器周期的T3節(jié)拍修改微地址并讀EPROM,再用下一周期的T1節(jié)拍打入到微指令寄存器中。當微程序出現(xiàn)分支時下個微地址的安排要考慮修改的方便性
注,微程序不出現(xiàn)分支時下個微地址,在E2PROM存儲容量的范圍內可任意設計μA3=P1·(A>B)·T350Spring2017ZDMC–Lec.#11(4)硬件電路微地址寄存器采用帶有強置端的雙D觸發(fā)器通過uA3觸發(fā)器SD端置“1”的方法可將其修改為1
其他3個觸發(fā)器不做修改其中LDRB、LDRA是脈沖控制信號(持續(xù)時間T2),CAP是電位控制信號(持續(xù)時間一個機器周期)。51Spring2017ZDMC–Lec.#11(5)微程序當前微地址(存儲器位置)微指令二進制代碼微命令判別下地址000010000100…xxxxxxxx010001000101010110001000…xxxxxxxx100000110100控制存儲器E2PROM中存放由4條微指令組成的微程序,它們是按微指令格式轉換的二進制代碼表8.7微程序代碼不能
100000100101在微程序無分支的情況下,下地址可按EPROM容量隨意填寫,但必須限制在微地址寄存器指定的范圍內,且不允許兩條微指令使用同一個微地址?!纠?.13】52Spring2017ZDMC–Lec.#11采用例8.11的數(shù)據(jù)通路和圖8.32所示的微指令格式,編制如下四種基本操作的微程序流程圖,并完成微地址轉移邏輯的設計。53Spring2017ZDMC–Lec.#11【例8.13】采用例8.11的數(shù)據(jù)通路和圖8.32所示的微指令格式,編制如下四種基本操作的微程序流程圖,并完成微地址轉移邏輯的設計。
00RAM
Rj(2)
(從RAM中取數(shù)至R2)
01Ri(3)加Rj(4)
Rj(4) (R3,R4中二數(shù)算術加)10Ri(6)
RAM
(R6中的數(shù)存入RAM)
11Ri(7)⊕Rj(8)
Rj(8)(R7,R8中二數(shù)邏輯異)假設條件:(1)四種基本操作分別用4個狀態(tài)的編碼(00,01,10,11)來表示,該編碼值由IR0和IR1兩個觸發(fā)器組成的計數(shù)器提供。對應計數(shù)器的一種狀態(tài),則執(zhí)行相應的一種基本操作;(2)每當一種基本操作結束時,計數(shù)器進行加數(shù)而改變狀態(tài)。但操作開始前計數(shù)器的初始狀態(tài)是隨機的,這意味著四種操作執(zhí)行的順序可認為是隨意的,但時間上必須是連續(xù)的;(3)通用寄存器的選擇也是隨意的;(4)向RAM中取數(shù)、存數(shù)的地址均由暫存器B給出。54Spring2017ZDMC–Lec.#11解分析:(1)微程序設計微程序流程圖1)對應四種基本操作,我們需要設計4個微程序2)具體執(zhí)行某種操作前,微程序流程圖的分支,由P1測試來完成,測試的狀態(tài)條件是IR0,IR1的內容3)四個基本操作執(zhí)行過程中不需要再進行測試,這四個微程序不再出現(xiàn)分支情況。每一個方框表示一條微指令右上角的二進制碼表示:當前微指令的地址;右下角的數(shù)字表示:下條微指令的地址(在微程序無分支情況下)或待修改的地址(在微程序有分支情況下)。最上面的第一條入口地址為0000,這通過系統(tǒng)啟動時將微地址寄存器清零來給出。第一條微指令的下地址1000是一個待修改的地址,在P1測試時,根據(jù)IR0、IR1的狀態(tài)來修改微地址寄存器的最后兩位觸發(fā)器,從而得出1000、1001、1010、1011四個微地址,實現(xiàn)了微程序的四路并行轉移。最下面一條微指令是一條公用微指令,用來進行計數(shù)器修改加1。由于它的下地址是0000,因而又返回到第一條微指令,從而實現(xiàn)了微程序的連續(xù)運行。55Spring2017ZDMC–Lec.#11分析:(2)微地址轉移邏輯設計每條微指令的框內表示數(shù)據(jù)通路的選擇操作是用微指令的操作控制字段發(fā)出的微命令來實現(xiàn)的。從時間上講,每條微指令的持續(xù)時間均為一個機器周期(本例中由T1、T2、T3、T4四個節(jié)拍時間組成,4個時鐘周期組成一個機器周期)。每一條微指令只完成一個機器周期時間所允許的微操作。而幾條微指令組合在一起,可完成更多的操作。可完成課題任務所要求的基本操作。微地址轉移邏輯用兩個三輸入與非門實現(xiàn)其中P1為微指令的測試判別標志,IR0,IR1為計數(shù)器二觸發(fā)器的狀態(tài)值,T4表示時鐘周期時間。
表達式說明,當P1測試時,在T4時刻按計數(shù)器IR0、IR1的內容修改μAR3和μAR4,并按修改了的微地址寄存器內容讀出下條微指令。
56Spring2017ZDMC–Lec.#11(3)微程序編譯成二進制代碼當前微地址八進制表示的微命令P2P1下一微地址000000000000001100*0*000100000026000011000103100004400001100011001130000000100010037400001000011001012610010400001100110000000002000000…………1000324000004000001100100171640000001010103240000040000111011001737000000101不允許兩條微指令使用同一個微地址。57Spring2017ZDMC–Lec.#11數(shù)據(jù)通路和控制器58Spring2017ZDMC–Lec.#11小結微程序控制的主要優(yōu)點是規(guī)范和靈活易于實現(xiàn)多路并行分支易于系統(tǒng)擴展系統(tǒng)越復雜,越宜適用微程序控制方法進行設計只不過是微指令的重復應用EPROM只不過是增加了一些存儲單元而微指令寄存器并不改變缺點:對一些非常簡單的系統(tǒng)來說采用微程序控制方法從成本上來講不一定合算。從速度上講微程序控制器的工作速度不如硬布線邏輯控制器快。59Spring2017ZDMC–Lec.#11課堂測驗如何計量寄存器中1的個數(shù),采用數(shù)據(jù)選擇器法實現(xiàn)控制器。畫出數(shù)字系統(tǒng)電路框圖和ASM圖。設計的數(shù)字系統(tǒng)包括兩個寄存器R1和R2,以及一個觸發(fā)器E。系統(tǒng)對1的個數(shù)進行計量,將計數(shù)值預置到寄存器R1,設置寄存器R2等于這個數(shù)值。控制器的外部輸入信號Start啟動狀態(tài)機的操作,Ready為狀態(tài)機的狀態(tài)指示??刂破鞑捎卯惒綇臀?,時鐘正邊沿觸發(fā)??刂破鬟€接收兩個從數(shù)據(jù)路徑來的狀態(tài)輸入E和Zero。這些信號表明最高有效位的寄存器數(shù)據(jù)是0。E是觸發(fā)器輸出,Zero是檢測寄存器R1是否全0的結果輸出。當R1等于0(即R1中不包含1)時,輸出Zero=1??刂茊卧獢?shù)據(jù)路徑輸出數(shù)據(jù)輸入數(shù)據(jù)輸入信號(外部)控制信號狀態(tài)信號60Spring2017ZDMC–Lec.#11Microprogramming(課后參考)HowtoorganizethecontrolsignalsImplementcontrolsignalsbystoring1'sand0'sinaROMHorizontalvs.verticalmicroprogramming
Horizontal:1ROMoutputforeachcontrolsignalVertical:encodedcontrolsignalsinROM,decodedexternallysomemutuallyexclusivesignalscanbecombinedhelpsreduceROMlength61Spring2017ZDMC–Lec.#11MicroprogrammingRegisterTransfer/Microoperations14RegisterTransferoperationsbecome22Microoperations:
PC
ABUSIR
ABUSMBR
ABUSRBUS
ACAC
ALUAMBUS
ALUBALUADDALUPASSBMAR
AddressBusMBR
DataBusABUS
IR
ABUS
MARDataBus
MBRRBUS
MBRMBR
MBUS0
PCPC+1
PCABUS
PCRead/WriteRequestAC
RBUSALUResult
RBUS62Spring2017ZDMC–Lec.#11HorizontalMicroprogramming(參考)HorizontalBranchSequencer
,Muxbits4x4NextStatebits22Controloperationbits40bitstotalNextStatesA0A1A2A3a
muxb
muxALUPASSBMAR
AddressBusMBR
DataBusABUS
IRABUS
MARDataBus
MBRRBUS
MBRMBR
MBUSPC
ABUSIR
ABUSMBR
ABUSRBUS
ACAC
ALUAMBUS
ALUBALUADD0
PCPC+1
PCABUS
PCRead/WriteRequestAC
RBUSALUResult
RBUS63Spring2017ZDMC–Lec.#11HorizontalMicroprogrammingMooreProcessorROMAlphainputs:0=Wait,1=IR<15>Betainputs:0=AC<15>,1=IR<14>CurrentState(Address)RES(0000)IF0(0001)IF1(0010)IF2(0011)IF3(0100)OD(0101)LD0(0110)LD1(0111)LD2(1000)ST0(1001)ST1(1010)AD0(1011)AD1(1100)AD2(1101)BR0(1110)BR1(1111)ABUS
IRABUS
MARDataBus
MBRRBUS
MBRMBR
MBUS0
PCPC+1
PCABUS
PCRead/WriteRequestAC
RBUSALUResult
RBUS00000000001100000000000000000100000100100010010001000110011110000001101000011100110100010001000100010010001001000100100101111000000110100001110011010001111100010001001000110011010110110111011100011010101011001100000100010001000100100011001101011110011101110001101010101100110000011111000101000000000000000000001001010001000010000000000000000000100001000000000000000100000000001000010000000000000001000000000010000000000100010010100000000000001000000000100000000000010000100101000000010001000010000000000001000000000000001000010010000000000000000001000100001000000000001000010000010001001010000000000001000000NextStatesA0A1A2A3a
muxb
mux01000000000000000000000000000001ALUADDALUPASSBMAR
AddressBusMBR
DataBusPC
ABUSIR
ABUSMBR
ABUSRBUS
ACAC
ALUAMBUS
ALUB64Spring2017ZDMC–Lec.#11HorizontalMicroprogrammingAdvantages:
mostflexibility--completeparallelaccesstodatapathcontrolpointsDisadvantages:verylongcontrolwords--100+bitsforrealprocessorsOutputEncodings:GroupmutuallyexclusivesignalsUseexternallogictodecodeNOTE:Notallmicrooperationcombinationsmakesense!Example:
0
PC,PC+1
PC,ABUS
PCmutuallyexclusiveSaveROMbitwithexternal2:4Decoder65Spring2017ZDMC–Lec.#11HorizontalMicroprogrammingPartiallyEncodedControlOutputs66Spring2017ZDMC–Lec.#11MoreextensiveencodingtoreduceROMwordlengthTypicallyusemultiplemicrowordformats:Horizontalmicrocode--nextstate+controlbitsinsamewordSeparateformatsforcontroloutputsand"branchjumps"mayrequireseveralmicrowordsinasequencetoimplementsamefunctionassinglehorizontalwordIntheextreme,verymuchlikeassemblylanguageprogrammingVerticalMicroprogramming(參考)67Spring2017ZDMC–Lec.#11VerticalMicroprogrammingBranchJumpCompareindicatedsignalto0or1RegisterTransferSource,Destination,Operation10ROMBits68Spring2017ZDMC–Lec.#11VerticalMicroprogrammingROMADDRESS SYMBOLICCONTENTS BINARYCONTENTS 000000 RES RT PC
MAR,PC+1
PC 0 001 011 100 000001 IF0 RT MAR
M,Read 0 100 000 101 000010 BJ Wait=0,IF0 1 000 000 001 000011 IF1 RT MAR
M,M
MBR,Read 0 100 100 101 000100 BJ Wait=1,IF1 1 001 000 011 000101 IF2 RT MBR
IR 0 011 010 000 000110 BJ Wait=0,IF2 1 000 000 101 000111 RT IR
MAR 0 010 011 000 001000 OD BJ IR<15>=1,OD1 1 101 010 101 001001 BJ IR<14>=1,ST0 1 111 010 000 001010 LD0 RT MAR
M,Read 0 100 000 101 001011 LD1 RT MAR
M,M
MBR,Read 0 100 100 101 001100 BJ Wait=1,LD1 1 001 001 011 001101 LD2 RT MBR
AC 0 110 001 010 001110 BJ Wait=0,RES 1 000 000 000 001111 BJ Wait=1,RES 1 001 000 00069Spring2017ZDMC–Lec.#11VerticalMicroprogrammingROMADDRESS SYMBOLICCONTENTS BINARYCONTENTS 010000 ST0 RT AC
MBR 0 101 101 000 010001 RT MAR
M,MBR
M,Write 0 100 111 110 010010 ST1 RT MAR
M,MBR
M,Write 0 100 111 110 010011 BJ Wait=0,RES 1 000 000 000 010100 BJ Wait=1,ST1 1 001 010 010 010101 OD1 BJ IR<14>=1,BR0 1 111 011 101 010110 AD0 RT MAR
M,Read 0 100 000 101 010111 AD1 RT MAR
M,M
MBR,Read 0 100 100 101 011000 BJ Wait=1,AD1 1 001 010 111 011001 AD2 RT AC+MBR
AC 0 110 001 001 011010 BJ Wait=0,RES 1 000 000 000 011011 BJ Wait=1,RES 1 000 000 000 011100 BR0 BJ AC<15>=0,RES 1 010 000 000 011101 RT IR
PC 0 010 110 000 011110 BJ AC<15>=1,RES 1 011 000 00031wordsx10ROMbits=310bitstotalversus16x38=608bitshorizontal70Spring2017ZDMC–Lec.#11VerticalProgrammingControllerBlockDiagram71Spring2017ZDMC–Lec.#11VerticalMicroprogrammingConditionLogic72Spring2017ZDMC–Lec.#11VerticalMicroprogrammingWriteableControlStorePartofcontrolstoreaddressesmapintoRAMAllowsassemblylanguageprogrammertoimplementowninstructionsExtend"native"instructionsetwithapplicationspecificinstructionsRequiresconsiderablesophisticationtowritemicrocodeNotapopularapproachwithtoday'sprocessorsMakethenativeinstructionsetsimpleandfastWrite"higherlevel"functionsasassemblylanguagesequences73Spring2017ZDMC–Lec.#11課后作業(yè)1)查閱:國際電路公司的8051,PIC,AVR單片機,ARM,MIPS,DSP等微控制器芯片的型號、類型、速度……upd78F9202,STM8s003,PIC16F886,Mage48圖書館資源:電子器件天地,軟件82)習題:/補充講義P438.11,8.12,8.14;5月15日交3)閱讀:補充講義CH.8--9《數(shù)字系統(tǒng)設計與VerilogHDL》書書CH.11閱讀講義p.37-5174Spring2017ZDMC–Lec.#11課后作業(yè)4)ProjectProject1(必做):將講義P31頁圖8.33的框圖用具體型號的數(shù)字集成電路設計實現(xiàn)為具體電路圖。(5月26日前,交設計報告和電路圖)Project2(選做平時成績加分):用具體集成電路設計并硬件實現(xiàn)一個4bit簡單CPU實物。(期末停課前完成,要有設計報告)75Spring2017ZDMC–Lec.#11
講義第八章微控制器設計
--------------流水結構與系統(tǒng)架構76Spring2017ZDMC–Lec.#118.5算法與流水結構數(shù)字系統(tǒng)設計確定怎樣執(zhí)行數(shù)據(jù)處理提供相應的控制信號并用數(shù)字功能部件構造成電路“算法”指一個問題的求解過程通過有限個定義的程序性步驟來說明算法結構
算法由許多子運算組成各子運算的執(zhí)行方法子運算間的執(zhí)行次序77Spring2017ZDMC–Lec.#11算法結構分類算法結構分類順序算法結構并行算法結構流水算法結構78Spring2017ZDMC–Lec.#117.5.1順序算法結構(串行)順序算法結構有------2種在執(zhí)行算法的整個過程中同一時間只進行一種或一組相關的子運算1)每時間段中僅有一個子運算操作各子運算之間逐個按規(guī)定的次序進行
79Spring2017ZDMC–Lec.#11順序算法結構2)在同一時間里,有時有一組子運算操作同組各操作間相互關聯(lián),它們完成后再進行新的一組操作
打包80Spring2017ZDMC–Lec.#11順序算法結構順序算法輸入數(shù)據(jù)D完成算法流程需L個時間段每段的平均時間為△t完成運算所需時間
數(shù)字系統(tǒng)中待處理的數(shù)據(jù)是連續(xù)輸入的數(shù)據(jù)流數(shù)據(jù)流中每個元素均完成同樣的運算前一數(shù)據(jù)元素計算完成后,再進行后一數(shù)據(jù)元素的計算處理若含有n個元素的數(shù)據(jù)流輸入時總的運算時間為
81Spring2017ZDMC–Lec.#117.5.2并行算法結構并行算法在同一時間段中,有多條路徑在同時進行運算這些同時執(zhí)行的子運算操作間是相互獨立的
圖中OP2、OP3、OP4同時進行,三種操作硬件互相獨立OP5和OP6、OP10和OP11為順序運算的一組相關操作82Spring2017ZDMC–Lec.#11并行算法結構并行運算優(yōu)點是速度快缺點是增加硬件結構成本并行算法運算時間若待處理數(shù)據(jù)是單元素Di(二進制若干位)完成運算的時間仍滿足其中L‘是并行算法流程經過的運算段數(shù)L‘比同一系統(tǒng)的順序算法流程的運算段數(shù)L要小得多因此提高了速度數(shù)字系統(tǒng)中總運算時間若含有n個元素的數(shù)據(jù)流輸入時并行結構算法總的運算時間為83Spring2017ZDMC–Lec.#117.5.3流水線操作算法結構流水線操作算法結構是針對連續(xù)輸入數(shù)據(jù)流的系統(tǒng)把整個運算過程分解為若干個段系統(tǒng)在同一時間可對先后輸入的數(shù)據(jù)流元素進行不同段的同時運算條件有多個操作硬件(不同的)交錯:每一時刻一個硬件不能有2個運算,84Spring2017ZDMC–Lec.#11流水線結構特點(1)流水線中必須是連續(xù)運算只有連續(xù)不斷地運算才能充分發(fā)揮流水線的效率(2)一個運算分解為幾個有聯(lián)系的子運算每個子運算由一個專門的功能部件來執(zhí)行(3)每一個功能部件后都要有一個緩沖寄存器用于保存本段的執(zhí)行結果(4)流水線中各段的時間應盡量相等否則將引起“堵塞”或“斷流”等現(xiàn)象(5)流水線需要有“裝入時間”和“排空時間”只有流水線完全充滿時,整個流水線的效率才能得到充分發(fā)揮85Spring2017ZDMC–Lec.#11流水線的效率對于有L段運算的流水線結構,可以同時對L個數(shù)據(jù)元素進行不同段的運算,從而大大提高了運算速度。86Spring2017ZDMC–Lec.#11【例8.14】試用順序操作算法和流水操作算法實現(xiàn)運算,并比較運算速度。其中A、B、C均為數(shù)據(jù)流,長度為m,且均是n位。解
根據(jù)題意,給定的數(shù)據(jù)流共有m個元素
…,其中
87Spring2017ZDMC–Lec.#11【例8.14】算法流程圖系統(tǒng)運算分解“相乘”、“相加”、“開平方”三個運算段88Spring2017ZDMC–Lec.#11【例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《海岸風光模板》課件
- 水準測量外業(yè)工作要點
- 贛南醫(yī)學院《生物化學與分子生物學》2023-2024學年第一學期期末試卷
- 勞動防護用品培訓課件
- 身體解剖培訓課件
- 2022年上海統(tǒng)計師(中級)《統(tǒng)計基礎理論及相關知識》考試題庫及答案
- 甘孜職業(yè)學院《園林工程實驗》2023-2024學年第一學期期末試卷
- 三年級數(shù)學上冊1時分秒單元概述和課時安排素材新人教版
- 三年級數(shù)學上冊第三單元測量第4課時千米的認識教案新人教版
- 小學生校園安全教育制度
- 公共關系理論與實務教程 課件 項目九-公共關系危機管理
- 椎間孔鏡治療腰椎間盤突出
- 2024年融媒體中心事業(yè)單位考試招考142人500題大全加解析答案
- 2024-2025學年 語文二年級上冊統(tǒng)編版期末測試卷(含答案)
- 期末測試題二(含答案)2024-2025學年譯林版七年級英語上冊
- 大創(chuàng)賽項目書
- 產品質量知識培訓課件
- 乳腺旋切手術
- 醫(yī)護禮儀課件教學課件
- 2024-2030年中國商品混凝土行業(yè)產量預測分析投資戰(zhàn)略規(guī)劃研究報告
- 2023年中國奧特萊斯行業(yè)白皮書
評論
0/150
提交評論