Subsections

2 シミュレーター

2.1 シミュレーターの紹介

フリーウェアーのシミュレーターを紹介しておく.Windowsで動作するので,ダウンロー ドして学習に役立てると良いだろう.情報教育ルームのパソコンにも,インストールされ ているので,課題等に使うと便利である.

私は,以下のシミュレーターを使ったことがある.いずれも良くできたシミュレーターな ので,使ってみると良いだろう.実際,シミュレーターが無いと,CASL IIの学習は大変 である.私の場合,試験問題やプログラムの検証には,これらのシミュレーターを用いて おり,道具として使っている.

Infocasl
教科書のp.187以降に説明がある.シンプルで使いやすいシミュレーターである.
URL
http://www.rs.kagu.tus.ac.jp/~infoserv/j-siken/infocasl/

WCASL-II
ハードウェアー,COMET IIの動作のシミュレートでき,コンピューターの動作が良くわか る.このシミュレーターを本日の授業で使用する.
URL
http://www.ics.teikyo-u.ac.jp/wcasl2/

2.2 WCASL-II

本日の講義では,WCASL-IIを紹介する.これは,以下のURLにあり,実行ファイルをダウ ンロードできる.さらに,非常に優れたマニュアル等があり,自習ができるようになって いる.
http://www.ics.teikyo-u.ac.jp/wcasl2/

1のプログラムを書いて,COMET IIシミュレーターを実行させると図 2の画面になる.これがCOMET IIのブロック図です.通常のコンピューター のCPUとメモリ(主記憶装置)とほとんど同じです.ただし,現在使われているCPUの機能よ りは,かなり単純化されています.その分,コンピューターの本質を学ぶには良いでしょ う.

このシミュレーターで使われているレジスタを表1にまとめる.ただ し,COMET IIの仕様(教科書P207〜)に無いものもある.なぜなら,アセ ンブラ言語の仕様にはなくても差し支えないが,実際のハードウェアーを構成 する場合,必要不可欠なものがあるからである.COMET IIの仕様になくて,WCASL IIにあ るものは,表1の中で

IR MAR MDR

である.これらの3個のレジスタは,皆さんがアセンブラ CASL IIを記述する場 合は,気にする必要はない.

また,レジスタ以外のモジュールを表2に書いておく.これらのモジュール も,COMET IIやCASL IIの仕様には書かれていない.したがって,アセンブ ラ言語を記述する場合,これらを考える必要はないが,コンピューターの仕組み上,必須 のものである.したがって,必要不可欠なハードウェアーとして,シミュレーターには, 備え付けられている.


表 1: WCASL-IIのレジスター
記号 語源  日本語  機能
GR General Register 汎用レジスター  計算などに用いる
SP Stack Pointer スタックポインター スタック領域の最上段 のアドレスを保持
FR Flag Register フラグレジスター 演算結果の状態を示す
IR Instruction Register 命令レジスタ 命令そのものを格納
MAR Memory Address Register メモリアドレスレジスター メ モリを読み書きする際に,アクセスするアドレスを格納
MDR Memory Data Register メモリデータレジスタ メモリとの データのやり取りをする際のデータを格納
     


表 2: WCASL-IIのレジスター以外のモジュール
記号 語源  日本語  機能
ALU Arithmetic and Logical Unit 演算装置 算術演算と論 理演算他を実施
Decoder   命令解読器 命令を解読するモジュール
Controler   制御装置 命令の実行のための制御を行うモジュール
Bus   バス レジスタやALUなどの間をデータが通る線
Adder   アドレス加算器 命令のアドレス部とインデックスレジスタの内容 から有効アドレスを求める加算器
Memory   記憶装置 プログラムやデータを記憶しておく場所
     

図 1: WCASL-IIのプログラム記述画面
\includegraphics[keepaspectratio, scale=1.0]{figure/PROGRAM.eps}
図 2: WCASL-IIでCOMET IIのシミュレート
\includegraphics[keepaspectratio, scale=1.0]{figure/COMET.eps}
図 3: WCASL-IIでCASL IIのシミュレート
\includegraphics[keepaspectratio, scale=1.0]{figure/CASL.eps}

ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
2005-12-09


no counter