[發明專利]一種基于FPGA的多核CPU實現方法及相關裝置有效
| 申請號: | 201811032503.1 | 申請日: | 2018-09-05 |
| 公開(公告)號: | CN109144732B | 公開(公告)日: | 2022-02-11 |
| 發明(設計)人: | 王帥;孫同波;康萌萌 | 申請(專利權)人: | 合肥英睿系統技術有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 羅滿 |
| 地址: | 230012 安徽省合*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 多核 cpu 實現 方法 相關 裝置 | ||
本發明公開了一種基于FPGA的多核CPU實現方法,通過利用Qsys添加預設個數的nios處理器,使多個nios處理器均作為CPU,并為每個nios處理器指定單獨運行的內存后,啟動所有的CPU,從而實現使FPGA中搭載多核CPU,進而可以使FPGA的通用計算能力得到大大增強。本申請還提供了一種基于FPGA的多核CPU實現系統、裝置及CPU可讀存儲介質,同樣可以實現上述技術效果。
技術領域
本發明涉及FPGA技術領域,更具體地說,涉及一種基于FPGA的多核CPU實現方法、系統、裝置及CPU可讀存儲介質。
背景技術
FPGA(Field-Programmable Gate Array,現場可編程門陣列)是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
FPGA可以實現高速數字電路進行專用計算,也可以片內搭載軟核CPU完成各種通用計算,但是軟核CPU性能較弱,通常無法實現大數據量的實時運算。
因此,如何提FPGA通用計算能力,是本領域技術人員需要解決的問題。
發明內容
本發明的目的在于提供一種基于FPGA的多核CPU實現方法、系統、裝置及CPU可讀存儲介質,以解決如何提FPGA通用計算能力的問題。
為實現上述目的,本發明實施例提供了如下技術方案:
一種基于FPGA的多核CPU實現方法,包括:
利用FPGA的Qsys添加預設個數的nios處理器;將所述nios處理器作為CPU;
為每一個所述CPU分配獨立運行的內存;
啟動所有所述CPU。
其中,所述為每一個所述CPU分配獨立運行的內存之后,還包括:
為所有所述CPU建立共用資源區。
其中,所述為所有所述CPU建立共用資源區之后,還包括:
為所述共用資源區添加與每個所述CPU對應的資源互斥器。
其中,所述啟動所有所述CPU,包括:
當所述CPU的運行內存為片上RAM時,將每個所述CPU的elf文件集成至所述FPGA的sof文件;
通過加載所述sof文件啟動所有所述CPU。
其中,所述啟動所有所述CPU,包括:
在所有所述CPU中確定一個主CPU;
啟動所述主CPU;
將所有非主CPU進行復位;
利用所述主CPU將每個非主CPU的elf文件從flash中轉存至對應的每個非主CPU的運行內存;
取消所有非主CPU的復位,并加載啟動每個非主CPU的elf文件,以完成非主CPU的啟動。
本申請還提供了一種基于FPGA的多核CPU實現系統,包括:
添加模塊,用于利用FPGA的Qsys添加預設個數的nios處理器;將所述nios處理器作為CPU;
分配模塊,用于為每一個所述CPU分配獨立運行的內存;
啟動模塊,用于啟動所有所述CPU。
其中,所述啟動模塊,包括:
集成單元,用于當所述CPU的運行內存為片上RAM時,將每個所述CPU的elf文件集成至所述FPGA的sof文件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于合肥英睿系統技術有限公司,未經合肥英睿系統技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811032503.1/2.html,轉載請聲明來源鉆瓜專利網。





