CPU設計——CPU核解析——cv32e40p
詳細文件參考連結: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 譯碼
對指令進行譯碼,並讀取需要的暫存器檔案
- 跳轉指令從這裡開始執行
3 執行
執行執行,該部分部件包括加法器,乘法器,除法器以及load/store的地址產生部件(AGU)等
- 分支指令在該階段執行
- 多週期指令將在該階段延遲,知道它們完成
4 寫回
將load指令的結果寫回到暫存器檔案
相關文章
- Linux下區分物理CPU、邏輯CPU和CPU核數Linux
- Docker CPU 資源限制——CPU固定核功能測試Docker
- cpu、核與執行緒執行緒
- win10 如何看cpu 幾核的_win10cpu怎麼看幾核幾代Win10
- CPU單核多核區別【轉載】單核
- Linux檢視物理CPU個數、核數、邏輯CPU個數Linux
- CPU GPU設計工作原理GPU
- Linux及AIX下如何檢視物理CPU, 邏輯CPU及核數LinuxAI
- 你的軟體按什麼賣?套數、CPU數、核數還是CPU的計算能力?
- 根據CPU核數合理設定執行緒池大小執行緒
- Win 7下提高雙核、多核CPU的速度的設定方法
- 在 Linux 中查詢 CPU 的核數Linux
- 對多執行緒程式,單核cpu與多核cpu如何工作相關的探討執行緒單核
- 檢視伺服器CPU的個數、CPU的核數、多核超執行緒數伺服器執行緒
- CPU明明8個核,網路卡為啥拼命折騰一號核?
- GPU程式設計--CPU和GPU的設計區別GPU程式設計
- 4核8執行緒和6核6執行緒的CPU哪個好?電腦CPU核數多和執行緒多的區別執行緒
- python 多cpu並行程式設計Python並行行程程式設計
- cpu+wait for cpuAI
- Linux 中執行緒與 CPU 核的繫結Linux執行緒
- 檢視Linux系統CPU個數和核數Linux
- cpu+wait for cpu 到底是cpu空閒還是cpu不夠AI
- 單週期cpu設計程式碼解讀
- MIPS指令的CPU實現:ALU設計
- 通過程式設計控制CPU利用率程式設計
- 從計算機CPU設計談P\NP問題(0)計算機
- 從計算機CPU設計談P\NP問題(1)計算機
- Rust中獲得CPU核數與列印日誌到控制檯?Rust
- 聊聊CPU的發展歷程之單核、多核、超執行緒單核執行緒
- linux下把程式繫結到特定cpu核上執行Linux
- Oracle_10.2.0.5_for_Windows_Server_2008 CPU核數限制OracleWindowsServer
- 微軟:八核CPU的Win10手機即將到來微軟Win10
- 如何檢視CPU核數和執行緒數?CPU的核心數、執行緒數的關係和區別執行緒
- DB CPU time% 的計算公式公式
- 【ITOO】--windows工作管理員cpu使用和PF解析Windows
- 硬解析帶來高CPU消耗的診斷
- win10最大優化cpu設定_win10如何優化cpuWin10優化
- linux 下檢視物理CPU,邏輯CPU,CPU core,超執行緒Linux執行緒