タグ

CPUに関するskypenguinsのブックマーク (58)

  • NaNのビットパターンを使ってWebAssemblyからCPUの命令セットを推測する

    浮動小数点数にはIEEE 754という標準規格がありますが、規格の範囲内であっても僅かに実装による差異が認められています。その一つがNaNのビットパターンです。 WebAssemblyはNaNのビットパターンに関しては実装依存の結果を許容しており、Wasmランタイムは特に深い理由がなければホストCPUの浮動小数点命令をそのまま用いると考えられるため、結果として「WasmからNaNのビットパターンを観測することでホストCPUの命令セットを推測する」ことができます。 ここでは、「x86(_64)」「RISC-V」「その他(Armなど)」の3択で判定することを目指します。 判定コード 判定するコードは以下です: #include <inttypes.h> #include <stdio.h> #include <string.h> float u32_to_f32(uint32_t x) {

    NaNのビットパターンを使ってWebAssemblyからCPUの命令セットを推測する
  • ゼロからのハイパーバイザ自作入門

    書では、64-bit ARM (ARMv8/AArch64) アーキテクチャを前提としたハイパーバイザの仕組みをできるだけ分かりやすく解説し、実際にラズベリーパイ4やQEMUで動作するハイパーバイザ (Type1) を自作する方法を解説しています。 ソースコード: https://github.com/HidenoriMatsubayashi/evisor ⬛︎ 注意 書はまだ作成中(現在5章を作成中)ですが、モチベーション維持のために公開している状態です(章立てなど今後変わる可能性ありです)。内容は随時更新していますので、気になる方はウォッチやコメント等をお願いします。 ⬛︎ 学べること ・ハイパーバイザとその仕組みと原理 ・64-bit ARM (ARMv8/AArch64) アーキテクチャの仮想化支援機構 ・自作ハイパーバイザの作り方 ⬛︎ コミュニティ 質問や間違い指摘など

    ゼロからのハイパーバイザ自作入門
    skypenguins
    skypenguins 2024/08/12
    ハイパーバイザーを作る目的じゃないけど、x86ならIntelのSDM読むか「Linuxのブートプロセスをみる」がオススメ
  • 新世代CPUアーキテクチャ「Zen 5」完全解説。Ryzen 9000シリーズはどのように進化したのか[西川善司の3DGE]

    新世代CPUアーキテクチャ「Zen 5」完全解説。Ryzen 9000シリーズはどのように進化したのか[西川善司の3DGE] ライター:西川善司 2017年の初登場以来,改良と進化を継続してきたAMDの「Zen」マイクロアーキテクチャ。その最新版となる「Zen 5」を採用するデスクトップPC向けCPU「Ryzen 9000」が,7月31日に発売となる(関連記事)。 当初のラインナップとして発表となったのは,以下に示す4製品だ。 2024年7月31日に発売予定のRyzen 9000シリーズのラインナップ AMDは,2022年に投入した「Zen 4」マイクロアーキテクチャ世代のRyzen 7000シリーズから,デスクトップPC向けCPUは「Socket AM5」(以下,AM5)プラットフォームに移行しているが,今回のRyzen 9000シリーズも,引き続きAM5向けとなっている。なお,AMD

    新世代CPUアーキテクチャ「Zen 5」完全解説。Ryzen 9000シリーズはどのように進化したのか[西川善司の3DGE]
  • 【特集】 最新CPUは50年前の__万倍速い!進化の歴史を辿ってみた

    【特集】 最新CPUは50年前の__万倍速い!進化の歴史を辿ってみた
  • ARM に存在する JavaScript 専用命令「FJCVTZS」を追う(ついでに V8 をビルドする)

    前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1 Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS という JavaScript 専用の機械語命令があるのをご存知でしょうか?CPU に、特定の言語(それもコンパイラを持たない JavaScript)専用の命令があると知ったとき、私は大いに驚きました(過去にも Jazelle みたいなものはありましたが) 今回は、この FJCVTZS 命令について、実際にどれだけ効果があるのか、V8 をビルドしながら調べてみましょう。 FJCVTZS 命令とは? FJCVTZS 命令は、Arm v8.3 から導入された JSCVT 命令の一つで、JavaScript の言

    skypenguins
    skypenguins 2024/06/10
    “目的がなくても暇つぶしにビルドして遊びましょう。”
  • ARMはx86より効率がいいというのは過去の神話 - ウインタブ

    従来から、「ARMはx86より(電力的に)効率的だ」という言説があります。これは単純に「ARMは省電力なスマホ向けで、x86は電力をPC向け」程度のアバウトなイメージのこともありますし、前世紀のRISC vs CISC論争のころからある「ARMはx86 (x64を含む)に比べ命令セットがシンプルなので、命令デコードにかかる電力が少なくて済んで効率的」という議論の形をとることもあります。 この議論については、半導体エンジニアの多くは「ARMがx86 より効率が良いというのは、もはや過去の神話」(in today’s age it is a very dead argument)という認識を共有していると言っていいでしょう。有名なところではApple CPU (ARM)とZen (x86)の両方を開発したジム・ケラー氏のインタビューでも言われていますし、Chips and Cheeseとい

    ARMはx86より効率がいいというのは過去の神話 - ウインタブ
  • 「プログラマーのための CPU 入門 ― CPUは如何にしてソフトウェアを高速に実行するか」を読んだ - おしぼりの日常

    年明けの暇な時間を利用して読んでみました。 書籍のリンク 技術書としての感想 良かった点 悪かった点 注意点 総評 技術書としての感想 良かった点 とにかく文章が分かりやすい 色々な用語の使い方に違和感がない 言葉にすると簡単ですが、当に分かりやすかったです. 具体例が豊富 図が豊富 コード例が豊富 実験例が豊富 まず、「〇〇 な場合に命令の処理が詰まって遅くなります」といった説明の後に、「では、具体的にこういったケースを考えてみましょう」という具体例を持ってくる展開が多く、とても親切だと感じました.また、このような具体例の説明のときにほぼ必ず図が用いられています.特に全体を通して頻繁に出てくる命令流の図は非常に分かりやすかったです.また、コード例とそれを用いた実験も豊富でした.具体的には、キャシュの章では実際にキャッシュミスを意図的に起こすコード・キャッシュヒットを意図的に起こすコード

    「プログラマーのための CPU 入門 ― CPUは如何にしてソフトウェアを高速に実行するか」を読んだ - おしぼりの日常
    skypenguins
    skypenguins 2024/01/04
    誰もコメントしてなくて草/パタヘネと比較した視点が知りたい(買えって話かも知れんがw)
  • プログラマーのためのCPU入門 | フューチャー技術ブログ

    まあ後半のインテルのモデルになると同じCPUでも熱設計で性能が大きく変わったり、ブースト時の性能だったり、いろいろあるのであくまでも数字は目安ですが、無視できないほど大きくなっているのがわかります。特に、Ryzenが元気なここ5-6年の競争による進化がすごいです。 なぜ5-6倍も性能が上がったのか、というのをすぐに言葉できちんと説明できる人はあまりいないと思います。最近、更新がなくなってしまい、Facebook(なぜか友達にしていただいた)上でも活動がみられなくて、悲しいのですが、後藤弘茂のWeekly海外ニュースの連載をずっと読んでいた人であれば、「命令デコーダーが増えたのね」とかなんとなく強くなった部分のイメージがつくとは思いますが、そのなぜ、というのに、実験付きで数値の根拠も含めてわかりやすく説明してくれているのが書です。 CPU実験がおもしろい書は、豊富な図で(LambdaNo

    プログラマーのためのCPU入門 | フューチャー技術ブログ
  • Microsoft Word - 2008-03-17 ☆DP171 立本.doc

    MMRC-J-171 PCのバス・アーキテクチャの変遷と競争優位 ―なぜ Intel は、プラットフォーム・リーダシップを 獲得できたか― 東京大学ものづくり経営研究センター 立博文 2007 年 7 月 東京大学 COE ものづくり経営研究センター MMRC Discussion Paper No. 171 立博文 2 東京大学 COE ものづくり経営研究センター MMRC Discussion Paper No. 171 2 PCのバス・アーキテクチャの変遷と競争優位 ―なぜ Intel は、プラットフォーム・リーダシップを 獲得できたか― 東京大学ものづくり経営研究センター 立博文 2007 年 7 月 要約 近年、製品開発論の分野では、製品のアーキテクチャの視点を取り入れた実証分析が 盛んに行われている。アーキテクチャベースの戦略の中で、もっとも強力な戦略がプ ラットフォーム

  • VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み

    Arm入門勉強会とは、macOSがArmに移行したこの機にArmアーキテクチャでのプログラミングについて入門するソフトウェアエンジニアのための会です。今回主催の@nullpo_head 氏が、Armの仮想化支援機構について、その仕組みから深く説明します。前半は「現代のハードウェア仮想化支援機構」について。全2回。 ハードウェア仮想化支援とは何か 佐伯 学哉氏:入門セッション3つ目は『Armの仮想化支援機構』についての入門セッションです。どうぞよろしくお願いします。 発表のスタートとゴールです。VMwareとかQemuとか使ったことあるけど仮想マシンの仕組みなんも知らんというところがまずスタートになっています。 1個目のゴールは、最近のVMのざっくりした仕組みとハードウェア仮想化支援とは何かということがわかること。そしてその話のあとに実際にArmの仮想化支援機構の概要を説明し、Armの仮想

    VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み
  • Intel、新「X86-S」アーキテクチャで8086互換を切り捨て

    Intel、新「X86-S」アーキテクチャで8086互換を切り捨て
    skypenguins
    skypenguins 2023/05/22
    (アプリとして)誰も使ってない16bitリアルモードとか切り捨てるっていう話だから、ISAがx86の拡張ですら無いIA64とは話がそもそも違うのでは
  • プロセスよりもスレッドのほうが高速にコンテキストスイッチできることを検証する

    目次 はじめに コンテキストスイッチとは 実験1: パイプを使って計測する 実験2: より実際的なモデル プロセス VS スレッド はじめに すこし前に、Chromeの開発をされているをやられている方のこんなスライドが回覧されてきた。 で、それを見てすこしひっかかったのが 15ページ のところ。 スレッドとプロセスの比較だけど、スレッドについて、このような言及がある。 そのぶんプロセスより軽い(メモリ使用量、コンテキストスイッチ) あれ、コンテキストスイッチの時間って、プロセスとスレッドで違うんだっけ…。 ぼくはアプリケーションプログラマなので低レイヤーのことは詳しくないのだけど、 プロセスもスレッドも、スケジューラーから見ると同じタスクという抽象であるみたいな話をどこかで聞いたことがあって、 コンテキストスイッチの時間にも違いはないのかと、なんとなく思い込んでいた。 これを実際に検証する

    プロセスよりもスレッドのほうが高速にコンテキストスイッチできることを検証する
  • JavaScript で CPU が Intel かどうかを判定する(ついでに JIT を検知する)

    先日、次のような Tweet を見かけました TIL I discovered that TensorFlow.js uses an interesting trick to sniff your CPU architecture in WebAssembly. pic.twitter.com/LVyywIM48I — Robert Knight (@robknight_) January 4, 2023 面白かったので、なぜこうなるのかの解説と、ついでにこのテクニックを使った JIT 検知方法などについて紹介します。 JavaScript における低レイヤーの扱い JavaScript においては、挙動が比較的しっかりと仕様に定められているために、環境による振る舞いの違いはあまり発生しません。しかし、低レイヤーに降りるほど振る舞いは実装依存になり、環境差が発生する余地が出てきます。 一番

    skypenguins
    skypenguins 2023/01/11
    ニッチすぎる
  • iPhoneにArmコアが載った日 その前日譚を技術と人脈から解説する

    こちらは機能的にはPP5002から大きく強化され、USB 2.0の対応やバッテリーモニターのサポート、カラー液晶のハンドリング、JPEG/MotionJPEGの取り扱いなどが追加された一方、CPUコアそのものは80MHz駆動のDual ARM7 TDMIと、むしろ性能は多少落ちていたりする。2005年に投入されたiPod PhotoやiPod Color Displayなどの製品もこのPP5020が利用されていた。 Sumsung SoCへの切り替えは必然的だった ただ第5世代のiPod(ビデオ再生対応)についてはPP5020のままではいろいろ性能が足りなかったようで、PP5021Cという進化型(引き続き80MHz駆動のDual ARM7 TDMIコア)にBroadcomの「BCM2722」というビデオプロセッサを組み合わせる形で実装された。 おそらくこの辺りで、PortalPlayerが

    iPhoneにArmコアが載った日 その前日譚を技術と人脈から解説する
  • Armのライセンス形態はどうなっているのか AppleはどのIP?

    RISCプロセッサの歴史連載でもおなじみ大原雄介さんがスタートした短期集中連載。テーマは今最も熱いRISCプロセッサ、“Apple Silicon”だ。Armアプリケーションプロセッサの変遷に続いて、第2回はAppleとArmの関係にも影響してくる、ライセンスの問題について。 前回、Cortex-Aシリーズの製品の説明を一通り終わらせたところで、ライセンスの話をしておきたい。 以前の記事にもちょっと書いたが、ArmはCPUのIP(Intellectual Property)を提供する企業である。ここでいうIPとは、プロセッサの「論理的な」設計図である。他に何があるかというと、「物理的な」設計図が必要である。 例えばこちらは、2つのArduinoというマイコンボードで通信を行わせよう、というテーマの記事だが、下の方にある「回路図」が論理的な設計図、「実体配線図」が物理的な設計図になる。この記

    Armのライセンス形態はどうなっているのか AppleはどのIP?
  • ArmのApplication Core、その変遷

    ArmのApplication Core、その変遷:新連載「Apple Siliconがやってくる」(1/3 ページ) RISCプロセッサの歴史を執筆中の大原雄介さんがタイムリーな短期集中連載をスタート。テーマは今最も熱いRISCプロセッサ、“Apple Silicon”だ。まずはそのベースとなっている、Armアプリケーションプロセッサの変遷について。 WWDC 2020でAppleが将来のMacプラットフォームをApple Silicon、要するにArmベースの自社プロセッサに切り替えるという話についてはこちらをはじめ、さまざまな記事が上がっている。ぶっちゃけ筆者はApple派の人ではない(なんせメインで使ってたのはグラフィックスカードVimage SE/30を突っ込んだMacintosh SE/30 16MB+漢字Talk 6.0.7あたりまで。漢字Talk 7には移行せずに、WFW(

    ArmのApplication Core、その変遷
  • ARMの誕生 ~Sinclair、BBCからNewton、Symbianへ~

    ARMの誕生 ~Sinclair、BBCからNewton、Symbianへ~:RISCの生い立ちからRISC-Vまでの遠い道のり(1/4 ページ) ※現在Armの正しい表記は“大文字A+小文字rm”であるが、今回ご紹介する内容の時期はまだ大文字の“ARM”の時代だったので、あえて“ARM”と記述させていただいた。 アメリカではハイパフォーマンス路線に突き進むMIPSやその競合メーカーが一斉にRISCに飛びつくが、それとは別の動きがイギリスで生まれていた。 1978年、CPU(Cambridge Processor Unit) Ltd.という会社がイギリスのケンブリッジで創業した。厳密に言えば、そもそもSinclair ZX80とか、後にはZX Spectrumを世に送り出したクライブ・マールズ・シンクレア卿が興したSoC(Science of Cambridge:もともとはSinclair

    ARMの誕生 ~Sinclair、BBCからNewton、Symbianへ~
  • マインクラフトで1HzのCPUを作り上げた猛者が登場、テトリスや関数のグラフ化も可能

    累計販売数が2億を超えたり、YouTubeでの総視聴回数が1兆回を超えたりと、世界的に人気のある箱庭ゲーム「マインクラフト」はサバイバル生活を楽しんだり、自由にブロックを配置し建築などを楽しんだりできるのが売りです。そんなマインクラフトで「レッドストーン」というアイテムを駆使して周波数1HzのCPU「CHUNGUS 2」を設計したと、YouTuberのsammyuri氏が発表しました。 CHUNGUS 2 - A very powerful 1Hz Minecraft CPU - YouTube CHUNGUS 2は「Computational Humongous Unconventional Number and Graphics Unit by Sammyuri 2」の略称。 CHUNGUS 2はクロック1Hzで10tickの16bitCPUで、3オペランド命令のRISCアーキテク

    マインクラフトで1HzのCPUを作り上げた猛者が登場、テトリスや関数のグラフ化も可能
    skypenguins
    skypenguins 2021/12/18
    Atari2600相当なのは外部メモリの容量4KiBであってクロック数ではない(Atari2600のそれは1.19MHz)よね?Gigazine特有の雑な翻訳記事がまた世に放たれてしまった
  • The Fastest FizzBuzz Implementation

    I have 15 years of consulting & hands-on build experience with clients in the UK, USA, Sweden, Ireland & Germany. Past clients include Bank of America Merrill Lynch, Blackberry, Bloomberg, British Telecom, Ford, Google, ITV, LeoVegas, News UK, Pizza Hut, Royal Mail, T-Mobile, Williams Formula 1, Wise & UBS. I hold both a Canadian and a British passport. My CV, Twitter & LinkedIn. The following is

  • オール・トランジスタ4ビットCPUの製作とFPGA開発[Vol.1 ノイマン型CPUの設計]

    オール・トランジスタ4ビットCPUの製作とFPGA開発 [Vol.1 ノイマン型CPUの設計] ALU,レジスタ,I/Oなどをトランジスタ・レベルで手作りし,さらにFPGAにも実装 著者・講師:別府 伸耕/Nobuyasu Beppu (リニア・テック) 企画編集・主催: ZEPエンジニアリング株式会社 関連製品:[VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門 関連製品:[VOD/KIT]実習キットでできる!ラズパイPico×Wi-FiモジュールでIoT超入門 関連製品:[VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】 関連製品:[VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門 関連製品:[VOD/KIT]実習キットで一緒に作る!オープンソースCPU RISC-V入門 関連製品:[VOD/KIT]P