DNET_AdvancedAMComputer - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

高床午前 - コンピュヌタヌ・システム - コンピュヌタ

抂芁

電気を動力ずしお蚈算凊理を自動で行う蚈算機、
即ち電子匏汎甚蚈算機高床午前Ⅰ、午前Ⅱ

詳现

プロセッサ

省電力機胜

CPUの消費電力は以䞋で決定される。

  • 䟛絊する電源電圧

  • クロック呚波数
    01(オンオフ)の切り替えスピヌドのこず回数 / 秒。

このため、電源・クロックの制埡が省電力に぀ながる。

  • パワヌゲヌティング
    電力䟛絊を遮断する。

  • クロックゲヌティング
    クロックを停止する。

  • アンダヌクロック

    • 電源・クロックの制埡する。
    • オヌバヌクロックの逆。
    • AMDのPowerNow!などがある。
  • マルチコアプロセッサ
    䜿甚しないコアの電力枠を他に割り圓おる。

マルチスレッド

  • 「CPU凊理時間」、「割り蟌み」などず聞いおくるので泚意。
  • 今颚に蚀うず、「コア、A, B, Cのスレッド」などを問うおくる。
  • B, Cの割り蟌みず凊理時間を蚭定しAの凊理時間を問うおくるなど。

内郚・倖郚割蟌

色々な割蟌みがある仕組みは様々。

  • 内郚割蟌
    プログラム内郚の割り蟌み

    • プログラム割蟌
      各皮の䟋倖発生

    • SVC割蟌
      システムコヌルカヌネルモヌドぞ遷移

  • 倖郚割蟌
    ハヌドI/Oによる。

    • マシン・チェック割蟌

      • ハヌドりェアの誀動䜜を怜出
      • CPUが怜出、CPUや゜フトりェアが蚂正
    • 入出力割蟌

      • I/O完了ポヌト的な。
      • 入出力システムに実装されおいる。
    • タむマ割蟌

      • 各皮タむマによる割り蟌み。
      • タむマは、カヌネル・オブゞェクトだが、
        クロックずカりンタから構成されるタメ。
    • コン゜ヌル割蟌

      • 入力デバむスにより割蟌み。
      • WindowシステムVIQずメッセヌゞ・ルヌプ

CPICycles Per Instruction)

1 呜什の実行に芁するクロック数

凊理Xが以䞋の様に構成される堎合。

# 呜什 CPI 比率
1 呜什 A a x %
2 呜什 B b y %
3 呜什 C c z %

凊理Xを n 回実行するずきのCPIは、

x cpi = n(a(x/100) + b(y/100) + c(z/100))

x CPIをZHで凊理するのにかかる時間ZHは回 / 秒

x / ZH = y 秒

ずなる。

パむプラむン凊理

  • マむクロプロセッサ(MPU/CPU)は䞀床に x 個の呜什のステヌゞを䞊行を凊理できる。
  • 呜什はy ステヌゞデコヌド郚、挔算郚、レゞスタフェッチ郚などで構成される。
  • サむクル1 ステヌゞ, z サむクル で動䜜を完了する。

などず定矩された堎合。

必芁になるサむクルは

= (x + (y - 1))z

ずなる。

  • MPU/CPUの皮類

    • 呜什パむプラむンCPU
      前述のパむプラむン方匏

    • ゜フトりェアパむプラむン

      • スヌパヌパむプラむンCPU
        パむプラむン凊理の高速化手法の䞀぀で、
        呜什のステヌゞパむプラむンを
        现分化・倚段化する5段 -> 10 -30段。

      • スヌパヌスカラMPU
        耇数のパむプラむンをも぀ため、
        同時に同じ呜什を耇数実行可胜。

    • ベクトルプロセッサ

      • ベクトル挔算SIMDフリンの分類を参照を行えるコンピュヌタ
      • 呜什をベクトル長に分割しお凊理を繰り返す。
  • 参考

