




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章簡易系統(tǒng)設(shè)計實踐7.1簡易微處理器設(shè)計7.2簡易微處理器系統(tǒng)設(shè)計
前面所介紹的電路都是只能實現(xiàn)某種單一的特定功能:因此稱為功能部件級電路。由若干這樣的數(shù)字電路和邏輯部件構(gòu)成:按一定順序處理和傳輸數(shù)字信號的設(shè)備:稱為數(shù)字系統(tǒng)。
數(shù)字系統(tǒng)從結(jié)構(gòu)上可以劃分為數(shù)據(jù)處理單元和控制單元兩部分。
1.數(shù)據(jù)處理單元
數(shù)據(jù)處理單元也稱為數(shù)據(jù)通路。它接收控制單元發(fā)來的控制信號:對輸入的數(shù)據(jù)進(jìn)行算術(shù)運算、邏輯運算、移位操作等處理:然后輸出數(shù)據(jù):并將處理過程中產(chǎn)生的狀態(tài)信息反饋到控制單元。
2.控制單元
控制單元根據(jù)外部輸入信號及數(shù)據(jù)處理單元提供的狀態(tài)信息:決定下一步要完成的操作:并向數(shù)據(jù)處理單元發(fā)出控制信號以控制其完成該操作。
數(shù)字系統(tǒng)設(shè)計開發(fā)過程要重視模塊化設(shè)計理念和“分析電路功能—制訂電路結(jié)構(gòu)及工作波形規(guī)格—設(shè)計邏輯電路—仿真測試邏輯功能”的開發(fā)步驟:其中制訂電路結(jié)構(gòu)及工作波形規(guī)格是重中之重。
7.1簡易微處理器設(shè)計
7.1.1功能分析
1.基本結(jié)構(gòu)微處理器的內(nèi)部典型電路如圖7-1所示:它是由算術(shù)邏輯運算單元(ALU)、寄存器組、控制器、總線接口單元組成的:其中控制單元包括指令讀取子單元、指令譯碼子單元和邏輯控制子單元。
圖7-1微處理器的內(nèi)部典型電路
2.功能需求
由于流程控制操作需要采用比較等運算所產(chǎn)生的標(biāo)志來判別是否轉(zhuǎn)移:因此需要保存某些運算操作所產(chǎn)生的標(biāo)志。通常設(shè)置處理器狀態(tài)寄存器(PSR)來保存處理運算中產(chǎn)生的進(jìn)位溢出等標(biāo)志。
微處理器能夠完成以下功能:
(1)數(shù)據(jù)傳輸。
(2)算術(shù)邏輯運算。
(3)流程跳轉(zhuǎn)。
3.操作描述
根據(jù)程序設(shè)計中常用的數(shù)據(jù)運算和流程控制操作來設(shè)計如表7-1所示的操作。其中Rd為目標(biāo)/源操作數(shù)寄存器:Rn為源操作數(shù)寄存器:#為立即數(shù):[Rn]為地址值為Rn值的存儲單元:PC為保存待讀指令的地址寄存器:PSR為處理器狀態(tài)寄存器(保存運算產(chǎn)生的標(biāo)志位)。
4.開發(fā)思路
處理器的實質(zhì)是執(zhí)行指令的邏輯電路:因此首要任務(wù)是明確操作指令:規(guī)范指令的操作方式、數(shù)據(jù)來源及結(jié)果去向。
處理器中最核心的功能是運算:故首先設(shè)計算術(shù)邏輯運算器。從運算器的數(shù)據(jù)來源和運算結(jié)果的去向來分析運算器與寄存器組之間的關(guān)系:根據(jù)寄存器與外部數(shù)據(jù)存儲器之間的數(shù)據(jù)傳輸來設(shè)計ALU、寄存器組和數(shù)據(jù)總線接口單元之間的連接關(guān)系。
處理器的工作過程是按照一定的操作流程進(jìn)行以保證處理過程有序高效:邏輯控制單元完成指令與運算處理之間的銜接:按照規(guī)定時序控制各模塊協(xié)同操作。
7.1.2指令設(shè)計
通常把微處理器采用數(shù)碼來代表一次操作:這個數(shù)碼稱為指令。
設(shè)計中所涉及的操作對應(yīng)的指令如表7-2所示:其中的R0H表示R0寄存器的高4位:R0L表示R0寄存器的低4位。
7.1.3運算器
處理器首先要能夠進(jìn)行數(shù)據(jù)運算。二進(jìn)制數(shù)的算術(shù)運算、移位運算和邏輯運算都可以采用二進(jìn)制電路實現(xiàn)。由于每次處理只執(zhí)行一個運算:所以將所有運算電路組合在一起:通過控制信號來選擇一個運算電路工作并輸出運算結(jié)果。該組合在一起的電路稱為算術(shù)邏輯運算單元(ALU):其典型符號如圖7-2所示。ALU有兩個運算數(shù)據(jù)輸入端:一個運算結(jié)果輸出端:還有一個運算類型控制端。
圖7-2算術(shù)邏輯運算器
ALU支持8種兩個8位數(shù)S1和S2的數(shù)據(jù)運算:即加、減、位與、位或、位非、左移1位、右移1位、賦值:但每次只能進(jìn)行1種運算:通過3位控制信號OP改變運算類型:結(jié)果輸出DT:同時給出計算標(biāo)志FLG(進(jìn)/借位標(biāo)志CF、溢出標(biāo)志OF、符號標(biāo)志SF和結(jié)果為零標(biāo)志ZF)。
ALU電路共有8種運算:每次只能進(jìn)行1種運算:可以視為從8種運算結(jié)果中選擇1個輸出。因此:該電路有8個運算電路和1個8選1輸出電路:輸出哪個運算結(jié)果由控制信號來決定。
其電路結(jié)構(gòu)如圖7-3所示。圖7-3算術(shù)邏輯運算器的內(nèi)部結(jié)構(gòu)
功能仿真波形如圖7-4所示:圖中數(shù)值均為十六進(jìn)制數(shù)。圖7-4算術(shù)邏輯運算器的功能仿真波形
7.1.4寄存器組
寄存器用來存儲運算中所用的暫時數(shù)據(jù)。若多個寄存器構(gòu)成寄存器組:則它們的輸入線并接在一起共享輸入。每個寄存器都有鎖存使能信號:只有某個寄存器的使能信號有效時:該寄存器才將輸入的數(shù)據(jù)鎖存起來。
由于指令中設(shè)計了對寄存器R0的高4位和低4位操作:因此需要有信號來指明是對R0的8位或高4位或低4位進(jìn)行操作。
寄存器組電路如圖7-5所示:包含4個通用寄存器R0~R3、1個狀態(tài)寄存器PSR、1個通用寄存器鎖存譯碼器。
圖7-5寄存器組電路
簡易處理器能夠?qū)崿F(xiàn)“寫R0、寫R1、寫R2、寫R3、不寫”這5種操作:因此功能邏輯表如表7-3所示。
7.1.5通道選擇
參加運算的數(shù)據(jù)來源于寄存器:故需要采用選擇器從多個寄存器的輸出中選出一組作為輸出:因此需要兩個用于寄存器值選擇的數(shù)據(jù)選擇器。某個操作數(shù)有時可能是立即數(shù):因此再采用一個用于立即數(shù)和寄存器數(shù)選擇的數(shù)據(jù)選擇器。通道選擇電路如圖7-6所示:其中S0
是需要存儲的寄存器值:S1
和S2
分別是ALU的輸入。其功能如表7-4和表7-5所示。
圖7-6通道選擇電路x
7.1.6數(shù)據(jù)存儲
運算中需要讀取指令或存讀大量數(shù)據(jù):這些指令和數(shù)據(jù)保存在存儲器中。通常存儲單元的地址是通過ALU計算出來的:存儲單元的地址可以由一個寄存器與另一個寄存器或常數(shù)相加得到。
微處理器中產(chǎn)生讀寫存儲器的信號時序的電路稱為總線接口單元。微處理器執(zhí)行訪問存儲器指令時:邏輯控制單元將計算后的地址、數(shù)據(jù)和控制代碼發(fā)送給總線接口單元:總線接口單元負(fù)責(zé)按照規(guī)定的時間順序輸出地址和控制信號:同時輸出待寫數(shù)據(jù)或輸入待讀數(shù)據(jù)。
存儲器含有地址總線、數(shù)據(jù)總線和讀寫控制線:通常數(shù)據(jù)總線是雙向的??偩€接口單元必須能夠適應(yīng)存儲器的訪問需求:因此總線接口單元產(chǎn)生能夠連接存儲器及其他外部設(shè)備的總線信號。通常將微處理器與存儲器及外部設(shè)備之間的總線稱為系統(tǒng)總線。
總線接口單元最簡單的結(jié)構(gòu)如圖7-7所示:它主要完成外部雙向數(shù)據(jù)線和外部讀寫信號的產(chǎn)生。
圖7-7總線接口單元結(jié)構(gòu)圖
總線操作必須滿足一定時序。讀操作時:先輸出地址:再輸出讀使能:最后鎖存數(shù)據(jù);寫操作時:先輸出地址和數(shù)據(jù):再輸出寫使能。存儲訪問操作總線的時序如圖7-8所示。
圖7-8存儲訪問操作總線的時序圖
7.1.7指令讀取
指令保存在存儲器中:用來讀取指令存儲器的總線信號合稱為指令總線。讀取指令時:將指令所在地址輸出到指令總線的地址總線上:存儲器會自動將該地址上存儲單元的值輸出到指令總線的數(shù)據(jù)總線上。
程序執(zhí)行通常是按順序逐一讀取指令的:因此默認(rèn)每讀取一次指令其讀取地址自動遞增:相當(dāng)于是一個加法計數(shù)器。因此:指令地址是程序計數(shù)器的輸出:保存指令地址的PC寄存器本身是程序計數(shù)器的一部分:程序計數(shù)器的內(nèi)部電路結(jié)構(gòu)及指令讀取電路如圖7-9所示。
圖7-9程序計數(shù)器及指令讀取電路
7.1.8指令譯碼
指令譯碼是用指令代碼生成操作信號:即對輸入的8位指令值的IC進(jìn)行譯碼產(chǎn)生用于控制其他部件的22位信號OPRC:指令譯碼電路如圖7-10所示。圖7-10指令譯碼電路
所有指令的譯碼功能表如表7-6所示:輸出OPRC與控制信號的對應(yīng)關(guān)系及信號值如表7-7所示。指令譯碼只是產(chǎn)生各信號值:是否輸出到具體的信號線則由邏輯控制來決定。
7.1.9邏輯控制
整個系統(tǒng)由邏輯控制單元來調(diào)度:它將指令譯碼所產(chǎn)生的信號按照不同操作規(guī)程進(jìn)行時序控制。邏輯控制連接所有信號:按照一定時序來輸出相應(yīng)的控制信號。
邏輯控制單元的主要功能:控制程序計數(shù)器更新;使能鎖存當(dāng)前指令;對譯指產(chǎn)生的信號進(jìn)行時序分配以完成相應(yīng)操作。
邏輯控制電路與其他部件之間的信號連接如圖7-11所示。
圖7-11邏輯控制電路的信號連接
其操作流程如下:
(1)取指:即從指令存儲器中讀取指令并保存至指令寄存器IR中:同時程序計數(shù)器值自動增1。
(2)譯指:即將指令寄存器所存的指令代碼譯成相應(yīng)的操作電平信號。
(3)執(zhí)行:即完成數(shù)據(jù)選擇和算術(shù)邏輯運算并輸出運算結(jié)果。
(4)讀存:即存儲器讀操作:使能存儲器讀信號:使相應(yīng)存儲單元的數(shù)據(jù)輸出至總線上。
(5)回寫:即保存計算結(jié)果數(shù)據(jù)至寄存器或保存寄存器數(shù)據(jù)至存儲器。
操作流程是一個周而復(fù)始的過程:其工作周期為:取指→譯指→執(zhí)行→讀存→回寫。
操作信號的輸出時序總體分布如圖7-12所示。
圖7-12操作信號的輸出時序圖
操作控制主要有三類操作:
1.PC操作
對PC進(jìn)行賦值操作主要有兩種操作:取指后PC自動增1和運算結(jié)果賦給PC。
取指與PC賦值操作時序如圖7-13所示。取指時IFEN使能寄存器IR鎖存:PCEN使能程序計數(shù)器值增1。若對PC進(jìn)行賦值:則在回寫階段將PCLE置高:PC鎖存內(nèi)部數(shù)據(jù)線D的值:在后續(xù)的取指階段使用新值作為指令地址去獲取指令。
圖7-13PC操作控制時序
2.通用寄存器操作
通用寄存器之間主要是完成各種運算:其操作時序如圖7-14所示。在整個操作過程中:MRD信號一直為無效:確保寄存器回寫的數(shù)據(jù)來源于運算器的輸出DT。
圖7-14通用寄存器操作控制時序
3.存儲器操作
存儲器訪問包括寫操作和讀操作。對于存儲器的訪問操作:在執(zhí)行階段由ALU計算地址并輸出至地址總線。若為讀操作:則在讀存階段輸出讀使能信號至控制總線:使存儲器將相應(yīng)存儲單元的數(shù)據(jù)輸出至數(shù)據(jù)總線:在回寫階段將數(shù)據(jù)總線的值鎖存至寄存器;若為寫操作:則在回寫階段輸出寫使能信號至控制總線:使寄存器數(shù)據(jù)輸出至數(shù)據(jù)總線:存儲器又將數(shù)據(jù)總線的值鎖存至相應(yīng)的存儲單元。存儲器訪問操作的控制時序如圖7-15所示。
圖7-15存儲器訪問操作控制時序
邏輯控制電路的實質(zhì)是一個模5計數(shù)器:每個狀態(tài)分別代表一個階段:如圖7-16所示:即取指、譯指、執(zhí)行、讀存、回寫。控制器周而復(fù)始地按這個順序執(zhí)行:在不同狀態(tài)時輸出每個控制信號的電平來完成一個具體操作。圖7-16邏輯控制電路的時序狀態(tài)轉(zhuǎn)移圖
7.1.10整體電路
將各個單元連接在一起構(gòu)成一個簡易的微處理器:其基本構(gòu)架如圖7-17所示。圖7-17微處理器的整體電路
仿真波形如圖7-18所示。圖7-18仿真結(jié)果
7.2簡易微處理器系統(tǒng)設(shè)計
7.2.1功能分析
1.基本結(jié)構(gòu)微處理器由處理器(MPU)、系統(tǒng)總線、存儲器(ROM和RAM)和外部設(shè)備(簡稱外設(shè))構(gòu)成:如圖7-19所示。
圖7-19微處理器系統(tǒng)框圖
2.功能規(guī)格
ROM地址為0x00~0xFF:共256字節(jié)。所以:ROM一直處于讀操作:片選使能nCE始終接地。
假定RAM為128B:其內(nèi)部地址線為7條:可訪問地址為0000000~001111111。
假定GPIO內(nèi)部只有兩個寄存器用于接收MPU發(fā)來的數(shù)據(jù)和鎖存外部輸入數(shù)據(jù):其內(nèi)部訪問地址分別為0x0和0x1。
RAM和GPIO一起占用0x00~0xFF。RAM地址設(shè)計為0x00~0x7F:GPIO訪問地址設(shè)計為0x80和0x81。因此:當(dāng)?shù)刂房偩€值為0x00~0x7F時:RAM被訪問:需要外部產(chǎn)生一個有效電平來驅(qū)動RAM的片使能端nCE。當(dāng)?shù)刂房偩€值為0x80和0x81時:GPIO被訪問:需要外部產(chǎn)生一個有效電平來驅(qū)動GPIO的片選端nCS。
7.2.2存儲器設(shè)計
RAM容量為128B:有7根地址線AB:8根數(shù)據(jù)線DB:1根片使能線nCE:1根讀有效線nRD:1根寫有效線nWR。其工作波形如圖7-20所示。
圖7-20RAM的工作波形
7.2.3外設(shè)設(shè)計
GPIO采用兩個寄存器與MPU進(jìn)行數(shù)據(jù)交換。寄存器ODR為輸出數(shù)據(jù)寄存器:寄存器IDR為輸入數(shù)據(jù)寄存器:這兩個片內(nèi)寄存器只能通過片上地址線A0來選擇。GPIO有一組8條外部輸入線GPI和一組8條輸出線GPO。GPI線上的值被鎖存在IDR中:GPO線上輸出ODR的值。
當(dāng)對
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 換熱器安裝施工方案
- 假言判斷詳解
- 2024-2025學(xué)年河北省廊坊市八年級(上)期中生物試卷(含解析)
- 【道路運輸企業(yè)安全生產(chǎn)管理人員】考試試卷及答案
- 2025年ai易面面試題及答案
- 2025年領(lǐng)導(dǎo)接待面試題及答案
- 6年級上冊第5單元單詞
- 5年級下冊英語書常用表達(dá)法
- cip號編碼專著和教材
- 4年級下冊語文350字日記怎么寫
- 元朝的建立與統(tǒng)一課件 2024-2025學(xué)年統(tǒng)編版七年級歷史下冊
- 2025年安徽港航集團(tuán)所屬企業(yè)招聘13人筆試參考題庫附帶答案詳解
- 《江南水鄉(xiāng)》幼兒園小學(xué)少兒美術(shù)教育繪畫課件創(chuàng)意教程教案
- 2025年春花城版(2024)小學(xué)音樂一年級下冊教學(xué)計劃
- 溶質(zhì)的質(zhì)量分?jǐn)?shù)課件-九年級化學(xué)人教版(2024)下冊
- 二零二五年度房屋租賃合同附帶租戶隱私保護(hù)協(xié)議
- 2025年上海市安全員《C證》考試題庫及答案
- 2025年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試題庫完整版
- 信鴿賣買合同范本
- 全國河大版(三起)小學(xué)信息技術(shù)第三冊第1單元第1課《珍藏童年的回憶-文字輸入和格式設(shè)置》教學(xué)設(shè)計
- 主動脈內(nèi)球囊反搏課件
評論
0/150
提交評論