Last Updated: 2022.05.16
長年公開されてきました
ISIT (九州先端科学技術研究所)
の教育用計算機シミュレータのページは,閉鎖となりました.
今後は,大学の機関リポジトリでの公開にしてもらう予定です.
また,JavaアプレットおよびJavaアプリについては,ダウンロード可能にしています.
[NOTICE]
2017年以降,Javaアプレットが非推奨となり,新しいWebブラウザ内では
実行できなくなりました.
このため,同じ機能を持つJavaアプリ
kueSym.jar
(国際版)を公開しております.ダウンロードし,ご利用下さい.
また,Javaの実行環境がないという個人ユーザ向けには,Oracle が JRE
のちょっと前のバージョンを無償公開してくれています.公式サイトの
「無料Javaのダウンロード」からどうぞ.
教育用計算機シミュレータ ( CPUシミュレータ)
Educational Computer Simulator ( CPU simulator )
ここで紹介する計算機シミュレータは、1999年のISITとIPAとの
プロジェクトの中で開発された計算機原理教育用の計算機シミュレータ
( 模型計算機シミュレータ ) の拡張版として、
新たに設計・開発されたJAVAプログラムです。
現在の情報化社会を支えているコンピュータのしくみと働きが、
中学生にも直感的に分かるような簡単な構成になっています。
また、平成11年に改訂された高校学習指導要領の中の
「情報B:コンピュータにおける情報の処理」の単元にも使用可能なものと
して設計されています。
同時に、計算機工学に必須の高度な概念もこのシミュレータには
含まれており、大学等の高等教育でも十分に利用可能なレベルのものになっています。
(というか、大学教育での利用の方が最も多いようです。現在、20大学くらい。)
This is a simple CPU simulator written in JAVA and can be used in
computer education for junior high school students.
It shows how a computer works in an easy and interactive way.
Moreover, this simulator can control a radio-controlled toy car.
[NEW]
CPUシミュレータの動画
を公開 (2022/05/16)

日本語版
English version
図. 計算機シミュレータ外観(クリックすると拡大します)
Snapshot of the CPU Simulator ( clicked to enlarge)
このシミュレータは、CPU、メモリ、プログラム、データ、
足し算引き算、番地 (アドレス) の6つの単語のだいたいの意味を
知っていれば操作できる、とても簡単な構成になっています。
小中学生にとっての唯一の疑問は、「なぜ番地が 0から始まるの?」という
ところくらいでしょう。
一方、以下にキーワードを示しているように、
大学等で実施されている計算機工学の講義で出てくる高度な概念も、
このシミュレータには含まれており、高等教育への連続性も十分
考慮されて設計されています。
本シミュレータに現われる、計算機工学に関連するキーワード ( keywords):
(wikipediaを引用していますが、正誤については、ご自分で判断して下さい。)
参考:
更新履歴 ( History): (ISIT-IPA版計算機シミュレータからの変更)
- 動作速度 ( クロック) を可変とし、コンピュータの動作を確認し易くしました。
また、1行実行の他に、任意のタイミングで、実行、停止ができるようにしました。
- 演算器 ( ALU:Arithmetic Logic Unit) の形状を変更し、二項演算が直感的に
理解できるようにしました。
- 条件分岐命令を、新たに付け加えました。
レジスタAがゼロ、非ゼロの場合により、
指定のアドレスに分岐します。これにより、繰り返しや
条件分岐といった制御命令を理解することが可能になります。
なお、分岐命令において、
条件分岐はブランチ命令 (Branch)、無条件分岐はジャンプ命令 (Jump) と
区別する流儀もありますが、ここでは、小中学生への分かりやすさのため、
ジャンプ (JUMP) に揃えています。
( 注意:後述のように、分岐条件を変更しました。)
- OUT命令を設置し、PCのパラレルポートを介して、データ出力ができるように
しました。これにより、単なるシミュレーションソフトではなく、
コンピュータによる外部機器 (ハードウェア) の制御を実施できます。
現在、このシミュレータから操作できる
ラジコンカーシステムも
提案しています。併わせてご覧下さい。
- プログラムカウンタ ( PC) の矢印が、時々見えなくなってしまう不具合を
修正しました。なお、ここでいう PC とは、プログラムメモリのアドレスを
指すメモリアドレスレジスタ ( MAR) に相当しています。
( 一般的には、PCとは、現在実行中のアドレスではなく、次に実行すべきアドレスを
保持するレジスタをいいます。ご注意下さい。)
- 制御装置内に、読み込まれた命令を表示するようにしました。
制御装置内の四角い箱が命令レジスタ IR 、
絵記号が文字に置き代わるところが命令デコーダ IDC に
相当しているつもりです。
- 条件分岐命令を修正しました。レジスタAが正とゼロ、それぞれの場合により、
指定のアドレスに分岐することにしました。これにより、掛け算、割り算の
プログラムを記述できるようになります。(2002/07/22)
- 減算時、 ALUからレジスタAへの転送途中の値が正しく表示されていなかった
ものを修正しました。(2002/07/22)
- 以上の変更に伴ない、表示ウインドウのサイズを、若干大きくしました。
- OUT命令を利用したラジコンカー制御実験への橋渡しとして、
豆電球の明滅実験プランを作成しました。
2003年8月に、これを用いた実験授業を行ない、好評を得ました。
この詳細については、間もなく、公開予定です。
(2003/08/02)
(ITクラフトマンシッププロジェクトの一環として公開しました
(2006/03))
- プログラムの「全クリア」だけでなく、「1行削除」も必要との意見により、
プログラムメモリを 0x00 にする NULL 命令を追加しました。シミュレータ画面では、
アイコンなしのただの白いボタンになっています。
また、プログラム実行時は、停止命令のように振舞います。
なお、普通のプログラムエディタのような、行削除後の上詰めの機能は、
あえて、入れていません。
(2003/08/15)
- JAVA 国際化 API に対応させました。コンピュータの地域設定が
英語圏の場合、メッセージ等が英語表示になります。なお、OSやブラウザが
対応している必要があります。(試験公開しています)
(2004/05/28)
- ITクラフトマンシッププロジェクト ( 経産省2005) のために、
いくつかマイナーチェンジを行ないました。また、OUT命令を利用した
外部機器制御のテキストを公開しました。
プログラムの公開:
参考文献 ( Bib.)
-
パターソン, ヘネシー(著) 成田(訳): コンピュータの構成と設計, 日経BP社,
1996.
-
ヘネシー, パターソン(著) 富田他(訳): コンピュータ・アーキテクチャ設計・実現・
評価の定量的アプローチ, 日経BP社, 1992.
-
神原他: KUE-CHIP2 リファレンスマニュアル, 京都高度技術研究所, 1994.
-
木室他:
"ラジコンカーを用いた計算機の動作原理教育
",
情報教育シンポジウムシリーズ, Vol.2002, No.12, pp.181-186, 2002
-
木室他:
"計算機シミュレータとラジコンカーを用いた計算機の動作原理教育",
メディア教育研究, Vol.3, No.1, 125--131, 2006.
-
木室他:
"簡易言語とファームウェア改造による移動ロボット制御授業",
電子情報通信学会教育工学研究会技術報告 Vol.106,
No.166, pp5-10 (ET2006-22),2006.
付録:
計算機シミュレータとラジコンカー制御 (CPU simulator and R/C toy car)
参考アクセス数:
問い合わせ先: