Apple M1速いね、ってことで、それはいいとして、それ以外にも色々Appleの用途に最適化している点があるらしいというツイートがあった。ちょっと読んでてマジで?となったのでここにメモしておこう。 私はというとこんなCPUレベルの話が効いてくるようなプログラムは書いたことないので、誤解もあると思う。ゆるして 1/ In case you were wondering: Apple's replacement for Intel processors turns out to work really, really well. Some otherwise skeptical techies are calling it "black magic". It runs Intel code extraordinarily well. — Robᵉʳᵗ Graham😷, provocateu
Apple SiliconのM1が速いと話題だ。単に速いというだけでなくRosetta 2を用いてx86_64バイナリをARMに変換して実行した時にIntel CPUで直接実行した時より速くなる場合があるというのだから驚きだ。その要因を考察するにつれ一つの仮説に思い至ったのでここに記しておく。 その要因とはRISCとCISCの違いだ。殴り書きなので詳細は省くが、CISCのほうがやってることが複雑で単純な実行速度という意味ではRISCに敵わない。特にRISCの固定長命令という特徴がカギを握る。 CISCの代表がIntelのx86である。しかし2000年ごろにはCISCはもう駄目だ的なことが声高に叫ばれていたが、気が付けばx86はそのまま栄華を極め2020年にまで至ってしまった。そこまで持ちこたえた理由の1つがRISCとCISCの境目がなくなる Pentium Proの逆襲に書かれているのだが
PCで遊べるゲームは日々進化しており、より高性能なCPUやGPUを搭載したハードウェアを選べばゲームプレイもより快適になります。しかし、いざ高性能なPCでゲームを遊んでみたところ、思わぬバグに遭遇してしまったゲーム開発者のエイドリアン氏が、バグの原因と修正パッチを自身のブログで公開しています。 Fixing Mass Effect black blobs on modern AMD CPUs | Silent’s Blog https://cookieplmonster.github.io/2020/07/19/silentpatch-mass-effect/ 宇宙のあらゆる生命を守る使命を背負い人類代表としてエイリアンと戦うTPSゲーム「Mass Effect」は緻密でリアルな宇宙文明が特徴的なゲームで、2008年にWindows版が発売されました。エイドリアン氏によれば、AMD FXお
東大の情報科学科では3年の秋学期にCPU実験という、自分たちでCPU、コンパイラ、シミュレーターを作ってレイトレーシングを動かすことが単位要件の名物実験があります。僕らの班では12月初旬に単位要件を満たすCPUは出来ていたので、2/20にあった成果報告会までの間にIwashi班という自作CPU上でlinuxを動かすことを目標とした余興班を作ってこのエントリのタイトルにあるような結果に終わったのでその報告をしたいと思います。 コンテキストスイッチしている画像: 目次 目次 対象とする読者 自己紹介 できたこととできなかったこと 技術的な詳細 ISA よかったところ 悪かったところ 結論 ステート管理 Floating point UART 自作OS/Shellの仕様 動機 やること 実装方針 増えるレジスタ 増える命令 MMUの挙動 タイマ割り込みの挙動 iretの挙動 Kernelの実装
20 (火) %1 かようび 朝は整形外科でリハビリテーション。 牽引こんでなかった。 %2 Ryzen General Protection Exception やっと噂の一般保護例外が出た。 例によって cc1 だがとても楽しいことになっている。 GPE flags 00003202 err 00000000 0033:0101356e * RAX 00000001 RCX 00000AED RDX A656C63796320 RBX 012B7050 RSP 7FFE731E3668 RBP 00000000 RSI 00000007 RDI 015B7AED R8 015B7AED R9 0000007F R10 00000005 R11 00000007 R12 7F146FCAB410 R13 7F146FCC0078 R14 015B7AED R15 7F146FC8C248
Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや本当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば本当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが
はじめに Linux で採取できるCPU使用量(率)の情報として、%user や %sys 等に加えて %steal という量がある。これが追加されたのは、仮想化が広く使われはじめた10年くらい前だろうか。筆者は Xen を調べていて気づいたのだが、もっと前にs390のために追加されたのかもしれない。当時、ESXの場合も含めて調べていたのだが、最近、KVMの場合にどういう実装になっているのか、ふと気になって軽く調べてみたのでメモ。 CPU使用率の計算 まず最初に、sar や vmstat や mpstat 等、さまざまなツールでCPU使用率を取得することができるわけだが、どのような情報を元に、どのような計算を行って算出しているのか? まず、kernel内ではboot以後の各種実行モードのCPU時間を分類して積算値として保持している。user モード、特権モード、割り込み処理に使った時間..
CPUやメモリなどの情報を取得するgopsutilのご紹介¶ Go Advent Calendar 2015 の16日目です。 Pythonには psutil という、CPUやメモリなどの情報を取得するライブラリがあります。 拙作 gopsutil はこのpsutilをgolangに移植しようと始まりました。 gopsutilは、以下の特徴があります。 Linux/Darwin/FreeBSD/Windowsで動作します もちろん、対応状況はかなり違います (ほぼ) pure golangで実装されています。そのため、クロスコンパイルが容易です ほぼ、というのはdarwinのCPU利用率だけcgoを使っています。cgoを使わない場合は単にnot implementedが返ってきます。 psutilにない情報も取れます docker(cgroup)の情報だったり、仮想化状況だったり、好き勝手
半導体大手のAMDが、「『8コア』と表示して販売するCPUが、実際には4コアに過ぎず、消費者を欺いている」として、ユーザーから集団訴訟を起こされています。 AMD faces suit over alleged misrepresentation of new CPU | Legal News Line http://legalnewsline.com/stories/510646458-amd-faces-suit-over-alleged-misrepresentation-of-new-cpu AMD sued over allegedly misleading Bulldozer core count | Ars Technica http://arstechnica.com/gadgets/2015/11/amd-sued-over-allegedly-misleading-bu
こんにちわ。せじまです。スティック型PCの購入は、 Core M版が出るまで見送ろうと思っている今日このごろです。 弊社では「Mini Tech Talk」という社内勉強会を隔週で開催しているのですが、それとは別に、「Infra Tech Talk」という社内勉強会を、半年くらい前から毎月開催しています。わたしはそこでほぼ毎月、45-60分くらいのスライドを作って話をしています。今までどういう話をしてきたかといいますと、TCPに関する話を二回、SSDに関する話を二回しました。(InnoDBに関する話だと軽く5-6時間くらいできるんですが、いささかマニアックなので、もっと幅広い人を対象に話をしています) 今までの話はちょっと社内向けの内容だったんですが、前回開催された Infra Tech Talk では、社外の方にも幅広く読んでいただける話ができたと思いましたので、その資料を slides
コンピュータ将棋を理解する上で、大事なことの一つにマルチコアというのがあります。皆さんのお手元のPCや最近ではスマホも当たり前のようにマルチコアになってきています。ところで皆さんがマルチコアと言っているものはどんなものなんでしょうか? CPUというのは、コンピュータにとって頭脳と言えるものです。下の画像はCPUの一種類インテルCorei7です。皆さんはこういうものが幾つか繋がってマルチコアとなっていると想像してませんか? CPU Corei7 画像のものは4コアCPU こちらより画像を引用 実はこの中にすべてのコアが含まれているます。中の画像を説明付きの画像を見てみましょう。中にCore(コア)と書かれた部分が4つ見られると思います。4コアと言われていても、別々に分かれているわけでもなく同じ基板上にプリントされているわけですね。 内部アーキテクチャ 共有メモリ(L3キャッシュ)が意外と大き
預金の引き出しでは、残高確認→現金の引き出し→残高の更新という一連の処理を他のプロセサの処理からの干渉なく行う必要がある。 プロセサ1の引き出しの処理で、残高の更新を行う前に、他のプロセサが引き出し前の残高を読んで、引き出し、残高更新を行ってしまうと、処理がおかしくなってしまう。このため、Lockというメカニズムを使って、1つのプロセサがこの一連の処理を終わるまで、他のプロセサはこの処理を開始できないようにするというのが一般的なやり方である。しかし、これでは複数のプロセサがあっても一時には1つのプロセサしか使えず、効率が悪い。 プロセサ1が口座A、プロセサ2が口座Bの引き出し処理を並行に実行するのは問題ないので、口座ごとにLockを設ければこの問題は解決する。しかし、口座Aから口座Bへの振込をする場合は両方の口座のLockを獲得する必要がある。この時、プロセサ1が口座AからBへの振込のため
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く