JPH079646B2 - マイクロコンピュ−タ装置 - Google Patents

マイクロコンピュ−タ装置

Info

Publication number
JPH079646B2
JPH079646B2 JP23503682A JP23503682A JPH079646B2 JP H079646 B2 JPH079646 B2 JP H079646B2 JP 23503682 A JP23503682 A JP 23503682A JP 23503682 A JP23503682 A JP 23503682A JP H079646 B2 JPH079646 B2 JP H079646B2
Authority
JP
Japan
Prior art keywords
instruction
bus
data
bit
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.)
Expired - Lifetime
Application number
JP23503682A
Other languages
English (en)
Other versions
JPS58163060A (ja
Inventor
エドワ−ド・ア−ル・コ−デル
サレンダ−・エム・マガ−
Original Assignee
テキサス インストルメンツ インコ−ポレ−テッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US06/347,859 external-priority patent/US4538239A/en
Priority claimed from US06/350,852 external-priority patent/US4577282A/en
Application filed by テキサス インストルメンツ インコ−ポレ−テッド filed Critical テキサス インストルメンツ インコ−ポレ−テッド
Publication of JPS58163060A publication Critical patent/JPS58163060A/ja
Publication of JPH079646B2 publication Critical patent/JPH079646B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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/7814Specially adapted for real time processing, e.g. comprising hardware timers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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/5338Reduction 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements 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)

Description

