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

正文內(nèi)容

基于fpga的微處理器設(shè)計畢業(yè)設(shè)計論文(留存版)

2025-08-06 15:55上一頁面

下一頁面
  

【正文】 址輸入端口,由 WR 異步控制其讀寫狀態(tài),WR 高電平有效。在本次CPU設(shè)計中TRAM模塊用以完成以下幾個操作: 將立即數(shù)寫入指定寄存器中。4 位算術(shù)控制輸入信號alu_ctrl決定兩個輸入數(shù)據(jù)的算術(shù)操作類型,可以有16 種不同的功能組合。 then R=r1(7 downto 0)。從輸出時序上看,前者屬于同步狀態(tài)機,而后者屬于異步狀態(tài)機。 end process。將所有的功能模塊組合連接起來就成為一個整體,作為整個仿真的頂層模塊。狀態(tài)轉(zhuǎn)換按待機→執(zhí)行→停機的順序進行轉(zhuǎn)換。在整個設(shè)計過程中,我首先確定CPU的模塊功能,然后細化每個功能模塊,根據(jù)每個模塊完成的功能確定模塊結(jié)構(gòu),最后利用硬件描述語言VHDL將每個元件模塊例化,并將其連線組合構(gòu)成一個CPU整體。USE 。 fromen : IN STD_LOGIC 。 fromabsel : in std_logic_vector(1 downto 0)。COMPONENT control PORT( fromir: IN STD_LOGIC_VECTOR(3 DOWNTO 0)。ENTITY cpu_add IS PORT(clk: IN STD_LOGIC。 SIGNAL rd,rr,data,ir: STD_LOGIC_VECTOR(3 DOWNTO 0)。use 。139。 wdata : in std_logic_vector(15 downto 0)。 end process。 VARIABLE todataa : std_logic_vector(3 downto 0)。 end if。 architecture rtl of Tram is subtype word_t is unsigned(7 downto 0)。 when others = null。 when others = null。 fromdata: in std_logic_vector(3 downto 0)。 tord = torda。 todata :out std_logic_vector(3 downto 0) ) 。 then toinstruction = 0000000000000000。entity pc_ram is port ( clk : in std_logic。139。 END ARCHITECTURE RTL。 SIGNAL absel: STD_LOGIC_vector(1 downto 0)。USE 。COMPONENT Fsm PORT( clk,wr,start:IN STD_LOGIC。 fromram_ctrl : in std_logic_vector(1 downto 0) 。 wr : in std_logic 。北京。數(shù)據(jù)輸出指令(LD)可以完成讀出并輸出目的寄存器數(shù)據(jù)的操作。通過仿真可以看出,流水線使一條指令的執(zhí)行只需要一個時鐘周期的時間,且PC的值是當前執(zhí)行指令地址加2,驗證了前面提到的流水時序。對程序計數(shù)器模塊的聲明后再對該模塊的引用,引用時用的關(guān)鍵詞是 PORT MAP,通過如下程序段完成模塊引用: U1: pc PORT MAP (clk = clk,fen = en,fromnrst = nrst,frompc_inc = pc_inc, pcout = pc_out)。 else state = exe。 有限狀態(tài)機FSM模塊 有限狀態(tài)機狀態(tài)機是CPU的又一個控制核心部件,是實現(xiàn)高效率高可靠邏輯控制的重要途徑,用于產(chǎn)生一系列的控制信號,啟動或停止某些部件。039。ALU整體框圖如圖3—7所示。 時鐘發(fā)生器模塊時鐘發(fā)生器TIME_CTRL利用時鐘信號CLK生成從時鐘信號CLKR,并送往CPU的寄存器堆TRAM中,作為其進行讀寫操作的時鐘信號。圖32顯示了程序存儲器的結(jié)構(gòu)圖。在整個CPU的結(jié)構(gòu)框圖中,除了控制單元部分,其余部分都是數(shù)據(jù)通路部分,包括程序計數(shù)器PC、程序存儲器PC_RAM、指令寄存器IR、寄存器堆TRAM、數(shù)據(jù)選擇器ALUMUX和算術(shù)與邏輯單元ALU。整個系統(tǒng)可以分為兩個單元:取指單元,執(zhí)行單元。這樣可以得到結(jié)論:如果當前CPU正在執(zhí)行的是第N條指令,那么指令寄存器正在讀取的是N+1條指令,此時PC的值應(yīng)該是N+2。指令編碼結(jié)果如表2所示。其次,該微處理器實現(xiàn)了兩級指令流水線,采用哈佛結(jié)構(gòu)可使流水實現(xiàn)的難度大為降低,在采用流水線后,能夠有效地提高指令的執(zhí)行速度。盡管各種CPU的性能指標和結(jié)構(gòu)細節(jié)各不相同,但它們所能完成的基本功能相同,簡化CPU內(nèi)部結(jié)構(gòu)如圖21所示。研究了CPU的整體設(shè)計,指令系統(tǒng)和時序分析以及流水線的實現(xiàn)。2. CISC指令集和RISC指令集CISC是一種為了便于編程和提高內(nèi)存訪問效率的芯片設(shè)計體系。 微處理器的概況微處理器是計算機系統(tǒng)中非常之重要的核心組成部分,它用來控制計算機的各種操作過程,通常也被稱為CPU,即中央處理器。最后采用QUARTUSII對設(shè)計進行了仿真測試,結(jié)果表明設(shè)計實現(xiàn)了微處理器的主要功能。因此研究8位CPU內(nèi)核具有廣泛的現(xiàn)實意義,由于其具有較高的處理性能和較少的資源占用,故具有更加廣泛的應(yīng)用前景。在20世紀90年代中期之前,大多數(shù)的微處理器都采用CISC體系包括Intel的80x86和Motorola的6sK系列等[6]。第五章 CPU的仿真驗證。結(jié)構(gòu)見圖22所示:圖 22 這種結(jié)構(gòu)有兩個明顯的缺點:(1) CPU中控制器和運算器的速度必須與存儲器的速度相匹配;(2) 指令和數(shù)據(jù)的流動都通過同一條總線,使指令和數(shù)據(jù)的獨立性消弱;目前,RISC架構(gòu)的微處理器都采用哈佛結(jié)構(gòu),這種結(jié)構(gòu)具有分離地址總線的兩個存儲器,其中一個放程序,另一個放數(shù)據(jù),其指令和數(shù)據(jù)空間完全分開,可以同時訪問,且一次讀出,簡化控制電路,提高數(shù)據(jù)的吞吐率[12]。操作數(shù)在目的寄存器;(2) 雙寄存器尋址。8位CPU采用兩級流水線技術(shù),指令的流水線可以用圖24來簡單的示意:圖24 流水線指令執(zhí)行由圖可以看出,盡管每條指令的完成需要兩個周期的時間,但是在流水線結(jié)構(gòu)中,當前指令的取值周期和上一條指令的執(zhí)行周期在時間上是重疊的,對于這種并行操作,從平均角度來看,相當于一個周期內(nèi)完成一條指令,因此可以大大提高指令的運行速度[15]。當WR信號有效時,整個CPU進入指令輸入狀態(tài),當WR低電平時CPU進入指令讀取并完成指令操作的狀態(tài),當CPU完成全部輸入指令時進入停機狀態(tài),此時Start信號重新啟動CPU,使其進入等待狀態(tài)。系統(tǒng)中包括了很多寄存器的設(shè)計包括指令寄存器(IR),程序計數(shù)器(PC),這些寄存器大都在我們頂層可見的模塊的內(nèi)部,系統(tǒng)的工作也可以看作就是數(shù)據(jù)在這些寄存器之間的“遷移”,也即寄存器內(nèi)容的遷移。下面將一一介紹數(shù)據(jù)通路的各個模塊功能及其實現(xiàn)。當 WR 有效時,程序存儲器為寫狀態(tài),即將輸入程序存入其輸入地址對應(yīng)的存儲單元中, 即執(zhí)行操作 ram(conv_integer(waddr)) = wdata;當 WR 為低電平時,程序存儲器處于讀狀態(tài),其將程序計數(shù)器輸出地址 PC_OUT上 對應(yīng)的存儲單元中的指令輸出,即執(zhí)行操作instruction = ram(conv_integer(pc_in))。 將指定目的操作寄存器地址中的數(shù)據(jù)讀出并輸出。2位邏輯控制輸入信號Logic決定一個輸入數(shù)據(jù)的邏輯操作類型,可以有4種不同的功能組合。 else R=a1(7 downto 0)。Mealy型狀態(tài)機的輸出是當前狀態(tài)和所輸入信號決定的,它的輸出是在輸入變化后立即發(fā)生的,不依賴時鐘的同步[16]。process (state) begin //第二個模塊用組合邏輯判斷狀態(tài)的邏輯輸出 case state is //當狀態(tài)發(fā)生改變時,利用case語句輸出對應(yīng)狀態(tài)的信號 when exe = when sp = when tj = end case。 綜合RTL電路圖利用硬件語言法構(gòu)建好頂層文件,把所有模塊組裝成了一個整體,在對這個整體進行編譯和綜合成功后即可對它進行功能仿真。 邏輯運算類指令驗證匯編語言 機器碼 OR R1 , R2。本次設(shè)計中的CPU可以完成8位操作數(shù)的算術(shù)和邏輯運算、移位運算、數(shù)據(jù)的輸出和寫入操作,兩級流水線控制時序,狀態(tài)機控制狀態(tài)轉(zhuǎn)換。use 。 fromins : in std_logic_vector(15 downto 0)。 toA,toB : out unsigned(7 downto 0) )。 toabsel,tlogic:OUT STD_LOGIC_vector(1 downto 0)。 waddr : in unsigned(7 downto 0)。 SIGNAL reg_rd,reg_rr: UNSIGNED(7 DOWNTO 0)。ENTITY pc IS PORT ( clk,fen : IN STD_LOGIC 。 then cq := cq + 1。 wr : in std_logic 。end rtl。 VARIABLE toira : std_logic_vector(3 downto 0)。 end if。 type memory_t is array(15 downto 0) of word_t。 end case。 when 0010 = ram(2) = fR0。 fromrd : in std_logic_vector(3 downto 0)。 THEN torr = torra。 torr : out std_logic_vector(3 downto 0)。139。use 。event and clk=39。 U9: control PORT MAP(fromir = ir,toabsel = absel,toalu_ctrl = alu_ctrl,tlogic = logic,tload = load,tjamp = jamp, tsleep = sleep,tstore =store, touten =outen,toram_ctrl = ram_ctrl)。 SIGNAL alu_ctrl :std_logic_vector(3 downto 0)。LIBRARY IEEE。END COMPONENT alu。 fromdata: in std_logic_vector(3 downto 0)。 wdata : in std_logic_vector(15 downto 0)。[4」肖剛,1998,6(S):15—6[5]張駿,樊曉婭,2007,24(11):200—202.[6]:北京航空航大出版社,—328[7]:浙江大學(xué)出版社,—231[8]微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計。數(shù)據(jù)傳送指令(MOV)可以完成立即數(shù)寫入目的寄存器的操作。 1011000000000000圖52 加法操作仿真仿真結(jié)果如圖51所示,當寫信號WR為低電平時說明程序?qū)懭氤绦虼鎯ζ髦?,狀態(tài)機從待機復(fù)位狀態(tài)轉(zhuǎn)入執(zhí)行狀態(tài),在下一周期時PC值加一,同時程序存儲器輸出0地址的指令,指令寄存器在第二個周期鎖存指令,在下個周期的前半個時鐘控制器譯碼并發(fā)出控制信號,寄存器堆在控制信號控制下處理操作數(shù),后半個周期進行輸出操作。 END COMPONENT pc。 then state = tj。圖41 控制器Control外部接口控制器根據(jù)4位操作碼IR進行譯碼,通過指令譯碼給出其它各單元的操作控制信號,包括ALU 單元的算術(shù)和邏輯運算控制信號、移位控制信號,操作數(shù)輸入選擇信號、結(jié)果輸出信號,TRAM 的讀寫控制、送入狀態(tài)機得停機控制信號。Process (clk) begin if (rising_edge(clk)) then if fouten =39。取操作數(shù)單元負責對ALU的兩個操作數(shù)A和B的取值,執(zhí)行運算單元負責將取到的操作數(shù)進行相應(yīng)的操作。當en有效時指令寄存器才能更新來自程序存儲器的指令。 程序存儲器PC_RAM程序存儲器是存儲微處理器程序,即能執(zhí)行特定功能的一組指令組合。在這一章中將細分數(shù)據(jù)通路模塊,數(shù)據(jù)通路是CPU中的執(zhí)行部件,數(shù)據(jù)傳輸、存儲、處理都是在數(shù)據(jù)通路中完成的。微處理器的時鐘采用邊沿觸發(fā)的方式,整個系統(tǒng)采用單時鐘電路,即提供一個系統(tǒng)時鐘,每當時鐘邊沿到來的時候,向狀態(tài)單元寫入數(shù)據(jù)。表2說明了在引入流水線后PC的具體工作情況:表3 指令執(zhí)行中PC值的變化情況時鐘周期Reset周期1周期2周期3周期4PC0 1234第一條指令讀取指令0執(zhí)行指令0第二條指令讀取指令1執(zhí)行指令1第三條指令讀取指令2執(zhí)行指令2表3表明,在系統(tǒng)復(fù)位時,PC內(nèi)的值清0,第一個時鐘周期,指令寄存器取PC為0的地址的指令,同時PC的值加1;第二個時鐘周期,執(zhí)行
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1