タグ

CPUに関するpan150-051のブックマーク (11)

  • x86-64機械語入門

    この記事はx86-64の機械語を書けるようになるためのガイドとなることを目指します。読者はアセンブリー言語について既にある程度知っていることを想定します。 情報源 x86-64の機械語のオフィシャルなガイドはIntelのSoftware Developer ManualまたはAMDAMD64 Architecture Programmer's Manualです。 Intel SDM: Intel® 64 and IA-32 Architectures Software Developer Manuals AMD64 Architecture Programmer's Manual, Volumes 1-5 このほか、Cから呼び出される関数を定義したり、Cの関数を呼び出すためには、呼び出し規約の知識も必要です。使用される呼び出し規約はOSに依存し、Unix系では主にSystem V ABI

    x86-64機械語入門
  • なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?

    回答 (3件中の1件目) なかなか理解しづらい話だと思いますが、当時のベル研究所において、Unixのグループは濃密な知のルツボだったのです。B言語が発明されるとすぐに、十数人の人々が使い始め、良かったところと悪かったところのフィードバックが集まりました。デニスは数日後にはインタプリタ言語だったB言語をコンパイラ化し、古いバージョンを分かりやすいところに置いていました。B言語のユーザーは、バグを見つけるとデニスにメールし、バグが直るまで古いコンパイラを使っていました。 B言語をC言語に改名した主な理由は2つあります。まずB言語(とBCPL)は、CPUのアドレスがバイト単位ではなくてワード...

    なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?
  • 『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか』 発売のお知らせ

    ご来店いただきありがとうございます。新刊『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するのか』発売開始のお知らせです。 ほぼすべてのソフトウェア開発者がお世話になるコンピューターの最重要パーツ、CPU。「演算をする」というざっくりした役割は知っているし、もう少し踏み込んでレジスタやアセンブリ命令、あるいはさらに踏み込んで、NAND/OR/NOT回路による演算装置といった原理を勉強したことがあるプログラマーの方も少なくないと思います。 しかし、現代のソフトウェアにおいてCPUがもたらす大きな価値は、その原理のみならず、むしろその尋常ならざる高速さにこそあるといっても過言ではないでしょう。 CPUの性能は、半導体技術の進化やハードウェア構成の妙といった物理的な要因のみによって決まるわけではありません。その裏には、パイプライン化やスーパースカラ化、さらには分岐

    『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか』 発売のお知らせ
  • Dockerコンテナのpostgresqlがマルウェアに感染した件について - Qiita

    背景 Dockerコンテナを立てたらマルウェアに感染したのでサイバーセキュリティの啓蒙を兼ねてメモ書きしてみました。 注意事項 マルウェアに感染した被害の対処方法を記述しています。マルウェア自体の機能や解析の解説ではなく一般利用者ユーザーの視点から感染経路と対応方法についての記述になります。 マルウェア感染状況 症状 Dockerコンテナを稼働させたホストのロードアベレージ(CPU負荷)が常時4を超える状況になっていました。つまり400%でホストがフル回転してた訳ですな。 例えるならエヴァンゲリオン初号機が暴走してマヤちゃんがコンソール画面に向かって叫んでいるところです(違) こうなるとクラウドサービスのAWSとかだと英文で警告アラートが飛んで来ますし毎日課金されで膨大な利用料金請求が来ることになります。恐ろしい!! 状況の調査 CPUの利用状況やメモリの使用量などを調査するツール類があり

    Dockerコンテナのpostgresqlがマルウェアに感染した件について - Qiita
  • Rustでゲームボーイアドバンスエミュレーターを書いた

    一通りちゃんと実装したので、大抵はちゃんと動いてくれるはずです。動かなかったり、画面がおかしかったり、音がおかしかったりしたらバグなので、ご報告いただけるとうれしいです。 エミュレーションコアが2つになったので、せっかくなのでエミュレーションコアのインターフェースを抽象化して、マルチエミュレーターにしました。 リリースページ からコンパイル済みバイナリをダウンロードできます。 マルチエミュレーター エミュレーターを作るうえで割と面倒でバカにならないのがフロントエンドUIの作成です。GUIアプリを作るのはそもそも結構大変で、ましてや昨今のアプリケーションはPCだけでなくスマホやWebといったタイプの異なる複数のプラットフォームで動かしたいというモチベーションがあります。特定プラットフォームにべったりで何となく動くように書けばいいやというのと比べると、取れる選択肢も限られてかなり面倒になってき

    Rustでゲームボーイアドバンスエミュレーターを書いた
  • 個人開発激安 GCP (にしたい)

    とりあえず GCP で軽くサーバーとデータベース立ててみたいっつって脳死で使ってたら1日で 1800 円いって焦った。慌ててチャットサポートに聞いたらいろいろ教えてくれて安心したけど、もうちょっと調べてみためも。自分が使いそうなものしか書いてないよ。 Google Cloud Calculator めっちゃ便利。 App Engine TLDR これを app.yaml に書いておけば一番安上がり env Standard environment と Flexible environment があって、無料枠があるのは Standard だけ。他にも Flexible だと想定外の請求が来たりするらしい。なので Standard を指定しておく instance_class サーバのインスタンスの種類。F1 が一番しょぼいスペックのサーバで F1, F2 とかの "F" 系なら一日 28

    個人開発激安 GCP (にしたい)
  • メタバースの技術限界の解説 - Qiita

    これらの試算から、1人あたりのトラッキングによる通信量はおおよそ16.88kbpsから112.50kbpsと考えられます。 スター型ネットワークの場合 ここでメタバースでスター型のネットワークを採用することを考えます。 どのような構成かというと、クライアントがトラッキングデータをサーバーへ送信します。各クライアントへのトラッキングデータの送信はサーバーが行います。 こうした構成を行う場合、全てのクライアントのデータがサーバーを介し、各クライアントへ流れ込みます。そのため、通信速度は下り速度がボトルネックとなります。ここでは人口75%ラインの88Mbpsを上限として考えます。 先ほどの1人当たりのトラッキングに関わる通信量から算出すると、スター型の場合、801~5,340人が通信の限界になります。 フルメッシュ型ネットワークの場合 一方で、サーバーを介しないクライアント同士が直接つながるフル

    メタバースの技術限界の解説 - Qiita
  • サイボウズの情シスが(独断と偏見で)選ぶオススメのIT機材、備品 10選 2021年版|あおてつ

    何がすごいってM1チップとも呼ばれているApple SiliconのCPU。今までのIntel CPUモデルに比べて圧倒的なハイパフォーマンス。そしてバッテリーの持ち。キッティングはもちろんゼロタッチデプロイ。サイボウズの社長も大絶賛しています。 高速M1搭載 Macbook Pro が早くもサイボウズ情シス公認の標準端末に。これでZoomつないでパワポでプレゼンしながらChromeのタブを開きまくってもサクサク動作。サイボウズに勤めててよかったよ! しかも情シスの手を煩わすことなく完全リモートセットアップが可能に。採用が増えても出社不要で安心! https://t.co/Dlg1qQ4kLS — 青野慶久/aono@cybozu (@aono) March 5, 2021 今年の秋にハイスペックの新モデル M1 Pro / M1 Max MacBook Proも発売されましたが、一般的な

    サイボウズの情シスが(独断と偏見で)選ぶオススメのIT機材、備品 10選 2021年版|あおてつ
  • ファイルを掴んでいるプログラムを特定する方法 - misc.log

    某所で書いたら意外に皆さん知らなかったようなので書いておきます。Windowsでファイルを削除したり名称変更しようとすると、別のプログラムが使っているので変更できない、といったエラーが出る事があります。こういう場合、後述の方法で「誰がファイルを掴んでいるのか」を調べられるかもしれません。 (あくまでローカル環境での話ですので、ネットワーク越しに掴まれているものや、インフラの運用で役立つ情報というわけではありません。ご了承ください) ファイルやフォルダーの利用者をリソースモニターで検索する リソースモニターという、タスクマネージャーの高機能版のようなツールがWindowsには標準搭載されています。これで、CPUタブにある「関連付けられたハンドル」というエリアの検索欄にファイル名やフォルダー名を入力すると、それを使っているプログラム(プロセス)を特定できることがあります。 リソースモニターの起

    ファイルを掴んでいるプログラムを特定する方法 - misc.log
  • CPUとGPUのマルチスレッディングの違いについて - arutema47's blog

    "Locality is efficiency, Efficiency is power, Power is performance, Performance is King", Bill Dally マルチスレッディングとは? CPUGPUのマルチスレッディングの違いをブログにまとめていたけど例によって誰も興味なさそう— arutema47 (@arutema47) 2021年8月16日 つぶやいたら読みたい方が多そうだったので完成させました。 マルチスレッディングとはメモリ遅延を隠蔽しスループットを上げるハードウェアのテクニックです。 ただCPUGPUで使われ方がかなり異なるため、その違いについて考えてみる記事です。 (SIMDについて並列プログラミングの観点から触れるべきでしたが、時間無いマルチスレッディングに注目するため初版では省きました。) 記事について 記事はCPUとG

    CPUとGPUのマルチスレッディングの違いについて - arutema47's blog
  • Intel CPUアーキテクトのジム・ケラー氏が辞職

    Intel CPUアーキテクトのジム・ケラー氏が辞職
  • 1