JPH0394337A - Microcomputer device - Google Patents

Microcomputer device

Info

Publication number
JPH0394337A
JPH0394337A JP2115702A JP11570290A JPH0394337A JP H0394337 A JPH0394337 A JP H0394337A JP 2115702 A JP2115702 A JP 2115702A JP 11570290 A JP11570290 A JP 11570290A JP H0394337 A JPH0394337 A JP H0394337A
Authority
JP
Japan
Prior art keywords
microcode
address
rom
bus
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2115702A
Other languages
Japanese (ja)
Other versions
JPH0646386B2 (en
Inventor
Kevin C Mcdonough
ケビン シー.マツクドノウ
P Rogers Gerald
ジェラルド ピー.ロジャース
D Bellay Jeffrey
ジェフレイ デイー.ベライ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US06/280,048 external-priority patent/US4490783A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH0394337A publication Critical patent/JPH0394337A/en
Publication of JPH0646386B2 publication Critical patent/JPH0646386B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Microcomputers (AREA)

Abstract

PURPOSE: To simplify an internal self-testing function by calling a microcode itself by one byte, and inspecting the microcode for display stored outside a check code stored in an ROM or the microcode. CONSTITUTION: A microcomputer chip 10 is composed of a combination ROM 11, RAM 12, entry point 21, group decode circuit 27, memory control circuit 28, interruption control circuit 29, and clock generator 33. The inspection code display of all the bits of all the plural microcode words is stored in the ROM 11. Then, access to a plurality of microcode words in fewer sets than plural control bits is performed, the cumulative sequence arithmetic operation of all the control bits of all the plural microwords is operated, and when the cumulative arithmetic results are equivalent to the inspection code display, a first output is generated, and otherwise a second output is generated. Thus, the simple internal self-testing function can be obtained.

Description

【発明の詳細な説明】[Detailed description of the invention]

この発明は集積半導体デバイスおよび装置、特に単チッ
プ・マイクロプロセッサまたはマイクロコンピュータの
形の電子ディジタル処理装置に用いられる特徴に関する
ものである。 マイクロプロセッサ・デバイスは、グレイ・ダブりユウ
・ブーン(Gray W.ブーン)に対して発行されか
つテキサス・インスツルメンツに譲渡された米国特許第
3,757,306号に示されているような、rMOs
/LS IJ技術によって通常組み立てられる、tit
半導体集積回路に含まれるディジタル●プロセッサ用の
中央処理装置すなわちCPUである。ブーンの特許は、
すべて双方向並列バスを用いて相互接続された、並列A
LU,データおよびアドレス用レジスタ、命令レジスタ
、ならびに制御デコーダを含むチップの8ビットCPU
を示している。グレイ・ダブリュー・ブーンおよびマイ
クル・ジエー・コクラン(Michael J.Coc
hran )に対して発行されかつテキサス・インスツ
ルメンツに譲渡された米国特許第4,074,351号
は、プログラムおよびデータ記憶用のオン●チップRO
MならびにRAMを備えた、4ビット並列ALUとその
制御回路を含む単チップ「マイクロコンピュータ」形デ
バイスを示す。マイクロプロセッサとは通常、プログラ
ムおよびデータ記憶用の外部メモリを使用するデバイス
を言うが、マイクロコンピュータとはプログラムおよび
データ記憶用のオン・チップROMならびにRAMを具
備するデバイスを言う。しかし両語の使用には互換性が
あり、本発明について制限するようにはされていない。 米国特許第3,757,306号および第4,074,
351号が当初出願された1971年以降、マイクロプ
ロセッサおよびマイクロコンピュータに数多くの改良が
施されて、これらのデバイスの速度および能力は向上し
かつ製造原価は低減し、より小さいスペースにより多く
の回路が作られ、すなわちチップのサイズは一段と小形
化された。改良された光食刻法は線幅をより狭く分解能
をより高くして、回路密度を大にしたが、回路および装
置の改良も小形のチップで性能を向上させるという目標
に貢献している。マイクロプロセッサのこれらの改良の
若干は日本特許出願「特許昭57−60848号明細書
」に開示されている。 本発明の主な目的は、広範囲に使用するようにされるが
しかも安価な製造を容易にするとともにプログラミング
費用を最小にするように作られる改良形マイクロコンビ
ュータまたはマイクロプロセッサ・デバイスを提供する
ことである。 もう1つの目的は、標準チップ形式にプログラムされる
各種各様の使用に一段と融通のきくマイクロコンピュー
タ・デバイスを提供することである。特に、1つの目的
は、命令実行に用いられるマイクロコーディングの量を
、ゲート・マスク以外の製造工程中のどんなマスクをも
変更することなく変えることができるマイクロコンピュ
ータ・デバイスを提供することである。 本発明の1つの実施例により、「使用者JROMが「制
御J ROMと組み合わされるマイクロコンピュータ・
デバイスが提供される。使用者ROMは普通、マクロコ
ードで書かれたプログラムを含み、また制御ROMは普
通、マクロコードを実行するのに用いられるマイクロコ
ードを含む。マクロコードとマイクロコードの両方を含
むこの組合せROMは2通りにアドレスされ、すなわち
まずアドレス・バスを介して論理アドレス・スペースを
呼び出すのに用いられるプログラム・カウンタおよびメ
モリeアドレス・レジスタが組合せROMを呼び出すこ
とができ、次に制御ROMアドレスを作るのに用いられ
るエントリ・ポイント回路がこの組合せROMを呼び出
すことができる。 1つの形において、Yデコーダが隔離されるのは、組合
せROMからのマクロコード出力が1バイト幅であるが
、マイクロコード出力は約6バイトから8バイトまたそ
れより大きいバイト幅だからである。組合せROMアド
レス・スペースに対するメモリ呼出しサイクルでは、マ
クロコードまたはマイクロコードのいずれかの出力を選
択する制御が作られ、例えば現マイクロコード出力から
制御が作られる。マクロコードおよびマイクロコードを
111−ROMに組み合わせることによって、特定デバ
イスのマイクロコーディングの量が最適の実行速度、カ
ストマ・プログラミング軽減、機密保護、または他の要
素について選択される。マイクロコードの量は、いつも
セットされる標準のマイクロ命令から事実上100%の
マイクロコードまで、すなわち大福に拡張された命令セ
ットの多くの複合マイクロ命令まで変わることができる
。 組み合わされたマクロコードおよびマイクロコード・メ
モリはROMの代わりにRAMであることができ、した
がって使用者は彼の即時ジョブにより装置の機能を定め
るために、外部ディスク、テープまたはROMから、あ
るいは電話線により、マクロコードと共にマイクロコー
ドをダウン・ロードすることができる。すなわち、ジョ
ブの異なる部分で、異なる命令セットが使用される。端
末は浮動小数点またはBCD演算を行うために1つの点
でマイクロプログラムされ、次に例えば有効なデータ転
送用の二重形転送命令を行うために別の点でマイクロプ
ログラムされる。 本発明の1つの実施例の重要な特徴は、マイクロコード
がALU演算または外部への転送のために、メモリ・デ
ータ・バスによってバイト幅部分で呼び出されることで
ある。すなわち組合せROMに記憶されたマイクロコー
ドは一度に1バイトずつ、ALU一時レジスタに加えら
れたり、外部ポートに書き込まれる。これは試験目的に
きわめて役立つ。また、マイクロコードを試験する唯一
の方法は、正しい結果が得られているかどうかを知るた
めにすべての可能な機能を実行することである。 本発明の新規と信じられる特徴は、前述の特許請求の範
囲に明記されている。しかし本発明自体は、その他の特
徴および利点と共に、付図に関する下記の詳細な説明を
読むことによって最も良く理解されると思う。 第1図から、本発明の1つの実施例による特徴を使用す
るマイクロコンピュータ・チップ10が示されている。 チップ10は、標準の40ピン・パッケージに取り付け
られた片側に約5.08mm( 2 0 0 wits
)以下のシリコン・バーを含むMOS/LSI形の半導
体集積回路である。チップ10の中には、本発明による
組合せユーザーROMおよび制御ROM1 1を持つデ
ィジタル・プロセッサが全部含まれている。このROM
すなわち読出し専用メモリ11は、プログラム記憶にも
マイクロコード記憶にも使用される。RAMすなわち読
出し/書込みメモリ12はデータ記憶に使用される。チ
ップには、演算論理装置すなわちALU14とそのワー
キング・レジスタ15およびバス16、ならびにマイク
ロ命令.すなわち制御信号を線18に作るROM1 1
の制御ROM出力から成るCPU13が含まれている。 CPU13は制御線18の中の3つの線と共に、3つの
バスすなわちメモリ・データ・バスMD,ハイ・アドレ
ス・バスAH,およびロー・アドレス・バスALによっ
てROMI 1ならびにRAMi 2を呼び出す。 さらに、マイクロアドレス・バスμAはマイクロコード
・フエツチのためにROM1 1を呼び出す。 チップの外部デバイスとの通信は、MDバスによって呼
び出されかつAHおよびALアドレスに応動する制御回
路によって活性化される。4メモリ・マップド8ビット
・ボートA,BSCならびにDによる。この丈施例では
、MD%AHおよびALの各バスはALU14、レジス
タ15およびポートと同じく8ビット幅であるが、もち
ろんここに記載された考え方は例えば4ビット、16ビ
ットまたは32ビットのデバイスに適用できる。 CPU13にあるレジスタ15には、命令レジスタIR
,ステータス◆レジスタSTSALU14の出力を受け
るシフト回路S1オベランド用およびメモリ・アドレス
の上位バイト(メモリ・アドレス・ハイ)用の一時記憶
装置として働くレジスタT/MAR,2個の8ビット・
レジスタPCHおよびPCL (プログラム・カウンタ
・ハイならびにロー)に分かれる16ビット●プログラ
ム・カウンタ、スタック・ポインタSP1およびメモリ
・アドレス・ロー・レジスタMALなどが含まれている
。アドレス・バッファ19は、.アドレス●バスAHお
よびALからのバスAH’ならびにAL’に現われる真
および補数のアドレス信号を発生させる。オペランドは
大部分、CPU13と組み合わされる一時レジスタ15
にではなく、レジスタ・ファイルRFとして働(RAM
1 2に記憶される。 バス16は、いろいろなレジスタ15、ALU14およ
びMDバス、AH’バスならびにAL’バスを相互接続
する。ALU14は必ずPバスからのP入力およびNバ
スからのN入力を受けて、シフト回路Sを介して出力バ
スすなわちOバスに至る出力を作る。これらのP,Nお
よびOの各バス16に、レジスタ15およびALU14
に、またMDSAHおよびALの各バスに付する呼出し
はマイクロコードすなわちROM11からの制御信号1
8によって制御される。 マイクロコンピュータ・チップ10は、R O M11
に記憶されて命令レジスタIRに一度に1語ずつ転送さ
れる8ビット・マクロ命令語に扛づいて作動する。CP
U13で実行されたマクロ命令セットの多くの可能な例
の1つは、第A表および日本特許出願「特許昭57−6
0848号明細書」に説明されており、第A表はアセン
ブリ言語または原子言語とも言われる二一モニックの命
令語を与えるとともに、2進の機絨言語オプコード(こ
れは目的が16進で表わされるほか、目的コードに似て
いる)をも与える。命令セットはテキサス・インスツル
メンツが1981年に出版した「TMS7000系列の
8ビット・マイクロコンピュータ」という題の小冊子に
詳しく記載され、アドレス・モードも説明されている。 オブコードおよび1つ以上のアドレス・バイトが通常、
命令を実行するのに用いられる。IRに保持される命令
語すなわちオブコードはROM11用のアドレス回路1
1xおよび11y′に桔合されるマイクロアドレス線μ
Aに現われる8ビット・アドレスを作るエントリ・ポイ
ント回路21の入力であり、(本実施例では)ROM1
1用の256個の可能なアドレスの1つを呼び出して、
第B表および第8図または日本特許出願「特許昭57−
60848号明細書」に示されるようなマイクロ命令の
1つを定める制御ビットすなわち制御信号を作る。 第A表の1つのマクロ命令は1組のマイクロ命令を作る
。各マイクロ命令の一部(すなわち出力18の若干)は
ROM用の次のμAアドレスを作るために使用され、マ
イクロジャンプ・アドレスは線を介してエントリ・ポイ
ント回路21に帰還され、指名制御情報は線24を介し
て帰還される。 すなわち、1組のマイクロ命令はIRにロードされた各
マクロ命令から作られ、シーケンスはステータス●レジ
スタSTにあるステータス●ビットおよび他の条件にも
左右される。オペランド用のアドレスは必要な場合、オ
プコードを伴うROM11からのマクロコード語に含ま
れ、マイクロコード状態のこのシーケンス中にオブコー
ドがIRに保たれる間MALまたはMARに転移される
。 組合せROM1 1に加えられる各アドレスは、Yデコ
ード11y′を介してマイクロコード出力18を作った
り、Yデコード11yを介してメモリ・データ・バスM
Dに至るマクロ出力を作る。CPUは同じ機械状態でマ
クロコードとマイクロコードを両方呼び出すことは不可
能である。 第1図のマイクロコンピュータ用の論理アドレス・スペ
ースのマップが第2図に示されている。 本失施例は16ビット・アドレスを与える8ビットのA
HアドレスおよびALアドレスを使用しているので、2
16すなわち65,536バイトがこのスペースに得ら
れる(しばしば「KJ−1,024としてr 6 4 
K Jバイトと呼ばれる)。アドレスは4個の16進数
字で示され、第1アドレスooooから最終アドレスF
FFFにわたっている。この説明において、メモリ・ア
ドレスは特に明記される場合のはか16進で与えられる
。1ぺ一ジは28すなわち256バイトであり、すなわ
ち1ページにあるすべてのアドレスはALによって定め
られ、かつそのページはAHによって選択される。マイ
クロコンピュータ10は、R A M 12にあるレジ
スタ・ファイルRF用に「0」ぺ一ジ(アドレスooo
oからOOFFまで)を、周辺ファイルPF用に「1」
ページ(アドレス0100からOIFFまで)を、また
組合せプログラムおよびマイクロコード・メモリROM
11用にFOページからFFページまで(アドレスFO
OOからFFFFまで)を使用する。マクロコードは8
ビット幅であるが、本例のマイクロコードは約8バイト
すなわち64ビット幅であるので、マイクロコード用の
各アドレスは第2図のマップで8バイトを占める。した
がって256個のマイクロ命令が要求されると、これは
ROM1 1の2048バイトすなわち16Kビットを
占める。例の命令セットでは、マイクロアドレス00か
らFFまではマイクロコード用に(マクロアドレスF0
OOからF7FFまでに相当)、残りのアドレスF80
0からFFFFまではマクロコード用に使用される。R
FおよびROM1 1用に割り当てられたスペースの着
干は、ROMおよびR A Mの選択されたサイズによ
りポピュレ−1・れない。0200からEFFFまでの
ような他のスペースは、日本特許出願「特許昭57−6
0848号明洲書」に示されるとおり拡大モードに利用
される。 本発明に関係な<、シたがってここに詳しく説明されな
いが、第1図のようなマイクロコンピュータには、CP
U13が外部ポート、タイマ/イベント・カウンタ、リ
セットおよび割込みの諸機能を含む周辺ファイルPFを
呼び出す方法を定めるために、AH′およびL′の両ア
ドレスならびに制御ビット18に応動する制御回路が含
まれている。第2図の記憶場所0100におけるI/O
および割込み制御レジスタは、ALU/レジスタ◆スト
リップの部であるMDバスによって直接ロードされ、こ
のレジスタは割込みマスクおよびフラグと共に、メモリ
拡張モードを定めるために2つのメモリ・モード制御ビ
ットを含むことがある。 プログラム可能なタイマおよびイベント・カウンタもこ
の周辺制御回路内に含まれ、ALU/レジスタ・ストリ
ップの部分として有利に作られたMDバスおよび8ビッ
ト幅によって呼び出される。 この周辺制御回路では、グループ・デコード回路27お
よびメモリ制御回路28はAH’ ならびにAL’アド
レス・ビットと3個の制御信号(#MEM,#WR,#
MEMCNT)を受けて、与えられたアドレスによる呼
出しのためRO〜111(マイクロコードまたはマクロ
コード)、RAM12、ポートA,B,CまたはD等を
選択する制御を作る。3個の中の1個だけか任意な1つ
のサイクルで活性化される。 2個以上の割込み入力ピンINTが通常、タイマ割込み
に加えて只備される。これらのINT入力は、チップ上
の他の条件にも応動する割込み制御目路29に接続され
る。リセット入力RSTは、どんな機能や割込みをも無
視するマイクロコンピュータを、riE来どおりOにし
たり初期設定するのに用いられる。マイクロ割込みは、
以下に説明されるとおり含まれることがある。 周辺制御同路は、I/O制御レジスタ0100の内部ロ
ードされたビット7およびビット6によって定められる
作動モードの選択を与える。第2図のアドレス・スペー
スはこれらのモード用に独特な方法で構成されているが
、レジスタ・ファイルのアドレスIスペースRFはすべ
てのモードで同じである。モードには、(1)すべての
メモリがROM1 1およびRAM1 2においてオン
・チップである第2a図の単チップ・コンピュータ・モ
ード;(2)ある追加のオフ・チップ回路かポートBお
よびポートCを介してPFスペースに呼び出される第2
b図の周辺拡彊モード:または(3)RFおよびROM
1 1か第2図と同じならば、オフ・チップ・メモリの
約61KバイトがポートBならびにポートCによって呼
び出される第2C図の完全拡大モード、の3tI類があ
る。他のモードは、日本特許出願「特許昭57−608
48号明細書」に説明されるとおり利用できる。各種モ
ードにより、設=1、レイアウトまたはマイクロコード
を変更せずに1つの括本チップ形式によって広範囲の具
なる諸機能がi5られ、したがってコストか大幅に低減
される。人出力バッファ30は、あるモードでは方向制
御レジスタP7、P9、P11 (第2a図)により、
またグループ・デコード27およびメモリ制御回路28
を介してモード制御装置によって定められるとおり、ポ
ートA,B,C,DをMDバスに接続する。バッファ3
0には、MDバスによって呼び出されるデータ・レジス
タP6、P8、P10およびP11か含まれる。 第3図において、第1図のマイクロコンピュータがチッ
プ・レイアウトの形で示されている。チップ10の面積
の大部分は、組合せROM11およびRAMI 2なら
びにそれそれのアドレス・データを含むメモリによって
占められている。ROM11は、マイクロ命令およびマ
イクロコード用の組合せ式Xアドレス・デコーダ11x
なラヒニ分離式Yアドレス・デコーダIly,11y’
 と組み合わされている。ROMI 1において409
6個の8ビット・バイトの1つを定めるために12アド
レス●ビットが使用されるので、ROMI1のアドレス
はMALレジスタとMARレジスタの両方を必要とし、
すなわちマイクロ命令呼出しのためにALおよびAHの
両バスからのアドレス・ビットを必要とする。1つの例
において、μAを経てのマイクロコード呼出しは、8ビ
ット◆アドレスにより呼び出される1ページだけすなわ
ち256個の場所を要求すると思われるが、追加のアド
レス・スペースはμAアドレスの幅を堆加することによ
って加えられる。9ビットμAは例えば512個の場所
を呼び出すと思われる。RAMは32行の線の中の1つ
を選択するXアドレス・デコーダ12xと、4列の線の
中の1つを選択するYアドレス・デコーダ12yとを備
えているので、RAM選択にはわずか7ビットが要求さ
れるに過ぎない(256バイトのRAMが用いられる場
合は8ビット)。 1つの主な特徴は、マイクロコード状態の数が新しいチ
ップ設計、レイアウト、マスク●メーキングおよび生産
の努力なしに変えられることである。本例では、ROM
1 1は4096X8すなわち32Kビットのサイズで
ある。完全にポピュレートされるならば、8ビット・マ
イクロコード・アドレスμAが使用されると、マイクロ
コード用に使われたROMi 1の中のビット数は、出
力線18の数の256倍となる。64本の出力腺18が
第A表の例の命令セットに使用され、256個のマイク
ロ命令アドレスまたは状態が保存され(だが第B表およ
び第C表または日本特許出願「特許昭57−60848
号明細書」のような1つの例では、150個未満が要求
される)、シたがってROMのマイクロコード部分は2
56X64すなわち16Kビットである。残りはマクロ
コード用に利用できる(32−16K−16Kビットす
なわち2Kバイト)。 ROMIIはALUおよびレジスタ/バス接続の制御集
中区域にあるマイクロコード制御18を与えるストリッ
プの横に、またアドレス制御および飛越しアドレス線2
3、24を必要とするエントリ・ポイント回路21の横
にぴったり合っている。設計は、この目的でランダム論
理を使用するよりもむしろ全制御ソースとしての組合せ
ROM11に向けられており、第3図のレイアウトはチ
ップの面積がRAMおよび組合せROMならびにそれら
のデコードにより、さらに小スペースが他の制御論理で
占められる、ALU/レジスタ・ビットの正規アレイを
含むストリップによって支配されることを示す。この設
計法は、マイクロコードとマクロコードを変えたり、R
OM1 1のマイクロコードとマクロコードとの割合を
変えたりすることによって価値を高められるとともに、
それによってマイクロコンピュータ10を特に容易に変
形させるマイクロプログラミング機能を高める。 マイクロコンピュータ10は4段階とモード制御で変形
される。第1段階はROM1 1のマクロコードすなわ
ちプログラムを変えることであり、もちろんこれは最も
広く実施されている変形である。マクロコードは、例え
ばテキサス・インスツルメンツに譲渡された米国特許第
3541.543号、第4,208,726号または第
4,230,504号に示されたとおり、製遣工程にお
ける単マスクによって定められる。マイクロ命令とマク
ロ命令のセットを同じに保って、マクロコードを書き直
すことによって、広範囲の穴なる諸機能および諸作動が
利用できる。第2段階として、第A表のマイクロ命令セ
ットは、ROM11のマイクロコード記憶を多く使用す
ることによって(第B表の同じマイクロ命令セットを保
持しかつある別のマイクロ命令を加えながら)補充され
る。 ROM1 1のマイクロコードは、製造中の単マスク、
すなわちマクロコードを定めるものと同じマスク)によ
って定められるので、構造上マクロ命令セットまたはマ
イクロ命令セットを変えることは同じく容易である。し
かしそのときマクロ・アセンブラおよびマイクロ●アセ
ンブラ(カストマ用設計援助として用いられるコンピュ
ータ・プログラム)は異なる。マイクロ・アセンブラは
すべての適当な役立つマイクロ状態について書かれ、そ
のとき与えられた型について唯一の選択された数(この
例では256以内)が選択される。もちろん、デバイス
10を変えるこれらの方法のほかに、ROMの追加のマ
イクロコードまたはマクロコードを利用して、一段と複
雑なアルゴリズムをプログラムさせるようにROMのサ
イズを増大させることができる。しかし本発明の主な特
徴は、ROM1 1のマイクロコードとマクロコードと
の比が多かれ少なかれ複合マイクロ/マクロ命令セット
を与えるように変えられることである。 マイクロコンピュータ・チップ10は、第4図にクリス
タル(Xtal )として表わされる基本クロック周波
数により作動する。約5MHzのこの周波数は、第1図
または第3図でXtal とラベルされた2個のパッド
に結合される外部クリスタルによって制御される内部発
振器33によって供給される。クロック◆クリスタルか
ら、クロック発生回路33は、第4図に見られるとおり
、各マイクロ命令サイクルすなわち状態時間S1、82
などについて重複している4つの基本の半サイクル・ク
ロックHl、H2、H3およびH4を作る。各状態時間
はクロツクXtalの完全な2サイクルに等しい。H4
は2つの状態時間を重ねる。l/4サイクルQ1、Q2
、Q3およびQ4も各状態時間内に定められる。 RAM1 2に対する呼出しは、ROM1 1からのマ
イクロコード呼出しと同時に生じる。RAM12を呼び
出す短いメモリ・サイクルは第4図の81のような1つ
の状態時間で完成され、制御#MEMCNTはローであ
りかつAHバスのすべてのビットはH1の間ローであり
、またRAMアドレスは#MEMがハイである間ALバ
スに現われる妥当アドレスである。書込み制御#WRは
、書込みの場合ハイであり、読出しの場合ローである。 呼び出されたデータはそのとき、次のサイクルの初めに
わたるサイクルの終りでH4の間MDバスに現われる妥
当データであり、したがってデータは1サイクルの終り
にレジスタTまたはIRにロードされたり、次のサイク
ルの初めにPバスまたはNバスにゲートされる。RAM
1 2にあるレジスタ・ファイルRFに対するすべての
メモリ参照はこの短いサイクルを用いる。 すべての他のメモリ参照(すなわちマクロコード用のオ
ン・チップROMi l、周辺ファイルPF1および拡
張モードの拡張メモリに対する参照)は、2個のマイク
ロ命令サイクルを要求するとともに、第4図に示される
ような長いメモリ・サイクルを要求される。長いサイク
ルの場合、メモリ継続指令#MEMCNTは第1状態時
間中ハイであり、第2状態時間中ローである。メモリ指
令#MEMは両サイクルのH1の間ハイでなければなら
ず、アドレスは第1サイクルのH1の間ALおよびAL
で妥当でなければならない。読出しの場合、書込み指令
#WRは第1サイクルの初めから第2サイクルのH1ま
でローであり、データは第2サイクルの終りのH4の初
めの間妥当である。 長い書込みの場合、#WRはハイであり、書込みデータ
は第1および第2の両サイクルのH4でMDバスがゲー
トされる。 与えられた状態時間すなわちマイクロ命令サイクルの範
囲内で、AH’バスおよびAL’バスに現われるアドレ
スはH2の間妥当となる。このアドレスは、Hlの間に
AHおよびALにロードされたアドレスに基づくもので
ある。ROM1 1において、アレイはQ1の間プリチ
ャージされ、すべての行すなわちXの線はVssに進み
かつすべての列すなわちYの線はVecに進み、そのと
きROMXアドレスはQ2の初めにデコーダ11Xから
アレイにゲートされかつROM  YアドレスはQ2の
初めに妥当となり、したがってROM出力はQ4により
、マイクロコードまたはマクロコードのとちらかで妥当
となる。 本明細書の第A表または日本特許出願「特許昭57−6
0848号明細書」のマイクロ命令セットを実行するに
当たって、S1、82などのような5ないし10通りの
マイクロコード状態が、アドレス・モード次第で加算、
移動、比較などのような命令のために普通要求されるが
、乗算または除算はもっと多くのマイクロコード状態を
要求する。 第4図および第4a図に見られるとおり、ROM11に
対するマイクロコード呼出しのタイミングは、マクロコ
ード取出しの間異なる。短いメモリサイクルおよびマク
ロコード取出し以外のすべての他の機城サイクルの間、
G R O M指令が主張され(MUXCNTLはロー
である) 、ROM11用のデコーダは前のサイクルで
エントリ・ポイント同路21に発生されたμAアドレス
を受ける。 これは第4図の中央および第4a図に示されている。G
 R O M指令は生起せず、AHSALからのアドレ
スはROMI 1のデコーダ11Xを活性化せず、出力
はラッチ11Cを経てMDに達しない。 しかし、#MEMCNTおよびFOからFFまでのペー
ジのAHアドレスか生しると、MUXCNTLおよびG
 R O M指令か主張されてデコーダ11xならびに
11yはAH′、AL′アドL/スを受ける。これはマ
クロコード取出し用の長いメモリ・サイクルか生しるの
でマイクロコード呼出しが第4図の一番下および第4a
図に示されるように変形されることを意味する。最後の
サイクルで発生されたエン1・り・ポイント同路21か
らのマイク口アドレスμA出力はS1の前の状態のQ2
の間妥当であり、MUXCNTLがローであるときQ4
の間GROMによってROM1 1のデコーダにゲート
され、状態S1で丈行するため線18に現われるマイク
ロコード出力を作る。マクロコードが取り出すべきアド
レスはAL,AHに現われるQ2によって妥当となり、
バッファ1つてラッチされる。線23、24からこの状
態S1によって作られるべきマイクロアドレスμAはS
IQ1ないしS2Q4で妥当であり、第4図および第4
a図に見られるとおり、GROM指令の欠如によるバッ
ファ1lbのラッチによって線23、24を妥当に保つ
ことにより保持される。このラッチされたμAは状態S
3のマイクロアドレス用のS2Q1で始まり使用される
。S2の間、RO〜111はS1の間ALSAHに作ら
れたアドレスでマクロコードについて呼び出される。マ
クロコード・データはS1の間8ビット・ラッチ11C
てラッチされ、そのラッチはGROMがS2Q4で主張
されるときMDバスに対する8ビット・マクロコード出
力を作る。マクロコード取出しサイクルの82′で実行
されるマイクロコードは状態S1からのマイクロコード
に応じて作られ、通常PCIを増分し、そしてROM1
1からMDを介して宋るデータをIRまたはTにロード
したり、それをAHまたはALに現われるアドレスとし
て次の状態S3て使用するためMDに残したりする。 この52’ マイクロコードはS2の場合のマイクロコ
ードの取出しと同時にS1の間に取り出される。 第1図のマイクロコンピュータ10にあるCPU13は
、ALU14と、レジスタ15と、ROM11のマイク
ロコード出力によって制御されるバス16とから成って
いる。第5図にはALUおよびシフト回路Sならびに組
み合わされるバスの一段と詳細なブロック図が示されて
おり、第6図はROM11およびそのマイクロ命令帛カ
ビット18を示している。ALUの制御およびバスに対
する呼出しは、説明のための実施例について第6図で識
別されるこれらのマイクロ命令すなわちビット18によ
って完全に定められる。エントリ・ポイント回路21か
ら線μAに現われる8ビットのマイクロアドレスは、多
重回路1,−1mを経てXデコーダ11Xに進む線21
xに現われる6ビットのXアドレスを含むとともに、Y
デコーダ11y′に進む線21Yに現われる2ビットの
Yアドレスをも含む。本例のXデコーダ11xは、RO
M1 1のROMビットのアレイにある64本のX線の
中の1本を選択する。Yデコーダ11y′は各群4本の
Y線(最大6 4 1!$か利用できる)において4本
の中の1本を選択する。したがって、線μAに現われる
各8ビット・アドレスの場合、異なる「マイクロ命令」
が線18に現われる出力である。マイクロ命令は任意な
数の活性線18を何することがあるが、通常、わずか2
〜3本の線18の組合せが与えられたマイクロ命令につ
いてl舌性てある。各線18はバッファ1lbに進んで
、Y線自体が許すアレイ出力よりも高いキャパシタンス
負荷を駆動し、かつゲートおよび他の要求されるような
論理をクロツクする。第6図および本発明の他のどこに
でもあるすべてのマイクロ命令ビット(制御線18)は
、接頭記号「#」を付けて表わされる。若干のビットは
活性ローであり、したがって#−O t STのような
負符号を冠する。第6図のマイクロ命令ビットでは、文
字「
This invention relates to features used in integrated semiconductor devices and apparatus, particularly electronic digital processing apparatus in the form of single-chip microprocessors or microcomputers. Microprocessor devices include rMOs, as shown in U.S. Pat. No. 3,757,306 issued to Gray W. Boone and assigned to Texas Instruments.
/LS Usually assembled by IJ technology, tit
A central processing unit, or CPU, for a digital processor included in a semiconductor integrated circuit. Boone's patent is
Parallel A, all interconnected using bidirectional parallel buses
Chip's 8-bit CPU including LU, data and address registers, instruction registers, and control decoder
It shows. Gray W. Boone and Michael J. Cochran
U.S. Pat. No. 4,074,351 issued to Texas Instruments, Inc.
1 shows a single-chip "microcomputer" type device containing a 4-bit parallel ALU and its control circuitry, with M and RAM. A microprocessor typically refers to a device that uses external memory for program and data storage, whereas a microcomputer refers to a device that includes on-chip ROM and RAM for program and data storage. However, the use of both terms is interchangeable and is not intended to be limiting on the present invention. U.S. Patent Nos. 3,757,306 and 4,074,
Since 1971, when No. 351 was originally filed, numerous improvements have been made to microprocessors and microcomputers that have increased the speed and capability of these devices, lowered their manufacturing costs, and allowed them to fit more circuitry into less space. In other words, the size of the chip has been further reduced. Improved photolithography has led to narrower linewidths and higher resolution, resulting in greater circuit density, but improvements in circuitry and equipment are also contributing to the goal of increasing performance in smaller chips. Some of these improvements in microprocessors are disclosed in Japanese Patent Application No. 1984-60848. A principal object of the present invention is to provide an improved microcomputer or microprocessor device that is adapted for widespread use, yet is made to facilitate inexpensive manufacture and minimize programming costs. be. Another object is to provide a microcomputer device that is programmed in a standard chip format and is more versatile for a variety of uses. In particular, one object is to provide a microcomputer device in which the amount of microcoding used for instruction execution can be varied without changing any masks in the manufacturing process other than the gate mask. According to one embodiment of the present invention, the "user JROM" is a microcomputer combined with the "control JROM".
Device provided. User ROM typically contains programs written in macrocode, and control ROM typically contains microcode used to execute the macrocode. This combinational ROM, which contains both macrocode and microcode, is addressed in two ways: first, the program counter and memory address register used to access the logical address space via the address bus address the combinational ROM. The combinational ROM can then be accessed by the entry point circuitry used to create the control ROM address. In one form, the Y decoder is isolated because the macrocode output from the combinational ROM is one byte wide, while the microcode output is approximately six to eight bytes or more byte wide. In memory access cycles to the combinational ROM address space, control is made to select either macrocode or microcode output, eg, control is made from the current microcode output. By combining macrocode and microcode into the 111-ROM, the amount of microcoding for a particular device is selected for optimal execution speed, customer programming reduction, security, or other factors. The amount of microcode can vary from standard microinstructions that are always set to virtually 100% microcode, ie, many compound microinstructions of a Daifuku-enhanced instruction set. The combined macrocode and microcode memory can be RAM instead of ROM, so the user can use it from an external disk, tape or ROM, or from a telephone line to define the functionality of the device according to his immediate job. This allows you to download microcode along with macrocode. That is, different sets of instructions are used in different parts of the job. The terminal is microprogrammed at one point to perform floating point or BCD operations, and then microprogrammed at another point, for example, to perform dual type transfer instructions for valid data transfers. An important feature of one embodiment of the present invention is that the microcode is called in byte-wide portions by the memory data bus for ALU operations or external transfers. That is, microcode stored in combinational ROM is added to ALU temporary registers or written to external ports one byte at a time. This is extremely useful for testing purposes. Also, the only way to test microcode is to run all possible functions to know if you are getting the correct results. The features believed to be novel of the invention are pointed out in the following claims. However, the invention itself, together with other features and advantages, will be best understood by reading the detailed description below with reference to the accompanying drawings. Referring now to FIG. 1, a microcomputer chip 10 is shown employing features according to one embodiment of the present invention. Chip 10 has approximately 5.08 mm (200 wits) on each side mounted in a standard 40 pin package.
) This is a MOS/LSI type semiconductor integrated circuit including the following silicon bars. Included within the chip 10 is a complete digital processor with a combined user ROM and control ROM 11 according to the invention. This ROM
That is, read-only memory 11 is used both for program storage and for microcode storage. RAM or read/write memory 12 is used for data storage. The chip includes an arithmetic logic unit or ALU 14 and its working registers 15 and bus 16, as well as microinstructions. i.e. ROM1 1 which produces a control signal on line 18
It includes a CPU 13 consisting of control ROM outputs. CPU 13 addresses ROMI 1 and RAMi 2 by three lines in control line 18, as well as by three buses: memory data bus MD, high address bus AH, and low address bus AL. Additionally, microaddress bus μA calls ROM11 for microcode fetches. The chip's communication with external devices is activated by a control circuit called by the MD bus and responsive to the AH and AL addresses. 4 memory mapped 8-bit ports A, BSC and D. In this example, the MD%AH and AL buses are 8 bits wide, as are ALU 14, registers 15, and ports, but of course the ideas described here can be applied to 4-bit, 16-bit, or 32-bit devices, for example. Applicable. The register 15 in the CPU 13 includes an instruction register IR.
, Status ◆Register T/MAR, two 8-bit
It includes a 16-bit program counter divided into registers PCH and PCL (program counter high and low), stack pointer SP1 and memory address low register MAL, etc. The address buffer 19 is . Address - Generates true and complement address signals appearing on buses AH' and AL' from buses AH and AL. Operands are mostly temporary registers 15 combined with CPU 13
Acts as a register file RF (RAM
1 2 is stored. Bus 16 interconnects the various registers 15, ALU 14 and the MD, AH' and AL' buses. The ALU 14 always receives a P input from the P bus and an N input from the N bus, and produces an output via a shift circuit S to an output bus, that is, an O bus. A register 15 and an ALU 14 are connected to each of these P, N, and O buses 16.
In addition, calls to the MDSAH and AL buses are controlled by control signals 1 from the microcode, ie, ROM 11.
8. The microcomputer chip 10 is R O M11
It operates on 8-bit macro instruction words which are stored in the instruction register IR and transferred one word at a time to the instruction register IR. C.P.
One of the many possible examples of macroinstruction sets executed in U13 is shown in Table A and in the Japanese patent application ``Patent No. 57-6
No. 0848, Table A provides binary machine language instruction words, also known as assembly language or atomic language, as well as binary machine language opcodes (which have an object expressed in hexadecimal). In addition, it also gives a code (similar to an objective code). The instruction set is described in detail in a booklet published by Texas Instruments in 1981 entitled "TMS7000 Series of 8-Bit Microcomputers," which also describes the addressing modes. The obcode and one or more address bytes are typically
Used to execute instructions. The instruction word or obcode held in the IR is stored in the address circuit 1 for the ROM 11.
Microaddress line μ coupled to 1x and 11y'
It is the input of the entry point circuit 21 that creates the 8-bit address appearing in A, and (in this embodiment) ROM1
1 by calling one of the 256 possible addresses for
Table B and Figure 8 or Japanese patent application “Patent 1983-
A control bit or control signal is created that defines one of the microinstructions, such as those shown in '60848'. One macroinstruction in Table A creates a set of microinstructions. A portion of each microinstruction (i.e. a portion of output 18) is used to create the next μA address for the ROM, the microjump address is fed back to the entry point circuit 21 via a line, and the designated control information is It is fed back via line 24. That is, a set of microinstructions is created from each macroinstruction loaded into the IR, and the sequence also depends on the status bits in the status register ST and other conditions. The address for the operand, if required, is included in the macrocode word from ROM 11 with the opcode and transferred to MAL or MAR while the opcode is kept in the IR during this sequence of microcode states. Each address applied to combinational ROM 1 1 produces a microcode output 18 via Y-decode 11y' or a memory data bus M via Y-decode 11y.
Create macro output leading to D. It is not possible for the CPU to call both macrocode and microcode in the same machine state. A map of the logical address space for the microcomputer of FIG. 1 is shown in FIG. This example uses 8 bits of A to give a 16 bit address.
Since H address and AL address are used, 2
16 or 65,536 bytes are obtained in this space (often referred to as "KJ-1,024 r 6 4
KJ byte). Addresses are indicated by four hexadecimal digits, from the first address oooo to the final address F.
It spans FFF. In this description, memory addresses are given in hexadecimal unless otherwise specified. A page is 28 or 256 bytes, ie all addresses in a page are defined by AL and the page is selected by AH. The microcomputer 10 has a page “0” (address ooo) for the register file RF in the RAM 12.
o to OOFF) to "1" for the peripheral file PF.
page (address 0100 to OIFF), as well as combinational program and microcode memory ROM.
From FO page to FF page for 11 (address FO
OO to FFFF). Macro code is 8
In terms of bit width, the microcode in this example is approximately 8 bytes or 64 bits wide, so each address for the microcode occupies 8 bytes in the map of FIG. Therefore, if 256 microinstructions are requested, this will occupy 2048 bytes or 16K bits of ROM11. In the example instruction set, micro address 00 to FF is for microcode (macro address F0
(equivalent to OO to F7FF), remaining address F80
0 to FFFF are used for macro codes. R
The space allocated for F and ROM11 may not be populated depending on the selected sizes of ROM and RAM. Other spaces such as 0200 to EFFF are included in the Japanese patent application “Patent No. 57-6
It is used for enlargement mode as shown in ``Meishu-sho No. 0848''. Although not related to the present invention and therefore not explained in detail here, a microcomputer as shown in FIG.
A control circuit responsive to both AH' and L' addresses and control bit 18 is included to determine how U13 calls the peripheral file PF, which includes external ports, timer/event counters, reset and interrupt functions. ing. I/O at storage location 0100 in Figure 2
and interrupt control registers are loaded directly by the MD bus, which is part of the ALU/register strip, and this register, along with interrupt masks and flags, may contain two memory mode control bits to define memory expansion modes. . Programmable timers and event counters are also included within this peripheral control circuit and are accessed by an MD bus and an 8-bit width advantageously made part of the ALU/register strip. In this peripheral control circuit, a group decode circuit 27 and a memory control circuit 28 input AH' and AL' address bits and three control signals (#MEM, #WR, #
MEMCNT), a control is created to select RO to 111 (microcode or macrocode), RAM 12, ports A, B, C, or D, etc. for calling by the given address. Only one of the three or any one cycle is activated. Two or more interrupt input pins INT are typically provided in addition to the timer interrupt. These INT inputs are connected to interrupt control lines 29 which are also responsive to other conditions on the chip. The reset input RST is used to reset or initialize the microcomputer, which ignores any functions or interrupts. Micro interrupts are
May be included as described below. The peripheral control path provides a selection of operating modes defined by internally loaded bits 7 and 6 of I/O control register 0100. Although the address space of FIG. 2 is configured in a unique way for these modes, the register file address I-space RF is the same for all modes. The modes include (1) the single-chip computer mode of Figure 2a where all memory is on-chip in ROM11 and RAM12; (2) some additional off-chip circuitry or ports B and C. The second called into PF space via
Peripheral expansion mode in figure b: or (3) RF and ROM
11 or the same as in FIG. 2, there is a 3tI class of full expansion mode in FIG. 2C, in which approximately 61 Kbytes of off-chip memory is accessed by port B as well as port C. Other modes are as follows:
It can be used as described in "Specification No. 48". The various modes allow a wide range of functions to be implemented in one integrated chip format without changing the configuration, layout or microcode, thus significantly reducing cost. In some modes, the human output buffer 30 is controlled by direction control registers P7, P9, P11 (Figure 2a).
Also, group decoding 27 and memory control circuit 28
Connect ports A, B, C, D to the MD bus as determined by the mode controller via the MD bus. buffer 3
0 includes data registers P6, P8, P10 and P11 that are called by the MD bus. In FIG. 3, the microcomputer of FIG. 1 is shown in chip layout form. Most of the area of chip 10 is occupied by memory, including combinational ROM 11 and RAMI 2 and their respective address data. ROM 11 has a combinatorial X address decoder 11x for microinstructions and microcode.
Rahini separable Y address decoder Ily, 11y'
It is combined with 409 in ROMI 1
Since 12 address bits are used to define one of six 8-bit bytes, the address of ROMI1 requires both the MAL and MAR registers,
That is, it requires address bits from both the AL and AH buses for microinstruction calls. In one example, a microcode call through the μA would require only one page, or 256 locations, called by the 8-bit address, but the additional address space adds up to the width of the μA address. It is added by A 9-bit μA would call 512 locations, for example. The RAM has an X address decoder 12x that selects one of the 32 rows of lines, and a Y address decoder 12y that selects one of the 4 column lines, so it takes only a few minutes to select the RAM. Only 7 bits are required (8 bits if 256 bytes of RAM are used). One main feature is that the number of microcode states can be changed without new chip design, layout, mask-making and production efforts. In this example, ROM
11 has a size of 4096×8, or 32K bits. If fully populated, the number of bits in ROMi 1 used for microcode will be 256 times the number of output lines 18 if an 8-bit microcode address μA is used. Sixty-four output glands 18 are used for the example instruction set in Table A, and 256 microinstruction addresses or states are saved (but not in Tables B and C or in the Japanese Patent Application No. 57-60848).
In one example, less than 150 pieces are required), so the microcode portion of the ROM is 2
It is 56x64 or 16K bits. The remainder is available for macro code (32-16K-16K bits or 2K bytes). ROMII is located next to the strip providing microcode control 18 in the control concentration area of the ALU and register/bus connections, as well as address control and interlaced address lines 2.
It fits right next to the entry point circuit 21 which requires 3,24. The design is directed towards combinational ROM 11 as the entire control source, rather than using random logic for this purpose, and the layout of Figure 3 reduces the chip area to even smaller space due to the RAM and combinational ROM and their decoding. is dominated by a strip containing a regular array of ALU/register bits, occupied by other control logic. This design method requires changing the microcode and macrocode, and
You can increase the value by changing the ratio of microcode and macrocode in OM11, and
This increases the microprogramming capability, which makes the microcomputer 10 particularly easy to modify. The microcomputer 10 is modified with four stages and mode control. The first step is to change the macro code or program in ROM11, which is of course the most widely implemented variation. The macro code is defined by a single mask in the manufacturing process, as shown, for example, in U.S. Pat. . By keeping the microinstruction and macroinstruction sets the same and rewriting the macro code, a wide range of hole-in-the-wall functionality and operations are available. As a second step, the microinstruction set of Table A is supplemented (while retaining the same microinstruction set of Table B and adding some other microinstructions) by making greater use of the microcode storage in ROM 11. . The microcode of ROM1 1 is a single mask under manufacture,
Structurally, it is equally easy to change the macro-instruction set or the micro-instruction set, since it is defined by the same mask that defines the macrocode (i.e. the same mask that defines the macrocode). But then macro assemblers and micro assemblers (computer programs used as design aids for customers) are different. The micro-assembler is written for all suitable useful micro-states, then only a selected number (within 256 in this example) is selected for a given type. Of course, in addition to these methods of modifying device 10, additional microcode or macrocode in the ROM can be utilized to increase the size of the ROM to allow more complex algorithms to be programmed. However, the main feature of the invention is that the ratio of microcode to macrocode in ROM 11 can be varied to provide a more or less composite micro/macro instruction set. Microcomputer chip 10 operates with a fundamental clock frequency represented as crystal (Xtal) in FIG. This frequency of approximately 5 MHz is provided by an internal oscillator 33 controlled by an external crystal coupled to the two pads labeled Xtal in FIG. 1 or FIG. CLOCK From the crystal, the clock generation circuit 33 generates each microinstruction cycle or state time S1, 82, as seen in FIG.
Create four basic half-cycle clocks H1, H2, H3 and H4, overlapping for etc. Each state time is equal to two complete cycles of clock Xtal. H4
overlaps the two state times. l/4 cycle Q1, Q2
, Q3 and Q4 are also defined within each state time. A call to RAM12 occurs simultaneously with a microcode call from ROM11. A short memory cycle calling RAM 12 is completed in one state time such as 81 in Figure 4, control #MEMCNT is low and all bits on the AH bus are low during H1, and the RAM address is A valid address that appears on the AL bus while #MEM is high. Write control #WR is high for writing and low for reading. The recalled data is then valid data that appears on the MD bus during H4 at the end of the cycle over the beginning of the next cycle, so the data can be loaded into register T or IR at the end of one cycle or is gated to the P bus or N bus at the beginning of . RAM
All memory references to register file RF in 12 use this short cycle. All other memory references (i.e. references to on-chip ROMI for macro code, peripheral file PF1 and extended memory in extended mode) require two microinstruction cycles and are requires long memory cycles. For long cycles, the memory continuation command #MEMCNT is high during the first state time and low during the second state time. Memory command #MEM must be high during H1 of both cycles, and the address must be high during H1 of the first cycle.
must be reasonable. For reading, write command #WR is low from the beginning of the first cycle to H1 of the second cycle, and the data is valid during the beginning of H4 at the end of the second cycle. For long writes, #WR is high and the write data is gated on the MD bus at H4 in both the first and second cycles. Within a given state time or microinstruction cycle, the addresses appearing on the AH' and AL' buses are valid during H2. This address is based on the address loaded into AH and AL during Hl. In ROM1 1, the array is precharged during Q1, all rows or X lines go to Vss and all columns or Y lines go to Vec, then the ROMX address is transferred from decoder 11X to the array at the beginning of Q2. and the ROM Y address is valid at the beginning of Q2, so the ROM output is valid at either the microcode or the macrocode by Q4. Table A of this specification or the Japanese patent application “Patent No. 57-6
In executing the microinstruction set of '0848 Specification,' 5 to 10 microcode states such as S1, 82, etc. are added depending on the address mode.
Although normally required for instructions such as move, compare, etc., multiplication or division requires more microcode state. As seen in FIGS. 4 and 4a, the timing of microcode calls to ROM 11 is different during macrocode retrieval. During short memory cycles and all other machine cycles except macro code retrieval,
The G R OM command is asserted (MUXCNTL is low) and the decoder for ROM 11 receives the μA address generated on entry point path 21 in the previous cycle. This is shown in the middle of Figure 4 and in Figure 4a. G
The R OM command does not occur, the address from AHSAL does not activate decoder 11X of ROMI 1, and the output does not pass through latch 11C to MD. However, if #MEMCNT and the AH address of the page from FO to FF are generated, MUXCNTL and G
When the R OM command is asserted, decoders 11x and 11y receive AH' and AL' addresses L/s. This results in a long memory cycle for fetching the macrocode, so the microcode call is at the bottom of Figure 4 and in Figure 4a.
It means that it is transformed as shown in the figure. The microphone address μA output from the encoder 1 point same path 21 generated in the last cycle is Q2 in the state before S1.
Q4 is valid when MUXCNTL is low.
ROM11 is gated by GROM to the decoder of ROM11, producing a microcode output appearing on line 18 to operate in state S1. The address that the macro code should retrieve is made valid by Q2 appearing in AL and AH,
One buffer is latched. From lines 23 and 24, the microaddress μA to be created by this state S1 is S
IQ1 to S2Q4 is reasonable, and Figures 4 and 4
As seen in Figure a, the latching of buffer 1lb due to the lack of a GROM command is maintained by keeping lines 23, 24 valid. This latched μA is in state S
It is used starting with S2Q1 for microaddress 3. During S2, RO~111 is called for the macro code at the address created in ALSAH during S1. Macro code data is 8 bit latch 11C during S1
The latch produces an 8-bit macrocode output to the MD bus when GROM is asserted in S2Q4. The microcode executed at 82' of the macrocode fetch cycle is created in response to the microcode from state S1, typically increments PCI, and
Load the data from 1 through the MD into IR or T, or leave it in the MD for use in the next state S3 as an address appearing on AH or AL. This 52' microcode is retrieved during S1 at the same time as the microcode is retrieved in S2. The CPU 13 in the microcomputer 10 of FIG. 1 is comprised of an ALU 14, a register 15, and a bus 16 controlled by the microcode output of the ROM 11. FIG. 5 shows a more detailed block diagram of the ALU and shift circuit S and associated buses, and FIG. 6 shows the ROM 11 and its microinstruction code bit 18. Control of the ALU and calls to the bus are completely defined by these microinstructions, bit 18, identified in FIG. 6 for the illustrative embodiment. The 8-bit microaddress appearing on line μA from the entry point circuit 21 passes through the multiplexer 1, -1m to the X decoder 11X on line 21.
Contains the 6-bit X address appearing in x and Y
It also includes the 2-bit Y address appearing on line 21Y going to decoder 11y'. The X decoder 11x in this example is RO
M1 Selects one of the 64 X-rays in the array of 1 ROM bits. The Y decoder 11y' selects one of the four Y lines in each group (up to 641!$ available). Therefore, for each 8-bit address appearing on line μA, a different "microinstruction"
is the output appearing on line 18. A microinstruction may operate any number of active lines 18, but typically only two
The combination of ~3 lines 18 is unique for a given microinstruction. Each line 18 goes to buffer 1lb to drive a higher capacitance load than the array output allows on its own, and to clock the gates and other logic as required. All microinstruction bits (control lines 18) in FIG. 6 and elsewhere in the invention are designated with the prefix "#". Some bits are active low and are therefore marked with a negative sign, such as #-O t ST. In the microinstruction bits of Figure 6, the character “

