国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

你們會設計CPU取指執行電路嗎?

FPGA之家 ? 來源:數字積木 ? 作者:數字積木 ? 2021-07-27 16:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【前言】

最近手上寫了一個練手的小項目,項目的大致要求是實現一個取指,執行電路。取指的指令預存在,從ROM中讀取指令后,根據預定的解碼規則,對指令進行解碼,并執行相對應的操作。發出來和大家共同分享。

該工程的設計要求如下:

ram模塊中,儲存有初始化的指令數據。我們要設計一個取指電路,并能根據不同的指令執行不同的操作。指令數據為16bit.

指令編碼定義如下:

如果指令代碼為0,則下一個狀態為空閑。如果指令的低位8位為0,高位8位非0,則讀取指定高位8位的存儲器,并將其寫入obuf0。如果指令的低8位非0,且高8位也不是0,則將下8位作為數據,寫入地址為上8位的存儲器中。

List4顯示了指令獲取電路。它實例化了五個模塊:PC0(程序計數器、8位計數器)、Ir0(指令寄存器、16位計數器)、OBUF0(輸出緩沖器、16位計數器)、STATE0(狀態機)和RAM0(存儲器,8位256字塊RAM)。模塊pc0用于指定要讀取的地址,以便從ram0獲取(提取)指令代碼。指令代碼存儲在IR0中。

此指令獲取操作在兩種狀態下執行:fetcha和fetchb。fetcha用于取地址操作,該地址作為讀取ram中指令的地址,fetchb用于指令寄存操作,將指令寄存到指令寄存器中。

在execa和execb狀態下,執行表1中的操作。如果存儲在IR0中的指令代碼為0,則下一個狀態為空閑。如果指令的低位8位為0,高位8位非0,則讀取指定高位8位的存儲器,并將其寫入obuf0。如果指令的下8位非0,則將下8位寫入地址為上8位的存儲器。

指令解碼列在table1中

頂層代碼如圖所示:

下面是該工程的測試模塊:

1796e308-eb92-11eb-a97a-12bb97331649.jpg

下面的ram模塊的代碼:

17b49bb4-eb92-11eb-a97a-12bb97331649.jpg

狀態控制模塊的代碼:

17c181d0-eb92-11eb-a97a-12bb97331649.png

計數器模塊的代碼:

17d38f1a-eb92-11eb-a97a-12bb97331649.png

設計說明

該工程有以下模塊組成:

PC0(程序計數器、8位計數器)、

Ir0(指令寄存器、16位計數器)、

OBUF0(輸出緩沖器、16位計數器)、

STATE0(狀態機)、

RAM0(存儲器,8位256字塊RAM)。

其中,PC0,IR0,OBUF0是例化計數器模塊得到的,該計數器模塊擁有計數和寄存數據兩個功能,分別由端口 inc 和 端口 load 控制。

當 inc有效時,在下一個時鐘,會將計數器內部的計數器自增1,并在q端輸出。

當load信號有效時,在下一個時鐘會將D端 的數據寄存到該計數器的寄存器中,并在Q端輸出。

PC0利用的是計數器的計數功能,用于產生取指令的地址信息。

IR0利用的是計數器的寄存功能,用于將ram中取出的指令暫時寄存。

OBUF0利用的是計數器的寄存功能,用于將輸出中暫時寄存。

在狀態機控制模塊中,設置了以下五個狀態:

IDLE:空閑態。

FETCHA:取地址狀態。同時將程序計數器的內部計數值加一。

FETCHB:取指令,指令寄存狀態。將從ram中讀出的指令寫入到指令寄存器模塊中。

EXECA:指令解碼模塊,判斷指令的停止,讀,寫控制信號。如果為寫信號,將指令的低8位作為數據寫到高8位對應的地址中。如果為讀指令,跳轉到EXECB狀態,將指令的低8位輸出。如果停止信號為真3,跳轉到空閑狀態。

EXECB:執行狀態。用于將指令的低8位輸出。

在ram模塊中,儲存有初始化的指令數據。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11279

    瀏覽量

    224990