【発明の詳細な説明】 本発明は集積形の半導体装置及びシステム、特にマイク
ロプロセツサ・システム、マイクロコンピユータ装置及
びマイクロプロセツサ装置に関し、更に詳細には、単一
チツプ・マイクロコンピユータ形式の高速度の小形化さ
れた電子的デイジタル信号処理システムという特徴を有
するものである。
マイクロプロセツサ装置は、米国特許第3,757,306号に
示されているように、「MOS/LSI」法によつて製作され
る単一の半導体集積回路または「チツプ」内に通例包含
されるデイジタル・プロセツサのための中央処理装置す
なわちCPUである。この米国特許には、並列型演算/論
理ユニツト(以下ALUともいう)、データ及びアドレス
のためのレジスタ、命令レジスタ及び制御デコーダを含
む単一チツプ形8ビツトCPUが示されており、上記諸部
材は全てフオン・ノイマン(Von Neuman)構造を用いて
相互接続されており、そして、データ、アドレス及び命
令のための双方向並列バスを使用している。米国特許第
4,074,351号には単一チツプ「マイクロコンピユータ」
型の装置が示されており、該装置は、プログラム記憶の
ためのオンチツプROM及びデータ記憶のためのオンチツ
プRAMとともに4ビツト並列ALU及びその制御回路を有し
てハーバード(Harvard)構造に構成されている。マイ
クロプロセツサなる語は、通例、プログラム及びデータ
記憶のために外部メモリを使用する装置を指し、一方、
マイクロコンピユータなる語は、プログラム及びデータ
記憶のためにオンチツプROM及びRAMを有する装置を指
す。しかし、これら用語はまた互換的に用いられてお
り、本発明の若干の特徴については制限的なものではな
い。
米国特許第3,757,306号及び第4,074,351号が最初に出願
された1971年以来、マイクロプロセツサ及びマイクロコ
ンピユータにおいて、これら装置の速度及び能力を増大
し且つ製造費を低減するために多くの改良が行なわれて
おり、より小さい空間、即ちより小さいチツプ大きさ内
により多くの回路及び機能を提供するようになつてきて
いる。改良されたVLSI半導体処理及び写真食刻法によ
り、より狭い線巾及びより高い解像度が可能となり、回
路密度の増大及びより高い速度が得られているが、回路
及びシステムの改良はまた、より小さいチツプ大きさを
もつて増大した性能を得るという目標に寄与するもので
ある。マイクロコンピユータにおけるこれら改良のうち
のいくつかは、米国特許第3,991,305号、第4,156,927
号、第3,934,233号、第3,921,142号、第3,900,722号、
第3,932,846号、第3,939,335号、第4,125,901号、第4,1
58,432号、第3,757,308号、及び第3,984,816号に開示さ
れている。これら米国特許に記載されている装置はハー
バード構造であつて4ビツト型であり、計算器及び制御
器への適用に特に好適する。
この技術の発展に伴うマイクロプロセツサ及びマイクロ
コンピユータ装置の更に他の例が種々の出版物に記載さ
れている。即ち、1972年9月25日のエレクトロニクス
(Electronics)誌の第31頁ないし第32頁には、オンチ
ツプROM及びRAMを有する4ビツト・PチヤネルMOS形マ
イクロコンピユータが示されており、このマイクロコン
ピユータは米国特許第3,991,305号に類似したものであ
る。米国特許第3,757,306号のマイクロプロセツサに類
似する最も広く用いられている8ビツト・マイクロプロ
セツサの二つの例が、1974年4月18日のエレクトロニク
ス誌の第88頁ないし第95頁に(モトローラ(Motorola)
6800型)、及び第95頁ないし第100頁に(インテル(Int
el)8080型)記載されている。6800型のマイクロコンピ
ユータが1978年2月2日のエレクトロニクス誌の第95頁
ないし第103頁に記載されている。同様に、8080型の単
一チツプ・マイクロコンピユータが1976年11月25日のエ
レクトロニクス誌の第99頁ないし第105頁に示されてい
る。他の単一チツプ・マイクロコンピユータであるモス
テツク(Mostek)3872型が1978年5月11日のエレクトロ
ニクス誌の第105頁ないし第110頁に示されており、また
6800型の改良型が1979年9月17日のエレクトロニクス誌
の第122頁ないし第125頁に開示されている。「9900フア
ミリ・システムズ・デザイン」(9900 Family Systems
Design)なる書名の書籍に記載されているパーツ番号TM
S 9900のような、ミニコンピユータ命令セツトを基礎と
する16ビツト・マイクロプロセツサが発展してきてい
る。上記書籍は、米国、テキサス洲77001、ヒユースト
ン市、M/S6404、私書箱1443のテキサス・インストルメ
ンツ社(Texas Instruments Incorporated)から1978年
に発刊されたものであり、米国議会図書館のカタログ番
号78−058005となつている。8080型から発展した16ビツ
ト・マイクロプロセツサである8086型が1978年2月16日
のエレクトロニクス誌の第99頁ないし第104頁に記載さ
れており、また、68000型(6800型を基礎としたもの)
なる16ビツト・マイクロプロセツサが、1978年9月1日
のエレクトロニツク・デザイン(Electronic Design)
誌の第100頁ないし第107頁に、及びIEEEコンピユータ
(IEEE Computer)誌、第12巻、第2号(1979年)の第4
3頁ないし第52頁に記載されている。
これら従来の8ビツト及び16ビツトのマイクロプロセツ
サ及びマイクロコンピユータは多重アドレス/データバ
スを有するフオン・ノイマン(Von Neumann)構造の汎
用処理装置であり、そのうちの若干は、ガタグ(Gutta
g)、マクドナフ(McDonough)及びローズ(Laws)によ
る1980年11月24日出願の米国特許出願第209,915号、ま
たはヘイン(Hayn)、マクドナフ及びベレイ(Bellay)
による1981年4月13日出願の米国特許出願第253,624号
(いずれもテキサス・インストルメンツ社に譲渡されて
いる)において、及びIEEEスペクトラム(IEEE Spectru
m)誌、1979年3月号の第28頁ないし第34頁にマクケビ
ツト(Mckevitt)及びベイリス(Bayliss)により、ま
たは1979年12月の第11回年次マイクロプログラミング研
究会会報(Proceedings 11 th Annual Microprogrammin
g Workshop)にステインタ(Stintter)及びトレデニツ
ク(Tredenick)によつて記載されているように、マイ
クロコード式となつている。マイクロコーデイングは、
最初1951年にウイルケス(Wilkes)が述べたものであ
り、命令語によつて入れられるマイクロ命令シーケンス
を記憶するために制御ROMを用いる。プログラマは高い
レベルの機械語でプログラムを書く。従つて、アセンブ
リ言語コード文の数を減らすことができ、従つて、プロ
グラム作成費が低減する。
これに対して、本発明の特徴は、以降に説明する実施例
に従つて専用高速度マイクロコンピユータ装置に好まし
く採用できるものであり、この実施例は、速度及び性能
上のかなりの利点を得るために、いくつかの主要な点に
おいて上記従来のマイクロプロセツサ装置と異なつてい
る。この本発明装置は、一般に、ハーバード構造を変形
した非マイクロコード式処理装置である。
本発明の主目的は、改良された特徴を有するマイクロコ
ンピユータ装置及びシステム、特にリアルタイム・デイ
ジタル信号処理等に好適するマイクロコンピユータ装置
及びシステムを提供することにある。本発明の他の目的
は、能力を増強した高速度マイクロコンピユータを提供
することにある。
概略説明すると、本発明の一実施例によれば、本発明の
諸特徴は、プログラム及びデータのための別々のアドレ
ス及びデータ経路とともに別々のオンチツプ形プログラ
ムROM及びデータRAMを有する単一チツプ形マイクロコン
ピユータ装置を用いるリアルタイム・デイジタル信号処
理のためのシステムに含まれている。外部プログラムア
ドレスバスがあるので、操作符号を外部データバスによ
つて復帰させた状態で、延長モードにおいてオフチツプ
・プログラム取出しを行なうことができる。バス交換モ
ジユールにより、特殊の環境における別々の内部プログ
ラム及びデータバス相互間の転送ができる。内部バスは
16ビツトであり、一方、ALU及びアキユムレータは32ビ
ツトである。乗算回路が、ALUに対する32ビツト出力を
もつて、ALUと別に単一ステートの16×16乗算機能を行
なう。ALUに対する一つの入力が符号拡張をもつて0な
いし15ビツト・シフタを通過する。
本発明の新規な特徴及び特性は特許請求の範囲に記載し
た如きである。しかし、本発明それ自体並びに本発明の
他の特徴及び利点は図面を参照して行なう以下の詳細な
説明から理解できる。
以下、具体的な実施例について詳細に説明する。
マイクロプロセツサ ここに説明するマイクロコンピユータ装置は、主として
信号処理のために使用されるが、その概念はいろいろな
形態のプロセツサ装置に使用することができ、それらの
プロセツサ装置は多くの様々なシステムに使用すること
ができる。すなわち、1実施例では、マイクロコンピユ
ータは第1図に一般化した形式で示したシステムに使用
されている。そのシステムは、たとえば、音声通信シス
テム、音声分析システム、小型の“個人用”または“家
庭用”コンピユータ、単一ボード汎用マイクロコンピユ
ータ、ワードプロセツサ、デイスプレイとタイプライタ
形キーボードを備えていてローカル処理能力を有するコ
ンピユータ端末装置、あるいはいろいろなタイプの多く
の応用のうちのひとつであつてもよい。システムは、後
述する単一チツプMOS/LSI中央処理ユニツト(以下CPUと
もいう)すなわちマイクロコンピユータ10、プログラム
またはデータ記憶装置11、および入出力装置すなわちI/
O装置12を有している。一般に、代表的なシステムのI/O
装置12は、アナログ・デジタル変換器および(または)
デジタル・アナログ変換器、モデム、キーボード、CRT
デイスプレイ、デイスク駆動装置等を有している。I/O
装置12は汎用プロセツサに対する結合部を備えているも
のが多い。すなわち、マイクロコンピユータ10はI/O装
置12を介してインタフエースされより大きなシステムに
おける付加プロセツサになる。マイクロコンピユータ1
0、プログラムデータ記憶装置11およびI/O装置12は、2
個のマルチビツト並列のアドレス・バスRAとデータ・バ
スD、および制御バス13によつて相互に連絡されてい
る。マイクロコンピユータ10は適当な供給電圧と水晶入
力端子を有している。たとえば、マイクロコンピユータ
10は単相+5Vの供給電圧Vddと接地Vssを用いており、マ
イクロコンピユータ10の端子X1とX2には一定のシステム
調時を制御する水晶が接続されている。マイクロコンピ
ユータ10は20MHzの水晶入力をもつ非常に高速な装置で
あつて、ある実施例の場合、毎秒500万回の命令実行速
度を備えている。
マイクロコンピユータ10は、デジタル・フイルタリン
グ、テレコミユニケーシヨン・モデム(変調、復調)の
ための信号処理、線形予測コード(LPC)音声信号のデ
ータ圧縮、高速フーリエ変換、など大規模な逐次信号処
理問題に役立つことを特にねらつており、また、一般
に、検出信号発生、混合、位相トラツキング、角度測
定、フイードバツク制御、刻時回復、相関、たたみ込み
あるいは合成(couvolution)等を含む集中的アナログ
システム機能のほとんどすべての計算に向いている汎用
マイクロコンピユータである。さらに、マイクロコンピ
ユータ10は、座標変換、定数係数をもつ線形微分方程式
の解、平均等など制御や信号処理のための計算要求と同
様な計算要求をもつ用途に対して使用できる。マイクロ
コンピユータ10は、後で説明するように、普通は、I/O
装置12を介して99000、8600あるいは68000などの汎用プ
ロセツサにインタフエースされ、処理システムを構成す
る。
好ましい実施例では、オンチツプ・プログラムROM14お
よびデータRAM15を有するマイクロコンピユータについ
て説明するが、本発明のいくつかの概念は、図示したオ
ンチツプ記憶装置の代りにすべてオフチツプのプログラ
ム記憶装置および(または)データ記憶装置である単一
チツプ・マイクロプロセツサに使用できる。もつとも、
オンチツプ記憶装置を使用禁止にする操作モードが準備
されている。マイクロコンピユータ10は、現在一般的で
ある多重化双方向バスの代りに、2個の独立した外部プ
ログラム・アドレス・バスとデータバスをもつように図
示してあるが、ここに開示したいくつかの特徴は、バス
が多重化されていても利用することができる。バスを分
離することおよびプログラム記憶装置とデータ記憶装置
とを分離することの利点は、処理速度である。
一般に、第1図のシステムは次のように機能する。すな
わち、マイクロコンピユータ10は、内部でROM14をアク
セスすることによつて、あるいは外部にROMアドレス・
バスRA(および制御バス13のRCLK-)を通じて記憶装置1
1へアドレスを送ることによつて命令語を取り出す。も
し外部であれば、記憶装置11のアドレスされたロケーシ
ヨンからデータ・バスDを通して命令語を受け取る。こ
の命令は、次のマシン・サイクル(20MHzのクロツクす
なわち水晶X1,X2により定義される200ナノ秒の長さをも
つ)において実行される一方、新しい命令が取り出され
る。命令の実行は、オペランドのためオンチツプRAM15
をアクセスすること、または結果をデータRAM15へ書き
込むこと、およびALU内での演算または論理操作が含ま
れる。
実施例について詳細に述べると、内部でROM14へ、また
は外部でRAバスに加えられた12ビツトの命令アドレス
は、ROM14や記憶装置11内の212すなわち4K語のプログラ
ム命令または定数を直接アドレスする。記憶装置11から
読み取つているとき、DEN-(データ・バス使用許可バ
ー)指令が制御バス13上に表明される。また、記憶装置
11に書き込むことも可能であり、このために、WE-(書
込み許可バー)指令がマイクロコンピユータ10によつて
制御バス13の1つに表明される。WE-指令が書込み機能
を許可するように、記憶装置11はそのアドレス空間のい
くつかまたはすべてに読取り/書込み記憶装置を含むこ
とができる。
I/O装置12は、ポートとしてアドレスされる。外部の装
置12に対する、このインタフエースはアドレス・バスR
A、データ・バスDおよび制御バス13を使つてなされ
る。しかし、I/O装置12は、記憶装置11のような論理ア
ドレス空間内にロケーシヨンを占めることはない。これ
は、通常の記憶域割当形I/O装置とは対照的である。
I/Oすなわち周辺装置12を通すデータの入出力は、周辺
装置12内の8個の16ビツトポートP0−P7の1つを選択す
るためバスRAからの3ビツトフイールドのRApを使用す
る。各ポートはDEN−またはWE−指令によつて入力また
は出力のいずれかに定義することができるから、実質
上、インが8個、アウトが8個、計16個の16ビツト部が
ある。選択された16ビツト・ポートはRApとDEN−(また
はWE−)によつてアドレスされ、そのあと、バスDを通
して読取りまたは書込みのためアクセスされる。この操
作は2つの命令INまたはOUTの一方を使用する。すなわ
ち、制御バス13上のWE−は書込みすなわちOUTの場合に
使用され、またDEN−は読取りすなわちINの場合に使用
される。制御バス13上のROMクロツクRCLKは、DEN−また
はWE−のどちらかが使用中であるときを除きどのマシン
サイクルにおいても使用される。すなわち、記憶装置11
は、各マシンサイクルにおいてオフチツプからの予想さ
れる命令語のアクセスのためRCLK−によつて起動され
る。しかし、もしDEN−またはWE−を使つて周辺装置12
をアクセスする場合には、RCLK−は生じない。
制御バス13上のリセツト信号RS−は、プログラム・カウ
ンタとアドレス・バスRAをクリヤし(ゼロにリセツトす
る)、データ・バスDを高インピーダンス状態にセツト
し、そして記憶装置制御指令DEN−,WE−およびRCLK−を
非使用(高)状態にセツトする。マイクロコンピユータ
10内のすべてのアドレス・レジスタおよび一時データ・
レジスタは、ROM14内のリセツト・ルーチンによつてク
リヤされるが、内部のRAMはクリヤされない。このよう
にして、周辺装置12(主プロセツサなど)は制御を表明
する、すなわち始動またはパワーオンの手順を開始する
ことができる。
制御バス13上の割込み信号INT−は、マイクロコンピユ
ータ10に実行を停止させ(現在のROMアドレスを保存す
る)、そして割込みがプログラムによつてマスクされな
い限り、割込みベクトルアドレスに向かわせる。
制御バス13上のME/SE−は、マイクロコンピユータ10に
対し記憶装置拡張モードかシステム・エミユレータ・モ
ードかを定義する。このピンが高電圧(+Vccに)に保
たれているとき、マイクロコンピユータはオンチツプRO
Mとオフチツプ記憶装置11からの命令を実行する。しか
し、低電圧(Vss)のときは、マイクロ・コンピユータ1
0はシステム・エミユレータ・モードであり、実行はPRO
M、EPROMまたはRAMである記憶装置11からの命令のみで
なされるから、プログラムを容易に変更することができ
る。
マイクロコンピユータ・チツプ マイクロコンピユータ10の内部構成を、第2図に詳細な
ブロツク・ダイヤグラムで示す。この装置は、標準形40
ピン・デユアル・インライン・パツケージすなわちチツ
プ支持体に取り付けた単一チツプ半導体集積回路であ
る。パツケージの16本のピンすなわち端子は16ビツトデ
ータ・バスDのために使われ、12本はアドレス・バスRA
のために使われ、残りの端子は電力源Vdd,Vss、水晶X1,
X2、および制御バス13のために使われる。
プログラム記憶装置14およびデータ記憶装置15のほか
に、マイクロコンピユータ10は、第1図のシステムに対
する中央処理ユニツトすなわちCPUを有している。このC
PUは、32ビツト演算/論理ユニツトALU、オペランドと
結果を保持するための32ビツト・アキユムレータAcc、A
LUから独立している乗算器M、ALUに対し1つの入力で
あるシフタS、状態すなわち標識デコーダSD、および現
在の命令語を受け取つてCPUおよびマイクロコンピユー
タ10のデータ記憶部に対し制御ビツトを発生する命令デ
コーダID1を含んでいる。
プログラム記憶装置14は、該装置をアクセスするために
使われた、あるいはバスRAを通して記憶装置11へ送られ
た、命令アドレスを保持するプログラム・カウンタPC、
装置14から命令語を受け取る命令レジスタIR、プログラ
ム記憶装置アドレスを保存するスタツクST、および現在
の命令語を受け取つてマイクロコンピユータのプログラ
ム記憶部に対し制御ビツトを発生する命令デコーダID2
に関連している。命令デコーダID1とID2は、組合せて1
個のより大きな制御ROMにすることもできるし、あるい
はより小さなPLAまたはランダム論理に分割できること
はもちろんである。
データ記憶装置15に関連しているのは、データ記憶装置
15に対する2個の補助アドレス・レジスタAR0,AR1、デ
ータ記憶装置アドレスとして使用されレジスタAR0とAR1
を選択するページ・レジスタARP、データ記憶装置アド
レスのいくつかのビツトを保持するデータ・ページ・バ
ツフアDPである。
CPUは、2個の内部バス、16ビツト・プログラム・バス
P−BUS、および16ビツトデータ・バスD−BUSの近くに
配置されている。プログラム・アクセスとデータ・アク
セスは、同時に起ることが可能であり、アドレス空間は
独立している。したがつて、マイクロコンピユータは、
ハーバード構成になつているが、バス交換モジユールBI
Mは、Accからプログラム・カウンタPCをローデイングす
ること、たとえば、P−BUS、BIM、およびD−BUSを通
して定数をROM14にアクセスすることを許す。
信号処理用マイクロコンピユータに対する二大要求は、
高速演算と柔軟性である。演算性能は、独立した主とな
るオンチツププログラムおよびデータ記憶装置14,15、
大きな単一アキユムレータAcc、および並列乗算器Mを
使用することによつて実現される。特殊な操作、データ
移動は、データ記憶装置15内で定義され、これはたたみ
込みまたは合成(以下単にたたみ込みと称する)操作に
おける性能を高めるものである。柔軟性は、後で表Aを
参照して説明するように命令セツトを定義すること、記
憶拡張を組み入れること、および単一レベルの割込みに
よつて得られている。
マイクロコンピユータは、たとえば、2Kすなわち211
以下のオンチツプ・プログラム記憶装置14で構成するこ
とができるが、その構成は、記憶装置11に外部プログラ
ム記憶装置を追加することにより4Kすなわち212まで記
憶拡張が可能である。加えて、独立したモードはマイク
ロコンピユータ10をシステム・エミユレーシヨン装置と
して構成することを許容し、この“システム・エミユレ
ータ”・モードの場合には、4Kの記憶空間全部が外部に
あつて、ROM14は使用されない。
中央処理ユニツトCPU 演算/論理ユニツトすなわちALUは、32の並列段から成
つており、各独立段はその二つの入力ビツトについて演
算または論理機能を行なつて、1ビツト出力とけた上げ
/けた下げ信号を出す。ALUを通過するデータに関して
行なわれる特定の機能は、プログラム・バスP−BUSに
よつて命令デコーダID1に加えられたIR内の現在の16ビ
ツト命令語によつて定義される。ALUは、二つの32ビツ
ト・データ入力ALU−a,ALU−bと、アキユムレータAcc
に対する32ビツト・データ出力ALU−oをもつている。A
LU−a入力は常にアキユムレータAccからであり、ALU−
b入力は常にシフタSまたは乗算器M内の32ビツト積レ
ジスタPのどちらかからである。ALU−b入力の送信側
は、入力選択回路ALU−sによつて定義され、回路ALU−
sは現在の命令語の内容すなわちデコーダID1の出力
Cに基いてこれら2つのうちから選択する。シフタS
は、D−BUSから16ビツトの入力Siを受け取つてゼロか
ら15位置左へシフトした32ビツトの出力Soを発生する。
左へシフトされたデータはゼロにされる、すなわち、デ
ータが左へシフトされるとすべての右側のビツト位置は
ゼロで満される。独特の特徴は、上位のビツトがシフト
操作において符号拡張されることである。ALUは2の補
数で動作する。シフタSは、ラインSpを通してP−BUS
からの4ビツト値でロードされるシフト制御装置Scを有
しており、演算命令はD−BUSからALU−b入力へ向う経
路においてシフトされるビツトの数を直接定義すること
ができる。
この説明においては、最下位ビツトすなわちLSBを右
側、最上位ビツトすなわちMSBを左側とみなすことにす
るから、左シフトはMSBに向つてである。ビツト0はMSB
であり、ビツト15はLSBである。データは、通常、この
構成において符号付きの2の補数で取り扱われる。
乗算器Mは、けた上げ正方向送り(フイードホワード)
を使用してダイナミツク/スタチツク論理で、ブース算
法を実行するように構成された16×16乗算器である。乗
算器Mに対する入力の1つは、Tレジスタである。Tレ
ジスタは、ラインTiを通してD−BUSから受け取つた被
乗数を一時記憶するための16ビツト・レジスタである。
他の16ビツト入力はラインMiを通るD−BUSからのもの
である。すなわち、この乗算器の入力は、データ記憶装
置15からでもよいし、あるいは命令語から直接導いた
(ロードされ、右そろえされ、そして符号拡張された)
15ビツトの乗算即時値であつてもよい。
ALUは、常にそのALU−a入力としてアキユムレータAcc
の内容を受け取つて、常にその出力をAcc内に記憶させ
る、すなわち、Accは常に最終受信地であり、かつ一次
オペランドでもある。ALUは加減算を行ない、また論理
積、論理和および排他的論理和の論理操作を行なう。論
理操作の結果はAccの下半分(ビツト16−31)とデータ
記憶装置15からの16ビツト値の間にある。データ記憶装
置の値はシフタS(ゼロシフトで)を通過するので、MS
Bの論理操作結果に対するオペランド(ビツト0〜15)
はゼロである。アキユムレータに入る最終的な32ビツト
の結果は、したがつて二つの部分になる。すなわち、ビ
ツト0〜15はゼロで論理積がなされた(または論理和等
がなされた)Accビツト0〜15であり、ビツト16〜31の
結果はデータ記憶装置の値で論理積等がなされたAccビ
ツト16〜31である。アキユムレータAccの出力は、32ビ
ツトALU−a入力に対するもののほかに、上位16ビツト
出力Acc−H(ビツト0〜15)と下位16ビツト出力Acc−
L(ビツト16〜31)がある。この上位および下位16ビツ
トAcc語をデータ記憶装置15に記憶させるために、別個
の命令SACH“アキユムレータ上位を記憶せよ”と命令SA
CL“アキユムレータ下位を記憶せよ”が用意されてい
る。
状態デコーダSDは、Accを更新する命令が実行されると
きは必らずAccを監視する。SDの4ビツトは、OV,L,G,Z
である。アキユムレータのオーバフロー(またはアンダ
フロー)は、OVビツトで指示され、ゼロより小さいAcc
の内容はLビツトで指示され、ゼロより大きいAccの内
容はGビツトで指示され、ゼロに等しいAccの内容はZ
ビツトで指示される。割込みがあると、OVビツトはオー
バフロー・フラツグ・レジスタ内に保存されるが、他の
ビツトは次のアキユムレータ命令が実行される時点まで
は利用することができる。
アキユムレータ・オーバフロー・モード・レジスタは、
直接プログラム制御を受けて信号処理計算における飽和
した結果を考慮した単一モード・レジスタOVM(SDに含
まれている)である。オーバフロー・モード・レジスタ
OVMがリセツトされると、オーバフローの結果は、ALU−
oを通して、修正なしにALUからアキユムレータAccにロ
ードされる。オーバフロー・モード・レジスタがセツト
されると、オーバフローの結果は、ALUの最大または最
小表示可能値にセツトされ、アキユムレータAccにロー
ドされる。最大値か最小値かは、オーバフロー・ビツト
の符号で決められる。これにより、信号処理の応用にお
いてAccの飽和した結果が容認され、アナログ信号の飽
和処理をモデル化することができる。
SD内の独立した状態ビツトは、現在使用されている補助
レジスタAR0またはAR1の状態を監視して、現在使用され
ている補助レジスタ(すなわち、ループ・カウンタ部
分)の9個のLSBがすべてゼロである状態を検出する。
このビツトは、補助レジスタがゼロでない場合の条件付
き分岐命令BARNZ、すなわち“補助レジスタがゼロでな
い場合分岐せよ”のために使用される。
入出力状態ビツトI/O ST−は、制御バスの一部である外
部ピンであつて、周辺装置12の状態を質問するため“I/
Oがゼロの場合分岐せよ”命令BIOZを与える。そのBIOZ
命令によつてサンプルされたとき、I/O ST−ピン上がゼ
ロ−レベルであれば分岐させる。
バス交換モジユールBIMは、D−BUS上の16ビツト値の下
位12ビツトと、P−BUS上の下位12ビツトとを交換す
る。この操作は、命令としてプログラマーが利用するこ
とはできない。しかし、テーブル探索命令TBLRAまたは
テーブル書込み命令TBLWなどの命令において、あるいは
Acc内の完成したアドレスをサブルーチン拡げるため使
用することができるアキユムレータ呼出し命令CALLAに
おいて、固有の操作として代りが必要である。P−BUS
上のIRからの16ビツト値は、RAM内に記憶させるため、
たとえばテーブル読取りのため、BIMを通してD−BUSに
ロードすることができる。
プログラム記憶装置のアドレス指定 プログラム記憶装置14は、命令レジスタIRに対し16ビツ
ト出力を発生するため16に区分されたROMである。このR
OMは入力ライン14b上の11ビツトまたは12ビツト・アド
レスに基いて1つの16ビツト命令語を選択するデコーダ
を使用している。実施例では、ROM14は、2K以下の語を
有するから、11ビツト・アドレスを使用することができ
る。しかし、オンチツプ・プログラム記憶装置は、12ビ
ツト・アドレスをもつ4K語まで拡張することができる。
ROM14の回路は、後で説明するように高速記憶に特に適
している。アドレス入力14bは、実行中の命令の次の命
令のアドレスが入つている12ビツトレジスタであるプロ
グラム・カウンタPCからアドレスを受け取る。すなわ
ち、ある命令に対し命令デコーダID1とID2の出力側にお
ける制御ビツトCが正当である時点において、PCには
次の命令のアドレスが入つている。ROM14からIR内に次
の命令を読み取るためプログラム・カウンタPC内のアド
レスがデコーダ14aに入つた後、PCは別の命令を取り出
す準備としてPCincを通して増分される。すなわち、PC
はID2からの制御ビツトCの制御を受けて自己増分す
る。プログラム・カウンタPCからの出力PCoは、ラインR
Apc、セレクタRAs(および図示してないが出力バツフ
ア)、および出力ラインRAoを通して外部RAバスへ、そ
してマイクロコンピユータの12本の出力ピンへ加わる。
RAバス(RA0−RA11)は、セレクタRAsがあるモードにあ
るときは、RApcを通してPCの出力を含んでおり、またI/
O命令INおよびOUTを実行しているときは、3ビツトのポ
ートアドレス入力RAiを含んでいる。PC内のアドレス
が、ROM14内の最上位アドレスより上であれば必らず記
憶装置11に対しオフチツプ・プログラム・アドレス指定
がなされる。しかしながら、マイクロ・コンピユータは
主としてオンチツプROM14で動作するように設計されて
いるから、マイクロコンピユータの多くの用途に対しプ
ログラム命令のためオフチツプ取出しは必要ないであろ
う。プログラム・カウンタPCは、分岐または呼出し命令
に対し、P−BUSからセレクタPCsおよび入力PCiを通し
てロードすることができ、あるいは、“アキユムレータ
呼出し”命令CALLAまたはテーブル読取りおよびテーブ
ル書込みに対しAcc−L、D−BUS、BIM、P−BUS、PCp
およびPCiを通してアキユムレータAccからロードするこ
とができる。
レジスタ・スタツクSTは、サブルーチンおよび割込み呼
出しにおいてPCの内容を保存するために使用される。図
示実施例の場合、スタツクSTは、先入れ後出し、後入れ
失出方式レジスタとして作られた4個の12ビツト・レジ
スタを有しているが、それよりも多くまたは少ない数の
レジスタを使用することも可能である。プログラム・カ
ウンタPCの現在の内容は、ラインPCSTを通してスタツク
の一番上のレジスタTOSに“プツシユする”ことによつ
て保存される。連続するCALL命令は、先の内容がシフト
されると、PCの現在の内容をTOSにプツシユし続けるか
ら、4個までの入れ子サブルーチンを収容することがで
きる。サブルーチンは、スタツクを“ポツプする”戻り
命令RETを実行することによつて終了し、ラインPCt、セ
レクタPCsおよび入力PCiを通してTOSの内容をプログラ
ム・カウンタPCへ戻し、プログラムが最後の呼出しまた
は割込みの前に達した個所から続行することができるよ
うにする。TOSがポツプされると、スタツクSTのそれよ
り下のレジスタ内のアドレスが1位置だけ移動する。呼
出し命令または割込みによつて開始された各サブルーチ
ンは、RET命令によつて終了しなければならない。
図示実施例の場合、ROM14は、1536語を有しているか
ら、4Kプログラム・アドレス空間の残部、すなわち2560
語はオフチツプの記憶装置11の中にある。記憶装置拡張
制御ピンME/SE−が論理1において高いとき、マイクロ
コンピユータは0〜1535の範囲のPC内のプログラム・ア
ドレスをROM14に対するオンチツプのアドレスであると
解釈し、そして1536〜4095の範囲のアドレスをオフチツ
プのアドレスであると解釈してPCの内容をRApcおよびRA
oを通してRAバスへ送り出す。各マシン状態に対しデコ
ーダID2によつて作られた出力ストロープRCLK−は、外
部記憶装置11を使用許可にする(INまたはOUT命令が実
行されているときは除く)。オフチツプのプログラム記
憶装置11がアクセスされると、記憶装置から読み取られ
た命令語は外部バスDに加えられ、そこから、入出力制
御装置DCおよびラインDpを通して内部のP−BUSに加え
られる。すなわち、これは16ビツト命令であつて、IRを
通してのROM14の出力と同様に、それは実行するためデ
コーダID1とID2にロードされ、あるいは12ビツトがPCp
を通してプログラム・カウンタPCにロードされるかそう
でなければオンチツプ命令取出しとして使用される。
ME/SE−ピンがゼロであると、マイクロコンピユータは
システム・エミユレータ・モードになる。4Kプログラム
・アドレス空間全部がオフチツプであるから、すべての
PCアドレスはRApcおよびRAoを通してRAバスに加えられ
る。このモードは、利用側が開発中のシステムまたはプ
ログラムである場合にはROM14のための最終的コード変
換ができ上る前に必要である。すなわち、マイクロコン
ピユータ10は、新しいプログラム(RAMまたは記憶装置1
1のEPROM内に記憶させた)を調べ手直しすることができ
るように、コードをROMに永久的にプログラムしておか
なくても動作することができ、したがつて、最終的コー
ドが確立したとき、このコードをROM14にマスク・プロ
グラムして、マイクロコンピユータ10が大量に作られ
る。
いずれのモードにおいても、最初の2つのアドレス0000
と0001はリセツト機能のために使われる。リセツトピン
RS−が低くなると、すべてがゼロのアドレスは、後で説
明するが、プログラム・カウンタPCの中に入れられる。
さらに、第3のアドレスが割込めベクトルのために予約
される。すなわち、INT−ピンが低くなると、割込みル
ーチンを開始するためアドレス0002がプログラム・カウ
ンタPCに入れられる。
データ記憶装置のアドレス指定 図示実施例におけるデータ記憶装置15は144個の16ビツ
ト語を有しており、したがつて、RAMアドレス・デコー
ダ15Bに対するアドレス入力15a上には8ビツトのアドレ
スが必要である。しかし、RAM15は512語までの語をもつ
ように構成することができ、9ビツトのアドレスを必要
とするから、そのアドレス指定の方法については、いく
つかの実施例では使われないアドレス・ビツトのところ
で説明することとする。RAM15の各々の128語のブロツク
は1ページとみなせるから、ページ内のデータ記憶装置
15の128語までの語を直接アドレスするため、入力15cを
通してP−BUS上にあるプログラム記憶装置14からの命
令語内の7ビツトのアドレスフイールドが使用される。
そのページはデータ・ページ・バツフアDPによつて選択
される。代りに間接的にアドレス指定する場合、図示実
施例では2個の補助レジスタAR0とAR1が使われるが、こ
れらの16ビツト補助レジスタは8個まで使用することが
でき、RAM15に対する間接アドレス源として現に使用さ
れている特定のレジスタを補助レジスタ・ポインタARP
と定義する。2個のレジスタAR0とAR1の場合には、ポイ
ンタARPは1ビツトのみであるが、8個の補助レジスタ
をもつ実施例の場合には、ポインタARPは3ビツト・レ
ジスタである。16ビツト補助レジスタAR0とAR1は、後述
するように、間接アドレス命令、あるいは記憶、ロード
または修正補助レジスタ命令SAR、LAR、MARの制御を受
ける。補助レジスタの下位部分からの9ビツトアドレス
は、セレクタ15d、ライン15e、セレクタ15f、およびラ
イン15gを通してアドレス入力15aに加えることができ、
その経路はID1からの制御ビツトCによつて定義され
る。補助レジスタの1つをRAMアドレス源にする場合に
は、セレクタ15dはアドレス入力15aとしてライン15e上
の値を使用する。これに対し、P−BUSをRAMアドレス源
にする場合には、セレクタ15dは、入力15cからの7ビツ
ト・アドレスと、データ・ページ・レジスタDPからの1
ビツトの(3ビツトまたは4ビツトまで拡張可能)ペー
ジ・アドレスを使用する。セレクタ15fは、命令によつ
て定義された通りにP−BUSからロードされるポインタA
RPによつて制御される。補助レジスタは間接アドレス指
定のために使われ、その場合には、命令はRAM15に対し
完全なアドレスを有する必要はなく、代りにこのアドレ
スに対し補助レジスタを使うことを規定するだけであ
る。そのような命令は、さらに選択された補助レジスタ
に対し増分または減分を規定することができる、その場
合には、AR0またはAR1の9個のLSBが経路Incを通して+
1または−1だけ変更される。したがつて、補助レジス
タはループ・カウンタとして使用できる。また補助レジ
スタはラインARioを通してD−バスによつてアクセスさ
れるから、これらのレジスタは雑作業用レジスタとして
使用できるし、またはループ・カウントを開始するため
最初にロードすることもできる。
データ記憶装置15は、D−BUSおよび入出力回路15iを使
つて、ライン15gを通してアクセスされる。データ記憶
装置の構成は、マイクロコンピユータ10の重要な特徴に
よりRAM15内でデータの完全な移動が許されるようにな
つている。命令制御を受けて、あるアドレスにあるデー
タは、ALUやD−BUSを使わないで1マシン・サイクル内
で次のより上位のロケーシヨンへ移すことが可能であ
る。したがつて、たとえば、加算中、アクセスされたデ
ータを次のより上位のアドレスへ移すことが可能であ
る。
入出力機能 マイクロコンピユータ・チツプ10からのデータの入出力
には、データ・バスDと、制御バス13のラインのうちの
2本を使用する。2本のラインはデータ使用許可バーDE
−と書込み許可バーWE−である。データの入出力機能の
ため2つの命令INとOUTが使われる。外部データ・バス
Dは、入出力制御装置・データ・バツフアDCとラインDd
によつて内部データ・バスすなわちD−BUSに連絡され
ている。命令OUTが実行されているときを除き、DCから
データ・バスD−BUSに対する出力が常に高インピーダ
ンス状態におかれるように、DC内の出力バツフアは3個
から成つている。すなわち、この目的のために、OUTを
デコードしないときは必らず命令デコーダID1からの制
御ビツトCの1つが出力バツフアを高インピーダンス
状態にセツトする。IN命令が存在するときは、データ制
御装置DCが16個の入力バツフアを作動させるので、外部
データ・バスDはデータ入力のためDCとラインDdを通し
て内部D−BUSへ連絡される。OUT命令がデコードされる
と、ID1からの制御ビツトCがDC内の出力バツフアを
作動させるので、内部D−BUSはDdとDCを通して外部デ
ータ・バスDへ連絡される。
また、IN命令の実行は、ID1からライン13a上にデータ使
用許可DEN−ストローブを発生させ、そして15iと15jを
通してD−BUSをRAM15に連絡するので、外部からのデー
タはオンチツプ・データ記憶装置に入る。マイクロコン
ピユータを信号プロセツサとして意図的に使用するとき
は、オフチツプ基準(reference)ごとにRAM15に対し数
百または数千回のアクセスが必要である。すなわち、オ
フチツプから値が取り出され、次に、この新しい値とRA
M15内の他のデータを使つてたたみ込みもしくは同様な
操作が実行されるから、別のオフチツプ基準が必要とな
る前に数千回の命令実行がなされよう。この理由のた
め、構成上、オフチツプデータ・アクセスよりも内部デ
ータ処理のほうが好ましい。
OUT命令の実行は、ID1からのライン13b上にオフチツプ
書込み許可WE−ストローブを発生させ、RAM15から15i,1
5j,D−BUS,ラインDdおよびバツフアDCを通して外部バス
Dへデータを出力する。第1図を参照すると、このデー
タは周辺装置12内のポートPO−P7の1つ(3ビツトRAi
値によつて選択される)に書き込むことができる。
INおよびOUTの両命令に含まれているのは、ID1からのラ
インRAi上の3ビツト・ポート・アドレスである。この
アドレスは、セレクタRAsを通して外部アドレスの3個
のLSB(RA9−RA11)上に多重化される。この結果、8個
までの周辺装置をアドレスすることができる。RAバス出
力の残りの上位ビツトは、これらの命令の間論理ゼロに
保持される。
命令セツト 第1図および第2図のマイクロコンピユータ10は、表A
の命令セツトを実行する。表Aは第1行に書込み原始コ
ードに使われる各命令のニモニツク言語すなわちアセン
ブリ言語を示し、続いて第2行には、ROM14および命令
レジスタIR内に現われるコード形式である2進法の目的
コードを示す。この2進コードはID1とID2内でデコード
されて制御ビツトCの全部を発生させ、各種のバスお
よびレジスタをアクセスし、かつALUの機能をセツトす
ることによつて所定の操作を実行させる。表は、さら
に、命令の実行中マイクロコンピユータによつて用いら
れたサイクルすなわちマシン状態の数を示す。分岐、呼
出し、テーブル索引、および入出力を除くすべての命令
は、1状態時間中に実行されることに注意されたい。マ
イクロコンピユータはマイクロコードされない、すなわ
ち、標準ALU命令は1状態時間中に実行される。表は、
さらに、各命令を定義するために必要な命令語すなわち
命令コードの数を示す。ブランチすなわち分岐と呼出し
だけが2個の命令語を必要とすることに特に注目された
い。表Aの右欄は各命令に対する操作の簡単な説明であ
る。
表Aの大部分の命令は、“IAAA AAAA"のように下位の8
ビツト(ビツト8−15)を示す。それは1つのオペラン
ドに対する直接アドレスまたはRAM15の間接アドレスで
ある。もし、“I"ビツト、すなわちビツト8が0であれ
ば、直接アドレス指定モードが使用されるので、命令語
の“A"欄、すなわちビツト9〜15は、IRからP−BUS、
ライン15c、およびセレクタ15dを通してアドレス入力15
aに連絡される直接アドレスとして使用される。この直
接アドレス指定モードでは、補助レジスタAR0−AR1は使
われない。
“IAAA AAAA"を含む命令の場合、間接アドレス指定モー
ドは、これらの命令のI欄すなわちビツト8内の1によ
つて規定される。RAM15に対するライン15a上の入力アド
レスは、この場合、補助レジスタAR0またはAR1の一方か
ら得られ、ビツト15がその一方を選択する。もし、ビツ
ト15が0であれば、AR0が使われ、ビツト15が1であれ
ば、AR1が使われる。したがつて、P−BUSを通してIRか
ら連絡されたビツト15はセレクタ15fを制御する(そし
て、ARPレジスタにロードすることができる)。補助レ
ジスタの数は8個まで拡張可能であるから、これらの間
接アドレス命令のビツト13〜15は、間接アドレス指定モ
ードにおいて3ビツト・セレクタ15fとARPレジスタを使
つて8個のうちの1個を定義するために予約される。ビ
ツト10からビツト12までは、間接アドレス指定における
制御ビツトである。すなわち、ビツト10はもし1であれ
ば、アドレスされた補助レジスタを増分させ、もし0で
あれば、変化はない。ビツト11は、もし1であれば、ア
ドレスされたARを減分し、もし0であれば、変化はな
い。ビツト12は、もし0であれば、現在の命令を実行し
た後ビツト15をARPにロードし、もし1であれば、ARPを
そのままにしておく。
表Aのいくつかの命令に使われるシフト・コードSSSS
は、ラインSpを通してシフト制御装置Scにロードされ
た、空間の数(ゼロから15)を定義するための4ビツト
欄である。D−BUSを通してRAM15から入つてくるデータ
は、ALU−b入力へ向う途中シフタSを通過するとき左
シフトされる。
本明細書に記載した構成にとつて重要ではないが、表A
の命令セツトを使用するアセンブリ言語形式は、直接ア
ドレス指定を表わすために“A"を、間接アドレス指定を
表わすために“β”を用いている。したがつて、“ADD
S,A"は、命令語のA欄によつて定義された記憶場所の内
容を加算することを意味する。“ADD Aβ”は、ARPに存
在する内容によつて選択された補助レジスタAR0またはA
R1でアドレスされたデータ記憶場所の内容を使つて加算
することを意味する。“ADD Sβ+”は、ARを定義し、
次にループ・カウントのためこの補助レジスタを増分す
るためARPの現在内容を使つて加算することを意味す
る。“ADD Sβ”は1だけ減分することを除いて“ADD S
β+”と同じである。“ADD Sβ−,AR"は、以下の演算
のため新しい補助レジスタを定義するためARPにビツト1
5の値がロードされることを除いて“ADD Sβ+”と同じ
である。
表Aの右欄に記載された説明は、直接アドレス指定を仮
定している。間接アドレス指定については、上記の解説
を用いる。
以上により、ADD命令は、左へSSSS空間シフトされたRAM
15の16ビツトの内容(直接アドレス指定の場合にはロケ
ーシヨンOAAAAAAAにおける内容、また間接アドレス指定
の場合には選ばれたARによつて選択されたRAM15内のロ
ケーシヨンにおける内容)をAccの32ビツト内容に加算
し、その結果をAccに記憶させる。ADDH命令は、Accの上
位半分だけが1つのオペランドの送信側であり、かつそ
の結果の最終受信地であつて、シフトが行なわれないこ
とを除いて、ADD命令と同じことを行なう。
減算命令SUBとSUBHは、アキユムレータAccからアドレス
されたRAM15のデータを減算し、その結果をAccに記憶さ
せる、しかし、その他については加算と同じである。ロ
ード命令LACは、SSSSビツトによつて左シフトされたIAA
A AAAAによつてアドレスされた16ビツト・データをAcc
にロードする。ADD、SUBおよびLAC命令だけがシフトを
規定している。
補助レジスタについては、4つの命令SAR、LAR、LARKお
よびMARがある。“補助レジスタを記憶せよ”命令SR
は、RRRによつて定義されたほうの補助レジスタの内容
を記憶場所IAAA AAAAに記憶させる。“補助レジスタを
ロードせよ”命令LARは、命令SARの逆である。命令SAR
またはLARにおいて定義される補助レジスタARは、P−
バスを通して命令語のRRR欄がロードされ、ラインARio
を通してどちらの補助レジスタをD−バスに連絡すべき
かを決定するポインタRPによつて定義される。LARK命令
により、RRRによつて定義されたARにIRからの定数K
(ビツト8〜15)がロードされる。この8ビツトを定数
Kは右そろえされ、16ビツト補助レジスタ内のMSBはゼ
ロにセツトされる。“補助レジスタを修正せよ”命令MA
Rは、上記のようにビツト10〜ビツト12によつて補助レ
ジスタを修正する。しかし、加算や記憶装置15に対する
アクセスは実行されない。MARコードは、間接モードす
なわちI=1においてのみ効力を有し、直接モードにお
いてこの命令は効力を有せず、すなわちNO−OPとなる。
入力/出力命令は、アセンブリ言語では“IN PA,A"また
は“OUT PA,A"のように書かれる。ここで、PAはRAバス
のビツト9〜11上の3ビツトポート・アドレスPPP出力
(デコーダID1から生じて、ラインRAiを通して連絡され
る)である。IN命令はDEN−を使用許可し、RCLK−を使
用禁止にする。一方、OUT命令はWE−を使用許可にし、R
CLK−を使用禁止にする。周辺装置12は、RA9〜RA11をデ
コードし、8個の16ビツト・ポートP0−P7の1つ、すな
わちバスDを通して読取りまたは書込みのためのロケー
シヨンを選択する。以上の命令は2つのマシン状態を使
用しており、バスDのデータ入力ピンは第2の状態では
フリーであつて、ROM14の代りに記憶装置11から次の命
令の外部取出しを許す。
“アキユムレータを記憶せよ”命令SACLとSACHは、アセ
ンブリ言語では“SACL X,A"のように書かれるが、Accの
下位または上位のビツトをXXX空間左シフトさせ、IAAA
AAAAによつて直接または間接に定義されたデータ記憶装
置15内のロケーシヨンに記憶させる。X欄は、図示実施
例の場合、完全に実行されない。すなわち、SACH命令の
場合、X=0,X=1およびX=4のみが許される。この
シフトは、シフタSまたはALU内ではなく、アキユムレ
ータAcc回路自体内で実行される。
シフト・コードのない、演算および論理命令は、ADDH,A
DDS,SUBH,SUBC,ZALH,ZALS,EXOR,AND,ORおよびLACKであ
る。これらの命令は、すべて、アセンブリ言語で、たと
えばADDH,Aのように書かれる。
ADDH命令は、RAM15内の定義されたロケーシヨンからの1
6ビツト・データをAccの上位半分に加算し、結果をAcc
の上位半分に記憶させる。実際には、RAM15からのデー
タは、D−バスからALU−b入力へ進むときシフタS内
で16ビツト左シフトされる。ADDS命令は、符号外延がシ
フタS内で抑制されることを意味し、Aによつて定義さ
れたRAM15からのデータは、符号付き2の補数の代りに1
6ビツトの正数として取り扱われる。SUBHおよびSUBS命
令は、ALU内で減算が実行されることを除いてADDHおよ
びADDS命令に相当する。
除算には、条件付き減算命令SUBCが使われる。RAM15内
の定義されたロケーシヨンの内容は、Accの内容から減
算され、15ビツト左シフトされ、ALU出力ALU−oを作
る。そのALU出力ALU−oは、もしゼロでなければ、1ビ
ツトだけ左シフトされ、そして+1が加算され、その結
果がAccに記憶される。もしALU出力ALU−oがゼロでな
ければ、1ビツトだけ左シフトされ、その結果がAccに
記憶される(+1は加算されない)。SUBC命令は、それ
に続く命令においてアキユムレータが使用されないとい
う仮定に立つ2サイクル命令である。もし、それに続く
命令がAccに関係していれば、そのときには、SUBC命令
の後、NO−OP命令を挿入すべきである。
“ゼロ・アキユムレータ・ロード・ハイ”命令ZALHは、
RAM15内のアドレスされたロケーシヨンにある16ビツト
語を取り出し、それをAccの上位半分(ビツト0〜15)
にロードする。Accはゼロにされているから、下位ビツ
ト16〜31はゼロのままである。シフタSはD−BUSからA
LUを通つてAccに向うデータ経路内にあるから、ZALH命
令において16ビツト・シフトが実行され、データは上位
半分へ移される。ZALS命令は、RAM15から語を取り出
し、それを、ゼロにされたAccの下位半分にロードす
る。符号拡張はシフタS内で抑制される。
論理命令EXOR、ANDおよびORは、たとえ取り出されたオ
ペランドが16ビツトであつても32ビツト形式で実行され
る。EXOR命令の場合には、Accの上位半分はゼロで排他
的論理和がなされ、Accの下位半分をもつ取り出された
データの排他的論理和で連結され、その結果の両半分が
Accに記憶される。同じことがORおよびAND命令に当ては
まる。
ロード・アキユムレータ命令LACKは、命令語の8個のLS
Bに含まれている8ビツトの定数をAccの8個のLSBにロ
ードさせ、右そろえされる。すなわち、Accの上位24ビ
ツトはゼロにされる。この命令を実行するため、IRから
のP−BUS上の命令語が(もちろん、ID1とID2がロード
された後)、BIMによつてD−BUSへ連絡され、したがつ
て、シフタSを通して(シフトなしで)ALU−bへ連絡
される。ALUは“ALU−bを通過させよ”、すなわち“AL
U−bにゼロを加算せよ”命令を実行し、定数をAccの中
にそのままにしておく。
データシフトすなわちデータ移動命令DSHTは、RAM15内
の定義されたロケーシヨンの内容を定義されたものに1
加えたロケーシヨンに移動させる。この命令は、ALUま
たはD−バスを使わずにRAM15に対し内部で実行され
る。しかしながら、この命令はページ境界を横断できな
い。
“Tをロードせよ”命令LTは、乗算を準備するために使
用される。LT命令は、TレジスタにRAM15からIAAA AAAA
によつて定義された値をロードする。
“データ移動とともにTをロードせよ”命令LTDは、RAM
におけるDSHT命令に似た演算を用いる。すなわち、Tレ
ジスタにIAAA AAAAによつて定義されたRAM15の内容がロ
ードされ、次に、この同じ値がロケーシヨンIAAA AAAA
+1へシフトされ、さらにAccの内容がALU内でPレジス
タの内容に加算され、その結果がAccに記憶される。LTA
命令は、データ移動のないことを除きLTD命令と同じで
ある。すなわちTレジスタはRAM15からロードされ、P
レジスタはAccに加算され、その結果がAccに記憶され
る。
乗算命令MPYは、乗算器M内で(ALUは使わない)、Tレ
ジスタの16ビツト内容にD−バスからの入力Mi上のRAM1
5からの値を掛け、その32ビツトの結果をPレジスタに
入れる。“定数を掛けよ”命令MPYKは、Tレジスタの16
ビツト内容にIR内の命令コードからの13ビツト定数Cを
掛け、その32ビツトの結果をPレジスタに入れるMPYK命
令の場合、定数はIRからP−BUS、BIM、およびD−BUS
を通してMiに連絡される。
“データ・ページをロードせよ”命令LDPKおよびLDP
は、データ・ページ・レジスタDPに、命令コード自体か
らまたはRAM15内の定義されたロケーシヨンから8個ま
でのビツトをロードする。図示実施例の場合には、DPレ
ジスタは1ビツトのみであるが、より大きなRAM15をも
つ別の実施例の場合には、DPレジスタには8個までのビ
ツトが入る。ページ・アドレスは、新しい“ページをロ
ードせよ”命令が生じない限りDP内で同じままである。
“状態をロードせよ”命令LSTおよび“状態を記憶せ
よ”命令SSTは、呼出しまたは割込みにおいて、状態回
路SDの内容を保存するため、すなわち状態回路SDを再記
憶するために使用される。これらの命令は、この機能を
実行するための配線回路の代りに使用される。
使用禁止命令DINTおよび使用許可命令EINTは、割込み能
力をマスクするため、またはアンマスクするために使用
される。すなわち、これらの命令は、マイクロコンピユ
ータ10がINT−ピンに応答するかしないかを決定するラ
ツチをリセツトまたはセツトする。
絶対値命令ABSは、アキユムレータが絶対値のみを入れ
るように機能する。すなわち、もしアキユムレータがゼ
ロより小さければ、Accの絶対値がAccにロードされる、
しかし、Accがゼロより大きければ、変化はない。同様
に、ゼロ・アキユレータ命令ZACは、Accをゼロにする。
オーバフロー・モード命令RAMVは、状態デコーダSD内の
オーバフロー・モード・ラツチOVMを1にセツトし、オ
ーバフロー・モード命令SAMVは0にリセツトする。OVM
がセツトされると、ALUの出力は、オーバフロー時にAcc
にロードされる前に、その最大または最小値にセツトさ
れる。これは、アナログ回路における増幅器飽和の効果
を模擬しており、信号処理上役に立つ。
3つのPレジスタ命令PAC、HPAC、およびSPACは、MPYま
たはMPYKの後、データを処理する場合に使用される。PA
C命令は、データを修正するいかなる操作も実行させな
いでALUに32ビツト・データを通過させることによつ
て、アキユムレータにPレジスタの内容をロードする。
実際にはALU−a入力はゼロにされ、加算が実行され
る。HPAC命令はPレジスタの内容をAccの内容に加算
し、その結果をAccに入れる。同様に、SPAC命令は、Acc
からPレジスタの内容を減算し、その結果Accに入れ
る。
サブルーチン命令には、CALL、CALLA、およびRETがあ
る。CALL命令は、2語命令であつて、最初の語は命令コ
ードで、2番目の語はサブルーチン内の最初の命令の絶
対アドレスである。CALL命令がID2内でデユードされる
と、PCはアドレスである次の命令語を取り出すため増分
され、次にPCの増分した内容がスタツクSTへ入れられ
る。サブルーチンは、戻し命令RETで終了し、RET命令は
TOSのアドレスをポツプさせ、PC内にロードする。状態
を保存するため、CALL命令の前にSST命令を使用しなけ
ればならないし、RET命令の後にLST命令を挿入しなけれ
ばならない。CALLA命令は、ハーバード構成のマシンに
対する独自なものである。すなわち、この命令は、PC+
1によつてアドレスされた次のロケーシヨンを使用する
のでなくAccの内容をサブルーチンのアドレスとして使
用する。Accの下位ビツトは、Acc−LおよびBIMを通し
てP−バスへ、そこからPCpを通してプログラム・カウ
ンタPCへ転送される。CALLA命令において増分されたPC
は、CALL命令とまつたく同様にSTに入れることによつて
保存される。
テーブル索引命令TBLRおよびTBLWも、アドレス源として
Accを用いている。これらの命令は実行するのに3つの
状態が必要である。IAAA AAAAによつて定義されたRAM15
のロケーシヨンはD−バスおよびBIMを通してP−バス
へ、続いてPCpを通してPCへ転送される。そこから、こ
のアドレスはROM14へ、またはRApcを通して外部RAバス
に加えられる。
分岐命令はすべて2語が必要であつて、最初の語は命令
コードであり、PC+1における2番目の語はアドレスで
ある。分岐コードの下位ビツト8〜15は使用されない。
非条件付き分岐命令Bは、PC+1における語を次のアド
レスとしてPCにロードする。BARNZ命令は、ループ・カ
ウンタ、すなわちARDによつて定義された補助レジスタ
の1つがゼロでないかどうかに基づく条件付きである。
BV命令は、もし状態デコーダSD内のオーバフロー・ビツ
トOVが1であれば分岐させる。BIOZ命令は、I/O ST−か
らのIOビツトが状態デコーダSD内の1に対応する、“使
用中−低い”であれば、分岐させる。6つの命令BLZ、B
LEZ、BGZ、BGEZ、BNZ、およびBZは、すべて、Acc内の条
件を反映しているSD内の定義された条件によつて決ま
る。
システム・タイミング 第3A〜C図の(a)〜(pp)に第1図のシステム及び第
2図のCPUチツプのタイミングを、電圧対時間の波形ま
たはエベント対時間のチヤートで示す。チツプ10は2つ
の外部ピンX1及びX2を有するクロツク発生器17を具備し
ており、該ピンには水晶発振器(または外部発振器)が
接続されている。この水晶発振器の基本周波数は20MHz
までであり、これを(a)にクロツクφとして示す。こ
のクロツクφは最小50nsの周期を有しており、(b)〜
(e)に示す4つの四分の一サイクル・クロツクQ1、Q
2、Q3及びQ4を発生するのに用いられ、マイクロコンピ
ユータ・チツプ10に対する基本内部タイミングを提供す
る。一組の四分の一サイクル・クロツクQ1ないしQ4は最
小200nsの1つのマシンステートタイムを形成する。こ
のステートを第3図にS0、S1、S2として示す。クロツク
発生器17は、制御バス13のうちの一つの上に出力CLKOUT
((f))を発生する。CLKOUTはQ1と同じ周期を有する
が、これは50%デユーテイサイクルであり、Q1の中点で
始まる。この出力を、第1図のシステムの外部素子のタ
イミングまたは同期用に用いる。
内部では、マイクロコンピユータ10は、大部分の型の命
令に対して、1ステートタイム当り1命令を実行する。
従つて、1秒間当り500万の命令が20MHzクロツク速度で
実行される。いうまでもなく、入出力、分岐すなわちブ
ランチ、コールまたはテーブルルツクアツプのような若
干の命令は2つまたは3つのステートタイムを必要とす
る。加算、ロード、記憶、等のような一連の単一ステー
ト命令を考えると、(g)に示すように各Q3最中に新た
なアドレスがPCにロードされ、次いでQ4及びQ1最中にRO
M14がアドレス指定され、従つて、(h)に示すよう
に、一つの命令語出力がIRから次のQ2における妥当なP
−BUS上に発生させられ、Q3まで継続する。従つて、ROM
14のアクセス時間は約100nsである。メモリ11からの外
部命令取出しを用いても、同じアクセス時間が適用され
る。(i)に示すように、命令デコーダID1及びID2はQ3
最中にP−BUSから命令語を受取り、そして、若干の高
速制御出力がQ4において可用であるが、大部分のデコー
ダ出力#CはQ1最中は妥当(vzlid)である。RAMの直接
アドレス指定に対しては、P−BUSのビツト9ないしビ
ツト15上のアドレスは、P−BUSが妥当となると直ちにR
AMデコーダ15b内にゲートされる。しかし、直接または
間接のいずれにおいても、RAMアドレスは(j)に示す
ようにQ3の開始により妥当である。RAM読取りに対して
は、ライン15jを介するD−BUSへのデータ出力はQ4上で
妥当であり、そして、このデータはシフタSを通過し
((k))、Q1最中にALU入力として受入れるれる
((i))。ALU制御出力#CはQ2において妥当であ
り、ALU出力ALU−oはQ3中に受入れられる。アキユムレ
ータAccはQ4においてALUからロードされ((m))、次
いで次のQ1において飽和させられる。
以上から解るように、例えば、第3A図の(a)〜(m)
におけるS0ステートのQ3でフエツチ(取出し)が始まつ
たADD命令は完了する。即ち、その結果はステートS2のQ
4においてAccにロードされ、次いで、ステートS3のQ1に
おいて受入可能な飽和したAccをQ2においてDバスにロ
ードすることができる。命令実行についてはかなりのオ
ーバラツプがある。新たな命令のフエツチすなわち取出
しが1ステート命令に対する各ステートタイムのQ3中に
開始し、従つて、1つが終了する前に更に2つの命令の
実行が開始しているということが可能となる。
書込みRAM機能は第3A図の(a)〜(m)図には示して
ない。RAM15は常にQ2中に書込みされる。しかし、RAMを
アドレス指定することは常にQ3中においてである。従つ
て、「低次のアキユムレータを記憶」SACLのような命令
を第3A図の(n)〜(o)に示してある。RAMアドレス
は命令レジスタからP−BUSを介してS1のQ3上で受取ら
れ(SALC命令の取出しはS0のQ3において開始したものと
仮定する)、そして書込みはステートS2のQ2までは生じ
ない。読出しスロツト、即ちS1のQ4中に、RAMのアドレ
ス指定された行いに対してリフレツシユが生じ、次いで
この同じアドレスは書込みのためにステートS2のQ2まで
留まつている。D−BUSはこの同じQ2中にAccからロード
される。(n)を参照されたい。
アキユムレータが、オーバフローモードにおいて、即ち
1にセツトされたOVMにおいて飽和機能を行なわなけれ
ばならない場合には、これは(m)のアキユムレータ・
ロード機能後に行なわれる。即ち(a)〜(m)のADD
命令に対して、Accは次のステートS3におけるQ1中に飽
和され、従つて、上記アキユムレータが後続の命令によ
つてアクセスされると、該アキユムレータはQ2上でD−
BUSをロードするのに受入れ可能となる。
命令がRAM15内のデータ移動機能を用いるときは、この
移動動作は(o)に示すようにQ1に生ずる。また、増分
すなわちインクリメント・ループ・カウンタ機能が補助
レジスタAR0またはAR1に対して行なわれると、このイン
クリメント(または減分すなわちデクリメント)はQ1に
おいて実行される。Tレジスタ、補助レジスタAR0また
はAR1、ARPラツチ、DPレジスタ及びスタツクSTレジスタ
は、これらの機能がカレント命令に含まれていると、各
々が、任意のステートタイムのQ2中にロードされる。
バス交換モジユールBIMは、この機能が命令によつて確
定されると、Q2において開始するD−BUSからP−BUSへ
の転送を常に実行する。BIMによるP−BUSからD−BUS
への転送はQ4中に開始される。D−BUSは各サイクルのQ
3上でプリチヤージされ、従つて、データがいずれかの
ステートのQ3を通じてD−BUS上で桁上がりするという
ことがなく、またデータがQ3中にD−BUSへまたはこれ
からロードされることもない。
プログラムカウンタPCは各ステートタイムのQ3中にPCin
c路によつてインクリメントされる。即ち、(g)のロ
ードPC機能は丁度発生させられたインクリメント値であ
る。
次に、第3B図において、ブランチ命令の実行を(p)〜
(r)に示す。ステートS0のQ3中にデコーダSD1及びSD2
内にロードされる命令がブランチであると、先行の命令
からのステータスデコーダSDビツトはS1のQ1中は妥当で
あり、従つてブランチするかまたはブランチしないかの
判断がこの時点でなされる。その間、いうまでもなく、
他の命令取出しが始まつており、従つて、ブランチ条件
が適合すると、S1のQ2中にP−BUSへ送られた命令は次
のアドレスとして使用されるが実行されない。即ち、ID
1及びID2にロードされない。しかし、上記条件が適合し
ないと、この命令は放棄される。即ち、プリチヤージま
でP−BUSに留まつている。上記条件が適合していると
すると、ブランチアドレスはS1のQ3中にIRからP−BUS
を介してPCへロードされ、そして、新たな命令がS2のQ2
においてIR及びP−BUSへ送られ((q))、次いで、
(r)のS2のQ3で始つてデコードされ及び実行される。
CALL命令は、(p)〜(r)に示すように、ブランチと
同じタイムシーケンスで実行される。ただし、SD評価は
必要でない。そして、元のPC+1はS1のQ3中にスタツク
STへプツシユされる。
リターン命令RETは、(s)〜(u)に示すように、2
サイクル命令である。ステートS0のQ3中にデコーダID1
及びID2にロードされた命令がRETであると、S1のQ3にお
いてPCの「PCインクリメント及びロード」とともに開始
した命令取出しは放棄され、そしてポツプスタツク機能
がS1のQ3において実行され、従つて、次の命令取出しは
リターンアドレスに対するものである。S1のQ4中に取出
された命令は、次いで、S2のQ3で始まつてデコードされ
及び実行される。
入力(または出力)命令は、(r)〜(z)に示すよう
に、2サイクルにおいて実行される。S0のQ3においてデ
コーダID2にロードされる操作符号が、(x)に示すよ
うに、INであるものとする。S0のQ3で始まつて取出され
た命令は使用されない。実行はINのデコードによつて禁
止され、従つて、上記命令はIRからP−BUSへロードさ
れることがない。S1のQ3におけるPCの内容は、次の命令
取出しのために、S2のQ3までセーブされる。即ち、PCは
インクリメント路によつて再循環させられてPCへ戻る
が、インクリメントは行なわれない。INのデコードから
発生させられる制御出力#Cは2つのステートに対して
受入れ可能である。(g)に示すように、RAMアドレス
はS1のQ3上でP−BUSからロードされ、そしてデータ入
力はS1のQ4上でD−BUSに到達し、S2のQ2中にRAM15に書
込まれる。DEN−制御は、IN機能のためにS1のQ4からS2
のQ2を通じて能動である。OUT命令はINと同じように実
行される。ただし、RAM15がS1のQ4中に読出され、そし
てWE制御がDEN−に代つて能動である。
テーブルルツクアツプ命令が(aa)ないし(dd)に示す
ように実行される。TBLR操作符号は、S0のQ3で始まつて
デコードされ、そしてAccをS1のQ2においてD−BUSを介
してBIMへコピーせしめ、次いでPCはS1のQ3においてBIM
からP−BUSを介してこのAcc値をロードされ、従つて、
Accの内容は次の命令取出しアドレスとして使用され
る。その間に、S0のQ3で始まつて取出された命令の実行
は、ROM読出し制御#NRIRを妨げることにより、S1のQ2
においてIRをP−BUS(ROM14出力)にコピーすることを
禁止される。S0のQ3からのPCのインクリメントされた内
容はS1のQ3中にSTへプツシユされ、次いでS2のQ3におい
て後続の命令アドレスとしてポツプされる。Q4/S1ない
しQ1/S2中にAccからのアドレスを用いてROM14(または
メモリ11)から取出されたデータはS2のQ2中にP−BUS
上へロードされ、該バスにおいて該データはS2のQ4まで
留まつており、この時にBIMは該データをPバスから受
取り、次いでこれを次のステートであるS3のQ2上でDバ
スへ転送する。RAM15に対する宛先アドレスがS1のQ3に
よつてPバスからデコーダ15bにロードされ、2ステー
トにわたつて留まつている。従つて、S3のQ2において生
ずるRAM書込みは、元のTBLR操作符号において確定され
るRAMアドレスを用いる。
マイクロコンピユータ装置を製作する際にある固有の諸
問題の一つは、諸部品を検査して全部の素子が機能的で
あるか否かを決定するという問題である。多くのマイク
ロコンピユータにおいては、内部ROMから読出される命
令語は外部バスに対して受入れ可能でなく、従つて、RO
Mを、全ての可能な機能を実行するということ以外の方
法では検査することができず、これは長たらしくなる可
能性がある。第2図の装置によれば、第3B図の(ee)な
いし(hh)図に示すようにバス交換モジユールを用いて
ROM14を一度に1語ずつ読出すことができる。I/O ST−
ピンをVdd以上、例えば10Vに保持し、且つRSを低レベル
に保持することによつてテストモード(表Aの命令セツ
トにはない)を入れ、デコーダID1及びID2に対して入力
を発生させてROM出力機能を生じさせ、該機能において
は、(ee)に示すようにROM14は各サイクルごとにアク
セスされ、PCはインクリメントされる。P−BUSはROM出
力を受取る(ff)。しかし、操作符号はデコーダID1、I
D2にロードされない。これに代つて、(hh)に示すよう
に、BIMが、各サイクルのQ4上でPバスから操作符号を
受取り、そして次のQ2上でDバスへ転送する。
バス交換モジユール 第4A図に詳細に示すバス交換モジユールBIMは16個の同
構成のステージから成つており、図にはそのうちの1つ
だけを示してある。データがBIM内に保持されるのはス
テートタイムの約1/2よりも長いことはないので、各ス
テージはフイードバツクループなしの2つの被クロツク
・インバータIaを有す。入力ノードIbは、Q4上で妥当な
制御ビツト#BIFPによつて駆動される16個のトランジス
タIcのうちの一つを介してP−BUSのそれぞれのビツト
に接続される。D−BUSは、Q2上で妥当なデコーダID1か
らの制御ビツト#BIFD(Dからのバス交換)によつて駆
動されるトランジスタIdを介して入力ノードIbに接続さ
れる。出力ノードIeは、トランジスタIf及びIg、並び
に、Q2及びQ3最中に妥当な制御ビツト#BITPによつて駆
動されるトランジスタIhを含むプツシユプル・ステージ
によつてP−BUSに接続される。同様に、出力ノードIe
は、ドライバ・トランジスタIi及びIj、並びに、Q2及び
Q4上で妥当な制御ビツト#BITDによつて駆動されるトラ
ンジスタIkを有するプツシユプル・ステージを介してD
−BUSに接続される。トランジスタIg及びIjは第1のイ
ンバータIaの出力においてノードImによつて駆動され、
プツシユプル出力を提供する。データはQ2上でDバスか
らノードIb、Im、Ieへ転送され、次いでQ4でこれらノー
ドからPバスへ転送される。同様に、データはQ4上でP
バスからノードIb、Im、Ieへ転送され、次いでQ4または
次のQ2上でこれらノードからDバスへ転送される。
乗算装置 第4B図に乗算器M及びそのレジスタT及びレジスタPを
略示し、対応する詳細な回路図を第4C図及び第4D図に示
す。レジスタTの16ビツト出力は、8個一組のブース
(Booth)のデコーダMbに与えられ、該デコータは8組
の出力Mcを発生し、各組は5つの機能を含んでおり、そ
のうちの2つ、即ち(1)シフトまたはシフトなし、及
び(2)加算、減算またはゼロ、は一度に能動となる。
8個一組のバンクの17ビツトスタチツクキヤリ・フイー
ド・フオワード加算器Ma−1ないしMa−8は、Tレジス
タがロードされるとMc入力を受取り、従つて、乗算機能
の有効部分は、MPY命令が実行される前に開始させられ
る。加算器Ma−1ないしMa−8はスタチツクであり、即
ち、これらを作動させるにはクロツクQ1ないしQ4を必要
としない。各レベルまたはバンクはデコーダ出力Meに応
答する制御セクシヨンを含んでおり、上記制御セクシヨ
ンは加算器にフイードする。レベルMa−2は半加算器を
用い、レベルMa−3ないしMa−8は全加算器を用いる。
第1のレベルMa−1は、先行のステージからの部分積が
ないので、加算器を必要としせず、従つて該レベルは制
御セクシヨンだけを有す。MPY命令がQ4上でデコードさ
れると、第2のオペランドが16ビツト入力MiによつてD
バスから上記スタチツク加算器へ加えられる。8つのレ
ベルの加算器Ma−1ないしMa−8の各レベルは和を計算
し、部分積がラインMfを介して次の高いレベルへ送られ
る。ただし、各レベルの2つのLSBはラインMeを介して
動的加算器Mdへ送られる。スタチツク加算器アレイが確
立すると、レベルMa−8からの17ビツト出力Mgに加えて
7つの低レベル2ビツトLSB出力Meがキヤリ・リツプル
加算器Md(31ステージ)へ与えられて最終的キヤリ評価
が行なわれ、31ビツト積を2の補数表記法で発生させ
る。この31ビツトは、積レジスタP内で32ビツト積を得
るために符号拡張される。
ブースの2ビツト・アルゴリズムにより、加算器ステー
ジの個数は、さもなければ必要である個数の約半分に減
少する。昔からある筆算法で乗算を行なう場合には、1
つのオペランドの右のまたはLSの数字に他のオペランド
を乗じて部分積を作り、次いで、次の数字に乗じて他の
部分積を作り、該他の部分積を上記第1の部分積に対し
て1桁シフトさせる。ブースのアルゴリズムは2値方式
の乗算法を与えたものであり、この乗算法においては、
各たびごとに、1ビツトの代りに2ビツトを処理するこ
とができる。従つて、レベルMa−1はDバスの全ビツト
のTレジスタ倍の2つのLSBを乗算し、部分積Me及びMf
を作る。第2のレベルMa−2はTレジスタの次の2ビツ
トをDバスに対して乗算し、Ma−1からの部分積Mfを加
算し、そして、この演算は各レベルごとに2ビツトをシ
フトするので、新たな部分積Mfを発生する。
第4C図に、8つのデコーダMbのうちの一つをレジスタT
の2ビツトとともに示す。レジスタT段は、Q4において
クロツクされる再循環トランジスタRc具備の2つのイン
バータIaから成る。上記T段は、LT命令中にQ2上で生ず
るID1からの#LTコマンドによつてトランジスタTaを介
してロードされる。レジスタTの2つの出力及び補数は
ラインTo及びTcによつて1つのブースのデコーダMbに加
えられる。上記デコーダは4つの論理回路から成つてお
り、各回路は、スタチツクロードBa、Bb、BcまたはBd、
及び、ゲートに接続されたラインTo及びTc付きのトラン
ジスタBeのパターンを有す。諸期間のうちの2つは、ラ
インBfによつてゲート内に固定された1または0を有
す。出力Mc−1及びMc−2は、シフトなしコマンド及び
シフト・コマンドを表わし、そして論理ステージBe及び
Bdから来る。出力Mc−4及びMc−5は、上記論理回路の
第1のもののロードBaからの真且つ補数出力であり、そ
してこれらは加算コマンド及び減算コマンドを表わす。
Beからの出力はゼロ・コマンドである。
スタチツク加算器の第1のレベルMa−1は、D−BUS入
力Mi及び入力Mcだけしか含まれておらず、部分積を有し
ないという点において、高レベルのものよりも簡単であ
る。この第1のステージの2つのステージを、レベルMa
−2及びレベルMa−3の17のステージのうちの2つとと
もに第4C図に示す。制御セクシヨンMmは全てのレベル上
で全く同じである。どの素子もクロツクされない。
デコーダMb及び制御出力Mcを有する制御セクシヨンMmは
ブースの一度に2ビツト形アルゴリズムを決定し、これ
は回路を減らし且つ速度を2倍増大する。2つのビツト
が順々に問い合せされるときに、必要となる演算は加
算、減算、演算なし、または唯1ビツトのシフトのみで
ある。Tからの入力を一つのオペランドとして考え、及
びDバスからの入力を他のオペランドとして考える場合
に、機能は次表の通りである。
ブースの2ビツト・アルゴリズムを用いる乗算の一例を
示せば次の通りである。
制御セクシヨンMmにおいて、Dバスからの入力Miはトラ
ンジスタMm−1及び制御出力Mc−1によつて制御され、
シフトはない。隣りのビツトに対するMi入力はトランジ
スタMm−2及びMc−2シフト・コマンドによつてゲート
インされ、上述のように「2D」の関数を提供する。ゼロ
はトランジスタMm−3及びゼロ制御出力Mc−3によつて
提供され、その結果、モードMm−4がVccに接続される
(2の補数におけるゼロ)。先行のステージからのキヤ
リ・インはラインMm−5上にあり、そして上記先行のス
テージからの部分積はラインMm−6上にある。加算また
は減算制御は、Mc−4及びMc−5の各加算及び減算コマ
ンドによつて制御されるトランジスタMm−7によつて提
供される。全加算器は、制御セクシヨンの出力を受取る
論理ゲートMn−1、並びにゲートMn−2及び排他的NORM
n−3を含んでおり、ラインMn−4上の和及びラインMn
−5上のキヤリを作る。速度は、同じレベル上でキヤリ
・リツプルの代りにキヤリ・フイード・フオワードを用
いることによつて増大する。レベルMa−1は先行のステ
ージからの部分積または和Mm−6を有しておらず、また
キヤリ・インMn−5も有しておらず、従つて、加算器は
必要でなく、モードMn−8において和(差)を作つてキ
ヤリを作らない制御器だけがあればよい。第2のレベル
Ma−2は、Ma−1からキヤリ・フイード・フオワードを
受取ることがないので、半加算器である。
ダイナミツク加算器すなわち31ステージ・リツプル・ス
ルー・キヤリ加算器の諸加算器ステージのうちの一つを
レジスタPの1つのステージとともに第4D図に示す。上
記加算器ステージは、トランジスタMd1によつてQ1また
はQ3上でゲートされる2つの入力Meを受取る。加算器Md
の6つのLSBは、その入力がQ1上でゲートされる。即
ち、スタチツクアレイ・レベルMa−1、Ma−2及びMa−
3が確立されており、そして出力Meがこの時点で妥当で
あるからである。従つて、出力Mfはまだ妥当となつてい
ないが、Mdにおける加算及びリツプル・スルーは開始で
きる。従つて、より多くの有効ビツトがトランジスタMd
1においてQ3上でゲートされる。次の低レベル有効ステ
ージからのキヤリ入力Md2が、排他的NOR回路Md3の1つ
の入力に、及び、次の高レベルのステージに対してキヤ
リ出力Md5を発生するキヤリ出力ゲートMd4に加えられ
る。論理ゲートMd6によつて入力Me及びキヤリ・インか
ら伝播期間が発生し、Md4付きの論理ゲードMd7によつて
キヤリ発生期間が発生する。同じ出力Md8がラインMd9に
よつてPレジスタ・ステージの入力に接続され、トラン
ジスタPaによるQ4上のID1からの#LPR(Pレジスタにロ
ード)によつてゲートされる。Pレジスタ・ステージ
は、1対のインバータIa及びQ2上でゲートされる再循環
トランジスタRcから成る。出力は、インバータPcととも
に、1つの入力としてのID1からの#NRPR(Pレジスタ
の読出しなし)を有するゲートPbによつてQ1上でALU−
b入力に加えられる。トランジスタPbはQ4上でALU−b
入力をプリチヤージする。
乗算器演算のタイミングを第3C図の(jj)〜(mm)に示
す。S0のQ2上で、レジスタTがロードされ、ブースのデ
コーダからの出力Mcは妥当となる。MPY命令がS1のQ3に
おいてデコーダ内で妥当であるとすると、Dバスからの
Mi入力はS1のQ4において妥当である。ダイナミツク加算
器Mdの低レベルのビツトはS2のQ1上でMd1を介してMeを
ロードされ、そしてキヤリが31ビツトの低レベルのもの
を通じてリツプルを開始し、次いでこれは高レベルの出
力Mfを通じてS2のQ3において継続し、従つてレジスタP
はPaを介してS2のQ4上でロードされ、データは、後続の
サイクルのQ1上でALU−1にロードされるまで、該レジ
スタに留まつている。
以上、本発明をその実施例について説明したが、本発明
はこの実施例に限定されるものではない。以上の説明か
ら、当業者には上述の実施例について種々の変形及び本
発明についての他の態様が可能である。かかる変形また
は態様は全て、特許請求の範囲に記載の如き本発明の真
の範囲内にある。
【図面の簡単な説明】
第1図は本発明にかかるマイクロコンピユータ・システ
ムのブロツク図、第2図は第1図のシステムに使用する
MOS/LSIマイクロコンピユータ装置(CPUまたは中央処理
装置を含む)のブロツク図、第3A図ないし第3C図は第2
図のマイクロコンピユータの演算における電圧または事
象対時間の関係を示すタイミングチヤート、第4A図ない
し第4D図は第2図のマイクロコンピユータ装置における
特定の回路の略線図である。 10……マイクロコンピユータ、11……メモリ、12……I/
O装置、13……制御バス、14……リード・オンリ・メモ
リ(ROM)、15……ランダム・マクセス・メモリ、17…
…クロツク発生器。
フロントページの続き (72)発明者 サレンダ−・エム・マガ− アメリカ合衆国テキサス州77072ヒユ−ス トン・サマ−フオ−ド・ドライブ11119 (56)参考文献 特開 昭56−85157(JP,A) 特開 昭51−97349(JP,A) 電子科学,27[14](1977−12),P. 13〜20 昭和55年度電子通信学会総合全国大会講 演論文集「1788,単−チップ化ディジタル 信号処理マイクロプロセッサの一検討」, P7−243,昭和55年3月 総合コンピュータ辞典第2版,山下英男 監修,1972年,日本経営出版,P.783〜 784,P.799〜800

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】半導体基板に形成されデータ端子を有する
    デジタル信号処理用マイクロコンピュータ装置であっ
    て、 データ入力及びデータ出力を有する演算論理ユニット
    と、 アドレス入力及びデータ入出力を有するデータメモリ
    と、 前記演算論理ユニットの前記データ入力及びデータ出
    力、前記データメモリの前記データ入出力、及び前記デ
    ータ端子に接続されたデータバスと、 アドレス入力を有し、少なくとも命令語を記憶するプロ
    グラムメモリと、 前記プログラムメモリの前記アドレス入力に接続された
    プログラムアドレス回路と、 前記プログラムアドレス回路に接続されたプログラムバ
    スと、 命令語に応答して、前記演算論理ユニットの動作並びに
    前記データバスへの及び前記データバスからのデータ転
    送を確定する制御信号を発生する制御回路であって、演
    算サイクルを生成するクロック電圧を発生するタイミン
    グ回路を含む前記制御回路と、 を含み、前記プログラムメモリは前記プログラムバスに
    接続された命令出力部を有し、前記制御回路は前記プロ
    グラムバスに接続された第1の回路を含み、前記データ
    メモリから前記演算論理ユニットの前記データ入力への
    データ転送、前記制御回路の前記第1回路に応答した前
    記プログラムアドレス回路から前記プログラムメモリの
    前記アドレス入力へのアドレス供給、及び前記プログラ
    ムメモリの前記命令出力部からの前記制御回路での命令
    語受取りを同一の前記演算サイクルの間に行うよう制御
    する前記制御回路を含む前記マイクロコンピュータ装
    置。
