2015-12-01から1ヶ月間の記事一覧
ブログを始めたのは、今年の1月4日だ。今年は、およそ350記事を書いた。ほぼ一日に一本ブログを書いていたことになる。 自分の中では、今年の目標である「インターネットへのアウトプット」はある程度達成できるようになったと思う。 来年は、さらにインター…
ISSで64ビット対応をしていると、32ビットですでに実装しているのに、同じものを64ビットで再度実装しなければならないことがある。 加減算ならまだしも、ロードストアや複雑な演算で同様なルーチンを何個もコピーしていると面倒なので、templateを使って共…
最近自宅で使用しているVagrantで、vagrant up中に以下のようなエラーメッセージが表示されるようになった。 $ vagrant.exe up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Clearing any previously set forwarded ports... …
ずっと気になっている、我が家にはデッドスペースがある。それは、ベッドの下である。ずっと空いているだけで、何も入っていない。本当は洋服ケースを入れたいのだが、わずかに数センチ低く、入り切らないのだ。 そこでいろいろ調べてみると、どうやらベッド…
今日は、64ビットモードでのシミュレーションをサポートするために、汎用レジスタの64ビット拡張と、環境の修正をした。 github.com リポジトリ名はRISC-Vを名乗ってはいるが、結局は現在RISC-V(32bit)、MIPS32、MIPS64が混在するシミュレータになっている。…
浮動小数点演算機能をISSに実装するにあたり、どのような検証方法、ベンチマークの測定方法があるのかを調査してみよう。 整数系のベンチマークプログラムには、有名なDhrystone、Coremarkがあるが、これらのベンチマークには浮動小数点が入っていない。 Dhr…
前回の続き。MIPS64R6用のデコードテーブルが完成したので、次に実行用の関数を追加していった。 github.com まだ、以下のような実行関数のスケルトンを作成したに過ぎない。これらのをまた実装していくことになるのかー。 大変だ。 void InstEnv::MIPS64_IN…
msyksphinz.hatenablog.com やっとこさ、全ての命令のデコードテーブルを書き終えた。 全ての命令406種類のテーブルを作成。これにはsingle,doubleの各種タイプも含んでいる。 github.com ただし、これはMIPS64アーキテクチャリファレンスに載っている命令を…
エンジニアは普段たくさんのマニュアルを見る。それは非常に分厚いものだったり、会社のプリンタでは印刷できない。 また、僕は一時期趣味で翻訳をやっていたのだが、翻訳した結果が量があったりすると、自分のプリンタでは印刷し切らないので、紙にしたいと…
ベンチマークがビルドできるようになったので、ISSのデコード回路に新しい64ビット命令を追加していこう。 msyksphinz.hatenablog.com 今回、せっかくなので64ビットアーキテクチャ用に新しいデコードテーブルを用意することにした。 github.com 新しいデコ…
はっきり言って僕は映画を殆ど見ない。映画館にも殆ど行かない。ジブリすら殆ど見てない(ゲド戦記は楽しかった)。 でも、スターウォーズは別だ。スターウォーズは映画ではなくてサーガなのだ!(信者) 旧三部作は世代ではなくて、特別編が初めてのスターウォ…
MIPSには、大昔から64ビットのアーキテクチャ仕様であるMIPS64が存在する。この対応を考えてみよう。 ベンチマークプログラムの64ビット命令対応 まずは、ベンチマークの移植から考えてみる。 まず、MIPS64R6の対応するコードを出すためには、イマジネーショ…
機械学習理論入門を何とか読み終えた。最後の章のベイズ推定については、とりあえず読んでみたものの、ちゃんと理解できているかは相当あやしい。 結構大変そうなのでTensorFlowへの移植も今回はパス。とりあえずサンプルプログラムだけ実行してみた。 相変…
単純選択ソートとバイトニックソートを、C言語で記述し、高位合成した。 msyksphinz.hatenablog.com 単純選択ソートのデータアクセスパタン 単純選択ソートは一つずつ最小値を選んでいくソーティング方法であるから、 インデックスiの最小値を探索してソーテ…
バイトニックソートは、マージソートの並列と言われており、並列プログラミングにおいては良く使われている(らしい)。 前回の単純選択ソートは、シーケンシャルに最小値を選んで、それを順番に交換していくのだった。 では、ソフトウェアの世界において並列…
www.toeic.or.jp いやまあTOEICって大学生が就活用に受けたりだとか、中年会社員が昇進のために受験したりだとかが多いと聞きますけど、僕はそのどちらでもない。 定期的な英語の能力測定として受けてきた。ここ数年は年に1度の受験が定番になっていて、前回…
Vivado HLSの使い方がだいたい分かってきた。では、普通のプログラムを高位合成でHDLで生成させたらどうなるんだろうか? 再帰が含まれているソートアルゴリズムをHDLで合成できる? まずはマージソートを実装してみよう。雰囲気的に、マージソートはハード…
別に大したことはできないだが、Swiftのビルド環境を構築した。 msyksphinz.hatenablog.com Swiftのビルド環境ができたことに感動して、いろいろやろうと思ってチュートリアルを見て驚き。最初のプログラムは、 vagrant@vagrant-ubuntu-vivid-64:~/work/hell…
ITエンジニアのための機械学習理論入門作者: 中井悦司出版社/メーカー: 技術評論社発売日: 2015/10/17メディア: 単行本(ソフトカバー)この商品を含むブログを見る 機械学習理論入門も、いよいよ終盤にさしかかってきた。EMアルゴリズムの章を無事に読み終…
GCC5.3がリリースされていた。ぶっちゃけ気がついていなかったよ。。 GCC 5 Release Series - GNU Project - Free Software Foundation (FSF) osdn.jp 早速Vagrantの環境を構築してみた。MIPS用のクロスコンパイル環境だ。 github.com changelog的にはあまり…
世界で闘うプロダクトマネジャーになるための本 ~トップIT企業のPMとして就職する方法~作者: Gayle Laakmann McDowell,Jackie Bavaro,小林啓倫,小山香織出版社/メーカー: マイナビ発売日: 2014/08/22メディア: 単行本(ソフトカバー)この商品を含むブログ (…
前回の日記で、Swiftのソースビルドがうまく行かなかった。 msyksphinz.hatenablog.com github.com いろいろ調査していると、どうやらディスク容量が足りないのと、メモリ容量が足りないようだった。 最初は1GBのメモリを用意していたが、次に4GBでビルドし…
Appleのプログラミング言語Swiftがオープンソース化されたそうだ。 developer.apple.com github.com せっかくだし、Vagrantで仮想マシンを作って、環境を構築してみようと思ったのだが、、、 その1. Vagrantで箱を作ってSwiftを構築 Appleでも、OfficialにUb…
Interface Synthesis Lab 2: Port I/O Protocolをやっていこう。 http://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_1/ug871-vivado-high-level-synthesis-tutorial.pdf Step1. Create and Open the Project まずは、CUIでvivadoを起動し…
Visual Studio Codeがオープンソース化されたが、相変わらずソースからビルドしようとしてうまくいかない。 とりあえずは、ビルドされたパッケージを使ってやってみよう。僕の開発環境はVagrant上でUbuntuを構成しているので、そのやりかたを調べてみよう。 …
Vivado HLSのチュートリアルを進めていこう。次はInterface Synthesis(Chapter-4)だ。 http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug871-vivado-high-level-synthesis-tutorial.pdf ソースコードのシミュレーション(Cレベル) ま…
Vivado 2015.4 のチュートリアルの続きをやっていこう。 http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_2/ug871-vivado-high-level-synthesis-tutorial.pdf Lab.2 C Validation with ANSI C Arbitrary Precision を挑戦してみる。 Ste…