FPGA実装のためのRISC-V CPU設計 ① Pythonで学ぶRV32I命令セットの構造と実行原理
EdgeChipLab
CPUを作ろうと決心すると、たいていはまず回路図を探します。ところが図面を広げた瞬間、 答えられない疑問が生まれます。このブロックはなぜここになければならないのでしょうか? レジスタを読み取る ポートはなぜ2つあるのでしょうか? 答えはすべて命令にあります。命令が何を要求しているのかが分かれば、どのような回路が必要なのかが 決まります。逆の順序ではいきません。 RISC-Vの講義はすでにいくつもあります。しかし、そのほとんどはスライドに値を表示して "このように なります" と言ったあと、先へ進んでしまいます。受講者には、その値が正しいかどうかを確認する方法がありません。 この講義では、Python製の命令実行シミュレーターも一緒に提供します。run ADDと入力すれば、その 場で機械語がアセンブルされ、32ビットがフィールドごとに展開され、レジスタがどのように変化するのかが 画面に表示されます。教材にあるすべての数字はこのツールの実行結果であり、皆さんの画面上でも同じように 再現されます。 市販のデバッガーにはライセンスが必要で、シミュレーターはインストールが壁になります。このツールはPythonさえ あれば使えます。ボードも、ライセンスも、インストールも必要ありません。 RV32Iの命令40個を一つも漏らさず実際に実行し、回路が何をしなければならないのかを自分で見つけ出していく 過程です。
초급
riscv, cpu-architecture, instruction-set-architecture















![Linuxカーネルの構造と原理:割り込み後半部 [著者直講 第1部-6]강의 썸네일](https://cdn.inflearn.com/public/courses/333195/cover/3b8c8cd2-44b0-43b7-a441-b950ba367717/333195.png?w=420)
![Linuxカーネルの構造と原理:デバッグ - Advanced 実戦 [著者直講 第1部-3]강의 썸네일](https://cdn.inflearn.com/public/courses/333192/cover/bc7d9889-21ec-44d7-bcb0-10452507d7b3/333192.png?w=420)