Download presentation
Presentation is loading. Please wait.
1
コンピュータアーキテクチャ 第 5 回
2
サブルーチン プログラムのある機能ブロックを分割統治する 利点 書式 必要に応じて呼び出す プログラムの 全体の 設計・検証・保守の容易化
同じプログラムブロックを何度も書かなくてすむ 書式 呼び出し側プログラムと同様 サブルーチン名:START 命令の前のラベル 設計・検証・保守の容易化 * プログラムサイズをコンパクト化 *
3
コール,リターン命令 CALL adr, x ・・・ (CALL subroutine)
RET ・・・ (RETurn from subroutine) CALL 命令: プログラムレジスタ PR へ実効アドレス値を格納 実効アドレス ⇒ サブルーチンの先頭番地 サブルーチンの実行が終了したときの戻り番地を確保 RET 命令: PR へ戻り番地を格納 サブルーチンへ制御を移す * 呼び出しプログラムへ制御を戻す *
4
サブルーチン命令におけるスタック操作 呼び出しプログラムの戻り番地の記憶場所は? ⇒ スタックへプッシュダウン
サブルーチンから別のサブルーチンが呼ばれたときの 戻り番地の記憶場所は? CALL 命令で呼び出しプログラムの戻り番地を自動格納 RET 命令で呼び出しプログラムの戻り番地を自動取出し SP (スタックポインタ)も自動更新 スタックへプッシュダウン * スタックへさらに積み上げ(プッシュダウン) *
5
ユークリッドの互除法 ~プログラム 11 のアルゴリズム~
*
6
メインプログラム GCD (CaslBuilder に対応して ラベル LOOP*, QUIT* を変更)
7
サブルーチン EUCLID, MOD (ラベル LOOP*, QUIT* を変更)
8
プログラム 11 の処理の流れ (a) * * *
9
プログラム 11 の処理の流れ (b) * * * *
10
プログラム 11 の処理の流れ (c) * * * *
11
プログラム 11 の処理の流れ (d) * * * *
12
演習問題 5.1 割り算 5÷2, 11÷3, 100÷7, 1000÷33, 20000÷100 を実行し,それぞれの商をラベル DIV ではじまるメモリ領域に,それぞれの余りをラベル MOD ではじまるメモリ領域に格納するプログラム DIVRPT を記述せよ.ただし,サブルーチン命令を使うこと.さらに,このプログラムをハンドアセンブルせよ. 演習問題 5.2 COMETⅡの38個の命令を,2ワード命令と1ワード命令,およびメモリ・レジスタ間命令とレジスタ間命令の視点から分類せよ.
13
アーキテクチャについての視点 2 章:機械語(アセンブリ)プログラマの視点 3 章/ 4 章:コンピュータ設計者の視点
COMETⅡの機械語とアセンブリ言語の仕様 想定されるハードウェアのモデル 汎用レジスタ メモリ プログラムレジスタ スタックポインタ フラグレジスタ 3 章/ 4 章:コンピュータ設計者の視点 機械語プログラマからは見えないハードウェアもあり それぞれの * は何か? どのような * で動作するのか? どのように * するのか? 演算部と制御部に区分 機能 タイミング 実装
14
コンピュータ設計者が見るハードウェア 算術論理演算ユニット (ALU: arithmetic logic unit)
...算術演算,論理演算 シフタ (shifter) ...シフト演算 命令レジスタ (IR: instruction register) ... * を格納 命令解読装置(デコーダ) ...命令レジスタの命令を * 制御信号生成回路 ...演算部やメモリに * や動作の * をあたえる メモリアドレスレジスタ (MAR: memory address register) ...メモリの * を格納 メモリデータレジスタ (MDR: memory data register) ...メモリとのデータのやり取りのための * として機能 データ選択/転送回路 ...レジスタ選択回路や * など 機械語命令を表すビット列 解読 機能選択信号 タイミング アクセスアドレス バッファ(buffer) バス(bus)
15
コンピュータ設計者が見るハードウェア 命令の実行例: ADDA GR1,#1000 *
16
3 章/ 4 章の目的 3 章: 演算部の基本的な構成と動作原理および 設計の概要について知る. 4 章: 制御部の動作と設計の概要を知る.
演算部 = * ALU, シフタ, レジスタ, データ転送路からなる COMETⅡを想定 各部の実装方法 メモリへのアクセス方法 データの転送方式と制御 4 章: 制御部の動作と設計の概要を知る. 制御部 = * 命令デコーダ,制御信号生成回路からなる データパス(data path, データの通り路) コントローラ(controller)
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.