CPU設計——CPU核解析——cv32e40p

KGback發表於2020-12-20

詳細文件參考連結:https://core-v-docs-verif-strat.readthedocs.io/projects/cv32e40p_um/en/latest/pipeline.html

本文圖片均歸摘自OpenHW相關文件。

1. CPU核概述

該CPU由OpenHW組織開發的用於MCU的32bit處理器。該專案起源於PULPissimo,現由OpenHW持續開發和維護。

  • 共享記憶體,指令資料統一編址
  • HWloop加速部件
  • IO子系統的直接儲存訪問(uDMA)
  • 可以用作大系統的控制器

2. 流水線結構

1 取指

在匯流排空閒的情況下,每個時鐘週期可以從Icache或指令儲存器預取一個指令

取指階段可以對指令進行預譯碼

  • 預取指部件

獲取指令,並進行快取

預取指部件包含預取指器和一個四埠的FIFO

  • OBI介面

加速取指

2 譯碼

對指令進行譯碼,並讀取需要的暫存器檔案

  1. 跳轉指令從這裡開始執行

3 執行

執行執行,該部分部件包括加法器,乘法器,除法器以及load/store的地址產生部件(AGU)等

  1. 分支指令在該階段執行
  2. 多週期指令將在該階段延遲,知道它們完成

4 寫回

將load指令的結果寫回到暫存器檔案

 

 

相關文章