【正文】
指令。在時(shí)鐘上升沿PC產(chǎn)生進(jìn)入PCRAM的地址,由于PCRAM 有反應(yīng)時(shí)間,經(jīng)過(guò)一段很短的時(shí)間讀出指令,在下一個(gè)時(shí)鐘上升沿到來(lái)時(shí),指令寄存器鎖存指令,然后開始對(duì)指令進(jìn)行譯碼,并產(chǎn)生操作數(shù)、目的存儲(chǔ)器/寄存器地址、寫信號(hào)及各種控制信號(hào)。為了降低執(zhí)行每條指令所需時(shí)鐘數(shù),本文也采用兩級(jí)流水,其功能分別定義為:第一級(jí),取指;第二級(jí),時(shí)鐘前半周期控制器譯碼、發(fā)出控制信號(hào),時(shí)鐘后半周期進(jìn)行對(duì)寄存器堆TRAM進(jìn)行讀操作、ALU計(jì)算。8位CPU采用兩級(jí)流水線技術(shù),指令的流水線可以用圖24來(lái)簡(jiǎn)單的示意:圖24 流水線指令執(zhí)行由圖可以看出,盡管每條指令的完成需要兩個(gè)周期的時(shí)間,但是在流水線結(jié)構(gòu)中,當(dāng)前指令的取值周期和上一條指令的執(zhí)行周期在時(shí)間上是重疊的,對(duì)于這種并行操作,從平均角度來(lái)看,相當(dāng)于一個(gè)周期內(nèi)完成一條指令,因此可以大大提高指令的運(yùn)行速度[15]。這樣按順序第1條指令執(zhí)行完再取第2條指令,第2條執(zhí)行完在取第3條指令的順序執(zhí)行方式執(zhí)行一條指令最少需要兩個(gè)時(shí)鐘周期,如果執(zhí)行10條指令那么就得需要10個(gè)時(shí)鐘周期,顯然這樣指令的執(zhí)行效率不高。 表2 指令編碼指令類型指令機(jī)器碼ADD0001 0000r r r rd d d dSUB0010 0000r r r rd d d dAND0011 0000r r r rd d d dOR0100 0000r r r rd d d dLSL0101 00000000 d d d dLSR011000000000d d d dMOV0111LLLLHHHHd d d dST100000000000d d d dLD100100000000d d d dSLEEP1011000000000000 指令時(shí)序分析 RISC與流水線指令的執(zhí)行分成兩個(gè)階段:取指階段和執(zhí)行階段。1514131211109876543210LLLLHHHHdddd指令編碼 確定了指令的格式,就可以對(duì)指令進(jìn)行編碼,這樣指令就有唯一的身份識(shí)別。1514131211109876543210dddd對(duì)于立即數(shù)指令,指令中間8位是8位常數(shù),其中H 代表常數(shù)的高四位,L代表常數(shù)的低四位,d用來(lái)尋址目的寄存器。1514131211109876543210rrrrdddd對(duì)于僅需要一個(gè)寄存器的指令,d用來(lái)尋址目標(biāo)寄存器。所有的指令碼都很容易譯碼。指令格式定義正如以前所提到的,RISC總是有固定長(zhǎng)度以便于譯碼。操作數(shù)在目的寄存器;(2) 雙寄存器尋址。每條指令的字長(zhǎng)都是16位,包含足夠的信息:指令操作碼,源操作數(shù)地址,目的操作數(shù)地址,立即數(shù)[1314]。再次,該微處理器采用了硬布線邏輯代替微程序控制的方法,提高了指令的執(zhí)行速度和效率。首先,哈佛結(jié)構(gòu)的指令總線和數(shù)據(jù)總線分開,可以使用不同位寬的指令和數(shù)據(jù),還有一個(gè)最大好處就是可以預(yù)取指令,這樣對(duì)流水線是很有用的。(2) 讀取指令和存儲(chǔ)器數(shù)據(jù)交換可以在多步流水線中同時(shí)進(jìn)行,這在馮. 諾依曼單地址總線結(jié)構(gòu)中很難實(shí)現(xiàn)。這種結(jié)構(gòu)的優(yōu)點(diǎn)是:(1) 允許數(shù)據(jù)從程序存儲(chǔ)器傳遞到SRAM,該功能也允許從程序存儲(chǔ)器 中讀取數(shù)據(jù)表。 圖23 哈佛結(jié)構(gòu)圖結(jié)構(gòu)見(jiàn)圖22所示:圖 22 這種結(jié)構(gòu)有兩個(gè)明顯的缺點(diǎn):(1) CPU中控制器和運(yùn)算器的速度必須與存儲(chǔ)器的速度相匹配;(2) 指令和數(shù)據(jù)的流動(dòng)都通過(guò)同一條總線,使指令和數(shù)據(jù)的獨(dú)立性消弱;目前,RISC架構(gòu)的微處理器都采用哈佛結(jié)構(gòu),這種結(jié)構(gòu)具有分離地址總線的兩個(gè)存儲(chǔ)器,其中一個(gè)放程序,另一個(gè)放數(shù)據(jù),其指令和數(shù)據(jù)空間完全分開,可以同時(shí)訪問(wèn),且一次讀出,簡(jiǎn)化控制電路,提高數(shù)據(jù)的吞吐率[12]。目前主流CPU指令可以分為RISC和CISC,由上節(jié)介紹可知,RISC微處理器指令系統(tǒng)的指令種類少而經(jīng),尋址方式簡(jiǎn)單,指令格式固定,所以本次設(shè)計(jì)采用RISC指令系統(tǒng) RISC 與總線結(jié)構(gòu)(Von Neumann)結(jié)構(gòu),CISC架構(gòu)的微處理器常采用這種結(jié)構(gòu)。圖21 簡(jiǎn)化CPU內(nèi)部結(jié)構(gòu) 指令系統(tǒng)分析指令系統(tǒng)結(jié)構(gòu)是微處理器體系結(jié)構(gòu)的一個(gè)重要部分,是微處理器設(shè)計(jì)的基礎(chǔ)。(1) 能對(duì)指令進(jìn)行譯碼并執(zhí)行規(guī)定動(dòng)作;(2) 可以進(jìn)行算術(shù)和邏輯運(yùn)算;(3) 能與存儲(chǔ)器和外設(shè)交換數(shù)據(jù);(4) 提供整個(gè)系統(tǒng)所需的控制。執(zhí)行指令:根據(jù)分析指令時(shí)產(chǎn)生的“操作命令”形成相應(yīng)的操作控制序列,通過(guò)運(yùn)算器、存儲(chǔ)器及輸入輸出的執(zhí)行,實(shí)現(xiàn)每條指令的功能,其中包括對(duì)運(yùn)算結(jié)果的處理及下條指令地址的形成。 CPU的作用是協(xié)調(diào)和控制計(jì)算機(jī)的各個(gè)部件,并執(zhí)行程序的指令序列,使其有條不紊的進(jìn)行,因此必須具備以下基本功能:取指令:當(dāng)程序已在存儲(chǔ)器中時(shí),首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令的地址及相關(guān)的控制信號(hào)。計(jì)算機(jī)進(jìn)行信息處理可分為以下兩個(gè)步驟[9]。第六章 總結(jié)和展望。第五章 CPU的仿真驗(yàn)證。第四章 CPU控制單元的設(shè)計(jì)。第三章 CPU數(shù)據(jù)通路設(shè)計(jì)。第二章 微處理器的體系結(jié)構(gòu)。 課題工作內(nèi)容本文一共分為七章。(5) 以寄存器對(duì)寄存器的運(yùn)算為主。因?yàn)椴恍枰~外的存取微程序存儲(chǔ)器來(lái)完成指令的執(zhí)行,因此可以直接使用硬連線方式來(lái)設(shè)計(jì);(3) 指令定長(zhǎng),指令格式簡(jiǎn)單,指令編碼固定。1975年,IBM的設(shè)計(jì)師提出了一種新的體系結(jié)構(gòu)和指令集設(shè)計(jì)方案,這就是RISC體系結(jié)構(gòu)。在20世紀(jì)90年代中期之前,大多數(shù)的微處理器都采用CISC體系包括Intel的80x86和Motorola的6sK系列等[6]。后來(lái) 功能需求越來(lái)越豐富,因此越來(lái)越多的復(fù)雜指令被加入到指令系統(tǒng)中,但是還必須保持著前向的兼容性。早期的計(jì)算機(jī)使用匯編語(yǔ)言編程,由于內(nèi)存速度慢且價(jià)格昂貴,使得CISC體系得到了用武之地。(5) 具有向ASIC移植的能力。(4) 具有良好的可移植能力。(2) 具有共享與復(fù)用能力 VHDL采用基于庫(kù)的設(shè)計(jì)方法,從而大大減少了工作量,縮短了開發(fā)周期。 技術(shù)背景 1. 硬件描述語(yǔ)言VHDL 如今,大多數(shù)的EDA工具都采用VHDL作為主要的硬件描述語(yǔ)言,這主要源于VHDL強(qiáng)大的自身功能和特點(diǎn),下面介紹一下VHDL的優(yōu)點(diǎn)。自頂向下的設(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ì)和仿真。因此研究8位CPU內(nèi)核具有廣泛的現(xiàn)實(shí)意義,由于其具有較高的處理性能和較少的資源占用,故具有更加廣泛的應(yīng)用前景。但是,在微控制器的發(fā)展過(guò)程中,8位機(jī)始終是嵌入式低端應(yīng)用的主要機(jī)型[4]。隨著科學(xué)技術(shù)的迅速發(fā)展,微處理器的發(fā)展也是非常迅速,它的處理能力已經(jīng)由過(guò)去的4位發(fā)展到現(xiàn)在的64位,運(yùn)算能力和處理能力大大提高,應(yīng)用領(lǐng)域也從計(jì)算機(jī)系統(tǒng)擴(kuò)展到各個(gè)相關(guān)領(lǐng)域,例如通信、航天和工業(yè)控制等??梢?jiàn),SOPC是基于FPGA解決方案的SOC,是SOC發(fā)展的新階段。其中CPU是SOC的重要組成部分,可以完成簡(jiǎn)單的數(shù)據(jù)處理,內(nèi)存的調(diào)度,中斷處理等操作。巨大的市場(chǎng)的需求決定了開發(fā)SOC的必要性,現(xiàn)在數(shù)字家電的片上系統(tǒng)研究己經(jīng)成為研究的熱點(diǎn)之一。中國(guó)的電子信息產(chǎn)業(yè)現(xiàn)在增長(zhǎng)迅速,主要集中在移動(dòng)通信設(shè)備、數(shù)據(jù)通信設(shè)備、計(jì)算機(jī)及消費(fèi)產(chǎn)品領(lǐng)域。附錄 30山東大學(xué)威海分校畢業(yè)設(shè)計(jì)(論文)第1章 緒論 背景隨著數(shù)字通信和工業(yè)控制領(lǐng)域的高速發(fā)展,超大規(guī)模集成電路的集成度和工藝水平不斷提高,要求專用集成電路(ASIC)的功能越來(lái)越強(qiáng),功耗越來(lái)越低,生產(chǎn)周期越來(lái)越短,這些都對(duì)芯片設(shè)計(jì)提出了巨大的挑戰(zhàn),傳統(tǒng)的芯片設(shè)計(jì)方法已經(jīng)不能適應(yīng)復(fù)雜的應(yīng)用需求了,將整個(gè)應(yīng)用電子系統(tǒng)集成在一個(gè)芯片中(SOC), 已成為現(xiàn)代電子系統(tǒng)設(shè)計(jì)的趨勢(shì)。最后采用QUARTUSII對(duì)設(shè)計(jì)進(jìn)行了仿真測(cè)試,結(jié)果表明設(shè)計(jì)實(shí)現(xiàn)了微處理器的主要功能?;贔PGA的微處理器設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目 基于FPGA的微處理器設(shè)計(jì)ABSTRACT摘 要本文使用結(jié)構(gòu)化編程方法,將微處理器內(nèi)核按照功能劃分為不同的模塊,采用VHDL語(yǔ)言設(shè)計(jì)每一個(gè)模塊的內(nèi)部功能和外圍接口,設(shè)計(jì)實(shí)現(xiàn)了一種基于FPGA芯片的微處理器系統(tǒng)。該微處理器主要由控制器、運(yùn)算器和寄存器組成,具有指令控制、操作控制、時(shí)間控制和數(shù)據(jù)加工等基本功能,可實(shí)現(xiàn)四位操作數(shù)的各種運(yùn)算,其指令長(zhǎng)度為16位定長(zhǎng),采用了直接尋址方式。關(guān) 鍵 字:FPGA,微處理器,VHDLABSTRACTA microprocessor on FPGA is realized by using structured programming. This microprocessor core is divided into several different function modules which are designed using VHDL.The microprocessor consists of controller, arithmetic unit and registers. It realizes the instruction control, operation control, time sequence control and data processing functions. The direct addressing mode is adopted. The various operations for 4bit operand can be achieved. Its instruction length is 16 bit.The design is simulated by using QUARTUSII, and the results show that the main functions of a microprocessor are achieved.Key Words: FPGA, CPU, VHDLIII目錄目 錄摘 要 IABSTRACT II第1章 緒論 1 背景 1 微處理器的概況 1 課題研究方法及技術(shù)背景 1 研究方法 1 技術(shù)背景 2 課題工作內(nèi)容 3第二章 微處理器體系結(jié)構(gòu) 4 CPU的功能和構(gòu)成 4 指令系統(tǒng)分析 5 RISC 與總線結(jié)構(gòu) 5 指令系統(tǒng) 6 指令時(shí)序分析 8 RISC與流水線 8 程序計(jì)數(shù)器與流水線 8 CPU整體結(jié)構(gòu)即設(shè)計(jì)思想 9 CPU的外部引腳規(guī)劃 9 CPU的整體框圖 10 CPU結(jié)構(gòu)的層次劃分 11第三章 CPU數(shù)據(jù)通路設(shè)計(jì) 12 程序計(jì)數(shù)器模塊PC 12 程序存儲(chǔ)器PC_RAM 13 指令寄存器模塊 14 時(shí)鐘發(fā)生器模塊 14 寄存器堆TRAM 15 ALU模塊 16第四章 CPU控制單元的設(shè)計(jì) 18 控制器Control模塊 18 有限狀態(tài)機(jī)FSM模塊 19 有限狀態(tài)機(jī) 19 利用的VHDL語(yǔ)言進(jìn)行狀態(tài)機(jī)描述 19第五章 RISC CPU的仿真驗(yàn)證 21 各模塊的組合 21 綜合RTL電路圖 21 RISCCPU的功能仿真驗(yàn)證 24 算術(shù)運(yùn)算類指令驗(yàn)證 24 邏輯運(yùn)算類指令驗(yàn)證 25 移位類指令驗(yàn)證 25 LD數(shù)據(jù)輸出指令仿真 26 ST運(yùn)算數(shù)據(jù)存儲(chǔ)仿真 26 總結(jié) 27第六章 總結(jié)和展望 28參考文獻(xiàn) 29致謝 錯(cuò)誤!未定義書簽。簡(jiǎn)單來(lái)說(shuō),SOC是一種將多個(gè)獨(dú)立的VLSI設(shè)計(jì)拼合在一起,來(lái)形成某一應(yīng)用所需的全部功能的集成電路,以其高集成度、低功耗等優(yōu)點(diǎn)越來(lái)越受歡迎[1]??紤]到我國(guó)電子信息市場(chǎng)的特殊性,即巨大的移動(dòng)通信和數(shù)字家電市場(chǎng)的核心芯片主要依賴進(jìn)口的狀況。研究SOC的設(shè)計(jì)方法和驗(yàn)證方法具有很大的現(xiàn)實(shí)意義[23]。隨著百萬(wàn)門級(jí)的FPGA芯片、功能復(fù)雜的IP核、可重構(gòu)的嵌入式處理器核以及各種強(qiáng)大EDA的開發(fā)工具的迅速發(fā)展,使得設(shè)計(jì)者在EDA工具的幫助下完成整個(gè)系統(tǒng)從行為算法級(jí)到物理結(jié)構(gòu)級(jí)的全部設(shè)計(jì),并最終將一個(gè)電子系統(tǒng)集成到一片F(xiàn)PGA中,即SOPC。 微處理器的概況微處理器是計(jì)算機(jī)系統(tǒng)中非常之重要的核心組成部分,它用來(lái)控制計(jì)算機(jī)的各種操作過(guò)程,通常也被稱為CPU,即中央處理器。通常,微處理器按照處理能力可以劃分為4位、8位、16位、32位和64位微處理器,它的處理能力是逐步提高的?,F(xiàn)今市場(chǎng)上流行的典型的8位微控制器,可以在各種FPGA上實(shí)現(xiàn),設(shè)計(jì)靈活方便而且易于進(jìn)行功能擴(kuò)展。 課題研究方法及技術(shù)背景 研究方法本課題使用硬件描述語(yǔ)言VHDL采用自頂向下的設(shè)計(jì)方法設(shè)計(jì)一個(gè)滿足要求的8位CPU內(nèi)核及外部接口,使用EDA軟件QUARTUSII軟件完成編碼、仿真驗(yàn)證。不難看出,采用自頂向下的設(shè)計(jì)方法實(shí)際上就是基于芯片的系統(tǒng)設(shè)計(jì)方法,這種方法有助于在設(shè)計(jì)早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)中的錯(cuò)誤,提高設(shè)計(jì)成功率。(1) 具有強(qiáng)大的描述能力VHDL既可以描述系統(tǒng)級(jí)電路,也可以描述門電路;既可以采用行為描述、寄存器描述或者結(jié)構(gòu)描述,可以方