• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于FPGA的16位CPU設(shè)計

      2013-08-03 01:28:34馬軍爽
      山東工業(yè)技術(shù) 2013年14期
      關(guān)鍵詞:流水線端口指令

      馬軍爽

      (唐山學(xué)院 信息工程系,河北 唐山063000)

      0 引言

      隨著我國信息化進(jìn)程的不斷推進(jìn),計算機(jī)技術(shù)還將對我國的生產(chǎn)力的發(fā)展產(chǎn)生日益深遠(yuǎn)的影響。 近年來我國在CPU 設(shè)計領(lǐng)域取得了一些重大突破,相繼研制出龍芯系列、方舟系列高性能CPU,此外位于臺灣的威盛電子也是較大的處理器生產(chǎn)商。 然而我國的CPU 設(shè)計及制造技術(shù)與國外相比還有很大差距, 我國信息產(chǎn)業(yè)中與CPU 相關(guān)的許多核心技術(shù)及產(chǎn)品仍然主要依賴進(jìn)口,不僅經(jīng)濟(jì)上受制于人,而且信息系統(tǒng)的安全乃至國家安全也面臨威脅。 FPGA 技術(shù)自20 世紀(jì)80年代中期出現(xiàn)至今,引起了電子設(shè)計技術(shù)的深刻變革,也成為現(xiàn)代電子設(shè)計技術(shù)的核心。 因此,基于FPGA 技術(shù)的CPU 設(shè)計具有較高的研究價值。

      1 16 位CPU 的流水線結(jié)構(gòu)設(shè)計

      流水線(pipelining)是提高CPU 運(yùn)行效率的關(guān)鍵技術(shù)。 和工業(yè)流水相似,流水線的核心思想是把多條指令的執(zhí)行重疊起來。 在任何時候,CPU 同時處理多條指令,這些指令分處于不同的運(yùn)行周期,使用不同的物理器件。

      在流水線CPU 中, 每條指令的指令執(zhí)行過程被分成若干個執(zhí)行階段。只有當(dāng)每一個執(zhí)行階段都完成之后,一條指令才算執(zhí)行完畢。在每一個指令執(zhí)行階段中,當(dāng)一條指令在該階段中完成執(zhí)行之后,下一條指令將立即進(jìn)入到該執(zhí)行階段開始執(zhí)行。 當(dāng)流水線處于飽和狀態(tài)時,CPU 中將有與流水線級數(shù)相同數(shù)目的指令在同時執(zhí)行, 本設(shè)計將流水線分為4 個階段,每一個執(zhí)行階段的名稱和功能如下∶

      1)IF∶取指令階段;

      2)ID∶指令譯碼階段;

      3)EXE∶指令執(zhí)行階段;

      4)PPR∶后處理階段。

      2 16 位CPU 主要模塊設(shè)計

      2.1 程序計數(shù)器模塊的設(shè)計

      程序計數(shù)器的模塊結(jié)構(gòu)如圖1 所示, 其中pc_addr 為16 位數(shù)據(jù)輸出端口,os16 為CPU 與操作系統(tǒng)的接口,enable 為其控制端,當(dāng)enable 為高電平時os16 輸入有效。ir_addr 和imme 分別為分支和跳轉(zhuǎn)指令的指令運(yùn)算所需要的16 位擴(kuò)展加數(shù)輸入端口。 en 為該模塊的使能控制輸入信號,load 和branch 分別為跳轉(zhuǎn)和分支控制信號。 該模塊的功能為∶ 在時鐘作用下, 當(dāng)跳轉(zhuǎn)和分支控制指令為低電平時,pc_addr 地址加1。

      2.2 指令寄存器模塊的設(shè)計

      此模塊的結(jié)構(gòu)圖如2 所示, 其中data 為16 位數(shù)據(jù)輸入端口,ena為該模塊的使能信號端口,clk 和rst 分別為時鐘和復(fù)位信號端口,instr 為16 位數(shù)據(jù)輸出端口。

      此模塊的功能是在ena 信號為高電平的條件下將16 位輸入指令數(shù)據(jù)送給16 位輸出端口instr。

      圖1

      圖2

      2.3 ALU 模塊設(shè)計

      此模塊結(jié)構(gòu)如圖3 所示, 其中a 和b 為16 位操作數(shù)輸入端口,aluop 為4 位的alu 操作碼信號輸入端口,shift 為4 位的偏移量信號輸入端口,result 為16 位的結(jié)果輸出端口。 此模塊為CPU 的核心運(yùn)算模塊,其功能為在aluop 的控制下進(jìn)行各種算數(shù)、邏輯及移位運(yùn)算操作。ALU 操作碼aluop 并不是指令中的操作碼部分,而是經(jīng)由指令譯碼模塊產(chǎn)生的控制信號。

      圖3

      2.4 指令譯碼模塊的設(shè)計

      此模塊為CPU 的邏輯控制及調(diào)度中心, 它的功能是根據(jù)輸入指令的類型及特點產(chǎn)生一系列的控制信號,協(xié)調(diào)其他模塊正確滴完成指令的執(zhí)行過程。

      2.5 通用寄存器堆的設(shè)計

      通用寄存器堆模塊為CPU 的通用數(shù)據(jù)集散中心, 它既可以為指令的執(zhí)行提供操作數(shù),也可以存儲運(yùn)算處理的結(jié)果,還可以和主存進(jìn)行數(shù)據(jù)交換。 此模塊采用通用RAM 模塊的設(shè)計思想,在普通的RAM基礎(chǔ)上擴(kuò)展相應(yīng)的數(shù)據(jù)及地址輸入輸出端口實現(xiàn)了通用寄存器堆的功能。

      3 CPU 的結(jié)果測試

      本設(shè)計采用的驗證方式是設(shè)計相關(guān)的外圍模塊,通過實際運(yùn)行測試程序來驗證CPU 的方法。這種方法更具體更實際。圖4 為本設(shè)計的16 位CPU 由os16 端口裝入程序首地址的操作的時序仿真結(jié)果。

      圖4

      通過仿真結(jié)果可以看出,本設(shè)計中的處理器功能正確,能實現(xiàn)定點加減法運(yùn)算、邏輯運(yùn)算、移位運(yùn)算、數(shù)據(jù)傳送、指令跳轉(zhuǎn)等功能,控制邏輯及數(shù)據(jù)通路的時序匹配合理,運(yùn)算速度快,精度高。

      4 結(jié)論

      本設(shè)計根據(jù)FPGA 技術(shù)的特點, 提出了一種基于FPGA 的16 位CPU 的設(shè)計方法。設(shè)計中采用了自頂向下、模塊化的設(shè)計思想,將整個CPU 的設(shè)計分各個功能模塊,利用VHDL 語言進(jìn)行了各個功能模塊的設(shè)計,最后采用原理圖的方法將各個模塊組合成一個完整的微處理器內(nèi)核。 本設(shè)計對16 位的CPU 設(shè)計方法進(jìn)行了探討,研究了片上系統(tǒng)的設(shè)計方法和技術(shù),為實現(xiàn)高性能的CPU 設(shè)計提供了研究基礎(chǔ),有較高的研究價值。

      [1]朱子玉,李亞民.CPU 芯片邏輯設(shè)計技術(shù)[M].北京∶清華大學(xué)出版社,2005,01.

      [2]張洪潤,張亞凡.FPGA/CPLD 應(yīng)用設(shè)計200 例[M].北京∶北京航空航天大學(xué)出版社,2009,01.

      [3]王賦攀,畢國堂.一種基于FPGA 和軟核CPU 的嵌入式系統(tǒng)設(shè)計方法[J].電腦知識與技術(shù),2007,06.

      [4]江先陽,沈緒榜,張?zhí)煨?基于ARM 核的嵌入式CPU 內(nèi)AHB 接口的實現(xiàn)[J].通信學(xué)報,2002,07.

      猜你喜歡
      流水線端口指令
      Gen Z Migrant Workers Are Leaving the Assembly Line
      聽我指令:大催眠術(shù)
      一種端口故障的解決方案
      流水線
      ARINC661顯控指令快速驗證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      端口阻塞與優(yōu)先級
      報廢汽車拆解半自動流水線研究
      初識電腦端口
      電腦迷(2015年6期)2015-05-30 08:52:42
      生成樹協(xié)議實例探討
      巴东县| 巴林右旗| 福建省| 增城市| 建瓯市| 肃北| 塘沽区| 东光县| 温宿县| 锡林浩特市| 惠东县| 麻阳| 穆棱市| 龙泉市| 德化县| 青神县| 连州市| 洛扎县| 河曲县| 奎屯市| 微博| 昌吉市| 南皮县| 房产| 凤台县| 邳州市| 昭苏县| 石门县| 景洪市| 阿克苏市| 芮城县| 庆云县| 阜南县| 宣汉县| 伽师县| 阳泉市| 武功县| 南溪县| 新源县| 辽宁省| 大名县|