コンピュータ構成要素の用語
全156語。
多段にしたキャッシュで、1次が最も速く小さく、2次は1次より遅いが大きい。
⚠ 多段にする目的は実効アクセス時間の短縮。
記憶階層とキャッシュメモリ
熱溶解積層方式などで材料を1層ずつ積み重ね、立体物を造形する出力装置。
⚠ 3Dスキャナは立体物を読み取る入力装置、プロジェクションマッピングは立体物に映像を投影する技術。
入出力インタフェースと入出力装置
コンピュータを構成する入力・記憶・演算・制御・出力の5つの装置。
⚠ CPUは制御装置と演算装置をまとめた呼び名で、記憶装置は含まない。
コンピュータの基本構成と命令の実行
足し算や論理演算などを実際に行う、演算装置の中心の回路。
⚠ 制御機構の部品(命令デコーダなど)と分類を取り違えない。
コンピュータの基本構成と命令の実行
PCに内蔵するCD-ROMやDVD装置をつなぐパラレルインタフェース。
⚠ 「内蔵CD/DVD装置用のパラレル」はATAPIでUSBではない。
入出力インタフェースと入出力装置
1命令の実行に必要なクロック数で、命令の種類によって異なり、1未満のこともある。
⚠ MIPSと混同しやすい。CPIは小さいほど速く、MIPSは大きいほど速い
クロック・CPI・MIPS で CPU の性能を計算する
CPUの能力のうち、その処理に実際に使える(使ってよい)割合。
⚠ 処理件数を計算するときは、MIPSに使用率をかけてから割る
クロック・CPI・MIPS で CPU の性能を計算する
電子銃から出した電子ビームを画面の蛍光体に当てて光らせるディスプレイ。
⚠ 「電子銃」「電子ビーム」ならCRT。
入出力インタフェースと入出力装置
CPU を経由せずに、主記憶と入出力装置などのあいだで直接データを転送する方式。
⚠ メモリインタリーブの選択肢に紛れ込む。「CPU 経由でなく」とあれば DMA。
記憶階層とキャッシュメモリ
専用の制御回路(DMAコントローラ)がCPUを介さずに入出力装置と主記憶の間でデータを転送する方式。
⚠ 「CPUが転送を行う」はDMAではない。「アドレス空間に装置のレジスタを割り当てる」はメモリマップドI/O、「実行ステージを重ねる」はパイプライン。
割込みと入出力の制御方式
コンデンサに電荷をためて記憶するRAMで、定期的なリフレッシュが必要。安く大容量なので主記憶に使う。
⚠ SRAMはリフレッシュ不要で高速・高価、キャッシュメモリ向き。
メモリの種類と誤りの検出・訂正
仕事量に応じて、プロセッサの電源電圧とクロック周波数を変えて消費電力を調整する技術。
⚠ パワーゲーティング(止まっている部分の電源を切る)。
パイプラインと並列処理で速くする
ハミング符号などを使ってメモリの誤りを検出・訂正する仕組み。データ幅 2^n ビットに n+2 ビットの冗長ビットを足す方式が出題される。
⚠ パリティチェックは検出だけで訂正はしない。
メモリの種類と誤りの検出・訂正
電気で内容を消去して書き直せるROM。
⚠ EPROMは紫外線で消去。フラッシュメモリはEEPROMの一種でブロック単位に消す。
メモリの種類と誤りの検出・訂正
紫外線を当てて内容を消去し、書き直せるROM。
⚠ EEPROMは電気で消去する。マスクROMは消去できない。
メモリの種類と誤りの検出・訂正
出荷後も、目的に合わせて内部の論理回路を作り直せる半導体デバイス。
パイプラインと並列処理で速くする
多数の浮動小数点演算ユニットを並列に動かし、3D 描画などの大量計算を高速に行うプロセッサ。
⚠ TPM(鍵の安全な管理)、FPGA(回路を作り直せる)、量子コンピュータ(量子ビット)。
パイプラインと並列処理で速くする
ビデオカメラなどをつなぐシリアルインタフェースで、デイジーチェーン接続ができる。
⚠ デイジーチェーン問題で「2口ある機器を数珠つなぎ」の例として出る。
入出力インタフェースと入出力装置
電源投入直後に動いてOSを主記憶に読み込む起動用プログラムで、ROMに格納する。
メモリの種類と誤りの検出・訂正
赤外線を使って近くの機器と無線でデータをやり取りする規格。
⚠ 「赤外線」と書いてあればIrDA。USBは有線。
入出力インタフェースと入出力装置
複数のプロセッサが、それぞれ違う命令を違うデータに対して並列に実行する方式。
⚠ SIMD(1命令を複数データに適用)。
パイプラインと並列処理で速くする
1秒間に実行できる命令数を百万単位で表したCPU性能の指標。
⚠ 平均命令実行時間とは逆数の関係(μs単位なら MIPS = 1 ÷ μsの値)
クロック・CPI・MIPS で CPU の性能を計算する
紙に書かれた文字を読み取り、文字データに変換する入力装置。
⚠ 座標を読むのはディジタイザ。OCRは文字。
入出力インタフェースと入出力装置
利用者が後から1回だけ書き込めるROM。
⚠ マスクROMは製造時に書き込み、後から書けない。
メモリの種類と誤りの検出・訂正
複数のディスクを組み合わせて1台のように扱い、速度や信頼性を高める技術。
⚠ RAID0=ストライピング、RAID1=ミラーリング。番号と中身を対応させて覚える。
磁気ディスクのアクセス時間と容量
読み書きが自由にでき、電源を切ると中身が消える(揮発性の)メモリ。
⚠ ROMは電源を切っても消えない。「消えるか」で見分ける。
メモリの種類と誤りの検出・訂正
単純で長さのそろった命令を少数持ち、パイプライン処理に向いた CPU の設計思想。
⚠ CISC(複雑な命令を多く持つ)。どちらも命令セットの考え方で、SIMD・MIMD のような並列処理方式の分類ではない。
パイプラインと並列処理で速くする
電源を切っても中身が残る(不揮発性の)メモリで、基本は読み出し専用。
⚠ RAMは揮発性。起動プログラムの置き場はROM。
メモリの種類と誤りの検出・訂正
セットとリセットの2入力で出力を切り替える、NOR などをたすき掛けにしたフリップフロップ。
⚠ 両方の入力を1にするのは禁止(NOR 型では出力が両方0になる)。
論理回路(加算器・NAND・フリップフロップ)
磁気ディスクやプリンタなどをデイジーチェーンでつなぐパラレルインタフェース。
⚠ 「デイジーチェーンで接続するパラレル」はSCSIの説明で、USBではない。
入出力インタフェースと入出力装置
1つの命令で、複数のデータに同じ操作を同時に行う方式で、マルチメディア処理に使われる。
⚠ MIMD はプロセッサごとに違う命令を実行する。「1命令で同一の操作」なら SIMD。
パイプラインと並列処理で速くする
SISD は1命令・1データの普通の逐次処理、MISD は複数命令・1データの方式で、実用例はほとんどない。
パイプラインと並列処理で速くする
1つのコアのパイプラインの空きを使って複数のスレッドを実行し、複数のプロセッサがあるように見せる技術(ハイパースレッディング)。
⚠ マルチコアは物理的にコアが複数ある。SMT はコアが1つでも成り立つ。
パイプラインと並列処理で速くする
フリップフロップ回路で記憶するRAMで、リフレッシュ不要で高速。キャッシュメモリに使う。
⚠ DRAMはリフレッシュが必要で主記憶向き。
メモリの種類と誤りの検出・訂正
液晶ディスプレイで各画素(ドット)をひとつずつ制御する小さなスイッチ素子。
⚠ TFTの話が出たら液晶の説明。プラズマや有機ELの選択肢ではない。
入出力インタフェースと入出力装置
高速なシリアルインタフェースで、ポートを2口もつ機器同士をデイジーチェーンでつなげる。
⚠ USBハブを使ったスター状の接続とは区別する。
入出力インタフェースと入出力装置
仮想記憶の仮想アドレスから実アドレスへの変換結果を保持して、アドレス変換を速くするバッファ。
⚠ 「アドレス変換を高速に行う」はキャッシュメモリの目的ではなく TLB の説明。
記憶階層とキャッシュメモリ
OS や他のハードウェアから独立して、暗号鍵などを安全に保管・処理するチップ。
パイプラインと並列処理で速くする
PCをルートとしてハブでツリー状に周辺機器をつなぐシリアルインタフェースで、ハブも含めて最大127台まで接続できる。
⚠ SCSIやATAPIはパラレル、IrDAは赤外線。「ハブでツリー状」ならUSB。
入出力インタフェースと入出力装置
上下対称で裏表なく挿せるUSBコネクタで、断面は角の丸い小判型、接点は上下2列に並ぶ。
⚠ Type-Aは長方形、Micro-Bは台形の断面。
入出力インタフェースと入出力装置
USBの差し込み口を増やす分岐器で、ハブの先にさらにハブをつないで階層を作れる。
⚠ LANのネットワークハブとは別物。ハブ同士をクロスケーブルでつなぐという説明はLANの話。
入出力インタフェースと入出力装置
同時に実行する命令と使う演算器を、コンパイラがあらかじめ決めて1つの長い命令にまとめる方式。
⚠ スーパスカラ(実行時に動的に割当て)。
パイプラインと並列処理で速くする
ペンを縦横に動かして図面を描く出力装置。
⚠ 座標を読み取って入力するのはディジタイザ。
入出力インタフェースと入出力装置
命令セットや内部構造など、CPUの基本的な設計方式。
⚠ 同じアーキテクチャなら、クロックが高いほど実行命令数が多いといえる。別アーキテクチャならクロックだけでは比べられない
クロック・CPI・MIPS で CPU の性能を計算する
依存関係のない命令を、プログラムに書かれた順序に関係なく実行すること。
⚠ 投機実行と混同しやすい。こちらは分岐の予測ではなく順序の入れ替え。
パイプラインと並列処理で速くする
計算の途中結果や計算結果を一時的に置くレジスタ。
⚠ 命令を置くのは命令レジスタ、番地を置くのはプログラムカウンタ。
コンピュータの基本構成と命令の実行
読み書きを指令してから、データの読み書きが終わるまでの時間で、位置決め時間・回転待ち時間・データ転送時間の合計。
⚠ 待ち時間(位置決め+回転待ち)とは違い、データ転送時間まで含む。CPUの前処理・後処理は含まない。
磁気ディスクのアクセス時間と容量
CPUが主記憶の番地を指定するための信号線の束。n本で2のn乗個の番地を区別できる。
⚠ データバスはデータを運ぶ線。データバスの本数は、アドレスバスの本数の計算に使わない。
コンピュータの基本構成と命令の実行
配列の要素を順に扱うときなど、番地を補正する値を保持するレジスタ。
⚠ 割込みからの再開には使わない。
割込みと入出力の制御方式
カウンタなどが表せる最大値を超えて0に戻ること。
論理回路(加算器・NAND・フリップフロップ)
複数の命令の実行を時間的に重ねて進めること(パイプラインなど)。
⚠ 「オーバラップしない」と書かれていれば、CPIを単純に足し合わせればよい
クロック・CPI・MIPS で CPU の性能を計算する
命令の対象になるデータや、その番地・レジスタを指定する部分。
⚠ オペランドが無い命令もあり、個数は主記憶の番地の数と一致するとは限らない。
コンピュータの基本構成と命令の実行
CPU と主記憶のあいだに置き、一度使ったデータを残して処理速度とアクセス速度の差を埋める高速・小容量のメモリ。
⚠ ディスクキャッシュは主記憶と磁気ディスクの間に置くもので別物。
記憶階層とキャッシュメモリ
ネットワーク上の多数のコンピュータに処理を分割して割り当て、まとめて1つの大規模な処理を行う方式。
⚠ 中央への集中処理、バックアップ、データ共有、1台の中での対称型・非対称型マルチプロセッサとは別物。
パイプラインと並列処理で速くする
CPU内部の回路が足並みをそろえて動くために、一定の間隔で刻まれる信号。
クロック・CPI・MIPS で CPU の性能を計算する
回路が動作するタイミングをそろえるための、一定周期で0と1を繰り返す信号。
論理回路(加算器・NAND・フリップフロップ)
動作していない回路ブロックへのクロック供給を止めて、消費電力を減らす技術。
⚠ パワーゲーティング(電源そのものを遮断)。
パイプラインと並列処理で速くする
クロック1回分の時間で、クロック周波数の逆数(100MHzなら10ns)。
⚠ 「周波数の逆数は1秒間の命令数」という選択肢は誤り。逆数で得られるのは1クロックの時間
クロック・CPI・MIPS で CPU の性能を計算する
1秒間に刻まれるクロックの回数で、単位はHz(MHz・GHz)。
⚠ クロック周期と取り違えやすい。周波数は「回数/秒」、周期は「1回あたりの時間」で、互いに逆数の関係
クロック・CPI・MIPS で CPU の性能を計算する
キャッシュと主記憶など、同じデータの複数のコピーの内容が一致している状態。
⚠ 保ちやすいのはライトスルー。ライトバックの目的ではない。
記憶階層とキャッシュメモリ
CPUと主記憶などの装置を結ぶデータの通り道で、CPUとは別のクロックで動いてよい。
⚠ 「CPUとバスのクロックは同一でなければならない」は誤り
クロック・CPI・MIPS で CPU の性能を計算する
クロックごとに中身を1ビットずつずらし、端から新しいビットを取り込む記憶回路。
論理回路(加算器・NAND・フリップフロップ)
データを1本の信号線で1ビットずつ順番に送る接続方式。
⚠ パラレルは複数の線で同時に送る方式。USB・IEEE 1394・IrDAはシリアル、SCSI・ATAPIはパラレル。
入出力インタフェースと入出力装置
複数の円盤で同じ半径にあるトラックの集まりで、ヘッドを動かさずに読み書きできる範囲。
⚠ 記憶容量の計算ではシリンダ数も掛ける必要がある。トラック容量とトラック数だけでは決まらない。
磁気ディスクのアクセス時間と容量
複数の演算器を持ち、実行時に動的に割り当てて複数の命令を同時に実行する方式。
⚠ VLIW はコンパイル時に割当てを決める。「動的」ならスーパスカラ。
パイプラインと並列処理で速くする
パイプラインで1つの命令の処理を分けた各段階(例:フェッチ・解読・実行)。
パイプラインと並列処理で速くする
データを確定させる瞬間を知らせる合図の信号。
⚠ クロックはデータを取り込む合図、ストローブは値を確定する合図。
論理回路(加算器・NAND・フリップフロップ)
トラックを区切った、ディスクを読み書きする最小単位(例:512バイト)。
⚠ トラックは1周全体、セクタはその一部分。
磁気ディスクのアクセス時間と容量
時間の経過に沿って、各信号の0と1の変化を並べて描いた図。
論理回路(加算器・NAND・フリップフロップ)
データを区切って足した合計値を添えておき、受け取った側で合計を比べて誤りを検出する方式。
⚠ 検出のみで訂正はできない。
メモリの種類と誤りの検出・訂正
番号の末尾に計算で決まる検査用の数字を付け、入力ミスを検出する方式。
⚠ 検出のみ。メモリの自動訂正ではない。
メモリの種類と誤りの検出・訂正
PCから機器へ、その機器から次の機器へと数珠つなぎに順番につなぐ接続方式。
⚠ USBハブやネットワークハブを使った放射状の接続(ツリー・スター)はデイジーチェーンではない。
入出力インタフェースと入出力装置
図面上の2次元・3次元の位置座標を読み取ってコンピュータに入力する装置で、CADの図面入力などに使う。
⚠ XYプロッタは図面を描く出力装置、OCRは文字の読取り、ライトペンは画面上を指す入力装置。
入出力インタフェースと入出力装置
CPU(主記憶)と磁気ディスクのあいだに半導体メモリを置き、ディスクの読み書きを速くする仕組み。
⚠ キャッシュメモリ(CPU と主記憶のあいだ)と置き場所が違う。
記憶階層とキャッシュメモリ
ディスクのデータの一部を高速なメモリに置き、読み書きを速くする仕組み。
⚠ ストライピングと違い、複数ディスクへの分散ではなく、メモリへの一時保存で速くする。
磁気ディスクのアクセス時間と容量
データをブロックに分割して複数台のディスクに分散配置し、並列に読み書きして高速化する手法。
⚠ ミラーリングは同じデータを複製して信頼性を上げる手法。分割・分散ならストライピング、複製ならミラーリング。
磁気ディスクのアクセス時間と容量
同じデータを2台以上のディスクに書き込み、1台が壊れても読めるようにする手法。
⚠ 目的が高速化ならストライピング、信頼性ならミラーリング。
磁気ディスクのアクセス時間と容量
データを実際に読み書きする時間で、データ量 ÷ データ転送速度で求める。
⚠ データ転送速度は回転速度と記録密度で決まり、回転待ち時間とは無関係。
磁気ディスクのアクセス時間と容量
全体にかかった否定を中に分配すると、積(・)と和(+)が入れ替わるという法則。
論理回路(加算器・NAND・フリップフロップ)
円盤上にある同心円1周ぶんの記録領域。
⚠ シリンダは、複数の円盤で同じ半径にあるトラックをまとめたもの。
磁気ディスクのアクセス時間と容量
注文1件や振込1件のような、ひとまとまりで処理する業務処理の単位。
クロック・CPI・MIPS で CPU の性能を計算する
それぞれ10⁻⁹秒、10⁻⁶秒、10⁻³秒を表す時間の単位。
⚠ 1μs = 1,000ns、1ms = 1,000μs。単位を1段ずらすと答えが1,000倍ずれる
クロック・CPI・MIPS で CPU の性能を計算する
1命令を分けたステージの数。
⚠ ピッチ(1ステージにかかる時間)と取り違えない。
パイプラインと並列処理で速くする
分岐などが原因で、先に取りかかった命令が使えなくなり、パイプラインの流れが乱れたり止まったりすること。
パイプラインと並列処理で速くする
1ステージの処理にかかる時間で、パイプラインが1段進む間隔。
⚠ 深さ(段数)と取り違えない。
パイプラインと並列処理で速くする
命令の処理を複数の段階に分け、命令を1段ずつずらして重ねて同時に進める高速化の方式。
⚠ スーパスカラ(実行時に演算器を動的に割当て)やVLIW(コンパイラが割当て)と混同しやすい。「段階をずらして重ねる」がパイプラインの目印。
パイプラインと並列処理で速くする
複数の検査ビットで誤ったビットの位置を特定し、1ビット誤りを自動訂正できる符号。拡張すると2ビット誤りも検出できる。
⚠ パリティ・チェックサム・チェックディジットは検出のみ。
メモリの種類と誤りの検出・訂正
1の個数を偶数か奇数にそろえる検査ビットを足し、読出し時のビット誤りを検出する方式。訂正はできない。
⚠ 自動訂正できるのはハミング符号(ECC)。2ビット同時の反転は見逃す。
メモリの種類と誤りの検出・訂正
動作していない回路ブロックへの電源供給を遮断して、消費電力を減らす技術。
⚠ クロックゲーティングはクロックを止めるだけ。「電源を遮断」ならパワーゲーティング。
パイプラインと並列処理で速くする
入出力装置が処理中で次の要求を受け付けられないことを示す信号。
⚠ ポーリングでCPUが読み出す対象(状態レジスタと並べて出る)。
割込みと入出力の制御方式
読み出したいデータがキャッシュに見つかった割合で、実効アクセス時間の式ではキャッシュ側の時間に掛ける。
⚠ ミス率(1 − ヒット率)と取り違えやすい。0.9 と 0.1 を逆にしない。
記憶階層とキャッシュメモリ
計算結果がゼロか、マイナスかといった状態を保持し、条件分岐で使うレジスタ。
⚠ 次の命令の番地を持つのはプログラムカウンタ。
コンピュータの基本構成と命令の実行
ガス放電で生じた紫外線で蛍光体を光らせて映像を表示する自発光型のディスプレイ。
⚠ 有機ELは有機化合物の発光、CRTは電子ビーム。「ガス放電」ならプラズマ。
入出力インタフェースと入出力装置
電気でブロック単位に一括消去して書き直せる不揮発性メモリで、USBメモリやSSDに使う。
メモリの種類と誤りの検出・訂正
入力が変わるまで直前の出力を保持できる、1ビットを記憶する回路。
⚠ 加算器などの組合せ回路は、今の入力だけで出力が決まり、記憶を持たない。
論理回路(加算器・NAND・フリップフロップ)
次に実行する命令が入っている番地を保持するレジスタ。
⚠ 命令そのものを保持するのは命令レジスタ。PCが持つのは番地。
コンピュータの基本構成と命令の実行
次に実行する命令が主記憶のどの番地にあるかを保持するレジスタ。
⚠ 命令レジスタは「いま実行中の命令の中身」を持つ。再開位置を表すのは番地を持つプログラムカウンタ。
割込みと入出力の制御方式
プログラムを主記憶に入れておき、CPUが順に読み出して実行する方式。格納方式・記憶方式とも呼ぶ。
⚠ 仮想記憶方式(主記憶を大きく見せる)、DMA(CPUを通さないデータ転送)とは別物。
コンピュータの基本構成と命令の実行
複数の論理レコードを1つのブロックにまとめて読み書きし、入出力の回数を減らす手法。
⚠ 複数台のディスクへの分散とは無関係。
磁気ディスクのアクセス時間と容量
キャッシュミスのとき、キャッシュ制御装置が主記憶から必要なデータをまとまった単位で転送すること。
⚠ 転送元は主記憶で磁気ディスクではない。割込みやプログラムで転送するのでもない。
記憶階層とキャッシュメモリ
CPUが状態レジスタやビジー信号を繰り返し読み出して、入出力装置の状態を監視する方式。
⚠ 割込み(装置側から通知・処理を中断)との取り違えが定番。「CPUが読み出して監視」ならポーリング。
割込みと入出力の制御方式
機器の電源を入れたままケーブルを抜き差しできる機能で、USBは対応している。
⚠ 「電源投入前に接続が必要」という選択肢は誤り。
入出力インタフェースと入出力装置
製造時に内容を書き込んで固定するROMで、書換えはできず量産と大容量化に向く。
⚠ EPROMは紫外線で消して書き直せる。PROMは利用者が後から書き込める。
メモリの種類と誤りの検出・訂正
1つのプロセッサに複数のコアを載せ、消費電力を抑えながら処理性能を高めるもの。
⚠ 性能がコア数倍になる・共有資源の競合がない・クロックを高くできる、はいずれも誤り。
パイプラインと並列処理で速くする
キャッシュにデータが無かったときに、主記憶から取ってくるために余分にかかる時間。
⚠ 減少すると実効アクセス時間は短くなる。増加の原因として選ばない。
記憶階層とキャッシュメモリ
主記憶を独立して動く複数のバンクに分け、各バンクに並列(交互)にアクセスして高速化する方式。
⚠ キャッシュ(速いメモリを足す)とは違い、主記憶そのものを分ける。キーワードは「バンク」「並列・交互」。
記憶階層とキャッシュメモリ
主記憶のアドレス空間の一部に入出力装置のレジスタを割り当て、メモリと同じ命令で装置を操作する方式。
⚠ DMAの選択肢に紛れ込む。データ転送を専用回路に任せるのがDMA、番地の割当て方の話がメモリマップドI/O。
割込みと入出力の制御方式
アプリケーションが動作する、使える命令や資源が制限された実行状態。
⚠ 特権モードと逆。
割込みと入出力の制御方式
書込みのたびにキャッシュと主記憶を同時に書き換える方式。
⚠ ライトバックとの違いは主記憶を書くタイミング。スルー=毎回すぐ、バック=追い出されるとき。
記憶階層とキャッシュメモリ
キャッシュだけを書き換え、そのデータがキャッシュから追い出されるときに主記憶へ書き戻す方式で、主記憶への書込み回数を減らせる。
⚠ 一貫性を保ちやすい・回路が単純なのはライトスルーのほう。
記憶階層とキャッシュメモリ
複数バイトのデータを、下位のバイトから小さい番地に並べる方式。
⚠ ビッグエンディアンは上位のバイトから並べる(書いた順のまま)。逆にするのはバイト単位で、桁単位ではない。
コンピュータの基本構成と命令の実行
CPU の内部にある、演算中の値を置く最も速くて最も小さい記憶装置。
⚠ キャッシュメモリと混同しやすい。CPU 内部で最速なのはレジスタで、キャッシュはその次。
記憶階層とキャッシュメモリ
磁気ヘッドを目的のトラックまで移動させるのにかかる時間。
⚠ 回転待ち時間は、ヘッドが着いた後に円盤の回転を待つ時間。ヘッドの移動か、円盤の回転待ちかで見分ける。
磁気ディスクのアクセス時間と容量
液晶で光の透過率を変えて表示するディスプレイで、自分では光らないためバックライトを使う。
⚠ 「バックライト」「TFTで透過率を制御」なら液晶。自発光型ではない。
入出力インタフェースと入出力装置
計算や比較をする装置で、中心になる回路はALU。
⚠ 命令を解釈するのは制御装置。
コンピュータの基本構成と命令の実行
目的のセクタがヘッドの下に回ってくるまで待つ時間で、平均すると半回転ぶん。
⚠ 待ち時間(位置決め+回転待ちの合計)と取り違えやすい。「回転」が付くかどうかで判断する。
磁気ディスクのアクセス時間と容量
入出力完了、タイマ、ハードウェア障害など、CPUの外の装置や事象が原因で起きる割込み。
⚠ 「入出力の完了通知は内部割込み」という選択肢は誤り。
割込みと入出力の制御方式
実行中の処理を一時的に止めて急ぎの処理を先に行い、終わったら元の場所から再開する仕組み。
⚠ ポーリングとの違いは「知らせが来る」か「CPUが見に行く」か。割込みは装置側から通知が来る。
割込みと入出力の制御方式
割込みの原因ごとに用意され、割込み発生時に実行される処理プログラム。
⚠ 手順問題では「開始番地の決定」の後に「実行」が来る。この順は入れ替わらない。
割込みと入出力の制御方式
複数の割込みが重なったときに、どれを先に処理するかを決めるために原因ごとに付ける順位。
割込みと入出力の制御方式
アドレス部が指す番地の中身を実効アドレスとして、もう一度たどる方式。
⚠ 直接アドレス指定は1回で着く。図の矢印が2回跳ぶのが間接。
コンピュータの基本構成と命令の実行
アドレス部の値にベースレジスタの値を足して実効アドレスとする方式。
⚠ 足した番地の中身が答え。番地そのものや、さらにたどった値と取り違えない。
コンピュータの基本構成と命令の実行
電源を切ると記憶が消える性質が揮発性、消えない性質が不揮発性。
⚠ HDDも不揮発性だが主記憶ではなく補助記憶。
メモリの種類と誤りの検出・訂正
速くて小さい記憶装置から遅くて大きい記憶装置までを段々に重ねて、速さと容量を両立させる構成。
記憶階層とキャッシュメモリ
足し算の結果が1桁に収まらないとき、上の桁へ送る1。
⚠ 和(和の1桁目)と入れ替えた選択肢が出る。
論理回路(加算器・NAND・フリップフロップ)
同じ場所をすぐまた使う(時間的)、近くの場所を続けて使う(空間的)というプログラムのクセで、キャッシュが効く理由になる。
⚠ 命令キャッシュには「よく実行する処理をまとめる」、データキャッシュには「作業領域をまとめる」が効く。
記憶階層とキャッシュメモリ
アドレス部の値に指標(インデックス)レジスタの値を足して実効アドレスとする方式。
⚠ プログラムカウンタを足すのは相対、ベースレジスタを足すのは基底。
コンピュータの基本構成と命令の実行
アクセスアームの先についていて、円盤の磁気を読み書きする部品。
磁気ディスクのアクセス時間と容量
ヒットとミスを平均した実際の読み出し時間で、h × キャッシュ時間 + (1 − h) × 主記憶時間で求める。
記憶階層とキャッシュメモリ
アドレス指定方式に従って計算した、データが実際にある主記憶の番地。
⚠ 問われるのが番地なのか、その番地の中身(データ)なのかを必ず確認する。
コンピュータの基本構成と命令の実行
実行中のプログラムとデータを置くメインメモリで、キャッシュより遅く磁気ディスクより速い。
記憶階層とキャッシュメモリ
プログラム中で各種類の命令が占める割合。
クロック・CPI・MIPS で CPU の性能を計算する
入力の全組合せについて出力を並べた表で、回路の動作を確かめるのに使う。
論理回路(加算器・NAND・フリップフロップ)
データを表に並べ、行ごとの水平パリティと列ごとの垂直パリティを組み合わせる方式で、不一致の交点から1ビット誤りを特定して訂正できる。
⚠ 水平パリティ単体(行だけ)は検出のみ。試験の選択肢では水平パリティは「検出のみ」側として出る。
メモリの種類と誤りの検出・訂正
記憶装置から命令を取り出して解釈し、ほかの装置に指示を出す装置。
⚠ 演算装置は計算をするだけで、命令の解釈はしない。
コンピュータの基本構成と命令の実行
2つの1桁の2進数と下の桁からの桁上げ、の3つを足して和と桁上げを出す回路。
⚠ 半加算器は入力が2つだけ。全加算器は入力が3つ。
論理回路(加算器・NAND・フリップフロップ)
アドレス部の値にプログラムカウンタ(命令アドレスレジスタ)の値を足して実効アドレスとする方式。
⚠ 指標アドレス指定はインデックスレジスタを足す。
コンピュータの基本構成と命令の実行
割込み処理の実行中に、より優先度の高い別の割込みを受け付けて処理すること。
⚠ 優先度が低い割込みは、高い割込みの処理中には割り込めず待たされる。
割込みと入出力の制御方式
位置決め時間と回転待ち時間を合わせた、データ転送が始まるまでの時間。
⚠ 回転待ち時間は待ち時間の一部。図問題では、待ち時間が位置決めと回転待ちの両方を覆う区間になる。
磁気ディスクのアクセス時間と容量
アドレス部の値をそのまま実効アドレスとする方式。
⚠ 間接アドレス指定は、その番地の中身をもう一度番地として使う。
コンピュータの基本構成と命令の実行
分岐先が確定する前に、予測した分岐先の命令の実行を始めること。
⚠ アウトオブオーダ実行(依存のない命令の順番を入れ替える)。「分岐先が決まる前に」が投機実行の目印。
パイプラインと並列処理で速くする
OSが動作する、すべての命令や資源を使える権限の強い実行状態。
⚠ ユーザモードは権限が制限された状態。割込みが起きるとユーザモードから特権モードへ移る(逆ではない)。
割込みと入出力の制御方式
ゼロ除算やページフォールト、SVCなど、実行中のプログラムが原因で起きる割込み。
⚠ 入出力完了通知やタイマはCPUの外が原因なので外部割込み。
割込みと入出力の制御方式
樹脂を熱で溶かして押し出し、層を重ねて形を作る3Dプリンタの造形方式。
⚠ 感熱紙に熱いピンを押し当てて印刷するのは感熱式プリンタ。
入出力インタフェースと入出力装置
2つの入力が違うときに1、同じときに0を出す演算。
⚠ OR と混同しやすい。11の行で0になるのが XOR。
論理回路(加算器・NAND・フリップフロップ)
1桁の2進数2つを足し、和(XOR)と桁上げ(AND)を出す回路。
⚠ 全加算器は、下の桁からの桁上げも含めた3入力を足す。
論理回路(加算器・NAND・フリップフロップ)
1つの入力の0と1を反転させる演算。
論理回路(加算器・NAND・フリップフロップ)
AND の結果を反転したもので、入力がすべて1のときだけ0を出す。
⚠ NOR は OR の反転で、すべて0のときだけ1を出す。
論理回路(加算器・NAND・フリップフロップ)
OR の結果を反転したもので、入力がすべて0のときだけ1を出す。
⚠ NAND と取り違えやすい。「全部0で1」が NOR、「全部1で0」が NAND。
論理回路(加算器・NAND・フリップフロップ)
分岐命令の分岐先がどちらになるかを、実行前に予想する仕組み。
⚠ 投機実行は、予想した先の命令を実際に実行し始めること。
パイプラインと並列処理で速くする
命令ごとのCPIを出現率で重みづけして平均した値。
⚠ 単純平均とは違う。必ずCPI×出現率を足し合わせる
クロック・CPI・MIPS で CPU の性能を計算する
1回転にかかる時間の半分で、60秒 ÷ 回転数 ÷ 2 で求める。
⚠ 1回転ぶんの時間をそのまま使うのは誤り。必ず2で割る。
磁気ディスクのアクセス時間と容量
1命令の実行にかかる平均時間で、平均CPI×クロック周期で求める。
⚠ MIPSとは逆数の関係。20ns ⇔ 50MIPS の組を覚えておくと検算に使える
クロック・CPI・MIPS で CPU の性能を計算する
命令レジスタにある命令を解読する、制御装置の回路。
⚠ ALUは演算側の回路で、制御機構ではない。
コンピュータの基本構成と命令の実行
実行する命令をメモリから取り出す最初の段階。
⚠ デコード(取り出した命令の解読)より必ず先に来る。
パイプラインと並列処理で速くする
主記憶から取り出した命令を、解読のあいだ保持しておくレジスタ。
⚠ プログラムカウンタは次の命令の番地を持つ。
コンピュータの基本構成と命令の実行
主記憶から取り出した、いま実行中の命令そのものを一時的に保持するレジスタ。
⚠ プログラムカウンタと混同させる選択肢が定番。中身なら命令レジスタ、番地ならプログラムカウンタ。
割込みと入出力の制御方式
電圧をかけると光る有機化合物を使った自発光型のディスプレイで、発光ダイオードの一種。
⚠ 液晶はバックライトが必要な非発光型。「自発光で発光ダイオードの一種」なら有機EL。
入出力インタフェースと入出力装置
0と1を重ね合わせた状態を持てる量子ビットを使って計算するコンピュータ。
パイプラインと並列処理で速くする
入力がすべて1のときだけ1を出す演算。
⚠ 論理和(OR)は、どれか1つでも1なら1を出す。
論理回路(加算器・NAND・フリップフロップ)
入力のどれか1つでも1なら1を出す演算。
⚠ 排他的論理和(XOR)とは、両方1のときだけ結果が違う(ORは1、XORは0)。
論理回路(加算器・NAND・フリップフロップ)