自作CPU入門2:部品どうしをつなぐ「バス」
CPU,メモリ,I/Oが共有する会話用通信路
細切れにされたデータが転送される
![]() |
---|
図1 CPU,メモリ,I/Oは,相互にデータをやり取りするために同じ通信路を共有し,同時に1つの通信しか発生しないようにルールを決めて利用する.この通信路を「バス」と呼ぶ.通信路で一度に送れるデータ量は,32ビットまたは64ビットのとても小さなものなので,動画や文書などの大きなデータは,細分化して少しずつ転送する.画像クリックで動画を見る.または記事を読む |
部品どうしをつなぐ「バス」とは
CPU,メモリ,I/Oは相互にデータをやり取りするために「バス」と呼ばれる通信路を使用します.バスは複数の部品が同じ通信路を共有し,同時に1つの通信しか発生しないようにルールを決めて利用します.これにより,効率的にデータを送受信することが可能になります.
バスのデータ幅は32ビットや64ビットのように決められており,これにより一度に送れるデータ量が決まります.動画や文書のような大きなデータは,細分化して少しずつ転送されます.たとえば,4GBの動画データ(約32Gビット)を32ビットずつ転送する場合,10億回以上の転送が必要です.CPUはこのような膨大なデータ転送を正確に管理し,メモリやI/Oと連携して処理を行います.
CPUのデータ転送のしくみ
CPUはバスを介してデータをやり取りします.たとえば,CPUがHDDからメモリへデータを送る場合,以下のような手順で進みます.
- CPUがHDDに「32ビットのデータを1つメモリに送れ」と指示を出す
- HDDは32ビットのデータをメモリに送る
- メモリはデータを受け取る
- HDDは次の32ビットのデータをメモリに送る
- この処理を何億回も繰り返す
4GBの動画データを転送する場合,10億回以上のやり取りが必要です.CPUはこれを高速に繰り返し,データの流れを管理しています.
「バス」の役割
「バス」は,CPU,メモリ,I/Oをつなぐ通信路であり,データの流れを管理する重要な役割を担っています.バスにはいくつかの種類があり,代表的なものとして以下が挙げられます.
- データ・バス:CPUとメモリ,I/O間でデータを転送するためのバス
- アドレス・バス:メモリやI/Oのどの部分と通信するかを指定するためのバス
- 制御バス:データ転送のタイミングや命令を制御するためのバス
バスのデータ幅が大きくなると,一度に送れるデータ量が増え,処理速度が向上します.現在のコンピュータでは,より広いデータ幅をもつバスが採用され,高速な処理が可能になっています.〈著:ZEPマガジン〉
チャプタ・リスト
- 0:48 今回の内容
- 2:02 前回 簡略化して説明した点①
- 4:45 前回 簡略化して説明した点②
- 5:53 バスで注意が要ること①
- 7:35 バスで注意が要ること②
- 8:38 バスで注意が要ること③
- 10:14 おまけ:自作CPU派に!お勧め開発キット
- 11:55 次回予告
動画講師(森岡 澄夫)紹介
- NTT,IBM,Sony,NECの各研究所において高性能回路IPやハイレベル・シンセシスの研究,およびプレイステーションなどの製品用SoC開発に従事した後,現職にて民間宇宙ロケットの飛行制御コンピュータの研究開発に従事.FPGAや高位合成を活用している
著書(森岡 澄夫)
- [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編&実践編】,ZEPエンジニアリング株式会社.
- [VOD/KIT]Xilinx製FPGAで始めるHDL回路設計入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】,ZEPエンジニアリング株式会社.
- [VOD/KIT]Zynqで初めてのFPGA×Linux I/O搭載カスタムSoC製作,ZEPエンジニアリング株式会社.
- [VOD/KIT]Tiny FPGA実習!高校生から始めるHDLプログラミング,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]カメラ×ラズパイで一緒に!初めての画像処理プログラミング,ZEPエンジニアリング株式会社.
- スパコンでも破れない!高セキュリティ・マイコン・プログラミング,ZEPエンジニアリング株式会社.
- [YouTube]宇宙軌道ロケット 成功の方程式
- [YouTube]宇宙ロケットの電子回路開発
- FPGA/Zynqで作るカスタム・コンピュータ・チップ,ZEPエンジニアリング株式会社.
- Lチカ入門!ソフトウェア屋のためのHDL事はじめ,ZEPエンジニアリング株式会社.
- USBカメラの動画キャプチャ&描画用 Pythonプログラム,ZEPエンジニアリング株式会社.
- ライブラリ完備!組立式ラズパイI/O増設ボード MCC DAQ HATSファミリ誕生,ZEPエンジニアリング株式会社.
参考文献
- [VOD/KIT] 実習キットで一緒に作る!オープンソースCPU RISC-V入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]ARM Cortex-A9&FPGA内蔵SoC Zynqで初体験!オリジナル・プロセッサ開発入門,ZEPエンジニアリング株式会社.