0

zedboardを使ってマルチコアを作りたいです。それについて2つ質問があります。

  1. マルチコアシステムを実装するために、rocket-chip/src/main/scala/Configs.scala の変数 'NTILES' を 2 に変更しました。

  2. マルチコアを作成した場合、それを確認するにはどうすればよいですか? 改造したシステムを確認するために fork とバックグラウンド実行を試してみたのですが、下図のようなエラーメッセージが表示されました。また、pthreads をコンパイルできませんでした。マルチコアシステムの確認方法が知りたいです。

また、ロケットチップのマルチコア化のアイデアがあれば、そのノウハウを教えてください。ありがとう。

4

1 に答える 1

3

NTILES=2 および DefaultFPGAConfig では、2 つのコアが zedboard に収まらない場合があります。Vivado が正常に完了したことを確認します。おそらく、他のパラメータ (BTB、FPU など) のいくつかを減らす必要があります。

プロキシ カーネル (riscv-pk) はマルチコアをサポートしていません。Linux を使用するには、ビルド時に SMP サポートを有効にする必要があります。Linux の menuconfig を実行するときは、[プラットフォーム タイプ] で [対称型マルチプロセッシング] をオンにします。pthread の場合、正しい共有ライブラリを riscv-gcc-linux のコンパイラ ディレクトリから Linux ディスク イメージにコピーします。

ボード上で SMP Linux が起動したら、マルチコアであることを確認できますcat /proc/cpuinfo。ソフトウェア (Linux、ディスク イメージ、コード) をテストするには、スパイクを使用し、並列ソフトウェアの準備ができていると確信しているときに FPGA に移行することをお勧めします。Spike はマルチコアをシミュレートできます。

于 2015-09-11T16:16:00.047 に答える