JP23503682A 1982-02-11 1982-12-28 マイクロコンピュ−タ装置 Expired - Lifetime JPH079646B2 (ja)

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 Child Applications (3)

Application Number Title Priority Date Filing Date
JP1306364A Division JPH079648B2 (ja) 1982-02-11 1989-11-24 マイクロコンピュータ装置
JP1306363A Division JPH079647B2 (ja) 1982-02-11 1989-11-24 マイクロコンピュータ装置
JP1306365A Division JPH079649B2 (ja) 1982-02-11 1989-11-24 マイクロコンピュータ装置

Publications (2)

Publication Number Publication Date
JPS58163060A JPS58163060A (ja) 1983-09-27
JPH079646B2 true JPH079646B2 (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 After (3)

Application Number Title Priority Date Filing Date
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 マイクロコンピュータ装置

Country Status (3)

Country Link
EP (3) EP0086307B1 (ja)
JP (4) JPH079646B2 (ja)
DE (3) DE3280477T2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 中央処理装置と乗算器とを有する半導体集積回路装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
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
US4144561A (en) * 1977-07-08 1979-03-13 Xerox Corporation Chip topography for MOS integrated circuitry microprocessor chip
FR2397679B1 (fr) * 1977-07-15 1988-02-26 Mostek Corp Calculateur microprogramme fabrique sur une pastille semi-conductrice unique
JPS5685157A (en) * 1979-12-15 1981-07-11 Toshiba Corp Information processor
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

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
昭和55年度電子通信学会総合全国大会講演論文集「1788,単−チップ化ディジタル信号処理マイクロプロセッサの一検討」,P7−243,昭和55年3月
総合コンピュータ辞典第2版,山下英男監修,1972年,日本経営出版,P.783〜784,P.799〜800
電子科学,27[14(1977−12),P.13〜20

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
JPH02186487A (ja) 1990-07-20
EP0377466B1 (en) 2000-03-08
EP0086307B1 (en) 1997-02-26
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
US4491910A (en) Microcomputer having data shift within memory
US4538239A (en) High-speed multiplier for microcomputer used in digital signal processing system
US4677586A (en) Microcomputer device having test mode substituting external RAM for internal RAM
US4713749A (en) Microprocessor with repeat instruction
US4713748A (en) Microprocessor with block move instruction
US4498135A (en) Microcomputer with accumulator addressing
US6829696B1 (en) Data processing system with register store/load utilizing data packing/unpacking
US4402042A (en) Microprocessor system with instruction pre-fetch
US4507727A (en) Microcomputer with ROM test mode of operation
US4608634A (en) Microcomputer with offset in store-accumulator operations
US4503500A (en) Microcomputer with bus interchange module
US4868784A (en) Microcomputer with a multi-channel serial port having a single port address
US4533992A (en) Microcomputer having shifter in ALU input
US4402043A (en) Microprocessor with compressed control ROM
US4586131A (en) Microcomputer having data move circuits for within-memory shift of data words
US4494187A (en) Microcomputer with high speed program memory
US4528625A (en) Input/output instruction execution in microcomputer
JPH079646B2 (ja) マイクロコンピュ−タ装置
US4506322A (en) Read/write memory cell for microcomputer
EP0226991B1 (en) Data-processing device
US4519031A (en) Microcomputer with accumulator saturation upon overflow
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