@dev_msyksphinz
@chiaki_1122
@espososdos
@turk_ifsa2019
@shruti03436492
@malevolensce
@ParthaS92444095
@Lan_Marie
@play_streaming
@BrianRobertGZ
@ifsa_unluler
@Silopibld
@_Zulal_2
@AnneK65245
@VitthalBobade
@heit_ke
@SKFSSM
@mandylfowler
@karinasw
@Jacquelinecdrn1
コンピュータアーキテクチャ,とくにCPUの命令セットアーキテクチャについて,RISC-Vを例に「上のレイヤからアプローチする」ことで理解を深めることを目的とした一冊。本書を一通り読み終えるころには,低レイヤに対する一段上の実力がついているはずです!
「作って学ぶコンピュータアーキテクチャ」では、執筆時点ですでに500ページを超えてしまい、泣く泣く2章分を削除しています。 1つ目の付録である「付録1. 関数呼び出しのバリエーションと高度な機能」についてはすでに公開済みですが、もう一つの「付録2. 浮動小数点命令」についても公開しました。 こちらは、LLVMに浮動小数…
「作って学ぶコンピュータアーキテクチャ」(いわゆるRISC-V + LLVM本)は書籍執筆時の状況と出版時のツールチェインの状況がかなり変わってしまっており、各所で迷惑をかけてしまっています。 確実にLLVMビルド + シミュレーションを行うために、ツールチェインを含んだDockerイメージをリリースします。 gith…
「作って学ぶコンピュータアーキテクチャ」では、執筆時点ですでに500ページを超えてしまい、泣く泣く2章分を削除しています。 そのうちの一つである、「付録1. 関数呼び出しのバリエーションと高度な機能」を無償公開しました。 github.com この章は、本当は基本的な演算や機能の実装後に挿入したかった章で、以下の範囲を…
RISC-Vのハイパーバイザー拡張の仕様がかなり固まってきた。現在は0.6.1が公開されている。 Hypervisor Extension, Version 0.6.1 github.com とりあえず、上記の資料を読みながらちまちまと日本語化してみた。これは別に営利目的などではなく、完全に自分の趣味で理解のために翻訳…
ずいぶんとアップロードするのを忘れていましたが、今年の予定しているRISC-V関係の講演はすべてやり切ったので、発表資料をすべて公開したいと思います。 今年は4件講演しました。秋頃から集中したのでずいぶんと息切れしました。 特にDesign Solution Forumは40分、ET & IoT Techonolgyの…
ダウンロードとビルド riscvemuを動作させる riscvemuの実行方法 risvemuを利用したSimple Linuxの起動 Fedoraのディスクイメージでの起動 シレっとRISC-Vメーリングリストに投稿されたこれ、QEMUの開発者でもあるFabrice BellardがRISC-Vの128bitモードま…
というか昔からずっと昔から公開していたのだけれども、場所を全く公開していなかっただけで。 RISC-Vのベクトル拡張命令の仕様がかなり固まってきた。現在は0.7.1が公開されている。と思ったら以下のドキュメントをよく見てみると0.7.2に更新されているのでどっちが正しいのかな?まあいいや。 RISC-V "V" Vec…
TLBleedの論文がやっと発表された。The Registerで記事が出てから論文が出てくるまでずっと監視していたのだが、随分と時間がかかったね。 www.vusec.net このTLBleedの論文非常に長いので読むのがつかれるし、あまりセキュリティの知識とか無いので大変なのだが、要点だけつかもうと時間を作ってざっ…
オープンソースソフトウェアに続き、オープンソースの命令セットアーキテクチャとしてRISC-Vが注目されています。 RISC-V Internationalには、名だたる半導体企業から新進気鋭のベンチャー企業まで、多くのメンバが参入して注目度が高まっています。 半導体開発およびそれを取り囲むソフトウェアエ…
2019年 にCQ出版さんのインターフェースで、RISC-V特集時に原稿を書かせていただいていました。 msyksphinz.hatenablog.com そのときにには7本の原稿を提出していましたが、実は雑誌に掲載されていたのは5本でした。 残りの2本は紙面の関係上掲載は見送りとなっていました。 いろいろ議論したうえ…
といっても大昔に作ってみたもので、BitBucketの肥やしにしておくのももったいないし、最終的にどうにかして発展させたいので公開する。 今のところデコーダはあるが逆アセンブラはついていないのでspike-dasm頼みである。 github.com 大した実装ではなく、一応テストパタンを通すことができる程度だが、公開し…
Binary Translation型エミュレータにおいてシフト命令を実装した。Binary Translation型エミュレータでは、ゲストマシンの命令(今回はRISC-V)からホストマシンの命令(今回はx86)に直接変換することで高速実行を可能にするシミュレータだ。 CSR命令などのPrivileged命令の実装も…
Authors: Derek Lockhart, Stephen Twigg, Ravi Narayanaswami, Jeremy Coriell, Uday Dasari, Richard Ho, Doug Hogberg, George Huang, Anand Kane, Chintan Kaur, Ta...
RISC-V Day Tokyo 2019でも販売したらしいのだが、参加しなかったのでネットで購入。 到着して、開封するととりあえずデカいな! コンピュータアーキテクチャ 第6版 原著と日本語版 中身はまだ熟読していないけど、とりあえず気になるのは2点: 表紙に「第6版」までは良いけど、なぜ「RISC-V」まで書いた?…
思い出したように、というかすっかり忘れていたのですが、2019年のこれまでに発表した私のRISC-V関連の資料をすべてSpeakerDeckにアップロードしました。 2019年もまだまだ続きますが、年末になるまでずっとHDDの肥やしにしているのはもったいないので、思い出した時点でアップロードしておきます。 2019年の…
フルスクラッチで量子コンピュータ・シミュレータを作る話、骨格となる部分はおおよそ完成し、量子ビットを取り扱う方法を考える。 量子ビットを作成する方法の検討 量子ビットは、1量子ビットをPythonの1変数として宣言できるようにしたい。 例えば、以下のようにPythonで記述すると2つの量子ビットが個別に宣言される。 q…
ルネサスエレクトロニクスは、オープンソースの半導体設計IP「RISC-V(リスクファイブ)」を使った半導体デバイスの開発を始めると発表した。リスクファイブは半導体設計IPで高いシェアを持つ英アームの対抗馬として存在感を高めている。ルネサスは将来の市場拡大を見据えて開発に乗り出す。ルネサスがリスクファイブを採用するのは初めて。台湾アンデス・テクノロジーがリスクファイブを使ってCPU(中央演算処理
自作RISC-Vシミュレータがある程度落ち着いてきたので、キリがいいところでGitHubで公開することにした。 github.com まあSpike(riscv-isa-sim)の劣化Cloneだと言ってしまえばそれまでなので、あまり意味はないのだけれど。。。 図. 自作RISC-Vシミュレータの外部インタフェース 使…
コンピュータアーキテクチャとは,より良いコンピュータの構成を模索し,設計し,実現するための方式です。学習には,重要概念の理解とハードウェアの設計,実装,そのシミュレーションによる動作確認と性能評価,また,FPGAなどにハードウェアを実装し,動作・検証・性能確認することが大切です。本書は,これらを通じてコンピュータアーキテクチャの本質を学ぶことを目指します。特に,オープンな命令セットアーキテク...
arxiv.org GIGAZINEでも紹介された新たなCPUの脆弱性の論文"SPOILER"が発表された。GIGAZINEがこのような記事を公開するのは珍しいなと思いつつ、面白そうなので読んでみることにした。 ちなみに、筆者は例によってセキュリティの専門家ではないし、CPUアーキテクチャにしてもデスクトップクラスの本…
HiFive Unleashedは高くて買えないのだけれども、RISC-V SDKであるFreedom-U-SDKを使ってみることにした。 自作RISC-Vシミュレータを使ってRISC-VのLinuxをブートさせたいのだけれども、なかなか動作しないので四苦八苦していた。 #自作RISC-Vシミュレータは、そのうちGit…
この記事はFPGA開発日記の祝2,000記事到達の記念に書いているものです。 普段の記事と比べて非常にエモい内容となっております。 FPGA開発日記を始めたのが2015年の1月4日。それからおよそ5年と10か月で2,000記事に到達した。 計算してみると2,115日での2,000記事達成となっていた。我ながらよく頑張っ…
「RISC-V」という言葉が徐々にエンジニア界隈に普及し始め、技術界隈のニュースサイトだけでなく、一般的なニュースを扱うような新聞社の記事でも見かけるようになってきました。例えば以下のような記事です。 www.nikkei.com 半導体エンジニアではない人がこのような記事を書く場合、「設計IP」について正しい知識を持…
今年の初めくらいからAPSさんにRISC-Vの記事を寄稿していたのですが、全8回分が今回すべて公開されました。 www.aps-web.jp APSさんでの連載はこれにて終了になります。 今年の2月から1か月に1本ずつ、合計8回分投稿させていただきました。 もともと入門者向けということであまりハードウェアの細かいところ…
CPUの脆弱性として新たに報告された "PortSmash" 、どういう脆弱性なのかを調べるために論文を探すと公開されていた。 Port Contention for Fun and Profit https://eprint.iacr.org/2018/1060.pdf "Port Contention for Fu…
ASPLOS-18 にて、 BranchScope と呼ばれる新しいCPUの脆弱性を付く攻撃手法が発表された。 今年の頭に ”Meltdown", "Spectre" で世間を騒がせたCPUの脆弱性の件だが、今回別の形で攻撃する手法を発見したということで、面白そうなので調査してみることにした。 こちらも現代のコンピュー…
Verilatorについて全く知らない人が、どのように使えば良いのかきちんとした文章が世の中に存在していない気がするので、少しまとめてみることにした。VerilatorはフリーでオープンソースのVerilogシミュレーションシステムなので、うまく活用すれば強力な武器になる。高額なEDAツールを使わずとも家でハードウェア…
インターフェースを毎号買って読んでいる方なら「おいおいこの話は先月号に載せるべき話じゃないのかい?」と言うことに気が付くと思います。私もそう思います。が、どうやら編集担当さんによりページ数のミスが発生した模様(本当かどうかは知りませんが)で、なぜか私の記事が吹っ飛ばされて次号に掲載となりましたとさ。なんじゃそりゃ。 C…
CQ出版のInterface誌2018年2月号から、RISC-Vについて連載を寄稿しました。タイトルは、「オープンソースCPU「RISC-V」の研究」です。 結構な文章と図を寄稿したのだけれども、紙面の都合上で連載になったらしい。何回続くのかはわかりませんが、ゆっくりとお付き合いいただければ。 ちなみに今月号は歴史と登…
TCGの続き。TCGによるエンコードをもっと詳しく見るために、最適化を抑制すべくいろいろ変更してみた。 git diff tcg/i386/tcg-target.inc.c diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c index …
プロセッサアーキテクチャについて再度復習その7。分岐予測の続き。 読んでいるのはA Survey of Techniques for Dynamic Branch Predictionという論文で、新規技術の解説ではないのだが、現在の有名どころの分岐予測技術についてまんべんなく解説してくれている論文だ。 A Surve…
ISCA 2018で発表される予定の論文、"FireSim: FPGA Accelerated Cycle Exact Scale-Out System Simulation in the Public Cloud" をざっと流し読みした。 EC2 F1インスタンスを勉強している身としては、把握しておきたい内容というこ…
2019/05/27(月)~2019/05/28(火)に開催されるxSIGと呼ばれるワークショップにて、RISC-Vについてチュートリアル講演を行います。 xsig.hpcc.jp xSIGというのは、「クロス・シグ」と読むらしく、「The 3rd cross-disciplinary Workshop on Comp…
RISC-Vの命令セットは、riscv.orgに掲載されているRISC-V User-Level ISA Manual V2.2 を見ればほとんどを把握することができる。 また、RISC-V Reader(日本語版 RISC-V 原典) にも命令セット一覧表が掲載されており、これを見ればRISC-Vの命令セットの概要を…
新・標準プログラマーズライブラリ RISC-Vで学ぶコンピュータアーキテクチャ 完全入門
英国のEU離脱や、ソフトバンクによるArmの買収などを経験したEUは、「EU独自のプロセッサがなくなる」という危機感を高めている。そのEUが救いを求めているのが「RISC-V」だ。
CQ出版さんの雑誌「インターフェース」で連載していた「オープンソースCPU「RISC-V」の研究」が今月号で最終回を迎えました。 13回にわたり長々と連載をしてきましたが、今回で一応一区切りということになります。 連載を開始したのはおおよそ1年前で、ほぼ1年かけてRISC-Vの基本的な部分を紹介してきました。 この原稿…
CQ出版さんが出版している雑誌インタフェースの12月号で、「注目オープンソースRISC-Vマイコン」という特集記事に寄稿しました。 RISC-Vマイコンの話がメインなんですが、よく見ると私はマイコンの話はほとんど書いていないですね。 なんか仕様だのクラウドだの、普段実機をあまり触っていないことがばれてしまうような内容構…
TinyEMUはQEMUを開発したFabrice Bellard氏が開発したRISC-Vシミュレータだ。 さらに彼はRISC-VのLinuxを起動するためのbuildrootも用意したらしい。RISC-VのMLにアナウンスがあった。 TinyEMU とりあえず超高速のシミュレータでRISC-V Linuxを起動すること…
年末ですね。年末に技術っぽいことを書いても誰も見ていないので、どうでもいいことを書こうと思います。 皆さん技術書は好きですか?好きですよね。読みもしないのに技術書典なんかに大挙して押しかけて、結局積読が増えていく。積んでいるとなんか落ち着くのかもしれません。 私は現在ハードウェア関連の技術者として働いているわけですが、…
RISC-V対抗か何かわからないけれども、ArmがXilinxのFPGA向けにCortex-Mシリーズの一部を無償化した。 対象となっているのはXilinxのFPGAボードであるArty-A7かArty-S7のどちらか。A7を持っているのでダウンロードして試してみることにした。 内容を確認しているのだが、コアはIPとし…
RISC-Vの入門書といえば、RISC-V Readerなど基本的に英語のものが日本語に翻訳されるという形式が多いが、中国語版の良さそうなものがあったので無理やり買ってみた。 2冊セットで、結構分厚い。漢字ばっかりで、眩暈がしてくるぞ。。。 とりあえず、スマホの翻訳アプリで目次から眺めている。 1冊目 : 「RISC-…
2022年7月1日に技術評論社から発売される「作って学ぶコンピュータアーキテクチャ ー LLVMとRISC-Vによる低レイヤプログラミングの基礎」のサポートページを公開しました。 github.com こちらでは、正誤表やサンプルプログラムの実行方法、また最新版のLLVMバージョンでの実験結果などについて公開する予定で…
ある程度頭に入っているつもりだが、CPUにおけるアウトオブオーダ実行でのメモリアクセス命令の取り扱いについて確認する。 EECS 470 Lecture 12 Memory Speculation https://web.eecs.umich.edu/~twenisch/470_F07/lectures/12.pdf …
コンパイラ勉強会に参加してコンパイラ熱が高まっているので、LLVM for RISC-Vについて久しぶりに調べた。 これまで何度かRISC-V for LLVMについて調べてきたが、Mailing Listなどを見ていてもあまりアップデートがない。 msyksphinz.hatenablog.com msyksphin…
モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする…
少し前にWaveDromというJSONで波形を表示するツールについて調査していたのだが、ある程度使いこなすことが出来るようになってきた。 今作っている自作RISC-V CPUの仕様書を書くために波形を書いているのだが、結構便利に使うことが出来ている。 例えば、以下のようなJSONファイルを書けば自動的にPNGとSVGを…
次世代計算機講座に参加して、量子コンピュータについて俄然興味がわいてきた。 手っ取り早く量子コンピュータを試すためには、最近になっていろいろ手段が出てきている。 MicrosoftからはQ#、GoogleからはフレームワークとしてCirqがリリースされている。 これらの環境を使うのもいいけれども、あまり情報もないし折角…
SystemVerilog入門: 設計・仕様・検証のためのハードウェア記述言語作者:篠塚 一也発売日: 2020/10/09メディア: 単行本 共立出版様から「System Verilog入門:設計・仕様・検証のためのハードウェア記述言語」を献本頂きました。共立出版様、ありがとうございます。 Amazonでの発売日は2…
https://msyksphinz-self.github.io/riscv-v-spec-japanese/html/index.html RISC-Vのベクトル拡張については仕様書がGitHubに公開されており、2~3年前に私はそれを日本語訳して公開していた。当時のバージョンは0.7.1から0.8だったが、ついに…
Hisa Ando氏のブログで知ったのだが、Spectre & Meltdownを防ぐマイクロアーキテクチャとしてSafeSpecという技術が発表されたので、これを読んでみることにした。 2.SpectreやMeltdownを防ぐSafeSpecマイクロアーキテクチャ 20180616 Boffins offer to…
Contribute to msyksphinz-self/support_ca_llvm_book development by creating an account on GitHub.
去年よりも開催が1か月早くて焦っています。 2018/09/12(水)に開催されるDesign Solution Forumにて、RISC-V/IoTのトラックの1つとして発表させて頂くことになりました。 13:30~14:10 で、タイトルは "試しながら学ぶオープンソースプロセッサRISC-V の世界" としました…
諸事情で波形を書く必要があり、正直面倒だったので何か良いツールが無いか探したところ、WaveDromというのがテキストベースで波形画像を生成できるようだったので試してみた。 しかもこいつはVisual Studio Codeと強調して動作することができる。インストールには、Visual Studio Codeのプラグイ…
今年開催されたRISC-Vに関係するイベント、 "Design Solution Forum 2017" および "RISC-V Tokyo 2017" で使用した発表資料を公開しようと思います。 Design Solution Forumについては既に登録者限定で公開されているけど、特に隠す必要はないので公開してしま…
Embedded Technology(今はET/IoT Technologyと言うのかな) 2018のテクニカルセッションで講演することになりました。 発表の一週間前になりましたので、例によって告知です。 日付 : 11月14日(水) 14:00-15:30 場所 : パシフィコ横浜 F201 アネックスホール タイ…