[PP0906] 01. 擬似プロセッサ PP0906 の仕様

擬似プロセッサ PP0906 を作るにあたって、はじめにどんなプロセッサなのか、その仕様を決めなければなりません。今回は、C 言語の入門者でも理解できることを目指すため、ちょっと不自然な設計になる部分もありますが、ベテランの方はどうか目をつぶってください。

PP0906 は、1 ワード = 32 ビットのワードマシンとします。アドレス空間は 64K ワードということにしましょう。レジスタとして、PC(プログラムカウンタ)、SP(スタックポインタ)、A(アキュムレータ)、および X(インデックスレジスタ)を持ちます。フラグレジスタは実装が面倒なので存在しません。

命令は 1 ワードまたは 2 ワードの可変長とします。命令の 2 ワード目は常にオペランド用で、イミディエイト値(即値)またはアドレス値が指定されることになります。命令セットは追々紹介していくことにします。一点だけ特記しておくべきことは、擬似プロセッサなのでプログラムを終了させる必要がありますので、命令に -1 が現れた場合は終了ということにしたいと思います。

擬似プロセッサですので、電気的な仕様は決める必要がありません。もちろん、機械的な仕様(パッケージのサイズや形状など)も決める必要がありません。理解しやすくするため、キャッシュや MMU などはありません。アドレスデコーダもなく、アドレス空間いっぱいにメモリが存在するものとします。クロックに同期させて動かすのも面倒なのでやめます。結果としてパイプラインもありません。

大体こんな感じにしたいと思います。今回はアドレッシングモード(アドレス指定方式)を含めた命令セットを紹介できませんでしたが、後ほどその話はしたいと思いますので、どうぞご期待ください。

この記事のトラックバックURL:

http://www.kijineko.co.jp/trackback/515
このエントリーを含むはてなブックマーク