ストリード
「コアチップ」仮
CPUの概念自身がかなり息詰まっている訳だが、ちょっと思い付きとか色々あって提案っぽい感じ。CPUの命令セットの設計はプログラマーに任せたらどうか?
2010/12/20
森宮 照
プロデューサーシート
タイトル「コアチップ」仮
概略 CPUを創り出すCPU
コンセプト「最少の命令で最高の性能を」
ハード的テーマ「自分で創るCPU」肯定否定
ユーザーがCPUを自分で創れる構造の、CPUの原形CPU。もちろん基本命令セットはあるのだがそのままではCPUとは言えず、それを組み合わせて創る。
ソフト的テーマ「何でも出来る」否定肯定
CPUの置かれる環境とか開発能力などにも因るが、可能性としては要求される如何なる事態にも対処しうる可能性をソフトウェアのみで実現する仕様。
目的 ユーザーが自分でCPU命令セットを創れるCPUを創る
それはない 売れない
ディレクターノート
テーマ
表「プログラムにより創り出すCPU」肯定否定
ユーザー側で自分でCPUを構築できるCPUの外枠。
裏「万能性の追求」否定肯定
概略
CPUの原形。CPUの外枠だけがあり、メモリからプログラムをロードして、それによりCPUをソフトウェアにより構築する。
基本構造
通常のCPUにキャッシュメモリ、外部メモリとの接点、後は最小限の命令セット。
駆動。
電源投入、プログラムカウンタリセット。各アキュームレータリセット。
接続された外部メモリの、0番から内部メモリ分のデータを自動的にロード。
それにより、CPUを形成する。
少なくともビット操作は必要。テーブル参照も可能にせねば成らない。
テーブル参照を基本機能にしてしまう。
ともかく8ビットのアキュームレータ持ち。
ジャンプレジスタを1つ持っている。
キャッシュメモリを持っていて。”その中に”CPUを創り出す仕様。
キャッシュメモリの使用法等々はプログラムにより決まる。
内部アドレスの適当な場所がスイッチに成っていて、それにアキュームレータでデータを書き込む事で何らかの駆動が起こる。外部メモリから内部メモリ(キャッシュメモリ)にデータをロードするのはその駆動による。
基本命令セット
ADR XXh 内部アドレスを指定する。
LD アキュームレータに内部アドレスからロード。8ビット
BONA 操作ビットAをONにする。A〜Hまでの8ビット
BOFB 操作ビットBをオフにする。
TBL XXh テーブルアドレス設定
TLDA アキュームレータでテーブル参照し、アキュームレータに入れる
TJMP アキュームレータが示すテーブル先をプログラムカウンタにする
CPY XXh アドレスのデータを指定の内部アドレスへコピー
SET XXh アキュームレータの情報を指定の内部アドレスへコピー
用途
ADR #SetA
LD
TBL #JUMPt
TJMP
#SetA
2
#JUMPt
#NextP、1243h、1254h。
#NextP
SETAの内容をロードし、それをテーブルにしてジャンプする。
と言う物を積み上げて、CPUを実現する。
end