原文標題:簡單的CPU取指執行電路設計

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    最小化ARM Cortex-M CPU功耗的方法與技巧分享

    ,Cortex-M0+內核也可以通過減少到兩級流水線而降低功耗。在通常的流水線處理器中,下一條指令在CPU執行當前指令時被取出。如果程序產生分支,并且不能使用下一條取出的指令,那么被用于
    發表于 01-21 06:19

    CW32F030 FLASH 存儲器的注意事項

    = *( ( uint32_t * ) 0x0000 0003 ) ; ?操作完成標志查詢當 CPU 從 FLASH 中并運行時,如果執行對 FLASH 的頁擦除 / 寫操作,
    發表于 01-12 06:26

    單片機程序的執行

    ,DDRRAM的速度也是很慢,即使是SRAM也是慢了不少,于是再提高工作頻率也提高不了程序的執行速度,所以現在CPU工作頻率最快是在2003左右,一個瓶頸出現了。 為了提高CPU的使用率,換個角度想一下
    發表于 12-04 06:20

    從代碼執行看單片機內存的分配

    是要求把取得的數送到A累加器,所以取出的數字經內部數據總線進入A累加器,而不是進入指令寄存器。至此,一條指令的執行完畢! 單片機中PC=0002H,PC在CPU每次向存儲器
    發表于 12-02 07:58

    電路板三防漆是哪三防?

    三防漆在電子行業意義重大,其“三防”功能明確指向防潮、防鹽霧、防霉。電子設備運行中,潮濕電路板短路腐蝕,鹽霧侵蝕金屬影響電氣性能,霉菌滋生干擾功能,三防漆正是為應對這些惡劣因素,提升設備可靠性
    的頭像 發表于 11-21 16:58 ?763次閱讀
    <b class='flag-5'>電路</b>板三防漆是<b class='flag-5'>指</b>哪三防?

    流水線基本結構

    3級流水線(Cortex-M0) 分為以下三個階段: (Fetch):從存儲器中讀取指令。 解碼(Decode):解析指令的操作類型和操作數。 執行(Execute):執行指令(如
    發表于 11-21 07:35

    蜂鳥E203部分(IFU)架構解讀

    蜂鳥E203的原理: ITCM是64位寬的SRAM,每64位為一個lane。由于ITCM是由SRAM構成的,因此上次訪問讀過SRAM之后,SRAM的輸出值一直保存住(直到下次 SRAM 被再次讀
    發表于 10-21 09:55

    POE電保護

    防雷 / 過電壓 / 電流 / ESD 電子電路保護器件專業提供商 針對POE電, 國際IEEE 802.3標準說明 及兩種電方式 ? www.yint.com.cn 本文為音特公司技術人員
    的頭像 發表于 10-17 16:33 ?508次閱讀
    POE<b class='flag-5'>取</b>電保護

    CPU 到 GPU,渲染技術如何重塑游戲、影視與設計?

    CPU(CentralProcessingUnit)是計算機的中央處理器,它負責執行各種程序和指令。CPU渲染是指使用CPU執行渲染流程
    的頭像 發表于 09-01 12:16 ?982次閱讀
    從 <b class='flag-5'>CPU</b> 到 GPU,渲染技術如何重塑游戲、影視與設計?

    如果在FMC執行“程序”或“擦除”時發生中斷事件,是否處理中斷事件?

    如果在FMC執行“程序”或“擦除”時發生中斷事件,是否處理中斷事件?
    發表于 08-27 08:01

    探索CPU架構的奧秘,揭秘高性能計算的隱形引擎

    的深海,揭開那些隱藏在高性能計算背后的神秘面紗。1.指令(Fetch)程序計數器(PC):CPU通過程序計數器獲取下一條指令的內存地址。指令讀取:從存儲器或緩存中讀
    的頭像 發表于 08-13 11:58 ?795次閱讀
    探索<b class='flag-5'>CPU</b>架構的奧秘,揭秘高性能計算的隱形引擎

    請問USB緩沖區數據可以多次嗎?

    在使用USB軟件獲取數據是,下位機給我發送了13個32位數據到USB IN緩沖區,為什么我調用API函數想要第一次1個32位數據,完之后再取12位數據,程序會卡死。
    發表于 07-16 08:12

    集成EEPROM與監控電路?的CPU Supervisor ON Semiconductor CAT1025WI-45-GT3

    集成EEPROM與監控電路?的CPU Supervisor ON Semiconductor CAT1025WI-45-GT3
    的頭像 發表于 05-28 17:01 ?1286次閱讀
    集成EEPROM與監控<b class='flag-5'>電路</b>?的<b class='flag-5'>CPU</b> Supervisor ON Semiconductor CAT1025WI-45-GT3

    CPU的各種指令和執行流程

    在集成電路設計中,CPU的指令是計算機中央處理單元(CPU)用來執行計算任務的基本操作指令集。這些指令是
    的頭像 發表于 04-18 11:24 ?2629次閱讀

    RISC-V五級流水線CPU設計

    本文實現的CPU是一個五級流水線的精簡版CPU(也叫PCPU,即pipeline),包括IF(指令)、ID(解碼)、EX(執行)、MEM(內存操作)、WB(回寫)。
    的頭像 發表于 04-15 09:46 ?1752次閱讀
    RISC-V五級流水線<b class='flag-5'>CPU</b>設計