Movatterモバイル変換


[0]ホーム

URL:


FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

2015-09-01から1ヶ月間の記事一覧

タイムリーなので。 Otto - HashiCorp 突然ですが僕はかなりのヘビーなVagrantユーザーで、僕の全ての開発環境はVagrant上に構築され、Chefでクロスコンパイル環境も自動的に構築されるようにしている。 いくらWindowsを再インストールしても、githubから自…

はてなブックマーク - Hashicorp社の新しい仮想開発環境"Otto"をさっそく触ってみた

※ この記事はまだ勉強中のため、いろいろ間違いがあるかもしれません。 さて、xv6のmainに足を踏み入れると、以下のようなコードが記述されている。 github.com extern char end[]; // first address after kernel loaded from ELF file // Bootstrap proces…

はてなブックマーク - テキストを読んで、xv6のブートプロセスを理解する(3: メモリの確保)

MIPSのブートについて理解するためには、まずはMIPSアーキテクチャのメモリマップについて理解しなければ。 このあたりに、メモリマップの説明がある。 ファイル:MIPS32 MemoryMap.png - Wikipedia これを見ると、0xA000_0000-0xBFFF_FFFF, 0x8000_0000-0x9F…

はてなブックマーク - MIPSのTLBについて勉強(シンプルなアドレス変換をISSに実行する)

※ この記事はまだ勉強中のため、いろいろ間違いがあるかもしれません。 xv6のbootmain.cなどのブートローダは、まだセグメントやページテーブルが有効な状態としては利用されない。 実際にOSを動かすとなれば、ページテーブルが必須となるが、これはどのよう…

はてなブックマーク - ページテーブルを有効にするまでのブートローダの起動のしくみ

※ この記事はまだ勉強中のため、いろいろ間違いがあるかもしれません。 xv6のbootmain.cをコンパイルしてブートローダを作ってみたが、何とMIPSのコンパイラではオブジェクトのサイズが1セクタ(512バイト)に入り切らなかった! そこで、今回はアーキテクチャ…

はてなブックマーク - ブートセクションをずらしてISSでブートできるようにする(ディスクのロード)

※ この記事はまだ勉強中のため、いろいろ間違いがあるかもしれません。 xv6のブートセクションはx86のものに従っているため、ディスクの先頭のセクションに配置されている。 hexdump xv6.img | less -o xv6.img.dmp 0000000 31fa 8ec0 8ed8 8ec0 e4d0 a864 7…

はてなブックマーク - ブートセクションをずらしてISSでブートできるようにする

レジスタのCalling Conventionとは。 呼出規約 - Calling Convention(コーリングコンベンション) レジスタはハードウェア的にはFFの塊だが、ソフトウェアとしては、どのレジスタをどの役割として使うかが決められている。 また、それに応じて、レジスタの名…

はてなブックマーク - Calling Conventionモードに応じてISSのログの表記を変更する

CUDA by Example 汎用GPUプログラミング入門作者: Jason Sanders,Edward Kandrot,株式会社クイープ出版社/メーカー: インプレスジャパン発売日: 2011/02/14メディア: 単行本(ソフトカバー)購入: 1人 クリック: 36回この商品を含むブログ (11件) を見る CUD…

はてなブックマーク - CUDAのプログラムをOpenCLに移植(VecAdd編)

OSの勉強の一環として、u-bootがどのようにして動作するのかを見てみることにした。 WebHome < U-Boot < DENX U-bootはOSのブートローダとして、特にマイコンや、マイコンボードなどで利用されているようだ。xv6の勉強をしていると、BIOSからの動作ばかりを…

はてなブックマーク - U-bootをMIPSアーキテクチャ向けにビルドする

