RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)

前回のマルチコア時に発生したバグや実装時の注意点の続きです。ここではLinuxを動かした際に出た、ハードウェアバグに関わるカーネルパニックや厄介なエラーを見ていきます。

またそんなバグを特定するために作ったデバッガの紹介もします。

“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)” の続きを読む

RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編1)

RISC-Vのマルチコア化をやっていますが、1コアでも複雑極まりないプロセッサが2つになってデータの取り合いをするのですから、厄介極まりない事態となります。特にマルチコアでは複数のコアが同じデータを書き換えたりするので、適切な制御がないとデッドロックやデータの破損(異常値)が起こります。

ここではその厄介な状況に対処している仕組みや、実際に起こった厄介な事例の紹介をします。

“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編1)” の続きを読む

RISC-VでLinuxの動くマルチコアをつくるのにやったこと (2. ソフト編)

皆様こんにちは。18のhiraです。
前回ではRISC-Vマルチコアのために必要なハードを書きました。今回はマルチコア上で動くLinuxの作製方法についてです。
(とはいえ動けばいいやのニワカ調べですが…)

“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (2. ソフト編)” の続きを読む

RISC-VでLinuxの動くマルチコアをつくるのにやったこと (1. ハード編)

皆様こんにちは。18のhiraです。
僕はコンピュータ工学をやっているつもりで、研究ではRISC-Vのプロセッサをマルチコアにする作業をしていました。とはいえ、どういう機能を追加する必要があるのか、それはハードで実装するのかソフトで対処するのかなど戸惑ったことも多かったため、備忘録として残しておきたいと思いました。

Intel Core i9 13900K のダイショット
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (1. ハード編)” の続きを読む