Powering the Future of Network Software & Applications The Open Source Data Plane Development Kit Accelerating Network Performance
大原雄介氏によるASCII.jpの連載記事「ロードマップでわかる!当世プロセッサー事情」の人気コーナー「忘れ去られたCPU黒歴史 Intel/AMDが振り返りたくない失敗作たち」が、書籍化されて7月10日に発売されることとなりました! CPU黒歴史は2011年8月から、4ヵ月に渡って掲載されたコーナーで、インテルやAMDのプロセッサーの中から、「黒歴史」と呼ばれるのにふさわしい製品(あるいは製品化されなかったもの)をピックアップ。それはどのような背景の元に登場し、どういったコンセプトで開発され、そしてなぜ失敗したのかを解説した連載でした。「黒歴史といったらあのCPUだろう?」「なぜアレがない!」といった議論も交わされたようです。また連載の好評を受けて、グラフィックス編である「GPU黒歴史」も掲載しております。 登場するプロセッサーは、80年代初期の「iAPX 432」から、2007年登場の
以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい
Linuxカーネル*1には、CPUが持っている動的なクロック周波数や電圧(対応している場合)の変更機能を利用するためのcpufreqという仕組みがある。 (2014/11/14)本記事の内容は最新ではないため、まとめドキュメントの各セクションを参照。 CPUドライバ カーネルの設定 クロック周波数の決定 governorの手動変更 cpufreqに関する現在の各種状態の取得 ondemand governorでの動作時において、CPUクロックを上げるCPU使用率のしきい値 cpufreqdで実用的な動的クロック変更を行う 設定 設定のテスト プロファイルの手動変更 CPUドライバクロックや電圧の変更をする方法はCPUによって違うため、CPUの種類ごとにデバイスドライバが用意されている。cpufreqを使用するには、 使用しているCPUがクロックや電圧の変更をする機能を持っていて、BIOSで
cpufreqの導入後、一部アプリケーション*1の使用時を除いて、大部分はCPU使用率に基づいて自動的にクロック周波数や電圧を上げ下げするondemandという動作モード(governor)で動かしてきた。 ところが、そのクロック周波数の変化をリアルタイムで見ている*2と、「負荷が上がるとすぐにクロックも上がり、負荷が下がるとすぐに下がる」のはよいのだが、あまりにも反応が良すぎてクロック変動の頻度が無駄に高くなってしまっていて、あまりハードウェアに優しいとは言えない気もする。 cpufreqには、ondemandと似た動作モードに「conservative」がある*3のだが、これをうまくチューニングすることができれば、頻繁なクロック変動をある程度抑えることは可能。手元の環境では、Compiz Fusionのスケールや各種スイッチャの使用時やキューブのマウスでの回転時など、CPUの使用率が上
このCore 2 Duo E6600のPCはわりとつけっぱなしにするので、(FreeBSD)そのパソコン、無意味に熱くなってませんか? ――― CPUの消費電力を減らす方法を参考にいじって電力を調べることにした。 もともと、sysctlでは、 dev.cpu.0.freq: 2400 dev.cpu.0.freq_levels: 2400/88000 1600/56000 dev.acpi_perf.0.freq_settings: 2400/88000 1600/56000 となっていたが、書いてあるとおりにkldload cpufreqをすると、 dev.cpu.0.freq: 2400 dev.cpu.0.freq_levels: 2400/88000 2100/77000 1800/66000 1600/56000 1400/49000 1200/42000 1000/35000
Perl で 8ビット CPU を作る - naoyaのはてなダイアリー octopusをRubyで実装してみました。IO関係、オプションまわりの処理は省略しています。できるだけRubyらしいプログラムを目指してみました。あんまりトリッキーな実装はしていません。 ファイル: octopus3.rb #!/usr/bin/env ruby # -*- compile-command: "ruby -Ks octopus3.rb" -*- class OctopusVm REG_PC = 7 REG_RET = 6 REG_SP = 5 ZFLAG = 1 OCT_INST = { 0 => 'nop', 1 => 'mov', 2 => 'in', 3 => 'out', 4 => 'movi', 5 => 'addi', 6 => 'subi', 7 => 'muli', 8 => 'di
CPU を作る、と言ってもハードではなくソフト、仮想機械です。 2001 年から UNIX USER で連載されていた西田亙さんの「gccプログラミング工房」。いまさらながら、バックナンバーを取り寄せて初回から順番に読んでいます。とてもためになる連載です。 この連載中で第10回から数回に分けて開発されていた octopus という 8 ビット CPU の仮想機械があります。オリジナルは C 言語で書かれていたのですが、その設計を見て、これは他の言語でも作れるのではないか、と思い Perl に移植してみたところなんとか動作させることができました。以下の URL にコードを公開します。(西田さんに確認を取ったところ、オリジナルのソースは Public Domain とのことでした。オリジナルは http://www.skyfree.org/jpn/unixuser/ からダウンロード可能です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く