前回では「バス」の歴史について大雑把に解説したので、今回はPCの基礎を築いたと言える、「XT Bus」と「ISA Bus」の詳細について解説したい。
XT Busを拡張して生まれたISA Bus
まずは話をわかりやすくするために、3種類のバスの関係を図1に示す。大元になったのは、「IBM PC/XT」で採用されたXT Busである。このXT Busをそのままに、アドレスとデータをそれぞれ8bitずつ拡張して、合計で16bitのバスとしたのがISA Busである。
一方の「VL Bus」(次回解説する)は、ISA Busとはまったく別に、改めてアドレスおよびデータを32bit幅で用意したバスである。その意味ではVL Busとは、図1では黄色いコネクターで拡張された32bit Busのことだけをいう。VL Busは単独では動作できないので、必ずISA Busか「EISA Bus」と連携をとる必要がある。そのため図1のように、「VL Bus+ISA Bus」もしくは「VL Bus+EISA Bus」という形で実装されることになった。
XT Busに話を戻そう。XT Busは「i8088」をベースとしたPC向けバスになる(図2)。そのためデータバスは8bit幅である。ただし、i8088は最大1MBのメモリー空間を持つので、これをサポートするためにアドレスバスは、1MB分にあたる20bitが用意されている(SA0~SA19)。
「IRQ2~IRQ7」とは何かと言うと、割り込み信号である。これを説明するにはI/Oの基本的な説明をしておく必要があるだろう。図3は、CPUからFDDに書き込んだ場合の、処理の流れである(HDDも同様)。一連の流れを箇条書きにするとこうなる。
- ① CPUはFDD I/Fのコントローラーに対して「I/O要求」を出す。
- ② これを受けたFDD I/Fは、FDDに対して書き込みをする。
- ③ FDDは書き込みを開始し、終わったら「完了通知」をFDD I/Fに返す。
- ④ FDD I/FはCPUに「完了通知」を返す。
- ⑤ CPUは完了通知を受け取り、ファイル書き込みを完了する。
完了通知が来るまで待つのは、もし書き込みに失敗したら再書き込みするなり、書き込み自体が失敗したというエラー処理をするためだ。書き込み要求を出したらそれで終わり、というわけにはいかない。そこで問題になるのは、「CPUはいつ書き込み完了を知るか」である。
この連載の記事
-
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU -
第789回
PC
切り捨てられた部門が再始動して作り上げたAmpereOne Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