前回のマルチコア時に発生したバグや実装時の注意点の続きです。ここではLinuxを動かした際に出た、ハードウェアバグに関わるカーネルパニックや厄介なエラーを見ていきます。
またそんなバグを特定するために作ったデバッガの紹介もします。
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)” の続きを読む東京工業大学の公認サークル「ロボット技術研究会」のブログです。 当サークルの日々の活動の様子を皆さんにお伝えしていきます。たくさんの人に気軽に読んでもらえると嬉しいです。
前回のマルチコア時に発生したバグや実装時の注意点の続きです。ここではLinuxを動かした際に出た、ハードウェアバグに関わるカーネルパニックや厄介なエラーを見ていきます。
またそんなバグを特定するために作ったデバッガの紹介もします。
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)” の続きを読むRISC-Vのマルチコア化をやっていますが、1コアでも複雑極まりないプロセッサが2つになってデータの取り合いをするのですから、厄介極まりない事態となります。特にマルチコアでは複数のコアが同じデータを書き換えたりするので、適切な制御がないとデッドロックやデータの破損(異常値)が起こります。
ここではその厄介な状況に対処している仕組みや、実際に起こった厄介な事例の紹介をします。
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編1)” の続きを読む皆様こんにちは。18のhiraです。
前回ではRISC-Vマルチコアのために必要なハードを書きました。今回はマルチコア上で動くLinuxの作製方法についてです。
(とはいえ動けばいいやのニワカ調べですが…)
皆様こんにちは。18のhiraです。
僕はコンピュータ工学をやっているつもりで、研究ではRISC-Vのプロセッサをマルチコアにする作業をしていました。とはいえ、どういう機能を追加する必要があるのか、それはハードで実装するのかソフトで対処するのかなど戸惑ったことも多かったため、備忘録として残しておきたいと思いました。
皆様こんにちは.18のhiraです.
僕はコンピュータ工学をやっているつもりで,最近は作成したプロセッサでLinuxを動かそうとしているらしいです.
そのため対称実験用に正しく動くものが欲しいと思い,作っているプロセッサと同じ32bit RISC-VでLinuxを動かす環境を探していました.そこでプロセッサエミュレータであるQEMUでLinuxを動かしました.
その際,64bit向けはあっても意外に32bit向けの構築方法のまとめは少なかったため,32bit環境でLinuxをソースコードからRISC-V向けにビルドしたり,それをQEMUで実行する流れをまとめました.
やっている内容はほぼリンクのブログ(1)とリンクのブログ(2)の丸パクリなのですが,一部変える点があったり,補足したい点があったため記録します.
皆様こんにちは.18のhiraです.
僕はコンピュータ工学をやっているつもりなのですが,最近アドレス変換に触れ理解に苦しんだため,備忘録的にその挙動を記録します(そのため正確性はありません…).
OSが載っているような複雑なコンピュータでは,Excelやゲーム,音楽ソフトなど複数のアプリを同時に動かすことができます.この時,アプリ同士のアドレスが重ならないようにアドレスをずらす機構があります.
この変換機構は Memory Management Unit (MMU) という機構によって行われます.またこの変換方法も代表的なものがいくつかあり,今回は32bitのRISC-Vが公式に使用するSv32を題材として紹介します.
明けましておめでとうございます.18のhiraです.
僕はコンピュータ工学をやっているつもりなのですが,近年は1つのプロセッサの性能向上が限界に達しつつあり,代わりにマルチコアだったり,AIや行列計算用の専用プロセッサを組み合わせることが主流となっています.
ところが専用プロセッサは少量他品種であり,そのために複雑な回路を設計することは今まで困難でした.
ここに現れたのがGoogleが後援するOpenMPWプログラムです.これはGoogleColab上でDSLXというVerilog(回路のプログラミング)っぽい言語でコードを書くと,それが実際のカスタムプロセッサに変換され,さらに提携しているファブで製造までされるという企画です!しかも内部表現としてXORなどの論理演算の数や,その演算同士のつながりのグラフが得られます.
(設計にはこちらのOpenMPWチュートリアルを参考にしました)
となればやりたいことは1つですね.『三体』の人海戦術の手旗信号による人列コンピュータには何人必要か.三体問題専用プロセッサを作って検証してみましょう!
この記事で作製したMATLABファイル,GoogleColabのipynbファイルはリンクのGithubにありますのでご参照ください.
(注: 以下の記事には『三体』のネタバレを含みます)
皆様こんにちは.18のhiraです.
自動車やドローン,ロケットや工場プラントなど様々な分野での応用が期待され,MATLABでも専用パッケージが提供されているのがモデル予測制御(MPC)です.従来は線形モデルが中心でしたが,最近開発が進む非線形のモデルを用いることでより多くのシステムに適用することができます.
今回はそんな非線形MPCを用いて,カッコよく自動車の経路追従をしてみます.
(動画)
この例のMATLABコードはこちらのgithubをご覧ください.
またMATLABによる(線形)モデル予測制御の作成とチューニング,シミュレーション,Cコード化の最初の一歩となるようなチュートリアルは,ぜひ過去の記事をご覧ください.