【」は「toJを表わすので#−OtSTは「Oバ
スからSTレジスタへ」を意味し、すなわちOバスを状
態レジスタに接続するゲートはこのビットによって活性
化される。線23に現われる8ビット飛越しアドレスは
# J IIIpAddr  (7 −0)で表わされ
る一方、指名アドレスに用いられる線24に現われる3
ビット飛越し制御は#JmpCntl  (2−0)で
表わされる。これらの11ビットは次のマイクロアドレ
スμAを作るためにエントリ・ポイント回路21で使用
される。第6図の#OtPCHから#ONEtAHまで
全部で20個のビット18はバス16からレジスタ15
に対する呼出しを制御する。これらの中の#LovWr
itcOおよび# L owWritc 1は擬似マイ
クロ命令OtPCL,OtMALならびにotspを作
るためにデコードされる。ビット#ONE t ALお
よび#ONEtAHはALまたはAHバスに「1」を置
き、マイクロ命令にBレジスタ・アドレス000lまた
はPFページ・アドレス0100(16進)を置く。A
LおよびAHに現われるすべての0に対するディフォル
トは、レジスタ・ファイル内のAレジスタ・アドレスで
ある。レジスタ15とバス16との間の接続は以下に詳
しく説明される。#〜I E M C N Tビットは
長いメモリ・サイクルでの「メモリ継続」制御である。 RAM12は1つの状態時間において読出しまたは書込
みのために呼び出されるが、ROM1 1からのマイク
ロコードまたはPFにおける周辺装置への呼出しは2つ
の状態を使用するので、制御線# M E M C N
 Tは第4図に見られるとおりすべての長いメモリ・サ
