freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的微處理器設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)(文件)

 

【正文】 設(shè)計(jì)。 0001000000010010 END 。算術(shù)運(yùn)算指令后 8位分別是源操作數(shù)地址和目的操作數(shù)地址,將操作數(shù) 136和 129取出送入運(yùn)算器中進(jìn)行加法運(yùn)算,最后結(jié)果輸出 165。 0100000000010010 圖 53 或運(yùn)算仿真 仿真結(jié)果如圖 52所示,邏輯算術(shù)指令將操作數(shù)送入運(yùn)算器中進(jìn)行或操作,最后結(jié)果輸出 10100101。 0001000000010010 LD R2; 1010000000000010 圖 55 輸出 R2的數(shù)據(jù)仿真 仿真結(jié)果如圖 54所示,數(shù)據(jù)指令將目的 操作地址 R2的 值 10000001送出并輸出,中進(jìn)行左移操作,最后結(jié)果輸出 00000010。 移位 類(lèi)指令可以完成 目的寄存器內(nèi) 8位操作數(shù)的左 移 (LSL)和右移 (LSR)操作并輸出結(jié)果。 經(jīng)過(guò)對(duì)全部指令的簡(jiǎn)單仿真測(cè)試 ,測(cè)試結(jié)果顯示, 本設(shè)計(jì) 能夠很好的執(zhí)行指令的預(yù)期功能,指令的時(shí)序和流水線(xiàn)操作與設(shè)計(jì)一致, 正確地實(shí)現(xiàn) 了 CPU的功 能 。 整個(gè)論文的完成過(guò)程中,我查閱的資料和學(xué)習(xí)了很多東西,總結(jié)起來(lái)主要有以下收獲 : 熟 悉 CPU設(shè)計(jì)思路,通過(guò)對(duì) RISC指令 集的學(xué)習(xí)和理解自定義指令集。 本次設(shè)計(jì)的 CPU可以完成基本操作,但是依舊有很多不足之處,比如在算術(shù)和邏輯運(yùn)算中沒(méi)有考慮 進(jìn)位,而且運(yùn)算結(jié)果只能利用另一條指令 ST存儲(chǔ),不能在當(dāng)前指令執(zhí)行中進(jìn)行。 [2]唐穎 .EDA技術(shù)與單片機(jī)系統(tǒng) .現(xiàn)代電子技術(shù), 20xx, 11(3):31— 32. [3]陸重陽(yáng),盧東華,文愛(ài)軍 .IP技術(shù)在 SOC中的地位及應(yīng)用 .微電子技術(shù), 20xx,9(8):20— 23)。 USE 。 frompc_inc : IN STD_LOGIC 。 fromnrst : IN STD_LOGIC 。 wr : in std_logic 。 fromen : IN STD_LOGIC 。 torr : 。 toir : out std_logic_vector(3 downto 0)。 END COMPONENT pc_ram。 waddr : in unsigned(7 downto 0)。 END COMPONENT pc。 PACKAGE cpu_ps IS COMPONENT pc IS PORT ( clk ,fen: IN STD_LOGIC 。北京。為了更深入的研究 CPU的設(shè)計(jì)就需要我更多的掌握知識(shí),不斷學(xué)習(xí)才能更好的實(shí)現(xiàn) CPU的功能。 完成了 CPU的各個(gè)模塊的代碼編寫(xiě)及調(diào)試過(guò)程。在整個(gè)設(shè)計(jì)過(guò)程中,我首先確定 CPU的模塊 功能,然后細(xì)化每個(gè)功能模塊,根據(jù)每個(gè)模塊完成的功能確定模塊結(jié)構(gòu),最后利用硬件描述語(yǔ) 言 VHDL將每 個(gè)元件模塊例化,并將其連線(xiàn)組合構(gòu)成 一個(gè) CPU整體。 數(shù)據(jù)輸出指 令 (LD)可 以完成讀出并輸出目的寄存器數(shù) 據(jù)的操作。 0001000000010010 ST R2; 1001000000000010 圖 56 存儲(chǔ)運(yùn)算結(jié)果仿真 山東大學(xué)威海分校畢業(yè)設(shè)計(jì)(論文) 27 仿真結(jié)果如圖所示,算術(shù)加法指令將兩個(gè)操作數(shù) 36和 129執(zhí)行加法運(yùn)算后,得 到結(jié)果 165,下一條指令時(shí)運(yùn)算結(jié)果存儲(chǔ)指令,將上條指令得到的結(jié)果存到指定寄存器中,圖中 R2內(nèi)的值改變?yōu)?165,說(shuō)明數(shù)據(jù)存儲(chǔ)成功。 0101000000000010 圖 54 左移操作仿真 仿真結(jié)果如圖 53所示,移位算術(shù)指令將目的操 作地址 R2的 值 10000001送入運(yùn)算器中進(jìn)行左移操作,最后結(jié)果輸出 00000010。狀態(tài)轉(zhuǎn)換按待機(jī)→執(zhí)行→停機(jī)的順序進(jìn)行轉(zhuǎn)換。通過(guò)仿真可以看出,流水線(xiàn)使一條指令的執(zhí)行只需要一個(gè)時(shí)鐘周期的時(shí)間,且 PC的值是當(dāng)前執(zhí)行指令地址加 2,驗(yàn)證了前面提到的流水時(shí)序。 0111010000100001 MOV R2, 129。各模 塊的輸出信號(hào)說(shuō)明如表 4所示。 將所有的功能模塊組合連接起來(lái)就成為一個(gè)整體,作為整個(gè)仿真的 頂層模塊。 對(duì)程序計(jì)數(shù)器模塊的聲明后再對(duì)該模塊的引用,引用時(shí)用的關(guān)鍵詞是 PORT MAP,通過(guò)如下程序段完成模塊引用 : U1: pc PORT MAP (clk = clk, fen = en, fromnrst = nrst, frompc_inc = pc_inc, pcout = pc_out)。 fromnrst : IN STD_LOGIC 。在構(gòu) 建頂層文件的方法有語(yǔ)言描述和原理圖法。 end process。 else state = exe。 then state = sp。在整個(gè) CPU的狀態(tài)機(jī)中共設(shè)計(jì)了 3個(gè)狀態(tài):執(zhí)行 (exe),待機(jī)( sp) ,停機(jī)( tj)。從輸 出時(shí)序上看,前者屬于同步狀態(tài)機(jī),而后者屬于異步狀態(tài)機(jī)。 山東大學(xué)威海分校畢業(yè)設(shè)計(jì)(論文) 19 有限狀態(tài)機(jī) FSM 模塊 有限狀態(tài)機(jī) 狀態(tài)機(jī)是 CPU的又一個(gè)控制核心部件,是實(shí)現(xiàn)高效率高可靠邏輯控制的重要途徑,用于產(chǎn)生一系列的控制信號(hào),啟動(dòng)或停止某些部件??刂茊卧淖饔镁褪菍?duì)指令譯碼,在不同的狀態(tài)發(fā)出不同的控制信號(hào)來(lái)處理流水線(xiàn)過(guò)程,另一方面在合適的時(shí)間對(duì)數(shù)據(jù)通路發(fā)出正確的控制信號(hào)來(lái)控制指令的正確執(zhí)行。 ALU 模塊外部接口如圖 39 所示。 then R=r1(7 downto 0)。039。 Process (a1, b1, fromalu_ctrl , fromlogic) Begin case fromalu_ctrl is … … end case。LOGIC 指令組分為或和與的邏輯操作 。 4 位算術(shù)控制輸入信號(hào) alu_ctrl決定兩個(gè)輸入數(shù)據(jù)的算術(shù)操作類(lèi)型 ,可以有 16 種不同的功能組合。 ALU 整體框圖如圖 3— 7 所示。 // 存儲(chǔ)立即數(shù)到目的寄存器 從這段代碼可以看出,當(dāng)控制信號(hào) store有效時(shí), TRAM可以完成將運(yùn)算器的結(jié)果寫(xiě)入目的操作寄存器中,若 無(wú)效 ,則判斷控制信號(hào) ram_ctrl的值,根據(jù)不同的控制值可以將寄存器的儲(chǔ)存值分別寫(xiě)入目的操作寄存器和源操作寄存器中,可以將立即數(shù)寫(xiě)入目的操作寄存器中,可以讀出指定寄存器的值并輸出。在 CPU時(shí)鐘的前半周期,控制器進(jìn)行譯碼并發(fā)出控制信號(hào),為操作的施行鋪好路,在時(shí)鐘的后半周期,也就是從 時(shí)鐘信號(hào) fclkr的上升沿, TRAM在控制信號(hào) ram _ctrl、 load、 store的控制下進(jìn)行讀寫(xiě)操作。 在本次 CPU 設(shè)計(jì)中 TRAM 模塊用以完成以下幾個(gè)操作: 將立即數(shù)寫(xiě)入指定寄存器中。 時(shí)鐘發(fā)生器模塊 時(shí)鐘發(fā)生器 TIME_CTRL 利用時(shí)鐘信號(hào) CLK 生成從時(shí)鐘信號(hào) CLKR,并送往CPU 的寄存器堆 TRAM 中,作為其進(jìn)行讀寫(xiě)操作的時(shí)鐘信號(hào)。這是由兩級(jí)流水線(xiàn)的架構(gòu)決定的,在兩級(jí)流水線(xiàn)中, CPU在執(zhí)行當(dāng)前指令的同時(shí)指令寄存器取到下一條指令,并且控制器將下一條指令進(jìn)行譯碼。 山東大學(xué)威海分校畢業(yè)設(shè)計(jì)(論文) 14 指令寄存器模塊 指令寄存器在時(shí)鐘上升沿鎖入從程序存儲(chǔ)器 PC_RAM中讀取的指令,并保持到時(shí)鐘的下一個(gè)上升沿,一條指令的執(zhí)行從指令寄存器鎖入指令開(kāi)始。 程序存儲(chǔ)器是一個(gè)可讀可寫(xiě)的模塊,其輸入端口接入外圍程序和地址輸入端口,由 WR 異步控制其讀寫(xiě)狀態(tài), WR 高電平有效。圖32 顯示了程序存儲(chǔ)器的結(jié)構(gòu)圖。 PC_OUT 地址輸出信號(hào)是直接與程序存儲(chǔ)器 PCRAM 相連的。程序計(jì)數(shù)器 PC 中存放指令存儲(chǔ)器的地址,當(dāng)一條指令被執(zhí)行時(shí),程序計(jì)數(shù)器存放下一條指令的地址。本設(shè)計(jì)采用的是第一種方案的設(shè)計(jì)方法。在整個(gè) CPU 的結(jié)構(gòu)框圖中,除了控制單元部分,其余部分都是數(shù)據(jù)通路部分,包括程序計(jì) 數(shù)器 PC、程序存儲(chǔ)器 PC_RAM、指令寄存器 IR、寄存器堆 TRAM、數(shù)據(jù)選擇器 ALUMUX 和算術(shù)與邏輯單元 ALU。具體的模塊功能實(shí)現(xiàn)將在下面兩章中詳細(xì)介紹。子系統(tǒng)的劃分過(guò)程就是把總體任務(wù)劃分程若干分任務(wù)的過(guò)程??刂颇K是對(duì)從指令寄存器 (IR)送出指令進(jìn)行譯碼從而發(fā)出適當(dāng)?shù)目刂菩盘?hào)執(zhí)行程序的。 整個(gè)系統(tǒng)可以分為兩個(gè)單元 :取指單元,執(zhí)行單元。 微處理器中有兩種不同的邏輯元件: ( 1) ALU、 MUX、 CONCROL單元的元件都是組合邏輯電路。圖中的一個(gè)一個(gè)的模塊代表了各個(gè)功能模塊,將在下面的章節(jié)中分別做詳細(xì)的設(shè)計(jì)說(shuō)明。系統(tǒng)的時(shí)鐘信號(hào)將直接驅(qū)動(dòng)驅(qū)動(dòng)整個(gè) CPU。表 2說(shuō)明了在引入流水線(xiàn)后 PC的具體工作情況: 山東大學(xué)威海分校畢業(yè)設(shè)計(jì)(論文) 9 表 3 指令執(zhí)行中 PC 值的變化情況 時(shí)鐘周期 Reset 周期 1 周期 2 周期 3 周期 4 PC 0 1 2 3 4 第一條指令 讀取指令 0 執(zhí)行指令 0 第二條指令 讀取指令 1 執(zhí)行指令 1 第三條指令 讀取指令 2 執(zhí)行指令 2 表 3 表明,在系統(tǒng)復(fù)位時(shí), PC 內(nèi)的值清 0,第一個(gè)時(shí)鐘周期,指令寄存器取 PC 為 0 的地址的指令,同時(shí) PC 的值加 1;第二個(gè)時(shí)鐘周期,執(zhí)行 0 地址的指令,同時(shí)讀取地址 1 的指令,同時(shí) PC 的值加 1;第三個(gè)時(shí)鐘周期,重復(fù)這樣的過(guò)程。正是靠 PC的移動(dòng),CPU才能一條一條的執(zhí)行指令。 為了降低執(zhí)行每條指令所需時(shí)鐘數(shù),本文也采用兩級(jí)流水,其功能分別定義為:第一級(jí) ,取指;第二級(jí),時(shí)鐘前半周期控制器譯碼、發(fā)出控制信號(hào),時(shí)鐘后半周期進(jìn)行對(duì)寄存器堆 TRAM進(jìn)行讀操作、 ALU計(jì)算。這樣按順序第 1 條指令執(zhí)行完再取第 2 條指令,第 2 條執(zhí)行完在取第 3條指令的順序執(zhí)行方式執(zhí)行一條指令最少需要兩個(gè)時(shí)鐘周期,如果執(zhí)行 10 條指令那么就得需要 10 個(gè)時(shí)鐘周期,顯然這樣指令的執(zhí)行效率不高。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 L L L L H H H H d d d d 指令編碼 確定了指令的格式,就可以對(duì)指令進(jìn)行編碼,這樣指令就有唯一的身份識(shí)別。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 r r r r d d d d 對(duì)于僅需要一個(gè)寄存器的指令, d 用來(lái)尋址目標(biāo)寄存器。 指令格式定義 正如以前所提到的, RISC 總是有固定長(zhǎng)度以便于譯碼。每條指令的字長(zhǎng)都是 16位,包含足夠的信息:指令操作碼,源操作數(shù)地址,目的操作數(shù)地址,立即數(shù) [1314]。首先,哈佛結(jié)構(gòu)的指令總線(xiàn)和數(shù)據(jù)總線(xiàn)分開(kāi),可以使用不同位寬的指令和數(shù)據(jù), 還有一個(gè)最大好處就是可以預(yù)取指令,這樣對(duì)流水線(xiàn)是很有用的。 圖 23 哈佛結(jié)構(gòu)圖 山東大學(xué)威海分校畢業(yè)設(shè)計(jì)(論文) 6 這種結(jié)構(gòu)的優(yōu)點(diǎn)是: ( 1) 允許數(shù)據(jù)從程序存儲(chǔ)器傳遞到 SRAM,該功能也允許從程序存儲(chǔ)器 中讀取數(shù)據(jù)表。目前主流 CPU指令可以分為 RISC 和 CISC,由上節(jié)介紹可知, RISC 微處理器指令系統(tǒng)的指令種類(lèi)少而經(jīng),尋址方式簡(jiǎn)單,指令格式固定,所以本次設(shè)計(jì)采用 RISC 指令系統(tǒng) RISC 與總線(xiàn)結(jié)構(gòu) 早期的計(jì)算機(jī)一般都采用 馮 .諾依曼 ( Von Neumann) 結(jié)構(gòu), CISC 架構(gòu)的微處理器常采用這種結(jié)構(gòu)。 ( 1) 能對(duì)指令進(jìn)行譯碼并執(zhí)行規(guī)定動(dòng)作; ( 2) 可以進(jìn)行算術(shù)和邏輯運(yùn)算; ( 3) 能與存儲(chǔ)器和外設(shè)交換數(shù)據(jù); ( 4) 提供整個(gè)系統(tǒng)所需的控制。 CPU 的作用是協(xié)調(diào)和控制計(jì)算機(jī)的各個(gè)部件,并執(zhí)行程序的指令序列,使其有條不紊的進(jìn)行,因此必須具備以下基本功能 : 取指令:當(dāng)程序已在存儲(chǔ)器中時(shí), 首先根據(jù)程序入口地址取出一條程序, 為此要發(fā)出指令的地址及相關(guān)的控制信號(hào) 。 第六章 總結(jié)和展望。 第四章 CPU 控制單元的設(shè)計(jì)。 第二章 微處理器的體系結(jié)構(gòu)。 ( 5) 以寄存器對(duì)寄存器的運(yùn)算為主。 1975 年, IBM 的設(shè)計(jì)師提出了一種新的體系結(jié)構(gòu)和指令集設(shè)計(jì)方案,這就是 RISC 體系結(jié)構(gòu)。后來(lái) 功能需求越來(lái)越豐富,因此越來(lái)越多的復(fù)雜指令被加入到指令系統(tǒng)中,但是還必須保持著前向的兼容性。 ( 5) 具有向 ASIC移植的能力 。 ( 2) 具有共享與復(fù)用能力 VHDL采用基于庫(kù)的設(shè)計(jì)方法,從而大大減少了工作量,縮短了開(kāi)發(fā)周期。自頂向下的設(shè)計(jì)方法就 是設(shè)計(jì)者首先從整體上規(guī)劃整個(gè)系統(tǒng)的功能和性能,然后利用功能分割手段對(duì)系統(tǒng)進(jìn)行劃分,分解為規(guī)模較小、功能較簡(jiǎn)單的局部模塊,并確立它們之間的相互關(guān)系,將設(shè)計(jì)由上至下進(jìn)行層次化和模塊化,即分層次、分模塊地對(duì)電子系統(tǒng)進(jìn)行設(shè)計(jì)和仿真。但是,在微控制器的發(fā)展過(guò)程中, 8位機(jī)始終是嵌入式低端應(yīng)用的主要機(jī)型 [4]??梢?jiàn), S
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1