まずは手持ち文献の整理(2005/08/24)
4ビット・マイコン計画始動(2005/10/06)
参考文献追加(2008/04/26)
4ビット・マイコン仕様追記(2006/02/03)
4ビット・マイコン仕様追記(2006/02/12)
4ビット・マイコンにブロック毎の機能説明を追記(2006/08/25)
4ビット・マイコンに入出力実験回路のブロック図掲載(2006/08/26)
4ビット・マイコン仕様変更(2007/03/31)
文献No.2の内容を訂正(2009/10/17)
開発計画を全面見直し。(2013/02/18)
SVPの開発ロードマップ記載。(2022/09/04)
No. | 記事 | 出版社 | 著者 | 仕様 | 回路規模 | 特徴 | 備考 | |
データ バス幅 | 命令アドレス空間 | |||||||
1 | CPUの創りかた(2003) | 毎日コミュニケーション | 渡波郁 | 4 bit | 8bit×16ワード | TTL 10個 | 究極の最小仕様CPU | |
2 | 雑誌 プロセッサ 4ビットCPU(1986) | 技術評論社 | 星野祐 | 4 bit | 4bit×4kワード | TTL 96個 | ||
3 | トランジスタ技術 SPECIAL No.48 作れば解るCPU(1994) | CQ出版社 | 村田和信 | 8 bit | 64kバイト | TTL 約60個 | マイクロプログラム 方式 ALUはEP-ROM で実現 | |
4 | Verilog-HDLによる トップダウン設計 (1994) | CQ出版社 | E.Sternheim 他4名著 井上、鈴木訳 | 32 bit | 4Gバイト? | HDLによる記述のみ | 詳細は未読 | |
5 | 雑誌 連載 トランジスタ技術 ASICで作る マイクロプロセッサ (1988 Feb.〜1989 Jan.) | CQ出版社 | 南宗宏 | 16 bit | 16bit×64kワード | 設計のみ | COMET仕様 | |
6 | HDLによる 高性能ディジタル 回路設計(2002) | CQ出版社 | 森岡澄夫 | 8 bit | 14bit×1kワード | FLEX 10K 約700セル | PIC16F84 サブセット | |
7 | 雑誌 Design Wave Magazin 特集 私はこうしてCPUを 開発した (1999 Nov.) | CQ出版社 | 栗須基弘 | 16 bit | 標準64kバイト 最大4Gバイト | HDLによるコア | 詳細は未読(^^; | |
8 | 雑誌 Design Wave Magazin 連載 コンパクトな16ビット CPUを設計する (2003 Jul.〜 ) | CQ出版社 | 清水尚彦 飯田佳洋 | 【調査中】 | 【調査中】 | PDP-11 互換命令 | 詳細は未読 | |
9 | 作って学ぶCPU 設計入門(2007) | 共立出版 | 葉山清輝 | 8 bit | 32byte | FLEX 10K10 | オリジナル 8命令 | |
10 | HDLによる VLSI設計 第2版(2002) | 共立出版 | 深山正幸 北側章夫 秋田純一 鈴木正國 | 8 bit | 32のkbyte | オリジナル 16bit長 |
値 | ニーモニック | 機能 |
000 | add | 加算(Cy無) |
001 | adc | 加算(Cy付) |
010 | and | ビット毎の論理積 |
011 | or | ビット毎の論理和 |
100 | xor | ビット毎の排他的論理和 |
101 | rotr | 右ローテート |
110 | shra | 右算術シフト |
111 | shrl | 右論理シフト |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | COND | アドレス |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | d | FUNC1 | REG | IMM |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | d | x | REG | FUNC2 | xxxxx |
値 | ニーモニック | 機能 |
000 | C | Carryビット=1ならジャンプ |
001 | NC | Carryビット=0ならジャンプ |
010 | Z | Zeroビット=1ならジャンプ |
011 | NZ | Zeroビット=0ならジャンプ |
100 | M | Nビット=1ならジャンプ |
101 | P | Nビット=0ならジャンプ |
110 | ALL | 無条件にジャンプ |
111 | IR | IRレジスタの値にジャンプ【検討中】 |
値 | ニーモニック | 選択レジスタ |
0000 | A | Aレジスタ |
0001 | IR | 命令レジスタ |
0010 | CI/CO | 制御レジスタ |
0011 | DI/DO | DI/DOレジスタ |
0100 | GR0 | 汎用レジスタ0 |
0101 | GR1 | 汎用レジスタ1 |
0110 | GR2 | 汎用レジスタ2 |
0111 | GR3 | 汎用レジスタ3 |
1000 | BH | BHレジスタ |
1001 | BL | BLレジスタ |
1010 | RH | RHレジスタ |
1011 | RL | RLレジスタ |
1100 | SH | SHレジスタ |
1101 | SL | SLレジスタ |
1110 | PH | PHレジスタ |
1111 | PL | PLレジスタ |
値 | ニーモニック | 機能 | Cフラグ | Zフラグ | Nフラグ |
000 | add | 加算(Cy付) | ○ | ○ | ○ |
001 | adc | 加算(Cy無) | ○ | ○ | ○ |
010 | and | ビット毎の論理積 | − | ○ | ○ |
011 | or | ビット毎の論理和 | − | ○ | ○ |
100 | xor | ビット毎の排他的論理和 | − | ○ | ○ |
101 | rotr | 右ローテート | ○ | ○ | ○ |
110 | shra | 右シフト(算術) | ○ | ○ | ○ |
111 | shrl | 右シフト(論理) | ○ | ○ | ○ |
値 | 機能 |
0 | 格納先はAレジスタ |
1 | 格納先はREGによる指定レジスタ |
スロットNo. | オリジナルCPU (TTL版) | オリジナルCPU (FPGA版) | H8マイコン版 |
1 | DMAインタフェース | DMAインタフェース | (予備) |
2 | SVP + I2C-ROM | FPGA CPU | H8マイコンCPU +シリアル |
3 | TTL CPU | ||
4 | VRAM | ||
5 | キーボード(PS2) + I/O | ||
6 | Fileインタフェース(IDE) | ||
7 | LANインタフェース(10BaseT | ||
8 | 予備(USB、または拡張バス etc.) |
信号名 | 本数 | 機能 | 備考 |
A[19:0] | 20 | アドレス | |
D[7:0] | 8 | データ | |
AS_N | 1 | アドレス・ストローブ | |
RD_N | 1 | リード・ストローブ | |
WR_N | 1 | ライト・ストローブ | |
WAIT_N | 1 | ウェイト要求 | オリジナルCPUでは未使用 |
BREQ_N | 1 | バス使用要求 | |
BACK_N | 1 | バス使用許可 | |
CS_N[7:0] | 8 | エリア選択 | (検討中) |
NMI_N | 1 | ノン・マスカブル割込み | |
IRQ_N[5:0] | 6 | 割込み要求 | (本数検討中) |
GR_N | 1 | システム・リセット | |
CLK | 1 | システム・クロック | |
VCC | ? | 電源(5V) | |
GND | ? | グランド |