計算機アーキテクチャ前期中間
プログラム
第6回
メモリアクセス
プログラム内蔵型(Neumann 型)コンピュータの大原則
1. プログラム(命令の集合)はメモリに入れられる
2. MPU は命令を実行する
3. 原則として命令は順番に実行される
2022
1.
このへん絶対出ると思うsorutrt.icon
(1) プログラム内蔵型コンピュータの基本構成と動作原理を説明せよ。
https://scrapbox.io/files/684ad9dbd4f10074bc923672.png
プログラム内蔵型(Neumann 型)コンピュータの大原則
1. プログラム(命令の集合)はメモリに入れられる
2. MPU は命令を実行する
3. 原則として命令は順番に実行される
(2) この方式がそれ以前のコンピュータと比較して優れている点を述べよ。
ハードウェア部分を変更せずに、ソフトウェアを変更するだけで機能が変更できる点
(3) プログラム内蔵型コンピュータの欠点について説明せよ。
プログラムを読み込む際、命令をデータメモリに保存するメモリアクセスが
実行時間のボトルネックになっている点
(4) プログラム内蔵型コンピュータは、今日に至るまで驚異的な進歩を遂げてきた。この進歩の要因について考察せよ。
半導体技術の向上や、コンパイラの改善、生産コストの低下
---
2. 8bit 算術演算回路について答えよ。
https://scrapbox.io/files/684b067f40443995fb988712.png
https://scrapbox.io/files/684b00edb59d3ab3e2df9832.png
(1) 演算回路のF出力をA、B入力で表し演算機能を示せ。
AとBはベクトルの太字表記みたいな感じで書く。$ \mathbb{A \: B}
Bˉ$ \to \bar{\mathbb{B}} と読み替えてくださいませ。
https://scrapbox.io/files/684b0076b689f939f5024955.png
(2) この「変換回路」を4 to 1 MUX (Multiplexer) を使って論理設計せよ。
https://scrapbox.io/files/684b04cf606c56aa74889788.png
ただし、内部的には、MUX を 8 つ並べて、制御信号 s1,s0 は共通に接続して一度に 8bit を切り替えるようにしているものとする。
(3) メモリーレジスタ間転送に、LD命令とST命令を準備しているが、
これらの命令だけでは、実用的な
プログラム開発が難しいことを説明せよ、追加すべき機能について述べよ。
ST 命令がメモリ直接アドレッシング(命令中に対象アドレスを直接指定する)しか持ってい
ないため、繰り返し処理ができない。
数値アドレスの代わりに、アドレス変数を介して、アクセスできる機能を追加するべき。
(4) 次の命令を追加したい、アドレッシングモードを答えよ。また、機械語命令を設計せよ。
LD reg, n reg <= n  即値アドレッシング
https://scrapbox.io/files/684b0b506310966b3ed33e49.png
3. 下の図は8ビットデータに対するローテート回路を示したものである。タイムチャートを完成させよ、タイムチャートは出力の値と変化の位置が分かるように記入すること。
---
4.
前提知識としてhill_san.icon
MAR:Memory Address Register
MPU 外部にアドレスを出力するレジスタ
大きさ:アドレスバスの bit 数 12bit
D:Data Register
データバスからデータを入力するレジスタ
大きさ:MPU のワード長 8bit
PC:Program Counter
実行中の命令をポイントするカウンタ
大きさ:アドレスバスの bit 数 12bit
IR:Instruction Register
読込んだ命令を保持するレジスタ
大きさ:データバスの bit 数 8bit
(1) MAR レジスタのbit 長を12bit にした、このとき、メモリアドレスの最小値と最大値を16進数で求めよ、また、このときのメモリ空間の大きさを10進 word単位で求めよ。
メモリアドレスの最小値
0x000
最大値
0xFFF
メモリ空間の大きさ
$ 2^{12} = 4096[\text{word}]
(2) 状態遷移図より各レジスタの機能として適切なものを選べ。
MAR : ロード機能付きレジスタ
D : ロード機能付きレジスタ
PC : イネーブル機能付きカウンタ
IR : ロード機能付きレジスタ
(3) (命令の第1バイト目の読み込み動作を示している)状態1に適切なレジスタ・トランスファ記述を示せ
(4) 状態 0,1,2における各レジスタの動作を選択肢から選べ、
(5) 状態 0,1,2の動作を順次実現するように各レジスタの制御信号を与えよ。これらの制御信号は CLOCK 信号に同期してMPUの制御部から出力される。
(6) 次のタイミングを上のタイムチャート中に指定された記号で記入せよ。 アドレスがメモリに出力されるタイミング
問題5. 次の命令を持つコンピュータについて以下の問いに答えよ。
(1) 以下の命令のアドレッシングモードを答えよ。
ADD reg, reg' reg ← reg + reg' レジスタアドレッシング
LD(adrs) A ← M[adrs]メモリ直接アドレッシング
(2) ADD 命令とLD命令の実行時間を比較せよ、実行時間が異なる理由を述べよ。
速度:ADD命令 < LD命令
ADD命令
オペランドがすでにCPU内部のレジスタに存在するため、外部メモリへのアクセスが不要。
LD命令
データの取得元がメモリであるため、CPU内部の処理に加えて、外部メモリへのアクセスが必要になる。
CPUの動作速度(クロック周波数)に比べて、メモリのアクセス速度は格段に遅い。