JP2651218B2 - フレキシブルasicマイクロコンピュータ - Google Patents
フレキシブルasicマイクロコンピュータInfo
- Publication number
- JP2651218B2 JP2651218B2 JP63277547A JP27754788A JP2651218B2 JP 2651218 B2 JP2651218 B2 JP 2651218B2 JP 63277547 A JP63277547 A JP 63277547A JP 27754788 A JP27754788 A JP 27754788A JP 2651218 B2 JP2651218 B2 JP 2651218B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- data
- register
- macro
- 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.)
- Expired - Fee Related
Links
- 230000006870 function Effects 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 12
- 239000000758 substrate Substances 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims 6
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000012546 transfer Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 16
- 238000013461 design Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101000998139 Homo sapiens Interleukin-32 Proteins 0.000 description 1
- 102100033501 Interleukin-32 Human genes 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Description
【発明の詳細な説明】 技術分野 本発明は、単一の集積回路内に実現されたデジタルマ
イクロコンピュータの分野に関するものである。
イクロコンピュータの分野に関するものである。
従来技術 マイクロコンピュータ(それは、中央処理装置自身に
加えて、RAM及び種々の専用機能を単一の集積回路内に
有している)は従来公知であるが、この様な装置を設計
する方法は、通常、一般の需要にかなうスタンダードな
既成製品を生産する方向に向けられている。この様な装
置の基となるアーキテクチャーは、特定のユーザの必要
性を充足するべくカスタム化される様には設計されてい
ない。むしろ、それらは、所定の組のマクロ命令に対し
て最適に実施すべく設計されている。
加えて、RAM及び種々の専用機能を単一の集積回路内に
有している)は従来公知であるが、この様な装置を設計
する方法は、通常、一般の需要にかなうスタンダードな
既成製品を生産する方向に向けられている。この様な装
置の基となるアーキテクチャーは、特定のユーザの必要
性を充足するべくカスタム化される様には設計されてい
ない。むしろ、それらは、所定の組のマクロ命令に対し
て最適に実施すべく設計されている。
この様なマイクロコンピュータの例は、インテル8031
/8051を包含しており、そのアーキテクチャーは、1984
年インテルマイクロコントローラハンドブック(オーダ
ー番号210918−002)の第6章及び米国特許第4,153,933
号及び第4,306,163号に記載されているプログラマブル
シングルチップMOSコンピュータにおいて特定されてい
る。これらの装置の説明(及び本発明者等が既知のその
他の全てのマイクロコンピュータアーキテクチャー)か
ら理解されることは、それらのアーキテクチャーが柔軟
性に欠けることである。コード及びデータに対するメモ
リ寸法、マクロ命令デコード及びタイミング、及び使用
可能な周辺機能(例えば、タイマー/カウンタ及びシリ
アルコントローラ)でさえも、その全てが予め定められ
ており変更することは不可能である。
/8051を包含しており、そのアーキテクチャーは、1984
年インテルマイクロコントローラハンドブック(オーダ
ー番号210918−002)の第6章及び米国特許第4,153,933
号及び第4,306,163号に記載されているプログラマブル
シングルチップMOSコンピュータにおいて特定されてい
る。これらの装置の説明(及び本発明者等が既知のその
他の全てのマイクロコンピュータアーキテクチャー)か
ら理解されることは、それらのアーキテクチャーが柔軟
性に欠けることである。コード及びデータに対するメモ
リ寸法、マクロ命令デコード及びタイミング、及び使用
可能な周辺機能(例えば、タイマー/カウンタ及びシリ
アルコントローラ)でさえも、その全てが予め定められ
ており変更することは不可能である。
マイクロコンピュータアーキテクチャー設計に対する
伝統的なアプローチを前提にすれば、このことは驚くに
あたらないことである。一般的な基準として、マイクロ
コンピュータのユーザは、その外部インターフェースの
みに興味を有しており、例えば、マクロ命令の組及び多
分各命令を実行する為に必要とされるタイミングを包含
するピンの定義である。換言すると、ユーザはマイクロ
コンピュータチップがどの操作を実行するかということ
のみに関心があり、それがこれらの動作をどのようにし
て実行するかということには関心がない。
伝統的なアプローチを前提にすれば、このことは驚くに
あたらないことである。一般的な基準として、マイクロ
コンピュータのユーザは、その外部インターフェースの
みに興味を有しており、例えば、マクロ命令の組及び多
分各命令を実行する為に必要とされるタイミングを包含
するピンの定義である。換言すると、ユーザはマイクロ
コンピュータチップがどの操作を実行するかということ
のみに関心があり、それがこれらの動作をどのようにし
て実行するかということには関心がない。
従って、以前のマイクロコンピュータアーキテクチャ
ーは、所定の機能の為に装置の性能を最適化させる為に
設計され最小とされた論理経路から構成されている。換
言すると、マイクロアーキテクチャーは1つの目的の
み、即ち与えられた集積回路区域に対して可及的に迅速
に特定した命令の組を実行することのみを目的として設
計される。同一のアーキテクチャーが多少(又は、多
分、著しく異なった)適用に対して再度使用することが
出来るかもしれないという可能性に対しては何等考慮さ
れていない。
ーは、所定の機能の為に装置の性能を最適化させる為に
設計され最小とされた論理経路から構成されている。換
言すると、マイクロアーキテクチャーは1つの目的の
み、即ち与えられた集積回路区域に対して可及的に迅速
に特定した命令の組を実行することのみを目的として設
計される。同一のアーキテクチャーが多少(又は、多
分、著しく異なった)適用に対して再度使用することが
出来るかもしれないという可能性に対しては何等考慮さ
れていない。
どのような「スタンダードな装置」の場合においても
同じ様に、多くの潜在的なユーザは設計プロセス自身に
おいて役割を果たし且つ個人的な要求にかなう装置をカ
スタム化させることを好む。然し乍ら、この様な各ユー
ザに対してカスタム化マイクロコンピュータを設計する
術がないので、個々の必要性にかなったカスタム化マイ
クロコンピュータをユーザに供給する方法は現在のとこ
ろ存在しない。
同じ様に、多くの潜在的なユーザは設計プロセス自身に
おいて役割を果たし且つ個人的な要求にかなう装置をカ
スタム化させることを好む。然し乍ら、この様な各ユー
ザに対してカスタム化マイクロコンピュータを設計する
術がないので、個々の必要性にかなったカスタム化マイ
クロコンピュータをユーザに供給する方法は現在のとこ
ろ存在しない。
付加的な問題は、CPUとは独立的なオンチップメモリ
のテストに関するものである。マイクロコンピュータ
(メモリを具備)を単一の集積回路に製造する場合、該
回路の残部から独立的に該メモリをテストすることは極
めて困難となる。
のテストに関するものである。マイクロコンピュータ
(メモリを具備)を単一の集積回路に製造する場合、該
回路の残部から独立的に該メモリをテストすることは極
めて困難となる。
この問題を解決する1つの方法は米国特許第4,153,93
3号に記載されており、その場合、CPU動作(特にプログ
ラムカウンタ)とは独立的に、特別の命令がプログラム
ROMをメイン内部バス上にソースさせる。然し乍ら、こ
の方法は、未だメイン内部バスを使用し、ROMをアドレ
スする為の専用のロジックの設計を必要としている。こ
の専用ロジックは犠牲をともない、特に通常の実行の速
度及びシリコン面積の両方において発生する。更に一層
著しいことは、メモリ寸法を変化させることが許容され
る場合、この専用ロジックの設計に関連する問題は悪化
する(何故ならば、専用ロジックの複数個の組を形成せ
ねばならないからである)。
3号に記載されており、その場合、CPU動作(特にプログ
ラムカウンタ)とは独立的に、特別の命令がプログラム
ROMをメイン内部バス上にソースさせる。然し乍ら、こ
の方法は、未だメイン内部バスを使用し、ROMをアドレ
スする為の専用のロジックの設計を必要としている。こ
の専用ロジックは犠牲をともない、特に通常の実行の速
度及びシリコン面積の両方において発生する。更に一層
著しいことは、メモリ寸法を変化させることが許容され
る場合、この専用ロジックの設計に関連する問題は悪化
する(何故ならば、専用ロジックの複数個の組を形成せ
ねばならないからである)。
目 的 本発明は、以上の点に鑑みなされたものであって、上
述した如き従来技術の欠点を解消し、極めて柔軟性があ
り個々のユーザが種々のマクロ命令を変更されることを
可能とした単一基板上のデジタルコンピュータを提供す
ることを目的とする。
述した如き従来技術の欠点を解消し、極めて柔軟性があ
り個々のユーザが種々のマクロ命令を変更されることを
可能とした単一基板上のデジタルコンピュータを提供す
ることを目的とする。
構 成 本発明によれば、個々のユーザが、例えば、マクロ命
令の定義の変更、又は単に実行のタイミング及びオンボ
ードメモリ(データ又はコード用のいずれか)の寸法を
特定することを許容するのに十分な柔軟性のある汎用マ
イクロコンピュータアーキテクチャーが提供される。各
ユーザは、自分自身のカスタム化した専用論理機能を特
定し、且つこの様な機能を内部マイクロコンピュータア
ーキテクチャーを介してマクロ命令の組内に容易に組み
込むことが可能である。
令の定義の変更、又は単に実行のタイミング及びオンボ
ードメモリ(データ又はコード用のいずれか)の寸法を
特定することを許容するのに十分な柔軟性のある汎用マ
イクロコンピュータアーキテクチャーが提供される。各
ユーザは、自分自身のカスタム化した専用論理機能を特
定し、且つこの様な機能を内部マイクロコンピュータア
ーキテクチャーを介してマクロ命令の組内に容易に組み
込むことが可能である。
本発明の原理は、アーキテクチャーの部品を汎用化乃
至は一般化させることによって達成され、柔軟性及び拡
張性を与えることを主眼とし、その際に単に集積回路に
対する付録としてではなく、付加、削除、及び修正等の
或る種のタイプの機能性を装置自身の心臓部内に組み込
むことを許容している。特定の集積回路の適用の設計
は、マイクロコンピュータと同一の集積回路上にユーザ
自身のカスタムロジックをユーザが設けることを単に許
容すること以上のことを必要とする。それは、又、マイ
クロコンピュータ及びそのカスタムロジックが最早単に
外部装置として通信するものではない場合でなければな
らない。チップ面積のみならず機能性もアーキテクチャ
ーレベルにおいて一体化されねばならない。
至は一般化させることによって達成され、柔軟性及び拡
張性を与えることを主眼とし、その際に単に集積回路に
対する付録としてではなく、付加、削除、及び修正等の
或る種のタイプの機能性を装置自身の心臓部内に組み込
むことを許容している。特定の集積回路の適用の設計
は、マイクロコンピュータと同一の集積回路上にユーザ
自身のカスタムロジックをユーザが設けることを単に許
容すること以上のことを必要とする。それは、又、マイ
クロコンピュータ及びそのカスタムロジックが最早単に
外部装置として通信するものではない場合でなければな
らない。チップ面積のみならず機能性もアーキテクチャ
ーレベルにおいて一体化されねばならない。
例えば、単に外部I/Oポートを設けるという従来の方
法によるユーザが特定する専用ロジック機能を付加させ
ることにより、これらの機能は、マイクロコンピュータ
の内部レジスタファイルに対するこれらの専用機能に関
連するレジスタを付加する為の手段を設けることによっ
てもマイクロアーキテクチャー内に組み込まれる。この
アプローチは、著しく一層大きな柔軟性を与え、それが
あたかもマイクロアーキテクチャー自身内に組み込まれ
ているかの様にユーザがそのカスタム外部装置を操作す
ることを可能とさせる。ユーザは、簡単な論理及び演算
操作を実行する為に固定した外部メモリ装置(他の乏し
い内部レジスタ内に値を書込且つそれから読み取ること
を必要とする)を特定することは必要ではない。従っ
て、ユーザはプログラム設計のコストのみならず、スペ
ース及び性能においても節約することが可能となる。
法によるユーザが特定する専用ロジック機能を付加させ
ることにより、これらの機能は、マイクロコンピュータ
の内部レジスタファイルに対するこれらの専用機能に関
連するレジスタを付加する為の手段を設けることによっ
てもマイクロアーキテクチャー内に組み込まれる。この
アプローチは、著しく一層大きな柔軟性を与え、それが
あたかもマイクロアーキテクチャー自身内に組み込まれ
ているかの様にユーザがそのカスタム外部装置を操作す
ることを可能とさせる。ユーザは、簡単な論理及び演算
操作を実行する為に固定した外部メモリ装置(他の乏し
い内部レジスタ内に値を書込且つそれから読み取ること
を必要とする)を特定することは必要ではない。従っ
て、ユーザはプログラム設計のコストのみならず、スペ
ース及び性能においても節約することが可能となる。
マクロ命令の組自身の定義に関して著しい柔軟性が与
えられる。チップは、所定のマクロ命令の特定の組を最
適化させる為に設計された専用「貼り付け」ロジックが
ばらばらに配置されていないので、個々のマクロ命令は
単にマイクロコードを書き換えるだけで修正させること
が可能である。命令のデコード及び実行時間も、この様
な態様で修正させることが可能である。
えられる。チップは、所定のマクロ命令の特定の組を最
適化させる為に設計された専用「貼り付け」ロジックが
ばらばらに配置されていないので、個々のマクロ命令は
単にマイクロコードを書き換えるだけで修正させること
が可能である。命令のデコード及び実行時間も、この様
な態様で修正させることが可能である。
全く新しい命令も、単に付加的なマイクロコードを書
き込むだけで付加することが可能である。幾つかのユー
ザが特定するマクロ命令は、予め定めたマクロ命令の場
合におけるよりも付加的な実行時間を必要とする(何故
ならば、マイクロアーキテクチャーは予め定めたマクロ
命令に対してのみ最適化されているから)場合があるか
も知れないが、ユーザの多くは、カスタムマクロ命令を
設計する付加的な柔軟性の為に速度におけるこの低下分
を認容する。結局、その代替例は、スタンダードの部分
を全部放棄するか、又は予め定めたマクロ命令を結合す
ることによってカスタムマクロ命令命令を定義すること
である(一層遅く且つ一層高価な作業であることは略確
か)。
き込むだけで付加することが可能である。幾つかのユー
ザが特定するマクロ命令は、予め定めたマクロ命令の場
合におけるよりも付加的な実行時間を必要とする(何故
ならば、マイクロアーキテクチャーは予め定めたマクロ
命令に対してのみ最適化されているから)場合があるか
も知れないが、ユーザの多くは、カスタムマクロ命令を
設計する付加的な柔軟性の為に速度におけるこの低下分
を認容する。結局、その代替例は、スタンダードの部分
を全部放棄するか、又は予め定めたマクロ命令を結合す
ることによってカスタムマクロ命令命令を定義すること
である(一層遅く且つ一層高価な作業であることは略確
か)。
FASMICアーキテクチャーによって提起される別の問題
は、CPUとは独立したオンチップメモリのテストに関す
るものである。本発明は、内部(従って集積回路の残
部)とは独立したオンチップメモリをテストする為の機
構を与え、その際にスタンダードなメモリアドレス用ロ
ジックを使用し且つ特に可変メモリ寸法が許容される場
合(各ユーザの個々の要求に従って)の専用ロジックを
設計する為の著しく余分のコストを回避する解決法を与
えている。
は、CPUとは独立したオンチップメモリのテストに関す
るものである。本発明は、内部(従って集積回路の残
部)とは独立したオンチップメモリをテストする為の機
構を与え、その際にスタンダードなメモリアドレス用ロ
ジックを使用し且つ特に可変メモリ寸法が許容される場
合(各ユーザの個々の要求に従って)の専用ロジックを
設計する為の著しく余分のコストを回避する解決法を与
えている。
該機構それ自身は「スキャンパス回路(scan path ci
rcuitry)」を組み込んでおり、それは別の文献におい
て公開されている。エルエスアイロジックコーポレーシ
ョンによって1987年3月に刊行されたLSA2001シリコン
−ゲートHCMOS構成型アレイデータシート、8−10頁を
参照すると良い(尚、これに関しては後に詳述する)。
この「スキャン」機構は、然し乍ら、メイン内部バス
(及びCPUの残部)とは独立したメモリのテスト動作が
極めて重要であるマイクロコンピュータに関連して以前
に使用されたことはない。
rcuitry)」を組み込んでおり、それは別の文献におい
て公開されている。エルエスアイロジックコーポレーシ
ョンによって1987年3月に刊行されたLSA2001シリコン
−ゲートHCMOS構成型アレイデータシート、8−10頁を
参照すると良い(尚、これに関しては後に詳述する)。
この「スキャン」機構は、然し乍ら、メイン内部バス
(及びCPUの残部)とは独立したメモリのテスト動作が
極めて重要であるマイクロコンピュータに関連して以前
に使用されたことはない。
要するに、本発明は、単一基板上のデジタルコンピュ
ータにおいて、双方向データバス、データ又はコードの
格納用のメモリであって前記デジタルコンピュータの動
作中にデータの一時的格納の為に使用する1つ又はそれ
以上のレジスタを具備するメモリ、前記メモリをアドレ
スする為のアドレス手段であって前記基板上に位置され
ていない外部装置レジスタのアドレスを前記メモリに使
用するのと同一のアドレス空間内に包含する手段であっ
て前記基板上に位置されているレジスタに許容されるの
と同一の程度の前記外部レジスタの直接的操作を許容す
る手段を具備するアドレス手段、及びマイクロ命令を解
読し且つ実行し且つ演算及び論理操作を実施し且つ前記
データバスと前記メモリと前記アドレス手段とへ結合さ
れている中央処理装置、を有しており、前記中央処理装
置が、前記コンピュータの動作を制御する為のマイクロ
エンジンであって前記コンピュータによって実行される
べき1つ又はそれ以上のマクロ命令を格納する為のマク
ロ命令メモリと、各々が前記マクロ命令の実行を制御す
る為の1つ又はそれ以上の制御信号を有する1つ又はそ
れ以上のマイクロ命令を有するマイクロコードメモリ
と、前記マクロ命令の各々を受け取り且つ前記マクロ命
令をマイクロ命令のシーケンスへマッピングさせ且つ前
記マイクロ命令のシーケンスの最初のマイクロ命令を実
行させる手段と、前記マイクロ命令の実行をシーケンス
動作させる手段とを具備するマイクロエンジン、及び前
記データバスの動作とは独立的に前記基板外部のメモリ
のアドレスと前記マイクロエンジンによって実行される
前記マクロ命令の次のもののアドレスを発生する手段、
を有することを特徴とするデジタルコンピュータを提供
している。
ータにおいて、双方向データバス、データ又はコードの
格納用のメモリであって前記デジタルコンピュータの動
作中にデータの一時的格納の為に使用する1つ又はそれ
以上のレジスタを具備するメモリ、前記メモリをアドレ
スする為のアドレス手段であって前記基板上に位置され
ていない外部装置レジスタのアドレスを前記メモリに使
用するのと同一のアドレス空間内に包含する手段であっ
て前記基板上に位置されているレジスタに許容されるの
と同一の程度の前記外部レジスタの直接的操作を許容す
る手段を具備するアドレス手段、及びマイクロ命令を解
読し且つ実行し且つ演算及び論理操作を実施し且つ前記
データバスと前記メモリと前記アドレス手段とへ結合さ
れている中央処理装置、を有しており、前記中央処理装
置が、前記コンピュータの動作を制御する為のマイクロ
エンジンであって前記コンピュータによって実行される
べき1つ又はそれ以上のマクロ命令を格納する為のマク
ロ命令メモリと、各々が前記マクロ命令の実行を制御す
る為の1つ又はそれ以上の制御信号を有する1つ又はそ
れ以上のマイクロ命令を有するマイクロコードメモリ
と、前記マクロ命令の各々を受け取り且つ前記マクロ命
令をマイクロ命令のシーケンスへマッピングさせ且つ前
記マイクロ命令のシーケンスの最初のマイクロ命令を実
行させる手段と、前記マイクロ命令の実行をシーケンス
動作させる手段とを具備するマイクロエンジン、及び前
記データバスの動作とは独立的に前記基板外部のメモリ
のアドレスと前記マイクロエンジンによって実行される
前記マクロ命令の次のもののアドレスを発生する手段、
を有することを特徴とするデジタルコンピュータを提供
している。
実施例 以下、添付の図面を参考に、本発明の具体的実施の態
様に付いて詳細に説明する。尚、以下の実施例の説明は
単に例示的なものであって何等本発明を制限する意図を
持ってなされるものではない。本発明の好適実施例に付
いて説明するが、本発明の技術的範囲を逸脱すること無
しに、その他の実施例(異なった命令の組を実施し、異
なった制御手段を使用し、又は異なった専用ロジック機
能を包含するもの)を実現することが可能であることは
当然である。
様に付いて詳細に説明する。尚、以下の実施例の説明は
単に例示的なものであって何等本発明を制限する意図を
持ってなされるものではない。本発明の好適実施例に付
いて説明するが、本発明の技術的範囲を逸脱すること無
しに、その他の実施例(異なった命令の組を実施し、異
なった制御手段を使用し、又は異なった専用ロジック機
能を包含するもの)を実現することが可能であることは
当然である。
本発明は、第1図に示したフレキシブルASICマイクロ
コンピュータ(「FASMIC」と略称する)のアーキテクチ
ャー内に実現されている。そこには2つの別々の組のレ
ジスタブロックが設けられており、レジスタの第1のブ
ロック1はビットアドレス可能であると共にバイトアド
レス可能でもあり、且つレジスタの第2ブロックは単に
バイトアドレス可能であるのみである。これらのレジス
タは第1図における2つの別々のブロック内に図示して
あるが、両方の組におけるレジスタは、このチップのア
ーキテクチャー全体に渡って物理的に位置されている
(この図面に示されている)。これらのレジスタをブロ
ック1及び2にグループ化する目的は、単に各レジスタ
に関連する適宜のアドレス機能を例示する為である。
コンピュータ(「FASMIC」と略称する)のアーキテクチ
ャー内に実現されている。そこには2つの別々の組のレ
ジスタブロックが設けられており、レジスタの第1のブ
ロック1はビットアドレス可能であると共にバイトアド
レス可能でもあり、且つレジスタの第2ブロックは単に
バイトアドレス可能であるのみである。これらのレジス
タは第1図における2つの別々のブロック内に図示して
あるが、両方の組におけるレジスタは、このチップのア
ーキテクチャー全体に渡って物理的に位置されている
(この図面に示されている)。これらのレジスタをブロ
ック1及び2にグループ化する目的は、単に各レジスタ
に関連する適宜のアドレス機能を例示する為である。
ブロック1及び2におけるレジスタの全ては、マイク
ロコードを介して内部的に、且つユーザマクロ命令を介
して外部的にアクセスすることが可能である。これらの
特別目的(専用)レジスタに加えて、ユーザには、「ス
クラッチパッド」データRAM3内に包含されて1組の汎用
レジスタが与えられている。これらの特別目的レジスタ
の2つ、即ちレジスタA及びB(数字4及び5で示して
ある)も、公知の演算及び論理操作を実施するALU6の下
側に示してある。
ロコードを介して内部的に、且つユーザマクロ命令を介
して外部的にアクセスすることが可能である。これらの
特別目的(専用)レジスタに加えて、ユーザには、「ス
クラッチパッド」データRAM3内に包含されて1組の汎用
レジスタが与えられている。これらの特別目的レジスタ
の2つ、即ちレジスタA及びB(数字4及び5で示して
ある)も、公知の演算及び論理操作を実施するALU6の下
側に示してある。
2つのALUオペランドはレジスタTP1 7及びTP2 8内に
格納されており、且つALU操作の種々の結果フラグがPSW
レジスタ9内に格納されている。ALU及びデータRAM3の
みならず全ての特別目的レジスタは、内部バス10を介し
てアクセスすることが可能であり、それから情報を読み
出すか又はそれに情報を書き込むことが可能である。
格納されており、且つALU操作の種々の結果フラグがPSW
レジスタ9内に格納されている。ALU及びデータRAM3の
みならず全ての特別目的レジスタは、内部バス10を介し
てアクセスすることが可能であり、それから情報を読み
出すか又はそれに情報を書き込むことが可能である。
FASMICアーキテクチャーのこの特定の実施例は、集積
回路全体に渡って分布される制御信号11を発生する汎用
マイクロエンジンによって制御される。このマイクロエ
ンジンは、命令レジスタ(IR)12を有しており、それは
プログラムメモリからフェッチされた後に初期的に各ユ
ーザマクロ命令を保持する。
回路全体に渡って分布される制御信号11を発生する汎用
マイクロエンジンによって制御される。このマイクロエ
ンジンは、命令レジスタ(IR)12を有しており、それは
プログラムメモリからフェッチされた後に初期的に各ユ
ーザマクロ命令を保持する。
このマクロ命令は、各マクロ命令をマイクロコードRO
M14内の開始アドレス(又は「エントリーポイント」)
内にマップするマップROM13を介してデコードされる。
該マップROMは、単にマイクロ命令エントリーポイント
のテーブルを有しており、且つマクロ命令オプコード
(opcode、即ちオペレーションコードの略)を介してア
ドレスされる。1つ又はそれ以上のマクロ命令オプコー
ドは、そのグループのマクロ命令を解読するマイクロ命
令のシーケンスにおける最初のマイクロ命令の特定のエ
ントリーポイントを発生する。
M14内の開始アドレス(又は「エントリーポイント」)
内にマップするマップROM13を介してデコードされる。
該マップROMは、単にマイクロ命令エントリーポイント
のテーブルを有しており、且つマクロ命令オプコード
(opcode、即ちオペレーションコードの略)を介してア
ドレスされる。1つ又はそれ以上のマクロ命令オプコー
ドは、そのグループのマクロ命令を解読するマイクロ命
令のシーケンスにおける最初のマイクロ命令の特定のエ
ントリーポイントを発生する。
注意すべきことであるが、マップROM13及びマイクロ
コードROM14の両方の機能性は、PLA又は純粋にロジック
結合(ROMに対し)における別の実施例において容易に
明らかとさせることが可能である。一般的な基準とし
て、精密な機能性が特定した寸法及び性能境界内で実施
される限り、この機能性がどのようにして具現化される
かということはユーザにとって関係がない。FASMICアー
キテクチャーは、この機能性の二進表示を維持すること
によって著しい柔軟性を許容すべく設計されており、そ
の際にユーザの個々のスペース、性能、又はその他の条
件を満足する為に特定の明示乃至は指定(例えば、64KR
OM)をユーザが選択することを可能とする。
コードROM14の両方の機能性は、PLA又は純粋にロジック
結合(ROMに対し)における別の実施例において容易に
明らかとさせることが可能である。一般的な基準とし
て、精密な機能性が特定した寸法及び性能境界内で実施
される限り、この機能性がどのようにして具現化される
かということはユーザにとって関係がない。FASMICアー
キテクチャーは、この機能性の二進表示を維持すること
によって著しい柔軟性を許容すべく設計されており、そ
の際にユーザの個々のスペース、性能、又はその他の条
件を満足する為に特定の明示乃至は指定(例えば、64KR
OM)をユーザが選択することを可能とする。
マイクロコードROM内には、マイクロアーキテクチャ
ーの残部をして適宜の機能を実施させることによって特
定のマクロ命令を解読するのに必要な制御信号を包含す
るマイクロ命令のシーケンス(後に詳述する)が存在し
ている。これらの制御信号は、複数個のフィールドに組
織化されており、各フィールドは、例えば特定のレジス
タを読取且つその内容を内部バス上に配置させる等の特
定の機能を表している。これらのフィールドは、更に、
固定長マイクロ命令フォーマットに組織化されており、
該フォーマットの各々は制御信号の複数個のフィールド
を有するマイクロ命令のタイプを構成している。各マイ
クロ命令は、その実行の直前に、マイクロワードレジス
タ(MWR)15内に格納され、そこからそれは本集積回路
に渡って分布されている付加的な制御ロジックによって
デコードされる。
ーの残部をして適宜の機能を実施させることによって特
定のマクロ命令を解読するのに必要な制御信号を包含す
るマイクロ命令のシーケンス(後に詳述する)が存在し
ている。これらの制御信号は、複数個のフィールドに組
織化されており、各フィールドは、例えば特定のレジス
タを読取且つその内容を内部バス上に配置させる等の特
定の機能を表している。これらのフィールドは、更に、
固定長マイクロ命令フォーマットに組織化されており、
該フォーマットの各々は制御信号の複数個のフィールド
を有するマイクロ命令のタイプを構成している。各マイ
クロ命令は、その実行の直前に、マイクロワードレジス
タ(MWR)15内に格納され、そこからそれは本集積回路
に渡って分布されている付加的な制御ロジックによって
デコードされる。
マイクロ命令実行のシーケンス動作はMUX16を介して
制御され、該マルチプレクサは、デフォルト即ち省略時
の解釈として、単純にアドレスを次の逐次的マイクロ命
令ヘインクリメントさせる(何故ならば、マイクロ命令
のシーケンスは、通常、1つ又はそれ以上のマクロ命令
の特定のグループに対して既知である)。然し乍ら、時
々、シーケンス動作は条件付きであり、例えば、条件付
きマイクロコード分岐が発生する場合である。その場
合、前のマイクロ命令自身の特定のフィールドは、次の
アドレスを有している(条件が満足されるとジャンプさ
れる)。最後に、特定のグループのマクロ命令を解読す
るマイクロ命令のシーケンスを実行した後に、次のアド
レスがマップROMの出力によって決定される。何故なら
ば、そのアドレスは次に実行されるべき特定のマクロ命
令に依存するからである。
制御され、該マルチプレクサは、デフォルト即ち省略時
の解釈として、単純にアドレスを次の逐次的マイクロ命
令ヘインクリメントさせる(何故ならば、マイクロ命令
のシーケンスは、通常、1つ又はそれ以上のマクロ命令
の特定のグループに対して既知である)。然し乍ら、時
々、シーケンス動作は条件付きであり、例えば、条件付
きマイクロコード分岐が発生する場合である。その場
合、前のマイクロ命令自身の特定のフィールドは、次の
アドレスを有している(条件が満足されるとジャンプさ
れる)。最後に、特定のグループのマクロ命令を解読す
るマイクロ命令のシーケンスを実行した後に、次のアド
レスがマップROMの出力によって決定される。何故なら
ば、そのアドレスは次に実行されるべき特定のマクロ命
令に依存するからである。
従って、MUX16は、(1)前のマイクロ命令のアドレ
スをインクリメントし、(2)マップROMによって発生
されるエントリーポイントアドレスを使用するか、又は
(3)前のマイクロ命令(MWR内に格納)から発生され
るか又はその中に包含されている分岐アドレスを使用す
ることによって、実行されるべき次のマイクロ命令のア
ドレスを決定する。このアドレスは、次いで、マイクロ
アドレスレジスタ(MAR)17内に格納され、それはマイ
クロコードROMを直接アドレスし、そのアドレスにおけ
るマイクロ命令をMWR内にロードさせ次いで実行させ
る。
スをインクリメントし、(2)マップROMによって発生
されるエントリーポイントアドレスを使用するか、又は
(3)前のマイクロ命令(MWR内に格納)から発生され
るか又はその中に包含されている分岐アドレスを使用す
ることによって、実行されるべき次のマイクロ命令のア
ドレスを決定する。このアドレスは、次いで、マイクロ
アドレスレジスタ(MAR)17内に格納され、それはマイ
クロコードROMを直接アドレスし、そのアドレスにおけ
るマイクロ命令をMWR内にロードさせ次いで実行させ
る。
MUX16は実行すべき次のマイクロ命令のアドレスのソ
ース即ち発生源を決定する一方、MUX18はアクセスされ
るべきレジスタのコード化した「アドレス」の発生源を
決定し(例えば、マイクロ命令又はマクロ命令が特定の
レジスタに関して動作する場合)、次いでそのコード化
したアドレスをRAM/レジスタアドレスレジスタ(RAR)1
9内に格納する。
ース即ち発生源を決定する一方、MUX18はアクセスされ
るべきレジスタのコード化した「アドレス」の発生源を
決定し(例えば、マイクロ命令又はマクロ命令が特定の
レジスタに関して動作する場合)、次いでそのコード化
したアドレスをRAM/レジスタアドレスレジスタ(RAR)1
9内に格納する。
RARに対する3個の可能な発生源の第1のものは、内
部バス10であり、現在実行中のマイクロ命令自身によっ
て特定されるレジスタ(又はRAM位置)の絶対アドレス
を包含している。これらの制御信号は、MWRからデコー
ドされ、次いで内部バス上に配置され、そこで該信号は
そこからデータを読み出すか又はそこにデータを書き込
む特定のレジスタ(又はRAM装置)を選択する為に使用
することが可能である。付加的な制御信号は、勿論、MU
X18がこれ又は他の2つの発生源の内の1つのいずれか
を選択するかを決定する。
部バス10であり、現在実行中のマイクロ命令自身によっ
て特定されるレジスタ(又はRAM位置)の絶対アドレス
を包含している。これらの制御信号は、MWRからデコー
ドされ、次いで内部バス上に配置され、そこで該信号は
そこからデータを読み出すか又はそこにデータを書き込
む特定のレジスタ(又はRAM装置)を選択する為に使用
することが可能である。付加的な制御信号は、勿論、MU
X18がこれ又は他の2つの発生源の内の1つのいずれか
を選択するかを決定する。
第2潜在的RAR発生源20も絶対アドレスであるが、マ
イクロ命令から派生されるものではなく現在実行中のマ
クロ命令から派生する。このアドレスは3つのコンポー
ネント即ち構成要素から構成されている。該アドレスの
最大桁ビットは固定されており、データRAM3内の特定の
オフセットが汎用レジスタ用にリザーブされていること
を表している。次の最大桁ビットは、PSWの或るビット
によって決定され、RAM内の汎用レジスタのどの「バン
ク」が現在アクセス中であるかを表している。最後に、
マクロ命令自身の或るビットは、データRAM3レジスタの
現在のバンク内のどの特定のレジスタがアクセスされて
いるかを特定する。これら3つの構成要素は結合して、
データRAM3内に絶対アドレスを形成し、それは、MUX18
上で選択されると、RAR内にロードされ且つアクセスさ
れるべきデータRAM3をアドレスする為に使用される。
イクロ命令から派生されるものではなく現在実行中のマ
クロ命令から派生する。このアドレスは3つのコンポー
ネント即ち構成要素から構成されている。該アドレスの
最大桁ビットは固定されており、データRAM3内の特定の
オフセットが汎用レジスタ用にリザーブされていること
を表している。次の最大桁ビットは、PSWの或るビット
によって決定され、RAM内の汎用レジスタのどの「バン
ク」が現在アクセス中であるかを表している。最後に、
マクロ命令自身の或るビットは、データRAM3レジスタの
現在のバンク内のどの特定のレジスタがアクセスされて
いるかを特定する。これら3つの構成要素は結合して、
データRAM3内に絶対アドレスを形成し、それは、MUX18
上で選択されると、RAR内にロードされ且つアクセスさ
れるべきデータRAM3をアドレスする為に使用される。
3番目の可能なRAR発生源21は、以下の間接的なアド
レス手段を介して得られるデータRAM3内のアドレスであ
る。ソース及び発生源20は、該間接アドレスをRAR内に
ロードする。次いで、RAR内の内容は、データRAM3内へ
のポインター(間接アドレス)として使用される。デー
タRAM3内のこのアドレスにおけるワードの内容(絶対ア
ドレス)は、MUX18内へのソース21となり、それは、選
択されると、RAR内にロードされる。
レス手段を介して得られるデータRAM3内のアドレスであ
る。ソース及び発生源20は、該間接アドレスをRAR内に
ロードする。次いで、RAR内の内容は、データRAM3内へ
のポインター(間接アドレス)として使用される。デー
タRAM3内のこのアドレスにおけるワードの内容(絶対ア
ドレス)は、MUX18内へのソース21となり、それは、選
択されると、RAR内にロードされる。
MUX22は、RARを介してアクセスされるレジスタ内のデ
ータは、専用ビットアドレス可能レジスタ、専用バイト
アドレス可能レジスタ、又は汎用データRAMレジスタか
ら得られることを概念的に示している。アドレス用レジ
スタに加えて、マイクロ命令及びマクロ命令の両方が、
外部ポートP2 23及びポートP0 24を介してオフチップデ
ータRAMをアクセスすることが可能である。スタックポ
インタレジスタ(SP)25は、「後入れ先立し」(LIFO)
態様でデータをセーブすることによりユーザメモリを組
織化する為に公知のソフトウエア機構を実施する為に使
用される。SPは、スタック上の「頂部」(スタックが上
方向に成長する場合には、最後に挿入されたもの)のア
ドレスを有している。外部ポートP1 26は単純な汎用並
列ポートである。
ータは、専用ビットアドレス可能レジスタ、専用バイト
アドレス可能レジスタ、又は汎用データRAMレジスタか
ら得られることを概念的に示している。アドレス用レジ
スタに加えて、マイクロ命令及びマクロ命令の両方が、
外部ポートP2 23及びポートP0 24を介してオフチップデ
ータRAMをアクセスすることが可能である。スタックポ
インタレジスタ(SP)25は、「後入れ先立し」(LIFO)
態様でデータをセーブすることによりユーザメモリを組
織化する為に公知のソフトウエア機構を実施する為に使
用される。SPは、スタック上の「頂部」(スタックが上
方向に成長する場合には、最後に挿入されたもの)のア
ドレスを有している。外部ポートP1 26は単純な汎用並
列ポートである。
外部ポートP2 23及びP0 24は、オフチッププログラム
及びデータメモリ(RAM又はROM)をアクセスする為に使
用される。(実行すべき次のマクロ命令の)該アドレス
をポートP2及びP0を介して送り、且つ2つの物理的に別
々の構成要素内(1つの構成要素はそのアドレスの最大
桁半分であり他の1つは最小桁半分である)において計
算される。「次のマクロ命令アドレス発生」機構のこれ
ら2つの構成要素は実際上同一である。
及びデータメモリ(RAM又はROM)をアクセスする為に使
用される。(実行すべき次のマクロ命令の)該アドレス
をポートP2及びP0を介して送り、且つ2つの物理的に別
々の構成要素内(1つの構成要素はそのアドレスの最大
桁半分であり他の1つは最小桁半分である)において計
算される。「次のマクロ命令アドレス発生」機構のこれ
ら2つの構成要素は実際上同一である。
各々は3つの専用レジスタ(夫々、高及び低の半分)
を有しており、即ち、(1)外部データRAM内へのオフ
セットを有するデータポインタ(DPH27及びDPL28)と、
(2)次のマクロ命令のアドレスを有するプログラムカ
ウンタ(PCH29及びPCL30)と、(3)実行すべき次の逐
次マクロ命令のアドレスを得る為にプログラムカウンタ
をインクリメントさせる為の一時的レジスタとして通常
使用される内部レジスタ(IH31及びIL32)とである。
を有しており、即ち、(1)外部データRAM内へのオフ
セットを有するデータポインタ(DPH27及びDPL28)と、
(2)次のマクロ命令のアドレスを有するプログラムカ
ウンタ(PCH29及びPCL30)と、(3)実行すべき次の逐
次マクロ命令のアドレスを得る為にプログラムカウンタ
をインクリメントさせる為の一時的レジスタとして通常
使用される内部レジスタ(IH31及びIL32)とである。
注意すべきことであるが、この機構の高構成要素はイ
ンクリメンタ/デクリメンタ33を有しており、一方低構
成要素は単にインクリメンタ34を有しているだけであ
る。この差違は、低構成要素はALUを使用して相対的ア
ドレス変位を計算し、高構成要素内にマイナーなインク
リメント又はデクリメントのみを残すだけであり、それ
はインクリメンタ/デクリメンタ33を介してハードウエ
ア内で処理されるという事実に起因するものである。
ンクリメンタ/デクリメンタ33を有しており、一方低構
成要素は単にインクリメンタ34を有しているだけであ
る。この差違は、低構成要素はALUを使用して相対的ア
ドレス変位を計算し、高構成要素内にマイナーなインク
リメント又はデクリメントのみを残すだけであり、それ
はインクリメンタ/デクリメンタ33を介してハードウエ
ア内で処理されるという事実に起因するものである。
MUX35及びMUX36は、アドレスを発生する為に3個のレ
ジスタの内のどれにアクセスするかを決定する制御信号
を受け取る。この計算は屡々複雑であるので(例えば、
ALU操作を必要とする)、別の内部PD(プログラムカウ
ンタ及びデータポインタ)バスPDH37及びPDL38を使用し
て、この機構に関連するレジスタ内へ且つ内部バス上へ
データが転送されることを許容し、そこからそれはALU
を介して操作され得る。バッファ39及び40は、何等対立
無しに(何故ならば、内部バスは任意の与えられた時刻
において1つのソースによってのみ「マスター」即ち支
配下とされることが可能であるに過ぎないからである)
PDバスと内部バスとの間においてデータが適切に転送さ
れることを確保するのに必要な公知のロジック機構を有
している。
ジスタの内のどれにアクセスするかを決定する制御信号
を受け取る。この計算は屡々複雑であるので(例えば、
ALU操作を必要とする)、別の内部PD(プログラムカウ
ンタ及びデータポインタ)バスPDH37及びPDL38を使用し
て、この機構に関連するレジスタ内へ且つ内部バス上へ
データが転送されることを許容し、そこからそれはALU
を介して操作され得る。バッファ39及び40は、何等対立
無しに(何故ならば、内部バスは任意の与えられた時刻
において1つのソースによってのみ「マスター」即ち支
配下とされることが可能であるに過ぎないからである)
PDバスと内部バスとの間においてデータが適切に転送さ
れることを確保するのに必要な公知のロジック機構を有
している。
従って、次のマクロ命令アドレスは、マイクロコード
制御の下でこの機構を介して計算される(例えば、いず
れかの必要な論理及び演算操作を実施する為にALUを使
用しPDバス及び内部バスを介してデータを操作すること
によって)。外部データRAMアドレスもこの機構を介し
て計算される。
制御の下でこの機構を介して計算される(例えば、いず
れかの必要な論理及び演算操作を実施する為にALUを使
用しPDバス及び内部バスを介してデータを操作すること
によって)。外部データRAMアドレスもこの機構を介し
て計算される。
実行されるべき次のマクロ命令のアドレスは、プログ
ラムアドレスレジスタ(PARH41及びPARL42)内に究極的
に格納される。オフチップメモリから次のマクロ命令を
フェッチすることに加えて(外部ポートP2及びP0を介し
て)、ユーザプログラムの幾つか又は全てをオプション
のオンチッププログラムROM43内に格納させることが可
能である。とにかく、この機構は、外部データRAMの読
出しか書込み、又は次のマクロ命令のフェッチ(外部メ
モリ又はオンチップROMのいずれかから)のいずれかと
なり、それは次いで内部バス上及びIR内にロードされ、
それは上述した汎用マイクロエンジンによって実行され
る。
ラムアドレスレジスタ(PARH41及びPARL42)内に究極的
に格納される。オフチップメモリから次のマクロ命令を
フェッチすることに加えて(外部ポートP2及びP0を介し
て)、ユーザプログラムの幾つか又は全てをオプション
のオンチッププログラムROM43内に格納させることが可
能である。とにかく、この機構は、外部データRAMの読
出しか書込み、又は次のマクロ命令のフェッチ(外部メ
モリ又はオンチップROMのいずれかから)のいずれかと
なり、それは次いで内部バス上及びIR内にロードされ、
それは上述した汎用マイクロエンジンによって実行され
る。
最後に、本アーキテクチャーは又タイミング機構44及
び或る専用ロジック機能(タイマー/カウンタ45、イン
タラプト機構46及びシリアルコントローラ47)も有して
おり、その各々は当該技術において従来公知であり1984
年のインテルマイクロコントローラハンドブック(オー
ダー番号210918−002)の第6章に詳細に説明されてい
る。外部ポートP3 48は、これらの専用機能へのアクセ
スを与え、ユーザが特定する専用論理機能の外部レジス
タ(ブロック1及び2内の内部レジスタのアドレス空間
内に組み込まれている)のアドレス動作を除いて、それ
らは本発明に僅かに関係しているに過ぎない。
び或る専用ロジック機能(タイマー/カウンタ45、イン
タラプト機構46及びシリアルコントローラ47)も有して
おり、その各々は当該技術において従来公知であり1984
年のインテルマイクロコントローラハンドブック(オー
ダー番号210918−002)の第6章に詳細に説明されてい
る。外部ポートP3 48は、これらの専用機能へのアクセ
スを与え、ユーザが特定する専用論理機能の外部レジス
タ(ブロック1及び2内の内部レジスタのアドレス空間
内に組み込まれている)のアドレス動作を除いて、それ
らは本発明に僅かに関係しているに過ぎない。
第2図には、内部バスを使用することなしに、オンチ
ップメモリのテストを可能とさせるFASMICアーキテクチ
ャー内に組み込んだ別の機構を示してある。注意すべき
ことであるが、メモリ内への専用メモリアドレスロジッ
クを設計する代わりに、本発明はスタンダードなメモリ
構成要素内に既に組み込んだ上述した「スキャン」技術
の利点を利用している。
ップメモリのテストを可能とさせるFASMICアーキテクチ
ャー内に組み込んだ別の機構を示してある。注意すべき
ことであるが、メモリ内への専用メモリアドレスロジッ
クを設計する代わりに、本発明はスタンダードなメモリ
構成要素内に既に組み込んだ上述した「スキャン」技術
の利点を利用している。
メモリ自身1は、或る制御信号に加えて、3組のラッ
チ(入力ラッチ2、アドレスラッチ3、及び出力ラッチ
4)によって囲繞されている。セルセレクト信号(CS)
5がリセット(メモリをディスエーブル)されると、シ
リアルアドレスビット(読出又は書込のいずれかに拘ら
ず、テストすべきデータをアドレス動作する)を、入力
アドレスクロック(ICKASDR)6をストローブすること
によってアドレスラッチ(その幅は、RAMの幅によって
決定され、ビット当たり1個のラッチが設けられてい
る)内にロードさせることが可能である。同様に、入力
データクロック(ICKDATA)7をストローブさせること
によって、テストデータを入力ラッチ(入力のビット当
たり1個)内に直列的に入力させることが可能である。
チ(入力ラッチ2、アドレスラッチ3、及び出力ラッチ
4)によって囲繞されている。セルセレクト信号(CS)
5がリセット(メモリをディスエーブル)されると、シ
リアルアドレスビット(読出又は書込のいずれかに拘ら
ず、テストすべきデータをアドレス動作する)を、入力
アドレスクロック(ICKASDR)6をストローブすること
によってアドレスラッチ(その幅は、RAMの幅によって
決定され、ビット当たり1個のラッチが設けられてい
る)内にロードさせることが可能である。同様に、入力
データクロック(ICKDATA)7をストローブさせること
によって、テストデータを入力ラッチ(入力のビット当
たり1個)内に直列的に入力させることが可能である。
CS及び書込イネーブル信号(WE)8をセットすること
により(且つ内部スキャンクロック信号を「低」に保
持)、内部ラッチ内に既にストローブされたテストデー
タは、以前にアドレスラッチ内にストローブされたアド
レスにおいてメモリ内に書き込まれる。WEがリセットさ
れることを除いて、メモリからテストデータを読み取る
為に同一の手段が続けられる。次いで、該テストデータ
を出力ラッチの入力に配置させ、そこでそれは、出力デ
ータクロック(OCK)9を一度ストローブすることによ
ってラッチさせることが可能である。次いで、出力(O
E)10をイネーブルさせ、CSをリセットさせ(メモリを
デイスエーブルさせ)且つデータの各ビットがシフトア
ウトされる迄内部スキャンクロックをストローブするこ
とによって、データを直列的にアクセスすることが可能
である。
により(且つ内部スキャンクロック信号を「低」に保
持)、内部ラッチ内に既にストローブされたテストデー
タは、以前にアドレスラッチ内にストローブされたアド
レスにおいてメモリ内に書き込まれる。WEがリセットさ
れることを除いて、メモリからテストデータを読み取る
為に同一の手段が続けられる。次いで、該テストデータ
を出力ラッチの入力に配置させ、そこでそれは、出力デ
ータクロック(OCK)9を一度ストローブすることによ
ってラッチさせることが可能である。次いで、出力(O
E)10をイネーブルさせ、CSをリセットさせ(メモリを
デイスエーブルさせ)且つデータの各ビットがシフトア
ウトされる迄内部スキャンクロックをストローブするこ
とによって、データを直列的にアクセスすることが可能
である。
この様に、メモリ自身で供給される入力ラッチ、出力
ラッチ及びアドレスラッチのみを使用して、スキャン機
構を介してメモリをテストすることが可能であり、従っ
て、専用ロジックを形成することを必要とする内部バス
を使用することから発生する問題を回避することを可能
としている。
ラッチ及びアドレスラッチのみを使用して、スキャン機
構を介してメモリをテストすることが可能であり、従っ
て、専用ロジックを形成することを必要とする内部バス
を使用することから発生する問題を回避することを可能
としている。
FASMIC柔軟性の例 専用外部ロジックの付加 第3図を参照して、FASMIC設計者によって未だかつて
考えたことのないFASMICアーキテクチャーへの特定の専
用論理装置を付加すること(例えば、DMA装置)をユー
ザが要望している場合を考える。伝統的には、そのユー
ザは、第1図に示した外部ポートに設けられているFASM
ICへのアクセスを有するのみであった。然し乍ら、FASM
ICアーキテクチャーにおいて、その装置の外部的にアク
セス可能なレジスタは基本的なアーキテクチャー内に組
み込まれており、即ちそれらは直接的にビットアドレス
可能又はバイトアドレス可能なレジスタの組の中に設け
られる。
考えたことのないFASMICアーキテクチャーへの特定の専
用論理装置を付加すること(例えば、DMA装置)をユー
ザが要望している場合を考える。伝統的には、そのユー
ザは、第1図に示した外部ポートに設けられているFASM
ICへのアクセスを有するのみであった。然し乍ら、FASM
ICアーキテクチャーにおいて、その装置の外部的にアク
セス可能なレジスタは基本的なアーキテクチャー内に組
み込まれており、即ちそれらは直接的にビットアドレス
可能又はバイトアドレス可能なレジスタの組の中に設け
られる。
外部装置のレジスタをFASMICの内部レジスタアドレス
空間内に設けることの重要性は、ユーザがFASMICを制御
する為のソフトウエアを書く場合に明らかとなる。例え
ば、第3図に示した専用のロジック装置の特定のレジス
タ(「レジスタC」)内に1個のビットを設定するタス
ク(例えば、FASMIC命令セットを使用して)に付いて考
えてみる。
空間内に設けることの重要性は、ユーザがFASMICを制御
する為のソフトウエアを書く場合に明らかとなる。例え
ば、第3図に示した専用のロジック装置の特定のレジス
タ(「レジスタC」)内に1個のビットを設定するタス
ク(例えば、FASMIC命令セットを使用して)に付いて考
えてみる。
FASMICアーキテクチャーにおいて(その外部レジスタ
はFASMICの内部アドレス空間内にあるので)、該プログ
ラムは、レジスタCの2番目の最小桁ビットを設定する
1つの命令(「SETB C.1」)のみからなる。然し乍ら、
レジスタCがFASMICの内部アドレス空間内に包含されて
いなかった場合(本発明者が既知の全てのマイクロコン
ピュータにおける場合の如く)には、著しく長いプログ
ラム(第3図に示した5つのマクロ命令からなる)が必
要とされる。
はFASMICの内部アドレス空間内にあるので)、該プログ
ラムは、レジスタCの2番目の最小桁ビットを設定する
1つの命令(「SETB C.1」)のみからなる。然し乍ら、
レジスタCがFASMICの内部アドレス空間内に包含されて
いなかった場合(本発明者が既知の全てのマイクロコン
ピュータにおける場合の如く)には、著しく長いプログ
ラム(第3図に示した5つのマクロ命令からなる)が必
要とされる。
要するに、ユーザは、外部レジスタC(マクロ命令1
及び5)から読み取った値を保持する為に、「スクラッ
チ」レジスタをセーブし且つ究極的に回復せねばならな
い。更に、ユーザは、レジスタCの内容をそのスクラッ
チレジスタ(マクロ命令2)内に移動させ、且つそのビ
ット(マクロ命令3)を最終的に設定した時に、その結
果をレジスタC(マクロ命令4)内に移動して戻さねば
ならない。
及び5)から読み取った値を保持する為に、「スクラッ
チ」レジスタをセーブし且つ究極的に回復せねばならな
い。更に、ユーザは、レジスタCの内容をそのスクラッ
チレジスタ(マクロ命令2)内に移動させ、且つそのビ
ット(マクロ命令3)を最終的に設定した時に、その結
果をレジスタC(マクロ命令4)内に移動して戻さねば
ならない。
このプログラムの付加的な長さは、外部レジスタを操
作する場合にはいつでも余分のプログラミングが必要と
されることを表している。ユーザの装置のレジスタが屡
々アクセスされる場合、FASMIC方法を使用する対応する
プログラムよりも、ユーザのプログラムは著しく遅く、
且つ著しく一層大きな空間を占有する。
作する場合にはいつでも余分のプログラミングが必要と
されることを表している。ユーザの装置のレジスタが屡
々アクセスされる場合、FASMIC方法を使用する対応する
プログラムよりも、ユーザのプログラムは著しく遅く、
且つ著しく一層大きな空間を占有する。
外部レジスタのアクセス動作等のこの様な明らかに冗
長な(且つ頻繁な)動作は、(殆どのコンピュータシス
テムの心臓部に位置する重要なデータ操作マクロ命令に
集中するのではなく)ユーザがデータを移動させるのみ
ならず制限されたスクラッチレジスタを節約し且つ回復
させる為の回り道的で屡々困難な経路を決定することを
強制するよりも,内部的に処理した場合には一層能率的
である。
長な(且つ頻繁な)動作は、(殆どのコンピュータシス
テムの心臓部に位置する重要なデータ操作マクロ命令に
集中するのではなく)ユーザがデータを移動させるのみ
ならず制限されたスクラッチレジスタを節約し且つ回復
させる為の回り道的で屡々困難な経路を決定することを
強制するよりも,内部的に処理した場合には一層能率的
である。
要するに、装置の内部レジスタアドレス空間内に外部
レジスタを設ける為にFASMICアーキテクチャーを一般化
させることによって、本発明は、余分の「データ移動」
命令(それは多くのコンピュータプログラムの過度の割
合を占めることが屡々である)を処理することの必要性
をユーザから取り除き、且つユーザが「データ操作」
(即ち、数字処理)命令を必要とする目下の特定のタス
クに集中することを自由とさせる。
レジスタを設ける為にFASMICアーキテクチャーを一般化
させることによって、本発明は、余分の「データ移動」
命令(それは多くのコンピュータプログラムの過度の割
合を占めることが屡々である)を処理することの必要性
をユーザから取り除き、且つユーザが「データ操作」
(即ち、数字処理)命令を必要とする目下の特定のタス
クに集中することを自由とさせる。
マクロ命令セットのカスタム化 ユーザは、その個別的な必要性にかなったものとする
為にマクロ命令のセット(組)をカスタム化することを
所望する。FASMICアーキテクチャーは、この様なカスタ
ム化を可能とするばかりか、極めて簡単化させる。
為にマクロ命令のセット(組)をカスタム化することを
所望する。FASMICアーキテクチャーは、この様なカスタ
ム化を可能とするばかりか、極めて簡単化させる。
一般的な(且つ通常許容可能な)「キャリー付き加算
(add with carry)(ADC)マクロ命令がユーザに提供
されている場合を考察する。簡単に説明すると、このマ
クロ命令は2つの数字を加算し且つ、その結果がそれの
最大桁ビットを越えてキャリーを発生した場合に、キャ
リービットをセットする。然し乍ら、その特定のユーザ
が(何等かの理由により)常にキャリービットをセット
する修正したADDCマクロ命令を必要とする場合にはどう
なるか?事実上、マシン内には全ての機能性が既に存在
しているが、従来技術のマイクロコンピュータはユーザ
に実現性のある解決を与えていない。
(add with carry)(ADC)マクロ命令がユーザに提供
されている場合を考察する。簡単に説明すると、このマ
クロ命令は2つの数字を加算し且つ、その結果がそれの
最大桁ビットを越えてキャリーを発生した場合に、キャ
リービットをセットする。然し乍ら、その特定のユーザ
が(何等かの理由により)常にキャリービットをセット
する修正したADDCマクロ命令を必要とする場合にはどう
なるか?事実上、マシン内には全ての機能性が既に存在
しているが、従来技術のマイクロコンピュータはユーザ
に実現性のある解決を与えていない。
一方、FASMICは、この様な要求に対してカスタム化す
べく設計されているので、マイクロコードは単に多少修
正されていることを必要とするに過ぎない。ALUにおけ
る加算操作によって発生されるキャリー値の使用ではな
く、マイクロコードは単に加算操作の後のいくつかにキ
ャリービットを直接的にセットすることを必要とする。
FASMICアーキテクチャーはこの柔軟性を基に設計されて
いるので、この特定のユーザに対しての操作上の多少の
変更が可能なのである(その場合に何等付加的なハード
ウエアの変更を必要とすることなしに)。
べく設計されているので、マイクロコードは単に多少修
正されていることを必要とするに過ぎない。ALUにおけ
る加算操作によって発生されるキャリー値の使用ではな
く、マイクロコードは単に加算操作の後のいくつかにキ
ャリービットを直接的にセットすることを必要とする。
FASMICアーキテクチャーはこの柔軟性を基に設計されて
いるので、この特定のユーザに対しての操作上の多少の
変更が可能なのである(その場合に何等付加的なハード
ウエアの変更を必要とすることなしに)。
その他の例は豊富である。ユーザは既存のマクロ命令
を単に修正するのではなく、全く新しいマクロ命令を付
加することを所望する場合もある。この場合に必要とさ
れることは、新しいマイクロコードシーケンスであり、
且つマップROM内のそのエントリーポイントの付加であ
る。前のマクロ命令セットとの適合性(たとえ実行時間
においても)も、現在の屡々より高速なルーチンよりも
「適合性」のあるマイクロルーチンを実行させるユーザ
が設定可能なスイッチを設けることによって簡単に可能
となる。より遅い速度は、屡々必要な程度の適合性を提
供する。
を単に修正するのではなく、全く新しいマクロ命令を付
加することを所望する場合もある。この場合に必要とさ
れることは、新しいマイクロコードシーケンスであり、
且つマップROM内のそのエントリーポイントの付加であ
る。前のマクロ命令セットとの適合性(たとえ実行時間
においても)も、現在の屡々より高速なルーチンよりも
「適合性」のあるマイクロルーチンを実行させるユーザ
が設定可能なスイッチを設けることによって簡単に可能
となる。より遅い速度は、屡々必要な程度の適合性を提
供する。
要するに、マクロ命令を各ユーザの個々の要求に対し
てカスタム化させることを可能とする柔軟性のあるアー
キテクチャーをユーザに供給することによって明らかに
重要な機能性を得ることが可能である。
てカスタム化させることを可能とする柔軟性のあるアー
キテクチャーをユーザに供給することによって明らかに
重要な機能性を得ることが可能である。
以上、本発明の具体的実施の態様に付いて詳細に説明
したが、本発明はこれら具体例にのみ限定されるべきも
のでは無く、本発明の技術的範囲を逸脱すること無しに
種々の変形が可能であることは勿論である。
したが、本発明はこれら具体例にのみ限定されるべきも
のでは無く、本発明の技術的範囲を逸脱すること無しに
種々の変形が可能であることは勿論である。
第1図は本発明の好適実施例に基づいて構成されたFASM
ICマイクロコンピュータのアーキテクチャーを示した説
明図、第2図は内部バスから独立したオンチップメモリ
をテストする「スキャン」技術を示した説明図、第3図
はいかにしてユーザ指定専用ロジック機能が基本FASMIC
アーキテクチャーへ付加されるかを示した説明図、であ
る。 (符号の説明) 3:データRAM 6:ALU 7,8,9:レジスタ 10:内部バス 11:制御信号 12:命令レジスタ 13:マップROM 14:マイクロコードROM 15:マイクロワードレジスタ 16,18:マルチプレクサ(MUX) 20,21:RARソース 23,24:外部ポート 33:インクリメンタ/デクリメンタ 34:インクリメンタ 43:プログラムROM 44:タイミング機構
ICマイクロコンピュータのアーキテクチャーを示した説
明図、第2図は内部バスから独立したオンチップメモリ
をテストする「スキャン」技術を示した説明図、第3図
はいかにしてユーザ指定専用ロジック機能が基本FASMIC
アーキテクチャーへ付加されるかを示した説明図、であ
る。 (符号の説明) 3:データRAM 6:ALU 7,8,9:レジスタ 10:内部バス 11:制御信号 12:命令レジスタ 13:マップROM 14:マイクロコードROM 15:マイクロワードレジスタ 16,18:マルチプレクサ(MUX) 20,21:RARソース 23,24:外部ポート 33:インクリメンタ/デクリメンタ 34:インクリメンタ 43:プログラムROM 44:タイミング機構
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パブリーナ エングヒリス アメリカ合衆国,カリフォルニア 94306,パロ アルト,ブライアント アベニュー 3182 (56)参考文献 特開 昭50−79232(JP,A) 特開 昭47−41337(JP,A) 特開 昭51−130138(JP,A) 特開 昭53−79341(JP,A) 特開 昭55−154635(JP,A) 特開 昭56−101250(JP,A) 特開 昭50−97248(JP,A) 特開 昭53−139944(JP,A) 正田英介、木田泰著「マイクロプログ ラミングと制御機器」(1978−4−10) 産報出版PP.62−67
Claims (8)
- 【請求項1】単一基板上のデジタルコンピュータにおい
て、双方向データバス、データ又はコードの格納用のメ
モリであって前記デジタルコンピュータの動作中にデー
タの一時的格納の為に使用する1つ又はそれ以上のレジ
スタを具備するメモリ、前記メモリをアドレスする為の
アドレス手段であって前記基板上に位置されていない外
部装置レジスタのアドレスを前記メモリに使用するのと
同一のアドレス空間内に包含する手段であって前記基板
上に位置されているレジスタに許容されるのと同一の程
度の前記外部レジスタの直接的操作を許容する手段を具
備するアドレス手段、及びマイクロ命令を解読し且つ実
行し且つ演算及び論理操作を実施し且つ前記データバス
と前記メモリと前記アドレス手段とへ結合されている中
央処理装置、を有しており、前記中央処理装置が、前記
コンピュータの動作を制御する為のマイクロエンジンで
あって前記コンピュータによって実行されるべき1つ又
はそれ以上のマクロ命令を格納する為のマクロ命令メモ
リと、各々が前記マクロ命令の実行を制御する為の1つ
又はそれ以上の制御信号を有する1つ又はそれ以上のマ
イクロ命令を有するマイクロコードメモリと、前記マク
ロ命令の各々を受け取り且つ前記マクロ命令をマイクロ
命令のシーケンスへマッピングさせ且つ前記マイクロ命
令のシーケンスの最初のマイクロ命令を実行させる手段
と、前記マイクロ命令の実行をシーケンス動作させる手
段とを具備するマイクロエンジン、及び前記データバス
の動作とは独立的に前記基板外部のメモリのアドレスと
前記マイクロエンジンによって実行される前記マクロ命
令の次のもののアドレスを発生する手段、を有すること
を特徴とするデジタルコンピュータ。 - 【請求項2】特許請求の範囲第1項において、前記デー
タバスの通常の動作を中断すること無しに前記メモリを
テストする手段を有しており、前記テストする手段が、
そこへデータを書き込むか又はそこからデータを読み取
る前記メモリ内のアドレスを外部源から受け取る為の1
個又はそれ以上のアドレス入力フィードバック回路、前
記メモリ内の前記アドレスへ書き込むことの可能なデー
タを外部源から受け取る為の1個又はそれ以上のデータ
入力フィードバック回路、前記メモリ内の前記アドレス
に格納されているデータを前記メモリから受け取る為の
1個又はそれ以上のデータ出力フィードバック回路、前
記メモリを前記アドレス入力フィードバック回路と前記
データ入力フィードバック回路と前記データ出力フィー
ドバック回路とへ結合させる手段、を有することを特徴
とするデジタルコンピュータ。 - 【請求項3】特許請求の範囲第2項において、前記テス
ト手段は、前記アドレス入力フィードバック回路へのア
ドレスビット、前記データ入力フィードバック回路への
データビット、及び前記データ出力フィードバック回路
への前記メモリからのデータビットの直列転送を制御す
るクロック手段を有することを特徴とするデジタルコン
ピュータ。 - 【請求項4】特許請求の範囲第1項において、前記マイ
クロエンジンは、前記基板外部の発生源から1つ又はそ
れ以上の信号を受け取る手段を有しており、前記信号
は、前記マクロ命令を受け取り且つマイクロ命令のシー
ケンスへマッピングする手段をして、前記マクロ命令を
前記信号が受け取られなかった場合に選択されたであろ
う様なものとは異なったマイクロ命令のシーケンスへマ
ップさせることを特徴とするデジタルコンピュータ。 - 【請求項5】特許請求の範囲第1項において、前記マク
ロ命令を受け取り且つマイクロ命令のシーケンスへマッ
ピングする手段が、前記マクロ命令の1つ又はそれ以上
のビットによってアドレスされ実行されるべき前記最初
のマイクロ命令の前記マイクロコードメモリ内にアドレ
スを格納するマッピングメモリ、前記デジタルコンピュ
ータにより実行可能なマクロ命令の組にマクロ命令を付
加し且つそれから削除し且つ前記デジタルコンピュータ
によって前記マクロ命令の1つまたはそれ以上が実行さ
れる速度を変化させ且つ前記マクロ命令が実行される場
合に実行される機能を変化させる手段であって前記マッ
ピングメモリ及び前記マイクロコードメモリの内容のみ
を修正し前記基板上のいずれの付加的な論理回路も修正
することのないステップを具備する手段を有することを
特徴とするデジタルコンピュータ。 - 【請求項6】特許請求の範囲第1項において、メモリ/
レジスタアドレスレジスタ、2つ又はそれ以上の発生源
から前記メモリ/レジスタアドレスレジスタの内容を選
択し前記マイクロコードメモリ内の1つ又はそれ以上の
マイクロ命令から発生される制御信号によって制御され
る多重化手段、を有することを特徴とするデジタルコン
ピュータ。 - 【請求項7】特許請求の範囲第6項において、前記多重
化手段の発生源が、前記基板上に位置されておりデータ
がそれに書き込まれたり又はそれから読み取られたりす
る為の前記メモリ内のアドレス又はレジスタを表すコー
ド化信号、及び前記基板上に位置されておりその内容が
それへデータが書き込まれたり又はそれからデータが読
み取られたりする前記メモリ内のアドレスを包含する前
記メモリ内のワードに対するアドレスポインターを表す
コード化信号、を有することを特徴とするデジタルコン
ピュータ。 - 【請求項8】特許請求の範囲第1項において、前記デー
タバスの動作とは独立的に前記基板の外部のメモリのア
ドレスと前記マイクロエンジンによって実行されるべき
前記マクロ命令の次のもののアドレスとを発生する手段
が、その内容が1つ又はそれ以上の連続するワードのデ
ータが格納されている前記基板の外部の前記メモリ内の
エリアをアドレスするデータポインタレジスタ、その内
容が1つ又はそれ以上の連続するマクロ命令が格納され
ているプログラムメモリ内のエリアをアドレスするプロ
グラムカウンタレジスタ、データがそれに書き込まれる
か又はデータがそれから読み取られるデータメモリ内の
アドレスの発生を容易とさせる為に前記データポイント
レジスタをインクリメント又はデクリメントさせる手
段、前記コンピュータによって実行されるべき次のマク
ロ命令のプログラムメモリ内のアドレスの発生を容易と
させる為に前記プログラムカウンタレジスタをインクリ
メント又はデクリメントさせる手段、を有することを特
徴とするデジタルコンピュータ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US116,411 | 1987-11-03 | ||
US07/116,411 US4878174A (en) | 1987-11-03 | 1987-11-03 | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0235523A JPH0235523A (ja) | 1990-02-06 |
JP2651218B2 true JP2651218B2 (ja) | 1997-09-10 |
Family
ID=22367030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63277547A Expired - Fee Related JP2651218B2 (ja) | 1987-11-03 | 1988-11-04 | フレキシブルasicマイクロコンピュータ |
Country Status (5)
Country | Link |
---|---|
US (1) | US4878174A (ja) |
EP (1) | EP0315275B1 (ja) |
JP (1) | JP2651218B2 (ja) |
KR (1) | KR890008699A (ja) |
DE (1) | DE3853613T2 (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187799A (en) * | 1988-05-17 | 1993-02-16 | Calif. Institute Of Technology | Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers |
US5117487A (en) * | 1988-08-26 | 1992-05-26 | Kabushiki Kaisha Toshiba | Method for accessing microprocessor and microinstruction control type microprocessor including pointer register |
US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
JP3063006B2 (ja) * | 1989-02-08 | 2000-07-12 | インテル・コーポレーション | マイクロプログラムされるコンピュータ装置及びマイクロコードシーケンスメモリをアドレツシングする方法 |
US5092300A (en) * | 1991-01-31 | 1992-03-03 | Siemens Automotive L.P. | Plastic fuel rail end joint |
AU660011B2 (en) * | 1991-04-26 | 1995-06-08 | Nec Corporation | Method and system for fault coverage testing memory |
IT1251565B (it) * | 1991-09-10 | 1995-05-17 | Sgs Thomson Microelectronics | Procedimento di verifica delle memorie di un microcalcolatore programmato, mediante un microprogramma incorporato nello stesso microcalcolatore. |
US5262625A (en) * | 1991-11-15 | 1993-11-16 | Ncr Corporation | Multiple bar code decoding system and method |
US5245926A (en) * | 1992-03-11 | 1993-09-21 | United States Of America As Represented By The Secretary Of The Army | Generic electronic safe and arm |
EP0562151B1 (de) * | 1992-03-27 | 1998-12-23 | Siemens Aktiengesellschaft | Integrierter Mikroprozessor |
US5195343A (en) * | 1992-05-26 | 1993-03-23 | General Motors Corporation | Pusher apparatus for multi-axis tube bender |
US5426769A (en) * | 1993-08-26 | 1995-06-20 | Metalink Corp. | System and method for producing input/output expansion for single chip microcomputers |
US5758141A (en) * | 1995-02-10 | 1998-05-26 | International Business Machines Corporation | Method and system for selective support of non-architected instructions within a superscaler processor system utilizing a special access bit within a machine state register |
WO1996034346A1 (en) * | 1995-04-28 | 1996-10-31 | Xilinx, Inc. | Microprocessor with distributed registers accessible by programmable logic device |
US6047361A (en) * | 1996-08-21 | 2000-04-04 | International Business Machines Corporation | Memory control device, with a common synchronous interface coupled thereto, for accessing asynchronous memory devices and different synchronous devices |
US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
US7181484B2 (en) | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
US7162621B2 (en) * | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
US6605962B2 (en) | 2001-05-06 | 2003-08-12 | Altera Corporation | PLD architecture for flexible placement of IP function blocks |
US7076595B1 (en) | 2001-05-18 | 2006-07-11 | Xilinx, Inc. | Programmable logic device including programmable interface core and central processing unit |
US6798239B2 (en) | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
US6781407B2 (en) | 2002-01-09 | 2004-08-24 | Xilinx, Inc. | FPGA and embedded circuitry initialization and processing |
US7420392B2 (en) | 2001-09-28 | 2008-09-02 | Xilinx, Inc. | Programmable gate array and embedded circuitry initialization and processing |
US6996758B1 (en) | 2001-11-16 | 2006-02-07 | Xilinx, Inc. | Apparatus for testing an interconnecting logic fabric |
US6983405B1 (en) | 2001-11-16 | 2006-01-03 | Xilinx, Inc., | Method and apparatus for testing circuitry embedded within a field programmable gate array |
US6886092B1 (en) | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
US6976160B1 (en) | 2002-02-22 | 2005-12-13 | Xilinx, Inc. | Method and system for controlling default values of flip-flops in PGA/ASIC-based designs |
US6754882B1 (en) | 2002-02-22 | 2004-06-22 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
US6934922B1 (en) | 2002-02-27 | 2005-08-23 | Xilinx, Inc. | Timing performance analysis |
US7007121B1 (en) | 2002-02-27 | 2006-02-28 | Xilinx, Inc. | Method and apparatus for synchronized buses |
US6839874B1 (en) | 2002-02-28 | 2005-01-04 | Xilinx, Inc. | Method and apparatus for testing an embedded device |
US7111217B1 (en) | 2002-02-28 | 2006-09-19 | Xilinx, Inc. | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) |
US7111220B1 (en) | 2002-03-01 | 2006-09-19 | Xilinx, Inc. | Network physical layer with embedded multi-standard CRC generator |
US7088767B1 (en) | 2002-03-01 | 2006-08-08 | Xilinx, Inc. | Method and apparatus for operating a transceiver in different data rates |
US7187709B1 (en) | 2002-03-01 | 2007-03-06 | Xilinx, Inc. | High speed configurable transceiver architecture |
US6961919B1 (en) | 2002-03-04 | 2005-11-01 | Xilinx, Inc. | Method of designing integrated circuit having both configurable and fixed logic circuitry |
US6973405B1 (en) | 2002-05-22 | 2005-12-06 | Xilinx, Inc. | Programmable interactive verification agent |
US6772405B1 (en) | 2002-06-13 | 2004-08-03 | Xilinx, Inc. | Insertable block tile for interconnecting to a device embedded in an integrated circuit |
US7085973B1 (en) | 2002-07-09 | 2006-08-01 | Xilinx, Inc. | Testing address lines of a memory controller |
US7099426B1 (en) | 2002-09-03 | 2006-08-29 | Xilinx, Inc. | Flexible channel bonding and clock correction operations on a multi-block data path |
US7092865B1 (en) | 2002-09-10 | 2006-08-15 | Xilinx, Inc. | Method and apparatus for timing modeling |
US7421014B2 (en) | 2003-09-11 | 2008-09-02 | Xilinx, Inc. | Channel bonding of a plurality of multi-gigabit transceivers |
KR101503534B1 (ko) * | 2008-11-28 | 2015-03-17 | 삼성전자주식회사 | 가시광 통신 데이터를 송수신하는 장치 |
CN116737601B (zh) * | 2023-08-11 | 2023-11-17 | 深圳市航顺芯片技术研发有限公司 | 将外设寄存器扩展为系统ram的方法、装置及存储介质 |
CN116909628B (zh) * | 2023-09-13 | 2023-12-26 | 腾讯科技(深圳)有限公司 | 直接内存访问系统、数据搬运方法、设备及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1471528A (en) * | 1973-07-05 | 1977-04-27 | Pains Wessex Ltd | Smoke markers |
IT995722B (it) * | 1973-10-10 | 1975-11-20 | Honeywell Inf Systems Italia | Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti |
US3943495A (en) * | 1973-12-26 | 1976-03-09 | Xerox Corporation | Microprocessor with immediate and indirect addressing |
US3961251A (en) * | 1974-12-20 | 1976-06-01 | International Business Machines Corporation | Testing embedded arrays |
US4001788A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Pathfinder microprogram control system |
JPS51130138A (en) * | 1975-05-06 | 1976-11-12 | Panafacom Ltd | Data processing system for extended instructions |
US4093982A (en) * | 1976-05-03 | 1978-06-06 | International Business Machines Corporation | Microprocessor system |
US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
JPS5379341A (en) * | 1976-12-24 | 1978-07-13 | Hitachi Ltd | Instruction supplementation system |
JPS53139944A (en) * | 1977-05-13 | 1978-12-06 | Hitachi Ltd | Control system of direct memory access |
US4124890A (en) * | 1977-06-20 | 1978-11-07 | Vasenkov Alexandr A | Microprocessor computing system |
JPS5826584B2 (ja) * | 1979-05-21 | 1983-06-03 | 株式会社日立製作所 | デ−タ処理装置 |
US4291372A (en) * | 1979-06-27 | 1981-09-22 | Burroughs Corporation | Microprocessor system with specialized instruction format |
JPS56101250A (en) * | 1980-01-14 | 1981-08-13 | Toshiba Corp | Data processor |
US4403284A (en) * | 1980-11-24 | 1983-09-06 | Texas Instruments Incorporated | Microprocessor which detects leading 1 bit of instruction to obtain microcode entry point address |
US4450519A (en) * | 1980-11-24 | 1984-05-22 | Texas Instruments Incorporated | Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories |
-
1987
- 1987-11-03 US US07/116,411 patent/US4878174A/en not_active Expired - Lifetime
-
1988
- 1988-11-02 DE DE3853613T patent/DE3853613T2/de not_active Expired - Fee Related
- 1988-11-02 EP EP88202444A patent/EP0315275B1/en not_active Expired - Lifetime
- 1988-11-03 KR KR1019880014463A patent/KR890008699A/ko not_active Application Discontinuation
- 1988-11-04 JP JP63277547A patent/JP2651218B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
正田英介、木田泰著「マイクロプログラミングと制御機器」(1978−4−10)産報出版PP.62−67 |
Also Published As
Publication number | Publication date |
---|---|
US4878174A (en) | 1989-10-31 |
EP0315275B1 (en) | 1995-04-19 |
EP0315275A3 (en) | 1990-08-16 |
KR890008699A (ko) | 1989-07-12 |
DE3853613T2 (de) | 1995-08-24 |
DE3853613D1 (de) | 1995-05-24 |
JPH0235523A (ja) | 1990-02-06 |
EP0315275A2 (en) | 1989-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2651218B2 (ja) | フレキシブルasicマイクロコンピュータ | |
US4839797A (en) | Microprocessor compatible with any software represented by different types of instruction formats | |
CA1109967A (en) | Expandable microprogram memory | |
EP0138419B1 (en) | Central processing unit for a digital computer | |
KR100462951B1 (ko) | Risc 구조를 갖는 8 비트 마이크로콘트롤러 | |
US5155819A (en) | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions | |
KR100227277B1 (ko) | 컴퓨터에 있어서 스칼라값을 벡터로 기입하는 방법 | |
US4569018A (en) | Digital data processing system having dual-purpose scratchpad and address translation memory | |
US4124893A (en) | Microword address branching bit arrangement | |
JPS604491B2 (ja) | デ−タ処理システム | |
JPH04233640A (ja) | メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ | |
US4347566A (en) | Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip | |
KR19980069757A (ko) | 마이크로프로세서 및 멀티프로세서 시스템 | |
EP2396723B1 (en) | Microcontroller with special banking instructions and method therefor | |
US5046040A (en) | Microprogram control apparatus using don't care bits as part of address bits for common instructions and generating variable control bits | |
US4087857A (en) | ROM-initializing apparatus | |
JPH03216776A (ja) | 集積回路装置及びそれにより構成されたマイクロプロセッサ | |
US6542989B2 (en) | Single instruction having op code and stack control field | |
US6012138A (en) | Dynamically variable length CPU pipeline for efficiently executing two instruction sets | |
KR100385493B1 (ko) | 재구성가능한프로그램상태워드를갖는마이크로콘트롤러 | |
JPH0640303B2 (ja) | デ−タ処理装置 | |
US4107774A (en) | Microprogram splatter return apparatus | |
US6564312B1 (en) | Data processor comprising an arithmetic logic unit | |
JPH04305735A (ja) | マイクロプログラム制御回路 | |
JPH03271829A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |