お使いメモ レジスタ
お使いを頼まれた時はメモまたは伝言が用意される。
Aと言う店でBと言う商品を買ってこいと言われる。
このように単純なお使いでも暗黙の条件があることを意識しなければならない。
これをコンピュータに命令するときは
Aと言う命令をした場合、それを行う前に準備をする必要がある。
つまりAと言う命令には手順がB,C,D...があり、それらをしてAを行う。
それら手順を覚えておくためにレジスタ
というCPUの中にある記憶装置がある。
このレジスタで手順や実行を記憶しておく。
お使いの時のメモの役割がレジスタだ。
レジスタとは(記憶するもの/記憶された情報)
取り出した命令の情報」や「次はどの命令を取り出せばよいかの情報」を覚えておく必要があります。
レジスタの種類とそれぞれの役割
気づき
アドレス指定方法の違いだろうか?
プログラムカウンタ
実行するべき命令が入っているアドレスを記憶する
命令レジスタ
取り出した命令を一時的に記憶する
インデックス(指標)レジスタ
アドレス修飾に用いるためのレジスタで、連続したデータの取り出しに使うための増幅値を保持する。
気づき
- 等間隔のデータを取り出すために保持するのか。
- 配列は等間隔にすることによって配列であることを示しているのかもしれない。
どうせならメモリの中で連続にすればいいのかもしれないと思ったが、それはコンピュータの性格上何かあるのだろう。
簡単な命令でいろいろ手順があるのだからそれと関係していそうだ。
今回は足を踏み入れすぎた。
疑問 連続したデータとは?
連続したデータの取り出しに使う増分値を記憶しておくものであり、配列など等間隔で連続して置かれた複数のデータに順番にアクセスする際に使用します。
出典 https://medium-company.com/%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF/
疑問 アドレス修飾(実行アドレスを決定する)
機械語命令の演算数(オペランド)にあるアドレス情報を利用して、実行するべき命令の対象となるデータアドレスを決定する
ことである。
ちなみに、アドレス修飾の際、対象となるアドレスを計算する方式のことが、アドレス修飾方式
と呼ばれる。
出典 https://japan.zdnet.com/glossary/exp/%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E4%BF%AE%E9%A3%BE/?s=4#:~:text=%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E4%BF%AE%E9%A3%BE%E3%81%A8%E3%81%AF%E3%80%81%E6%A9%9F%E6%A2%B0,%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E4%BF%AE%E9%A3%BE%E6%96%B9%E5%BC%8F%E3%81%A8%E5%91%BC%E3%81%B0%E3%82%8C%E3%82%8B%E3%80%82
気づき
説明の言葉の意味がわからない。
今後も出てくると思われるのでしっかり理解することが重要だと思う。
インデックスレジスタに関して説明があった。
インデックスレジスタ
アドレス指定方式
の一種であるインデックスアドレス指定方式(指標アドレス指定方式)
で使用するレジスタです。
アドレス指定方式
CPUが命令を実行する際、対象となるデータの在りかを指定
する方法
CPUが実行する命令は下記の図のように「命令部」
と「オペランド部」
に分かれています。
対象データの在りかを示すオペランド部
にはさまざまな指定方法
があります。
インデックスアドレス指定方式(指標アドレス指定方式)
オペランド部にインデックスレジスタと値が入り、オペランド部の値にインデックスレジスタの値を加算する
ことで、実効アドレスを求める方式です。
実行アドレス
等間隔で実行アドレスを取得するためのものなのか。
ベースレジスタ
プログラムの先頭アドレスを保持
する。
アキュムレータ
演算の対象となる数
や、演算結果
を記憶する
汎用レジスタ
特に機能を限定していないレジスタ。
一時的な値の保持や、アキュムレータなどの代用に使ったりする。
CPUの中身
演算装置
- 汎用トランジスタ
- ALU(算術論理演算装置)
制御装置
- 命令レジスタ
- プログラムカウンタ
- 命令デコーダ
気づき
CPUの中はいろいろな装置が付けられてるんだな。
出典 キタミ式イラストIT塾 基本情報技術者 令和03年