タグ

ブックマーク / msyksphinz.hatenablog.com (6)

  • RISC-Vのハイパーバイザー拡張の仕様書を(ほぼ)日本語化したので公開する - FPGA開発日記

    RISC-Vのハイパーバイザー拡張の仕様がかなり固まってきた。現在は0.6.1が公開されている。 Hypervisor Extension, Version 0.6.1 github.com とりあえず、上記の資料を読みながらちまちまと日語化してみた。これは別に営利目的などではなく、完全に自分の趣味で理解のために翻訳してみたかったところがある。しかし翻訳しながら「なんじゃこりゃ?」な部分はとりあえず飛ばして先に進んだりしたので、すべて理解をしているかというとそれは違う。また復習しないと。 とりあえずSpikeの実装とKVMのRISC-V移植版を勉強しながら、実際の実装を学んでいくようにしていきたい。 RISC-V ハイパーバイザー拡張 日語版 msyksphinz-self.github.io とりえあず、Google翻訳には頼らず、99%は自力で翻訳したが、おかげてTypoやら、誤訳

    RISC-Vのハイパーバイザー拡張の仕様書を(ほぼ)日本語化したので公開する - FPGA開発日記
    rryu
    rryu 2021/03/07
  • 半導体業界における「IP」とは何なのかを説明したい - FPGA開発日記

    RISC-V」という言葉が徐々にエンジニア界隈に普及し始め、技術界隈のニュースサイトだけでなく、一般的なニュースを扱うような新聞社の記事でも見かけるようになってきました。例えば以下のような記事です。 www.nikkei.com 半導体エンジニアではない人がこのような記事を書く場合、「設計IP」について正しい知識を持っておかないと、少しおかしなことになってしまいます。しかしこれは記事を書いている記者だけを責めることは出来ません。半導体設計業界はソフトウェア開発業界に比べて小さな業界で、プレーヤの数も少なく、ネット上にあまり情報も出てきません。時事ネタを速攻で記事に起こさないといけない新聞記者が「IPってなんだっけ?」「リスクファイブってなんぞや?」ということをいちいち厳密に調べてられない、ということも理解できます。 そこで、非エンジニア(というか非半導体産業の方)でも理解できるように、R

    半導体業界における「IP」とは何なのかを説明したい - FPGA開発日記
  • 歳を取ったエンジニアとして腕力のある若手にどうやって立ち向かおうか考えた - FPGA開発日記

    この記事はFPGA開発日記の祝2,000記事到達の記念に書いているものです。 普段の記事と比べて非常にエモい内容となっております。 FPGA開発日記を始めたのが2015年の1月4日。それからおよそ5年と10か月で2,000記事に到達した。 計算してみると2,115日での2,000記事達成となっていた。我ながらよく頑張った。 ブログを書き始めてもう5年以上経った。5年も経てば周りの状況も変わるし、生活環境も変わる。 私も歳を取り、決して若いとは言えない年齢になった。昔のように徹夜で勉強とか実装はできなくなったし、肩は凝るし集中力は続かない。夜になるとすごく眠たくなる。仕事が終わったらすぐ眠たくなってしまい、趣味やブログを執筆する時間を取るのがとても難しくなってきた。 私が年を取れば取るほど、若い実装力のある、優秀な人たちが参入してきて、私の何倍ものスピードで成果を出していく。 私が持っている

    歳を取ったエンジニアとして腕力のある若手にどうやって立ち向かおうか考えた - FPGA開発日記
  • RISC-Vにおける32ビットよりも大きな定数の生成方法 - FPGA開発日記

    ふと気になって、RISC-Vの32ビットよりも大きな定数の作り方を調べることにした。これはRISC-VのISAの話というよりもコンパイラの話だ。 例えば以下のようなプログラムをGCCでコンパイルするとどのように定数を生成するのかチェックしてみる。 long_value.c int long_value() { long long_const = 0x0123456789abcdefULL; return 0; } riscv64-unknown-elf-gcc -c long_value.c -S -o - long_value: lui a5,%hi(.LC0) ld a5,%lo(.LC0)(a5) addi sp,sp,-16 li a0,0 sd a5,8(sp) addi sp,sp,16 jr ra .size long_value, .-long_value .section

    RISC-Vにおける32ビットよりも大きな定数の生成方法 - FPGA開発日記
    rryu
    rryu 2020/05/14
    普通にメモリからロードするだけでいい気がするのだが、加算とシフトの方が速いのだろうか。
  • CPUの新たな脆弱性 SPOILERの論文を読む - FPGA開発日記

    arxiv.org GIGAZINEでも紹介された新たなCPUの脆弱性の論文"SPOILER"が発表された。GIGAZINEがこのような記事を公開するのは珍しいなと思いつつ、面白そうなので読んでみることにした。 ちなみに、筆者は例によってセキュリティの専門家ではないし、CPUアーキテクチャにしてもデスクトップクラスの格的なものは設計経験がないので、いまいち文から読み取れない部分があったりとか、間違っている部分があるかもしれない。 この攻撃手法も、CPUの高速化を達成するための様々な機構を悪用する手法となっている。 SPOILERが対象とするのは、ストア命令の内容をロード命令でフォワードするためのMOB(Memory Order Buffer)の機構だ。例えば以下のようなコードを書いた場合、 sw a0, 0(sp) lw a1, 0(sp) ストア命令は、投機実行をしてしまうとメモリの

    CPUの新たな脆弱性 SPOILERの論文を読む - FPGA開発日記
    rryu
    rryu 2019/03/11
    パイプラインのフォワーディングとは。パイプライン周りの高速化機能は全部引っかかりそうな感じ。
  • Intel Software Guard Extensionのチュートリアルを読む(1. SGX Foundation) - FPGA開発日記

    CPU脆弱性についての論文を読んでいると必ずと言っていいほど出てくるIntel SGX(Software Guard Extension)。 なんとなく秘匿データを扱うためのIntelのハードウェア機構なんだろうなと思っていたけど、あまり知ったかぶりをしているのもよくないのでチュートリアルを読んでみることにした。 参考にしたのは、Intel® Software Guard Extensions Tutorial Series だ。ハードウェアの詳細について書いてあるわけではないが、使い方についていろいろ書いてあるので基礎知識を得るのにはよさそう。 software.intel.com 長々と書いているが要するに、 SGXは秘密情報を扱うためにアプリケーション階層内に「飛び地(enclave)」を作成する。この飛び地に秘密情報を格納して管理する。 enclaveに入れるのは、Intelの専用

    Intel Software Guard Extensionのチュートリアルを読む(1. SGX Foundation) - FPGA開発日記
  • 1