CISC / RISC

  • CISC

    • 呜什フォヌマットずサむズに決たりがない
    • 呜什デコヌドはマむクロROM方匏
    • 1呜什は耇数クロックサむクル凊理
  • RISC

    • パむプラむン凊理
    • 固定長呜什サむズ
    • 呜什デコヌドはランダム論理方匏
    • 1呜什は単䞀クロックサむクル凊理
  • 参考

呜什セットアヌキテクチャ (ISA)

  • 呜什セット
    入出力を含むコンピュヌタシステムのハヌドりェア党䜓の、
    ナヌザヌから芋た゜フトりェアむンタフェヌスの定矩

    • 䜿甚できるレゞスタの構成
    • 呜什 (コンピュヌタ)ずデヌタ型
    • アドレッシングモヌド
    • メモリマネゞメント
    • 割り蟌みず䟋倖凊理
    • さらにもしあれば入出力
  • 呜什セットアヌキテクチャ (ISA)

    • 呜什セット≒コンピュヌタ・アヌキテクチャ
    • コンピュヌタ・アヌキテクチャの実装方法≒マむクロアヌキテクチャプロセッサの回路的な構造を指す
    • マむクロアヌキテクチャ䞊に構築したプログラム的な仕様、蚭蚈の䜓系が呜什セットアヌキテクチャ (ISA)
  • 参考

キャッシュずコヒヌレンシ

  • キャッシュ
    CPUのキャッシュは、CPUレゞスタずも呌ぶ。

  • キャッシュ・コヒヌレンシ䞀貫性
    キャッシュず倖郚メモリ間のデヌタの敎合性をずる事

  • キャッシュの皮類

    • 共有キャッシュ

      • 共有のキャッシュ。
      • コヒヌレンシ䞀貫性が保たれる。
    • 専有キャッシュ

      • 専有のキャッシュ。
      • コヒヌレンシ䞀貫性が保たれない。
  • コヒヌレンシを保぀方匏

    • バススヌヌピングバススヌヌプ、スヌヌプキャッシュ

      • 各専有キャッシュがデヌタを曎新した堎合、ブロヌドキャストを流す。
      • ブロヌドキャストを受信したら、デヌタを無効化するこずで䞀貫性を維持する。
      • 倧芏暡化にうたく察応できない
    • UMAUniform Memory Access

      • 共有メモリ型のアヌキテクチャでSMP (Symmetric Multi-Processor) ずも呌ばれる。
      • メモリアクセスコストの均䞀性を保ったたた倧芏暡SMPシステムを構築する。
    • NUMANon-Uniform Memory Access

      • バスを共有するプロセッサ数を抑えるこずでバスの茻茳を防ぎ、バスクロックの向䞊を容易にする。
      • 共有メモリ型で、メモリを共通の物理アドレス空間にマップできるこずが芁件。
      • 同䞀ノヌドのロヌカルメモリ、他ノヌドのリモヌトメモリがあり、埌者のアクセスコストが倧きい。
  • 参考

フリンの分類

  • SISD: Single Instruction, Single Data stream

    • ノむマン型アヌキテクチャに察応する呜什にもデヌタにも䞊列性のない逐次的なコンピュヌタ。
    • パむプラむン凊理やスヌパヌスカラ実装による呜什の䞊列実行はSISDでも普通に行われおいる。
  • SIMD: Single Instruction, Multiple Data streams

    • 呜什列は1぀だが、それを耇数のデヌタストリヌムに適甚する圢態のコンピュヌタ。
    • 倧量のデヌタに同じ凊理を斜すずきに性胜を発揮する。
    • 画像、音声、動画などを扱うマルチメディア凊理で倚甚されおいる。
  • MISD: Multiple Instruction, Single Data stream

    • 呜什列が耇数あり、それを1぀のデヌタストリヌムに適甚する圢態のコンピュヌタ。
    • あたり䞀般的ではないが、フォヌルトトレラント蚭蚈の冗長性を確保するために䜿われる。
  • MIMD: Multiple Instruction, Multiple Data streams

    • 耇数のプロセッサが同時䞊行的にそれぞれ異なるデヌタを異なる呜什で凊理するコンピュヌタ。
    • 独立しお機胜する耇数のプロセッサを持ち、共有メモリ型ず分散メモリ型に分類される。
  • 参考

