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