Spoc CPU軟核 Part 2-主要特征
邏輯使用量小
本文引用地址:http://dyxdggzs.com/article/202401/454996.htm通用架構,可在 Xilinx 和 Altera FPGA 中輕松運行。也可以很容易地移植到ASIC。
RISC:
小指令集
多個(gè)累加器,多種數據大小
雙寄存器文件
每條指令中的條件執行
數據存儲器:使用(至少)一個(gè)模塊
代碼存儲器:使用串行閃存或塊
Spoc被設計為幾乎是免費的,即在FPGA中占用很少的空間,并從串行閃存中執行。 許多新的FPGA板卡都已使用串行閃存來(lái)配置FPGA。 Spoc 可以使用閃存中未使用的內存空間作為代碼內存。
Spoc0
Spoc 可以參數化。
目前,第一個(gè)實(shí)現“Spoc0”不是。
Spoc0 具有以下固定特征:
4 種數據大小/累加器:1、8、16 和 32 位
2 個(gè)寄存器文件,每個(gè)寄存器 32 個(gè)寄存器,每個(gè)寄存器寬度為 16 位
64Kbits的數據尋址空間
64Kbits的代碼尋址空間
至少使用 2 個(gè)塊函數(一個(gè)用于數據空間,一個(gè)用于代碼空間)
大約 300 行 Verilog
最大時(shí)鐘速度在 90-110MHz 范圍內(Spartan 3/Cyclone 2,最慢速度等級)
邏輯使用,約 175 個(gè)切片/300 個(gè)邏輯單元(Spartan 3/Cyclone 2)。
Spoc0 有多快?
當然,這取決于您的時(shí)鐘速度以及您正在運行的指令類(lèi)型...... 但即使在 100MHz 時(shí),Spoc0 也可能比其他可用的 CPU 慢。
(1) Xilinx Spartan 3 或 Altera Cyclone 2,速度最慢等級
注意:所提供的表格不保證準確性或公平性(很難公平地比較不同的 CPU)
在設計 Spoc0 時(shí),我們的目標不是獲得盡可能快的 CPU,而是針對當今 FPGA(和 ASIC)的小型(低邏輯使用率)CPU。
在 CPU 世界中,速度和邏輯使用是成對的。 快速 CPU 使用固有的寬總線(xiàn) - 這增加了它們的邏輯使用率。 Spoc0 采用相反的方法,將總線(xiàn)寬度與時(shí)鐘周期進(jìn)行權衡。 換句話(huà)說(shuō),Spoc0 序列化了它的許多任務(wù)(它每條指令使用更多的時(shí)鐘周期),但仍然很纖薄。 將來(lái),一些任務(wù)可以選擇并行化 - 代價(jià)是更高的邏輯使用率。
評論