それわかるぅ〜

日々「それわかるぅ〜」と思ったこと、忘れたくないことを徒然なるままに。Inputした情報を定着させるためのOutputの場として使用しています。誤字脱字等はたぶん仕様です。

語句対策自分用メモ(計算機アーキテクチャ2)

テストにでそうな語句とか事項の中でこれ多分テストとに出たら詰まりそうだな思うものを挙げておく. とりあえず今回はまる覚えでもいいや. またこんど必要になったらその都度調べれば良い???(自問自答..)

というか点で覚えて解答書くときに線で繋げられれば良いという考え方で挑みましょう.

 

プリントの内容を自分で噛み砕いて書いてるので間違えもあるかも.

 

複数の依存関係にない命令を同一の命令にまとめて同時に実行する方式. 通常の命令よりも命令語の一語の長さが長くなる. また複雑なスケジューリングなどをコンパイラアセンブリなどの最適化ツールの側で行ってくれるためプロセッサ本体にスケジューラやリソース管理回路を組み込む必要がない. ただし、並列化の機能を命令セットそのものに埋め込むため、プロセッサが改良されると命令セット自体を変更しなければならないため、プロセッサの改良を経て将来にわたってバイナリの互換性を保つことが困難であるという欠点がある.

 

  • キャッシュにおけるライトスルー方式とライトバック方式

ライトスルー方式ではキャッシュへの書き込みが行われる度に主記憶への書き込みも行う. 主記憶への書き込みには時間がかかるため書き込みの完了を待っていては処理速度が落ちてしまうため、ライトバッファを設け、ここに書き込み完了を待っているデータを保存しておき、書き込みが可能な状態になれば主記憶への書き込みを行う. なおこの方式ではキャッシュの内容と主記憶の内容のコヒーレンシーを保ちやすいという利点がある.

対してライトバック方式では、書き込みを基本的にキャッシュのみに行い、キャシュ内のブロックが追い出されてたときのみその内容に変更があるかどうかを調べ、変更があれば主記憶にその変更を書き込む. この方式ではブロック内のデータが何度も更新されたときでも主記憶への書き込みは一度で済むという利点がある. しかし、キャッシュミスが生じ、ブロックが追い出される際処理時間が長いためのミスペナルティが大きくなるという欠点がある. 

 

  • 仮想記憶への書き込み方式

仮想記憶への書き込みにおいては2次記憶へのアクセスに数百万クロックがかかること、一語の書き込みにかかる時間と一ページの書き込みにかかる時間にほとんど差がないことを考慮して、ページがスワップアウトされる度に2次記憶に書き込みを行うライトバック方式が採用される. またライトバック方式であればページの内容が何度も更新されたときでも、ライトスルー方式であれば何度も行わなければならない2次記憶への書き込みも、一度で済むという利点がある.

 

  • TLB

Transratino Look-aside Bufferのこと。ページ参照時のミスペナルティを削減し、仮想アドレスから物理アドレスへの変換を高速化するために、アドレスの変換情報の履歴を保持しておく一種のキャッシュ. 実装は連想メモリ(CAM)により、CPUは仮想アドレスをキーとして検索を行い、TLB上に対応するエントリがあれば、検索結果として物理アドレスが返る. これをTLBヒットと呼び、そうでなければTLBミスとなる. 

 

  • 同時マルチスレッディング

単一CPUで複数のスレッドを同時実行するプロセッサの機能.(あくまでこれはソフト的な概念.)複数命令同時発行、動的スケジューリングを行うスーパースカラプロセッサで複数のスレッドの命令を実行する. 単一スレッドの命令レベル並列性だけでは十分に引き出せなかったプロセッサの性能をスレッドレベルで引き出すことができ、異なるスレッドの命令間でハザードをチェックする必要がない.

 

  1. ベクトルアーキテクチャではループ命令をそのまま同一のベクトル内に格納するため、ループの先頭に戻る際の制御ハザードが発生しない.
  2. ベクトル内の各命令がメモリ内の整列した位置にあればメモリレイテンシが一度で済む. 
  3. 命令でコードから命令フェッチまでのバンド幅が劇的に削減される. 
  4. ベクトル内の各命令が独立しているため、データハザードのチェックが1つのベクトルあたり一回で済む. 
  5. 上記の理由により消費電力が少ない. 

 

共有メモリのブロックのコピーが複数プロセッサのプライベートキャッシュに存在する場合にそれらが一致するように一貫性を保つこと.

 

そしてこの実装として

 

  • スヌープ方式

各キャッシュコントローラが全てのプロセッサのキャッシュ更新状況を覗き見(監視)して自身のキャッシュ内にあるブロックのコピーが更新された際に自身のキャッシュのそのブロックの状態を変更する方式.

 

  • プロセッサと入出力装置間の通信における方式

割り込み駆動型とポーリング方式に分かれる. 前者は割り込みによって入出力装置からの処理要求をCPUに伝え、後者ではCPUが入出力装置の状況を一定時間ごとにチェックし、サービスを提供する必要があるかどうかを判断する方式.

 

  • ダイレクトメモリアクセス(DMA)

コンピュータシステム内で CPUを介さずに各装置と主記憶の間でデータ転送を行う方法. CPUはDMAコントローラ(DMACという)にデータの転送開始を指示し、DMACはデータの装置と主記憶の間の転送制御を行う. 送信が完了すればDMACは割り込みによってそれをCPUに伝える. 

 

DMAで用いられるデータ転送用のバスでI/O装置の側がバスの制御を任され、データ転送を司る.