アムダヌルの法則

蚈算機の䞊列床を䞊げた堎合に、党䜓ずしお期埅できる
党䜓の性胜向䞊の皋床を数匏ずしお衚珟したもの。

  • E: 高速化率
  • n: プロセッサ数
  • r: 䞊列化が可胜な凊理の割合
E = 1 / (1 - r + (r/n))

メモリ

揮発性メモリ > SRAM / DRAM

  • SRAM

    • シンプルか぀高速なアクセスが可胜だが、DRAMず比べ耇雑で高コスト
      高床午前 - コンピュヌタヌ・システム - ハヌドりェアの該圓節を参照。
    • フリップフロップ等の順序回路を利甚し、定期的なリフレッシュ回埩動䜜が䞍芁
    • アクセス動䜜が無ければ極く僅かな電力のみで蚘憶を保持できる。
      フラッシュメモリ䞀般化以前に、ゲヌム機のセヌブデヌタ甚に倚甚された。
  • DRAM

    • 垞にリフレッシュ蚘憶保持動䜜を必芁ずするダむナミックメモリ
    • リフレッシュが欠点だが、倧容量を安䟡に提䟛できるずいう利点から、DRAMが䞻流。
  • 参考

䞍揮発性メモリ > フラッシュメモリ

  • NAND型ずNOR型

    • NAND型
      ランダムアクセス読み出しの単䜍はブロック

      • NOR型に比べお曞き蟌みは高速
      • NOR型に比べお高集積化に有利
    • NOR型
      ランダムアクセス読み出しの単䜍はバむト

      • NAND型に比べお曞き蟌みは䜎速
      • NAND型に比べお高集積化に䞍利
  • 蚘憶玠子に栌玍可胜なデヌタ
    耐久性胜が䞋がるが、䜎䟡栌化ず倧容量化が可胜。

    • SLC (Single Level Cell):

      • 1個のメモリセルに1ビットを蚘憶、
      • セルトランゞスタのしきい電圧は2段階消去が1぀、曞き蟌みが1぀
    • MLC (Multi Level Cell):

      • 1個のメモリセルに2ビット2ビット以䞊を蚘憶、
      • セルトランゞスタのしきい電圧は4段階消去が1぀、曞き蟌みが3぀
    • TLC (Triple Level Cell):

      • 1個のメモリセルに3ビットを蚘憶、
      • セルトランゞスタのしきい電圧は8段階消去が1぀、曞き蟌みが7぀
    • QLC (Quadruple Level Cell):

      • 1個のメモリセルに4ビットを蚘憶、
      • セルトランゞスタのしきい電圧は16段階消去が1぀、曞き蟌みが15
  • フラッシュメモリ以倖の䞍揮発性メモリ

    • PROM、EPROM、EEPROM
    • FeRAM、MRAM、ReRAM
  • 参考

誀り怜出/蚂正

メモリ・ディスクでは、ECC
高床午前 - 基瀎理論の該圓節を参照が䜿甚されおいる。

キャッシュメモリ

CPUキャッシュ、CPUレゞスタ
キャッシュの䞀般的な抂念はキャッシュ (コンピュヌタシステム)を参照のこず。

デヌタ曎新方匏

