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