イクルの第1状態において活性である。#MEMCNT
は他の数個の制御信号を作るのに用いられ、長いメモリ
・サイクルの第1状態または第2状態を必ず識別する。 #MEMビットは、メモリ・サイクルを表わし、ROM
11、RAM12、または外部メモリが呼び出されると
き必ず活性である。#WRビットは書込み指令であるの
で、#MEMおよび#WRが活性であればメモリ書込み
条件が(7在するが、#MEMが活性で#WRが不活性
であればメモリ読出し条件がrI在する。#一LST信
号はALUM算用のロード・ステータス指令である。ス
テータス・レジスタSTは、#−LST指令によってO
バスからし口一ドされる。ALUは#ShjrtCnt
l  (3−0)、#AIuCntl  (3−0)お
よび#ABLによってラベルされる9ビットにより制御
される。これらの制御は以下に詳しく説明される。 マイクロ命令ビット18はストリップで使用される順に
構逍配列され、必ずしも第6図に示される順ではないの
で、制御ビット18はそれがストリップで使用される点
のなるべく近くで発生される。 第6図に見られるとおり、マイクロコード出力には#P
CHtP’ などのようなマイクロコード#μCビット
が含まれ、これらはマクロコード取出しの第2状態(第
4a図の82′)においてマイクロコードに必要なビッ
トを作るために1つの状態を遅延させるバッファ回路1
1b′に加えられる。これらのビットは線18bに現わ
れるバツファ11b′からの出であり、ビット18の若
干と同しである。マクロコード取出しの第2状態はほと
んど必ず下記3つの事柄の1つである:(1)近づく命
令のオプコード部分はIRにロードされかつPCIは増
分され; (2〉アドレス・バイトは次の状態の間AHまたはAL
を介して使用するためMDにロードされかつPCIは増
分され;または (3)MDを介してROM11から呼び出されるバイト
は後の機絨状態で使用するためTレジスタにロードされ
かつPCIは増分される。 PCHを増分するため、ALUおよびマイクロ桁上げ制
御は以下に説明されるとおり作られる。 バッファ11b′から要求される活性#μCビットがほ
んのわずかであるのは、ビット18の事実上すべてが所
要のマイクロコードを定めるために0だからてある。こ
れらのオペレーションは、例えばIAQ−0、IAQ−
1セット、およびBLoPPL−0、Bto,PPL−
1ならびにI LoA − 0、I toA − 1に
よって、第8図または第C表のマイクロ命令シーケンス
、および日本特許出願「特許昭57−60.848号明
細書」において説明されている。 線23および24を受けているROM出力バッフ71l
bの部分は、CROM’指令が主張されるとき必ず1つ
の状態時間でマイクロアドレスμAを保持するようにラ
ッチされる。したがって、S1において線23、24か
ら作られる次のアドレスは、S3の初めに使用すべきS
2の終りまで保持される。GROM’指令はマイクロコ
ード・ビット#MEMCNTおよびAH’ ビットから
作られる。 第6図はまた、8ビットの定数出力#C (7−0)お
よびNバスに8ビット定数を加える#CtN指令を示す
。この定数機能は第B表のマイクロ命令には使用されず
、オフセットなどのために即時取出しに代わって使用さ
れることがある。 レジスタ15、バス16およびALU14に対する呼出
しのマイクロ命令制御は、参考として本明細書に組み入
れられた、テキサス・インスツルメンツに譲渡された、
日本特許出願「特許昭57−60848号明細書」に記
載されている。 ALUオペレーションの一例として、ゼロ桁上げによる
加算( # A luc ntlおよび#Shif’t
Cntlはすべてゼ白)は、ALUにPバスおよびNバ
スの内容の和を計算させる。PバスとNバスの内容の差
を計算するためには、#AIuCntl −1l11お
よび# Shil’LCntl − 0 0 0 1で
ある。 借りは望ましくないので、この減算では「1」が桁上げ
されなければならない。完全な一例として、下記2個の
マイクロ命令はPCLおよびPCIレジスタによってア
ドレスされた現在のバイトを読み出し、それをT/MA
Hレジスタに入れ、そしてPCLおよびPCHレジスタ
を増分する:第1マイクロ命令サイクル(第4a図のマ
クロコード取出しS2): ビット      オペレーション #PCLtP. #PAL   ・・・Pバスを介して
ALバスにPCLを置く RPCIltAI+     ・・・AHバスにPCI
を置くなし(ディフォルト)・・・Nバスにすべて0を
置く#AIuCntl・0000,   ・・PCLを
1つだけ増分す#ShlftCntl−0001   
 るため桁上げしてPとNとを加算する #LowWrite=10(OtPCL) =− A 
L U出力は0バスを介して、シフトなしでPC Lに戻る #MEMCNT. SMEM  ・・・長い読みの第1
サイクル#μCビット  ・・・第2サイクルのマイク
ロコードを作るように選択 される ltJump Addr XXXXXXX  −このマ
イクロ◆アドレス#Junp Cntl XXXX  
  は第3マイクロ命令S3で使用するため1lbに おいてラッチされる。 第2マイクロ命令サイクル(第4a図の32′;前のマ
イクロ・サイクルの#μCビットによって作られたマイ
クロコード): ビット      オペレーション なし(ドント・ケア ・・・AHおよびALバスの内−
All. All)    容は第1サイクルでバッフ
ァ19にラッチされた $PCIItP      ・・・PCHレジスタの内
容をPバスに置く ・・Nバスにすべて0を置く Nの場合なし (ディフォルト) 1:AluCntl−0000. $ShiftCntl−0010 110tPcH tIMEM tlMDtT ・・第1サイクルにおけるP CL増分からのマイクロ 桁上げμCを加算する。 ・・・0バス(移動なし)を経 たALU出力はPCHレ ジスタに戻る ・・・メモリ読出し継続 ・・・読み出されたバイトをM Dバスを介してT/MA Rレジスタに置く。 増分がALU桁上げ「1」を用いることによって第1サ
イクルで行われたことが注目される。第2サイクルは、
第1サイクルで作られたマイクロ桁上げビット(μC)
が「1」である場合にかぎり、PCHにあるプログラム
・カウンタの上位バイトを増分した。第2サイクルの間
、#μCによってわずか6個の正ビット18が作られる
。第C表は、マイクロ命令状態の詳細に関する他の例を
示す。 第7図から、グループ・デコード回路27およびメモリ
制御回路28は、アドレス・バスAH’およびAL’ 
と、第4図の3個のマイクロコード◆ビット#MEM,
#MEMCNT,#WRと、クロツクと、に応動じて一
定の制御信号を作る。 ポートA,B,CまたはDはそれぞれアドレスAH’お
よびAL’ に応じて信号GASGB,GCまたはGD
によって選択される。第2a図に見られるとおり、ポー
トASB,CまたはDのデータは場所0104、010
6、0108および010A(偶数アドレス)にあるの
で、これらのポートの1つはこれらのアドレスの1つに
よって活性化され、MDバスに対する呼出しを許す。C
またはDポートの方向をセットするために、AL’の最
下位アドレス・ビット一〇はボートCまたはDの方向レ
ジスタ部分を呼び出すのにも使用される(0108また
は010Aに1を加算する)。 方向レジスタ・ビットに書き込まれる「l」は出力とし
てボートのこのビットをセットし、「0」は入力として
このビットをセットする。 RAM12はAL’およびAH’の0000ないしOO
OIF (ページO)アドレスに応じてグループ・デコ
ード27によって作られるGRAM指令により呼び出さ
れ、また読出しあるいは書込みは#WRマイクロコード
によりメモリ制御回路28において作られたrRAM書
込みj制11WRAMの有無によって選択される。 ROM11は、AH’およびAL’のアドレスがF00
0からFFFFまでの範囲内にありかつ長いメモリ・サ
イクルの第1サイクルが第4図ならびに第4a図のよう
に示されるとき必ず、グループ●デコード回路27から
のGROMによるマクロコード呼出しのために選択され
る。GROMはYデコードおよび出力回路11Yでラッ
チ11cを活性化して、8ビット・マイクロコード語を
ROM1 1からMDバスにロードさせる。マルチプレ
クサ11mのMUXCNTL指令入力は、それがハイで
あるときAH’ およびAL’バスからのXアドレスを
Xアドレス・デコーダ11Xに使用させ、MUXCNT
LがローであるときのμAバスからのものは使用させな
い。 ROM1lは、MEMCNTとGROMの条件とが生じ
る場合を除き、すなわちアドレスFOOOからFFFF
までの長いメモリ◆サイクルの第1状態(マクロコード
取出し)の間を除き、すべての機械状態の際に生じるG
ROM’ によるマイクロコード呼出しのために選択さ
れる。マルチブレクサ11mを経るμAアドレスとGR
OM’ とを受けるXデコーダ11Xは、デコーダ/出
力回路11Y′を活性化させて、マクロコード取出しを
除くすべての機絨サイクルの際に線18に多ビット・マ
イクロ命令出力を与える。MUXCNTL指令は第4a
図の82の間にハイに進み、AL′およびAH’ アド
レスをμAの代わりにデコーダ11xに送らせる。 また第7図の回路はロード●アドレス指令LDADDR
をも作り、AHおよびALのアドレスをアドレス・バッ
ファ19にロードさせる。これは長いメモリ・サイクル
の第2状態を除くすべての機絨状態で生じる。OtM指
令は、日本特許出願「特許昭57−60848号明細書
」に記載される条件に応じて作られる。ROM11のマ
イクロコード出力をラッチ11cにラッチする指令LR
OMは、GROMおよびMUXCNTLを作る条件と同
じ条件によって作られるが、タイミングは違う。すなわ
ちLROMは第4a図のS2Q4の間に生じる。もう1
つの実施例では、FROM書込み」指令WROMは、メ
モリ11の部分が説明しようとするような読出し/書込
み形である場合に供給される。 ROM1 1のエントリ・ポイント回路21およびマイ
クロコード出力を含むCPUのマイクロ構造は、IRの
内容のいろいろなサブフィールドを指名するように設計
され、日本特許出願「特許昭57−60848号明細書
」の論理流れ図に似た第8a図から第8j図までの論理
流れ図に見られるような、第B表のマイクロコードの適
当なシーケンスを実行させる。第9図は代表的なオプコ
ードのマップを示すが、その一例は第A表である。 マイクロコード状態の若干例は第C表に示されている。 IRサブフィールドの指名は、IRか(例えばIAQ−
2で)ロードされてから第1マイクロ命令の1つにより
行われる。その後、指名はIRを再ロードする次の1つ
を含むマイクロ命令によって行われる。与えられたオブ
コードを実行する間に指名が要求されない場合は、IR
は汎用8ビット・レジスタとして使用される。 マイクロ命令間の制御の流れは、ROM11に対する次
のマイクロ命令アドレスμAが条件付分岐および無条件
分岐のいずれにおいても、エントリ・ポイント回路でど
う作られるかによって決定される。 チップの組合せROM11に記憶されるマイクロ命令は
、各マイ,クロ命令が実行すべき次のマイクロ命令を置
くアドレスを示す点において、水平にマイクロプログラ
ムされる特徴を有する。次のマイクロ・アドレスμAは
CROM出力18の2つのフィールド(vA23および
24)によって規定される: (1) #Jump Addr (7−0) 、ROM
I 1のベース・アドレスを示す8ビット●フィールド
;および (2) # JmpCntl  (2−0) 、# J
ump Addr(7−0)のアドレスからオフセット
された8つの指名の中のlつを示す3ビット・コード。 #Jump Cntl  (2−0)= r000Jの
場合、# J ump Addrフィールドは次のマイ
クロ命令のアドレスとして簡単に直接使用される。例え
ば第8b図において、これはBtoPPL−0からBL
oPPL−3までの続きである。# J ump C 
ntl(2−0)が非ゼロである場合、それはどの制御
線が# J un+p Addrの低位ビットに代わる
か、したがって次のマイクロ・アドレスμAを作るかを
示す。この方法ci,<日本特許出願「特許昭57=6
0848号明細書」において指名と言われ、MOS技術
で容易に実行される。 本例のデバイスにおいて、最大256個のマイクロ命令
が可能であり、おのおのは第6図の多ビット語(出力1
8)から成るが、本例の第A表の命令セットを実行する
には合計約150個未満のマイクロ命令で済み、したが
ってROMの8バイト幅の語が150語未満使用される
。これらはおのおの、マイクロ命令制御の可能な64個
の出力18を含む64ビット語であるが、実際に使用さ
れるビットはそれより少ないことがある。本デバイス用
の追加のマイクロコード機能(新しいマクロ命令)は、
標準の第A表の命令セットのサブセットを実行したり、
それを全面的に交換することによって加えられる。実行
される機能は、ROM11のマイクロコードをより多く
使用することによって拡張することができる。 第2a図について説明すると、第1図のマイクロコンピ
ュータの主作動モードは、メモリのすべてがROM11
お,よびRAM1 2の中に含まれるマイクロコンピュ
ータ・モードである。デバイスはマイクロコンピュータ
・モードになるようにRSTによって初明設定すなわち
リセットされ、すなわちI/O制御レジスタ0100の
ビット7およびビット6にゼロが置かれる。このモード
では、周辺ファイルFFのわずか5バイトまたは6バイ
トしか用いられず、残りの250は機能を持たない。マ
イクロコンピュータ●モード用の周辺ファイル・レジス
タの番号PO、P4等、および16進アドレスが第2a
図に示されている。ポートAは入力専用、ポートBは出
力専用であるが、ポートCおよびポートDは出力または
入力のいずれにも使用される。すなわちレジスタP9お
よびP11はポートCならびにポートDにおけるデータ
の方向を定めるが、このような制御レジスタはそれらが
無条件に入力または出力であるのでポートAおよびポー
トBには不要である。ポートA,B,CSDデータ・レ
ジスタは入出力ハッファ内に含まれるとともに、ALバ
スのアドレス04、06およびOA(16進)ならびに
AHバスのページ・ワンすなわち00000001を用
いて、MDバスによって呼び出される。同様に、ALア
ドレス09およびOBはポートCならびにポートD用の
バッファに含まれる制御レジスタを呼び出す。 1、1j御レジスタ・ビットにあるrOJは、入力用の
ポートをセットし、「1」は出力用のポートをセットす
る。使用されない面積にあるALおよびAHに加えられ
るアドレスは重要な結果を生しないので、ROM11プ
ログラムはもちろん、これらのアドレスを避けるように
書き込まれる。 第10a図において、8桁表示装置13−1およびキー
ボード・マトリックス31−2を含む装置が示されてい
るが、これは第1図のデバイスをそのマイクロコンピュ
ータ・モードで使用している。Cポートは表示のセグメ
ントに用いられ、Bポート出力は表示装置13−1の桁
およびキーボード・マトリックス13−2の列を駆動す
るが、これらは例えば米国特許第3,988,604号
、第3,921,142号または第4,158,431
号に示されたとおりてある。キーボード・マトリックス
13−2の行はAポート入力に加えられる。8X8−6
4のキー・マトリックスが可能であるが、通常要求され
るのは64未満である。 テキサス・インスツルメンツに譲渡されたヴアン・バー
ベル(Van Bavel )の米国特許第4,158
,431号のマイクロウエーブ・オーブン制御器に用い
られているような他のアクチベータおよびセンサが入力
または出力としてDポートに接続されることがある。 第2b図のメモリ●マップの周辺拡張モードでは、周辺
ページ0100ないしOIFF,すなわち256バイト
は、オフ・チップ呼出しのために利用される。Cポート
は多重8ビット・アドレス/データ・バスとして用いら
れ、Bバスの4ビットは制御線ALATCH,R/W,
ENABLEおよびCLOCK  OUTとして専用さ
れるが、これらは第10b図の装置に示されるとおりで
ある。この装置は、2個の他の付属プロセッサを用いる
方式において主プロセッサとして第1図のマイクロコン
ピュ−7夕10を使用する。1つは、テキサス・インス
ツルメンツに譲渡されたギュークダ(Gu*tag)ら
に対して発行された米国特許第4,243.984号に
記載されたようなビデオ表示プロセッサ13fである。 他は、チップ10を標準のIEEE488バス13hと
インターフェース接続させる汎用インターフェース・バ
ス・アダプタ・チップ13gである。チップ10はポー
トB4のアドレス・ラッチ信号ALATCHによって8
ビッ1・・ラッチ13l.にラッチされるCポートの8
ビット・アドレスを作り、次にそのアドレスはボー}B
6のイネーブル信号が活性になるときチップ13fおよ
び13g用のアドレス・バス13jで利用し得る。チッ
プ13fおよび13gは、ポートB7のクロック出力に
よってチップ10と同期される。次にCポートは、ポー
トB5の読出し/書込み制御R/W次第で、チップ10
、チップ13fおよびチップ13gに出入するデ−夕の
ために使用される。こうしてチップ13fおよび13g
はバスALならびにAHのアドレス0108、0 1 
0 9,・およびOIOAからOIFFまでに応動する
ように作られている。もちろん、第1図のAHバスは、
オフ・チップ呼出しのためにこのモードで必ず01を含
む。この周辺拡張モードで、Aポートは入力として、D
ポートは入力または出力として働くので、他の機能はチ
ップ13fおよび13gを呼び出すことを除いて実行さ
れる。例えば第10a図に示されるようなアクチュエー
タおよびセンサ、またはキーボード・マトリックスはこ
こでも使用される。 第2c図および第10c図の完全拡張モードは、第10
b図のようなCボートの8ビット●アドレス出力と、例
えばメモリ・チップ13kをアドレスし得るDポートの
別のアドレス・バイトとを提供する。完全拡張モードは
完全な64K (2バイトーCポートおよびDポート)
のオフ・チップ・アドレス範囲を与える。アドレス01
08ないしFFFFはオフ・チップ呼出しのために利用
できる。上記のとおり、アドレス0106でポートBは
メモリ制御を与えるとともにビットB4、B5、B6、
B7のクラ・クンク動作を与える。メモリ・チップ13
kは例えば32Kデバイスであることができ、Cポート
からの下位バイト・アドレスは131でラッチされるが
、上位バイトは線13mによりチップ13kに直接進む
。Cポートに進むデータ・バス13nはチップ13f,
13gおよび13kによって共有される。したがって第
10c図の装置は、第10b図の装置に比べてはるかに
大きなプログラム容量を持つが、Dポートは他の1/O
に利用できない。しかしキーボード・マトリックス13
−2は図示のとおりBボートの残りの4ビット(アドレ
ス0106、ビット0−3)およびAボートに接続され
る。 本発明により作られたマイクロコンピュータ10は、テ
キサス・インスツルメンツに譲渡されたヴアン・バーベ
ルらに対して発行された米国特許第4,158.431
号に示されたような自己試験手順を含むことがある。特
許第4,158.431号の手順は、第10図の表示文
字13−1およびキー13−2のすべて、ならびにポー
トDの1/Oデバイスの7すべてを、作られたROM1
1の一連のマイクロ命令の制御下で試験することから戊
っている。この自己試験手順は、装置の外部素子のすべ
てが作動していることを立証しかつチップ10自体が完
全に機能しているある表示を与えるが、これは徹底的な
チェックではない。しかし、このような装置に接続する
前に、機能試験が行われなければならない。例えば、製
造後(カストマに引き渡される前に、または受領材料検
査としてカストムによって)ROM11の内容を試験す
るために、ROMの全内容を一度に1語ずつ読み出し、
各語を所望のビット・パターンと比較することがこれま
でに実施されていた。このような試験を許すマイクロコ
ンピュータ・デバイスは、いずれもテキサス・インスツ
ルメンツに譲渡された、ジョン・ディー・ブライアント
(John D.Bryant)らに対して発行された
米国特許第3,921,142号およびイー・アール・
コーデル(E. R. Caudel)ならびにジョセ
フ・エッチ・レイモンド(Joseph H. Ray
mond )に対して発行された米国特許第4.’02
4,386号において開/゛ 示されかつ主張されている。しかしこのような試験は、
試験機械が全ROMコード、すなわち2048バイトま
たは4096バイトをl己憶することを要求し、また異
なる各ROMコード用の具なるチェック・コードを要求
する。.さらに、この試験は、ROMの各形式について
試験機械と被試験デバイスとの間で最低1回の転送を要
求する。これらの要素は試験を過度に長びかせ、広範囲
な試験データまたはソフトウエアを必要とし、また試験
機械に適量のプログラム・スペースを使い果たさせる。 テキサス・インスツルメンツに譲渡された日本特許出願
「特許昭57−60848号明細書」に示されるとおり
、マイクロコンピュータ10は、2バイトのマクロコー
ドがROM1 1に製造時に固定されかつ残りのマクロ
コードを試験用にされる、試験方法を使用することがで
きる。この2バイト・コードは各ROMコードまたはプ
ログラムについて異なり、ROM内でコード化されるす
べての他のバイトのある機能を表わす。例えばそれは、
ROMにあるすべての他のビットの和のLSBであった
り、なるべく全ビットの多重検査を与えるある他の機能
であったりする。この2バイト・コードはサイクリック
・リダンダンシ・コードすなわちCRCと呼ばれ、それ
を作るのに用いられるデータの各ビットの関数である1
6ビット値である。CRCは、CRC自体を除きROM
にあるマクロコードの各バイトを用いて計算される。 この試験のプログラムはチップ10のRAMi2にロー
ドされるが、チップ10はムーブ・ダブルMOVDまた
はムーブMOV命令のシーケンスによって拡張モードの
1つ(第2b図または第2C図)にある。この方法で、
試験コードのすべてはRAMI 2に記憶され、次にM
OV命令はマイクロコンピュータ10を第2a図の単チ
ップ・モードに戻す。ROMにあるすべてのバイトがA
LU機能に合格すると、試験は終わる。次にプログラム
はポートCを出力として定め、計算が終ったことを外部
に示すコードを出力するので、試験機械はCボートおよ
びDボートの2バイトの結果をさがすように警告される
。オリジナル・チェック・コードは計算された値と比較
されて、比較出力を出す。約890,000通りの機城
状態が、この試験プログラムを実行するマイクロコンピ
ュータ10によって要求されるが、これはすべて内部的
なものであり、試験機械は独特のコードを記憶する必要
なく、またオフ・チップ呼出しは試験の大部分について
要求されない。 しかし、本発明の1つの実施例により、追加の試験装置
が利用できる。マイクロコード自体は一度に1バイトず
つ呼出され、ROM1’lに記憶されたチェック・コー
ドまたはマイクロコードの外部記憶された表示に対して
検査される。この目的で、ROM11のマイクロコード
部分は、例えばrMOV%n,PnJ命令によって周辺
ファイルに書き込まれたり、rMOV%n,AJによっ
てAレジスタに書き込まれ、これによりそれが内部で作
動されかっrMOVP  A,PnJ命令によって外部
に書き込まれるようにデコーダ11y1ラッチ11cお
よびMDバスにおいて呼び出される。取出し即時マイク
ロコードは、例えばオペランド・アドレスまたは定数を
取り出すのに通常用いられるが、ROM11からのマイ
クロコードのバイトを出力ボー}B,C,またはDの中
の1つに加えるのに使用される。命令rMOVP  %
FFOI、P6Jは下記マイクロコード状態、すなわち
IAQ−0、IAQ−1、IAQ−2、ItOPPL−
0、ILoPPL−1、BLoPPL−0、BtoPP
L−1、BtoPPL−3、STP−0、STAL−2
を実行し、次にIAQ−0に戻るが、このシーケンスは
第8図および日本特許出願「特許昭57−60845号
明細書」の表に見られる。 ItoPPL−0の状!(第4a図の82に相当する)
の間、第B表または第8図のマイクロコード状態の1つ
の8バイト中の1バイトであるFFO1(第2図のマク
ロコード・アドレス)におけるマイクロコードのバイト
は、ALUでの処理、オフ・チップ書込み、またはRA
MI 2書込みのために呼び出される。上記試験プログ
ラムを用いてマイクロコードと,・÷クロコードを共に
検査するため、CRCはROM1 1のマイクロコード
部分とマクロコード部分の全バイトを考慮して計算され
る。方法は前述のように作動し、ロード命令はマイクロ
コードを含むROMI 1の全バイトを取り出す。 マイクロコンビュータ◆チップの試験のこの方法は、開
発に有利であり、さらにいくつかの問題点を抱えている
大量生産活動において重要である。 外部ビンの数は制限されており、ピンに利用できるデー
タは命令セットおよび内部回路によって制限される。し
たからで、パッケージされたデバイスの試験で、何百と
いう内部節点および信号は外部から利用できない。内部
ブロービングは細心な注意を要し、きわめて時間がかか
る。したがって、製造中の欠陥をチェックするために装
置の事実上あらゆる可能な作動でサイクルされる試験機
城を提供する必要があった。LSIチップ用の試験機器
はもちろん計算機により制御されるが、この種の試験は
依然として実行に時間がかかり過ぎるだけではなく、各
需要者用のすべての異なるROMコードが異なる試験シ
ーケンスを要求するのでソフトウェア費用が禁止的高価
になる。その通り、このような試験が不完全であったの
は、ある命令シーケンスの実行がデータに依存しかつす
べての可能な組合せが決して実行できなかったり想像さ
えできなかったからである。さらに、試験機械における
時間およびプログラム記憶制限は実際の束縛を課す。 製造中にプログラムされるrROMJに代わるメモリ1
1は、静RAMセルを持つ読出し/書込み形のものであ
り得るので、マクロコードとマイクロコードの両方はチ
ップの外部からロードされる。第6a図から、メモリ1
1は、「ROM書込み」制御WROMが含まれかつデコ
ーダ11yが出力回路だけではなく入出力回路であるほ
か、前と同じである。グループ・デコード回路27およ
びメモリ制御回路28は、GROM AND #WRが
生じるとき、WROM指令を作る。メモリ11の一部は
、メモリの残りをロードするタスクを果たすだけのマク
ロコードおよびマイクロコードが存在するように、永久
プログラムされたままでなければならない。この目的で
、第8e図のリセット・マイクロコードは、周辺ファイ
ルPFからの長い読出しおよびメモリ11への長い書込
みを実行するのに必要なマイクロコードと共に、メモリ
11の永久ROM部分に固定される。したがってリセッ
ト・シーケンスは、メモリ11の読出し/書込みアドレ
スの全部がロードされるまで、例えばポートAを読み出
してポートAデータをメモリ11に書き込む、マイクロ
コードのグループを加えることによって補われる。この
機能およびリセット用のマイクロコード・アドレスは、
すべてがアレイのFFFF端にまたは組立ておよびプロ
グラミングの見地から便利な他の場所にあるように、変
えられる。メモリ11が最初にロードされ、ロードされ
たプログラムのタスクが完了してから、メモリ11の全
読出し/書込み部分11Wは新しいマイクロコードなら
びにマクロコード、または新しいタスクのために交換さ
れたそれの部分のみを恐らく再b−ドされよう。永久プ
ログラム済の部分11Pは、リセットすなわち初期ロー
ディング仕事のほかに、この更新タスクを必要とするマ
クロコードおよびマイクロコードをすべて含む。 日本特許出願「特許昭57−60848号明細書」に説
明され、または第8a図ないし第8j図に示されるとお
り、マイクロ命令の実行は、本デバイスにおいて、第1
図のマクロ割込みピンINTまたは第8e図のINT−
0ないしINT−5マイクロ命令の機能に加わりかつそ
れと全く離れたマイクロ割込み装置によって割り込まれ
る。第6b図から、マイクロ割込み制御ラッチ36によ
って作られるマイクロ割込み信号μIにより、第4図の
SIQ2に存在するマイクロアドレスは8ビット・ラッ
チ31でセーブされ、またマイクロベクトル・アドレス
(たとえば60すなわち01100000)は線μAを
介してマルチプレクサ32の制御によりROM11のデ
コーダに加えられる。ベクトル・アドレスは、第D表に
示されるとおりマイクロ命令のシーケンスを次のように
開始する: (a)すべての未決のレジスタ、アドレス、およびステ
ータス・ビットを保存する (b)RFレジスタ(本例ではR63)からタイマ1の
値を取り出す (c)タイマ1の値を減分し、RF (R63)に書き
戻す (d)タイマ1の値がゼロに等しければ、割込みフラグ
1 (R62、ビット0)をセットする(e)タイマ2
、タイマ3などが含まれるならば、(1+)ないし(d
)を続ける (1’)未決のマイクロ命令シーケンスに戻る(a)に
おいて、μINT−0マイクロ命令のみがMDバスをセ
ーブするのは、PCLSPCH,AML,T/MAH,
IR,STおよびspレジスタかンーケンスに使用され
なかったり、変化されないからである。別法として、M
Dバスのデ−夕はプッシュおよびホップ・マイクロ命令
によってスタックでセーブされる。ステータス・レジス
タSTは、#LS.Tビットが第D表で主張されていな
いので、マイクロ命令によって記憶される必要はない。 フラグとしてRFレジスタを用いる代わりに、ステータ
ス・レジスタSTのもう1つのビットが使用される。と
ころで、ハードウェア・ラッチはマクロ割込み使用可能
を作るために使用される。 上記実施例においてマイクロ命令は、マクロ割込みを試
験する前に、新しい各マクロ命令の実行を始めるに当た
ってマイクロ割込みフラグ(R62、ビット0)を試験
するためにIAWシーケンスに加えられなければならな
い。マイクロ割込みフラグを検査するために、またタイ
マ・レジスタR63等に新しい値を書き込みかつマクロ
コードを用いる例えばトラップ・ルーチンによって、所
望のどんな機能でも果たすために、ビット試験はIAQ
−0の前に実行される。第D表のIAQ−OaおよびI
AQ−Ob参4B<(02fl1以上のタイマが使用さ
れる場合は、すべてのフラグがポールされる。 与えられたタスクの間に作動するタイマの数は可変であ
ることかできる。RFレジスタの1つは作動の際に別の
タイマの数を定めるように指定されることがあり、第D
表のマイクロコードはこのレジスタによりセットされた
多数の時間をループするために書き込まれる。さらに、
マイクロ割込み間の間隔はカウント・チェーンを定める
P2およびP3のようなPFレジスクの1個または2個
を用いて可変にすることができる。この方法で(2個の
かかるレジスタを用いて)、マイクロ割込み間の時間は
マイクロコード制御の下で、216の範囲にわたって変
化することができる。 マクロコードに書き込むアセンブリ・レベル・プログラ
マに対するマイクロ割込み装置の影響は、ハードウエア
・タイマか時間切れになるのと全く同じである。マイク
ロプログラムは、CPUがタイマを実行するためにj,
+71ijl共有されることだけを知ればよい。第6b
図のマイクロ割込み装置はワン・レベルのマイクロサブ
ルーチンとして働き、またもちろんタイマは外の多くの
目的にも使用することができる。 本明細書に詳しく説明されたマイクロコンピュータは、
単シリコン・チップにあるNチャンネル・シリコン・ゲ
ート集積回路の形をしている。しかし本発明の特徴はも
ちろん、金属ゲート、Pチャンネル、CMOS,シリコ
ン・オン●サファイア、などのような他の工程によって
作られたデバイスにも使用される。また、組合せメモリ
11は固定プログラム形のマスク・プログラム可能RO
Mとして説明されたが、もちろん電気プログラム式RO
Mまたは電気消去式ROMが使用される。 ROM1 1はプログラム◆メモリと言われ、RAM1
2はデータ・メモリと言われ、これらは多くの応用の中
の主機能である。しかし言うまでもなく、ROM11か
らの「データ」はあるアルゴリズムで使用され(「デー
タ」は定数などである)、デバイスはRAM12からの
マクロ命令コードを実行することができ、マクロコード
すなわちプログラム・ブロックは外部テープまたはディ
スク・ドライブから、あるいは例えば電話結合器からR
AM12にダウン・ロードされ、またRA〜f12から
実行される。さらにREADY,HOLD,バス・ステ
ータス・コードなどのような追加の制御線および機能は
、本発明の特徴を持つデバイスに使用される。 この発明は説明のための実施例について説明されたが、
説明は制限的意味に解釈するようにされていない。説明
のための実施例のいろいろな変形、および本発明の他の
実施例は、本説明に関し当業者にとって明白であると思
う。したがって前記特許請求の範囲は本発明の真の範囲
内に入るすべてのかかる変形または実施例をカバーする
ようにされている。 田 C.)[−I  ← 国 】トω■<ωロロω−ローNω畔のΦトω■ぺのoOω
賜! 自コ ロロ ロコ ω ω (4)0− (4)
−4 山 ら 山 ロー ム.ロー ら ロシ 山 叫
 自1 ら シ.ム−  Cs..  Cw以上の開示
に加えて、さらに以下の事項を開示する。 リ・アドレスを記憶する複数個のレジスタと、演算/論
理ユニットおよびレジスタを呼び出すバス装置と、命令
語に応じて演算/論理ユニット、レジスタおよびバス装
置の作動ならびにその呼出しを制御する指令を発生させ
る制御装置と、をすべで集積回路内に持つ半導体集積回
路を含むマイクロコンピュータ・デバイスにおいて、制
御装置はアドレス入力装置および第1多ビット出力なら
びに第2多ビット出力を持つ組合せメモリ装置を含むと
ともに、前記アドレス入力装置に第1アドレスおよび第
2アドレスを加えるアドレス装置を含み、各第1アドレ
スは命令語によって選択された作動を開始させ、各第2
アドレスは複数個の前記指令を定める最低1個のマイク
ロコード出力語を作る、ことを特徴とする前記マイクロ
コンピュータ●デバイス。 (2)マイクロコード・ビットの制御下で入力に供給さ
れるオペランドにより演算/論理操作を実行するALU
と、 複数個のデータ滓よひびアドレス・レジスタと、マイク
ロコード・ビットの制御下でALUおよびレジスタを呼
び出すデータ/アドレス・バス装置と、 前記マイクロコードを記憶する読出し/書込みマイクロ
コード・メモリ装置と、 デバイスの外部ソースから前記メモリ装置にロードする
装置と、 を含むマイクロコンピュータ・デバイスにおいて、前記
素子のすべてが単半導体集積回路に形成され、かつ前記
バス装置およびレジスタがマイクロコード語のビット数
よりもはるかに少ないビットを含むことを特徴とする前
記マイクロコンピュータ・デバイス。 (3)マイクロコードの内部自己試験機能を備えた単半
導体集積回路に形成されたマイクロコンビュータ・デバ
イスであって、 複数個のアドレス/データ・レジスタを持つALUおよ
びALU用のレジスタならびに入出力を呼び出すバス装
置を有するCPUと、 おのおの複数個bビットを持つ複数個の異なるマイクロ
コード語を発生させる装置を含むCPUの作動を定める
制御装置と、 前記複数個の全マイクロコード語にある全ビットに左右
される検査コード表示を記憶する集積回路内の記憶装置
と、 前記複数個のビットの組より少ない組で前記複数個のマ
イクロコード語を呼び出すために前記CPUを含み、前
記複数個の全マイクロコードにある全ビットにより順序
操作を実行し、かかる操作の結果が前記検査コード表示
に相当する場合は第1出力を作り、かかる結果が前記検
査コード表示に相当しない場合は第2出力を作る装置と
、を含むことを特徴とする前記マイクロコンピュータ・
デバイス。 (4)演算/論理ユニットと、データおよびメモリ・ア
ドレスを記憶する複数個のレジスタと、演算/論理ユニ
ットおよびレジスタを呼び出すバス装置と、命令語に応
じて演算/論理ユニット、バス装置およびレジスタの作
動を制御する指令セットのシーケンスを,作る制御装置
と、をすべで集積回路内に持つ半導体集積回路を含むマ
イクロ割込みならびにマクロ割込みの両方を備えている
マイクロコンピュータ・デバイスにおいて、制御装置は
命令語のシーケンスを呼び出すとともに各命令語に応じ
て指令セットの前記シーケンスの1つを作る装置を含み
、制御装置は前記レジスタおよびバス装置にあるデータ
をセーブしながら指令セットの前記シーケンスのどれで
もを割り込むとともに命令によって定められない演算/
論理ユニットによる操作を実行する指令セットのマイク
ロ割込みルーチンを実行して、次にかかるシーケンスに
戻るようにする装置を含み、さらに制御装置は命令語の
前記シーケンスを割り込むとともに指令セットの別のシ
ーケンスを用いて命令語のマイクロ割込みルーチンを実
行して、次に命令語の割り込まれたシーケンスに戻るよ
うにする装置を含むことを特徴とする前記マイクロコン
ピュータ・デバイス。
Since [] stands for "toJ", #-OtST means "O bus to ST register", ie the gate connecting the O bus to the status register is activated by this bit. The 8-bit interlaced address appearing on line 23 is represented by #J IIIpAddr (7 -0), while the 3 bit appearing on line 24 used for the designated address
Bit skip control is represented by #JmpCntl (2-0). These 11 bits are used by entry point circuit 21 to create the next microaddress μA. A total of 20 bits 18 from #OtPCH to #ONEtAH in FIG. 6 are from bus 16 to register 15.
Control calls to . #LovWr among these
itcO and #LowWritc1 are decoded to create pseudo-microinstructions OtPCL, OtMAL and otsp. Bits #ONEtAL and #ONEtAH place a ``1'' on the AL or AH bus and place the microinstruction with B register address 000l or PF page address 0100 (hex). A
The default for all zeros appearing on L and AH is the A register address in the register file. The connections between register 15 and bus 16 are explained in detail below. The #~IEMCNT bit is a "memory continuation" control on long memory cycles. Since RAM12 is called for reading or writing in one state time, a call from ROM11 to the microcode or peripheral in PF uses two states, so the control line #MEMCN
T is active in the first state of every long memory cycle as seen in FIG. #MEMCNT
is used to generate several other control signals, necessarily identifying the first or second state of a long memory cycle. #MEM bit represents memory cycle, ROM
11, RAM 12, or external memory is always active when called. The #WR bit is a write command, so if #MEM and #WR are active, there are 7 memory write conditions, but if #MEM is active and #WR is inactive, there is a memory read condition rI. .#-LST signal is a load status command for ALUM calculation.Status register ST is output by #-LST command.
The bus gave me a swipe. ALU is #ShjrtCnt
l (3-0), #AIuCntl (3-0), and 9 bits labeled by #ABL. These controls are explained in detail below. Since the microinstruction bits 18 are arranged in the order in which they are used in the strip, and not necessarily in the order shown in FIG. 6, the control bits 18 are generated as close as possible to the point at which they are used in the strip. As seen in Figure 6, the microcode output has #P
Microcode #μC bits such as CHtP' are included, and these are buffers that delay one state to make the bits needed by the microcode in the second state of macrocode fetch (82' in Figure 4a). circuit 1
1b'. These bits come from buffer 11b' appearing on line 18b and are the same as some of bits 18. The second state of macrocode fetching is almost always one of three things: (1) the opcode portion of the approaching instruction is loaded into the IR and the PCI is incremented; (2) the address byte of the next state is between AH or AL
or (3) a byte recalled from ROM 11 via the MD is loaded into the T register for use in a later machine state and the PCI is incremented. . To increment the PCH, the ALU and microcarry controls are created as described below. Only a few active #μC bits are required from buffer 11b' because virtually all of bits 18 are zero to define the required microcode. These operations are e.g. IAQ-0, IAQ-
1 set, and BLoPPL-0, Bto, PPL-
1 and I LoA-0, I toA-1, as described in the microinstruction sequence of FIG. ROM output buffer 71l receiving lines 23 and 24
Part b is latched to hold microaddress μA for one state time whenever the CROM' command is asserted. Therefore, the next address made from lines 23, 24 in S1 is the S
It is held until the end of 2. The GROM' command is made from microcode bits #MEMCNT and the AH' bit. FIG. 6 also shows the 8-bit constant output #C (7-0) and the #CtN command that adds an 8-bit constant to the N bus. This constant function is not used for Table B microinstructions and may be used in place of immediate fetch for offsets, etc. Microinstruction control of calls to registers 15, bus 16 and ALU 14 is assigned to Texas Instruments, Inc., incorporated herein by reference.
It is described in the Japanese patent application "Japanese Patent No. 57-60848". Examples of ALU operations include addition with zero carry (#A luc ntl and #Shif't
Cntl is all zero) causes the ALU to calculate the sum of the contents of the P bus and the N bus. To calculate the difference between the contents of the P bus and the N bus: #AIuCntl - 1l11 and #Shil'LCntl - 0 0 0 1. Since borrowing is undesirable, the "1" must be carried in this subtraction. As a complete example, the following two microinstructions read the current byte addressed by the PCL and PCI registers and send it to the T/MA
H register and increment PCL and PCH registers: First microinstruction cycle (macrocode fetch S2 in Figure 4a): Bit operation #PCLtP. #PAL ...Place PCL on AL bus via P bus RPCIltAI+ ...Place PCI on AH bus
(default)...Place all 0s on the N bus #AIuCntl・0000, ...Increment PCL by one #ShlftCntl-0001
Carry up to add P and N.#LowWrite=10(OtPCL) =-A
The L U output returns to PC L without shifting via the 0 bus #MEMCNT. SMEM...Long reading first
Cycle #μC bit ... ltJump Addr XXXXXXX - This micro address #Jump Cntl XXXXX selected to create the second cycle microcode
is latched in 1lb for use in the third microinstruction S3. Second microinstruction cycle (32' in Figure 4a; microcode created by #μC bit of previous microcycle): Bit No operation (don't care...in AH and AL buses)
All. All) The contents are $PCIItP latched in the buffer 19 in the first cycle...Place the contents of the PCH register on the P bus...Place all 0s on the N bus.No case of N (default) 1: AluCntl-0000. $ShiftCntl-0010 110tPcH tIMEM tlMDtT - Add the micro carry μC from the PCL increment in the first cycle. ...The ALU output via the 0 bus (no movement) returns to the PCH register...Continue reading memory...Place the read byte in the T/MAR register via the MD bus. It is noted that the increment was done in the first cycle by using an ALU carry '1'. The second cycle is
Micro carry bit (μC) created in the first cycle
The high byte of the program counter in the PCH was incremented only if . During the second cycle, only 6 positive bits 18 are produced by #μC. Table C provides other examples of microinstruction state details. From FIG. 7, group decode circuit 27 and memory control circuit 28 are connected to address buses AH' and AL'.
and the three microcodes in Figure 4 ◆Bit #MEM,
A constant control signal is generated in response to #MEMCNT, #WR, and the clock. Ports A, B, C or D output signals GASGB, GC or GD depending on addresses AH' and AL', respectively.
selected by As seen in Figure 2a, the data for port ASB, C or D is located at location 0104, 010.
6, 0108 and 010A (even addresses), one of these ports is activated by one of these addresses, allowing calls to the MD bus. C
Or to set the direction of the D port, the least significant address bit 10 of AL' is also used to call the direction register portion of boat C or D (add 1 to 0108 or 010A). An ``l'' written to the direction register bit sets this bit of the boat as an output, and a ``0'' sets this bit as an input. RAM12 is AL' and AH' 0000 to OO
It is called by the GRAM command made by the group decode 27 according to the OIF (page O) address, and reading or writing is selected depending on the presence or absence of the rRAM write control 11 WRAM made in the memory control circuit 28 by the #WR microcode. Ru. In ROM11, the address of AH' and AL' is F00.
Whenever the first cycle of a long memory cycle in the range from 0 to FFFF is shown in FIGS. be done. GROM activates latch 11c in Y decode and output circuit 11Y to load the 8-bit microcode word from ROM11 onto the MD bus. The MUXCNTL command input of multiplexer 11m causes X address decoder 11X to use the X address from the AH' and AL' buses when it is high,
Anything from the μA bus when L is low is not allowed to be used. ROM1l is stored from address FOOO to FFFF, except when the MEMCNT and GROM conditions occur.
Long memory up to ◆G
Selected for microcode recall by ROM'. μA address and GR via multiple plexer 11m
X decoder 11X, which receives OM', activates decoder/output circuit 11Y' to provide a multi-bit microinstruction output on line 18 during all machine cycles except macrocode fetches. MUXCNTL directive is 4a
It goes high during 82 in the figure, causing the AL' and AH' addresses to be sent to decoder 11x instead of μA. Also, the circuit in Figure 7 is the load address command LDADDR.
is also created and the addresses of AH and AL are loaded into the address buffer 19. This occurs in all machine states except the second state of long memory cycles. The OtM directive is created according to the conditions described in the Japanese patent application "Specification of Japanese Patent No. 57-60848." Command LR to latch the microcode output of ROM11 to latch 11c
OM is created using the same conditions that create GROM and MUXCNTL, but the timing is different. That is, LROM occurs during S2Q4 in Figure 4a. One more
In one embodiment, the write FROM command WROM is provided if the portion of memory 11 is of the read/write type as described. The microstructure of the CPU, including the entry point circuit 21 of ROM11 and the microcode output, is designed to name various subfields of the contents of the IR, as described in Japanese Patent Application No. 1984-60848. The appropriate sequence of microcode in Table B is executed, as seen in the logic flow diagrams of FIGS. 8a through 8j, which resemble logic flow diagrams. FIG. 9 shows a typical opcode map, one example of which is Table A. Some examples of microcode states are shown in Table C. The designation of the IR subfield is based on the IR (e.g. IAQ-
2) and then executed by one of the first microinstructions. The appointment is then done by a microinstruction that includes one of the following to reload the IR: If no nomination is required while executing a given obcode, the IR
is used as a general purpose 8-bit register. Control flow between microinstructions is determined by how the next microinstruction address μA to ROM 11 is created in the entry point circuitry for both conditional and unconditional branches. The microinstructions stored in the chip's combinational ROM 11 are horizontally microprogrammed in that each microinstruction indicates an address at which to place the next microinstruction to be executed. The next micro address μA is defined by two fields (vA23 and 24) of CROM output 18: (1) #Jump Addr (7-0), ROM
8-bit field indicating the base address of I1; and (2) #JmpCntl (2-0), #J
A 3-bit code indicating one of the eight nominations offset from the address of ump Addr (7-0). If #Jump Cntl (2-0) = r000J, the #Jump Addr field is simply used directly as the address of the next microinstruction. For example, in Figure 8b, this is from BtoPPL-0 to BL
This is a continuation of oPPL-3. # Jump C
If ntl(2-0) is non-zero, it indicates which control line replaces the low bit of #Jun+p Addr and thus makes the next microaddress μA. This method ci,
0848 and is easily implemented in MOS technology. In the device of this example, a maximum of 256 microinstructions are possible, and each microinstruction is a multi-bit word (output 1
8), but a total of less than about 150 microinstructions are required to execute the Table A instruction set of this example, thus using less than 150 8-byte wide words of ROM. Each of these is a 64-bit word containing 64 microinstruction-controlled outputs 18, although fewer bits may actually be used. Additional microcode features (new macro instructions) for this device include:
execute a subset of the standard Schedule A instruction set,
Added by replacing it entirely. The functions performed can be expanded by using more microcode in ROM 11. Referring to FIG. 2a, in the main operating mode of the microcomputer in FIG.
and a microcomputer mode contained in RAM12. The device is first set or reset by RST to be in microcomputer mode, ie zeros are placed in bits 7 and 6 of I/O control register 0100. In this mode, only 5 or 6 bytes of the peripheral file FF are used, and the remaining 250 have no function. Peripheral file register numbers PO, P4, etc. and hexadecimal address for microcomputer mode are 2a.
As shown in the figure. Port A is for input only, port B is for output only, but port C and port D can be used for either output or input. That is, registers P9 and P11 direct the data at ports C and D, but such control registers are not needed for ports A and B since they are unconditionally inputs or outputs. Ports A, B, CSD data registers are contained within the input/output huffer and are called by the MD bus using addresses 04, 06 and OA (hex) on the AL bus and page one or 00000001 on the AH bus. . Similarly, AL address 09 and OB call the control registers contained in the buffers for port C and port D. rOJ in the 1 and 1j control register bits sets the input port, and "1" sets the output port. The ROM 11 program is of course written to avoid addresses added to AL and AH that are in unused area, as these addresses will not produce significant results. In FIG. 10a, an apparatus is shown including an eight digit display 13-1 and a keyboard matrix 31-2, using the device of FIG. 1 in its microcomputer mode. The C port is used for segments of the display, and the B port outputs drive the digits of the display 13-1 and the columns of the keyboard matrix 13-2, as described, for example, in U.S. Pat. , No. 921,142 or No. 4,158,431
It is as shown in the number. Row of keyboard matrix 13-2 is applied to the A port input. 8X8-6
A key matrix of 4 is possible, but fewer than 64 are typically required. Van Bavel U.S. Patent No. 4,158, assigned to Texas Instruments.
Other activators and sensors, such as those used in the microwave oven controller of , 431, may be connected to the D port as inputs or outputs. In the peripheral expansion mode of the memory map of FIG. 2b, peripheral pages 0100 through OIFF, or 256 bytes, are available for off-chip calls. The C port is used as a multiplexed 8-bit address/data bus, and the 4 bits of the B bus are connected to control lines ALATCH, R/W,
ENABLE and CLOCK OUT, as shown in the apparatus of FIG. 10b. This system uses the microcomputer 10 of FIG. 1 as the main processor in a manner that uses two other attached processors. One is a video display processor 13f, as described in US Pat. No. 4,243.984, issued to Gu*tag et al., assigned to Texas Instruments. The other is a general purpose interface bus adapter chip 13g that interfaces chip 10 with a standard IEEE 488 bus 13h. Chip 10 is set to 8 by the address latch signal ALATCH on port B4.
Bit 1...Latch 13l. 8 of the C port latched to
Create a bit address, then that address is
6 enable signals are available on address bus 13j for chips 13f and 13g when activated. Chips 13f and 13g are synchronized with chip 10 by the clock output of port B7. Next, the C port is controlled by the chip 10 depending on the read/write control R/W of port B5.
, used for data entering and exiting chip 13f and chip 13g. Thus chips 13f and 13g
is the address 0108, 0 1 of bus AL and AH
09, . . , and from OIOA to OIFF. Of course, the AH bus in Figure 1 is
Always contains 01 in this mode for off-chip calls. In this peripheral expansion mode, the A port is used as an input, and the D
Since the ports serve as inputs or outputs, other functions are performed except for calling chips 13f and 13g. Actuators and sensors, such as those shown in FIG. 10a, or a keyboard matrix are used here as well. The fully expanded mode of Figures 2c and 10c is
It provides an 8-bit address output of the C port as shown in FIG. b and another address byte of the D port which may address, for example, memory chip 13k. Full expansion mode is full 64K (2 bytes to C and D ports)
gives the off-chip address range of Address 01
08 through FFFF are available for off-chip calls. As mentioned above, at address 0106 port B provides memory control and bits B4, B5, B6,
Gives B7's Kura Kunk movement. memory chip 13
k can be a 32K device, for example, and the lower byte address from the C port is latched at 131, but the upper byte goes directly to chip 13k by line 13m. The data bus 13n going to the C port is connected to the chip 13f,
Shared by 13g and 13k. Therefore, although the device of FIG. 10c has a much larger program capacity than the device of FIG. 10b, the D port is
not available. But keyboard matrix 13
-2 is connected to the remaining 4 bits of the B boat (address 0106, bits 0-3) and the A boat as shown. A microcomputer 10 made in accordance with the present invention is disclosed in U.S. Pat. No. 4,158.431 issued to Van Barbel et al., assigned to Texas Instruments.
may include self-testing procedures such as those shown in this issue. The procedure of Patent No. 4,158.431 converts all of the display characters 13-1 and keys 13-2 in FIG.
1 from testing under the control of a series of microinstructions. Although this self-test procedure establishes that all of the external elements of the device are working and provides some indication that the chip 10 itself is fully functional, it is not an exhaustive check. However, before connecting to such equipment, a functional test must be carried out. For example, to test the contents of the ROM 11 after manufacturing (before delivery to the customer or by the customer as a receiving material inspection), the entire contents of the ROM may be read out one word at a time;
Comparing each word to a desired bit pattern has previously been performed. Microcomputer devices that permit such testing are disclosed in U.S. Pat. No. 3,921,142 issued to John D. Bryant et al. E.R.
E. R. Caudel and Joseph H. Ray
U.S. Patent No. 4. '02
No. 4,386. However, such a test
It requires the test machine to store the entire ROM code, ie 2048 bytes or 4096 bytes, and also requires a separate check code for each different ROM code. .. Additionally, this test requires at least one transfer between the test machine and the device under test for each type of ROM. These elements make the test unduly long, require extensive test data or software, and consume a modest amount of program space on the test machine. As shown in the Japanese patent application "Patent No. 57-60848" assigned to Texas Instruments, the microcomputer 10 has a 2-byte macro code fixed in the ROM 1 1 at the time of manufacture, and the remaining macro code is tested. Any test method that is commonly used can be used. This two-byte code is different for each ROM code or program and represents some function of all other bytes encoded within the ROM. For example, it is
It may be the LSB of the sum of all other bits in the ROM, or it may be some other function that provides multiple testing of possibly all bits. This two-byte code is called a cyclic redundancy code, or CRC, and is a function of each bit of data used to create it.
It is a 6-bit value. CRC is ROM except for CRC itself.
It is calculated using each byte of macro code in . The program for this test is loaded into RAMi2 of chip 10, while chip 10 is in one of the extended modes (FIG. 2b or FIG. 2C) by a sequence of move double MOVD or move MOV instructions. using this method,
All of the test codes are stored in RAMI 2, then M
The OV instruction returns microcomputer 10 to the single chip mode of Figure 2a. All bytes in ROM are A
If the LU function is passed, the exam ends. The program then sets port C as an output and outputs a code indicating to the outside world that the calculation is finished, so the test machine is alerted to look for the two byte results on the C and D boats. The original check code is compared with the calculated value to produce a comparison output. Approximately 890,000 machine states are required by the microcomputer 10 running this test program, but these are all internal; the test machine does not have to store any unique code and can - Chip recall is not required for the majority of tests. However, one embodiment of the present invention allows for additional testing equipment to be utilized. The microcode itself is recalled one byte at a time and checked against a check code stored in ROM 1'l or an externally stored representation of the microcode. For this purpose, the microcode portion of ROM 11 is written to a peripheral file by the rMOV%n,PnJ instruction, for example, or to the A register by rMOV%n,AJ, which causes it to be activated internally.rMOVP A, It is called by the decoder 11y1 latch 11c and the MD bus to be written externally by the PnJ instruction. Fetch-immediate microcode, typically used to fetch operand addresses or constants, for example, is used to add a byte of microcode from ROM 11 to one of the output bauds B, C, or D. . Instruction rMOVP %
FFOI, P6J are in the following microcode states: IAQ-0, IAQ-1, IAQ-2, ItOPPL-
0, ILoPPL-1, BLoPPL-0, BtoPP
L-1, BtoPPL-3, STP-0, STAL-2
and then returns to IAQ-0, this sequence can be seen in FIG. 8 and in the table of Japanese Patent Application No. 1984-60845. The state of ItoPPL-0! (corresponds to 82 in Figure 4a)
During this period, the byte of microcode in FFO1 (macrocode address in Figure 2), which is 1 byte of 8 bytes of the microcode state in Table B or Figure 8, is processed by the ALU, Chip writing or RA
Called for MI 2 write. Since the above test program is used to test both the microcode and the ./crocode, the CRC is calculated taking into account all bytes of the microcode and macrocode portions of the ROM 11. The method operates as described above, with the load instruction retrieving all bytes of ROMI 1 containing the microcode. Microcomputer ◆ This method of chip testing is advantageous in development and is also important in mass production activities, which have some problems. The number of external bins is limited and the data available to the pins is limited by the instruction set and internal circuitry. Therefore, when testing a packaged device, hundreds of internal nodes and signals are not available externally. Internal blobbing is delicate and extremely time consuming. Therefore, there was a need to provide a tester that could be cycled through virtually every possible operation of the device to check for manufacturing defects. Test equipment for LSI chips is of course controlled by computers, but this type of testing still not only takes too long to run, but also requires software, since all different ROM codes for each customer require different test sequences. The cost becomes prohibitively high. Indeed, such tests were incomplete because the execution of certain instruction sequences was data dependent and all possible combinations could never be executed or even imagined. Additionally, time and program storage limitations on test machines impose real constraints. Memory 1 to replace rROMJ programmed during manufacturing
1 can be of the read/write type with static RAM cells, so both macrocode and microcode are loaded from outside the chip. From Figure 6a, memory 1
1 is the same as before except that it includes a "ROM write" control WROM and the decoder 11y is not only an output circuit but also an input/output circuit. Group decode circuit 27 and memory control circuit 28 create a WROM command when GROM AND #WR occurs. A portion of memory 11 must remain permanently programmed so that there is enough macrocode and microcode to perform the task of loading the rest of the memory. To this end, the reset microcode of FIG. 8e is fixed in the permanent ROM part of the memory 11, together with the microcode necessary to perform long reads from the peripheral file PF and long writes to the memory 11. Therefore, the reset sequence is supplemented by adding a group of microcodes that, for example, read port A and write port A data to memory 11 until all of the read/write addresses of memory 11 are loaded. The microcode address for this function and reset is
Everything can be changed to be at the FFFF end of the array or anywhere else convenient from an assembly and programming standpoint. When the memory 11 is first loaded and the task of the loaded program is completed, the entire read/write portion 11W of the memory 11 is filled with new microcode as well as macrocode, or only the part of it that has been replaced for the new task. will probably be redone. Permanently programmed portion 11P contains all the macrocode and microcode that requires this update task in addition to the reset or initial loading task. As explained in the Japanese Patent Application No. 57-60848 or shown in FIGS. 8a to 8j, the execution of microinstructions is performed in the first
Macro interrupt pin INT in the figure or INT- in Figure 8e
Interrupted by a microinterrupt device that is in addition to and completely separate from the functionality of the 0 to INT-5 microinstructions. From FIG. 6b, it can be seen that due to the microinterrupt signal μI produced by the microinterrupt control latch 36, the microaddress present in SIQ2 of FIG. is applied to the decoder of ROM 11 via line μA under the control of multiplexer 32. The vector address initiates a sequence of microinstructions as shown in Table D: (a) saves all pending registers, addresses, and status bits; (b) saves the RF register (in this example (c) Decrement the value of timer 1 and write it back to RF (R63). (d) If the value of timer 1 is equal to zero, interrupt flag 1 (R62, bit 0 ) (e) Timer 2
, timer 3, etc., (1+) or (d
) Continue (1') Return to pending microinstruction sequence In (a), only the μINT-0 microinstruction saves the MD bus: PCLSPCH, AML, T/MAH,
This is because the IR, ST and sp registers are not used or changed in sequence. Alternatively, M
D-bus data is saved on the stack by push and hop microinstructions. Status register ST has #LS. Since the T bit is not asserted in Table D, it does not need to be stored by the microinstruction. Instead of using the RF register as a flag, another bit of the status register ST is used. By the way, hardware latches are used to enable macro interrupts. In the above embodiment, the microinstruction must be added to the IAW sequence to test the microinterrupt flag (R62, bit 0) at the beginning of execution of each new macroinstruction before testing for macrointerrupts. The bit test is performed by IAQ in order to check the micro-interrupt flag and to perform any desired function by writing new values to timer register R63 etc. and using macro code, e.g. by a trap routine.
- Executed before 0. IAQ-Oa and I in Table D
AQ-Ob reference 4B One may be specified to determine the number of different timers upon activation;
The microcode in the table is written to loop over the number of times set by this register. moreover,
The interval between micro-interrupts can be made variable using one or two of the PF registers, such as P2 and P3, which define the count chain. In this way (using two such registers), the time between microinterrupts can vary over a range of 216 under microcode control. The effect of a micro interrupt device on an assembly level programmer writing macro code is exactly the same as a hardware timer expiring. The microprogram requires j, for the CPU to run the timer.
All you need to know is that +71ijl will be shared. Chapter 6b
The micro-interrupt device shown acts as a one-level micro-subroutine, and of course the timer can be used for many other purposes as well. The microcomputer detailed herein is
It takes the form of an N-channel silicon gate integrated circuit on a single silicon chip. However, the features of the present invention may also be used in devices made by other processes such as metal gate, P-channel, CMOS, silicon-on-sapphire, etc. In addition, the combination memory 11 is a fixed program type mask programmable RO
Although it was described as M, it is of course electrically programmable RO.
M or electrically erasable ROM is used. ROM1 1 is called program memory, and RAM1
2 are referred to as data memories, and these are the main functions in many applications. However, it goes without saying that the "data" from ROM 11 can be used in some algorithm (where the "data" is a constant, etc.), the device can execute macro instruction code from RAM 12, and the macro code or program block can be transferred externally. R from a tape or disk drive or from a telephone coupler, for example.
It is downloaded to AM12 and executed from RA to f12. Additionally, additional control lines and functions such as READY, HOLD, bus status codes, etc. may be used in devices with features of the present invention. Although the invention has been described in terms of illustrative embodiments,
The descriptions are not meant to be construed in a limiting sense. Various modifications of the illustrative embodiment, as well as other embodiments of the invention, will be apparent to those skilled in the art upon reading this description. It is therefore intended that the appended claims cover all such modifications or embodiments that fall within the true scope of the invention. Ta C. ) [-I ← Country] Toω■<ωRoroω-RoNωside's ΦToω■Pe's oOω
Gift! Self-coro lolo loco ω ω (4)0- (4)
-4 Yama et al. Low et al. Mu-Cs. .. In addition to the above disclosures, we further disclose the following. A bus device that calls the arithmetic/logic unit and registers, and a command that controls the operations of the arithmetic/logic unit, registers, and bus device and their calls in response to instruction words. A microcomputer device including a semiconductor integrated circuit having a control device and a control device all within an integrated circuit, the control device including an address input device and a combinational memory device having a first multi-bit output and a second multi-bit output, an address device for applying a first address and a second address to said address input device, each first address initiating an operation selected by a command word;
The microcomputer device characterized in that the address produces at least one microcode output word defining a plurality of said commands. (2) an ALU that performs arithmetic/logical operations with operands provided to its inputs under the control of microcode bits;
a data/address bus device that accesses the ALU and registers under control of the microcode bits; and a read/write microcode memory device that stores the microcode. , an apparatus for loading said memory device from a source external to the device, and wherein all of said elements are formed on a single semiconductor integrated circuit, and said bus device and registers are larger in number than the number of bits in a microcode word. Said microcomputer device, characterized in that it also contains far fewer bits. (3) A microcomputer device formed on a single semiconductor integrated circuit with an internal self-test function of the microcode, which calls an ALU having multiple address/data registers, registers for the ALU, and input/output. a control device for determining the operation of the CPU including a CPU having a bus device; and a device for generating a plurality of different microcode words each having a plurality of b bits; a storage device in an integrated circuit for storing a test code representation of the plurality of bits; an apparatus for performing a sequential operation on all bits located in a block, producing a first output if the result of such operation corresponds to said test code representation, and producing a second output if such result does not correspond to said test code representation; The microcomputer is characterized by comprising:
device. (4) An arithmetic/logic unit, multiple registers that store data and memory addresses, a bus device that calls the arithmetic/logic unit and registers, and In a microcomputer device that has both micro-interrupts and macro-interrupts, including a semiconductor integrated circuit that has a controller that creates a sequence of command sets that control the operation, and a controller that creates a sequence of commands that control the and a device for invoking a sequence of instructions and making one of said sequences of the instruction set in response to each instruction word, the control device interrupting any of said sequences of the instruction set while saving data in said registers and bus device. and operations not specified by the instruction/
the controller includes a device for executing a micro-interrupt routine of a set of instructions that performs an operation by the logic unit and then returning to such sequence; 1. A microcomputer device as described above, comprising: a device for executing a micro-interrupt routine of an instruction word using a micro-interrupt routine and then returning to the interrupted sequence of instruction words.

【図面の簡単な説明】[Brief explanation of drawings]

第1a図及び第,,1b図はCPUSROMおよびRA
Mを含むとともに本発明の特徴を利用するMOS/LS
 Iマイクロコンピュータ・チップのブロック図第2図
は第1図のマイクロコンピュータ用の論理アドレス・ス
ペースのメモリ・マップ、第28図ないし第2c図はマ
イクロコンピュータ・モードおよび拡張モード用の周辺
ページに関する第2図に似た詳細なメモリ・マップ、第
3図はデバイスのいろいろな部分の構造レイアウトを示
す第1図のマイクロコンピュータを含む半導体チップの
拡大平面図、第4−1図及び第4−2図は第1図の装置
の作動のいろいろな事象に関する電圧対峙間の関係を示
すタイミング図、第4a図はマクロコード呼出しサイク
ル用の第4図に似たタイミング図、第5a図及び第5b
図は第1図のマイクロコンピュータにあるALU,シフ
ト回路S1レジスタおよびバスを含むCPUの詳細な電
気図、第6−1図及び第6−2図、第6a−1図及び第
6a−2図および第6b図は第1図のマイクロコンピュ
ータに用いられる組合せ式使用者ROMおよび制御RO
Mの鮮細な電気図、第7図は第1図の装置のグループ・
デコード回路およびメモリ回路の電気図、第8a図ない
し第8j図は第1図の装置における第B表および第C表
のマイクロ命令実行の論理流れ図、第9図は第A表の命
令セット例のためのマクロ命令のマップ、第10a図な
いし第10c−2図は第1図のマイクロコンピュータを
用いる装置の電気図であり、第10d図は第108図な
いし第10c図の装置のタイミング図である。 符号の説明 10′−・・マイクロコンピュータ・チップ、11・・
・組合せROM,12・・・RAM,13・・・CPU
、14・・・ALU,15・・・レジスタ、16・・・
バス、11X・・・組合せXデコード、11y・・・マ
イクロコードYデコード、1 1 y.’ ・・・マイ
クロコードYデコード、1lb・・・マイクロコード出
力バッファ、11C・・・ラッチ、21・・・ヱントリ
・ポイント、27・・・グループ・デコード、28・・
・メモリ制御、29・・・割込み制御、33・・・クロ
ック発生器。
Figures 1a and 1b are CPU ROM and RA
MOS/LS that includes M and utilizes the features of the present invention
I Block Diagram of a Microcomputer Chip FIG. 2 is a memory map of the logical address space for the microcomputer of FIG. 1; FIGS. A detailed memory map similar to Figure 2; Figure 3 is an enlarged plan view of the semiconductor chip containing the microcomputer of Figure 1 showing the structural layout of various parts of the device; Figures 4-1 and 4-2; 4a is a timing diagram similar to FIG. 4 for a macrocode call cycle; FIGS. 5a and 5b; FIG.
The figures are detailed electrical diagrams of the CPU including the ALU, shift circuit S1 register and bus in the microcomputer shown in Figure 1, Figures 6-1 and 6-2, Figures 6a-1 and 6a-2. and FIG. 6b shows a combination user ROM and control ROM used in the microcomputer of FIG.
A detailed electrical diagram of M, Figure 7 shows the group of equipment in Figure 1.
Electrical diagrams of the decoding and memory circuits; Figures 8a to 8j are logic flow diagrams for the execution of the microinstructions in Tables B and C in the device of Figure 1; Figure 9 is a diagram of the example instruction set in Table A; 10a to 10c-2 are electrical diagrams of an apparatus using the microcomputer of FIG. 1, and FIG. 10d is a timing diagram of the apparatus of FIGS. 108 to 10c. . Explanation of symbols 10'--Microcomputer chip, 11...
・Combination ROM, 12...RAM, 13...CPU
, 14...ALU, 15...Register, 16...
Bus, 11X...Combination X decoding, 11y...Microcode Y decoding, 1 1 y. '... Microcode Y decode, 1lb... Microcode output buffer, 11C... Latch, 21... Entry point, 27... Group decode, 28...
-Memory control, 29... Interrupt control, 33... Clock generator.

Claims (1)

【特許請求の範囲】[Claims] (1)マイクロコード語の内部自己試験機能を備えた単
一半導体集積回路に形成されたマイクロコンピュータ装
置であって、 データ入力/出力を備えた演算論理ユニットと、データ
入力/出力を備えた複数のアドレス/データ・レジスタ
と、データ転送のため前記演算論理ユニットとレジスタ
のデータ入力/出力をアクセスするバス手段とを有し、
前記演算論理ユニット、レジスタ及びバス手段が制御信
号入力を有する中央演算処理ユニットと、 前記中央演算処理ユニットの動作を定義し、各各複数の
制御ビットを有する複数のマイクロコード語を発生する
手段を含み、前記演算論理ユニット、レジスタ及びバス
手段の制御信号に接続される制御手段と、 前記複数のマイクロコード語全ての全ビットの検査コー
ド表示を記憶する記憶装置と、 前記複数の制御ビットより少ない組の前記複数のマイク
ロコード語をアクセスし、前記複数のマイクロ語全ての
全制御ビットを累積的順序演算し、累積的演算結果が前
記検査コード表示に相当する場合に第1出力を発生し、
相当しない場合に第2出力を発生する手段と、 を含むことを特徴とするマイクロコンピュータ装置。
(1) A microcomputer device formed on a single semiconductor integrated circuit with an internal self-test function of a microcode word, comprising an arithmetic logic unit with data input/output and a plurality of arithmetic logic units with data input/output. address/data registers, and bus means for accessing data inputs/outputs of the arithmetic and logic units and registers for data transfer;
a central processing unit, wherein said arithmetic logic unit, register and bus means have control signal inputs; and means for defining the operation of said central processing unit and generating a plurality of microcode words each having a plurality of control bits. control means connected to control signals of said arithmetic and logic unit, registers and bus means; a storage device for storing a check code representation of all bits of all of said plurality of microcode words; and less than said plurality of control bits. accessing the plurality of microcode words of the set, performing a cumulative sequential operation on all control bits of all the plurality of microwords, and generating a first output if the cumulative operation result corresponds to the check code representation;
A microcomputer device comprising: means for generating a second output when the second output does not correspond.
JP2115702A 1981-07-02 1990-05-01 Microcomputer equipment Expired - Lifetime JPH0646386B2 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US28058881A 1981-07-02 1981-07-02
US28003481A 1981-07-02 1981-07-02
US28004981A 1981-07-02 1981-07-02
US06/280,048 US4490783A (en) 1981-07-02 1981-07-02 Microcomputer with self-test of microcode
US280049 1981-07-02
US280048 1981-07-02
US280034 1988-12-05
US280588 1999-03-29

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP57112655A Division JPS5866156A (en) 1981-07-02 1982-07-01 Microcomputer

Publications (2)

Publication Number Publication Date
JPH0394337A true JPH0394337A (en) 1991-04-19
JPH0646386B2 JPH0646386B2 (en) 1994-06-15

Family

ID=27501266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2115702A Expired - Lifetime JPH0646386B2 (en) 1981-07-02 1990-05-01 Microcomputer equipment

Country Status (1)

Country Link
JP (1) JPH0646386B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5658197A (en) * 1979-10-17 1981-05-21 Hitachi Medical Corp Memory data checking method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5658197A (en) * 1979-10-17 1981-05-21 Hitachi Medical Corp Memory data checking method

Also Published As

Publication number Publication date
JPH0646386B2 (en) 1994-06-15

Similar Documents

Publication Publication Date Title
KR100462951B1 (en) Eight-bit microcontroller having a risc architecture
US4450519A (en) Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories
US4441154A (en) Self-emulator microcomputer
AU632493B2 (en) Microprocessor having external control store
US4694391A (en) Compressed control decoder for microprocessor system
US4490783A (en) Microcomputer with self-test of microcode
JP3233163B2 (en) Microcontroller with pseudo-linear bank switching memory expansion scheme
JPH0719215B2 (en) Microprocessor
US4797808A (en) Microcomputer with self-test of macrocode
JPH0810428B2 (en) Data processing device
US4459660A (en) Microcomputer with automatic refresh of on-chip dynamic RAM transparent to CPU
US4580216A (en) Microcomputer with internal selection of on-chip or off-chip access
JP2001504959A (en) 8-bit microcontroller with RISC architecture
JPH06105432B2 (en) Microprocessor
US4651275A (en) Microcomputer having read/write memory for combined macrocode and microcode storage
US4434465A (en) Shared microinstruction states in control ROM addressing for a microcoded single chip microcomputer
US4471426A (en) Microcomputer which fetches two sets of microcode bits at one time
US4495563A (en) Microcomputer having separate access to complete microcode words and partial microcode words
US4432052A (en) Microcomputer device using dispatch addressing of control ROM
JP3578267B2 (en) A hardware device that executes a programmable instruction based on a micro instruction
EP0086307B1 (en) Microcomputer system for digital signal processing
JPH0394337A (en) Microcomputer device
JP2567134B2 (en) Bit field logical operation processing device and monolithic microprocessor having the same
JPH0456340B2 (en)
EP0232796B1 (en) Pseudo-microprogramming in microprocessor with compressed control rom and with strip layout of busses, alu and registers