IC・トランジスタで出来たコンピューターを設計・製作するためのブログ
| Jeans & Development | 電子ブロック工房 | 三日坊主 | フロントページ |
シミュレータ [シミュレーション]
2007年6月17日
新しいニーモニック表にしたがって作成した、シミュレータ。正確には、このシミュレータを書いていく上で、新しいニーモニック表が出来上がったのだけれど。
ニーモニック表 [CPU]
2007年6月17日
ニーモニック表を少し書き換えた。まず、Zレジスタという名前がZeroフラグと似ていて紛らわしいので、Xレジスタとした。また、一部順序を変えて、回路がより簡潔になるようにした。
Apple I Replica Creation [一般的なこと]
2007年6月14日
手作りコンピュータのシミュレータ [シミュレーション]
2007年6月11日
いよいよ、手作りのコンピューターをシミュレートするプログラムの製作を開始した。このプログラムが完成すれば、設計図の製作に取りかかれる。
7905とは? [一般的なこと]
2007年6月10日
この週末は、Sacramento の HSC Electronic Supplyに行ってきた。Fry's の店員さんに教わった、電子部品の店である。入ってみて、感動!あの、懐かしい、大阪日本橋のジャンク屋の雰囲気そのまま!
特に買い物リストもなかったので、とりあえず店内をぐるっと一回りして、どんな部品が仕入れられるかだけ見ておいた。店員さんも、見たところ強者揃いのようである(むろん、客も)。
特に買い物リストもなかったので、とりあえず店内をぐるっと一回りして、どんな部品が仕入れられるかだけ見ておいた。店員さんも、見たところ強者揃いのようである(むろん、客も)。
工房の拡張 [一般的なこと]
2007年6月7日
この週末は、少し日曜大工。コンピューターを制作している部屋のクローゼットを改造し、棚を付けた。この棚はこれから、コンピューター関連の部品だの、工具だの、そういったものがギッシリ詰まることになる。


CPUのスペック案2 [CPU]
2007年4月30日
モトローラ型で設計すると、手作りのCPUとしては現実的な構造になることが分かった。
メモリ空間は、1ワード8ビットでアドレス16ビットの、合計65536バイト。
レジスタはすべて8ビット:
A1レジスタ 演算用
A2レジスタ 演算用
B1レジスタ メモリアクセス用
B2レジスタ スタック用
Z レジスタ 各種代入・演算結果保持・ジャンプ用
IPレジスタ 実行位置
CSレジスタ 実行セグメント指定
DSレジスタ データセグメント指定
SSレジスタ スタックセグメント指定
フラグ(FLレジスタ)は、ゼロフラグ(Z)およびキャリーフラグ(C)の二つ。
クロック信号と各種イベントのタイミング:
メモリ空間は、1ワード8ビットでアドレス16ビットの、合計65536バイト。
レジスタはすべて8ビット:
A1レジスタ 演算用
A2レジスタ 演算用
B1レジスタ メモリアクセス用
B2レジスタ スタック用
Z レジスタ 各種代入・演算結果保持・ジャンプ用
IPレジスタ 実行位置
CSレジスタ 実行セグメント指定
DSレジスタ データセグメント指定
SSレジスタ スタックセグメント指定
フラグ(FLレジスタ)は、ゼロフラグ(Z)およびキャリーフラグ(C)の二つ。
クロック信号と各種イベントのタイミング:
clock 1 clock 2 events ----------------------------------------------------------------- 0 0 decrement b2 register (for push) prepare environment for reading command 1 0 read command from memory 0 1 prepare environment for command increment IP increment b2 register (for pop) 1 1 do the command注)clock2が0の時はCS:IPがアドレスラインに、1の時はDS:B1もしくはSS:B2がアドレスラインに接続される。
アセンブラで円周率を求める [シミュレーション]
2007年4月30日
16ビット長の変数で円周率が 3.1416 まで求められることが分かったので、アセンブラで計算してみた。インテル 80386 系は、レジスタが32ビット。16ビットどうしの乗算を行っても、結果が32ビット内に収まるので、比較的容易にアセンブラで書ける。