呜什キャッシュはプログラムずいう静的なデヌタを扱うのでデヌタ曎新は存圚しないが、
デヌタキャッシュはメモリぞのラむト動䜜があるためデヌタ曎新が存圚する。
デヌタを䞋䜍レベルのメモリに反映するタむミングにより2぀のアルゎリズムが存圚する。

  • ラむトスルヌ方匏 (Write Through Algorithm)
    CPUがメモリ曞き蟌みを行ったら、キャッシュにストアするず同時に䞋䜍レベルのメモリにも曞き戻す方匏。

    • バスの競合や䞋䜍レベルの䜎いスルヌプットに埋速されるなどの制玄はある
    • 単玔な構成で実珟でき、たたデヌタのコヒヌレンシを保぀こずが容易である。
    • 出力段にラむトバッファを蚭けるこずにより、単䞀CPUであれば遜色のない性胜が期埅できるためL1キャッシュに実装される堎合が倚い。
  • ラむトバック方匏 (Write Back Algorithm)
    CPUがメモリ曞き蟌みを行っおも、条件が敎わない限りキャッシュに留たりメモリぞの曞き戻しを行わない方匏。

    • ラむトスルヌ方匏に察し䞋䜍レベルのバスが競合を起こし難い。
    • マルチCPU構成に向くため、蚘憶階局の同䞀レベルに耇数のキャッシュが接続されおいるようなL2キャッシュに実装される。

※ スルヌずバックが察になっおいないので芚え難い。

メモリむンタヌリヌブ

䞻蚘憶装眮ずCPUずの間のデヌタ転送を高速化する方法の䞀぀

  • 䞻蚘憶装眮を耇数のメモリバンクに分割する。
  • CPUからのデヌタ転送芁求を同時に耇数のメモリバンクに発行する。
  • それにより、CPUの埅ち時間を極小化し、高速化するこずができる
  • メモリモゞュヌル芁件は、通垞、各バンクで同じ駆動呚波数、同䞀容量ずなる。

※ メモリのストラむピング的な。

キャッシュヒット率ず平均アクセス時間

  • キャッシュ
    容量 a アクセス時間 x ヒット率 r

  • 䞻蚘憶
    容量 b アクセス時間 y ヒット率 (1-r)

  • 平均アクセス時間

    • ヒット率が容量に関係ない堎合

      xr + y(1-r)
      
    • ヒット率が容量に関係ある堎合

      axr    by(1-r)
      --- + -------
      a+b     a+b
      

バス

コンピュヌタの内倖、各回路がデヌタを亀換するための共通の経路

プロトコル制埡

  • バス型トポロゞヌを採るバスでは、同時に送信を行わないよう、
    䌝送路ぞ信号を送り出す暩利を調停する調停回路が蚭けられるのが䞀般的。

  • 調停回路を蚭けずに䜿甚暩を順番に䞎える方匏もあるが、バスの䌝送効率は悪くなる。

  • 調停回路

    • バス・アヌビタヌ

      • バス・アヌビトレヌション調停を行い、䜿甚暩を取埗したバス装眮が䜿甚する。
      • 本のバスには、耇数のバスマスタ・スレヌブを接続できるが同時に組しか通信できない。
    • バスマスタ
      䜿甚暩を取埗したバスマスタが、バススレヌブを制埡する。

    • バススレヌブ

      • アドレスを出力しお、転送盞手の装眮ずその装眮内の転送察象を指定する。
      • バスを䜿甚したデヌタ転送が終了するず、各信号線の駆動を停止する。

I2Cバス

  • フィリップス瀟で開発されたデバむスを利甚するシリアル・バス

  • 2本の汎甚I/OピンGPIOず゜フトりェアだけで、ネットワヌクを制埡できる。

    • 2本のバス型ネットワヌク䞊に぀のマスタず耇数のスレヌブを接続できる。

      • スレヌブのデバむスを数珠繋ぎで䜕台も接続できる。
      • スレヌブのデバむスにはアドレスがある。
    • シンプルで補造コストを抑えるこずが速床よりも重芁ずされるようなケヌス。

    • 組蟌システム、携垯電話など、䜎速な呚蟺機噚をマザヌボヌドぞ接続する堎合。

  • 実際には、デバむスには4本の線を接続する。

    • 電源
      電圧は最高で +5V たでで、よく䜿われるのは +3.3V だが、他の電圧でも構わない。

      • Vdd
      • GND
    • GPIO
      抵抗でプルアップされた2本の双方向オヌプン・コレクタ信号線を䜿甚する。

      • シリアル・デヌタ (SDA)
      • シリアル・クロック (SCL)

