軟核處理器
SOPC技術,即軟核處理器,最早是由Altera公司提出來的,它是基于FPGA的SOC片上系統設計技術。是使用FPGA的邏輯和資源搭建的一個軟核CPU系統,由于是使用FPGA的通用邏輯搭建的CPU,因此具有一定的靈活性,用戶可以根據自己的需求對CPU進行定制裁剪,增加一些專用功能,例如除法或浮點運算單元,用于提升CPU在某些專用運算方面的性能,或者刪除一些在系統里面使用不到的功能,以節約邏輯資源。
另外也可以根據用戶的實際需求,為CPU添加各種標準或定制的外設,例如UART,SPI,IIC等標準接口外設,同時,用戶也可以自己使用FPGA的邏輯資源,編寫各種專用的外設,然后連接到CPU總線上,由CPU進行控制,以實現軟硬件的協同工作,在保證系統性能的同時,增加了系統的靈活性。
而且,如果單個的軟核CPU無法滿足用戶需求,可以添加多個CPU軟核,搭建多核系統,通過多核CPU協同工作,讓系統擁有更加靈活便捷的控制能力。
由于是使用FPGA資源實現的,所以具有很大的靈活性,可以實現根據需要實現多種處理器,如8051,RISC-V,Xilinx的 MicroBlaze ,Altera的Nios-II等等。
硬核處理器
由于軟核CPU是使用FPGA的通用邏輯資源搭建的,相較使用經過布局布線優化的硬核處理器來說,軟核處理器夠運行的最高實時鐘主頻要低一些,而且也會相應的消耗較多的FPGA邏輯資源以及片上存儲器資源,因此SOPC方案僅適用于對于數處理器整體性能要求不高的應用,例如整個系統的初始化配置,人機交互,多個功能模塊間的協調控制等功能。
所以,各大FPGA廠家推出了SoC FPGA技術,是在芯片設計之初,就在內部的硬件電路上添加了硬核處理器,是純硬件實現的,不會消耗FPGA的邏輯資源,硬核處理器和FPGA邏輯在一定程度上是相互獨立的,簡單的說,就是SoC FPGA就是把一塊ARM處理器和一塊FPGA芯片封裝成了一個芯片。
例如比較有名的Xilinx的ZYNQ/PYNQ系列集成ARM Cortex-A9處理器,同時具有ARM軟件的可編程性和FPGA 的硬件可編程性,不僅可實現重要分析與硬件加速,同時還在單個器件上高度集成 CPU、DSP、ASSP 以及混合信號功能。
ZYNQ開發板
Intel的Cyclone V系列,集成雙核Cortex-A9,于2013年發布,在單一芯片上集成了雙核的ARM Cortex-A9處理器和FPGA邏輯資源的新型SoC芯片,相較于傳統的單一ARM處理器或FPGA芯片,它既擁有了ARM處理器靈活高效的數據運算和事務處理能力,同時又集成了FPGA的高速并行處理優勢,同時,基于兩者獨特的片上互聯結構,使用時可以將FPGA上的通用邏輯資源經過配置,映射為ARM處理器的一個或多個具有特定功能的外設,通過高達128位寬的AXI高速總線進行通信,完成數據和控制命令的交互。由于片上的ARM處理器是經過布局布線的硬線邏輯,因此其能工作的時鐘主頻較高,因此單位時間內能夠執行的指令也更多。
區別和聯系
從架構的角度來說,SOPC和SoC FPGA是統一的,都是由FPGA部分和處理器部分組成。在SoC FPGA 中,嵌入的是純硬件基礎的硬核處理器,簡稱HPS(Hardware Processor System),而SOPC技術中,嵌入的是使用FPGA邏輯資源實現的軟核處理器,兩者指令集不一樣,處理器性能也不一樣。
一般來說,硬核處理器的性能要遠遠高于軟核處理器。另外,硬核處理器除了CPU部分,還集成了各種高性能外設,如MMU、DDR3控制器、Nand FLASH控制器等,可以運行成熟的Linux操作系統和應用程序,提供統一的系統API,降低開發者的軟件開發難度。而軟核CPU雖然可以通過配置,用邏輯資源來搭建相應的控制器以支持相應功能,但是從性能和開發難度上來說,基于SoC FPGA架構進行設計開發是比較好的選擇。
ZYNQ內部框圖
ZYNQ框圖
另外,雖然SoC FPGA芯片上既包含了有ARM,又包含了有FPGA,但是兩者一定程度上是相互獨立的,SoC芯片上的ARM處理器核并非是包含于FPGA邏輯單元內部的,FPGA和ARM(HPS)處理器只是封裝到同一個芯片中,JTAG接口、電源引腳和外設的接口引腳都是獨立的,因此,如果使用SoC FPGA芯片進行設計,即使不使用到片上的ARM處理器,ARM處理器部分占用的芯片資源也無法釋放出來,不能用作通用的FPGA資源。
而SOPC則是使用FPGA通用邏輯和存儲器資源搭建的CPU,當不使用CPU時,CPU部分占用的資源可以被釋放,重新用作通用FPGA資源。
編輯:lyn
-
處理器
+關注
關注
68文章
19295瀏覽量
230001 -
FPGA
+關注
關注
1629文章
21746瀏覽量
603766 -
cpu
+關注
關注
68文章
10871瀏覽量
211950
原文標題:FPGA硬核和軟核處理器的區別
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論