TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Minimax – A Compressed-First, Microcoded RISC-V CPU

171 点作者 gsmecher超过 2 年前
RISC-V&#x27;s compressed instruction (RVC) extension is intended as an add-on to the regular, 32-bit instruction set, not a replacement or competitor. Its designers intended RVC instructions to be expanded into regular 32-bit RV32I equivalents via a pre-decoder.<p>What happens if we explicitly architect a RISC-V CPU to execute RVC instructions, and &quot;mop up&quot; any RV32I instructions that aren&#x27;t convenient via a microcode layer? What architectural optimizations are unlocked as a result?<p>&quot;Minimax&quot; is an experimental RISC-V implementation intended to establish if an RVC-optimized CPU is, in practice, any simpler than an ordinary RV32I core with pre-decoder. While it passes a modest test suite, you should not use it without caution. (There are a large number of excellent, open source, &quot;little&quot; RISC-V implementations you should probably use reach for first.)

7 条评论

thrtythreeforty超过 2 年前
This is very impressive, especially the performance per LUT! Did I overlook frequency spec on a given target or did you not specify?<p>Will the execute stage pipeline effectively to reach higher f_max? (Of course there will be a small logic penalty, and a larger FF penalty, but the core is small enough that it would probably be tolerable.) Or is the core&#x27;s whole architecture predicated on a two stage design?
评论 #33425391 未加载
robinsonb5超过 2 年前
That is very, cool. I&#x27;m particularly interested in the compressed-first approach because I have some projects where minimising BRAM usage is paramount so code density really matters. The use of microcode to emulate 32-bit instructions reminds me a lot of ZPU (I still have a soft spot for that architecture) - was that an influence?
评论 #33429098 未加载
cmrdporcupine超过 2 年前
This is very nice. A couple years ago I was playing around with a hobby project I was dubbing &quot;Retro-V&quot; which was to be a RISC-V core tied to a 1980s-style display processor and keyboard&#x2F;mouse input on a small FGPA and 512k or 1MB or so of SRAM. I was using PicoRV32 for that, but this would have been be far better.
评论 #33427029 未加载
评论 #33426982 未加载
sterlind超过 2 年前
the actual Verilog source is incredibly small. I would have thought that implementing a CPU, even a toy one, would take more than 500 lines. is this normal for hardware?
评论 #33428322 未加载
评论 #33436782 未加载
评论 #33428224 未加载
tomcam超过 2 年前
&gt; RISC-V&#x27;s compressed instruction (RVC) extension is intended as an add-on<p>Doesn’t it make this… an IISC? Increased instruction set? Asking for a friend
评论 #33426239 未加载
downvotetruth超过 2 年前
Can the address and&#x2F;or data also be 16 bit or would that violate RISC-V spec?
评论 #33425263 未加载
remexre超过 2 年前
Interesting that shifts are in the &lt;1IPC set; I thought those were fairly cheap with a barrel shifter; does this simply omit one for space purposes, or are they more expensive than I expect?
评论 #33429607 未加载