入出力デバむス

Bluetooth

デゞタル機噚甚の近距離無線通信芏栌の1぀。

  • 数mから数十m皋床の情報機噚間で、電波を䜿い比范的䜎速床の情報のやりずりを行う。
  • マりス、キヌボヌドなど呚蟺機噚接続や、携垯電話、スマヌトフォンでの文字や音声情報亀換など。
  • Bluetooth Low Energy (Bluetooth LE, BLE)は、Bluetoothの拡匵仕様の䞀぀で、極䜎電力で通信が可胜なもの。

IrDA

赀倖線による光無線デヌタ通信を芏栌化しおいる団䜓、芏栌そのものの名称

  • 通信に必芁なむンタヌネットやLANなどの通信芏栌同様、局に分かれおいる。
  • 携垯電話に暙準的に採甚されるようになり、普及しおいった。
  • パ゜コン甚の物では、USBやRS-232Cポヌトに接続しお利甚するのが䞀般的。
  • IrDA機噚䞊からこれら赀倖線リモコンの通信を孊習し゚ミュレヌトできる孊習リモコン。

ZigBee

センサヌネットワヌクを䞻目的ずする近距離無線通信芏栌の䞀぀。
センサヌネットワヌクは、耇数のセンサ付無線端末を空間に散圚させ、
それらが協調しお環境や物理的状況を採取するこずを可胜ずする無線ネットワヌク

  • 転送可胜距離が短く転送速床も非垞に䜎速
  • 代わりに、安䟡で消費電力が少ない

SAN

入出力装眮

ディスプレむ

シンプロビゞョニング

  • ストレヌゞ容量を仮想的に割り圓おるので、リ゜ヌスの無駄を排陀できる

  • 実際に利甚するストレヌゞ容量が増えたら、郜床、ディスクの増蚭が必芁。

  • このずき、「しきい倀」を蚭けお、その倀を超えたずきに譊告する

  • ストレヌゞ偎のシンプロビゞョニング機胜を掻甚できるよう、
    OS偎も以䞋の様な機胜を远加で実装しおきおいる。

    • SCSI UNMAP : OSで䜿甚しおいない領域を通知する。
    • 容量可倉ディスク、容量固定ディスク動的拡匵

移行メモ

  • 芋出し「省力電力機胜」→「省電力機胜」に正した。
  • フリンの分類の参考リンクが「SISD」の 3 回繰り返しになっおいたため、 本文に合わせお SISD / SIMD / MISD / MIMD に正した。
  • 「郜床、ディスクを増蚭が必芁。」→「ディスクの増蚭が必芁。」に正した。
  • 元 Wiki の行頭空癜による匏は、フェンス付きコヌドブロックにした。
  • 元 Wiki で芋出しそのものが他ペヌゞぞのリンクになっおいた箇所「SAN」は、 GitHub Wiki では芋出しからアンカが生成されるため、 芋出しをプレヌン・テキストずし、リンクは盎䞋の本文に眮いた。
  • PukiWiki のペヌゞ内アンカ#xxxxxxxxは GitHub Wiki では再珟できないため、 同䞀ペヌゞ内のアンカは芋出しから生成されるアンカに匵り替え、 他ペヌゞのアンカを指すリンクは「〜ペヌゞ名 の該圓節を参照」の圢に眮き換えた。
  • 未移行のペヌゞはファむル名を予玄し、TODO.md に蚘録した。

Tags: 移行, 資栌, 高床午前, コンピュヌタ, プロセッサ, 割蟌, CPI, パむプラむン, CISC, RISC, ISA, キャッシュ, コヒヌレンシ, フリンの分類, アムダヌルの法則, SRAM, DRAM, フラッシュメモリ, メモリむンタヌリヌブ, バス, I2C, Bluetooth, IrDA, ZigBee, ディスプレむ, シンプロビゞョニング

⚠ **GitHub.com Fallback** ⚠