最終更新日時:2023-09-01 19:28:37
NLP-16Aの概要
NLP-16AはNLP-16をベースとした次世代機.PCBを起こしてNLP-16で見つかったいくつかの欠点を修正を加える予定.そのため基本的なスペックはNLP-16と同じ.
このデータは暫定です.
CPUバス幅 | 16bit |
---|---|
アドレス幅 | 16bit+バンク16bit |
アーキテクチャ | ノイマン型 |
動作クロック | 未確認.目標100kHz |
汎用レジスタ | 16bit幅x4 |
命令 | 可変長(1word~3word) |
74HC00使用数 | 不明.おそらくは800個程度 |
消費電力 | - |
現在の作業進捗
ALU製作 → 製作完了
ALU制御 → 製作完了
デバッグ環境構築 → 製作中
レジスタ製作 → 設計中
レジスタ制御 → 設計中
制御 → 設計中
NLP-16の詳説
まずはアーキテクチャのブロックチャートをどうぞ
NLP-16から微妙に変わっています
オレオレ仕様な図なんでちょいとわかりにくいかもしれないけど我慢して
クリックすると大きい画像が開きます.
制御系
命令デコーダのデコード順序も書いたので良ければ
このフローに従ってデコードしていく(このフローチャートだけ見ても情報が不足している)
色分けをして各種命令のデコード順序を示す.
NLP-16で見つかっている欠点
双方向データバスの調停
ブロックチャートの右端,←Data→の部分はRAMなどの外部デバイスと接続する,双方向のバスになっている.
①双方向のバスではCPU側,外部デバイス側の両方が出力となる可能性がある.両方とも出力になるとデータバス上でショートに近いことが起きるため,そうならないように確実に片側のみ出力になるようにする.
②加えて出力モードを解除されるには若干のタイムラグがあるため両方とも出力がされていない期間(いわゆるデッドタイム)も必要になる.
NLP-16では①はきっちり実現したが,初期の設計が甘く②がクロックに同期した確実なデッドタイムを生成できないことが判明した.
内部データバスのファンアウト
ブロック図中のRegister fileとなっているところの内部ではレジスタそれぞれに対しデータバスY/Flagのデータが通っている.
同じデータをすべてのレジスタに分割しているため,Y/Flag Bus Ctrlの出力に対して16(15)ゲートのNANDが接続されている.
CMOSであるため定常的な電流値は問題ないが,単純に伝送路が1.5mというふざけた長さになっているためいい感じの長さでバッファを入れるべき.
これに関してはすぐになんとかできるため特に重大な不良ではない
関連するページ
-
NAND(74HC00)だけで16bitCPUを作る[NLP-16] このページはNAND素子のICである74HC00のみを用いて16bitCPUを作るという馬鹿みたいなことを纏めたページ。 また、早速だが使っているICは7400ではない。以前は”7400でCPUを作りたい”にしていたが詐欺なので変えた。 使用しているのはC...(以下略)
記事作成日時:2022-02-27 15:47:09
最終更新日時:2023-09-12 03:59:52
-
NLP-16A NLP-16AはNLP-16をベースとした次世代機.PCBを起こしてNLP-16で見つかったいくつかの欠点を修正を加える予定.
記事作成日時:2023-03-19 17:41:53
最終更新日時:2023-09-01 19:28:37
-
グラボを作りたい!(VGA表示モジュール 番外編) この程度のものでグラボと言うな、と言われないために初めに言っておくとグラボはディスプレイに表示できれば間違いないのでこれは詐欺ではありませんよ。GPUって言うと詐欺になってしまいますね。コイツは演算というか画像処理(Processing)していないから。いや、一応2倍に拡大する処理をしているからGPUと言えるのでは?(笑) さて、ここでは汎用ロジックのみでVGAと...(以下略)
記事作成日時:2022-02-27 19:09:55
最終更新日時:2022-05-06 12:02:45