2023-12-07最終更新:2024/05/07v1.1(2024/05/07):metalsメインから公式sbtメインの選択肢を追加こんにちは!森羅万象プロジェクトです!前回は自作の「レベル」について説明しました。いうことで、今回からさっそくCPUを作っていきたいと思います。ちなみにこの記事は、CPUを作ったことのない人の、CPUを作ったことのない人による、CPUを作ったことのない人のための記事ですので、CPU入門・初心者の筆者と一緒に勉強していただけたらと思っています!!今回は、「CPUを自作するための基盤」を用意していきます。1.CPUって一人でつくれるの!?2.出てくる用語を簡単に解説3.今回のCPUづくりにつかうものについて話していきます。「製造プロセス(nm)が小さいほど性能が良くなる」などと答える人が多いのではないでしょうか。「裏でポインタとかメモリアドレスをいい感じに振り分けてくれてるんだろうなぁ」なんて思っていました。・実際、CPUはいい感じの回路が組めて、命令を読み取って、演算・記憶できるものが市販されているのでしょう。(じゃないと売れないですもんね。)ネットを見たり、ゲームをしたりできるような命令や演算ができるものを個人で制作するのは至難の業でしょう。市販されているCPUはその拡張や応用でつくられていると思えるようになるでしょう。あなたがC言語やC++、Go言語やRustといったプログラミング言語を勉強する際に、ポインタやアドレスの原理が理解しやすくなるかもしれません(個人的な体験談)。・まあ、とにかく、ダマされたと思って始めてみませんか?筆者もよくわからないままつくり始めて、なんとかなっているので、、、2.出てくる用語を簡単に解説(筆者調べ≒正確、ではありません、あくまで参考までに。Code・あくまでもテキストエディタであってIDE(統合開発環境)ではないらしい。Extension(拡張機能)がつよつよすぎてプログラミングに用いられるようになったらしい。Code特化した言語やフレームワークを使って開発・お仕事の開発→IDEが良いのかしら、、と思っている。今後もどっちも利用する予定。Chisel・Javaは王道といってよいほどの知名度、プロダクトがある。・ScalaはJavaっぽく、良いとこ取りで作られた言語で、データ処理が得意。・ChiselはScalaのDSLで、ハードウェア設計に特化。(・このプロジェクトで筆者はScalaとChiselとやらを知った、なんてメンバーには言えない。記事をうpする前に何回かチェックしてもらっているのでそんな間違っていることは言っていないはず。)3.今回のCPUづくりにつかうもの(今回利用するものだけ取り上げて説明しています。)今回は以下のものを使ってCPUを作っていきます。cloneしてきて、中のJavaプログラム×2とScalaプログラムが動けばOKです。できる方はどんな手を使ってもよいので、どうぞ。筆者はこうやりました(参考までに、筆者はWindows11を使っています。上手くいかない場合はインターネットや友人に相談してみてくださいね。cloneしたものがたくさんつくられていきます。(official)があればOK。2024/05/07追記:metalsでうまくいかない人(筆者も含め)は、windowsに直接sbtを入れよう!(ノートPCからデスクトップPCに移行させたときにうまくいかなくて、、。こっちのほうが将来役に立つ、、かも?)sbtの公式サイトから、インストールしちゃいましょう。.msiファイルをインストール(.msiファイルってどんなファイルかわかります??)して、あと、環境変数も忘れずに編集しましょう。(x86)\sbt\bin、かなぁ、、。)一応、環境変数を編集したら、VScodeを再起動したり、PC自体を再起動したりしとくと良いかもしれません。Javaが動くかチェックJavaが動くにはJDKが必要です。筆者は写真のようにVScode内でインストールしました。Window」すると出てくる可能性が高いですよ。・筆者の個人的ポイント:プロジェクトルートに、.vscodeや.metalsというディレクトリが勝手にできていると思いますが、いい感じに設定をしてくれてるものなので今はスルーしておきましょう。筆者もこのプロジェクトでは中身変えていないです。いい感じになったら、Javaのプログラムを実行してみましょう。Testディレクトリにある、「CheckJavaVersion.java」を実行すると、Javaのバージョンが表示されます。・筆者の個人的ポイント:Javaのバージョンは、11,17,21で動作しました。公式はバージョン11を推奨していたような、、?ちなみにもう一つのJavaプログラム「SimpleNotePad」は、簡易的なメモ帳機能の付いたプログラムです。(official)をインストールしたら、SBTというもので、Scalaのプログラムを実行していきます。SBTtestを実行しましょう。World!'が表示されたらOKです。続いて、SBTrunを実行しましょう。World!が表示されたらOKです。