<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Spoc CPU軟核 Part 2-主要特征

          Spoc CPU軟核 Part 2-主要特征

          作者: 時間:2024-01-22 來源:EEPW編譯 收藏
          • 邏輯使用量小

            本文引用地址:http://www.ex-cimer.com/article/202401/454996.htm
          • 通用架構,可在 Xilinx 和 Altera 中輕松運行。也可以很容易地移植到ASIC。

          • RISC:

            • 小指令集

            • 多個累加器,多種數據大小

            • 雙寄存器文件

            • 每條指令中的條件執(zhí)行

          • 數據存儲器:使用(至少)一個模塊

          • 代碼存儲器:使用串行閃存或塊

          被設計為幾乎是免費的,即在中占用很少的空間,并從串行閃存中執(zhí)行。 許多新的板卡都已使用串行閃存來配置FPGA。 可以使用閃存中未使用的內存空間作為代碼內存。

          0

          Spoc 可以參數化。
          目前,第一個實現“Spoc0”不是。

          Spoc0 具有以下固定特征:

          • 4 種數據大小/累加器:1、8、16 和 32 位

          • 2 個寄存器文件,每個寄存器 32 個寄存器,每個寄存器寬度為 16 位

          • 64Kbits的數據尋址空間

          • 64Kbits的代碼尋址空間

          • 至少使用 2 個塊函數(一個用于數據空間,一個用于代碼空間)

          • 大約 300 行 Verilog

          • 最大時鐘速度在 90-110MHz 范圍內(Spartan 3/Cyclone 2,最慢速度等級)

          • 邏輯使用,約 175 個切片/300 個邏輯單元(Spartan 3/Cyclone 2)。

          Spoc0 有多快?

          當然,這取決于您的時鐘速度以及您正在運行的指令類型...... 但即使在 100MHz 時,Spoc0 也可能比其他可用的 CPU 慢。

          1705887649340637.png

          (1) Xilinx Spartan 3 或 Altera Cyclone 2,速度最慢等級
          注意:所提供的表格不保證準確性或公平性(很難公平地比較不同的 CPU)

          在設計 Spoc0 時,我們的目標不是獲得盡可能快的 CPU,而是針對當今 FPGA(和 ASIC)的小型(低邏輯使用率)CPU。
          在 CPU 世界中,速度和邏輯使用是成對的。 快速 CPU 使用固有的寬總線 - 這增加了它們的邏輯使用率。 Spoc0 采用相反的方法,將總線寬度與時鐘周期進行權衡。 換句話說,Spoc0 序列化了它的許多任務(它每條指令使用更多的時鐘周期),但仍然很纖薄。 將來,一些任務可以選擇并行化 - 代價是更高的邏輯使用率。

          上一篇:Spoc CPU軟核 Part 1-Hello world!

          下一篇:Spoc CPU軟核 Part 3-軟件(即程序員)模型



          關鍵詞: FPGA Spoc

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();