戻る

MC14500B

Motorola MC14500B
Data 1bit
Cycle 〜1.0MHz
(1977)
u;

●14500の特徴

冗談みたいだが、本当にデータバスは1本しかない。
流石に「MPU」ではなく、「ICU」(Industrial Control Unit)という名称であるが、立派にマイクロプロセッサといえるものである。
「Industrial」という名称からもわかる通り、工業用の制御チップとして設計された。
現在はわざわざこのような制約を受けて作ることもないので、使われることはないとは思う。

レジスタも当然のように必要最小限のものしかない。

●14500のピン配列

RST1 16VDD
Write2 15RR
Data3 14X1
I34 13X2
I25 12JMP
I16 11RTN
I07 10Flag0
VSS8 9FlagF

●14500の構造

一般的なプロセッサにあるプログラムカウンタ等はない。
そのあたりはボードの設計者が自由に作成できる。
外付けしたメモリにプログラムを置いて、命令をチップに送信することで実行する。
命令は4bit(I0[7]〜I3[4])に送る。
命令4bitの残りのbitをデータとしてData[3]への入力やJMP[12]からの出力があった時、プログラムの飛び先と解釈して制御する。
つまり通常はプロセッサが行う部分を、自分で設計できるというエンジニア的な面白さを持っているプロセッサである。

●14500の命令

命令(ニーモニック)は以下の構成となっている。

●命令

コードニーモニック意味動作
0000NOP0No OPeration(0)Flag0[10]にパルスを出力
0001LDLoaDData[3]をRRにロード
0010LDCLoaD ComplementData[3]の否定値をRRにロード
0011ANDANDData[3]とRRの論理積をRRにロード
0100ANDCAND ComplementData[3]の否定値とRRの論理和をRRにロード
0101ORORData[3]とRRの論理積をRRにロード
0110ORCOR ComplementData[3]の否定値とRRの論理和をRRにロード
0111XNOReXclusive NORRRがData[3]と一致した場合はRR=1、違う場合は0とする
1000STOSTOreRRをData[3]に、Write[2]にパルスを出力
1001STOCSTOre ComplementRRの否定値をData[3]に、Write[2]にパルスを出力
1010IENInput ENableData[3]をIENにロード(0の時、データは常に0)
1011OENOutput ENableData[3]をOENにロード(0の時、STO/STOCで出力されない)
1100JMPJuMPJMP[12]にパルスを出力
1101RTNReTurNRTN[11]にパルスを出力
1110SKZSKip ZeroRR=0の時、次の命令をスキップ
1111NOPFNo OPeration(F)FlagF[9]にパルスを出力

[TOPに戻る]