自作CPU入門3:メモリマップとアドレス
メモリのアクセス先「アドレス」
CPUは番地を利用してデータにアクセスする
![]() |
---|
図1 CPUは,メモリマップを利用して,メモリやI/Oの位置をアドレスで指定し,正しくデータ送受信を実現する.画像クリックで動画を見る.または記事を読む |
AIやロボットが動作する際の「頭脳」にあたる部分はCPU(中央処理装置)です.情報処理の中心であるCPUは,「アドレス」を使って,「メモリ」や「I/O(入出力装置)」とデータをやり取りします.
メモリマップとは
メモリマップとは,CPUがデータのやり取りをする際に,各装置の場所を番号(アドレス)で指定するしくみです.CPU,メモリ,I/Oは「バス」という通信線を通じてつながっています.バスは1本の線を複数の装置が共有します.CPUがデータを送るとき,誰が受け取るのかを判別するために,各装置に固有のアドレスが割り当てられています.
以下のようにアドレスを割り当てることで,データのやり取りが可能になります.
- メモリ:0?99番地
- ハード・ディスク:100番地
- ディスプレイ:200番地
CPUはデータのやり取りをする際,あらかじめ相手のアドレスを指定します.これにより,確実に目的の装置へデータが届くしくみです.
アドレッシング技術
アドレスの割り当ては,単純に1つのアドレスだけで指定する方法だけでなく,2段階の指定方法もあります.これにより,ハード・ディスクの交換時でもCPUから見たアドレスが変わらないようにできます.たとえば,
- CPUは「100番地」と指定
- ハード・ディスク内の「5000番地」と指定
この2段階の指定により,ハード・ディスクを交換しても「100番地」としての指定は変わらず,管理が容易になります.この方法を「アドレッシング」と呼びます.
AIやロボットの制御では「アドレス」という概念が重要です.アドレスはデータの置き場所を表す数字であり,デバイスやメモリの区画ごとに一意の番号が割り当てられます.
- CPUはアドレスを指定してデータの読み書きを行う
- 複数のデバイスが同一アドレスを使用すると,正しく動作しない
- アドレスの重複を避けるため,各装置には固有の番号が割り当てられる
- アドレッシング技術により,ハード・ディスクの交換後でも同一アドレスでの管理が可能
アドレスは単なる数字ですが,AIやロボットにとっては「どこに何があるのか」を知るための重要な手がかりです.これにより,効率的かつ正確なデータ処理が実現します.〈著:ZEPマガジン〉
チャプタ・リスト
- 0:53 今回の内容
- 1:44 アドレスを使って読み書き
- 3:32 I/Oにもアドレスがある?
- 4:17 素直にアドレスを振ると不便
- 5:07 I/Oでよく使われる方法①
- 6:10 バスで注意が要ること②
- 7:35 メモリマップ
- 8:18 マイコンのLチカの例
- 13:08 ソフトを置くアドレス
- 14:02 ソフトの“ロード”
- 14:47 おまけ:自作CPU派に!お勧め開発キット
- 15:11 次回予告
著者紹介
- 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エンジニアリング株式会社.