色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    10901

    瀏覽量

    212673

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

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

收藏 人收藏

    評論

    相關推薦

    料機DCS數據采集物聯網解決方案

    在火電廠中,堆料機承擔著儲存、輸送原料的重要任務,通過PLC、DCS等執行允許堆料、允許料、外圍料運行、堆料機緊急停機、堆料運行、堆
    的頭像 發表于 12-24 10:23 ?170次閱讀
    堆<b class='flag-5'>取</b>料機DCS數據采集物聯網解決方案

    Linux之CPU調度策略和CPU親和性

    一、調度策略 調度進程 單個 CPU一次只能執行一個進程,雖然 Linux 系統通過使用多任務同時處理多個進程,但當多個進程同時運行在一個CPU 上時,它通過交錯執行這些進程。 內核使
    的頭像 發表于 12-05 16:38 ?562次閱讀
    Linux之<b class='flag-5'>CPU</b>調度策略和<b class='flag-5'>CPU</b>親和性

    功率放大電路的轉換效率是什么

    功率放大電路的轉換效率是 功率放大電路的最大輸出功率與電源所提供的功率之比 。這一標用于評估功率放大電路在將電源提供的功率轉換為輸出功率
    的頭像 發表于 10-09 15:50 ?1115次閱讀

    為什么外設要通過接口與CPU相連

    外設與CPU之間的連接是計算機系統中一個非常關鍵的部分。外設(Peripherals)是除了CPU、內存和硬盤之外的所有設備,如鍵盤、鼠標、打印機、顯示器等。這些設備需要與CPU進行
    的頭像 發表于 09-30 14:10 ?1190次閱讀

    雙核cpu和單核cpu的區別

    理器核心連接起來,從而提高計算能力。這種設計使得處理器能夠同時執行多個任務,提高計算效率和性能。 單核CPU :只有一個處理器核心,所有的計算任務都由這一個核心來完成。單核CPU在處理多任務時可能
    的頭像 發表于 09-24 16:17 ?3694次閱讀

    如何用LM324做PI電路

    我想用你們的公司的LM324運放設計一個PI調節電路,如下圖,但是我不知道 電路 中電阻,電容這些元器件具體怎樣取值,我只知道理論公式,不知道你們的實際使用時,元器件值是怎樣
    發表于 09-03 07:24

    Imagination CPU 系列研討 | RISC-V 平臺的性能分析和調試

    為了讓開發者及工程師深入了解Imagination的CPU產品及相關解決方案,Imagination將陸續推出5期線上研討,包含:RISC-V平臺的性能分析和調試;RISC-V安全和全球平臺可信
    的頭像 發表于 08-10 08:28 ?327次閱讀
    Imagination <b class='flag-5'>CPU</b> 系列研討<b class='flag-5'>會</b> | RISC-V 平臺的性能分析和調試

    簡述cpu控制器的工作原理

    : 指令獲取 CPU控制器首先需要從內存中獲取指令。這個過程稱為階段。在這個階段,CPU控制器通過程序計數器(PC)來確定下一條指令的地址,并將其從內存中讀取出來。程序計數器是一個
    的頭像 發表于 06-30 11:04 ?1528次閱讀

    cpu控制器和運算器組成的部件有哪些

    CPU(中央處理器)是計算機的核心部件,負責執行程序指令和處理數據。CPU主要由控制器和運算器組成,這兩個部件共同完成計算機的運算任務。下面詳細介紹CPU控制器和運算器組成的部件。 運
    的頭像 發表于 06-30 11:01 ?2102次閱讀

    cpu控制器的兩種類型和特點

    類型:單核處理器和多核處理器,以及它們的特點和應用。 一、單核處理器 單核處理器的定義 單核處理器是只有一個處理器核心的CPU。在單核處理器中,所有的計算任務都由一個核心來完成,這使得單核處理器在處理多任務時可能遇到性能瓶頸
    的頭像 發表于 06-30 10:59 ?1445次閱讀

    CPU中斷程序:從硬件看什么是中斷?

    CPU響應中斷轉去執行中斷服務程序前,需要把被中斷程序的現場信息保存起來,以便執行完中斷服務程序后,接著從被中斷程序的斷點處繼續往下執行
    發表于 03-26 11:36 ?4137次閱讀
    <b class='flag-5'>CPU</b>中斷程序:從硬件看什么是中斷?

    放大電路的帶負載能力是什么

    放大電路的帶負載能力是電路在輸出信號時,能夠驅動或承載的負載的大小。放大電路通常用于放大電壓或電流信號,將小信號放大成為更大的信號。負載是
    的頭像 發表于 03-09 13:59 ?2962次閱讀

    verilog中for循環是串行執行還是并行執行

    在Verilog中,for循環是并行執行的。Verilog是一種硬件描述語言,用于描述和設計數字電路和系統。在硬件系統中,各個電路模塊是同時運行的,并且可以并行執行多個操作。因此,在V
    的頭像 發表于 02-22 16:06 ?3085次閱讀

    CPU芯片電路板的維修方法

    判斷CPU基準時鐘電路是否正常的方法。用示波器檢查時鐘引腳(晶振引腳)的時序波形,如果所檢測的時序波形不正常,說明故障在CPU的基準時鐘電路
    的頭像 發表于 02-03 11:42 ?2005次閱讀

    什么是外電路和內電路電路和內電路區別是什么?

    ,我們來詳細解釋什么是外電路。外電路電路的輸入和輸出端之間的電連接。在電路設計中,外電路
    的頭像 發表于 01-30 15:31 ?4036次閱讀
    主站蜘蛛池模板: 国产线精品视频在线观看 | 久久AAAA片一区二区 | 理论片在线观看片免费 | 和尚轮流澡到高潮H | 欧洲最强rapper潮水喷视频 | 九九热这里有精品 | 国产精品外围在线观看 | 国语大学生自产拍在线观看 | 色婷婷国产精品视频一区二区 | 快播在线电影网站 | 动漫成年美女黄漫网站 | 国产精品高潮呻吟AV久久96 | 国产精品A久久久久久久久 国产精品A久久777777 | 欧美黑人巨大xxxxx | 涩涩爱涩涩片影院 | 亚洲精品成人AV在线观看爽翻 | 欧美精品一区二区蜜臀亚洲 | 少爷被多个暗卫肉高h | 无码成人AAAAA毛片含羞草 | 男女生爽爽爽视频免费观看 | 国产在线观看的 | 国产精品久久久久成人免费 | 99久视频只有精品2019 | 超清无码波多野吉衣与黑人 | 臀精插宫NP文 | 91涩涩视频| 大香伊蕉在人线国产最新 | 日本久久中文字幕精品 | 亚洲深夜在线 | 亚洲乱码在线卡一卡二卡新区 | 狂操空姐电影 | 亚洲黄色三级视频 | 欧美成人3d动漫专区 | 国产国产成人人免费影院 | xxxx美国老师1819| 国产免费内射又粗又爽密桃视频 | 被公疯狂玩弄的漂亮人妻 | 天美麻豆成人AV精品 | 国产人妻麻豆蜜桃色69 | 一本到高清视频在线观看三区 | 美女叉腿掰阴大胆艺术照 |