JPH02186487A - マイクロコンピュータ装置 - Google Patents
マイクロコンピュータ装置Info
- Publication number
- JPH02186487A JPH02186487A JP1306365A JP30636589A JPH02186487A JP H02186487 A JPH02186487 A JP H02186487A JP 1306365 A JP1306365 A JP 1306365A JP 30636589 A JP30636589 A JP 30636589A JP H02186487 A JPH02186487 A JP H02186487A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bus
- data
- bits
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/786—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Microcomputers (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、集積形の半導体装置及びシステム、特にマイ
クロプロセッサ・システム、マイクロコンピュータ装置
及びマイクロプロセッサ装置に関し、更に詳細には、単
一チップ・マイクロコンピュータ形式の高速度の小形化
された電子的ディジタル信号処理システムの特徴に関す
る。
クロプロセッサ・システム、マイクロコンピュータ装置
及びマイクロプロセッサ装置に関し、更に詳細には、単
一チップ・マイクロコンピュータ形式の高速度の小形化
された電子的ディジタル信号処理システムの特徴に関す
る。
従来の技術
マイクロプロセッサ装置は、米国特許第3.757゜3
06号に示されているように、rMO3/LSI」法に
よって製作される単一の半導体集積回路または「チップ
」内に通例包含されるディジタル・プロセッサのための
中央処理装置すなわちCPUである。この米国特許には
、並列型演算/論理ユニット(以下ALUともいう)、
データ及びアドレスのためのレジスタ、命令レジスタ及
び制御デコーダを含む単一チップ形8ビットCPUが示
されており、上記諸部材は全てフォノ・ノイマン(vo
n Neuman)構造を用いて相互接続されており、
そして、データ、アドレス及び命令のための双方向並列
バスを使用している。米国特許第4.074゜351号
には単一チップ「マイクロコンピュータ」型の装置が示
されており、該装置は、プログラム記憶のためのオンチ
ップROM及びデータ記憶のためのオンチップRAMと
ともよに4ビット並列ALU及びその制御回路を有して
バーバード(Harvard)構造に構成されている。
06号に示されているように、rMO3/LSI」法に
よって製作される単一の半導体集積回路または「チップ
」内に通例包含されるディジタル・プロセッサのための
中央処理装置すなわちCPUである。この米国特許には
、並列型演算/論理ユニット(以下ALUともいう)、
データ及びアドレスのためのレジスタ、命令レジスタ及
び制御デコーダを含む単一チップ形8ビットCPUが示
されており、上記諸部材は全てフォノ・ノイマン(vo
n Neuman)構造を用いて相互接続されており、
そして、データ、アドレス及び命令のための双方向並列
バスを使用している。米国特許第4.074゜351号
には単一チップ「マイクロコンピュータ」型の装置が示
されており、該装置は、プログラム記憶のためのオンチ
ップROM及びデータ記憶のためのオンチップRAMと
ともよに4ビット並列ALU及びその制御回路を有して
バーバード(Harvard)構造に構成されている。
マイクロプロセッサなる語は、通例、プログラム及びデ
ータ記憶のために外部メモリを使用する装置を指し、−
方、マイクロコンピュータなる語は、プログラム及びデ
ータ記憶のためにオンチップROM及びRAMを有する
装置を指す。しかし、これら用語はまた互換的に用いら
れており、本発明の若干の特徴については制限的なもの
ではない。
ータ記憶のために外部メモリを使用する装置を指し、−
方、マイクロコンピュータなる語は、プログラム及びデ
ータ記憶のためにオンチップROM及びRAMを有する
装置を指す。しかし、これら用語はまた互換的に用いら
れており、本発明の若干の特徴については制限的なもの
ではない。
米国特許第3.757.396号及び第4.074.3
51号が最初に出願された1971年以来、マイクロプ
ロセッサ及びマイクロコンビュ“−夕において、これら
装置の速度及び能ノJを増大し、且つ、製造費を低減す
るために多くの改良が行なわれており、より小さい空間
、即ちより小さいチップ大きさ内により多くの回路及び
機能を提供するようになってきている。改良されたVL
SI半導体処理及び写真食刻法により、より狭い線巾及
びより高い解像度が可能となり、回路密度の増大及びよ
り高い速度が得られているが、回路及びシステムの改良
はまた、より小さいチップ大きさをもって増大した性能
を得るという目標に寄与するものである。マイクロコン
ピュータにおけるこれら改良のうちのいくつかは、 米国特許第3.991.305号、第4.156.92
7号、第3.934.233号、第3.921.142
号、第3.900.722号、第3.932.846号
、第3.939.335号、第4.125.9旧号、第
4.1.58.432号、第3.757.308号、及
び第3.984゜816号に開示されている。これら米
国特許に記載されている装置は、バーバード構造であっ
て4ビツト型であり、計算器及び制御器への適用に特に
適する。
51号が最初に出願された1971年以来、マイクロプ
ロセッサ及びマイクロコンビュ“−夕において、これら
装置の速度及び能ノJを増大し、且つ、製造費を低減す
るために多くの改良が行なわれており、より小さい空間
、即ちより小さいチップ大きさ内により多くの回路及び
機能を提供するようになってきている。改良されたVL
SI半導体処理及び写真食刻法により、より狭い線巾及
びより高い解像度が可能となり、回路密度の増大及びよ
り高い速度が得られているが、回路及びシステムの改良
はまた、より小さいチップ大きさをもって増大した性能
を得るという目標に寄与するものである。マイクロコン
ピュータにおけるこれら改良のうちのいくつかは、 米国特許第3.991.305号、第4.156.92
7号、第3.934.233号、第3.921.142
号、第3.900.722号、第3.932.846号
、第3.939.335号、第4.125.9旧号、第
4.1.58.432号、第3.757.308号、及
び第3.984゜816号に開示されている。これら米
国特許に記載されている装置は、バーバード構造であっ
て4ビツト型であり、計算器及び制御器への適用に特に
適する。
この技術の発展に伴うマイクロプロセッサ及びマイクロ
コンピュータ装置の更に他の例が種々の出版物に記載さ
れている。即ち、1972年9月25日ノエレクトロニ
クス(Electronics)誌の第31頁ないし第
32頁には、オンチップROM及びRA、 Mを有する
4ビツト・PチャネルMO8形のマイクロコンピュータ
が示されており、このマイクロコンピュータは米国特許
第3.991.305号に類似したものである。米国特
許第3.757.306号のマイクロプロセッサに類似
する最も広く用いられている8ビツト・マイクロプロセ
ッサの二つの例が、1974年4月18日のエレクトロ
ニクス誌の第88頁ないし第95頁に(モトローラ(λ
Iotorola) 6800型)、及び第95頁ない
し第100頁に(インテル(Intel) 8080型
)記載されている。6800型のマイクロコンピュータ
が1978年2月2日のエレクトロニクス誌の第95頁
ないし第103頁に記載されている。同様に、8080
型の単一チップ・マイクロコンビ、1−夕が1976年
1.1月25日のエレクトロニクス誌の第99頁ないし
第105頁に示されている。
コンピュータ装置の更に他の例が種々の出版物に記載さ
れている。即ち、1972年9月25日ノエレクトロニ
クス(Electronics)誌の第31頁ないし第
32頁には、オンチップROM及びRA、 Mを有する
4ビツト・PチャネルMO8形のマイクロコンピュータ
が示されており、このマイクロコンピュータは米国特許
第3.991.305号に類似したものである。米国特
許第3.757.306号のマイクロプロセッサに類似
する最も広く用いられている8ビツト・マイクロプロセ
ッサの二つの例が、1974年4月18日のエレクトロ
ニクス誌の第88頁ないし第95頁に(モトローラ(λ
Iotorola) 6800型)、及び第95頁ない
し第100頁に(インテル(Intel) 8080型
)記載されている。6800型のマイクロコンピュータ
が1978年2月2日のエレクトロニクス誌の第95頁
ないし第103頁に記載されている。同様に、8080
型の単一チップ・マイクロコンビ、1−夕が1976年
1.1月25日のエレクトロニクス誌の第99頁ないし
第105頁に示されている。
他の単一チップ・マイクロコンピュータであるモスチッ
ク(Mostck) 3872型が1978年5月I
I日のエレクトロニクス誌の第105頁ないし第110
頁に示されており、また6800型の改良型が1979
年9月17日のエレクトロニクス誌の第122頁ないし
第125頁に開示されている。
ク(Mostck) 3872型が1978年5月I
I日のエレクトロニクス誌の第105頁ないし第110
頁に示されており、また6800型の改良型が1979
年9月17日のエレクトロニクス誌の第122頁ないし
第125頁に開示されている。
r9900フアミリ・システムズ・デザイン」(990
0Family Systems Desigr+)な
る書名の書籍に記載されているパーツ番号’is 99
00のような、ミニコンピユータ命令セットを基礎とす
る16ビツト・マイクロプロセッサが発展してきている
。
0Family Systems Desigr+)な
る書名の書籍に記載されているパーツ番号’is 99
00のような、ミニコンピユータ命令セットを基礎とす
る16ビツト・マイクロプロセッサが発展してきている
。
上記書籍は、米国、テキサス州77001、ヒユースト
ン市、M/S 6404 、私書箱1443のテキサス
・インスルトルメンツ社(Texas Instrum
entsIncorprated)から1978年に発
刊されたものであり、米国議会図書館のカタログ番号7
8−058005となっている。8080型から発展し
た16ビツト・マイクロプロセッサである8086型が
1978年2月16日のエレクトロニクス誌の第99頁
ないし第104頁に記載されており、また、68000
型(6800型を基礎としたもの)なる16ビツト・マ
イクロプロセッサが、1978年9月1日のエレクトo
、=、 ツタ・デザイン(Electronic D
esign)誌の第100頁ないし第107頁に、及び
IEEEコンピュータ(IEEE Computer)
誌、第12巻、第2号(1979年)の第43頁ないし
第52頁に記載されている。
ン市、M/S 6404 、私書箱1443のテキサス
・インスルトルメンツ社(Texas Instrum
entsIncorprated)から1978年に発
刊されたものであり、米国議会図書館のカタログ番号7
8−058005となっている。8080型から発展し
た16ビツト・マイクロプロセッサである8086型が
1978年2月16日のエレクトロニクス誌の第99頁
ないし第104頁に記載されており、また、68000
型(6800型を基礎としたもの)なる16ビツト・マ
イクロプロセッサが、1978年9月1日のエレクトo
、=、 ツタ・デザイン(Electronic D
esign)誌の第100頁ないし第107頁に、及び
IEEEコンピュータ(IEEE Computer)
誌、第12巻、第2号(1979年)の第43頁ないし
第52頁に記載されている。
これら従来の8ビツト及び16ビツトのマイクロプロセ
ッサ及びマイクロコンピュータは、多重アドレス/デー
タバスを有するフオン・ノイマン(Yon Neurn
ann)構造の汎用処理処置であり、そのうちの若干は
、ガタグ(Gutta、g) 、々クドナフ(McDo
nough )及びローズ(Laws )による198
0年11月24日出願の米国特許出願筒209.915
号、またはへイン(Hayn) 、マクドナフ及びベレ
イ(f3allay)による1981年4月13日出願
の米国特許出願筒253.624号(いずれもテキサス
・インストルメンツ社に譲渡されている)において、及
びIEEEスペクトラム(IEEE Spectrum
)誌、1973年3月号の第28頁ないし第34頁にマ
クケビット(Makevi目)及びベイリス(Bayl
iss)により、または1979年12月の第11回年
次マイクロプログラミング研究会会報(Proceed
i口gs11 th Annual Micropro
grarnming Workshop)にステインタ
(Stintter)及びトレデニツク(Treden
ick )によって記載されているように、マイクロ
コード式となっている。マイクロコーディングは、最初
1、951年にウィルケス(Wi 1kes)が述べた
ものであり、命令語によって入れられるマイクロ命令シ
ーケンスを記憶するために制御ROMを用いる。
ッサ及びマイクロコンピュータは、多重アドレス/デー
タバスを有するフオン・ノイマン(Yon Neurn
ann)構造の汎用処理処置であり、そのうちの若干は
、ガタグ(Gutta、g) 、々クドナフ(McDo
nough )及びローズ(Laws )による198
0年11月24日出願の米国特許出願筒209.915
号、またはへイン(Hayn) 、マクドナフ及びベレ
イ(f3allay)による1981年4月13日出願
の米国特許出願筒253.624号(いずれもテキサス
・インストルメンツ社に譲渡されている)において、及
びIEEEスペクトラム(IEEE Spectrum
)誌、1973年3月号の第28頁ないし第34頁にマ
クケビット(Makevi目)及びベイリス(Bayl
iss)により、または1979年12月の第11回年
次マイクロプログラミング研究会会報(Proceed
i口gs11 th Annual Micropro
grarnming Workshop)にステインタ
(Stintter)及びトレデニツク(Treden
ick )によって記載されているように、マイクロ
コード式となっている。マイクロコーディングは、最初
1、951年にウィルケス(Wi 1kes)が述べた
ものであり、命令語によって入れられるマイクロ命令シ
ーケンスを記憶するために制御ROMを用いる。
プログラマは高いレベルの機械語でプログラムを書く。
従って、アセンブリ言語コード文の数を減らすことがで
き、従って、プログラム作成費が低減する。
き、従って、プログラム作成費が低減する。
本発明の要約
これに対して、本発明の特徴は、以降に説明する実施例
に従って専用高速度マイクロコンピュータ装置に好まし
く採用できるものであり、この実施例は、速度及び性能
上のかなりの利点を得るために、いくつかの主要な点に
おいて上記従来のマイクロプロセッサ装置と異なってい
る。この本発明装置は、一般に、バーバード構造を変形
した非マイクロコード式処理装置である。
に従って専用高速度マイクロコンピュータ装置に好まし
く採用できるものであり、この実施例は、速度及び性能
上のかなりの利点を得るために、いくつかの主要な点に
おいて上記従来のマイクロプロセッサ装置と異なってい
る。この本発明装置は、一般に、バーバード構造を変形
した非マイクロコード式処理装置である。
本発明の主目的は、改良された特徴を有するマイクロコ
ンピュータ装置及びシステム、特にリアルタイム・ディ
ジタル信号処理等に好適するマイクロコンピュータ装置
及びシステムを提供することにある。本発明の他の目的
は、能力を増強した高速度マイクロコンピュータを提供
することにある。
ンピュータ装置及びシステム、特にリアルタイム・ディ
ジタル信号処理等に好適するマイクロコンピュータ装置
及びシステムを提供することにある。本発明の他の目的
は、能力を増強した高速度マイクロコンピュータを提供
することにある。
概略説明すると、本発明の一実施例によれば、本発明の
諸特徴は、プログラム及びデータのための別々のアドレ
ス及びデータ経路とともに別々のオンチップ形プログラ
ムROM及びデータRAMを有する単一チップ形マイク
ロコンピュータ装置を用いるリアルタイム・ディジタル
信号処理のためのシステムに含まれている。外部プログ
ラムアドレスバスがあるので、操作符号を外部データバ
スによって復帰させた状態で、延長モードにおいてオフ
チップ・プログラム取出しを行なうことができる。バス
交換モジュールにより、特殊の環境における別々の内部
プログラム及びデータバス相互間の転送ができる。内部
バスは16ビツトであり、一方、A L U及びアキュ
ムレータは32ビツトである。乗算回路が、ALUに対
する32ビット出力をもって、ALUと別に単一ステー
トの16 X 1.6乗算機能を行なう。ALUに対す
る一つの入力が符号拡張をもって0ないし15ビツト・
シフタを通過する。
諸特徴は、プログラム及びデータのための別々のアドレ
ス及びデータ経路とともに別々のオンチップ形プログラ
ムROM及びデータRAMを有する単一チップ形マイク
ロコンピュータ装置を用いるリアルタイム・ディジタル
信号処理のためのシステムに含まれている。外部プログ
ラムアドレスバスがあるので、操作符号を外部データバ
スによって復帰させた状態で、延長モードにおいてオフ
チップ・プログラム取出しを行なうことができる。バス
交換モジュールにより、特殊の環境における別々の内部
プログラム及びデータバス相互間の転送ができる。内部
バスは16ビツトであり、一方、A L U及びアキュ
ムレータは32ビツトである。乗算回路が、ALUに対
する32ビット出力をもって、ALUと別に単一ステー
トの16 X 1.6乗算機能を行なう。ALUに対す
る一つの入力が符号拡張をもって0ないし15ビツト・
シフタを通過する。
本発明の新規な特徴及び特性は特許請求の範囲に記載し
た如きである。しかし、本発明それ自体並びに本発明の
他の特徴及び利点は図面を参照して行なう以下の詳細な
説明から理解できる。
た如きである。しかし、本発明それ自体並びに本発明の
他の特徴及び利点は図面を参照して行なう以下の詳細な
説明から理解できる。
実施例
以下、具体的な実施例について詳細に説明する。
マイクロプロセッサ
ここに説明するマイクロコンピュータ装置は、主として
信号処理のために使用されるが、その概念はいろいろな
形態のプロセッサ装置に使用することができ、それらの
プロセッサ装置は多くの様々なシステムに使用すること
ができる。すなわち、1実施例では、マイクロコンピュ
ータは第1図に一般化した形式で示したシステムに使用
されている。そのシステムは、たとえば、音声通信シス
テム、音声分析システム、小型の“個人用“または“家
庭用”コンピュータ、単一ボード汎用マイクロコンピュ
ータ、ワードプロセッサ、デイスプレィとタイプライタ
形キーボードを備えていてローカル処理能力を有するコ
ンピュータ端末装置、あるいはいろいろなタイプの多く
の応用のうちのひとつであってもよい。
信号処理のために使用されるが、その概念はいろいろな
形態のプロセッサ装置に使用することができ、それらの
プロセッサ装置は多くの様々なシステムに使用すること
ができる。すなわち、1実施例では、マイクロコンピュ
ータは第1図に一般化した形式で示したシステムに使用
されている。そのシステムは、たとえば、音声通信シス
テム、音声分析システム、小型の“個人用“または“家
庭用”コンピュータ、単一ボード汎用マイクロコンピュ
ータ、ワードプロセッサ、デイスプレィとタイプライタ
形キーボードを備えていてローカル処理能力を有するコ
ンピュータ端末装置、あるいはいろいろなタイプの多く
の応用のうちのひとつであってもよい。
このシステムは、後述する単一チップMO8/LSI中
央処理ユニット(以下CPUともいう)すなわちマイク
ロコンピュータ10、プログラムまたはデータ記憶装置
11、および入出力装置すなわちI10装置12を有し
ている。
央処理ユニット(以下CPUともいう)すなわちマイク
ロコンピュータ10、プログラムまたはデータ記憶装置
11、および入出力装置すなわちI10装置12を有し
ている。
一般に、代表的なシステムのI10装置12は、アナロ
グ・デジタル変換器および(または)デジタル・アナロ
グ変換器、モデム・−キーボード、CRTデイスプレィ
、ディスク駆動装置等を有している。I10装置1’2
は汎用プロセッサに対する結合部を備えているものが多
い。
グ・デジタル変換器および(または)デジタル・アナロ
グ変換器、モデム・−キーボード、CRTデイスプレィ
、ディスク駆動装置等を有している。I10装置1’2
は汎用プロセッサに対する結合部を備えているものが多
い。
すなわち、マイクロコンピュータlOは、I10装置1
2を介してインタフェースされ、より大きなシステムに
おける付加プロセッサになる。マイクロコンピュータ1
0、プログラムデータ記憶装置11およびI10装置1
2は、2個のマルチビット並列のアドレス・バスRAと
データ・バスD1および制御バス13によって相互に連
絡されている。マイクロコンピュータ10は適当な供給
電圧と水晶入力端子を有している。たとえば、マイクロ
コンピュータ10は単相+5Vの供給電圧Vddと接地
Vssを用いており、マイクロコンピュータ10の端子
X1とX2には一定のシステム調時を制御する水晶が接
続されている。マイクロコンピュータlOは20MHz
の水晶入力をもつ非常に高速な装置であって、ある実施
例の場合、毎秒500万回の命令実行速度を備えている
マイクロコシピユータ10は、デジタル・フィルタリン
グ、テレコミュニケーション・モデム(変調、復調)の
ための信号処理、線形予測コード(LPG) 、音声信
号のデータ圧縮、高速フーリエ交換、など大規模な逐次
信号処理問題に役立つことを特にねらっており、また、
一般に、検出信号発生、混合、位相トラッキング、角度
測定、フィードバック制御、刻時回復、相関、たたみ込
みあるいは合成(couvolution)等を含む集
中的アナログシステム機能のほとんどすべての計算に向
いている汎用マイクロコンピュータである。さらに、マ
イクロコンピュータIOは、座標変換、定数係数をもつ
線形微分方程式の解、平均等など制御や信号処理のため
の計算要求と同様な計算要求をもつ用途に対して使用で
きる。マイクロコンピュータ10は、後で説明するよう
に、普通は、f10装置12を介して99000.86
00あるいは68000などの汎用プロセッサにインタ
フェースされ、処理システムを構成する。
2を介してインタフェースされ、より大きなシステムに
おける付加プロセッサになる。マイクロコンピュータ1
0、プログラムデータ記憶装置11およびI10装置1
2は、2個のマルチビット並列のアドレス・バスRAと
データ・バスD1および制御バス13によって相互に連
絡されている。マイクロコンピュータ10は適当な供給
電圧と水晶入力端子を有している。たとえば、マイクロ
コンピュータ10は単相+5Vの供給電圧Vddと接地
Vssを用いており、マイクロコンピュータ10の端子
X1とX2には一定のシステム調時を制御する水晶が接
続されている。マイクロコンピュータlOは20MHz
の水晶入力をもつ非常に高速な装置であって、ある実施
例の場合、毎秒500万回の命令実行速度を備えている
マイクロコシピユータ10は、デジタル・フィルタリン
グ、テレコミュニケーション・モデム(変調、復調)の
ための信号処理、線形予測コード(LPG) 、音声信
号のデータ圧縮、高速フーリエ交換、など大規模な逐次
信号処理問題に役立つことを特にねらっており、また、
一般に、検出信号発生、混合、位相トラッキング、角度
測定、フィードバック制御、刻時回復、相関、たたみ込
みあるいは合成(couvolution)等を含む集
中的アナログシステム機能のほとんどすべての計算に向
いている汎用マイクロコンピュータである。さらに、マ
イクロコンピュータIOは、座標変換、定数係数をもつ
線形微分方程式の解、平均等など制御や信号処理のため
の計算要求と同様な計算要求をもつ用途に対して使用で
きる。マイクロコンピュータ10は、後で説明するよう
に、普通は、f10装置12を介して99000.86
00あるいは68000などの汎用プロセッサにインタ
フェースされ、処理システムを構成する。
好ましい実施例では、オンチップ・プログラムROM1
.4およびデータRAM15を有するマイクロコンピュ
ータについて説明するが、本発明のいくつかの概念は、
図示したオンチップ記憶装置の代りにすべてオフチップ
のプログラム記憶装置および(または)データ記憶装置
である単一チップ・マイクロプロセッサに使用できる。
.4およびデータRAM15を有するマイクロコンピュ
ータについて説明するが、本発明のいくつかの概念は、
図示したオンチップ記憶装置の代りにすべてオフチップ
のプログラム記憶装置および(または)データ記憶装置
である単一チップ・マイクロプロセッサに使用できる。
もつとも、オンチップ記憶装置を使用禁止にする操作モ
ードが準備されている。マイクロコンピュータIOは、
現在一般的である多重化双方向バスの代りに、2個の独
立した外部プログラム・アドレス・バスとデータバスを
もつように図示しであるが、ここに開示したいくつかの
特徴は、バスが多重化されていても利用することができ
る。バスを分離すること、およびプログラム記憶装置と
データ記憶装置とを分離することの利点は、処理速度で
ある。
ードが準備されている。マイクロコンピュータIOは、
現在一般的である多重化双方向バスの代りに、2個の独
立した外部プログラム・アドレス・バスとデータバスを
もつように図示しであるが、ここに開示したいくつかの
特徴は、バスが多重化されていても利用することができ
る。バスを分離すること、およびプログラム記憶装置と
データ記憶装置とを分離することの利点は、処理速度で
ある。
一般に、第1図のシステムは次のように機能する。すな
わち、マイクロコンピュータlOは、内部でROM14
をアクセスすることによって、あるいは外部にROMア
ドレス・バスRA(および制御バス13のRCLK、−
)を通じて記憶装置tiヘアドレスを送ることによって
命令語を−取り出す。もし外部であれば、記憶装置1.
1のアドレスされたロケーションからデータ・バスDを
通して命令語を受は取る。この命令は、次のマシン・サ
イクル(20MHzのクロックすなわち水晶XI。
わち、マイクロコンピュータlOは、内部でROM14
をアクセスすることによって、あるいは外部にROMア
ドレス・バスRA(および制御バス13のRCLK、−
)を通じて記憶装置tiヘアドレスを送ることによって
命令語を−取り出す。もし外部であれば、記憶装置1.
1のアドレスされたロケーションからデータ・バスDを
通して命令語を受は取る。この命令は、次のマシン・サ
イクル(20MHzのクロックすなわち水晶XI。
X2により定義される200ナノ秒の長さをもつ)にお
いて実行される一方、新しい命令が取り出される。命令
の実行は、オペランドのためオンチップRAM15をア
クセスすること、または結果をデータRAM15へ書き
込むこと、およびALU内での演算または論理操作が含
まれる。
いて実行される一方、新しい命令が取り出される。命令
の実行は、オペランドのためオンチップRAM15をア
クセスすること、または結果をデータRAM15へ書き
込むこと、およびALU内での演算または論理操作が含
まれる。
実施例について詳細に述べると、内部でROM14へ、
または外部でRAババス加えられた12ビツトの命令ア
ドレスは、ROM14や記憶装置11内の211すなわ
ち4に語のプログラム命令または定数を直接アドレスす
る。記憶装置11から読み取っているとき、DE!l
(データ・バス使用許可バー)指令が制御バス13上
に表明される。
または外部でRAババス加えられた12ビツトの命令ア
ドレスは、ROM14や記憶装置11内の211すなわ
ち4に語のプログラム命令または定数を直接アドレスす
る。記憶装置11から読み取っているとき、DE!l
(データ・バス使用許可バー)指令が制御バス13上
に表明される。
また、記憶装置11に書き込むことも可能であり、この
ために、WE−(書込み許可バー)指令がマイクロコン
ピュータ・10によって制御バス13の1つに表明され
る。WE−指令が書込み機能を許可するように、記憶装
置tiはそのアドレス空間のいくつかまたはすべてに読
取り/書込み記憶装置を含むことができる。
ために、WE−(書込み許可バー)指令がマイクロコン
ピュータ・10によって制御バス13の1つに表明され
る。WE−指令が書込み機能を許可するように、記憶装
置tiはそのアドレス空間のいくつかまたはすべてに読
取り/書込み記憶装置を含むことができる。
I10装置12は、ポートとしてアドレスされる。外部
の装置12に対する、このインタフェースはアドレス・
バスRA、データ・バスDおよび制御バス13を使って
なされる。しかし、I10装置12は、記憶装置11の
ような論理アドレス空間内にロケーションを占めること
はない。これは、通常の記憶域割当形I10装置とは対
照的である。
の装置12に対する、このインタフェースはアドレス・
バスRA、データ・バスDおよび制御バス13を使って
なされる。しかし、I10装置12は、記憶装置11の
ような論理アドレス空間内にロケーションを占めること
はない。これは、通常の記憶域割当形I10装置とは対
照的である。
Iloすなわち周辺装置12を通すデータの入出力は、
周辺装置12内の8個の16ビツトポートPo−P7の
1つを選択するためバスRAからの3ビツトフイールド
のRApを使用する。各ポートはDEN−またはWE−
指令によって入力または出力のいずれかに定義すること
ができるから、実質上、インが8個、アウトが8個、計
16個の16ビツト部がある。選択された16ビツト・
ポートはRApとDEN−(またはWE−)によってア
ドレスされ、そのあと、バスDを通して読取りまたは書
込みのためアクセスされる。その操作は2つの命令IN
またはOUTの一方を使用する。
周辺装置12内の8個の16ビツトポートPo−P7の
1つを選択するためバスRAからの3ビツトフイールド
のRApを使用する。各ポートはDEN−またはWE−
指令によって入力または出力のいずれかに定義すること
ができるから、実質上、インが8個、アウトが8個、計
16個の16ビツト部がある。選択された16ビツト・
ポートはRApとDEN−(またはWE−)によってア
ドレスされ、そのあと、バスDを通して読取りまたは書
込みのためアクセスされる。その操作は2つの命令IN
またはOUTの一方を使用する。
すなわち、制御バス13上のWE−は書込みすなわちO
UTの場合に使用され、またDEN−は読取り、すなわ
ち、INの場合に使用される。
UTの場合に使用され、またDEN−は読取り、すなわ
ち、INの場合に使用される。
制御バス13上のROMクロックRCLKは、DEN−
またはWE−のどちらかが使用中であるときを除きどの
マシンサイクルにおいても使用される。すなわち、記憶
装置11は、各マシンサイクルにおいてオフチップから
の予想される命令語のアクセスのためRCL K−よっ
て起動される。
またはWE−のどちらかが使用中であるときを除きどの
マシンサイクルにおいても使用される。すなわち、記憶
装置11は、各マシンサイクルにおいてオフチップから
の予想される命令語のアクセスのためRCL K−よっ
て起動される。
しかし、もしDEN−またはWE−を使って周辺装置1
2をアクセスする場合には、RCLK−は生じない。
2をアクセスする場合には、RCLK−は生じない。
制御バス13上のリセット信号R8−は、プログラム・
カウンタとアドレス・バスRAをクリヤしくゼロにリセ
ットする)、データ・バスDを高インピーダンス状態に
セットし、そして−記憶装置制御指令DEN−1WE−
およびRCLK−を非使用(高)状態にセットする。マ
イクロコンピュータ10内のすべてのアドレス・レジス
タおよび一時データ・レジスタは、ROM14内のリセ
ット・ルーチンによってクリヤされるが、内部のRAM
はクリヤされない。このようにして、周辺装置12(主
プロセツサなど)の制御を表明する、すなわち始動また
はパワーオンの手順を開始することができる。
カウンタとアドレス・バスRAをクリヤしくゼロにリセ
ットする)、データ・バスDを高インピーダンス状態に
セットし、そして−記憶装置制御指令DEN−1WE−
およびRCLK−を非使用(高)状態にセットする。マ
イクロコンピュータ10内のすべてのアドレス・レジス
タおよび一時データ・レジスタは、ROM14内のリセ
ット・ルーチンによってクリヤされるが、内部のRAM
はクリヤされない。このようにして、周辺装置12(主
プロセツサなど)の制御を表明する、すなわち始動また
はパワーオンの手順を開始することができる。
制御バス13上の割込み信号ITN−は、マイクロコン
ピュータ10に実行を停止させ(現在のROMアドレス
を保存する)、そして割込みがプログラムによってマス
クされない限り、割込みベクトルアドレスに向かわせる
。
ピュータ10に実行を停止させ(現在のROMアドレス
を保存する)、そして割込みがプログラムによってマス
クされない限り、割込みベクトルアドレスに向かわせる
。
制御バス13上のME/SE−は、マイクロコンピュー
タ10に対し記憶装置拡張モードかシステム・エミュレ
ータ・モードかを定義する。このビンが高電圧(+Vc
cに)に保たれているとき、マイクロコンピュータはオ
ンチップROMとオフチップ記憶装置ト1からの命令を
実行する。しかし、低電圧(V ss)のときは、マイ
クロ・コンピュータIOはシステム・エミュレータ・モ
ードであり、実行はFROM、EPROMまたはRAM
である記憶装置11からの命令のみでなされるから、プ
ログラムを容易に変更することができる。
タ10に対し記憶装置拡張モードかシステム・エミュレ
ータ・モードかを定義する。このビンが高電圧(+Vc
cに)に保たれているとき、マイクロコンピュータはオ
ンチップROMとオフチップ記憶装置ト1からの命令を
実行する。しかし、低電圧(V ss)のときは、マイ
クロ・コンピュータIOはシステム・エミュレータ・モ
ードであり、実行はFROM、EPROMまたはRAM
である記憶装置11からの命令のみでなされるから、プ
ログラムを容易に変更することができる。
マイクロコンピュータ・チップ
マイクロコンピュータ10の内部構成を、第2図に詳細
なブロック・ダイヤグラムで示す。この装置は、標準形
40ピン・デュアル・インライン・パッケージ、すなわ
ち、チップ支持体に取り付けた単一チップ半導体集積回
路である。パッケージの16本のビン、すなわち、端子
は16ビツトデータ・バスDのために使われ、12本は
アドレス・バスRAのために使われ、残りの端子は電力
源V dd、 V ss、水晶X1.X2、および制御
ノくス13のために使われる。
なブロック・ダイヤグラムで示す。この装置は、標準形
40ピン・デュアル・インライン・パッケージ、すなわ
ち、チップ支持体に取り付けた単一チップ半導体集積回
路である。パッケージの16本のビン、すなわち、端子
は16ビツトデータ・バスDのために使われ、12本は
アドレス・バスRAのために使われ、残りの端子は電力
源V dd、 V ss、水晶X1.X2、および制御
ノくス13のために使われる。
プログラム記憶装置14およびデータ記憶装置15のほ
かに、マイクロコンピュータlOは、第1図のシステム
に対する中央処理ユニット、すなわち、CPUを有して
いる。このCPUは、32ビツト演算/論理ユニツ[−
A L U、オペランドと結果を保持するための32ビ
ツト・アキュムレータAec、ALUから独立している
乗算器M、A、LUに対し1つの入力であるシフタS、
状態すなわち標識デコーダSD、および現在の命令語を
受は取ってCPUおよびマイクロコンピュータlOのデ
ータ記憶装置に対し制御ビットを発生する命令デコーダ
IDIを含んでいる。
かに、マイクロコンピュータlOは、第1図のシステム
に対する中央処理ユニット、すなわち、CPUを有して
いる。このCPUは、32ビツト演算/論理ユニツ[−
A L U、オペランドと結果を保持するための32ビ
ツト・アキュムレータAec、ALUから独立している
乗算器M、A、LUに対し1つの入力であるシフタS、
状態すなわち標識デコーダSD、および現在の命令語を
受は取ってCPUおよびマイクロコンピュータlOのデ
ータ記憶装置に対し制御ビットを発生する命令デコーダ
IDIを含んでいる。
プログラム記憶装置14は、該装置をアクセスするため
に使われた、あるいはバスRAを通して記憶装置11へ
送られた、命令アドレスを保持するプログラム・カウン
タPC,装置14から命令語を受は取る命令レジスタI
R,プログラム記憶装置アドレスを保存するスタックS
T1および現在の命令語を受は取1てマイクロコンピュ
ータのプログラム記憶部に対し制御ビットを発生する命
令デコーダiD2に関連している。命令デコーダIDI
とID2は、組合せて1個のより大きな制御ROMにす
ることもできるし、あるいはより小さなPLAまたはラ
ンダム論理に分割できることはもちろんである。
に使われた、あるいはバスRAを通して記憶装置11へ
送られた、命令アドレスを保持するプログラム・カウン
タPC,装置14から命令語を受は取る命令レジスタI
R,プログラム記憶装置アドレスを保存するスタックS
T1および現在の命令語を受は取1てマイクロコンピュ
ータのプログラム記憶部に対し制御ビットを発生する命
令デコーダiD2に関連している。命令デコーダIDI
とID2は、組合せて1個のより大きな制御ROMにす
ることもできるし、あるいはより小さなPLAまたはラ
ンダム論理に分割できることはもちろんである。
データ記憶装置15に関連しているのは、データ記憶装
置15に対する2個の補助アドレス・ルジスタARO,
ARI、データ記憶装置アドレスとして使用されレジス
タAROとARIを選択するページ・レジスタARP、
データ記憶装置アドレスのいくつかのビットを保持する
データ・ベージ・バッファDPである。
置15に対する2個の補助アドレス・ルジスタARO,
ARI、データ記憶装置アドレスとして使用されレジス
タAROとARIを選択するページ・レジスタARP、
データ記憶装置アドレスのいくつかのビットを保持する
データ・ベージ・バッファDPである。
CPUは、2個の内部バス、16ビツト・プログラム・
バスP−Bus、およびI6ビ・ソトデータ・バスD−
Busの近くに配置されている。プログラム・アクセス
とデータ・アクセスは、同時に起ることが可能であり、
アドレス空間は独立している。したがって、マイクロコ
ンピュータは、バーバード構成になっているが、バス交
換モジュールBIMは、Accからプログラム・カウン
タPCをローディングすること、たとえば、P−BUS
、、BIM、およびD−BUSを通して定数をROM1
4にアクセスすることを許す。
バスP−Bus、およびI6ビ・ソトデータ・バスD−
Busの近くに配置されている。プログラム・アクセス
とデータ・アクセスは、同時に起ることが可能であり、
アドレス空間は独立している。したがって、マイクロコ
ンピュータは、バーバード構成になっているが、バス交
換モジュールBIMは、Accからプログラム・カウン
タPCをローディングすること、たとえば、P−BUS
、、BIM、およびD−BUSを通して定数をROM1
4にアクセスすることを許す。
信号処理用マイクロコンピュータに対する三大要求は、
高速演算と柔軟性である。演算性能は、独立した主とな
るオンチッププログラムおよびデータ記憶装置I4.1
5、大きな単一アキュムレータA cc、および並列乗
算器Mを使用することによって実現される。特殊な操作
、データ移動は、データ記憶装置15内で定義され、こ
れはたたみ込みまたは合成(以下単にたたみ込みと称す
る)操作における性能を高めるものである。柔軟性は、
後で表Aを参照して説明するように命令セットを定義す
ること、記憶拡張を組み入れること、および単一レベル
の割込みによって得られている。
高速演算と柔軟性である。演算性能は、独立した主とな
るオンチッププログラムおよびデータ記憶装置I4.1
5、大きな単一アキュムレータA cc、および並列乗
算器Mを使用することによって実現される。特殊な操作
、データ移動は、データ記憶装置15内で定義され、こ
れはたたみ込みまたは合成(以下単にたたみ込みと称す
る)操作における性能を高めるものである。柔軟性は、
後で表Aを参照して説明するように命令セットを定義す
ること、記憶拡張を組み入れること、および単一レベル
の割込みによって得られている。
マイクロコンピュータは、たとえば、2にすなわち21
語以下のオンチップ・プログラム記憶装置14で構成す
ることができるが、その構成は、記憶装置Itに外部プ
ログラム記憶装置を追加することにより4にすなわち2
1tまで記憶拡張が可能である。加えて、独立したモー
ドはマイクロコンピュータ10をシステム・エミュレー
ション装置として構成することを許容し、この“システ
ム・エミュレータ“ ・モードの場合には、4にの記憶
空間全部が外部にあって、ROM14は使用されない。
語以下のオンチップ・プログラム記憶装置14で構成す
ることができるが、その構成は、記憶装置Itに外部プ
ログラム記憶装置を追加することにより4にすなわち2
1tまで記憶拡張が可能である。加えて、独立したモー
ドはマイクロコンピュータ10をシステム・エミュレー
ション装置として構成することを許容し、この“システ
ム・エミュレータ“ ・モードの場合には、4にの記憶
空間全部が外部にあって、ROM14は使用されない。
中 処理ユニットCPU
演算/論理ユニットすなわちALUは、32の並列段か
ら成っており、各独立段はその二つの入力ビットについ
て演算または論理機能を行なって、1ビツト出力とけた
上げ/けた下げ信号を出す。
ら成っており、各独立段はその二つの入力ビットについ
て演算または論理機能を行なって、1ビツト出力とけた
上げ/けた下げ信号を出す。
ALUを通過するデータに関して行なわれる特定の機能
は、プログラム・バスP−BUSによって命令デコーダ
ID1に加えられたIR内の現在の16ビツト命令語に
よって定義される。ALUは、二つの32ビツト・デー
タ入力ALU−a。
は、プログラム・バスP−BUSによって命令デコーダ
ID1に加えられたIR内の現在の16ビツト命令語に
よって定義される。ALUは、二つの32ビツト・デー
タ入力ALU−a。
A L U −bと、アキュムレータAssに対する3
2ビツト・データ出力ALU−oをもっている。
2ビツト・データ出力ALU−oをもっている。
ALU−a入力は常にアキュムレータAccからであり
、ALU−b入力は常にシフタSまたは乗算器M内の3
2ビツト積レジスタPのどちらかからである。ALU−
b入力の送信側は、入力選択回路ALU−sによって定
義され、回路ALU−sは現在の命令語の内容すなわち
デコーダIDIの出力“Cに基いてこれら2つのうちか
ら選択する。
、ALU−b入力は常にシフタSまたは乗算器M内の3
2ビツト積レジスタPのどちらかからである。ALU−
b入力の送信側は、入力選択回路ALU−sによって定
義され、回路ALU−sは現在の命令語の内容すなわち
デコーダIDIの出力“Cに基いてこれら2つのうちか
ら選択する。
シフタSは、D−BUSから16ビツトの入力Siを受
は取ってゼロから15位置左ヘシフトした32ビツトの
出力SOを発生する。左ヘシフトされたデータはゼロに
される、すなわち、データが左ヘシフトされるとすべて
の右側のビット位置はゼロで満される。独特の特徴は、
上位のビットがシフト操作において符号拡張されること
である。
は取ってゼロから15位置左ヘシフトした32ビツトの
出力SOを発生する。左ヘシフトされたデータはゼロに
される、すなわち、データが左ヘシフトされるとすべて
の右側のビット位置はゼロで満される。独特の特徴は、
上位のビットがシフト操作において符号拡張されること
である。
ALUは2の補数で動作する。シフタSは、ラインSp
を通してP−BUSからの4ビツト値でロードされるシ
フト制御装置Scを有しており、演算命令はD−Bus
からALU−b入力へ向う経路においてシフトされるビ
ットの数を直接定義することができる。
を通してP−BUSからの4ビツト値でロードされるシ
フト制御装置Scを有しており、演算命令はD−Bus
からALU−b入力へ向う経路においてシフトされるビ
ットの数を直接定義することができる。
この説明においては、最下位ビットすなわちLSBを右
側、最上位ビットすなわちMSBを左側とみなすことに
するから、左シフトはMSBに向ってである。ビットO
はMSBであり、ビット15はLSBである。データは
、通常、この構成において符号付きの2の補数で取り扱
われる。
側、最上位ビットすなわちMSBを左側とみなすことに
するから、左シフトはMSBに向ってである。ビットO
はMSBであり、ビット15はLSBである。データは
、通常、この構成において符号付きの2の補数で取り扱
われる。
乗算器Mは、けた上げ正方向送り(フィードホワード)
を使用してダイナミック/スタチック論理で、ブース算
法を実行するように構成された16X16乗算器である
。乗算器Mに対する入力の1つは、Tレジスタである。
を使用してダイナミック/スタチック論理で、ブース算
法を実行するように構成された16X16乗算器である
。乗算器Mに対する入力の1つは、Tレジスタである。
Tレジスタは、ラインTiを通してD−Busから受は
取った被乗数を一時記憶するための16ビツト・レジス
タである。他の16ビツト入力はラインMiを通るD−
Busからのものである。すなわち、この乗算器の入力
は、データ記憶装置15からでもよいし、あるいは命令
語から直接導いた(ロードされ、右そろえされ、そして
符号拡張された)15ビツトの乗算即時値であってもよ
い。
取った被乗数を一時記憶するための16ビツト・レジス
タである。他の16ビツト入力はラインMiを通るD−
Busからのものである。すなわち、この乗算器の入力
は、データ記憶装置15からでもよいし、あるいは命令
語から直接導いた(ロードされ、右そろえされ、そして
符号拡張された)15ビツトの乗算即時値であってもよ
い。
ALUは、常にそのALU−a入力としてアキュムレー
タAccの内容を受は取って、常にその出力をAcc内
に記憶させる、すなわち、Accは常に最終受信地であ
り、かつ−次オペランドでもアル。
タAccの内容を受は取って、常にその出力をAcc内
に記憶させる、すなわち、Accは常に最終受信地であ
り、かつ−次オペランドでもアル。
ALUは加減算を行ない、また論理積、論理和および排
他的論理和の論理操作を行なう。論理操作の結果はAc
eの下半分(ビット16−31)とデータ記憶装置15
がらの16ビツト値の間ニある。
他的論理和の論理操作を行なう。論理操作の結果はAc
eの下半分(ビット16−31)とデータ記憶装置15
がらの16ビツト値の間ニある。
データ記憶装置の値はシフタS(ゼロシフトで)を通過
するので、MSBの論理操作結果に対するオペランド(
ビットθ〜15)は七〇である。
するので、MSBの論理操作結果に対するオペランド(
ビットθ〜15)は七〇である。
アキュムレータに入る最終的な32ビツトの結果は、し
たがって二つの部分になる。すなわち、ビットO〜15
はゼロで論理積がなされた(または論理和等がなされた
)Aceビット0〜15であり、ビット16〜31の結
果はデータ記憶装置の値で論理積等がなされたAceピ
ッ1−16〜31である。アキュムレータAccの出力
は、32ビットALU−a入力に対するもののほかに、
上位16ビツト出力Acc−H(ビット0〜15)と下
位16ビツト出力Ace−L(ビット16〜31)があ
る。この上位および下位16ビツトAcc語をデータ記
憶装置I5に記憶させるために、別個の命令5ACH“
アキュムレータ上位を記憶せよ°と命令5ACL″アキ
ユムレ一タ下位を記憶せよ”が用意されている。
たがって二つの部分になる。すなわち、ビットO〜15
はゼロで論理積がなされた(または論理和等がなされた
)Aceビット0〜15であり、ビット16〜31の結
果はデータ記憶装置の値で論理積等がなされたAceピ
ッ1−16〜31である。アキュムレータAccの出力
は、32ビットALU−a入力に対するもののほかに、
上位16ビツト出力Acc−H(ビット0〜15)と下
位16ビツト出力Ace−L(ビット16〜31)があ
る。この上位および下位16ビツトAcc語をデータ記
憶装置I5に記憶させるために、別個の命令5ACH“
アキュムレータ上位を記憶せよ°と命令5ACL″アキ
ユムレ一タ下位を記憶せよ”が用意されている。
状態デコーダSDは、Accを更新する命令が実行され
るときは必らずAccを更新する。SDの4ビツトは、
OV、LSG、Zである。アキュムレ−夕のオーバフロ
ー(またはアンダフロー)は、OVビットで指示され、
ゼロより小さいAccの内容はLビットで指示され、ゼ
ロより大きいAccの内容はGビットで指示され、ゼロ
に等しいAecの内容はZビットで指示される。割込み
があると、OVビットはオーバフロー・フラッグ・レジ
スタ内に保存されるが、他のビットは次のアキュムレー
タ命令が実行される時点までは利用することができる。
るときは必らずAccを更新する。SDの4ビツトは、
OV、LSG、Zである。アキュムレ−夕のオーバフロ
ー(またはアンダフロー)は、OVビットで指示され、
ゼロより小さいAccの内容はLビットで指示され、ゼ
ロより大きいAccの内容はGビットで指示され、ゼロ
に等しいAecの内容はZビットで指示される。割込み
があると、OVビットはオーバフロー・フラッグ・レジ
スタ内に保存されるが、他のビットは次のアキュムレー
タ命令が実行される時点までは利用することができる。
アキュムレータ・オーバフロー・モード・レジスタは、
直接プログラム制御を受けて信号処理計算における飽和
した結果を考慮した単一モード・レジスタOVM(SD
に含まれている)である。
直接プログラム制御を受けて信号処理計算における飽和
した結果を考慮した単一モード・レジスタOVM(SD
に含まれている)である。
オーバフロー・モード・レジスタOVMがリッセトされ
ると、オーバフローの結果は、A L U −。
ると、オーバフローの結果は、A L U −。
を通して、修正なしにA L UからアキュムレータA
ccにロードされる。オーバフロー・モード・レジスタ
がセットされると、オーバフローの結果は、A L U
の最大または最小表示可能値にセットされ、アキュムレ
ータAceにロードされる。最大値か最小値かは、オー
バフロー・ビットの符号で決められる。これにより、信
号処理の応用においてA、ccの飽和した結果が容認さ
れ、アナログ信号の飽和処理をモデル化することができ
る。
ccにロードされる。オーバフロー・モード・レジスタ
がセットされると、オーバフローの結果は、A L U
の最大または最小表示可能値にセットされ、アキュムレ
ータAceにロードされる。最大値か最小値かは、オー
バフロー・ビットの符号で決められる。これにより、信
号処理の応用においてA、ccの飽和した結果が容認さ
れ、アナログ信号の飽和処理をモデル化することができ
る。
SD内の独立した状態ビットは、現在使用されている補
助レジスタAROまたはARIの状態を監視して、現在
使用されている補助レジスタ(すなわち、ループ・カウ
ンタ部分)の9個のLSBがすべてゼロである状態を検
出する。このビットは、補助レジスタがゼロでない場合
の条件付き分岐命令BARNZ、すなわち“補助レジス
タがゼロでない場合分岐せよ”のために使用される。
助レジスタAROまたはARIの状態を監視して、現在
使用されている補助レジスタ(すなわち、ループ・カウ
ンタ部分)の9個のLSBがすべてゼロである状態を検
出する。このビットは、補助レジスタがゼロでない場合
の条件付き分岐命令BARNZ、すなわち“補助レジス
タがゼロでない場合分岐せよ”のために使用される。
入出力状態ビットI10 ST−は、制御バスの一部
である外部ビンであって、周辺装置12の状態を質問す
るため“Iloがゼロの場合分岐せよ“命令BIOZを
与える。そのBIOZ命令によってサンプルされたとき
、Ilo ST−ビン上がセローレヘルであれば分岐
させる。
である外部ビンであって、周辺装置12の状態を質問す
るため“Iloがゼロの場合分岐せよ“命令BIOZを
与える。そのBIOZ命令によってサンプルされたとき
、Ilo ST−ビン上がセローレヘルであれば分岐
させる。
バス交換モジュールBIMは、D−BUS上の16ビツ
ト値の下位12ビツトと、p−BUS上の下位12ビツ
トとを交換する。この操作は、命令としてプログラマ−
が利用することはできない。
ト値の下位12ビツトと、p−BUS上の下位12ビツ
トとを交換する。この操作は、命令としてプログラマ−
が利用することはできない。
しかし、テーブル探索命令TBLRAまたはテーブル書
込み命令TBLWなどの命令において、あるいはAcc
内の完成したアドレスをサブルーチン拡げるため使用す
ることができるアキュムレータ呼出し命令CALLAに
おいて、固有の操作として代りが必要である。P−BU
S上のIRからの16ビツト値は、RAM内に記憶させ
るため、たとえばテーブル読取りのため、BIMを通し
てDBUSにロードすることができる。
込み命令TBLWなどの命令において、あるいはAcc
内の完成したアドレスをサブルーチン拡げるため使用す
ることができるアキュムレータ呼出し命令CALLAに
おいて、固有の操作として代りが必要である。P−BU
S上のIRからの16ビツト値は、RAM内に記憶させ
るため、たとえばテーブル読取りのため、BIMを通し
てDBUSにロードすることができる。
プログラム記憶装置のアドレス指定
プログラム記憶装置14は、命令レジスタIRに対し1
6ビツト出力を発生するため16に区分されたROMで
ある。このROMは入力ライン14b上の11ビツトま
たは!2ビット・アドレスに基いて1つの16ビツト命
令語を選択するデコーダを使用している。実施例では、
ROM l 4は、2に以下の語を有するから、1.1
ビツト・アドレスを使用することができる。しかし、オ
ンチップ・プログラム記憶装置は、12ビツト・アドレ
スをもつ4に語まで拡張することができる。
6ビツト出力を発生するため16に区分されたROMで
ある。このROMは入力ライン14b上の11ビツトま
たは!2ビット・アドレスに基いて1つの16ビツト命
令語を選択するデコーダを使用している。実施例では、
ROM l 4は、2に以下の語を有するから、1.1
ビツト・アドレスを使用することができる。しかし、オ
ンチップ・プログラム記憶装置は、12ビツト・アドレ
スをもつ4に語まで拡張することができる。
ROMI4の回路は、後で説明するように高速記憶に特
に適している。アドレス人力14bは、実行中の命令の
次の命令のアドレスが入っている12ビツトレジスタで
あるプログラム・カウンタPCからアドレスを受は取る
。すなわち、ある命令に対し命令デコーダIDIとID
2の出力側における制御ビット#Cが正当である時点に
おいて、PCには次の命令のアドレスが入っている。
に適している。アドレス人力14bは、実行中の命令の
次の命令のアドレスが入っている12ビツトレジスタで
あるプログラム・カウンタPCからアドレスを受は取る
。すなわち、ある命令に対し命令デコーダIDIとID
2の出力側における制御ビット#Cが正当である時点に
おいて、PCには次の命令のアドレスが入っている。
ROM14からIR内に次の命令を読み取るためプログ
ラム・カウンタ部分内のアドレスがデコーダ14aに入
った後、PCは別の命令を取り出す準備としてP Ci
ncを通して増分される。すなわち、PCはID2から
の制御ビット”Cの制御を受けて自己増分する。プログ
ラム・カウンタPCからの出力PCoは、ラインRAp
c、セレクタRAs (および図示していない出力バ
ッファ)、および出力ラインRAoを通して外部RAバ
バス、そしてマイクロコンピュータの12本の出力ビン
へ加わる。RAババスRAO−RAI l)は1.セレ
クタRAsがあるモードにあるときは、RApcを通し
てPCの出力を含んでおり、またI10命令INおよび
OUTを実行しているときは、3ビツトのポートアドレ
ス人力RAiを含んでいる。
ラム・カウンタ部分内のアドレスがデコーダ14aに入
った後、PCは別の命令を取り出す準備としてP Ci
ncを通して増分される。すなわち、PCはID2から
の制御ビット”Cの制御を受けて自己増分する。プログ
ラム・カウンタPCからの出力PCoは、ラインRAp
c、セレクタRAs (および図示していない出力バ
ッファ)、および出力ラインRAoを通して外部RAバ
バス、そしてマイクロコンピュータの12本の出力ビン
へ加わる。RAババスRAO−RAI l)は1.セレ
クタRAsがあるモードにあるときは、RApcを通し
てPCの出力を含んでおり、またI10命令INおよび
OUTを実行しているときは、3ビツトのポートアドレ
ス人力RAiを含んでいる。
PC内のアドレスが、ROM14内の最上位アドレスよ
り上であれば必らず記憶装置11に対しオフチップ・プ
ログラム・アドレス指定がなされる。
り上であれば必らず記憶装置11に対しオフチップ・プ
ログラム・アドレス指定がなされる。
しかしながら、マイクロ・コンピュータは主としてオン
チップROM14で動作するように設計されているから
、マイクロコンピュータの多くの用途に対しプログラム
命令のためオフチップ取出しは必要ないであろう。プロ
グラム・カウンタPCは、分岐または呼出し命令に対し
、P−BtlSからセレクタPCsおよび入力PCiを
通してロードすることができ、あるいは、“アキュムレ
ータ呼出し゛命令CALLAまたはテーブル読取りおよ
びテーブル書込みに対しAcc−LXD−8113。
チップROM14で動作するように設計されているから
、マイクロコンピュータの多くの用途に対しプログラム
命令のためオフチップ取出しは必要ないであろう。プロ
グラム・カウンタPCは、分岐または呼出し命令に対し
、P−BtlSからセレクタPCsおよび入力PCiを
通してロードすることができ、あるいは、“アキュムレ
ータ呼出し゛命令CALLAまたはテーブル読取りおよ
びテーブル書込みに対しAcc−LXD−8113。
B IM、P−BUS、PCpおよびPCiを通してア
キュムレータAccからロードすることができる。
キュムレータAccからロードすることができる。
レジスタ・スタックSTは、サブルーチンおよび割込み
呼出しにおいてPCの内容を保存するために使用される
。図示実施例の場合、スタックSTは、先入れ後出し、
後入れ先出方式レジスタとして作られた4個の12ビツ
ト・レジスタを有しているが、それよりも多くまたは少
ない数のレジスタを使用することも可能である。プログ
ラム・カウンタPCの現在の内容は、ラインPC5Tを
通してスタックの一番上のレジスタTO8に“ブツシュ
する”ことによって保存される。連続するC A L
1.命令は、先の内容がシフトされると、PCの現在の
内容をTO3にブツシュし続けるから、4個までの入れ
子サブルーチンを収容することができる。サブルーチン
は、スタックを″ポツプする“戻り命令RETを実行す
ることによって終了し、ラインpci 、セレクタPC
sおよび入力PCjを通してTO3の内容をプログラム
・カウンタPCへ戻し、プログラムが最後の呼出しまた
は割込みの前に達した個所から続行することができるよ
うにする。TO8がポツプされると、スタックSTのそ
れより下のレジスタ内のアドレスが1位置だけ移動する
。呼出し命令または割込みによって開始された各サブル
ーチンは、RET命令によって終了しなければならない
。
呼出しにおいてPCの内容を保存するために使用される
。図示実施例の場合、スタックSTは、先入れ後出し、
後入れ先出方式レジスタとして作られた4個の12ビツ
ト・レジスタを有しているが、それよりも多くまたは少
ない数のレジスタを使用することも可能である。プログ
ラム・カウンタPCの現在の内容は、ラインPC5Tを
通してスタックの一番上のレジスタTO8に“ブツシュ
する”ことによって保存される。連続するC A L
1.命令は、先の内容がシフトされると、PCの現在の
内容をTO3にブツシュし続けるから、4個までの入れ
子サブルーチンを収容することができる。サブルーチン
は、スタックを″ポツプする“戻り命令RETを実行す
ることによって終了し、ラインpci 、セレクタPC
sおよび入力PCjを通してTO3の内容をプログラム
・カウンタPCへ戻し、プログラムが最後の呼出しまた
は割込みの前に達した個所から続行することができるよ
うにする。TO8がポツプされると、スタックSTのそ
れより下のレジスタ内のアドレスが1位置だけ移動する
。呼出し命令または割込みによって開始された各サブル
ーチンは、RET命令によって終了しなければならない
。
図示実施例の場合、ROM14は、1536語を有して
いるから、4にプログラム・アドレス空間の残部、すな
わち2560語はオフチップの記憶装置11の中にある
。記憶装置拡張制御ビンME/SE−が論理Iにおいて
高いとき、マイクロコンピュータは0〜1535の範囲
のPC内のプログラム・アドレスをROM14に対する
オンチップのアドレスであると解釈し、そして1536
〜4095の範囲のアドレスをオフチップのアドレスで
あると解釈してPCの内容をRApcおよびRAoを通
してRAババス送り出す。各マシン状態に対しデコーダ
ID2によって作られた出力ストロープR−CLK−は
、外部記憶装置11を使用許可にする(INまたはOU
T命令が実行されているときは除く)。
いるから、4にプログラム・アドレス空間の残部、すな
わち2560語はオフチップの記憶装置11の中にある
。記憶装置拡張制御ビンME/SE−が論理Iにおいて
高いとき、マイクロコンピュータは0〜1535の範囲
のPC内のプログラム・アドレスをROM14に対する
オンチップのアドレスであると解釈し、そして1536
〜4095の範囲のアドレスをオフチップのアドレスで
あると解釈してPCの内容をRApcおよびRAoを通
してRAババス送り出す。各マシン状態に対しデコーダ
ID2によって作られた出力ストロープR−CLK−は
、外部記憶装置11を使用許可にする(INまたはOU
T命令が実行されているときは除く)。
オフチップのプログラム記憶装置11がアクセスされる
と、記憶装置から読み取られた命令語は外部バスDに加
えられ、そこから、入出力制御装置DCおよびラインD
pを通して内部のP−Busに加えられる。すなわち、
これは16ビツト命令であって、IRを通してのROM
14の出ツノと同様に、それは実行するためデコーダI
DIとID2にロードされ、あるいは12ビツトがPC
pを通してプログラム・カウンタPCにロードされるか
そうでなければオンチップ命令取出しとして使用される
。
と、記憶装置から読み取られた命令語は外部バスDに加
えられ、そこから、入出力制御装置DCおよびラインD
pを通して内部のP−Busに加えられる。すなわち、
これは16ビツト命令であって、IRを通してのROM
14の出ツノと同様に、それは実行するためデコーダI
DIとID2にロードされ、あるいは12ビツトがPC
pを通してプログラム・カウンタPCにロードされるか
そうでなければオンチップ命令取出しとして使用される
。
ME/SE−ピンがゼロであると、マイクロコンピュー
タはシステム・エミュレータ・モードになる。4 Kプ
ログラム・アドレス空間全部がオフチップであるから、
すべてのPCアドレスはRApcおよびRAoを通して
RAババス加えられる。このモードは、利用側が開発中
のシステムまたはプログラムである場合にはRO!V1
1dlのための最終的コード変換ができ上る前に必要で
ある。すなわち、マイクロコンピュータlOは、新しい
プログラム(RAMまたは記憶装置11のEPROM内
に記憶させた)を調べ手直しすることができるように、
コートをROMに永久的にプログラムしておかなくても
動作することができ、したがって、最終的コードが確立
したとき、このコードをROM14にマスク・プログラ
ムして、マイクロコンピュータlOが大量に作られる。
タはシステム・エミュレータ・モードになる。4 Kプ
ログラム・アドレス空間全部がオフチップであるから、
すべてのPCアドレスはRApcおよびRAoを通して
RAババス加えられる。このモードは、利用側が開発中
のシステムまたはプログラムである場合にはRO!V1
1dlのための最終的コード変換ができ上る前に必要で
ある。すなわち、マイクロコンピュータlOは、新しい
プログラム(RAMまたは記憶装置11のEPROM内
に記憶させた)を調べ手直しすることができるように、
コートをROMに永久的にプログラムしておかなくても
動作することができ、したがって、最終的コードが確立
したとき、このコードをROM14にマスク・プログラ
ムして、マイクロコンピュータlOが大量に作られる。
いずれのモードにおいても、最初の2つのアドレス00
00と0001はリセット機能のために使われる。リセ
ットビンR8−が低くなると、すべてがゼロのアドレス
は、後で説明するが、プログラム・カウンタPCの中に
入れられる。さらに、第3のアドレスが割込めベクトル
のために予約される。すなわち、INT−ビンが低くな
ると、割込みルーチンを開始するためアドレス0002
がプログラム・カウンタPCに入れられる。
00と0001はリセット機能のために使われる。リセ
ットビンR8−が低くなると、すべてがゼロのアドレス
は、後で説明するが、プログラム・カウンタPCの中に
入れられる。さらに、第3のアドレスが割込めベクトル
のために予約される。すなわち、INT−ビンが低くな
ると、割込みルーチンを開始するためアドレス0002
がプログラム・カウンタPCに入れられる。
データ記憶装置のアドレス指定
図示実施例におけるデータ記憶装置15は144個の1
6ビツト語を有しており、したがって、RAMアドレス
・デコーダ15Bに対するアドレス入力15a上には8
ビツトのアドレスが必要である。しかし、RAMf5は
512語までの語をもつように構成することができ、9
ビツトのアドレスを必要とするから、そのアドレス指定
の方法については、いくつかの実施例では使われないア
ドレス・ビットのところで説明することとする。
6ビツト語を有しており、したがって、RAMアドレス
・デコーダ15Bに対するアドレス入力15a上には8
ビツトのアドレスが必要である。しかし、RAMf5は
512語までの語をもつように構成することができ、9
ビツトのアドレスを必要とするから、そのアドレス指定
の方法については、いくつかの実施例では使われないア
ドレス・ビットのところで説明することとする。
RAM15の各々の128語のブロックは1ベージとみ
なせるから、ページ内のデータ記憶装置15の128語
までの語を直接アドレスするため、入力15cを通して
l”−BUS上にあるプログラム記憶装置14からの命
令語内の7ビツトのアドレスフィールドか使用される。
なせるから、ページ内のデータ記憶装置15の128語
までの語を直接アドレスするため、入力15cを通して
l”−BUS上にあるプログラム記憶装置14からの命
令語内の7ビツトのアドレスフィールドか使用される。
そのページはデータ・ページ・バッファDPによって選
択される。
択される。
代りに間接的にアドレス指定する場合、図示実施例では
2個の補助レジスタA、 ROとARlが使われるが、
これらの16ビツト補助レジスタは8個まで使用するこ
とができ、RAM15に対する間接アドレス源として現
に使用されている特定のレジスタを補助レジスタ・ポイ
ンタARPと定義する。2個のレジスタAROとA、R
Iの場合には、ポインタARPはlヒツトのみであるが
、8個の補助レジスタをもつ実施例の場合には、ポイン
タARPは3ビツト・レジスタである。16ビツト補助
レジスタAROとARIは、後述するように、間接アド
レス命令、あるいは記憶、ロードまたは修正補助レジス
タ命令SAR,LAR,MARの制御を受ける。補助レ
ジスタの下位部分からの9ビツトアドレスは、セレクタ
15d、ライン15e1セレクタ15f、およびライン
15gを通してアドレス人力15aに加えることができ
、その経路はIDIからの制御ビット#Cによって定義
される。補助レジスタの1つをRAMアドレス源にする
場合には、セレクタ15dはアドレス人力15aとして
ライン15e上の値を使用する。これに対し、P−Bu
sをRAMアドレス源にする場合には、セレクタ+5d
は、入力15cからの7ビツト・アドレスと、データ・
ページ・レジスタDPからのlビットの(3゛ビツトま
たは4ビツトまで拡張可能)ページ・アドレスを使用す
る。セレクタ+5fは、命令によって定義された通りに
P−B[JSからロードされるポインタARPによって
制御される。
2個の補助レジスタA、 ROとARlが使われるが、
これらの16ビツト補助レジスタは8個まで使用するこ
とができ、RAM15に対する間接アドレス源として現
に使用されている特定のレジスタを補助レジスタ・ポイ
ンタARPと定義する。2個のレジスタAROとA、R
Iの場合には、ポインタARPはlヒツトのみであるが
、8個の補助レジスタをもつ実施例の場合には、ポイン
タARPは3ビツト・レジスタである。16ビツト補助
レジスタAROとARIは、後述するように、間接アド
レス命令、あるいは記憶、ロードまたは修正補助レジス
タ命令SAR,LAR,MARの制御を受ける。補助レ
ジスタの下位部分からの9ビツトアドレスは、セレクタ
15d、ライン15e1セレクタ15f、およびライン
15gを通してアドレス人力15aに加えることができ
、その経路はIDIからの制御ビット#Cによって定義
される。補助レジスタの1つをRAMアドレス源にする
場合には、セレクタ15dはアドレス人力15aとして
ライン15e上の値を使用する。これに対し、P−Bu
sをRAMアドレス源にする場合には、セレクタ+5d
は、入力15cからの7ビツト・アドレスと、データ・
ページ・レジスタDPからのlビットの(3゛ビツトま
たは4ビツトまで拡張可能)ページ・アドレスを使用す
る。セレクタ+5fは、命令によって定義された通りに
P−B[JSからロードされるポインタARPによって
制御される。
補助レジスタは間接アドレス指定のために使われ、その
場合には、命令はRAM+5に対し完全なアドレスを有
する必要はなく、代りにこのアドレスに対し補助レジス
タを使うことを規定するだけである。そのような命令は
、さらに選択された補助レジスタに対し増分または減分
を規定することができる。その場合には、AROまたは
A、R1の9個のLSBが経路Incを通して+1また
は−1だけ変更される。したがって、補助レジスタはル
ープ・カウンタとして使用できる。また補助レジスタは
ラインA Rioを通してD−バスによってアクセスさ
れるから、これらのレジスタは雑作業用レジスタとして
使用できるし、またはループ・カウントを開始するため
最初にロードすることもできる。
場合には、命令はRAM+5に対し完全なアドレスを有
する必要はなく、代りにこのアドレスに対し補助レジス
タを使うことを規定するだけである。そのような命令は
、さらに選択された補助レジスタに対し増分または減分
を規定することができる。その場合には、AROまたは
A、R1の9個のLSBが経路Incを通して+1また
は−1だけ変更される。したがって、補助レジスタはル
ープ・カウンタとして使用できる。また補助レジスタは
ラインA Rioを通してD−バスによってアクセスさ
れるから、これらのレジスタは雑作業用レジスタとして
使用できるし、またはループ・カウントを開始するため
最初にロードすることもできる。
データ記憶装置15は、D−BUSおよび入出力回路1
5iを使って、ライン1.5 gを通してアクセスされ
る。データ記憶装置の構成は、マイクろコンピュータI
Oの重要な特徴によりRA M 15内でデータの完全
な移動が許されるようになっている。命令制御を受けて
、あるアドレスにあるデータは、A L UやD−BU
Sを使わないでlマシン・サイクル内で次のより上位の
ロケーションへ移すことが可能である。したがって、た
とえば、加算中、アクセスされたデータを次のより上位
のアドレスへ移すことが可能である。
5iを使って、ライン1.5 gを通してアクセスされ
る。データ記憶装置の構成は、マイクろコンピュータI
Oの重要な特徴によりRA M 15内でデータの完全
な移動が許されるようになっている。命令制御を受けて
、あるアドレスにあるデータは、A L UやD−BU
Sを使わないでlマシン・サイクル内で次のより上位の
ロケーションへ移すことが可能である。したがって、た
とえば、加算中、アクセスされたデータを次のより上位
のアドレスへ移すことが可能である。
入出力機能
マイクロコンピュータ・チップ10からのデータの入出
力には、データ・バスDと、制御バス13のラインのう
ちの2本を使用する。2本のラインはデータ使用許可バ
ーDE−と書込み許可バーWE−である。データの入出
力機能のため2つの命令INとOUTが使われる。外部
データ・バスDは、入出力制御装置・データ・バッファ
DCとラインDdによって内部データ・バスすなわちD
−BUSに連絡されている。
力には、データ・バスDと、制御バス13のラインのう
ちの2本を使用する。2本のラインはデータ使用許可バ
ーDE−と書込み許可バーWE−である。データの入出
力機能のため2つの命令INとOUTが使われる。外部
データ・バスDは、入出力制御装置・データ・バッファ
DCとラインDdによって内部データ・バスすなわちD
−BUSに連絡されている。
命令OUTが実行されているときを除き、DCからデー
タ・バスD−Busに対する出力が常に高インピーダン
ス状態におかれるように、DC内の出力バッファは3個
から成っている。すなわち、この目的のために、OUT
をデコードしないときは必らず命令デコーダIDIから
の制御ビット#Cの1つが出力バッファを高インピーダ
ンス状態にセットする。IN命令が存在するときは、デ
ータ制御装置DCが16個の入力バッファを作動させる
ので、外部データ・バスDはデータ入力のためDCとラ
インDdを通して内部D−BUSへ、連絡される。OU
T命令がデコードされると、101からの制御ビット#
CがDC内の出力バッファを作動させるので、内部D−
BusはDdとDCを通して外部データ・バスDへ連絡
される。
タ・バスD−Busに対する出力が常に高インピーダン
ス状態におかれるように、DC内の出力バッファは3個
から成っている。すなわち、この目的のために、OUT
をデコードしないときは必らず命令デコーダIDIから
の制御ビット#Cの1つが出力バッファを高インピーダ
ンス状態にセットする。IN命令が存在するときは、デ
ータ制御装置DCが16個の入力バッファを作動させる
ので、外部データ・バスDはデータ入力のためDCとラ
インDdを通して内部D−BUSへ、連絡される。OU
T命令がデコードされると、101からの制御ビット#
CがDC内の出力バッファを作動させるので、内部D−
BusはDdとDCを通して外部データ・バスDへ連絡
される。
また、IN命令の実行は、IDIからライン13a上に
データ使用許可DEN−ストローブを発生させ、そして
15iと15jを通してD−BUSをRAM15に連絡
するので、外部からのデータはオンデツプ・データ記憶
装置に入る。マイクロコンピュータを信号プロセッサと
して意図的に使用するときは、オフチップ基準(ref
erence)ごとにRAM15に対し数百または数千
回のアクセスが必要である。すなわち、オフチップから
値が取り出され、次に、この新しい値とRAM1S内の
他のデータを使ってたたみ込みもしくは同様な操作が実
行されるから、別のオフチップ基準が必要となる前に数
千回の命令実行がなこれよう。
データ使用許可DEN−ストローブを発生させ、そして
15iと15jを通してD−BUSをRAM15に連絡
するので、外部からのデータはオンデツプ・データ記憶
装置に入る。マイクロコンピュータを信号プロセッサと
して意図的に使用するときは、オフチップ基準(ref
erence)ごとにRAM15に対し数百または数千
回のアクセスが必要である。すなわち、オフチップから
値が取り出され、次に、この新しい値とRAM1S内の
他のデータを使ってたたみ込みもしくは同様な操作が実
行されるから、別のオフチップ基準が必要となる前に数
千回の命令実行がなこれよう。
この理由のため、構成上、オフチップデータ・アクセス
よりも内部データ処理のほうが好ましい。
よりも内部データ処理のほうが好ましい。
0LIT命令の実行は、IDIからのライン13b上に
オフチップ書込み許可W E−ストローブを発生させ、
RAM l 5からl 5 i、 15 j、 D
−Bus、 ラインDdおよびバッファDCを通し
て外部バスDヘデータを出力する。第1図を参照すると
、このデータは周辺装置J2内のポートPO−P7の1
つ(3ビツトRAi値によって選択される)に書き込む
ことができる。
オフチップ書込み許可W E−ストローブを発生させ、
RAM l 5からl 5 i、 15 j、 D
−Bus、 ラインDdおよびバッファDCを通し
て外部バスDヘデータを出力する。第1図を参照すると
、このデータは周辺装置J2内のポートPO−P7の1
つ(3ビツトRAi値によって選択される)に書き込む
ことができる。
INおよびOUTの両命令に含まれているのは、IDI
からのラインRAi上の3ビツト・ポート・アドレスで
ある。このアドレスは、セレクタRAsを通して外部ア
ドレスの3個のLSB(RA 9−RA 11)上に多
重化される。この結果、8個までの周辺装置をアドレス
することができる。RAババス力の残りの上位ビットは
、これらの命令の間論理ゼロに保持される。
からのラインRAi上の3ビツト・ポート・アドレスで
ある。このアドレスは、セレクタRAsを通して外部ア
ドレスの3個のLSB(RA 9−RA 11)上に多
重化される。この結果、8個までの周辺装置をアドレス
することができる。RAババス力の残りの上位ビットは
、これらの命令の間論理ゼロに保持される。
命令セット
第1図および第2図のマイクロコンピュータ10は、表
への命令セットを実行する。表Aは第1行に書込み原始
コードに使われる各命令のニモニック言語すなわちアセ
ンブリ言語を示し、続いて第2行には、ROM14およ
び命令レジスタIR内に現われるコード形式である2進
法の目的コードを示す。この2進コードはIDIとrD
Z内でデコードされて制御ビット#Cの全部を発生させ
、各種のバスおよびレジスタをアクセスし、かつA L
Uの機能をセットすることによって所定の操作を実行
させる。
への命令セットを実行する。表Aは第1行に書込み原始
コードに使われる各命令のニモニック言語すなわちアセ
ンブリ言語を示し、続いて第2行には、ROM14およ
び命令レジスタIR内に現われるコード形式である2進
法の目的コードを示す。この2進コードはIDIとrD
Z内でデコードされて制御ビット#Cの全部を発生させ
、各種のバスおよびレジスタをアクセスし、かつA L
Uの機能をセットすることによって所定の操作を実行
させる。
表は、さらに、命令の実行中マイクロコンピュータによ
って用いられたサイクルすなわちマシン状態の数を示す
。分岐、呼出し、デープル索引、および入出力を除くす
べての命令は、l状態時間中に実行されることに注意さ
れたい。マイクロコンピュータはマイクロコードされな
い、すなわち、標#ALU命令はl状態時間中に実行さ
れる。表は、さらに、各命令を定義するために必要な命
令語すなわち命令コードの数を示す。ブランチすなわち
分岐と呼出しだけが2個の命令語を必要とすることに特
に注目されたい。表Aの右欄は各命令に対する操作の簡
単な説明である。
って用いられたサイクルすなわちマシン状態の数を示す
。分岐、呼出し、デープル索引、および入出力を除くす
べての命令は、l状態時間中に実行されることに注意さ
れたい。マイクロコンピュータはマイクロコードされな
い、すなわち、標#ALU命令はl状態時間中に実行さ
れる。表は、さらに、各命令を定義するために必要な命
令語すなわち命令コードの数を示す。ブランチすなわち
分岐と呼出しだけが2個の命令語を必要とすることに特
に注目されたい。表Aの右欄は各命令に対する操作の簡
単な説明である。
表への大部分の命令は、“rA、AA AAAA”の
ように下位の8ビツト(ビット8−15)を示す。それ
は1つのオペランドに対する直接アドレスまたはRAM
15の間接アドレスである。もし、“I″ビツトすなわ
ちビット8が0であれば、直接アドレス指定モードが使
用されるので、命令語の”A″欄、すなわちビット9〜
15は、IRからP−BUS、ライン15c1およびセ
レクタ15dを通してアドレス人力15aに連絡される
直接アドレスとして使用される。この直接アドレス指定
モードでは、補助レジスタAR,0−APIは使われな
い。
ように下位の8ビツト(ビット8−15)を示す。それ
は1つのオペランドに対する直接アドレスまたはRAM
15の間接アドレスである。もし、“I″ビツトすなわ
ちビット8が0であれば、直接アドレス指定モードが使
用されるので、命令語の”A″欄、すなわちビット9〜
15は、IRからP−BUS、ライン15c1およびセ
レクタ15dを通してアドレス人力15aに連絡される
直接アドレスとして使用される。この直接アドレス指定
モードでは、補助レジスタAR,0−APIは使われな
い。
“IAA、A A、AAA”を含む命令の場合、間接
アドレス指定モードは、これらの命令のI欄すなわちビ
ット8内の1によって規定される。RAM15に対する
ライン15a上の入力アドレスは、この場合、補助レジ
スタAROまたはA、R+の一方から得られ、ビット1
5がその一方を選択する。
アドレス指定モードは、これらの命令のI欄すなわちビ
ット8内の1によって規定される。RAM15に対する
ライン15a上の入力アドレスは、この場合、補助レジ
スタAROまたはA、R+の一方から得られ、ビット1
5がその一方を選択する。
もし、ビット15が0であれば、AROが使われ、ビッ
ト15がIであれば、APIが使われる。したがって、
P−BUSを通してIRから連絡されたビット15はセ
レクタ15fを制御する(そして、ARPレジスタにロ
ードすることができる)。
ト15がIであれば、APIが使われる。したがって、
P−BUSを通してIRから連絡されたビット15はセ
レクタ15fを制御する(そして、ARPレジスタにロ
ードすることができる)。
補助レジスタの数は8個まで拡張可能であるから、これ
らの間接アドレス命令のビット13〜15は、間接アド
レス指定モードにおいて3ビツト・セレクタ15fとA
RPレジスタを使って8個のうちの1個を定義するため
に予約される。ビット10からビット12までは、間接
アドレス指定における制御ビットである。すなわち、ビ
ット10はもしIであれば、アドレスされた補助レジス
タを増分させ、もしOであれば、変化はない。ビットI
Iは、もし1であれば、アドレスされたARを減分し、
もしOであれば、変化はない。ビット12は、もし0で
あれば、現在の命令を実行した後ビット15をARPに
ロードし、もしlであれば、ARPをそのままにしてお
く。
らの間接アドレス命令のビット13〜15は、間接アド
レス指定モードにおいて3ビツト・セレクタ15fとA
RPレジスタを使って8個のうちの1個を定義するため
に予約される。ビット10からビット12までは、間接
アドレス指定における制御ビットである。すなわち、ビ
ット10はもしIであれば、アドレスされた補助レジス
タを増分させ、もしOであれば、変化はない。ビットI
Iは、もし1であれば、アドレスされたARを減分し、
もしOであれば、変化はない。ビット12は、もし0で
あれば、現在の命令を実行した後ビット15をARPに
ロードし、もしlであれば、ARPをそのままにしてお
く。
表Aのいくつかの命令に使われるシフト・コード5ss
sは、ラインspを通してシフト制御装置Scにロード
された、空間の数(ゼロから15)を定義するための4
ビツト欄である。D−Busを通してRAM15から入
ってくるデータは、ALU−b入力へ向う途中シフタS
を通過するとき左シフトされる。
sは、ラインspを通してシフト制御装置Scにロード
された、空間の数(ゼロから15)を定義するための4
ビツト欄である。D−Busを通してRAM15から入
ってくるデータは、ALU−b入力へ向う途中シフタS
を通過するとき左シフトされる。
本明細書に記載した構成にとって重要ではないが、表A
の命令セットを使用するアセンブリ言語形式は、直接ア
ドレス指定を表わすために“八“を、間接アドレス指定
を表わすため1と“β“を用いている。したがって、A
DDS、i’、“は、命令語のA欄によって定義された
記憶場所の内容を加算することを意味する。A、DDA
β”は、ARPに存在する内容によって選択された補助
レジスタAROまたはARIでアドレスされたデータ記
憶場所の内容を使って加算することを意味する。ADD
Sβ十”は、ARを定義し、次にループ・カウント
のためこの補助レジスタを増分するためARPの現在内
容を使って加算することを意味する“ADD Sβ゛
はlだけ減分することを除いて“ADD Sβ+“と
同じである。
の命令セットを使用するアセンブリ言語形式は、直接ア
ドレス指定を表わすために“八“を、間接アドレス指定
を表わすため1と“β“を用いている。したがって、A
DDS、i’、“は、命令語のA欄によって定義された
記憶場所の内容を加算することを意味する。A、DDA
β”は、ARPに存在する内容によって選択された補助
レジスタAROまたはARIでアドレスされたデータ記
憶場所の内容を使って加算することを意味する。ADD
Sβ十”は、ARを定義し、次にループ・カウント
のためこの補助レジスタを増分するためARPの現在内
容を使って加算することを意味する“ADD Sβ゛
はlだけ減分することを除いて“ADD Sβ+“と
同じである。
“ADD Sβ−2八R′は、αTの演算のため新し
い補助レジスタを定義するためARPにビット15の値
がロードされることを除いて“ADDSβ十”と同じで
ある。
い補助レジスタを定義するためARPにビット15の値
がロードされることを除いて“ADDSβ十”と同じで
ある。
表への右欄に記載された説明は、直接アドレス指定を仮
定している。間接アドレス指定については、上記の解説
を用いる。
定している。間接アドレス指定については、上記の解説
を用いる。
以上により、ADD命令は、左へ5sss空間シフトさ
れたRAM15の16ビツトの内容(直接アドレス指定
の場合にはロケーション0ΔAAAAAAにおける内容
、また間接アドレス指定の場合には選ばれたARによっ
て選択されたRAM15内のロケーションにおける内容
)をAccの32ビツト内容に加算し、その結果をAc
eに記憶させる。A D D H命令は、Accの上位
半分だけが1つのオペランドの送信側であり、かつその
結果の最終受信地であって、シフトが行なわれないこと
を除いて、ADD命令と同じことを行なう。
れたRAM15の16ビツトの内容(直接アドレス指定
の場合にはロケーション0ΔAAAAAAにおける内容
、また間接アドレス指定の場合には選ばれたARによっ
て選択されたRAM15内のロケーションにおける内容
)をAccの32ビツト内容に加算し、その結果をAc
eに記憶させる。A D D H命令は、Accの上位
半分だけが1つのオペランドの送信側であり、かつその
結果の最終受信地であって、シフトが行なわれないこと
を除いて、ADD命令と同じことを行なう。
減算命令SUBとS U B Hは、アキュムレータA
ccからアドレスされたRAM15のデータを減算し、
その結果をAccに記憶させる、しかし、その他につい
ては加算と同じである。ロード命令L A Cは、5s
ssビツトによって左シフトされたI A A A
A A A AによってアドレスされたIGビット・デ
ータをAccにロードする。ADD、SUBおよびLA
C命令だけがシフトを規定している。
ccからアドレスされたRAM15のデータを減算し、
その結果をAccに記憶させる、しかし、その他につい
ては加算と同じである。ロード命令L A Cは、5s
ssビツトによって左シフトされたI A A A
A A A AによってアドレスされたIGビット・デ
ータをAccにロードする。ADD、SUBおよびLA
C命令だけがシフトを規定している。
補助レジスタについては、4つの命令S A、 RlL
AR,LARKおよびMARがある。“補助レジスタを
記憶せよ”命令SRは、RRRによって定義されたほう
の補助レジスタの内容を記憶場所I A A A A
A A Aに記憶させる。“補助レジスタをロードせ
よ“命令L A Rは、命令SARの逆である。命令S
ARまたはLARにおいて定義される補助レジスタAR
は、P−バスを通して命令語のRRR欄がロードされ、
ラインARioを通してどちらの補助レジスタをD−バ
スに連絡すべきかを決定するポインタRPによって定義
される。
AR,LARKおよびMARがある。“補助レジスタを
記憶せよ”命令SRは、RRRによって定義されたほう
の補助レジスタの内容を記憶場所I A A A A
A A Aに記憶させる。“補助レジスタをロードせ
よ“命令L A Rは、命令SARの逆である。命令S
ARまたはLARにおいて定義される補助レジスタAR
は、P−バスを通して命令語のRRR欄がロードされ、
ラインARioを通してどちらの補助レジスタをD−バ
スに連絡すべきかを決定するポインタRPによって定義
される。
L A、 RK命令により、RRRによって定義された
ARにJRからの定数K(ビット8〜15)がロードさ
れる。この8ビツト定数には右そろえされ、16ビツト
補助レジスタ内のMSBはゼロにセットされる。“補助
レジスタを修正せよ”命令MARは、上記のようにビッ
ト10〜ビツトI2によって;11)助レジスタを修正
する。しかし、加算や記憶装置15に対するアクセスは
実行されない。MARコードは、間接モードすなわちI
=1においてのみ効力を有し、直接モードにおいてこの
命令は効力を有せず、すなわちNo−OPとなる。
ARにJRからの定数K(ビット8〜15)がロードさ
れる。この8ビツト定数には右そろえされ、16ビツト
補助レジスタ内のMSBはゼロにセットされる。“補助
レジスタを修正せよ”命令MARは、上記のようにビッ
ト10〜ビツトI2によって;11)助レジスタを修正
する。しかし、加算や記憶装置15に対するアクセスは
実行されない。MARコードは、間接モードすなわちI
=1においてのみ効力を有し、直接モードにおいてこの
命令は効力を有せず、すなわちNo−OPとなる。
入力/出力命令は、アセンブリ言語では“INPA、A
”または“OUT PA、A″のように書かれる。こ
こで、PAはRAババスビット9〜11上の3ビツトボ
ート・アドレスPPP出力(デコーダID1から生じて
、ラインRAiを通して連絡される)である。IN命令
はDEN−を使用許可し、RCLK−を使用禁止にする
。
”または“OUT PA、A″のように書かれる。こ
こで、PAはRAババスビット9〜11上の3ビツトボ
ート・アドレスPPP出力(デコーダID1から生じて
、ラインRAiを通して連絡される)である。IN命令
はDEN−を使用許可し、RCLK−を使用禁止にする
。
一方、OUT命令はWE−を使用許可にし、R,CL
K−を使用禁止にする。周辺装置I2は、RA9〜RA
IIをデコードし、8個の16ビツト・ポートPO−P
7の1つ、すなわちバスDを通して読取りまたは書込み
のためのロケーションを選択する。以」−の命令は2つ
のマシン状態を使用しており、バスDのデータ入力ビン
は第2の状態ではフリーであって、ROM+4の代りに
記憶装置11から次の命令の外部取出しを許す。
K−を使用禁止にする。周辺装置I2は、RA9〜RA
IIをデコードし、8個の16ビツト・ポートPO−P
7の1つ、すなわちバスDを通して読取りまたは書込み
のためのロケーションを選択する。以」−の命令は2つ
のマシン状態を使用しており、バスDのデータ入力ビン
は第2の状態ではフリーであって、ROM+4の代りに
記憶装置11から次の命令の外部取出しを許す。
“アキュムレータを記憶せよ”命令S A、 CLとS
A CHは、アセンブリ言語では“5ACL X。
A CHは、アセンブリ言語では“5ACL X。
A″のように書かれるが、Accの下位または上位のビ
ットをXXX空間左シストさせ、I A A AAAA
AによっC直接または間接に定義されたデータ記憶装置
15内のロケーションに記憶させる。
ットをXXX空間左シストさせ、I A A AAAA
AによっC直接または間接に定義されたデータ記憶装置
15内のロケーションに記憶させる。
X欄は、図示実施例の場合、完全に実行されない。
すなわち、S A Cf−1命令の場合、X=0.X=
1およびX=4のみが許される。このシフトは、シフタ
SまたはALU内ではなく、アキュムレータAce回路
自体内で実行される。
1およびX=4のみが許される。このシフトは、シフタ
SまたはALU内ではなく、アキュムレータAce回路
自体内で実行される。
シフト・コードのない、演算および論理命令は、ADD
t(、ADDS、5UBH,5UBC,ZALII。
t(、ADDS、5UBH,5UBC,ZALII。
ZALS、EXOR,AND、ORおよびLACKであ
る。これらの命令は、すべて、アセンブリ言語で、たと
えばADDI−LAのように書かれる。。
る。これらの命令は、すべて、アセンブリ言語で、たと
えばADDI−LAのように書かれる。。
A D D H命令は、RAM15内の定義されたロケ
ーションからの16ビツト・データをAceの上位半分
に加算し、結果をAccの上位半分に記憶させる。実際
には、RAM+5からのデータは、D−バスからALU
−b入力へ進むときシフタS内で16ビツト左シフトさ
れる。A、 D D S命令は、符号外延がシフタS内
で抑制されることを意味し、Aによって定義されたRA
、Mi5からのデータは、符号付き2の補数の代りに1
6ビツトの正数として取り扱われる。S LI B )
−1および5UBS命令は、A、 L U内で減算が実
行されることを除いてADDHおよびADDS命令に相
当する。
ーションからの16ビツト・データをAceの上位半分
に加算し、結果をAccの上位半分に記憶させる。実際
には、RAM+5からのデータは、D−バスからALU
−b入力へ進むときシフタS内で16ビツト左シフトさ
れる。A、 D D S命令は、符号外延がシフタS内
で抑制されることを意味し、Aによって定義されたRA
、Mi5からのデータは、符号付き2の補数の代りに1
6ビツトの正数として取り扱われる。S LI B )
−1および5UBS命令は、A、 L U内で減算が実
行されることを除いてADDHおよびADDS命令に相
当する。
除算には、条件付き減算命令5UBCが使われる。RA
M1S内の定義されたロケーションの内容は、Accの
内容から減算され、15ビツト左シフトされ、ALU出
力A L U −oを作る。そのA L U出力ALU
−oは、もしゼロでなければ、1ビツトだけ左シフトさ
れ、そして+1が加算され、その結果がAccに記憶さ
れる。もしALU出力A L U −oがセロでなけれ
ば、lビットだけ左シフトされ、その結果がA、 c
cに記憶される(+1は加算されない)。5UBC命令
は、それに続く命令においてアキュムレータが使用され
ないという仮定に立っ2サイクル命令である。もし、そ
れに続く命令がAccに関係していれば、そのときには
、5UBC命令の後、No−0P命令を挿入すべきであ
る。
M1S内の定義されたロケーションの内容は、Accの
内容から減算され、15ビツト左シフトされ、ALU出
力A L U −oを作る。そのA L U出力ALU
−oは、もしゼロでなければ、1ビツトだけ左シフトさ
れ、そして+1が加算され、その結果がAccに記憶さ
れる。もしALU出力A L U −oがセロでなけれ
ば、lビットだけ左シフトされ、その結果がA、 c
cに記憶される(+1は加算されない)。5UBC命令
は、それに続く命令においてアキュムレータが使用され
ないという仮定に立っ2サイクル命令である。もし、そ
れに続く命令がAccに関係していれば、そのときには
、5UBC命令の後、No−0P命令を挿入すべきであ
る。
“ゼロ・アキュムレータ・ロード・ハイ″命令Z A
L Hハ、RAM1S内のアドレスされたロケーション
にある16ヒツト語を取り出し、それをA、 c cの
上位半分(ビット0〜15)にロードする。Accはゼ
ロにされているから、下位ビット16〜31はゼロのま
まである。シフタSはD−BUSからA L Uを通っ
てA、 c cに向うデータ経路内にあるから、ZAL
t(命令において16ヒツト・シフトが実行され、デー
タは上位半分へ移される。ZALS命令は、−RAM1
5がら語を取り出し、それを、ゼロにされたAccの下
位半分にロードする。符号拡張はシフタS内で抑制され
る。
L Hハ、RAM1S内のアドレスされたロケーション
にある16ヒツト語を取り出し、それをA、 c cの
上位半分(ビット0〜15)にロードする。Accはゼ
ロにされているから、下位ビット16〜31はゼロのま
まである。シフタSはD−BUSからA L Uを通っ
てA、 c cに向うデータ経路内にあるから、ZAL
t(命令において16ヒツト・シフトが実行され、デー
タは上位半分へ移される。ZALS命令は、−RAM1
5がら語を取り出し、それを、ゼロにされたAccの下
位半分にロードする。符号拡張はシフタS内で抑制され
る。
論理命令EXOR%ANDおよびORは、たとえ取り出
されたオペランドが16ビツトであっても32ビット形
式で実行される。EXOR命令の場合には、Accの上
位半分はゼロで排他的論理和がなされ、Aceの下位半
分をもつ取り出されたデータの排他的論理和で連結され
、その結果の両半分がAceに記憶される。同じことが
ORおよびAND命令に当てはまる。
されたオペランドが16ビツトであっても32ビット形
式で実行される。EXOR命令の場合には、Accの上
位半分はゼロで排他的論理和がなされ、Aceの下位半
分をもつ取り出されたデータの排他的論理和で連結され
、その結果の両半分がAceに記憶される。同じことが
ORおよびAND命令に当てはまる。
ロード・アキュムレータ命令LACKは、命令語の8個
のLSBに含まれている8ビツトの定数をAccの8個
のLSHにロードさせ、右そろえされる。すなわち、A
ccの上位24ビツトはゼロにされる。この命令を実行
するため、IRからのP−BUS上の命令語が(もちろ
ん、IDIとID2がロードされた後)、BIMによっ
てD−BUSへ連絡され、したがって、シフタSを通し
て(シフトなしで”)ALU−bへ連絡される。
のLSBに含まれている8ビツトの定数をAccの8個
のLSHにロードさせ、右そろえされる。すなわち、A
ccの上位24ビツトはゼロにされる。この命令を実行
するため、IRからのP−BUS上の命令語が(もちろ
ん、IDIとID2がロードされた後)、BIMによっ
てD−BUSへ連絡され、したがって、シフタSを通し
て(シフトなしで”)ALU−bへ連絡される。
A L Uは“A、 L U −bを通過させよ1、す
なわち“A、 L U −bにゼロを加算せよ″命令を
実行し、定数をAccの中にそのままにしておく。
なわち“A、 L U −bにゼロを加算せよ″命令を
実行し、定数をAccの中にそのままにしておく。
データシフトすなわちデータ移動命令DSHTは、RA
M1S内の定義されたロケーションの内容を定義された
ものに1加えたロケーションに移動させる。この命令は
、ALUまたはD−バスを使わずにRA、M2Sに対し
内部で実行される。しかしながら、この命令はページ境
界を横断できない。
M1S内の定義されたロケーションの内容を定義された
ものに1加えたロケーションに移動させる。この命令は
、ALUまたはD−バスを使わずにRA、M2Sに対し
内部で実行される。しかしながら、この命令はページ境
界を横断できない。
Tをロートせよ”命令LTは、乗算を準備するために使
用される。LT命令は、TレジスタニRAM15からI
A、AA AAA八によって定義された値をロードす
る。
用される。LT命令は、TレジスタニRAM15からI
A、AA AAA八によって定義された値をロードす
る。
“データ移動とともにTをロードせよ”命令LTDは、
RAMにおけるD S I(T命令に似た演算を用いる
。すなわち、TレジスタにIAAAAAAAによって定
義されたRAM1.5の内容がロードされ、次に、この
同じ値がロケーションIAAA AAAA+1ヘシフ
トされ、さらにAccの内容がALU内でPレジスタの
内容に加算され、その結果が八CCに記憶される。LT
A命令は、データ移動のないことを除きL T D命令
と同じである。すなわちTレジスタはRAM15からロ
ードされ、PレジスタはAccに加算され、その結果が
Aceに記憶される。
RAMにおけるD S I(T命令に似た演算を用いる
。すなわち、TレジスタにIAAAAAAAによって定
義されたRAM1.5の内容がロードされ、次に、この
同じ値がロケーションIAAA AAAA+1ヘシフ
トされ、さらにAccの内容がALU内でPレジスタの
内容に加算され、その結果が八CCに記憶される。LT
A命令は、データ移動のないことを除きL T D命令
と同じである。すなわちTレジスタはRAM15からロ
ードされ、PレジスタはAccに加算され、その結果が
Aceに記憶される。
乗算命令MPYは、乗算器M内で(ALUは使わない)
、Tレジスタの16ビツト内容にD−ノくスからの人力
Mi上のRAM15からの値を掛け、その32ビツトの
結果をPレジスタに入れる。
、Tレジスタの16ビツト内容にD−ノくスからの人力
Mi上のRAM15からの値を掛け、その32ビツトの
結果をPレジスタに入れる。
“定義を掛けよ“命令M P Y Kは、Tレジスタの
16ビツト内容にIR内の命令コードからの13ビツト
定数Cを掛け、その32ビ・ソトの結果をPレジスタに
入れるM P Y K命令の場合、定義はIRからP−
Bus、BIM、およびD−Busを通して〜11に連
絡される。
16ビツト内容にIR内の命令コードからの13ビツト
定数Cを掛け、その32ビ・ソトの結果をPレジスタに
入れるM P Y K命令の場合、定義はIRからP−
Bus、BIM、およびD−Busを通して〜11に連
絡される。
″データ・ページをロードせよ″命令LDPKおよびL
D Pは、データ・ページ・レジスタDPに、命令コ
ード自体からまたはRAM15内の定義されたロケーシ
ョンから8個までのビットをロードする。図示実施例の
場合には、DPL/−ジスタは1ビツトのみであるが、
より大きなRAM15をもつ別の実施例の場合には、D
Pレジスタには8個までのピッドが入る。ページ・アド
レスは、新しい“ページをロードせよ゛命令が生じない
限りDP内で同じままである。
D Pは、データ・ページ・レジスタDPに、命令コ
ード自体からまたはRAM15内の定義されたロケーシ
ョンから8個までのビットをロードする。図示実施例の
場合には、DPL/−ジスタは1ビツトのみであるが、
より大きなRAM15をもつ別の実施例の場合には、D
Pレジスタには8個までのピッドが入る。ページ・アド
レスは、新しい“ページをロードせよ゛命令が生じない
限りDP内で同じままである。
“状態をロードせよ°命令LSTおよび“状態を記憶せ
よ°命令SSTは、呼出しまたは割込みにおいて、状態
回路SDの内容を保存するため、すなわち状態回路SD
を再記憶するために使用される。これらの命令は、この
機能を実行するための配線回路の代りに使用される。
よ°命令SSTは、呼出しまたは割込みにおいて、状態
回路SDの内容を保存するため、すなわち状態回路SD
を再記憶するために使用される。これらの命令は、この
機能を実行するための配線回路の代りに使用される。
使用禁止命令DINTおよび使用許可命令EINTは、
割込み能力をマスクするため、またはアンマスクするた
めに使用される。すなわち、これらの命令は、マイクロ
コンピュータ10がINT−ビンに応答するかしないか
を決定するラッチをリセットまたはセットする。
割込み能力をマスクするため、またはアンマスクするた
めに使用される。すなわち、これらの命令は、マイクロ
コンピュータ10がINT−ビンに応答するかしないか
を決定するラッチをリセットまたはセットする。
絶対値命令ABSは、アキュムレータが絶対値のみを入
れるように機能する。すなわち、もしアキュムレータが
ゼロより小さければ、Accの絶対値がAccにロード
される、しかし、A、 c cがゼロより大きければ、
変化はない。同様に、ゼロ・アキュムレータ命令ZAC
は、Accをゼロにする。
れるように機能する。すなわち、もしアキュムレータが
ゼロより小さければ、Accの絶対値がAccにロード
される、しかし、A、 c cがゼロより大きければ、
変化はない。同様に、ゼロ・アキュムレータ命令ZAC
は、Accをゼロにする。
オーバフロー・モード命令RAMVは、状態デコーダS
D内のオーバフロー・モード・ラッチOVMを1にセッ
トし、オーバフロー・モード命令SAMVは0にリセッ
トする。OVMがセ・ソトされると、ALUの出力は、
オーバフロー時にAccにロードされる前に、その最大
または最小値にセットされる。これは、アナログ回路に
おける増幅器飽和の効果を模擬しており、信号処理上役
に立つ。
D内のオーバフロー・モード・ラッチOVMを1にセッ
トし、オーバフロー・モード命令SAMVは0にリセッ
トする。OVMがセ・ソトされると、ALUの出力は、
オーバフロー時にAccにロードされる前に、その最大
または最小値にセットされる。これは、アナログ回路に
おける増幅器飽和の効果を模擬しており、信号処理上役
に立つ。
3つのI)レジスタ命令PAC,HPAC1および5P
ACは、MPYまたはMPYKの後、データを処理する
場合に使用される。PAC命令は、データを修正するい
かなる操作も実行させないでALUに32ビツト・デー
タを通過させることによって、アキュムレータにPレジ
スタの内容をロードする。実際にはALU−a入力はゼ
ロにされ、加算が実行される。HPAC命令はPレジス
タの内容を、Accの内容に加算し、その結果をAcc
に入れる。同様に、5PAC命令は、AccからPレジ
スタの内容を減算し、その結果をAccに入れる。
ACは、MPYまたはMPYKの後、データを処理する
場合に使用される。PAC命令は、データを修正するい
かなる操作も実行させないでALUに32ビツト・デー
タを通過させることによって、アキュムレータにPレジ
スタの内容をロードする。実際にはALU−a入力はゼ
ロにされ、加算が実行される。HPAC命令はPレジス
タの内容を、Accの内容に加算し、その結果をAcc
に入れる。同様に、5PAC命令は、AccからPレジ
スタの内容を減算し、その結果をAccに入れる。
サブルーチン命令には、CALL、CALLA。
およびRETがある。CALL命令は、2語命令であっ
て、最初の語は命令コードで、2番目の語はサブルーチ
ン内の最初の命令の絶対アドレスである。CA L L
命令がID2内でデユードされると、PCはアドレスで
ある次の命令語を取り出すため増分され、次にPCの増
分した内容がスタ、ンクSTへ入れられる。サブルーチ
ンは、戻し命令RETで終了し、RET命令はTO3の
アドレスをポツプさせ、PC内にロードする。状態を保
存するため、CALL命令の前にSTT命令を使用しな
ければならないし、RET命令の後にLST命令を挿入
しなければならない。
て、最初の語は命令コードで、2番目の語はサブルーチ
ン内の最初の命令の絶対アドレスである。CA L L
命令がID2内でデユードされると、PCはアドレスで
ある次の命令語を取り出すため増分され、次にPCの増
分した内容がスタ、ンクSTへ入れられる。サブルーチ
ンは、戻し命令RETで終了し、RET命令はTO3の
アドレスをポツプさせ、PC内にロードする。状態を保
存するため、CALL命令の前にSTT命令を使用しな
ければならないし、RET命令の後にLST命令を挿入
しなければならない。
CALLA命令は、バーバード構成のマシンに対する独
自なものである。すなわち、この命令は、PC+ 1に
よってアドレスされた次のロケーションを使用するので
なくACCの内容をサブルーチンのアドレスとして使用
する。Accの下位ビットは、Ace−LおよびBIM
を通してP−バスへ、そこからPCpAを通してプログ
ラム・カウンタPCへ転送される。CALLA命令にお
いて増分されたPCは、CALL命令とまったく同様に
STに入れることによって保存される。
自なものである。すなわち、この命令は、PC+ 1に
よってアドレスされた次のロケーションを使用するので
なくACCの内容をサブルーチンのアドレスとして使用
する。Accの下位ビットは、Ace−LおよびBIM
を通してP−バスへ、そこからPCpAを通してプログ
ラム・カウンタPCへ転送される。CALLA命令にお
いて増分されたPCは、CALL命令とまったく同様に
STに入れることによって保存される。
デープル索引命令TBLRおよびTBLWも、アドレス
源としてAceを用いている。これらの命令は実行する
のに3つの状態が必要である。
源としてAceを用いている。これらの命令は実行する
のに3つの状態が必要である。
IA、AA AAAAによって定義されたRAM15
のロケーションはD−バスおよびBIMを通してI〕−
バスへ、続いてPCpを通してPCへ転送される。そこ
から、このアドレスはROM14へ、またはRApcを
通して外部RAババス加えられる。
のロケーションはD−バスおよびBIMを通してI〕−
バスへ、続いてPCpを通してPCへ転送される。そこ
から、このアドレスはROM14へ、またはRApcを
通して外部RAババス加えられる。
分岐命令はすべて2語が必要であって、最初の語は命令
コードであり、PC+ 1における2番目の語はアドレ
スである。分岐コードの下位ビット8〜15は使用され
ない。非条件付き分岐命令Bは、PC+1における語を
次のアドレスとじてPCにロードする。BARNZ命令
は、ループ・カウンタ、すなわちA R,Dによって定
義された補助レジスタの1つがゼロでないかどうかに基
づく条件付きである。BV命令は、もし状態デコーダS
D内のオーバフロー・ビットOvがIであれば分岐させ
る。BIOZ命令は、T10 ST−からのToビッ
トが状態デコーダSD内の1に対応する、“使用中−低
い“であれば、分岐させる。
コードであり、PC+ 1における2番目の語はアドレ
スである。分岐コードの下位ビット8〜15は使用され
ない。非条件付き分岐命令Bは、PC+1における語を
次のアドレスとじてPCにロードする。BARNZ命令
は、ループ・カウンタ、すなわちA R,Dによって定
義された補助レジスタの1つがゼロでないかどうかに基
づく条件付きである。BV命令は、もし状態デコーダS
D内のオーバフロー・ビットOvがIであれば分岐させ
る。BIOZ命令は、T10 ST−からのToビッ
トが状態デコーダSD内の1に対応する、“使用中−低
い“であれば、分岐させる。
6つの命令BLZSBLEZ、BGZ、BGEZ。
BNZl、およびBZ、すべて、Acc内の条件を反映
しているSD内の定義された条件によって決まる。
しているSD内の定義された条件によって決まる。
Σ
←
システムφタイミング
第3A−C図の(a)〜(pp)に第1図のシステム及
び第2図のCPUチップのタイミングを、電圧対時間の
波形またはエベント対時間のチャートで示す。チップI
Oは2つの外部ビンX1及びX2を有するクロック発生
器17を具備しており、該ビンには水晶発振器(または
外部発振器)が接続されている。この水晶発振器の基本
周波数は20M Hzまでであり、これを(a)にクロ
ックφとして示す。このクロックφは最小50nSの周
期を有しており、(b)〜(e)に示す4つの四分の一
サイクル・クロック]I、Q2、Q3及びQ4を発生す
るのに用いられ、マイクロコンピュータ・チップ10に
対する基本内部タイミングを提供する。
び第2図のCPUチップのタイミングを、電圧対時間の
波形またはエベント対時間のチャートで示す。チップI
Oは2つの外部ビンX1及びX2を有するクロック発生
器17を具備しており、該ビンには水晶発振器(または
外部発振器)が接続されている。この水晶発振器の基本
周波数は20M Hzまでであり、これを(a)にクロ
ックφとして示す。このクロックφは最小50nSの周
期を有しており、(b)〜(e)に示す4つの四分の一
サイクル・クロック]I、Q2、Q3及びQ4を発生す
るのに用いられ、マイクロコンピュータ・チップ10に
対する基本内部タイミングを提供する。
−組の四分の一サイクル・クロックQlないしQ4は最
小200nsの1つのマシンステートタイムを形成する
。このステートを第3図に5O1Sl、S2として示す
。クロック発生器17は、制御バス13のうちの一つの
上に出力CLKOUT((fl )を発生する。CLK
OUTはQlと同じ周期を有するが、これは50%デユ
ーティサイクルであり、Qlの中点で始まる。この出力
を、第1図のシステムの外部素子のタイミングまたは同
期用に用いる。
小200nsの1つのマシンステートタイムを形成する
。このステートを第3図に5O1Sl、S2として示す
。クロック発生器17は、制御バス13のうちの一つの
上に出力CLKOUT((fl )を発生する。CLK
OUTはQlと同じ周期を有するが、これは50%デユ
ーティサイクルであり、Qlの中点で始まる。この出力
を、第1図のシステムの外部素子のタイミングまたは同
期用に用いる。
内部では、マイクロコンピュータIOは、大部分の型の
命令に対して、lステートタイム当り1命令を実行する
。従って、1秒間当り500万の命令が20MHzクロ
ック速度で実行される。いうまでもなく、入出力、分岐
すなわちブランチ、コールまたはテーブルルックアップ
のような若干の命令は2つまたは3つのステートタイム
を必要とする。加算、ロード、記憶、等のような一連の
単一ステート命令を考えると、(g)に示すように各Q
3最中に新たなアドレスがPCにロードされ、次いでQ
4及びQl最中にROM14がアドレス指定され、従っ
て、fh)に示すように、一つの命令語出力がIRから
次のQ2における妥当なP−BUS上に発生させられ、
Q3まで継続する。従って、r(0M14のアクセス時
間は約Noonsである。メモリ1.1からの外部命令
取出しを用いても、同じアクセス時間が適用される。
命令に対して、lステートタイム当り1命令を実行する
。従って、1秒間当り500万の命令が20MHzクロ
ック速度で実行される。いうまでもなく、入出力、分岐
すなわちブランチ、コールまたはテーブルルックアップ
のような若干の命令は2つまたは3つのステートタイム
を必要とする。加算、ロード、記憶、等のような一連の
単一ステート命令を考えると、(g)に示すように各Q
3最中に新たなアドレスがPCにロードされ、次いでQ
4及びQl最中にROM14がアドレス指定され、従っ
て、fh)に示すように、一つの命令語出力がIRから
次のQ2における妥当なP−BUS上に発生させられ、
Q3まで継続する。従って、r(0M14のアクセス時
間は約Noonsである。メモリ1.1からの外部命令
取出しを用いても、同じアクセス時間が適用される。
(市こ示すように、命令デコーダIDI及びID2はQ
3最中にP−BUSから命令語を受取り、そして、若干
の高速制御出力がQ4において可用であるが、大部分の
コーダ出力#CはQ1最中は妥当(valid)である
。RAMの直接アドレス指定に対しては、P−BUSの
ビット9ないしビット15上のアドレスは、P−BUS
が妥当となると直ちにRAMコーダ15b内にゲートさ
れる。しかじ、直接または間接のいずれにおいても、R
AMアドレスは(j)に示すようにQ3の開始により妥
当である。RAM読取りに対しては、ライン15jを介
するD−BUSへのデータ出力はQ4上で妥当であり、
そして、このデータはシフタSを通過しく(kl) 、
Q l最中にALU入力として受入れられる( (i)
)。ALU$ill!II出力#CはQ2において妥
当であり、ALU出力ALU−oはQ3中に受入れられ
る。アキュムレータAccはQ4においてALUからロ
ードされ((ml)、次いで次のQlにおいて飽和させ
られる。
3最中にP−BUSから命令語を受取り、そして、若干
の高速制御出力がQ4において可用であるが、大部分の
コーダ出力#CはQ1最中は妥当(valid)である
。RAMの直接アドレス指定に対しては、P−BUSの
ビット9ないしビット15上のアドレスは、P−BUS
が妥当となると直ちにRAMコーダ15b内にゲートさ
れる。しかじ、直接または間接のいずれにおいても、R
AMアドレスは(j)に示すようにQ3の開始により妥
当である。RAM読取りに対しては、ライン15jを介
するD−BUSへのデータ出力はQ4上で妥当であり、
そして、このデータはシフタSを通過しく(kl) 、
Q l最中にALU入力として受入れられる( (i)
)。ALU$ill!II出力#CはQ2において妥
当であり、ALU出力ALU−oはQ3中に受入れられ
る。アキュムレータAccはQ4においてALUからロ
ードされ((ml)、次いで次のQlにおいて飽和させ
られる。
以上から解るように、例えば、第3A図の(al〜+m
+におけるSOステートのQ3でフェッチ(取出し)が
始まったADD命令は完了する。即ち、その結果はステ
ートS2のQ4においてAccにロードされ、次いで、
ステー)S3のQlにおいて受入可能な飽和したAcc
をQ2においてDバスにロードすることができる。命令
実行についてはかなりのオーバラップがある。新たな命
令のフェッチすなわち取出しが1ステート命令に対する
各ステートタイムのQ3中に開始し、従って、1つが終
了する前に更に2つの命令の実行が開始しているという
ことが可能となる。
+におけるSOステートのQ3でフェッチ(取出し)が
始まったADD命令は完了する。即ち、その結果はステ
ートS2のQ4においてAccにロードされ、次いで、
ステー)S3のQlにおいて受入可能な飽和したAcc
をQ2においてDバスにロードすることができる。命令
実行についてはかなりのオーバラップがある。新たな命
令のフェッチすなわち取出しが1ステート命令に対する
各ステートタイムのQ3中に開始し、従って、1つが終
了する前に更に2つの命令の実行が開始しているという
ことが可能となる。
書込みRAM機能は第3A図の(a)〜((6)図には
示してない。RAM15は常にQ2中に書込みされる。
示してない。RAM15は常にQ2中に書込みされる。
しかし、RAMをアドレス指定することは常にQ3中に
おいてである。従って、「低次のアキュムレータを記憶
J 5ACLのような命令を第3A図の(nl−(0)
に示しである。RA、 Mアドレスは命令レジスタから
P−BUSを介して81のQ3上で受取られ(SALC
命令の取出しはSOのQ3において開始したものと仮定
する)、そして書込みはステートS2のQ2までは生じ
ない。読出しスロット、即ちSlのQ4中に、RAMの
アドレス指定された行いに対してリフレッシュが生じ、
次いでこの同じアドレスは書込みのためにステートS2
のQ2まで留まっている。D−BUSはこの間じQ2中
にA、 c cからロードされる。(nlを参照された
い。
おいてである。従って、「低次のアキュムレータを記憶
J 5ACLのような命令を第3A図の(nl−(0)
に示しである。RA、 Mアドレスは命令レジスタから
P−BUSを介して81のQ3上で受取られ(SALC
命令の取出しはSOのQ3において開始したものと仮定
する)、そして書込みはステートS2のQ2までは生じ
ない。読出しスロット、即ちSlのQ4中に、RAMの
アドレス指定された行いに対してリフレッシュが生じ、
次いでこの同じアドレスは書込みのためにステートS2
のQ2まで留まっている。D−BUSはこの間じQ2中
にA、 c cからロードされる。(nlを参照された
い。
アキュムレータが、オーバフローモードにおいて、即ち
1にセットされたOVMにおいて飽和機能を行なわなけ
ればないない場合には、これは(mlのアキュムレータ
・ロード機能後に行なわれる。
1にセットされたOVMにおいて飽和機能を行なわなけ
ればないない場合には、これは(mlのアキュムレータ
・ロード機能後に行なわれる。
即ち(a)〜(mlのADD命令に対して、Accは次
のステートS3におけるQl中に飽和され、従って、上
記アキュムレータが後続の命令によってアクセスされる
と、該アキュムレータはQ2上でD−BUSをロードす
るのに受入れ可能となる。
のステートS3におけるQl中に飽和され、従って、上
記アキュムレータが後続の命令によってアクセスされる
と、該アキュムレータはQ2上でD−BUSをロードす
るのに受入れ可能となる。
命令がRAM l S内のデータ移動機能を用いるとき
は、この移動動作は(0)に示すようにQlに生ずる。
は、この移動動作は(0)に示すようにQlに生ずる。
また、増分すなわちインクリメント・ループ・カウンタ
機能が補助レジスタA、 ROまたはA、R1に対して
行なわれると、このインクリメント(または減分すなわ
ちデクリメント)はQlにおいて実行される。Tレジス
タ、補助レジスタAROまたはARISARPラッチ、
DPレジスタ及びスタックSTレジスタは、これらの機
能がカレント命令に含まれていると、各々が、任意のス
テートタイムのQ2中にロードされる。
機能が補助レジスタA、 ROまたはA、R1に対して
行なわれると、このインクリメント(または減分すなわ
ちデクリメント)はQlにおいて実行される。Tレジス
タ、補助レジスタAROまたはARISARPラッチ、
DPレジスタ及びスタックSTレジスタは、これらの機
能がカレント命令に含まれていると、各々が、任意のス
テートタイムのQ2中にロードされる。
バス交換モジュールBrMは、この機能が命令によって
確定されると、Q2において開始するD−BusからP
−Busへの転送を常に実行する。
確定されると、Q2において開始するD−BusからP
−Busへの転送を常に実行する。
BrMによるP−BusからD−BUSへの転送はQ4
中に開始される。D−BUSは各サイクルのQ3上でプ
リチャージされ、従って、データがいずれかのステート
の03を通じてD−BUS上で桁上がりするということ
がなく、またデータがQ3中にD−BUSへまたはこれ
からロードされることもない。
中に開始される。D−BUSは各サイクルのQ3上でプ
リチャージされ、従って、データがいずれかのステート
の03を通じてD−BUS上で桁上がりするということ
がなく、またデータがQ3中にD−BUSへまたはこれ
からロードされることもない。
プログラムカウンタPCは各ステートタイムのQ3中に
PCine路によってインクリメントされる。即ち、(
g)のロードPC機能は丁度発生させられたインクリメ
ント値である。
PCine路によってインクリメントされる。即ち、(
g)のロードPC機能は丁度発生させられたインクリメ
ント値である。
次に、第3B図において、ブランチ命令の実行を(p)
〜(「)に示す。ステートSOのQ3中にデコーダSD
I及びSD2内にロードされる命令がブランチであると
、先行の命令からのステータスデコーダSDビットは8
1のQl中は妥当であり、従ってブランチするかまたは
ブランチしないかの判断がこの時点でなされる。その間
、いうまでもなく、他の命令取出しが始まっており、従
って、ブランチ条件が適合すると、SlのQ2中にP−
BUSへ送られた命令は次のアドレスとして使用される
が実行されない。即ち、IDI及びID2にロードされ
ない。しかし、上記条件が適合しないと、この命令は放
棄される。即ち、プリチャージまでP−BUSに留まっ
ている。上記条件が適合しているとすると、ブランチア
ドレスはSlのQ3中にrRからP−BUSを介してP
Cヘロードされ、そして、新たな命令が82のQ2にお
いてIR及びP−BUSへ送られ((Q))、次いで、
(rlの82のQ3で始ってデコードされ及び実行され
る。
〜(「)に示す。ステートSOのQ3中にデコーダSD
I及びSD2内にロードされる命令がブランチであると
、先行の命令からのステータスデコーダSDビットは8
1のQl中は妥当であり、従ってブランチするかまたは
ブランチしないかの判断がこの時点でなされる。その間
、いうまでもなく、他の命令取出しが始まっており、従
って、ブランチ条件が適合すると、SlのQ2中にP−
BUSへ送られた命令は次のアドレスとして使用される
が実行されない。即ち、IDI及びID2にロードされ
ない。しかし、上記条件が適合しないと、この命令は放
棄される。即ち、プリチャージまでP−BUSに留まっ
ている。上記条件が適合しているとすると、ブランチア
ドレスはSlのQ3中にrRからP−BUSを介してP
Cヘロードされ、そして、新たな命令が82のQ2にお
いてIR及びP−BUSへ送られ((Q))、次いで、
(rlの82のQ3で始ってデコードされ及び実行され
る。
CA、 L L命令は、(I)1〜(1−)に示すよう
に、ブランチと同じタイムシーケンスで実行される。た
だし、SD評価は必要でない。そして、元のPC+ 1
はSlのQ3中にスタックSTヘプッシュされる。
に、ブランチと同じタイムシーケンスで実行される。た
だし、SD評価は必要でない。そして、元のPC+ 1
はSlのQ3中にスタックSTヘプッシュされる。
リターン命令RETは、(Sl−(u)に示すように、
2サイクル命令である。ステートSOのQ3中にデコー
ダIDI及びID2にロードされた命令がRETである
と、siのQ3においてPCのrPCインクリメント及
びロード」とともに開始した命令取出しは放棄され、そ
してポツプスタック機能がSlのQ3において実行され
、従って、次の命令取出しはリターンアドレスに対する
ものである。SlのQ4中に取出された命令は、次いで
、S2のQ3で始まってデコードされ及び実行される。
2サイクル命令である。ステートSOのQ3中にデコー
ダIDI及びID2にロードされた命令がRETである
と、siのQ3においてPCのrPCインクリメント及
びロード」とともに開始した命令取出しは放棄され、そ
してポツプスタック機能がSlのQ3において実行され
、従って、次の命令取出しはリターンアドレスに対する
ものである。SlのQ4中に取出された命令は、次いで
、S2のQ3で始まってデコードされ及び実行される。
入力(または出力)命令は、([)〜(Z)に示すよう
に、2サイクルにおいて実行される。SOのQ3におい
てデコーダID2にロードされる操作符号が、(X)に
示すように、INであるものとする。
に、2サイクルにおいて実行される。SOのQ3におい
てデコーダID2にロードされる操作符号が、(X)に
示すように、INであるものとする。
SOのQ3で始まって取出された命令は使用されない。
実行はINのデコードによって禁止され、従って、上記
命令はIRからP−Busヘロードされることがない。
命令はIRからP−Busヘロードされることがない。
SlのQ3におけるPCの内容は、次の命令取出しのた
めに、SlのQ3までセーブされる。即ち、PCはイン
クリメント路によって再循環させられてPCへ戻るが、
インクリメントは行なわれない。INのデコードから発
生させられる制御出力#Cは2つのステートに対して受
入れ可能である。(g)に示すように、RAMアドレス
はSlのQ3上でP−Busからロードされ、そしてデ
ータ入力はSlのQ4上でD −[IUSに到達し、S
lのQ2中にRAM15に書込まれる。DEN=制御は
、IN機能のためにSIのQ4からs2のQ2を通じて
能動である。OUT命令はINと同じように実行される
。ただし、RAi’v115/J’S 1のQ4中に読
出され、ソシテW g 、ii’制御がDEN−に代っ
て能動である。
めに、SlのQ3までセーブされる。即ち、PCはイン
クリメント路によって再循環させられてPCへ戻るが、
インクリメントは行なわれない。INのデコードから発
生させられる制御出力#Cは2つのステートに対して受
入れ可能である。(g)に示すように、RAMアドレス
はSlのQ3上でP−Busからロードされ、そしてデ
ータ入力はSlのQ4上でD −[IUSに到達し、S
lのQ2中にRAM15に書込まれる。DEN=制御は
、IN機能のためにSIのQ4からs2のQ2を通じて
能動である。OUT命令はINと同じように実行される
。ただし、RAi’v115/J’S 1のQ4中に読
出され、ソシテW g 、ii’制御がDEN−に代っ
て能動である。
テーブルルックアップ命令が(aa)ないしくdd)に
示すように実行される。TBLR操作符号は、SOのQ
3で始まってデコードされ、そしてAecをSlのQ2
においてD−BUSを介してBIMヘコピーせしめ、次
いでPCはSlのQ3においてBIMからP−BUSを
介してこのA、 c c値をロードされ、従って、Ac
cの内容は次の命令取出しアドレスとして使用される。
示すように実行される。TBLR操作符号は、SOのQ
3で始まってデコードされ、そしてAecをSlのQ2
においてD−BUSを介してBIMヘコピーせしめ、次
いでPCはSlのQ3においてBIMからP−BUSを
介してこのA、 c c値をロードされ、従って、Ac
cの内容は次の命令取出しアドレスとして使用される。
その間に、SOのQ3で始まって取出された命令の実行
は、ROM読出し制御#NRi Rを妨げることにより
、81のQ2においてIRをP−BUS (ROM14
出力)にコピーすることを禁止される。
は、ROM読出し制御#NRi Rを妨げることにより
、81のQ2においてIRをP−BUS (ROM14
出力)にコピーすることを禁止される。
SOのQ3からのPCのインクリメントされた内容はS
lのQ3中にSTヘプッシュされ、次いでSlのQ3に
おいて後続の命令アドレスとしてポツプされる。Q4/
SlないしQl、/S2中にAceからのアドレスを用
いてROM1.4(またはメモリ11)から取出された
データはSlのQ2中にP−BUS上ヘロードされ、該
バスにおいて該データはSlのQ4まで留まっており、
この時にBrMは該データをPバスから受取り、次いで
これを次のステートであるS3のQ2上でDバスへ転送
する。RAM15に対する宛先アドレスが81のQ3に
よってPバスからデコーダ15bにロードされ、2ステ
ートにわたって留まっている。従って、S3のQ2にお
いて生ずるRAM書込みは、元のTBLR操作符号にお
いて確定されるRAMアドレスを用いる。
lのQ3中にSTヘプッシュされ、次いでSlのQ3に
おいて後続の命令アドレスとしてポツプされる。Q4/
SlないしQl、/S2中にAceからのアドレスを用
いてROM1.4(またはメモリ11)から取出された
データはSlのQ2中にP−BUS上ヘロードされ、該
バスにおいて該データはSlのQ4まで留まっており、
この時にBrMは該データをPバスから受取り、次いで
これを次のステートであるS3のQ2上でDバスへ転送
する。RAM15に対する宛先アドレスが81のQ3に
よってPバスからデコーダ15bにロードされ、2ステ
ートにわたって留まっている。従って、S3のQ2にお
いて生ずるRAM書込みは、元のTBLR操作符号にお
いて確定されるRAMアドレスを用いる。
マイクロコンピュータ装置を製作する際にある固有の諸
問題の一つは、諸部品を検査して全部の素子が機能的で
あるか否かを決定するという問題である。多くのマイク
ロコンピュータにおいては、内部ROMから読出される
命令語は外部バスに対して受入れ可能でな(、従って、
ROMを、全ての可能な機能を実行するということ以外
の方法では検査することができず、これは長たらしくな
る可能性がある。第2図の装置によれば、第3B図の(
ee)ないしく hh)図に示すようにバス交換モジュ
ールを用いてROM14を一度に1語ずつ読出すことが
できる。Ilo ST−ビンをVdd以上、例えばI
OVに保持し、且つR3を低レベルに保持することによ
ってテストモード(表への命令セットにはない)を入れ
、デコーダIDI及びID2に対して入力を発生させて
ROM出力機能を生じさせ、諸機能においては、(ee
)に示すようにROM14は各サイクルごとにアクセス
され、PCはインクリメントされる。P−BusはRO
M出力を受取る( ff)。しかし、操作符号はボコー
ダIDI、ID2にロードされない。これに代って、(
hh)に示すように、BIMが、各サイクルのQ4上で
Pバスから操作符号を受取り、そして次のQ2上でDバ
スへ転送する。
問題の一つは、諸部品を検査して全部の素子が機能的で
あるか否かを決定するという問題である。多くのマイク
ロコンピュータにおいては、内部ROMから読出される
命令語は外部バスに対して受入れ可能でな(、従って、
ROMを、全ての可能な機能を実行するということ以外
の方法では検査することができず、これは長たらしくな
る可能性がある。第2図の装置によれば、第3B図の(
ee)ないしく hh)図に示すようにバス交換モジュ
ールを用いてROM14を一度に1語ずつ読出すことが
できる。Ilo ST−ビンをVdd以上、例えばI
OVに保持し、且つR3を低レベルに保持することによ
ってテストモード(表への命令セットにはない)を入れ
、デコーダIDI及びID2に対して入力を発生させて
ROM出力機能を生じさせ、諸機能においては、(ee
)に示すようにROM14は各サイクルごとにアクセス
され、PCはインクリメントされる。P−BusはRO
M出力を受取る( ff)。しかし、操作符号はボコー
ダIDI、ID2にロードされない。これに代って、(
hh)に示すように、BIMが、各サイクルのQ4上で
Pバスから操作符号を受取り、そして次のQ2上でDバ
スへ転送する。
バス六 モジュール
第4A図に詳細に示すバス交換モジュールBIMは16
個の同構成のステージから成っており、図にはそのうち
の1だけを示しである。データが81M内に保持される
のはステートタイムの約1/2よりも長いことはないの
で、各ステージはフィードバックループなしの2つの被
クロック・インダータ■a有す。入力ノードIbは、Q
4上で妥当な制御ビット#BIFPによって駆動される
16個のトランジスタIcのうちの一つを介してP−B
usのそれぞれのビットに接続される。
個の同構成のステージから成っており、図にはそのうち
の1だけを示しである。データが81M内に保持される
のはステートタイムの約1/2よりも長いことはないの
で、各ステージはフィードバックループなしの2つの被
クロック・インダータ■a有す。入力ノードIbは、Q
4上で妥当な制御ビット#BIFPによって駆動される
16個のトランジスタIcのうちの一つを介してP−B
usのそれぞれのビットに接続される。
D−Busは、Q2上で妥当なデコーダIDIからの制
御ビット#B)FD(Dからのバス交換)によって駆動
されるトランジスタIdを介して入力ノードIbに接続
される。
御ビット#B)FD(Dからのバス交換)によって駆動
されるトランジスタIdを介して入力ノードIbに接続
される。
出力ノード1eは、トランジスタIf及びIg、並びに
、Q2及びQ3最中に妥当な制御ビット#BITPによ
って駆動されるトランジスタrhを含むプッシュプル・
ステージによってP−BUSに接続される。同様に、出
力ノードIeは、ドライバ・トランジスタIi及びIj
l並びに、Q2及びQ4上で妥当な制御ビット#BIT
Dによって駆動されるトランジスタIkを有するプッシ
ュプル・ステージを介してD−BUSに接続される。
、Q2及びQ3最中に妥当な制御ビット#BITPによ
って駆動されるトランジスタrhを含むプッシュプル・
ステージによってP−BUSに接続される。同様に、出
力ノードIeは、ドライバ・トランジスタIi及びIj
l並びに、Q2及びQ4上で妥当な制御ビット#BIT
Dによって駆動されるトランジスタIkを有するプッシ
ュプル・ステージを介してD−BUSに接続される。
トランジスタIg及びIjは第1のインバータIaの出
力においてノードImによって駆動され、プッシュプル
出力を提供する。データはQ2−上でDバスからノード
Ib、1m、Ieへ転送され、次いでQ4でこれらノー
ドからPバスへ転送される。同様に、データはQ4上で
PバスからノードIb、1m、reへ転送され、次いで
Q4または次のQ2上でこれらノードからDバスへ転送
される。
力においてノードImによって駆動され、プッシュプル
出力を提供する。データはQ2−上でDバスからノード
Ib、1m、Ieへ転送され、次いでQ4でこれらノー
ドからPバスへ転送される。同様に、データはQ4上で
PバスからノードIb、1m、reへ転送され、次いで
Q4または次のQ2上でこれらノードからDバスへ転送
される。
里−」二」紅−1
第4B図に乗算器M及びそのレジスタT及びレジスタP
を略示し、対応する詳細な回路図を第4C図及び第4D
図に示す。レジスタTの16ビツト出力は、8個一組の
ブース(Booth )のデコーダMbに与えられ、該
デコーダは8組の出力Mcを発生し、各組は5つの機能
を含んでおり、そのうちの2つ、即ち(1)シフトまた
はシフトなし、及び(2)加算、減算またはゼロ、は−
度に能動となる。
を略示し、対応する詳細な回路図を第4C図及び第4D
図に示す。レジスタTの16ビツト出力は、8個一組の
ブース(Booth )のデコーダMbに与えられ、該
デコーダは8組の出力Mcを発生し、各組は5つの機能
を含んでおり、そのうちの2つ、即ち(1)シフトまた
はシフトなし、及び(2)加算、減算またはゼロ、は−
度に能動となる。
8個一組のバンクの17ビツトスタチツクキヤリ・フィ
ード・フォワード加算器Ma−1ないしMa−8は、T
レジスタがロードされるとMe大入力受取り、従って、
乗算機能の有効部分は、MPY命令が実行される前に開
始させられる。加算器Ma−1ないしMa−8はスタチ
ックであり、即ち、これらを作動させるにはクロックQ
lないしQ IIを必要としない。各レベルまたはバン
クはデコーダ出力Meに応答する制御セクションを含ん
でおり、上記制御セクションは加算器にフィードする。
ード・フォワード加算器Ma−1ないしMa−8は、T
レジスタがロードされるとMe大入力受取り、従って、
乗算機能の有効部分は、MPY命令が実行される前に開
始させられる。加算器Ma−1ないしMa−8はスタチ
ックであり、即ち、これらを作動させるにはクロックQ
lないしQ IIを必要としない。各レベルまたはバン
クはデコーダ出力Meに応答する制御セクションを含ん
でおり、上記制御セクションは加算器にフィードする。
レベルMa−2は半加算器を用い、レベルMa−3ない
しMa−8は全加算器を用いる。第1のレベルMa−1
は、先行のステージからの部分積がないので、加算器を
必要としせず、従って該レベルは制御セクションだけを
有す。MPY命令が04上でデコードされると、第2の
オペランドが16ビツト入力MiによってDバスから上
記スタチック加算器へ加えられる。
しMa−8は全加算器を用いる。第1のレベルMa−1
は、先行のステージからの部分積がないので、加算器を
必要としせず、従って該レベルは制御セクションだけを
有す。MPY命令が04上でデコードされると、第2の
オペランドが16ビツト入力MiによってDバスから上
記スタチック加算器へ加えられる。
8つのレベルの加算器Ma−tないしMa−8の各レベ
ルは和を計算し、部分積がラインMfを介して次の高い
レベルへ送られる。ただし、各レベルの2つのLSBは
ラインMeを介して動的加算器Mdへ送られる。スタチ
ック加算器アレイが確立すると、レベルMa−8からの
17ビツト出力Mgに加えて7つの低レベル2ビツトL
SB出力Meがキャリ・リップル加算器Md(31ステ
ージ)へ与えられて最終的キャリ評価が行なわれ、31
ビツト積を2つの補数表記法で発生させる。。
ルは和を計算し、部分積がラインMfを介して次の高い
レベルへ送られる。ただし、各レベルの2つのLSBは
ラインMeを介して動的加算器Mdへ送られる。スタチ
ック加算器アレイが確立すると、レベルMa−8からの
17ビツト出力Mgに加えて7つの低レベル2ビツトL
SB出力Meがキャリ・リップル加算器Md(31ステ
ージ)へ与えられて最終的キャリ評価が行なわれ、31
ビツト積を2つの補数表記法で発生させる。。
この31ビツトは、積レジスタP内で32ビツト積を得
るために符号拡張される。
るために符号拡張される。
ブースの2ビツト・アルゴリズムにより、加算器ステー
ジの個数は、さもなければ必要である個数の約半分に減
少する。昔からある筆算法で乗算を行なう場合には、1
つのオペランドの右のまたはLSの数字に他のオペラン
ドを乗じて部分積を作り、次いで、次の数字に乗じて他
の部分積を作り、該他の部分積を上記第1の部分積に対
して1桁シフトさせる。ブースのアルゴリズムは2漬方
式の乗算法を与えたものであり、この乗算法においては
、各たびごとに、1ビツトの代りに2ビツトを処理する
ことができる。従って、レベルMa−1はDバスの全ビ
ットのTレジスタ倍の2つのLSBを乗算し、部分積M
e及びMfを作る。第2のレベルMa−2はTレジスタ
の次の2ビツトをDバスに対して乗算し、Ma−1から
の部分積Mfを加算し、そして、この演算は各レベルご
とに2ビツトをシフトするので、新たな部分積Mfを発
生ずる。
ジの個数は、さもなければ必要である個数の約半分に減
少する。昔からある筆算法で乗算を行なう場合には、1
つのオペランドの右のまたはLSの数字に他のオペラン
ドを乗じて部分積を作り、次いで、次の数字に乗じて他
の部分積を作り、該他の部分積を上記第1の部分積に対
して1桁シフトさせる。ブースのアルゴリズムは2漬方
式の乗算法を与えたものであり、この乗算法においては
、各たびごとに、1ビツトの代りに2ビツトを処理する
ことができる。従って、レベルMa−1はDバスの全ビ
ットのTレジスタ倍の2つのLSBを乗算し、部分積M
e及びMfを作る。第2のレベルMa−2はTレジスタ
の次の2ビツトをDバスに対して乗算し、Ma−1から
の部分積Mfを加算し、そして、この演算は各レベルご
とに2ビツトをシフトするので、新たな部分積Mfを発
生ずる。
第4C図に、8つのデコーダMbのうちの一つをレジス
タTの2ビツトとともに示す。レジスタ1段は、Q4に
おいてクロックされる再循環トランジスタRc具備の2
つのインバータIaから成る。上記T段は、LT命令中
にQ2上で生ずるID+からの#LTコマンドによって
トランジスタTaを介してロードされる。レジスタTの
2つの出力及び補数はラインTo及びTcによって1つ
のブースのデコーダMbに加えられる。上記デコーダは
4つの論理回路から成っており、各回路は、スタチック
ロードBa、Bb、BcまたはBd、及び、ゲートに接
続されたラインTO及びTc付きのトランジスタBeの
パターンを有す。
タTの2ビツトとともに示す。レジスタ1段は、Q4に
おいてクロックされる再循環トランジスタRc具備の2
つのインバータIaから成る。上記T段は、LT命令中
にQ2上で生ずるID+からの#LTコマンドによって
トランジスタTaを介してロードされる。レジスタTの
2つの出力及び補数はラインTo及びTcによって1つ
のブースのデコーダMbに加えられる。上記デコーダは
4つの論理回路から成っており、各回路は、スタチック
ロードBa、Bb、BcまたはBd、及び、ゲートに接
続されたラインTO及びTc付きのトランジスタBeの
パターンを有す。
諸期間のうちの2つは、ラインBfによってゲート内に
固定されたlまたはOを有す。出力Me −1及Mc−
2は、シフトなしコマンド及びシフト・コマンドを表わ
し、そして論理ステージBe及びBdから来る。出力M
e−4及びMc−5は、」−2論理回路の第1のものの
ロードBaからの真且つ補数出力であり、そしてこれら
は加算コマンド及び減算コマンドを表わす。Beからの
出力はゼロ・コマンドである。
固定されたlまたはOを有す。出力Me −1及Mc−
2は、シフトなしコマンド及びシフト・コマンドを表わ
し、そして論理ステージBe及びBdから来る。出力M
e−4及びMc−5は、」−2論理回路の第1のものの
ロードBaからの真且つ補数出力であり、そしてこれら
は加算コマンド及び減算コマンドを表わす。Beからの
出力はゼロ・コマンドである。
スタチック加算器の第1のレベルMa−1は、D−BU
S入力入力及び入力Meだけしか含まれておらず、部分
積を有しないという点において、高レベルのものよりも
簡単である。この第1のステージの2つのステージを、
レベルM a −2及びレベルMa−3の17のステー
ジのうちの2つとともに第4C図に示す。制御セクショ
ンMmは全てのレベル上で全く同じである。どの素子も
クロックされない。
S入力入力及び入力Meだけしか含まれておらず、部分
積を有しないという点において、高レベルのものよりも
簡単である。この第1のステージの2つのステージを、
レベルM a −2及びレベルMa−3の17のステー
ジのうちの2つとともに第4C図に示す。制御セクショ
ンMmは全てのレベル上で全く同じである。どの素子も
クロックされない。
デコーダMb及び制御出力Mcを有する制御セクション
Mmはブースの一度に2ビツト形アルゴリズムを決定し
、これは回路を減らし且つ速度を2倍増大する。2つの
ビットが順々に問い合せされるときに、必要となる演算
は加算、減算、演算なし、または唯lビットのシフトの
みである。Tからの入力を一つのオペランドとして考え
、及びDバスからの入力を他のオペランドとして考える
場合に、 機能は次表の通りである。
Mmはブースの一度に2ビツト形アルゴリズムを決定し
、これは回路を減らし且つ速度を2倍増大する。2つの
ビットが順々に問い合せされるときに、必要となる演算
は加算、減算、演算なし、または唯lビットのシフトの
みである。Tからの入力を一つのオペランドとして考え
、及びDバスからの入力を他のオペランドとして考える
場合に、 機能は次表の通りである。
■
機 能
演算なし
Dを加算
りを加算
りをシフ
トし加算
りをシフ
トし加算
りを減算
りを減算
演算なし
部分積
に+O
K十D
K+D
K+2D
K −2D
−D
−D
K+D
ブースの2ビツト・アルゴリズムを用いる乗算の一例を
示せば次の通りである。
示せば次の通りである。
D=OO11,Ol (=13 十進数)制御
セクションMmにおいて、Dバスからの入力Miはトラ
ンジスタMm−1及び制御出力Me−1によって制御さ
れ、シフトはない。隣りのビットに対するMi大入力ト
ランジスタM m −2及ヒM c −2シフト・コマ
ンドによってゲートインされ、上述のように「2D」の
関数を提供する。ゼロはトランジスタMrn−3及びゼ
ロ制御出力Me−3によって提供され、そ−の結果、モ
ードMm−4がVccに接続される(2の補数における
ゼロ)。先行のステージからのキャリ・インはラインM
m−5上にあり、そして上記先行のステージからの部分
積はラインMm−6上にある。加算または減算制御は、
Me−4及びMc−5の各加算及び減算コマンドによっ
て制御されるトランジスタMrn−7によって提供され
る。全加算器は、制御セクションの出力を受取る論理ゲ
ートMn −1、並びにゲートMn−2及び排他的NO
RMn−3を含んでおり、ラインMn−4上の和及びラ
インMn−5上のキャリを作る。
セクションMmにおいて、Dバスからの入力Miはトラ
ンジスタMm−1及び制御出力Me−1によって制御さ
れ、シフトはない。隣りのビットに対するMi大入力ト
ランジスタM m −2及ヒM c −2シフト・コマ
ンドによってゲートインされ、上述のように「2D」の
関数を提供する。ゼロはトランジスタMrn−3及びゼ
ロ制御出力Me−3によって提供され、そ−の結果、モ
ードMm−4がVccに接続される(2の補数における
ゼロ)。先行のステージからのキャリ・インはラインM
m−5上にあり、そして上記先行のステージからの部分
積はラインMm−6上にある。加算または減算制御は、
Me−4及びMc−5の各加算及び減算コマンドによっ
て制御されるトランジスタMrn−7によって提供され
る。全加算器は、制御セクションの出力を受取る論理ゲ
ートMn −1、並びにゲートMn−2及び排他的NO
RMn−3を含んでおり、ラインMn−4上の和及びラ
インMn−5上のキャリを作る。
速度は、同じレゾル上でキャリ・リップルの代りにキャ
リ・フィード・フォワードを用いることによって増大す
る。レベルMa−1は先行のステージからの部分積また
は和Mm−6を有しておらず、またキャリ・インMn−
5も有しておらず、従って、加算器は必要でなく、モー
ドMn−8において和(差)を作ってキャリを作らない
制御器だけがあればよい。第2のレベルMa−2は、M
a=1からキャリ・フィード・フォワードを受取ること
がないので、半加算器である。
リ・フィード・フォワードを用いることによって増大す
る。レベルMa−1は先行のステージからの部分積また
は和Mm−6を有しておらず、またキャリ・インMn−
5も有しておらず、従って、加算器は必要でなく、モー
ドMn−8において和(差)を作ってキャリを作らない
制御器だけがあればよい。第2のレベルMa−2は、M
a=1からキャリ・フィード・フォワードを受取ること
がないので、半加算器である。
ダイナミック加算器すなわち31ステージ・リップリ・
スルー・キャリ加算器の諸加算器ステージのうちの一つ
をレジスタPの1つのステージとともに第4D図に示す
。上記加算器ステージは、トランジスタMdlによって
QlまたはQ3上でゲートされる2つの入力Meを受取
る。加算器Mdの6つのLSBは、その入力がQl上で
ゲートされる。即ち、スタチックアレイ・レベルMa−
1、Ma−2及びMa−3が確立されており、そして出
力Meがこの時点で妥当であるからである。従って、出
力Mfはまだ妥当となっていないが、Mdにおける加算
及びリップル・スルーは開始できる。従って、より多く
の有効ビットがトランジスタMdlにおいてQ3上でゲ
ートされる。
スルー・キャリ加算器の諸加算器ステージのうちの一つ
をレジスタPの1つのステージとともに第4D図に示す
。上記加算器ステージは、トランジスタMdlによって
QlまたはQ3上でゲートされる2つの入力Meを受取
る。加算器Mdの6つのLSBは、その入力がQl上で
ゲートされる。即ち、スタチックアレイ・レベルMa−
1、Ma−2及びMa−3が確立されており、そして出
力Meがこの時点で妥当であるからである。従って、出
力Mfはまだ妥当となっていないが、Mdにおける加算
及びリップル・スルーは開始できる。従って、より多く
の有効ビットがトランジスタMdlにおいてQ3上でゲ
ートされる。
次の低レベル有効ステージからのキャリ入力Md2が、
排他的NOR回路Md3の1つの入力に、及び、次の高
レベルのステージに対してキャリ出力Md5を発生する
キャリ出力ゲートMd4に加えられる。論理ゲー)Md
6によって入力Me及びキャリ・インから伝播期間が発
生し、Mdl付きの論理ゲートMd7によってキャリ発
生期間か発生する。同じ出力Md8がラインMd9によ
ってPレジスタ・ステージの入力に接続され、トランジ
スタPaによるQ4上のIDIからの#LPR(Pレジ
スタにロード)によってゲートされる。PレジスタT・
ステージは、1対のインバータIa及びQ2上でゲート
される再循環トランジスタRcから成る。出力は、イン
バータPcとともに、1つの入力としてのrDIからの
#NRPR(Pレジスタの読出しなし)を有するゲー1
− P bによってQl上でALU−b入力に加えられ
る。トランジスタPbはQ4上でALU−1)人力をプ
リチャージする。
排他的NOR回路Md3の1つの入力に、及び、次の高
レベルのステージに対してキャリ出力Md5を発生する
キャリ出力ゲートMd4に加えられる。論理ゲー)Md
6によって入力Me及びキャリ・インから伝播期間が発
生し、Mdl付きの論理ゲートMd7によってキャリ発
生期間か発生する。同じ出力Md8がラインMd9によ
ってPレジスタ・ステージの入力に接続され、トランジ
スタPaによるQ4上のIDIからの#LPR(Pレジ
スタにロード)によってゲートされる。PレジスタT・
ステージは、1対のインバータIa及びQ2上でゲート
される再循環トランジスタRcから成る。出力は、イン
バータPcとともに、1つの入力としてのrDIからの
#NRPR(Pレジスタの読出しなし)を有するゲー1
− P bによってQl上でALU−b入力に加えられ
る。トランジスタPbはQ4上でALU−1)人力をプ
リチャージする。
乗算器演算のタイミングを第3C図の(N)〜(mm)
に示す。SOのQ2上で、レジスタTがロードされ、ブ
ースのデコーダからの出力Mcは妥当となる。MPY命
令がSlのQ3においてデコーダ内で妥当であるとする
と、DバスからのMi大入力SlのQ4において妥当で
ある。ダイナミック加算器Mdの低レベルのビットはS
2のQl上でMdlを介してMeをロードされ、そして
キャリが31ビツトの低レベルのものを通じてリップル
を開始し、次いでこれは高レベルの、出力Mfを通じて
S2のQ3において継続し、従ってレジスタPはPaを
介してS2のQ4上でロードされ、データは、後続のサ
イクルのQl上でALU−1にロードされるまで、該レ
ジスタに留まっている。
に示す。SOのQ2上で、レジスタTがロードされ、ブ
ースのデコーダからの出力Mcは妥当となる。MPY命
令がSlのQ3においてデコーダ内で妥当であるとする
と、DバスからのMi大入力SlのQ4において妥当で
ある。ダイナミック加算器Mdの低レベルのビットはS
2のQl上でMdlを介してMeをロードされ、そして
キャリが31ビツトの低レベルのものを通じてリップル
を開始し、次いでこれは高レベルの、出力Mfを通じて
S2のQ3において継続し、従ってレジスタPはPaを
介してS2のQ4上でロードされ、データは、後続のサ
イクルのQl上でALU−1にロードされるまで、該レ
ジスタに留まっている。
以上、本発明をその実施例について説明したが、本発明
はこの実施例に限定されるものではない。
はこの実施例に限定されるものではない。
以上の説明から、当業者には上述の実施例についての種
々の変形及び本発明についての他の態様が可能である。
々の変形及び本発明についての他の態様が可能である。
かかる変形または態様は全て、特許請求の範囲に記載の
如き本発明の真の範囲内にある。
如き本発明の真の範囲内にある。
第1図は本発明にかかる「マイクロコンピュータ・シス
テムのブロック図、第2図は第1図のシステムに使用す
るMO3/Liマイクロコンピュータ装置(CPUまた
は中央処理装置を含む)のブロック図、第3A図ないし
第3C図は第2図のマイクロコンピュータの演算におけ
る電圧または事象対時間の関係を示すタイミングチャー
ト、第4八図ないし第4D図は第2図のマイクロコンピ
ュータ装置における特定の回路の路線図である。 10 ・ マイクロコンピュータ、 11 ・・・・ メモリ、 12−−・・・ I10装置、 13、・・・−・・制御バス、 14 °・・ リード・オンリ・メモリ(ROM)、1
5 ゛・” ランダム・アクセス・メモリ、17 ・・
クロック発生器。
テムのブロック図、第2図は第1図のシステムに使用す
るMO3/Liマイクロコンピュータ装置(CPUまた
は中央処理装置を含む)のブロック図、第3A図ないし
第3C図は第2図のマイクロコンピュータの演算におけ
る電圧または事象対時間の関係を示すタイミングチャー
ト、第4八図ないし第4D図は第2図のマイクロコンピ
ュータ装置における特定の回路の路線図である。 10 ・ マイクロコンピュータ、 11 ・・・・ メモリ、 12−−・・・ I10装置、 13、・・・−・・制御バス、 14 °・・ リード・オンリ・メモリ(ROM)、1
5 ゛・” ランダム・アクセス・メモリ、17 ・・
クロック発生器。
Claims (8)
- (1)半導体基板上に形成されたデジタル信号処理のた
めのマイクロコンピュータ装置であって、外部へのデー
タ転送及びアドレス出力のための端子と、 データ入力及びデータ出力を有する演算論理ユニットと
、 アドレス入力と、データ入力及びデータ出力のための手
段とを有するメモリと、 前記演算論理ユニットのデータ入力及びデータ出力に、
前記メモリのデータ入力及びデータ出力のための手段に
接続された内部バスと、命令に応答して、前記演算論理
ユニットの動作、並びに前記端子、前記内部バス及び前
記メモリの間のデータ転送を定義する制御信号を発生す
るための制御回路手段と、 前記演算論理ユニットと前記内部バスに接続された乗算
回路と を含むマイクロコンピュータ装置。 - (2)内部バスが命令バスを含み、メモリがプログラム
メモリ回路を含み、このプログラムメモリ回路は、命令
ビットを前記命令バスに置きプログラムカウンタビット
を前記命令バスから受けるために前記内部バスに各々接
続された命令レジスタ及びプログラムカウンタと、アド
レスビットを転送するため前記プログラムカウンタに選
択的に接続されるアドレス端子と、情報ビットを前記バ
スに転送するため選択的に接続されるデータ端子とを含
む特許請求の範囲第1項記載のマイクロコンピュータ装
置。 - (3)内部バスが、前記基板の一部を横切って延びデー
タビットを並列転送可能な複数の導体を含むデータバス
と、命令ビットを並列転送可能な複数の導体を含む命令
バスとを含み、メモリがプログラムメモリ回路とデータ
メモリ回路を含み、このプログラムメモリ回路は、命令
ビットを前記命令バスに置きプログラムカウンタビット
を前記命令バスから受けるために前記命令バスに各々接
続された命令レジスタ及びプログラムカウンタと、アド
レスビットを転送するため前記プログラムカウンタに選
択的に接続されるアドレス出力用端子とを含み、データ
転送端子が、データビットを前記データバスとの間で転
送するため選択的に接続され、命令ビットを前記命令バ
スへ転送するため選択的に接続されている特許請求の範
囲第1項記載のマイクロコンピュータ装置。 - (4)乗算回路が2つの入力を有し、この各入力で前記
内部バスから2つの数を受け、制御信号に応答してこれ
らの2つの数を乗算し、2演算サイクル以内に出力に積
を発生する特許請求の範囲第1項記載のマイクロコンピ
ュータ装置。 - (5)半導体基板上に形成されたデジタル信号処理のた
めのマイクロコンピュータ装置を有するマイクロコンピ
ュータシステムであって、 外部へのデータ転送及びアドレス出力のための端子と、 データ入力及びデータ出力を有する演算論理ユニットと
、 アドレス入力と、データ入力及びデータ出力のための手
段とを有するメモリと、 前記演算論理ユニットのデータ入力及びデータ出力に、
前記メモリのデータ入力及びデータ出力のための手段に
接続された内部バスと、命令に応答して、前記演算論理
ユニットの動作、並びに前記端子、前記内部バス及び前
記メモリの間のデータ転送を定義する制御信号を発生す
るための制御回路手段と、 前記演算論理ユニットと前記内部バスに接続された乗算
回路と、 前記端子と接続された外部装置と を含むマイクロコンピュータシステム。 - (6)制御回路手段が外部供給モード信号に応答する手
段を含み、第1モードでアドレスを命令のため前記メモ
リに送り命令を実行し、第2モードでアドレスを外部供
給のため前記端子に送る特許請求の範囲第1項記載のマ
イクロコンピュータ装置。 - (7)制御回路手段が、命令サイクルで種々の命令を実
行するための手段を含み、前記命令は各々種々の機能の
シーケンスを含み、各命令につき3つ以上の機能を実行
することによって、命令の実行が1命令サイクルの間に
オーバラップしてなされる特許請求の範囲第1項記載の
マイクロコンピュータ装置。 - (8)演算論理ユニットが、前記バスが並列転送できる
第二のビット数を越える第一のビット数を並列転送する
出力を有し、制御回路手段が、種々の機能を実行し、前
記第二の数を越えないビット数の種々のビット群を前記
演算論理ユニットから前記バスに供給するための手段を
含む特許請求の範囲第1項記載のマイクロコンピュータ
装置。
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US34786082A | 1982-02-11 | 1982-02-11 | |
| US06/347,859 US4538239A (en) | 1982-02-11 | 1982-02-11 | High-speed multiplier for microcomputer used in digital signal processing system |
| US350852 | 1982-02-22 | ||
| US347860 | 1982-02-22 | ||
| US06/350,852 US4577282A (en) | 1982-02-22 | 1982-02-22 | Microcomputer system for digital signal processing |
| US347859 | 1982-02-22 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23503682A Division JPH079646B2 (ja) | 1982-02-11 | 1982-12-28 | マイクロコンピュ−タ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02186487A true JPH02186487A (ja) | 1990-07-20 |
| JPH079649B2 JPH079649B2 (ja) | 1995-02-01 |
Family
ID=27407800
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23503682A Expired - Lifetime JPH079646B2 (ja) | 1982-02-11 | 1982-12-28 | マイクロコンピュ−タ装置 |
| JP1306365A Expired - Lifetime JPH079649B2 (ja) | 1982-02-11 | 1989-11-24 | マイクロコンピュータ装置 |
| JP1306363A Expired - Lifetime JPH079647B2 (ja) | 1982-02-11 | 1989-11-24 | マイクロコンピュータ装置 |
| JP1306364A Expired - Lifetime JPH079648B2 (ja) | 1982-02-11 | 1989-11-24 | マイクロコンピュータ装置 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23503682A Expired - Lifetime JPH079646B2 (ja) | 1982-02-11 | 1982-12-28 | マイクロコンピュ−タ装置 |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1306363A Expired - Lifetime JPH079647B2 (ja) | 1982-02-11 | 1989-11-24 | マイクロコンピュータ装置 |
| JP1306364A Expired - Lifetime JPH079648B2 (ja) | 1982-02-11 | 1989-11-24 | マイクロコンピュータ装置 |
Country Status (3)
| Country | Link |
|---|---|
| EP (3) | EP0086307B1 (ja) |
| JP (4) | JPH079646B2 (ja) |
| DE (3) | DE3280477T2 (ja) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3650374T2 (de) | 1985-02-12 | 1996-02-22 | Texas Instruments Inc., Dallas, Tex. | Mikroprozessor mit einer Blockübertragungsinstruktion. |
| GB2174517B (en) * | 1985-03-23 | 1990-01-10 | Burr Brown Ltd | Apparatus and method for utilizing an auxiliary data memory unit in a data processing system having separate program and data memory units |
| JPS6320676A (ja) * | 1986-07-15 | 1988-01-28 | Brother Ind Ltd | ワードプロセツサ |
| JP3043341B2 (ja) * | 1988-05-25 | 2000-05-22 | 日本電気株式会社 | マイクロコンピュータシステム |
| KR0136594B1 (ko) * | 1988-09-30 | 1998-10-01 | 미다 가쓰시게 | 단일칩 마이크로 컴퓨터 |
| JPH05197526A (ja) * | 1991-08-28 | 1993-08-06 | Toshiba Corp | 乗算回路 |
| JP3231429B2 (ja) * | 1992-11-06 | 2001-11-19 | 株式会社日立製作所 | 中央処理装置と乗算器とを有する半導体集積回路装置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5418646A (en) * | 1977-07-08 | 1979-02-10 | Xerox Corp | Ic microprocessor chip |
| JPS5459851A (en) * | 1977-07-15 | 1979-05-14 | Mostek Corp | Single chip mos*lsi microcomputer |
| JPS5685157A (en) * | 1979-12-15 | 1981-07-11 | Toshiba Corp | Information processor |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US253624A (en) | 1882-02-14 | Weed and lawn mower | ||
| US3757306A (en) * | 1971-08-31 | 1973-09-04 | Texas Instruments Inc | Computing systems cpu |
| US3757308A (en) | 1971-09-03 | 1973-09-04 | Texas Instruments Inc | Data processor |
| US3984816A (en) | 1973-05-16 | 1976-10-05 | Texas Instruments, Inc. | Expandable function electronic calculator |
| US3900722A (en) | 1973-09-13 | 1975-08-19 | Texas Instruments Inc | Multi-chip calculator system having cycle and subcycle timing generators |
| US3934233A (en) | 1973-09-24 | 1976-01-20 | Texas Instruments Incorporated | Read-only-memory for electronic calculator |
| US3921142A (en) | 1973-09-24 | 1975-11-18 | Texas Instruments Inc | Electronic calculator chip having test input and output |
| US3932846A (en) | 1973-09-24 | 1976-01-13 | Texas Instruments Incorporated | Electronic calculator having internal means for turning off display |
| US3991305A (en) | 1974-11-19 | 1976-11-09 | Caudel Edward R | Electronic calculator or digital processor chip with multiple code combinations of display and keyboard scan outputs |
| US3939335A (en) | 1974-11-26 | 1976-02-17 | Texas Instruments Incorporated | Universal condition latch in an electronic digital calculator |
| US4074351A (en) | 1974-12-02 | 1978-02-14 | Texas Instruments Incorporated | Variable function programmed calculator |
| JPS5197349A (en) * | 1975-02-24 | 1976-08-26 | Deeta shifutohoshiki | |
| GB1540923A (en) * | 1975-12-01 | 1979-02-21 | Intel Corp | Programmable single chip mos computer |
| US4179734A (en) * | 1976-07-02 | 1979-12-18 | Floating Point Systems, Inc. | Floating point data processor having fast access memory means |
| US4156927A (en) | 1976-08-11 | 1979-05-29 | Texas Instruments Incorporated | Digital processor system with direct access memory |
| US4125901A (en) | 1976-10-27 | 1978-11-14 | Texas Instruments Incorporated | Electronic calculator or microprocessor having a multi-input arithmetic unit |
| US4158432A (en) | 1976-12-10 | 1979-06-19 | Texas Instruments Incorporated | Control of self-test feature for appliances or electronic equipment operated by microprocessor |
| JPS5694589A (en) * | 1979-12-27 | 1981-07-31 | Nec Corp | Memory device |
| US4495593A (en) * | 1982-07-01 | 1985-01-22 | Hewlett-Packard Company | Multiple bit encoding technique for combinational multipliers |
-
1982
- 1982-12-23 DE DE19823280477 patent/DE3280477T2/de not_active Expired - Lifetime
- 1982-12-23 DE DE3280481T patent/DE3280481D1/de not_active Expired - Lifetime
- 1982-12-23 EP EP82306902A patent/EP0086307B1/en not_active Expired - Lifetime
- 1982-12-23 EP EP90100185A patent/EP0377466B1/en not_active Expired - Lifetime
- 1982-12-23 DE DE3280476T patent/DE3280476T2/de not_active Expired - Lifetime
- 1982-12-23 EP EP90100186A patent/EP0392133B1/en not_active Expired - Lifetime
- 1982-12-28 JP JP23503682A patent/JPH079646B2/ja not_active Expired - Lifetime
-
1989
- 1989-11-24 JP JP1306365A patent/JPH079649B2/ja not_active Expired - Lifetime
- 1989-11-24 JP JP1306363A patent/JPH079647B2/ja not_active Expired - Lifetime
- 1989-11-24 JP JP1306364A patent/JPH079648B2/ja not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5418646A (en) * | 1977-07-08 | 1979-02-10 | Xerox Corp | Ic microprocessor chip |
| JPS5459851A (en) * | 1977-07-15 | 1979-05-14 | Mostek Corp | Single chip mos*lsi microcomputer |
| JPS5685157A (en) * | 1979-12-15 | 1981-07-11 | Toshiba Corp | Information processor |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0086307A2 (en) | 1983-08-24 |
| EP0377466A1 (en) | 1990-07-11 |
| DE3280477T2 (de) | 1998-02-12 |
| JPH079647B2 (ja) | 1995-02-01 |
| JPH079649B2 (ja) | 1995-02-01 |
| DE3280476T2 (de) | 1997-06-12 |
| EP0392133A1 (en) | 1990-10-17 |
| DE3280477D1 (de) | 1997-11-13 |
| EP0377466B1 (en) | 2000-03-08 |
| EP0086307B1 (en) | 1997-02-26 |
| JPH079646B2 (ja) | 1995-02-01 |
| EP0086307A3 (en) | 1986-11-05 |
| EP0392133B1 (en) | 1997-10-08 |
| DE3280476D1 (de) | 1997-04-03 |
| JPH02186486A (ja) | 1990-07-20 |
| DE3280481D1 (de) | 2000-04-13 |
| JPS58163060A (ja) | 1983-09-27 |
| JPH02186485A (ja) | 1990-07-20 |
| JPH079648B2 (ja) | 1995-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4577282A (en) | Microcomputer system for digital signal processing | |
| US4514805A (en) | Interrupt operation in systems emulator mode for microcomputer | |
| US4538239A (en) | High-speed multiplier for microcomputer used in digital signal processing system | |
| US4491910A (en) | Microcomputer having data shift within memory | |
| US4677586A (en) | Microcomputer device having test mode substituting external RAM for internal RAM | |
| US4498135A (en) | Microcomputer with accumulator addressing | |
| US4713749A (en) | Microprocessor with repeat instruction | |
| US4713748A (en) | Microprocessor with block move instruction | |
| US5638524A (en) | Digital signal processor and method for executing DSP and RISC class instructions defining identical data processing or data transfer operations | |
| US4402042A (en) | Microprocessor system with instruction pre-fetch | |
| US4608634A (en) | Microcomputer with offset in store-accumulator operations | |
| US4868784A (en) | Microcomputer with a multi-channel serial port having a single port address | |
| US4503500A (en) | Microcomputer with bus interchange module | |
| US4533992A (en) | Microcomputer having shifter in ALU input | |
| JPS638490B2 (ja) | ||
| US4586131A (en) | Microcomputer having data move circuits for within-memory shift of data words | |
| US4494187A (en) | Microcomputer with high speed program memory | |
| JPH02186487A (ja) | マイクロコンピュータ装置 | |
| US4528625A (en) | Input/output instruction execution in microcomputer | |
| US4506322A (en) | Read/write memory cell for microcomputer | |
| EP0226991B1 (en) | Data-processing device | |
| US4519031A (en) | Microcomputer with accumulator saturation upon overflow | |
| US4558232A (en) | Level detector circuit for microcomputer devices | |
| US6000025A (en) | Method of signal processing by contemporaneous operation of ALU and transfer of data | |
| US4514801A (en) | Microcomputer with table-read and table-write instructions |