これまでのISSのデコーダは、命令テーブルを探索していって、一度デコードに失敗すると別のキーは探索しないようになっていた。 uint32_t MIPS_DEC_OPCODE_0x10 (uint32_t inst_hex) { if (ExtractFUNCTField (inst_hex) == 0x00) { return MIPS_DEC_OPCODE_…

はてなブックマーク - ISSの命令デコーダをDFSに切り替える

仕事ではVerilog-HDLばっかり触っているけど、自宅ではRubyとC++ばかり触っている。 C++11とかC++14とかあまり分かっていないので、買ってみた。まだ中身をちゃんとは読んでいないけど、これで今のISSのC++の記述とか改善できればいいなあ。 Effective Moder…

はてなブックマーク - Effective Modern C++を買った

msyksphinz.hatenablog.com 前に日記に書いた、RISC-Vの名前を含むHotChipsの発表について、mynaviニュースのHisa Andoが記事を起こしていたので、読んでみた。 内容としては、淡々と発表内容を説明している感じだ。 news.mynavi.jp news.mynavi.jp news.myn…

はてなブックマーク - HotChipsで発表されたRISC-V実装(解説編)

github.com http://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf ブートプロセスを理解するために、xv6のテキスト: Appendix-B "The Boot Loader"の章を翻訳した。 日本語のクオリティとしてはダメダメだが、何とか理解できるレベルかな? まあ、自分と…

はてなブックマーク - xv6のテキストAppendix-B "The Boot Loader" を翻訳しました

xv6の勉強をしていて、xv6.imgとか、fs.imgとかがロードできたほうが良いなと思ったので、その機能を追加しておいた。 github.com どうやら、単純にimgファイルは中身を読み取ってそれを転送していくだけで良いみたいだ。 ただし、今はテスト段階のため、512…

はてなブックマーク - ISSでイメージファイルをロードできるような機能を追加

ISSに関数呼出のトレースを表示する機能を追加した。 --trace_hier : Generate Trace Hierachy tree --trace_out <log> : output log filename for trace hierarchy mode default is same as --out <filename> --trace_hier オプションを有効化すると、以下のような関数呼出</filename></log>…

はてなブックマーク - 関数の呼び出し関係をトレースとして表示する機能を追加

いろいろ調べたが、以下をしっかり読み直すと参考になる。 MIPSプロセッサ入門―アーキテクチャの解説から評価ボードを使った組み込みプログラミング事例まで (TECH I Processor)作者: インターフェース編集部出版社/メーカー: CQ出版発売日: 2008/06メディア…

はてなブックマーク - MIPSのブートプロセスについての勉強(YAMONについて勉強)

bootmain.cに入ると、ディスクからデータのロードを始める。 github.com ここで注目すべきは、カーネルのプログラムとしては、テキストは0x80100000から始まることを想定していることだ。 だがこんな場所にメモリは存在しておらず、ページングを利用して0x00…

はてなブックマーク - テキストを読んで、xv6のブートプロセスを理解する(2)

現状のISSだが、やはりxv6をフルにブートしようとすると遅い。デバッグモードを有効にするとさらに遅い。 CPUPROFILE=/tmp/profile.out ~/swimmer_riscv/build_mips/swimmer_mips --imgfile ~/xv6-mips/xv6.img --max 1000000 Swimmer-RISCV Version 2015091…

はてなブックマーク - ISSのプロファイリング(xv6のブートにかかる時間が遅い)

xv6のブートプロセスが難しくて詰まっている。いろいろググっていると、何だ。xv6のテキストにちゃんと書いてあるじゃないか。 という訳で、翻訳ついでに、翻訳中である(笑)。 http://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf github.com 1. 最…

はてなブックマーク - テキストを読んで、xv6のブートプロセスを理解する(1)

ISSでシステムレジスタをサポートしたので、トレースログに表示できるようにしよう。 github.com 基本的にやっていることはこれと一緒。というか、単純に移植しただけだ。 msyksphinz.hatenablog.com システムレジスタにアクセスすると、そのアクセス情報を…

はてなブックマーク - ISSがシステムレジスタにアクセスすると、そのログを表示するようにする(MIPS版)

github.com ビルドプロセスの中に、mkfsによりファイルシステムfs.imgを作る工程がある。 ./mkfs fs.img README _cat _echo _forktest _grep _init _kill _ln _ls _mkdir _rm _sh _stressfs _usertests _wc _zombie fs.imgはどのような仕組みで作られている…

はてなブックマーク - mkfs.cによりファイルシステムが作られる仕組み(まだ勉強中3)

ISSにブレークポイントの機能があるので、それを拡張して、デバッグをしやすくしよう。 レジスタの一覧をダンプする機能と、任意のレジスタの値を取得する機能を追加した。 int Lua_GetReg (lua_State *L) { // Getting Arguments #ifdef ARCH_MIPS MipsEnv …

はてなブックマーク - ISSのデバッグ機能を使ってxv6の動作を追い掛ける

さて、次はbootasm.S とbootmain.cの勉強だ。 ※ この記事はまだ勉強中のため、いろいろ間違いがあるかもしれません。 http://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf http://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf github.com # Physica…

はてなブックマーク - xv6のブートプロセスで学ぶコンピュータの起動(まだ勉強中2)

例えば、swimmer_main.cppでは、Google-gflagsを使って、いくつかのオプションフラグを宣言している。 // FLAGs definition DEFINE_string (hexfile, "", "Hex file to simulate."); DEFINE_string (binfile, "", "Binary file to simulate."); DEFINE_strin…

はてなブックマーク - Google-gflagsでフラグを別のファイルから参照したい場合

mipsに移植中のxv6のカーネルパニックですっかり止まってしまった、xv6とOSの勉強。とりあえずブートしないと話にならないので、ブートプロセスを必死に勉強中だ。 まずは、xv6を使って、何が起きているのかを調査してみることにする。 ※ この記事はまだ勉強…

はてなブックマーク - xv6のブートプロセスで学ぶコンピュータの起動(まだ勉強中)

xv6のブートプロセスには、idewait()という関数が入っている。IDEコントローラを監視して、BSYではなくなったら、次に進むようになっている。 IDEのコントローラの詳細については、以下を参照した。もちろん、これがMIPSのアーキテクチャと異っていることは1…

はてなブックマーク - ISSにIDEコントローラを組込む

ロジクールのゲミングマウスG602を買いました。会社で使う用。 正確には、会社に自宅のG700sを持っていって、会社から帰るときに持って帰っていたのだけれども、週末にレシーバーを会社から持って帰るのを忘れたことに気がついた次第。 どうせなら、ちゃんと…

はてなブックマーク - ロジクールのゲーミングマウスG602を買いました

CUDA by Example 汎用GPUプログラミング入門作者: Jason Sanders,Edward Kandrot,株式会社クイープ出版社/メーカー: インプレスジャパン発売日: 2011/02/14メディア: 単行本(ソフトカバー)購入: 1人 クリック: 36回この商品を含むブログ (11件) を見る 一…

はてなブックマーク - Cuda by Exampleを読了

CUDA by Example 汎用GPUプログラミング入門作者: Jason Sanders,Edward Kandrot,株式会社クイープ出版社/メーカー: インプレスジャパン発売日: 2011/02/14メディア: 単行本(ソフトカバー)購入: 1人 クリック: 36回この商品を含むブログ (11件) を見る 5.2…

はてなブックマーク - CUDA by Example積の集約の構成

GPGPUのデバッグ、プラファイラって無いの?ということでいろいろ探していたのだが、nVIDIAの配布するGPUのSDKにはNsightというツールが入っているらしい。 とりあえずチュートリアルだけ使ってみたので、そのやり方をメモしておく。 Visual Studio 2013 を…

はてなブックマーク - Nsight with Visual Studio ファーストインプレッション
検索

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp