こんにちは😀
コンピュータを構成する機器の間でデータをやりとりするための経路、伝送路のことをバスと言います。
バスには大きく分けると、CPU内部の伝送路である内部バスと、その外側の伝送路である外部バスに分類できます。
外部バスは、CPUとメモリやHDDを接続する高速なものと、キーボードやマウスやディスプレイといった入出力装置を接続する低速なものがあります。
そして、その両者はブリッジというコントローラによって接続されています。
パラレルとシリアル
バスは、データを転送する方式によってパラレルバスとシリアルバスに分けられます。
パラレルは並列を意味し、複数の信号を同時に送受信します。
シリアルは直列を意味し、信号を1つずつ連続して送受信します。
かつては複数の信号を一回で送れるパラレルバスが高速と認識されていました。
しかし、高速化を突き進めていくにつれて、信号間のタイミングを取ることが難しくなりました。
現在は、シリアルバスで高速化を行うのが主流になっています。
入出力制御方式
バスでの接続のようにコンピュータは様々な機器とデータのやりとりを行います。
この時の入出力を制御するやり方を入出力制御方式と言います。
基本的には、CPUが中心となってデータの転送を行います。
以下、単純なプログラム制御方式をいくつかみてみます。
プログラム制御方式
入出力装置からメモリへのデータ転送をCPUが直接制御する方式です。直接制御方式とも言います。
データの伝送は随時CPUのレジスタを経由して行われます。
DMA制御方式
入出力装置からメモリへのデータ転送をCPUを介さずに行う制御方式です。
DMAは、Direct Memory Accessの略です。
DMAコントローラが制御を行います。
そのDMAコントローラとは、直接メモリへとアクセスするためのコントローラです。
この方式では、専用のDMAコントローラがメモリと入出力装置間のデータ転送を行います。
CPUがDMAコントローラに制御信号を送ります。
それを受け、以後のデータ転送はDMAコントローラが代行します。
全ての転送が完了したら、DMAコントローラが終了をCPUに通知します。
チャネル制御方式
DMA制御方式をさらに拡張した方式になります。
入出力制御用のCPUなどを備えたチャネルという専門装置がメモリと入出力装置間のデータ転送を自律的に行います。
チャネルがデータ転送を行なっている間に、CPUが他のバスを使用しても競合が起きないのが特徴です。
今回の一言・・・
データ転送と言っても様々な方式があるのがわかりました。
今回はここまで。
では、また次回。