紙書籍をお届けします(PDFがついてきます) PDFのみ必要な場合は、こちらからPDF単体を購入できます 通常はご注文から2~3営業日で発送します。 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください。 そのプログラム、CPUの性能を引き出せますか? Takenobu Tani 著 312ページ A5判 ISBN:978-4-908686-16-0 2023年1月25日 第1版第1刷 本書の解説で利用するコード(著者によるGitHubリポジトリ) 正誤情報など ソフトウェアの価値は、ハードウェアで実行されることにより、現実のものになります。そのために不可欠なのがCPUです。したがってソフトウェアの価値は、CPUの性能、すなわち「できるだけ高速にソフトウェアを実行すること」にかかっているとも言えるでしょう。 現代のCPUの性能は
2023年10月31日、AppleがArmアーキテクチャを採用した第3世代のAppleシリコン「M3」を発表しました。AppleはCPUをIntel製から自社製へと変えて大きく躍進を遂げましたが、CPUを変えるに当たりさまざまな障壁に当たることもしばしばでした。こうしたAppleのCPUの歴史について、エンジニアのジェイコブ・バートレット氏が解説しています。 Through the Ages: Apple CPU Architecture https://jacobbartlett.substack.com/p/through-the-ages-apple-cpu-architecture 1984年のMac発売以来、AppleはCPUアーキテクチャを3回移行しています。バートレット氏いわく、これは「容易なことではない」とのこと。AppleのCPUの歴史は、初代Mac、1984年の「App
クレイジーピエロ 著 無から始める自作CPU CPUは作れる!!!!!!!!ご存知でしたか!!!?????? CPU、それは我々が暮らす情報社会の基盤となる魔法の石です。 世に存在する全てのソフトウェア、例えばゲーム、AI、Webサーバ、OS、これらは全てCPUが無ければ動きませんし、今や車や飛行機、家電にも全てCPUが入っている時代です。 そんな誰もがCPUに依存している時代にも関わらず、CPUについて理解を持っている人間は余りにも僅か、というのが現状です。 そんな今こそCPUを作りましょう。 CPUを作り、完全に理解する事で、CPUによって成り立つ技術を学ぶ上での、揺るぎない自信と確証を身につける事が出来るでしょう。 本記事ではCPUという究極のブラックボックスに光を当て、半導体やプログラミングの知識が無の状態から、CPUを作る事を目標としています。 必要な物 本記事の内容の99%はW
Alder Lake以降のIntel CPUでは、P-coreとE-coreの2種類のコアが搭載されている。 P-coreは性能重視、E-coreは省電力重視という位置づけで、OSがうまくこれらのコアを使い分けることで、消費電力と性能の両立が図られている。 ここまでの話は広く知られているが、実際にどのようにしてOSに対してコアの使い分けをさせているのかの実装レベルでの解説は (少なくとも日本語では) ほぼ存在しないようなので調べてみた。 OSから見たP-coreとE-core OSの役割の一つとしてプロセススケジューリングがあり、どのプロセスをいつどれぐらいの期間どのCPUコアで実行するかを決める。OSができるだけ効率よくプロセスをスケジューリングするためには、CPUコアの性能や消費電力の違いを考慮したスケジューリングが必要になる。そこで、Intel CPUではOSに対して次の2つの情報を
ホーム PC, ハードウェア AMD Ryzen(Zen3/Zen4)に重大な脆弱性、RSA暗号を6.5秒で窃取できる不具合、修正まで利用停止を 2023.08.13 PC, ハードウェア AMD Ryzen(Zen3/Zen4)に重大な脆弱性、RSA暗号を6.5秒で窃取できる不具合、修正まで利用停止を AMD Ryzen(Zen3/Zen4)に重大な脆弱性、RSA暗号を6.5秒で解読窃取できる不具合、修正時期は未定、今すぐ利用中止を AMDのCPUに新たな脆弱性が見つかりました。 見つかった脆弱性のCVE-IDはCVE-2023-20569。AMDによると、この脆弱性を悪用した『Inception』と呼ばれる新たなサイドチャネル攻撃により、情報漏えいの恐れがあるとのこと。 この脆弱性はチューリッヒ工科大学の研究者らにより発見されました。『Inception』によるデータ窃取の速度は毎秒3
テンストレントはAI関連のハードウェアやソフトウェア、オープンソースのプロセッサコアであるRISC-VベースのCPUなどを手掛けるベンチャー企業だ。2016年創業でカナダのトロントに本拠を置き、米国のサンタクララやオースティン、セルビアのベオグラード、インドのベンガルール(バンガロール)を含めた5拠点で開発を進めている。現在の従業員数は約280人で、2023年1月には日本法人も発足している。 テンストレントの名前が広く知られるようになったきっかけは、2020年12月に先端半導体の設計者であるケラー氏の入社だろう。DECの「Alpha 21164/21264」やAMDの「Athlon」「Zen」、アップル(Apple)の「A4/A5」などを開発したケラー氏だが、テンストレントの入社前には「SaphireRapids」のベース技術を開発するなどしたインテル(Intel)を2020年6月に退職し
16bit/32bitサポートの“終息”でより高性能なCPUを――Intelが64bitオンリーの「X86-Sアーキテクチャ」の仕様を初公開 意見募集中:32bitアプリは64bitモードで動作 Intelが、16bit/32bitサポートを省いた「X86-Sアーキテクチャ」の仕様書の初版を公開した。16bit/32bitサポートを省くことで、CPUの純粋な性能向上にリソースを割くことが主な目的だ。しかし、従来にない大規模な仕様変更となるため、開発者から意見を募集している。 Intelが、開発者向けサイトにおいて新しいCPUアーキテクチャ「X86-S」の仕様書の初版(リビジョン1.0)を公開した。ハードウェアとソフトウェア(主にUEFIやOS)双方のシンプル化を推進すべく、このアーキテクチャでは16bit/32bitで動作する機能を省略しており、電源が投入された当初から64bitモードで稼
ご来店いただきありがとうございます。新刊『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するのか』発売開始のお知らせです。 ほぼすべてのソフトウェア開発者がお世話になるコンピューターの最重要パーツ、CPU。「演算をする」というざっくりした役割は知っているし、もう少し踏み込んでレジスタやアセンブリ命令、あるいはさらに踏み込んで、NAND/OR/NOT回路による演算装置といった原理を勉強したことがあるプログラマーの方も少なくないと思います。 しかし、現代のソフトウェアにおいてCPUがもたらす大きな価値は、その原理のみならず、むしろその尋常ならざる高速さにこそあるといっても過言ではないでしょう。 CPUの性能は、半導体技術の進化やハードウェア構成の妙といった物理的な要因のみによって決まるわけではありません。その裏には、パイプライン化やスーパースカラ化、さらには分岐
AMD’s Zen 4 architecture has been hotly anticipated by many in the tech sphere; as a result many rumors were floating around about its performance gains prior to its release. In February 2021 we published an article that claimed a 29% IPC increase for Zen 4. You can consider this our formal retraction of that article. Anything said in that article is invalid; however, I (Cheese) don’t regret publi
Advanced Micro Devices (AMD)は3月8日(現地時間)、「LFENCE/JMP Mitigation Update for CVE-2017-5715|AMD」において、CPU内で本来取得できてはいけないデータの窃取を可能にする脆弱性「Spectre-v2」に関する緩和機能の一つ「LFENCE/JMP (MITIGATION V2-2)」が機能していなかったと伝えた。次のプロセッサが影響を受けるとされており、Advanced Micro Devicesは別の回避策を利用するよう呼びかけている。 AMD EPYC プロセッサ 第1世代/第2世代/第3世代 AMD Ryzen 2000 シリーズデスクトッププロセッサ AMD Ryzen 3000 シリーズデスクトッププロセッサ AMD Ryzen 5000 シリーズデスクトッププロセッサ AMD Ryzen 4000
2017年、インテルやARMのCPUに情報窃取の脆弱性が存在することが明らかになった。通常、CPUのプロセスはほかのプロセスの処理しているデータを読み取ることはできない仕組みになっているが、ある機能を悪用することで実行中のプロセスから本来は入手できてはいけないデータを窃取できることが明らかになった。この仕組みを悪用して複数の攻撃手法が開発されたが、「Spectre-v2 (またはBTI: Branch Target Injectio)」と呼ばれる手法が最も危険な攻撃方法と認識されている。 これら脆弱性に対して、オペレーティングシステム側が対策を導入したほか、CPUメーカーがハードウェア緩和策(eIBRSやCSV2など)を導入した。この緩和策は意図した通りに機能するが、どうやら研究者はこの攻撃手法を復活させることに成功したようだ。 研究者らは「Branch History Injection
AppleはArmアーキテクチャの独自チップであるM1チップを開発し、Macに搭載しています。 M1チップは優れた性能と低消費電力性を示していますが、仕様が公開されておらず、M1チップを搭載したMac上で動作するほかのOSの開発が難しい状況です。 これに対して、M1チップを詳細に解析し、ほかのOSを動作させようとする試みがおこなわれています。 Quick Timeの開発者が350ページに及ぶ文書を公開 半導体チップについて、仕様から設計を作るのではなく、設計から仕様を作る行為はリバースエンジニアリングと呼ばれます。 AppleのM1チップについてリバースエンジニアリングを行い、詳細な仕様を説明した文書がAppleのQuick Timeを開発した開発者の一人であるメイナード・ハンドリー氏によって公開されました。 現在のバージョンは0.70であり、M1チップがほかのさまざまなOSに対応できるよ
AMDのAthlonやZenマイクロアーキテクチャ、Apple A4など数々のチップ開発に携わり、「天才エンジニア」と高い評価を受けるジム・ケラー氏は2021年1月にIntelを突如退職し、記事作成時点ではAIチップのスタートアップであるTenstorrentの社長兼最高技術責任者を務めています。そんなケラー氏に、技術系ニュースサイトのAnandTechがインタビューを行っています。 An AnandTech Interview with Jim Keller: 'The Laziest Person at Tesla' https://www.anandtech.com/show/16762/an-anandtech-interview-with-jim-keller-laziest-person-at-tesla なお、ジム・ケラー氏の経歴は以下の通り。 入社退職年企業肩書き関与した製
AppleやAMDに半導体を供給している世界最大の半導体ファウンドリ「TSMC」は、2020年6月から5nmプロセスによる半導体製品の製造を正式に開始しています。そんな中、TSMCのC・C・ウェイCEOが、次世代5nmプロセス&3nmプロセスの大量生産開始時期や2nmプロセスの研究開発状況について語っています。 Q1 2021 Taiwan Semiconductor Manufacturing Co Ltd Earnings Call on April 15, 2021 / 6:00AM - TSMC 1Q21 transcript.pdf (PDFファイル)https://investor.tsmc.com/english/encrypt/files/encrypt_file/reports/2021-04/8b5438593d7b5d2181406a1b92d7304d6944c09
回答 (6件中の1件目) GPUで言うコア数とはFMA(Floating Multiply-Add)と呼ばれる演算器の数です。FMAとはいわゆる一次式 y=ax+bを解くための回路で、式に浮動小数(Float)の掛け算(Multiply)と足し算(Add)があるのでFMAです。GPUがよく活用される3D演算では4x4の行列同士の掛け算や行列にベクトルを掛けるような処理を頻繁に使います。これはアフィン変換と言われるものですが、アフィン変換とは一次式を複数同時に行う計算の事です。例えば4x4行列同士の掛け算は64回の一次式(FMA)のセットです。また行列とはマトリクスとも呼び、4本(ないし3...
Apple M1についての面白い記事を見かけて、久しぶりにメモリモデル屋(?)の血が騒いだのでブログを書く。 note.com 強いメモリモデル 現代のCPUアーキテクチャでは、x86(64bit, 32bitどちらも)が「強いメモリモデル」を採用しており、それ以外のメジャーなCPUが「弱いメモリモデル」を採用している。この「強いメモリモデル」「弱いメモリモデル」について、まずおさらいしておこう。 以下のように、2つの変数a, bに対して異なるCPUコアが同時にアクセスしたとする。 int a = 0; int b = 0; CPU1: a = 1; b = 1; CPU2: int r1 = b; int r2 = a; (上記はC言語に似た疑似コードを用いているが、実際は機械語命令になっていると考えてほしい。つまり、CPU1は変数a, bの示すメモリアドレスに対するストア命令を実行して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く