タグ

コンピュータアーキテに関するlike_futsalのブックマーク (5)

  • データ型のアラインメントとは何か,なぜ必要なのか?

    以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

  • OpenBSD Kernel Hacking meno

    i386 CPU Register (未完) CPUの判別 メモリ機構 セグメント機構 ページング機構1 ページング機構2 割り込みと例外 リアルモードの割り込み/例外 プロテクトモードの割り込み/例外 H/W キーボード コントローラ(KBC) GATE A20 BIOS Data Area IO Base Address OpenBSDで使われるデータ構造 List Singly-linked List(SLIST) Doubly-linked List(LIST) Queue Simple queue(SIMPLEQ) Tail queue(TAILQ) Circle queue(CIRCLEQ) ファイルフォーマット a.out format elf format コンパイラとか GCC マニュアル Gnu Assembler GCC Inline Assembler Kernel

  • プロテクトモードのセグメント機構

    プロテクトモード時のセグメント機構は、リアルモード時のそれとは大きく異なります。リアルモードの場合、メモリへのアクセス範囲は1MByte(0x00000-0xfffff)に制限されています。またセグメントレジスタには、セグメントアドレスをセットする事によりメモリのアクセスを行います。 一方、プロテクトモードの場合、メモリのアクセス範囲は4GByte(0x00000000-0xffffffff)まで拡張されていて、セグメントレジスタには、メモリのアクセス範囲やアクセス属性が設定された、ディスクリプタ・テーブル[Descriptor Table]のセレクタ値と呼ばれるインデックス値をセットする事によりメモリアクセスが行われます。 セレクタは、セグメントのアドレス・サイズ・属性を格納しておく、ディスクリプタ・テーブル[Descriptor Table]のインデックスとなっていて、CPUはその内容

  • 【再録】コンピュータアーキテクチャの話(1) なぜ、マルチコアで消費電力が減るのか?

    連載はHisa Ando氏による連載「コンピュータアーキテクチャ」の初掲載(2005年9月20日掲載)から第72回(2007年3月31日掲載)までの原稿を再掲載したものとなります。第73回以降、最新のものにつきましては、コチラにて、ご確認ください。 マイクロプロセサの消費電力が増加し、最上位のPentium 4プロセサでは100Wを超える電力になっているのはご存知の通りである。図1は2001年のISSCCでのIntel社のGelsinger副社長の基調講演で示されたものであり、2005年には数KWになると予想している。また、図2はCPUチップの平方cmあたりの消費電力密度の推移を示した図で、既にホットプレートを超え、原子炉に近づいており、このまま延長すると2010年には太陽表面と同程度となるというショッキングな図である。このように、Intelも消費電力の増加の問題を十分承知していた筈であ

    【再録】コンピュータアーキテクチャの話(1) なぜ、マルチコアで消費電力が減るのか?
  • コンピュータアーキテクチャの話(182) マルチプロセサのメモリアクセス(1)

    人間が作業する場合でも、仕事が多ければ、複数の人で作業を分担すれば速く進めることができる。これと同じで、より性能を上げるために1個のプロセサではなく、複数個のプロセサを使うということが考えられ、古くは、1965年のIBM 360 Model 65で2台のプロセサがメモリを共有して処理を分担するマルチプロセサ構成が採られた。 マルチプロセサの場合、メモリをアクセスするプロセサが複数存在するので、各プロセサは何時でも自由にメモリを使えるわけではなく、他のプロセサがメモリを使っている場合は終了を待ち合わせる必要があるし、メモリが空いていたとしても、複数のプロセサから同時にメモリを使いたいという要求がある場合には、プロセサ間の優先順位を決めて順番に使わせるようにする必要がある。 図9.1に示すように、メモリを使用する場合は、プロセサは、先ず、RQRequest)信号線を使って調停機構(Arbite

    コンピュータアーキテクチャの話(182) マルチプロセサのメモリアクセス(1)
  • 1