まったり アイマス2

アイドルマスター2 超ライトユーザーのプレイ日記

3456. 原理から作る現代計算機、続き

2021年07月11日 | 日記

 PS5のシステムプログラムの更新があって、とある私が大好きな、どマイナーなPS4のインディゲーム(CounterSpy: 対諜報斥候)の動作が改善されているので、私的にはとても感動しました。ありがとうございます、ソニー様。

 コンピュータの部品と言えば、私の年代の者にはAMDの4ビットスライス機、am2901を想起させます。こちらも前項の74181と同様に現実のコンピュータに使われました。そのままだと4bit機で、普通は横に接続して16bit機などを構成します。スライス(薄切りの一片)の意味です。

 で、そのam2901の仕様書はネットで簡単に手に入ります。前項の簡易CPUと比べると面白いです。つまり、ALUがメインなのはそのままで、途中計算レジスタとして16アドレス4bitのRAMが内蔵。加えて、Qレジスタと呼ばれる乗算・除算用の4bitレジスタ。そのRAMとQレジスタの直前にいわゆるシフト機構が配置されていて、両者がいわゆるシフトレジスタになります。
 本書の原理的CPUは16アドレスでは無く1アドレスの3レジスタのみで、その代わりに1レジスタがメモリの間接レジスタになっています。C言語だとポインタ、BASICやFORTRANだと配列の添字(インデックスレジスタ)に相当します。
 am2901でメモリの間接指定はどうするのかと言うと、外部に物理的レジスタを用意します。つまりam2901はマイクロプログラムに徹しています。
 対して、本書のコアCPUにはRAMが32Kワード(64KB)もあって、まあ確かにCPUとは言えると思います。

 普通の電卓とコンピュータの違いは、間接指定、つまりポインタか配列が使えることです。でないとデータの数だけ別の命令が必要となってしまいます。繰り返しの1命令で別のデータの処理をするのなら、命令を修飾する仕掛けが必要となります。

 フォン・ノイマンマシンという言葉があって、電子計算機のプログラム内蔵方式、つまりメモリ上に命令列を内蔵する形式の電子計算機を指す言葉です。フォン・ノイマンマシンでないコンピュータは、現在では逐次実行で無い並列マシンを指します。しかし、コンピュータの原点とされるENIACは物理的配線でプログラムを組んでいました。
 今で言うとモジュール型ミュージック・シンセサイザーの音作りみたいな感じ、と言えばかろうじて通じるかも。

 フォン・ノイマンマシン、つまりプログラム内蔵方式と言うとき、私の解釈ではプログラムが自分のプログラムを変更してしまうのがミソだと思っています。これは冗談では無く、初期のパソコンでは実際にやっていたみたいです。
 もちろん、任意に命令列のビットを変更してしまうとナンセンスコードになってたちまち暴走してしまう…、はずです。ですから命令置き換えは慎重に遂行しないといけません。
 しかし当然ながら、こんな調子では実用プログラムなど怖くて組めたものではありませんから、ある程度のガードを設ける必要があり、その結果がメモリ間接指定(ポインタ)といわゆるインデックス、つまり配列の添字です。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 3455. 原理から作る現代計算機 | トップ | 3457. 原理から作る現代計算... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

日記」カテゴリの最新記事