JPS60217438A - デ−タ処理装置および方法 - Google Patents

デ−タ処理装置および方法

Info

Publication number
JPS60217438A
JPS60217438A JP60041773A JP4177385A JPS60217438A JP S60217438 A JPS60217438 A JP S60217438A JP 60041773 A JP60041773 A JP 60041773A JP 4177385 A JP4177385 A JP 4177385A JP S60217438 A JPS60217438 A JP S60217438A
Authority
JP
Japan
Prior art keywords
data
stack
bus
register
registers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP60041773A
Other languages
English (en)
Other versions
JP2571757B2 (ja
Inventor
ドナルド ダブリユ.キヤンデイ
グランビイル イー.オツト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPS60217438A publication Critical patent/JPS60217438A/ja
Application granted granted Critical
Publication of JP2571757B2 publication Critical patent/JP2571757B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/3017Runtime instruction translation, e.g. macros
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30116Shadow registers, e.g. coupled registers, not forming part of the register space
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [#業りの利用分野] 未発明はデータの処理装置ならびに方法に関するもので
、とくにスレ・ソデッドインタープリティプランゲージ
(T I L)を用いたデータ処理装置ならひに方法に
係わるものである。
[従来の技術l 技術の進歩にともない、演算およびデータ処理Hの要求
をいずれも満たすような、高速ディジタルコンピュータ
に対する要望が高まっている。
中央処理装!(CPU)を用いて所定のタスクを行なう
速度はさまざまな要因により定まるが。
そのような要因としては、中央処理@置自体の実効速度
がどれほどであるかということと、該装置にどのような
言語を使用するかということが、あげられる、 実効速
度はコスト要因とデバイス技術の現状の関数であり、ま
たプログラミング言語は一般には、与えられたタスクに
対するプログラム速度と実行速度を向上させるように設
定することが可能な要因である。 最適のプログラム言
語はアセンブリコードを機械語に翻訳するアセンブリ語
であり、しかも、当面するアプリケーションかその使用
を許す場合には、もっとも効率の高い言語でもある。 
しなしながら、はとんどのプログラム言語はソース言語
をターゲット言語に変換オるに当って、コンパイラを使
用するものであり、動車の高いコードを作成しようとす
れと、コンパイラはいきおい複雑なものとなるのが通常
であり、また小型のマイクロコンピュータやミニコンピ
ユータではほとんど使用不能の大量のメモリを必要とす
る。 このため、大型のコンパイラを使用することなく
プログラム効率を高めるべく、さまざまの言語が開発さ
れており、そのような言語のひとつとして、一般に「ス
レツブラドインタープリティブランゲージ」として分類
されている言語がある。 このスレツブラドインタープ
リティブランゲージは、他の高レベルの言語よりも実行
速度が高く、これと同等のアセンブリ語プログラムに較
べて20%ないし75zシか実行速度が低くない、くわ
えて、スレツブラドインタープリティブランゲージはき
わめてコンパクトにコンパイルされ、従って回等のアセ
ンブリ語よりもメモリが少なくてすむコードを用いてい
る。 なお上記各言語については、たとえばrThre
aded Interpretive Languag
、es 」(R,G、 L/リジャ−,1981)およ
びrstarting ForthJ (レオ・プロデ
ィ)にその記載がある。
このようなスレツブ・ソドインタープリテイプランゲー
ジはソース語を引」すて、−日、ターゲ・ント語を作成
することなく、直接そのソース語を実行するものである
。 すなわちスレツブ・ソドコードインタープリタは、
ソース語を中間言語ないしは内部フオームに翻訳した後
、この内部フオームな実行する。 この内部フオームは
、あらかじめ設定された内部フオームのアドレスのリス
トからなるもので、このリストをスレッドすなわち縫い
合せた後に、これらアドレスないし内部フオームの各々
を次々と実行する。 翻訳の効率を高めるため、スレツ
ブラドインタープリティブランゲージは逆ボーランド記
法で動作する一連のスタックを用いる。 すなわち1個
々の表現を評価する順序を特定し、たとえば、数字や識
別子、オペランド等は、これらが適用される順序と同じ
順序で現われるようにするのである。
さらに、スレツブラドインタープリティブランゲージは
一般に、いずれも後入れ先出し (List−in F
irst−out)ブツシュダウン型のスタックを2個
、すなわちデータスタ・ツクとリターンスタ・ツクを用
いる。 データスタ・ツクは数字やオペランドのアドレ
スを記憶するのに用いられ、リターンスタックはプログ
ラムフロー制御パラメータを記憶するのに用いられる。
 スレツブラドインタープリティブランゲージの使用中
は、実行すべきタスクの各々について、プログラムステ
ップを複数回実行しなければならない、 前記内部フオ
ームのだめのアドレスのリストは1通常2次的コード体
、あるいはただ単に「セカンダリ」と呼ばれ、またイン
タープリタにより実行される内部フオームは「プリミテ
ィブ」と呼ばれる。所望の動作を実現する機械語からな
るコード体である。 スレツブラドリストの各スレッド
はプリミティブで終り4ついでもう一度、ヒ記セカンダ
リのスレッドに戻って他のプリミティブを実行する。 
かくてプリミティブが実行される度に、ivr定のセカ
ンダリのアドレスを記憶することが要求され、このプリ
ミティブが実行され次第、これらのアドレスが検索され
てプログラム中の適切な位置に戻されるのである。 も
っとも効率の高いプログラミングアプリケーションは、
明らかに、多数のセカンダリをスレッドすることなく一
律のプリミティブを実行するようなアプリケーションで
ある。 この種のプログラムの実行速度は、アセンブリ
語プログラムの場合とほぼ等しい。
所定のプログラミングアプリケーションに従来のマイク
ロプロセッサを用いて、スレツブラドインタープリティ
ブランゲージを実施する場合には、与えられたプリミテ
ィブを形成する機械語コード゛を実行するのに、有限数
のクロー、クサイクルが必要とされる。 たとえば、イ
ンテル社の280マイクロプロセツサを用いたマイクロ
プロセッサベースのシステムに、スレツブラドインター
プリティブランゲージを適用した場合には、データスタ
ックの最上位の内容を複写するためのプリミティブは、
マイクロプロセンサに約30種類のタイミング状態を必
要とする。 また、べつのプリミティブを実行する場合
は、280マイクロプロセツサベースのシステムは、デ
ータスタックの最上位の内容を破棄するのに約10種類
のタイミング状態を必要とする。 スレツブ・ンドイン
タープリテイブランゲージには、プリミティブがもっと
も効率の高い動作レベルであるため、プリミティブレベ
ルで実行することで、プログラム言語の効率の限界が定
まってしまうこととなる。 このような理由により、プ
ログラムの一部を高速で実行し、またプリミティブをき
わめて高速で実行することにより、スレツブラドインタ
ープリティブランゲージの実行効率を高めるべくした代
替技術の開発が望まれてきたのである。
r問題点を解決しようとするだめの手段]かくて大発明
は、上記のような要望に応えるべくしたスレッデッドイ
ンタープリティブプロセッサを提供するものである。 
このスレッデッドインタープリティブプロセッサは、制
御信号を伝送するデータバスを設けて処理速度を高める
ようにするもので、後入れ先出しロータリースタックを
用いて、その複数個のデータレジスタにデータを記憶さ
せる。 これらデータレジスタは、これを同時にアドレ
スしうるちのとすることによ(J。
データが該レジスタの1個または複数個に回部に入力し
、あるいはこれから出力されうるようにする。 また演
算論理ユニットを用いて1個々のデータレジスタに記憶
されたデータに対する演算論理動作を行なう、この演算
論理ユニットにデータを入力するためには、第1および
第2のバスを設けて、ト記ロータリースタック内のデー
タレジスタのうち選択されたレジスタの出力と、これら
バスを選択的にインターフェースさせる。 さらに第3
のバスを設けて、前記演算論理ユニットの出力をロータ
リー スタックのデータレジスタのう゛ち、選択された
1個のレジスタに選択的に接続させる。 さらに第4の
バスを設けて、L記憶1および第2のバスからのデータ
を、前記ロータリースタ・ツクのデータレジスタのうち
9選択された1個のレジスタの入力に転送する。 前記
第1.第2、第3および第4のバスの接続関係、および
前記演算論理ユニットにより行なわれる動作の種類を制
御するマイクロコード命令は、適宜の記憶手段に記憶さ
せておく、 これらマイクロコード命令は、プログラム
命令に応答してデータバスを介してアドレスされ、適宜
の情報を含んだ選択マイクロコード命令を出力する。 
さらに適宜の制御機構を設けて、前記第1.第2.第3
および第4のバスにおけるデータの流れ、および前記演
算論理ユニットにより行なわれる機能を9選択されたマ
イクロコード命令に応答して制御する。 ついで、この
選択されたマイクロコード命令に応答して実行されるべ
き機能が、前記ロータリースタック内の適宜のデータレ
ジスタに記憶されているデータを同時に処理することに
より、前記演算論理ユニ・・、トによって実行される。
本発明による装置の他の実施例においては。
ヒ記マイクロコードアドレスは、これを複数のグループ
形式で記憶手段に格納し、各グループのアドレスを所定
のパターンに配列する。 データバスに出力されたプロ
グラム命令に応答して、これら複数のグループのうちl
グループを選択して。
その内容たるマイクロコードアドレスを順次データバス
に供億合干る。 ついで、これらマイクロコードアドレ
スの各々なアクセスすることにより。
適、宜のマイクロニードアドレスを前記制御メカニズム
に出力させて、命令を実行する。 命令の実行後は1次
のマイクロコードアドレスが第2の記憶手段からアクセ
スされて、データバスに供給される。
本発明による装置のさらに他の実施例においては、2次
的な後入れ先出しロータリースタックを用いて、その複
数のデータレジスタにデータを記憶させる。 この2軟
ロータリースタ・ツク内のデータレジスタも、同時にこ
れをアドレスしう島ようなものとする。 該2次ロータ
リースタックのデータレジスタのうちから選択されたレ
ジスタからのデータは、第1および第2のバスを介して
iti記演算演算論理ユニット力に転送され、またこの
演算論理ユニットの出力は、2次ロータリースタックの
データレジスタのうち0選択された1個のレジスタに第
3のバスを介して接続する。 さらに」−記憶1および
第2のバスの一方からのデータは、第4のバスを介して
、2軟ロータリースタ・ツクのデータレジスタのうち選
択された1個のとジスタの入力に転送される。 さらに
適宜のスイッチ機構を設けて、2次ロータリースタック
と上記第1.第2.第3および第4のバスとの間のスイ
・ソチングを行なうことにより、転送パスを2軟ロータ
リースタ・ツクとインターフェースさせる、ついでマイ
クロコードデー′夕命令をアクセスして、2次ロータリ
ースタンク内のデータレジスタに記憶されているデータ
の処理を行なう、さらに適宜のタイミングユニツトを用
いて、h記スイッチ機構を定期的に動作させることによ
り、2軟ロータリースタ・ツク内のデータレジスタのデ
ータが、前記第1.第2.第3および第4のバスおよび
前記演算論理ユニットにより処理されうるようにするこ
とにより、2軟ロータリースタ・ツクのデータレジスタ
におけるデータの処理が、1軟ロータリースタ・ツクに
おけるデータの処理とは独立して行なわれるようにする
[実施例] 次に図面を参里して本発明の詳細な説明する。 第1図
は本発明によるスレーノデyド゛インタープリティブラ
ンゲージプロセッサ(以下蛍にTILプロセ・ソサとい
う)の一実施例の基本構成を示すプロ・νり図である。
 この本発明によるTILプロセ・ソサは、1サイクル
あるいはわずか数サイクル以内で、多重の撰択および演
算動作を実行する能力をもつもので、メイン入出力デー
タバス10(以下蛍にI10データバスという)および
アドレスバス12を有しこれらバスはI10サブシステ
ム/外剖メモリ14(以下車にメモリという)とインタ
ーフェースしている。 I10データバス10にはさら
に、演算論理ユニット16(以下車にALUという)が
インターフ、−スしており、このA L U 18に入
力するデータに対して演算論理動作を行なうことができ
る。
ト記A L U 1Bにはさらに、パラメータスタック
18がインターフェースしており、ハードウェアで後入
れ介出し (LIFO)スタックを構成する。
I10データバス10にはさらにリターンスタック20
がインターフェースしており、このリターンスタック2
0も後入れ先出しスタックとして構成されパラメータス
タック18およびリターンスタック20に蓄えられたデ
ータは、データマニピュレータ22により処理される。
 このデータマニピュレータ22は、L記ALU16の
動作を制御するとともに。
その選枳位置ないしアドレスにマイクロコード命令を記
憶する。 データマニピュレータ22はさらに、I10
データバス10から入力したマイクロコード命令アドレ
スに応答して動作子る。 これらマイクロコード命令は
、前記スタック18.20に関連してデータをどのよう
にシフトさせるか、また前記16に入力したデータに対
して該ユニットのどのような機能を実行させるかを決定
するものである。 パラメータスタック18.リターン
スタック20およびデータマニピュレータ22の動作は
、すべてシステムクロック26により制′御される。 
このシステムクロック26はさらにE記メモリ14にも
接続されて、そのタイムベースを与える。
第1図に示す構成は2水準制御方式を用いるもので、そ
の第ルベルの制御は、「プリミティブjの実行を行なう
ためのものである。 ここにいう「プリミティブ」とは
、TILプロセッサにより実行される甚大命令であって
、たとえばパラメータスタ・ツク18内のデータを処理
したり、該スタ・ツク因に記憶されているデータに対し
て演算動作や論理動作を行なったり、パラメータスタッ
ク18内からデータをシフトさせたり、あるいはこのス
タ・ツク1こ対してデータをシフトさせたりする命令を
台むものであるが、このような動作については後で詳述
する。 第2レベルの動作は[セカンダリ」と称するス
レ・ンデ・ソド′リストにより、前記プリミティブ命令
をw際にヌレラドする。すなわち「縫い合せる」こと等
である。 このセカンダリは木質的には、一群のプリミ
ティブ命令と、これら命令を実行するのに必要なステッ
プとからなるサブルーチンである。
前記I10データバス10およびアドレスバス12には
さらに、第2レベルメモリ3oがインターフェースして
おり、データマニピュレータ22用のマイクロコード命
令をアドレスバスで記憶するのに用いられる。 これら
のマイクロコード命令は。
I10データバス1oからデータマニピュレータ22に
入力されて、命令が実行される。 動作時には、該第ル
ベルメモリ24はアドレスバス12によりアト゛レスさ
れ、マイクロコード命令アドレスが工10データバス1
oに出力して、データマニピュレータ22の制御が行な
われる。 ヒ記パラメータスタック18による処理の大
部分については、マイクロコード命令にコード化された
諸機能が1クロックサイクル以内に実行される。 ただ
し後述するように、ALUIEiによる掛は算動作等、
若干の機能については、付加的なりロックサイクルが用
いられる。
さらにスレツブ・ソド゛命令制御回路28を設けて、工
10データバス10およびアドレスバス12を介して第
2レベルメモリ3oとインターフェースさせることによ
り、TILプロセッサの第2レベルの制御が行なわれる
。 動作時には、アドレスバス12を介して第2レベル
メモリ30をアドレスすることにより、該第2レベルメ
モリ30に記憶された複像のスレツブラドリストのうち
のひとつが、L記スレッデッド命令制御回路28により
実行開始され、ついで第ルベルメモリ24のためのデー
タがアドレス形六で、第2レベルメモリ30から出力さ
れる。 このアト゛レスはスレッデ、ンド命令制御回路
28により、工10データバス10からフエ・ソチされ
て、アドレスバス12に伝送される。 このようにアド
レスがアドレスバス12に供給され、第ルベルメモリ2
4がアドレスされると、該アドレスに記憶されているデ
ータが出力されて、データマニピュレータ22内のマイ
クロコード′命令が選択され。
プリミティブが実行される。 第ルベルメモリ24のた
めのアドレスが、アドレスバス12に供給されてデータ
マニピュレータ22がアドレスされるのと同時に、スレ
ツブ・シトリストのための次のllllli次アドレス
が、スレツブラド命令制御回路28によりが実行された
後、アドレスバス12に供給される。
かくて次のマイクロコードアドレスがI10データバス
10に送られて、プリミティブの実行完了後、データマ
ニピュレータ22がアドレスされ、スレツブ・シトリス
ト中の軟の順軟命令を実行することが可能となる。 従
ってスレ・ンデツド命令制御回路28は、所望のスレツ
ブ・シトリストをステ・ツブして、第ルベルメモリ24
からのマイクロコードアドレスを、順次I10データバ
スlOに伝送することとなる。 これらマイクロコード
アドレスはI10データバスlOにイ共烏合されると、
ただちにデータマニピュレータ22によりフェッチされ
、8亥アドレスに応答する記憶場所に記憶されている命
令が実行される。
所望のスレツブラドリストが実行された後。
別のスレ、ソデッドリストがメモリから選択されて実行
される。 メモリ14は多数のスレ・ソデ・シトリスト
を容易に実行しうるようにすべく構成してあり、このた
めに該メモリ14はI10データバス10レベルメモリ
30を補完する。 かくて、未発明によるTILプロセ
ッサを一枚のチ・ソプヒで製作する際に発生する。メモ
リの容量上の制約を解消することが可能となる。 メモ
リ内からデータを検索子る記憶場所を決定するためには
、アドレスバス12にアドレスなイ共本合するだけでよ
く、このようなデータの検索はスレツブラド命令制御回
路28による制御の判とで行なわれる。
未発明によるTILプロセッサを用いてプログラムを実
行するに当っては、プリミティブの実行に先立って多数
のセカンダリを実行しなければならない場合がある。 
ここにいうプリミティブとは最低レベルで実行される命
令のことであり。
これが実行された後には次の高いレベルに戻り。
このン欠のレベルがすなわちセカンタ゛りである。
マイクロコード命令のリストのスレ・ラド後1次のスレ
ツブラドリストが選択される。 これらのリストが実行
される順序は第3レベル動作の実行により定まる。 な
お上記各レベルについてはrThジャー、 1981)
にその詳細な説明がある。
TILを現在性なわれているようにソフトウェア形業で
実現する場合は、プリミティブの実行には宥限数のステ
ップすなわちクロンクサイクルが必要となる。 たとえ
ば、パラメータスタックから1ワード゛のデータを抽出
して、該スタック内の残りのデータワードを1記憶場所
分だけシフトアップさせるためには、システムクロ・ツ
ク26のクロックサイクルに17て約10ないし15サ
イクルが必要となる場合があ0うる。 システムクロ・
ツク28がこのようなタスクを行なっている期間中は、
システムのその他の個所は待機状態を保持せざるをえな
い、 故に未発明においては、演算論理動作を行なう回
路なA L U 16のかたちで実現することに加えて
、パラメータスタック18をハードウェア形式で遂行す
ることとするものであり、単純な処理であろうと複雑な
処理であろうと、システムクロツク26の1サイクル期
間内で、効果的に行なわれるようにしたものである。 
このようにしだたでも、@宇のプリミティブの実行速度
は約IOないし15倍向トし、より複雑なプリミティブ
に対しては、実行速度の向ヒ率は約40から50倍に近
づくこととなる。 ソフトウェア化したTILのプリミ
ティブ実行速度は9機械語による実行速度とほぼ同等な
いしt±これに近いため、未発明はプリミティブの実行
速度を、趨在もっとも効率の高いプログラミング手法以
−ヒのレベルにまで、向トyせるものである。
[第ルベルのプログラム実行−プリミティブ]第1図に
ついて説明したTILプロセ・・、すのより仝体的な構
成を第2図に示す、 同図において、ALU18はパス
34を介して一方面トランスファゲート32とインター
フェースしており、このゲート32はデータフローがA
 L U 1Bから外部に向うような方向としである。
 このA L U 1Bは16ビツトワイドのALUで
、このようなALUは4ピツ)ALUを44V4カスケ
ード゛接続して構成することができる。 該A L U
 16は2人力と1出力を有し作を行なう2 このよう
なALUlBの代表的な機能については、rTTL D
ata Book J (第2版、第7−273頁、第
1表および第2表、テキサスインスツルメンツ社、 1
9713’)にその記載がある。
一方向トランスファゲート32の出力はインターフェー
スパス36に接続され、このインターフェースバス36
は双方向トランスファゲート40を介してI10データ
バス10とコミュニケートしているこれらトランスファ
ゲート32.40は制御入力(図面中CTLで示しであ
る。以下間)を有し。
この制御入力によりデータフローの経路が決定される。
 ALUlBにはさらに4木の制御ライン42を介して
制御信号が入力し、この制御信号により1.dALU1
8の演算論理機能が選定される。 なお後述するように
、これらの制御信号は前記データ七二ピュレータ22に
おけるマイクロコード命令から、得られるものである。
未発明においてはさらに、後入れ先出しロータリースタ
ック44を設けて、これに18ビ、ソトのデ・・7り4
4は各16ビツトワイドのデータレジスタ8僧からなる
もので、これらデータレジスタを並列にアドレスするこ
とにより、データがこれらレジスタのオペてに同時に入
力し、あるいは該レジスタのオペてから同時に出力する
ことができる。 これらレジスタのうち、どのレジスタ
からデータを出力し、またどのレジスタにデータを入力
するかは、制2109.号により制御する。
上記ロータリースタ・ツク44の一方の出力およびA 
L U 16の一方の入力には、第1の出力データバス
46がインターフェースしており、またロータリースタ
・ツク44の他すの出力、およびALU16の他方の入
力には第2の出力データバス48がインターフェースし
ており、ロータリースタック44の一方の入力には前記
インターフェースバス36がインターフェースしている
。 さらにロータリースタ・ツク44の他方の入力には
、入力データパス50がインターフェースするとともに
、第2の出力データバス48と入力データバス50とは
、一方向トランスることにより、制御4i号に応答して
ロータリースタック44の出力からその入力にデータが
選択的に戻されるようにする。 ALUIBの第1の入
力と第2の出力データバス48との間には一方面トラン
スファゲート54が設けてあり、ALUtBの第2の入
力と第1の出力データバス46との間には一方面トラン
スファーゲート56が設けてあり、これにより制御信号
に応答してALUlBへのデータ転送が選択的に制御さ
れる。 さらにインターフェースバス3Bと第1の出力
データバス4Bとの間には、一方向トランスファゲート
38が接続され、I10データバスlOからのデータが
双方向トランスファゲート40を経由して伝送されて、
ALUlBの入力に供給される。 また第2の出力デー
タバス48とアドレスバス12との間には、双方向トラ
ンスファゲート57が接紗されて、これらの間のデータ
フローを制御音る。
ト記トランスファゲート32.38.40.52.56
および57は、前記ロータリースタック44.ALUの
データフローを制御するものである。 また後述するご
と<、h−記制御信号はいずれも制御ワードの1ビ・ン
トで構成され、生成される制御ワードによりデータフロ
ーの方向が変更される。 すなわち、たとえばロータリ
ースタック44からデータを取り出してこれをALUl
Bで処理する場合は。
一方向トランスファゲート52が非動作状態となり、ト
ランスファゲート54.58が動作状態となって、ロー
タリースタック44の出力をA L U 16の両入力
と導通させる。 ロータリースタック44内の適切なレ
ジスタは、制御ワードに応じて適M台カデータパス48
.48とインターフェースしている。
A L U 1Bはさらに制御ライン42を介して情報
を受け取って、そのデータ入力に対して算術動作を行な
うのか、あるいは論理動作を行なうのかを決定する。 
このデータは、ALUlBから電方向トランスファゲー
ト3−2に出力され、該ゲートが動作状態であれば、イ
ンターフェースバス36に至る。
データをロータリースタック44に戻す場合は、ドータ
リースタック44には適宜の制御信号が供給されて、ロ
ータリースタック44内のどのレジスタに当該データを
入力中るかを決定する。 すべての制御信号な舎む制御
ワードが生成され次第、全動作がシステムクロック2B
の1サイクル以内に行なわれる。
パラメータスタ・ツク18でプリミティブを実行するた
めには、制御信号を生成して各種トランスファゲートや
スタック、およびA L U 18を制御する必要があ
り、この制御信号を生成干るためには、第ルベルメモリ
24をアドレスしなければならない、しかしてこの第ル
ベルメモリ24は、その7枳アドレス位置に複数の制御
ワード゛を記憶する機能をもったマイクロコード読出し
専用メモリ(以下型にROMという)60からなってい
る。
またアドレスデコーダ62を設けてインターフェースバ
ス64を介して命令レジスタ58の出力を受け取り、後
述のように、受は取ったアドレス入力をデコードして、
当該アドレスがプリミティブのアト゛るかを判定する。
 アドレスデコーダ62の出力tよインターフェースバ
ス66を介17てマイクロコード′ROM60のアドレ
スデーダに入力される。 つl、XでマイクロコードR
OM80にアドレスされた制御ワードは.制御ラ・・、
千88に出力されてその出力の制御ワードをラッチする
. この制御ラ・・、千68の出力の制御ワードは.各
種のレジスタや制御111機能を動作させる複数の制御
ビ・・、トを生成するもので、たとえば制御■ワード中
の4個の順次ビ゛・ントカ〜AL U 1Bの制御ライ
ン42に割り当てられて.その算術機能あるいは論理機
能を行なわせる. 従って制御ワードとそのビ・・、ト
の論理状態により.仝/くスにおけるデータの嬌れおよ
び選択データレこ文4してA L U 1Bが行なう動
作が決定される。
1記マイクロコードROM[(Oは.制御ワードを出力
してプリミティブを実行するものである力く、「機能的
な」制御ワードを出力してTILプロセッサの他の機能
を制御するものでもある. このため、マイクロコード
゛ROMB(Diプ1ノミテイブする制御ワード゛を記
憶しており,このようなマイクロコーFROM80にお
けるプリミティブ制御ワードもしくは機能的制御ワード
を適宜アドレスオペ〈、前記アドレスデコーダ82はイ
ンターフェースハス64からアドレスを受け取って.そ
のアドレスがプリミティブ制御ワードに対応中るマイク
ロコード゛アドレスであるか.あるいはメモリ24また
はメモリ30のアドレス位置に対応するアドレスである
かを判定する. たとえば、マイクロニーFROMeO
におけるアドレス位置0ないし84をプリミティブ制御
ワードに割り当て.これらアドレス位置のうちのいずれ
かをインターフェースバス64から受け取ったときに.
アドレスデコーダ62がらインターフェースバス66を
介して.そのアドレスをマイクロコードROMf(Oに
伝送して,プリミティブ制御ワードを出力する. また
64を越えるアドレスについては.アドレスデコーダ6
2は与えられたグループのアドレスに対して.マイクロ
コードROM80内の特定のアドレス位置をアドレスす
ないし512が入力した場合、アドレスデコーダ62は
マイクロコードROMBO内の−っのアドレス位置をア
ドルスして1機能的制御ワード゛を出力する、 同様に
して513以−ヒのアドレスにより、アドレスデコーダ
62は第2の機能的制御ワードをアドレスする。 かく
てI10データバス1oに供給され命令レジスタ58を
介してクロ・ツク送りされたアドルスにより、プリミテ
ィブ制御ワードもしくは機能的制御ワードのアト゛レス
が行なわれる。 この機能的制御ワード゛のはたらきに
ついては後述する ヒ記のようにロータリースタック44は後入れ先出しス
タックで、そのデータレジスタのいずれかひとつの入力
に、インターフェースパス36または入力データバス5
oからデータを受け取り、またそれらデータレジスタの
いずれかから出力バス48および48にデータを出力す
るものである。 ロータリースタック44にデータが格
納される場合には・これを「ブーツシュ」動作と称し、
またロータリ、これを「ボ、ツブ」動作と称する。 か
くてロータリースタ・ツク44にデータがブツシュされ
る度毎に、光行中るデータが該スタック内にブツシュダ
ウンされる。 木実施例においては、このロータリース
タ・・、り44は8データレジスタのみの深さとし、従
ってもっとも優先度の低いデータレジスタのデータは、
他の個所に格納するか、あるいは破棄するかする必要が
ある。 こうしたデータを維持すべく、大発明において
は、オーバーフロースタ・νり76を設けて、このオー
バーフロースタック76を後入れ少出しスタックとして
構成することにより、データを受け取ってそのデータを
該スタックにプ・ソシュするか、あるいはスタックの最
−ヒ位のデータをポツプアウトする。 このオーバーフ
ロースタ・ツク78の入力は入力データバス5oに接続
され、その出力はインターフェースバス3Bに接続され
ている。
ロータリースタック44にデータが入力した場合には、
インターフェースバス3Bはロータリース接続され、ま
た入力データバス50は一方面トランスファゲート52
経由で出力データバス48に、またオーバーフロースタ
ック76の入力に接続される。
ついで出力データバス48が、ロータリースタック44
内で優先順位のもっとも低いレジスタに接続サレテ、オ
ーバーフロースタック7Bの人力にデータを出力する。
 以上のオペての動作、すなわちプリミティブの実行は
制御ラッチ68によるマイクロコード命令出力によって
、すべて1クロックサイクル以内に行なわれる。
〔第2レベルの動作=スレツブラドリスト]第2図にお
いて、前記I10データバス10にはさらに、双方向ト
ランスファゲート82を介して読出し専用拳等速呼出し
組合せメモリ (以下型にROM/RAMという)80
がインターフェースされ−cい6. このROM/RA
M80のROMfJHfデータを固定的に記憶し、また
RAM部はl−10データバス10を介してデータをア
クセスして、該RAM部の選択アドレス位置にそれを「
書き込む」とともに、当該選択アドレス位置からデータ
を「読、み出し」てI10データバス10に戻す機能を
もった。プログラマブルなメモリ部である。 徒ってこ
のROM/RAM80のRAM部は外部からプログラミ
ングを行なうことができるという改で、融通性に富むも
のであるといえる。
h記ROM/RAM80はアドレスバス12に接続され
、このアドレスバス12を介してアドルスされる。 R
OM/RAM80の選択位置と対応するアト゛レス/人
ス12のアドレスにより、ROM/RAM80内に記憶
されているデータが、双方向トランスファゲート82に
出力される9 ただしこのデータは、前記制御う・ソチ
68によって適切な機能的制御ワードが出力されないか
ぎり、I10データバスlOには出力されない、 すで
に述べたごとぐ。
この機能的制御ワードはI10データバス10に出力さ
れ、命令レジスタ58を介してクロ・ツク送りされた先
行アドレスに応答して、4:by、されるものである、
またROM/RAM80によりI10データバス10に
出力されるデータのほかに、メモリ14からもI10デ
ータバス10にデータを送ることができる、 これを容
易に行なうように十べく、I10データバスlOとメモ
リ14との間に双方向トランスファゲート84を設け、
制御ラッチ88から受け■νつだ適当な制御信号により
、この双方向トランスファゲート84を制御する。 か
くてL記トランスフアゲ−)82.84はメモリ14.
80のいずれかからのみのデータを、任意の時屯でI1
0データバスlOとインターフェースさせることが可能
となるアト゛レスをI10データバス10からアドレス
/ヘス12に転送すべく命令ポインタ86を設け、その
入力インターフェースパス88を介してI10データバ
ス10に接続し、出力をインターフェースバス90を心
してアドレス/ヘス12と才妄続させる。 この命令ポ
インタ86はI10データ/ヘス10からアドレスノへ
ス12へのアドレスによりクロックするとともに、イン
クリメント制御ライン(INC)96を介してこのアド
レスを1ずつ増加させる機能をもったデータレジスタで
ある。 このインクリメント()転進)機能については
後述する。
ROM/RAM80に記憶されたデータは、プリミティ
ブ制?i(lワード用のアドレスと機箭的制御ワード用
のアト゛レスとの組合せであり、これらデータは「リス
ト」に配列されている。 これらリストは、各リス)・
がマイクロコードROM80により出力さるへきプリミ
ティブ制御卸ワード用、および機能的制御ワード用のア
ドレスのグループからなるという占で、サブルーチンに
ftmfるものである。 いま、あるリストの初期アド
レスがアドレスバス12に供給されて双方向トランスフ
ァゲート82か動作すると、ROM/RAM80のアド
レスされた記憶場所に記憶されていたデータがI10デ
ータ/人ス10に出力されて、命令レジスタ58にロー
ドされる。 次のクロックサイクルで、このデータは命
令レジスタ58を介してアドレスデコーダ62にクロッ
ク送りされ、このアドレスデコーダ62は、これがプリ
ミティブ制御ワード用のアドレスであるか、あるいは機
能的制御ワード用のアドレスであるかを判定して、マイ
クロコードROM80が適宜の制御ワードを出力する。
 このアドレスが命令レジスタ58を介してクロック送
りされて制御ワードを出力させた後、命令ポインタ86
により別のアドレスがアドレスバス12に同時に入力さ
れてROM/RAM80における所定のスレツブラドリ
スト中の次の順番のデータがアドルスされる。
後述のように、命令ポインタ86にlオ先のクロックサ
イクルにおけるアドレスがロード在れでおり、このアド
レスがクロ・ツク送りされるか、あるいは当該アドレス
を該ポインタに記憶してインクリメント (歩進)させ
る。
スレ・ンデッドリストの実行を開始させるためには、ス
レツブラドリストの初期アドレスをROM/RAM80
から、あるいはメモリJ4から、I10データバス10
に伝送して命令レジスタ58にロードする。 ついでこ
のアドレスは、命令ポインタ86を介してアドレスバス
12に直接クロック送りされ、該ポインタ内でインクリ
メントされる。 このアドレスを命令ポインタ86にロ
ードするか、あるいは蛍にインクリメントさせてこれか
ら先行するアドレスを出力させるかを決定するため、デ
コーダ82を設けてこれをI10データバス1oとイン
ターフェースさせる。 このデコーダ82は、I10デ
ータバス10に出力されたアドレスがプリミティブ命令
に対応するものか、あるいはスレツブ・ソドリストの実
行を開始させるのに要する命令等よりレベルの高い命令
に対応するものかを判定するものである。 さきに述べ
たような、プリミティブ用のマイクロコードROM80
のアドレス位置が0ないし64である場合についていえ
ば、デコーダ92はアドレス内のより高次のビットの存
在を検出して、I10データバス10.J−のデータが
64より上であるか、あるいは以下であるかを判断する
64以下であると判断されたときlオ、命令ポインタ8
6をインクリメントさせ、64より上であると判断され
たときは、命令ポインタ88にI、10データバス10
のアドレスをロードして1次のクロ・ツクサイクルでこ
のアドレスをクロ・ツク・させる。
[第3レベルの動作−メインプログラム]ROM/RA
M8Qに記憶されているリストの「縫い合せ(スレ・ン
ド トギャザ)」は、メインプログラムすなわち第3レ
ベルの動作によ4Jく斤なわれる。 このメインプログ
ラム+t 、木質rIg4こlマROM/RAM80ま
たはメモ1)14内の特定の記憶場所しこ記憶されたア
ドレス群からなるもので、このアドレスリストの各アド
レスは、前述のスレ・ンデッド゛リストのうち、特定の
ひとつの初期アト゛レスを示すアドレスとすることがで
きる。 メインプログラムが進行するにともない、第2
レベルの動作のスレ・ンデ・ンドリストが実行される。
 ある#宇のスレツブ、ツド゛リストの実行力く完了し
た後。
メインプログラムの次のステ・ンプをI10データバス
lOに入力しなければならなl/)力く、これを3斤な
うためにはまず、リターンスタ・ツク20にアドレスを
格納して1だけインクリメントさせる。 このアドレス
をインクリメントさせるためにt±、1ノターンスタ・
ツク20とI10データ/ヘス10との間にインクリメ
ント用レジスタ84を設け、制御ノヘス96を介してデ
コーダ92によりこのインクリメント用レジスタ94を
制御する。 該イックリメント用レジスタ94は、制御
う、ツチ68により出力された海制御ワードによって制
御され、I10データ/<ス10力1らリターンスタ・
ツク20にデータを転送するとともに、インクリメント
用う・ンチとして1またらくことによって、データがあ
るクロ・シフサイクルでロードされ9次のクロ・ツクサ
イクルでクロ・ツク送9されて、1だけインクリメント
される9 1−記デコーダ92はメインプログラムにおけるスレソ
デッドリスト、あるいはステ・ツブのネ刀期アドレスを
表すアドレスなπいに区別するもので。
I10データバス10上のデータがスレ・ンデ・ンド゛
1ノストではなく、メインプログラム【こ割り当てられ
たアドレスであると該デコーダ92が判定したj場合に
は、インクリメント用レジスタ84力く1だ(ナイツク
リメントされ、リターンスタ・2り20を介してクロン
ク送りされる、スレツブ・ンドリストの実1〒が完了し
た後、リターンスタ・・、り20カ〜ポ1.プア、ツブ
してインクリメントされたアドレスが、トランスファゲ
ート98を介してI10データ/く210に出力される
。 このアドレスはメインプログラムの次の順次アドレ
スとなって、命令ポインタ86を介してアドレスバス1
2にクロ・ツク送りされ、ROM/RAM80もしくは
メモリ14をアドレスする。
[ロータリーデータレジスタスタック]第2図について
説明したロータリーデータレジスタスタック44の構成
を、第3図に拡大して示す、 図示のごとく、このロー
タリーデータレジスタスタック44は、8個の16ビ・
ットワイドのデータレジスタlないし8からなる。 こ
れらデータレジスタ1ないし8の入力には、入力インタ
ーフェースバス104を介してレジスタ/バス選択回路
102がインターフェースし、その出力には出力インタ
ーフェースバ2108を介してレジスタ/バス選択回路
106がインターフェースしている。 レジスタ/バス
選択回路102は、前記インターフェースバス38およ
び入力データバス50とインターフェースして、データ
レジスタ1ないし8のうちからy枳されたひとつにその
保持情報を転送するものであり、またレジスタ/バス選
択回路106は出力データバス48.48とインターフ
ェースして、デとつから、データを転送するものである
。 なおバス3fli、 50は、これらを同時に同一
のデータレジスタに結合したり、あるいは同時に2個の
別々のデータレジスタに結合したりすることが可能であ
り、また出力データバス46.48も、同一のデータレ
ジスタからデータを受け取ることも、あるいは同時に別
々の2個のデータレジスタからデータを受け取ることも
可能である。
ト記しジスタ/バス選枳回路102.108はいずれも
スタックポインタ110に接続され、このスタックポイ
ンタ110により、前記データレジスタ1ないし8のう
ち、どれがロータリーデータレジスタスタック44内で
もっとも優先順位が高いかを決定する。 この場合、該
スタックに対してデータを出し入れする度に、レジスタ
1を最優先スタックとして指定してデータをシフトする
のでなく。
単にスタックポインタ110を適宜のレジスタにインク
リメントさせるようにする。 すなわち4たとえばレジ
スタ4が最借先レジスタとじて指定さM!9イa41H
1ffMyITII/s;?/’Z−h)C=、−’;
’−nメ駆・出二フー1させる場合は、レジスタ/パス
選択回路106によりレジスタ3を出力レジスタとして
選択して、そのデータを出力データパス46.48のう
ち適宜のもののみを入力させる。 ただし、ロータリー
データレジスタスタック44にデータがブツシュされた
ときには、スタックポインタ110がインクリメントさ
れ、レジスタ/バス選択回路102による選択により、
レジスタ5にデータが入力される。 このデータがロー
タリーデータレジスタスタック44にブツシュされると
、優先度のもっとも低いレジスタ、すなわちこの場合に
はレジスタ5のデータを、スタ・ツクポインタ110の
インクリメント動作に先立ってオーバーフロースタック
78内に格納しなければならない。
ロータリーデータレジスタスタック44内の優先度のも
っとも低いレジスタから、オーバーフロースタック78
へのデータ伝送を行なうためには。
レジスタ/バス選択回路106をレジスタ5の出力を、
出力データバス46と結合させてトランスファゲート5
2を動作させることにより、出力データバス46を入力
データバス5oと接続させる。 後述のごとく、−回の
動作すなわち1クロックサイクル期間中に、出力データ
がオーバーフロースタ・ツク76にクロック送りされ、
スタックポインタ110はインクリメントされ、インタ
ーフェースパス38からのデータが、現時点においてロ
ータリーデータレジスタスタック44内でもっとも優先
度の高いレジスタ5に入力される。 従って、ロータリ
ーデータレジスタスタック44とオーバーフロースタッ
ク76とで、上位8個のデータレジスタが同時にアドレ
ス可能の、比較的深いスタ・ツクが構成されることとな
る。
次に第3図につき説明したロータリーデータレジスタス
タック44のうちのデータレジスタ1の概略の構成を第
4図に示す、 この第4図において、インターフェース
バス36.入力データバス5゜および出力データバス4
8.48はいずれも16ビツトワイドのパスであり9図
示の関係上、その接続部のみを示しである。 レジスタ
1は16個のD型フリップフロップからなるものである
が0図面ではそのうち最初の2個、すなわちビットOお
よびビット1に対応するフリップフロップと、最後のフ
リップフロップ、すなわちビ=t h 15に対応する
フリップフロ・ンプのみを示しである。 これら図示の
フリップフロップのうち、ビ・ントOはD型フリップフ
ロップ112に対応し、ビット1はD型フリップフロッ
プ114に対にし、ピッ)15はD型フリ、ツブフロ・
シブ118に対応するものであり、フリップフロップ1
14 と118との間の点線はレジスタ1に含まれるそ
の他のフリップフロップを表す。
フリップフロップ112のD入力にはAND10R反転
ゲ−ト118の出力が接続され、フリップフロップ11
4のD入力にはAND10R反転ゲート120の出力が
接続され、フリップフロップ116のD入力にはAND
10R反転ゲート122の出力が接続されている。 ビ
ット2ないし14に対応するフリップフロップ (図示
せず)にも、それぞれ対応するAND10R反転ゲート
が接続されていることはいうまでもない。
AND10R反転ゲート118を構成するANDゲーL
の一士の11+j斗 1±ギー々バフR11小ピゝ1、
klに接続され、他方のANDゲートの1人力は。
インターフェースバス36のビットlに接続されている
。 同様にして、 ANTI10R反転ゲート120を
構成するANDゲートの一方の1入力は、入力データバ
ス50のビ・ント2に接続され、他方のANDゲートの
1人力はインターフェースバス36のビット2に接続さ
れている。 さらに同様に、 AND10R反転ゲート
122における内部ANDゲートの一方の1人力は、入
力データバス50のビット15に接続され、他方のAN
Dゲートの1人力は、インターフェースバス36のビッ
ト15に接続されている。 これら反転ゲー)118〜
122の出力にインターフェースバス36又は入力デー
タパス50のいずれかからの各ビットが現1れるために
は、各反転ゲート内の内部ANDゲートの対応するAN
D入力に、イネーブル信号を入力してやることが必要で
あるが。
これらのイネーブル信号は3−8デコーダ124および
3−8デコーダ 12Bにより供給される。
方のデコーダ124は、上記ゲート118〜122がイ
〜116のD入力にデータを転送するようにイネーブル
するものであり、他方のデコーダ126は、ゲ−) 1
18〜122が入力データバス50からフリップフロッ
プ112〜116のD入力にデータを転送するようにイ
ネーブルするものである6 これらデコーダ124.1
213の各々は8出力で、これら出力の各々は前記デー
タレジスタエないし8の同様なゲートに、それぞれ接続
されている。
上記デコーダ124の入力には3ビツト加算回路128
の出力が接続され、上記デコーダ126の入力には3ビ
、・、ト加算回路130の出力が接続されている。 こ
れら加算回路128.130の入力は、3ピントアツプ
ダウンカウンタ132の出力に接続されている。 この
アップダウンカウンタ132は制御う・ソチ68からの
制御ワード出力により制御されて、前記データレジスタ
lないし8のうち、もつと≠)優先順位の高いものを決
定する。 加算回路128、130はマイクロコード命
令に応答して動作し。
上記ア・ンブダウンカウンタ132の3ビツト出力を膚
枦的にシフトさせることにより、スタック内の最上位の
レジスタとは優先度の異なるレジスタを選択する。 加
算回路128.130から出力された3ビツト制御ワー
ドは、それぞれデコーダ+24.−12Elによりデコ
ードされ9これにより適宜のデータレジスタを選択する
。 この場合、どのようなプリミティブを実行する場合
にもパス38.40を使用する必要がないため、デコー
ダ124.12ftには制御ラッチ68の出力に接続さ
れたイネーブル入力を設けである。 このイネーブル入
力はこれを制御することにより、インターフェースバス
3e、 50の一方もしくは双方を、ロータリーデータ
レジスタスタック44内のデータレジスタの入力から効
果的に分離することができる。
上記フリップフロップ112のQ出力は、NANDゲー
ト134の1人力およびNANDゲート136の1人力
に接続され、NANDゲート134の出力は出力データ
バス46のビット0に接続され、またNANDゲート1
36の出力は出力バス48のビ・ントOに接続されてい
る。 さらに上記フリップフロ・ンプ114のQ出力は
NANDゲート138の1人力およびNANDゲー) 
140の1人力に接続され、NANDゲート138の出
力は出力データバス46のビット1に接続され、またN
ANDゲート140の出力は出力バス48のビット1に
接続されている、 またさらに、上記フリップフロ・ン
プ11GのQ出力は、NANDゲート142の1人力お
よびNANDゲート144の1人力に接続され、NAN
Dゲ−) 142の出力は出力データバス48のビット
15に接続され、またNANDゲート144の出力は出
力バス48のビット15に接続されている。
さらに、NANDゲート134.138.142の他の
入力には3−8デコーダ146のビットOが接続され、
またNANDゲート131(、140,144の他の入
力には3−8デコーダ148のビ’y ト0か接続され
ている。 3−8デコータ146は出力データバス46
を遣釈する機能をもつもので、3−8デコーダ148は
出力バス48を選択する機能をもつものである。 上記
アップダウンカウンタ132の出力には3ビツト加算回
路150の入力が接続され、この1111管[ml蕗1
ら0の出力り音曲9.デコーダ146の入力に接続され
ている。 アップダウンカウンタ132の出力にはさら
に、3ビツト加算回路152の入力が接続され、この加
算回路152の出力は前記デコーダ148の入力に接続
されている。 これら加算回路158 、152および
これら回路と組み合せて用いられる前記デコーダ148
.148は、前記加算回路128゜130およびデコー
ダ124.128とそれぞれ同等の動作を行なうもので
ある。
動作蒔には、前記アップダウンカウンタ132は、その
3ビツト出力が前記データレジスタエないし8のうち、
もっとも優先順位の高いレジスタを表す状態にシフトさ
れている。 この場合、かりにインターフェースバス3
6から優先順位第2位のレジスタにデータが入力される
ものとすると。
まずデコーダ124がイネーブルされて加算回路128
に命令が与えられて、ア・ンプダウンカウンタ132の
出力が1だけシフトされ、この結果レジスタ選択回路の
内容が1だけシフトされる。 命令を実行するに当って
、インターフェースバス36からのデータと同時に入力
データバス50からデータを人力する必要のある場合は
、デコーダ126もイネーブルされて適宜の信号が加算
回路130に入力され、ロータリーデータレジスタスタ
ック44内の最り位の内容に関して所望のデータレジス
タが選択される。 デコーダ148.148および加算
回路150゜152による所望の出力パスの選択も、上
記と同様にして行なわれる。
次に第5図に前記オーバーフロースタック7Bの構成を
示す、 このオーバーフロースタック78は、記憶容量
256にのRAM154を記憶手段として用いる。 こ
のRA M 154は読出しおよび書込みの両方の機能
をもつもので、8ビツトアドレス入力を介してアドレス
することにより、16ビ1.トのデータポートからデー
タの読出しまたは書込みを行なうことができる。 この
RA M 154のアドレス人力AO−AVには、8ビ
・ントのアップダウンカウンタ156の出力が接続され
、このアップダウンカウンタ156の入力は、制御ラッ
チ68の出力に現われるマイクロコード命令によって制
御される、 該アップダウンカウンタ156は、前記ア
ップダウンカウンタ132 と同期して動作することに
より、ロータリーデータレジスタスタック44にデータ
をロードすることによって、該スタック内のもっとも優
先順位の低いデータがRA M 154にロードされる
ように、前記スタックポインタ110およびロータリー
データレジスタスタック44を制御する。 RA M 
154にはさらに、読出し書込みイネーブル回路158
が接続され、該RA M 154の出力ポートからデー
タの読出しを行なうか、あるいはRA M 154に対
するデータ書込みを行なうかを決定する。 この読出し
書込みイネーブル回路158゜は、前記制御ラッチ68
から出力されるマイクロコード命令により制御される。
前記入力データバス50のビットOには、双方向パスト
ランシーバ180の一方のポートが接続され、その他方
のポートはRA M 154のDO人力に接続されてい
る。 また、前記インターフェースバス3Bのビット0
には、双方向パストランシーバ182の一方のポートが
接続され、その他方のポートはRA M 154の上記
DO人力に接続されているさらに入力データバス50の
ビット15には、双方向パストランシーバ184の一方
のポートが接続され、その他方のポートはRA M 1
54のD15人力に接続されている。 インターフェー
スパス36のビット15には、双方向パストランシーバ
1BBの一方のポートが接続され、その他方のポートは
RAM154のDI5人力に接続されている。 これら
パストランシーバ160ないし186は双方向ゲートで
、それぞれ3状態出力をもち、入力データパス50の各
ビットとインターフェースバス36の各ビットのいずれ
かを選択するとともに RA M +54に対するデー
タの流れ方向を選択する。 トランシーバ180.18
2はいずれもRAM154のデータ人力DOと関連し、
同様にトランシーバ1f34.18BはいずれもRAM
154のデータ入力D15と関連している、上記同様の
トランシーバが入力データバス50とインターフェース
バス36との間に接続され、RA M 154のデータ
入力DIないしD14とそれぞれ関連していることはい
うまでもない。
パス/す白遭釈回路17O1士その出力に4木の制御ラ
インが接続され、トランシーバ160〜166にそれぞ
れ導かれている。 これら4木の制御ラインのうち2木
の制御ライン172は、トランシー/<180.184
を制御するもので、これによりRAM154が入力デー
タバス50と接続される。 残りの2木の制御ライン1
74はトランシーバ182.188を制御するもので、
これによりRA M 154のデータ入力がインターフ
ェースバス36と接続される。
制御ライン172.174のrl、+ ra」状態に応
じて、データはインターフェースバス36および入力デ
ータバス50のいずれかからRA M 154へ、また
RA M 154から/ヘス3B、 50のいずれかへ
と流れ、あるいはデータの疏れが禁1) 3れる。
[システム動作] 動作時には、システムの動作はまず第3レベル、すなわ
ちメインプログラムで行なわれ、ついでプリミティブレ
ベルにスレッドダウンされる。
これは通常、メインプログラムの1ステツプをアドレス
することによって行なわれ、これにより、システムの動
作がROM/RAM80に記憶されたスレツブラドリス
トのひとつに伝えられる。 このスレツブラドリストが
実行された後、プログラムはメインプログラムの次のス
テップに戻される。
ト記スレッデッドリストを実行するに当っては。
該リスト内の各アドレスがI10データバス10に供給
されて、当該アドレスと対応する所定のプリミティブが
順次実行される。 スレツブラドリストの終りでは、リ
ターン命令によりすべてのトランスファゲートが動作状
態となって、システムがメインプログラムに戻される。
 以下の記載では3種のレベルの動作についてのみ説明
するが、多数の「スレッド」をメインプログラムとプリ
ミティブレベルとの間に用いることも可能である。
好ましい実施例においては、プリミティブは前記制御ラ
ッチ68により出力される制御ワードによって設定され
る。 前述のごとく、この制御ワードはTILプロセ・
ンサの各種のバスにデータの流れを形成するもので、所
望のプリミティブに対するアドレスを適宜選択すること
により、該TILプロセッサは所定数のクロックサイク
ル期間内にプリミティブを実行する。 はとんどの場合
プリミティブはすべて1クロツクサイクル内に実行され
る。 ただし、ALUIBによる掛は算動作をともなう
プリミティブなどのように、その実行に2ないし4クロ
ツクサイクルをかけて、十分な時間を確保する必要のあ
る動作もある。 所望の実行動作がプリミティブとして
設定されていない場合は、多数のプリミティブを第2レ
ベルの動作におけるスレツブラドリストとして実行する
ことにより、当該動作を行なう必要がある。 そのため
には多くのクロックサイクルが必要であり、従ってこの
場合は、可能な限り多数のプリミティブをあらかじめ作
成して、TILプロセッサの実行速度を高くするように
するのが望ましい。
本実施例に使用するプリミティブ命令群を第1表に示す
、 この第1表において、「p」は前記ロータリースタ
ック44を構成するデータレジスタ1ないし8のうち、
いずれかのレジスタに格納されたアーギュメントを意味
する。 また各アーギュメントの優先度はrpl、 p
2. p3. 、 、 、 Jで表され、このうち例え
ば「pl」がデータレジスタ1ないし8のうち、もつと
も優先順位の高し)レジスタに格納されたアーギュメン
トを意味するものとする。 さらに符号rfJはフラ・
ングで、このフラッグは木質的には、レリバント (連
関)ビ・ソトをただ一個だけ含むデータワードである。
 なお1以上の用語については、たとえばr Star
tingForthJ (レオ・プロディ、1981)
にその説明がある。
1上l プリミティブ命令 + (pL p2 −− sum) 足し算・−(pi
 p2 −− diff) 引き算(pi−p2)。
才 (pi p2−prod) 手1目す算。
/ (pi p2 −− quot) 割りTtl: 
(pl/p2)。
1+ (p −−pi1) lを加える。
1 (p −−p−1) lを引く。
2÷ (p−pi2) 2を加える。
2− (p −−p−2) 2を引く。
2よ (p−p家2)2を掛ける(左シフト)。
2/ (p −−p/2) 2で割る (右シフト)。
Negate (p−l)) 2の補数。
= (pi p2 −− f) pl=p2ならば真。
< (pi p2−f) pl<p2ならば真。
> (pi P2 −− f) pi>p2ならば真。
0= (p −−f)Oならば真。
0< (p −−f) 負ならば真。
0ン (T)−f) 正ならば真。
U((pi p2 −− f) IpH< 1p21な
らば真。
AND (pi p2 −− and) 論理AND 
OR(pi p2 −− or) 論理OR。
XOR(pi p2−exor) 排他的OR。
(padr−) アドレスされたメ モリにpを移動。
@ (adr −p) アドレスされたメモリをpに移
動。
CI (padr−) キャラクタをメモリに移動。
C(adr−p) メモリからキャラ クタをロード。
>R(p −) パラメータスタ・ツ クの値をリターン スタックに移動。
R> (−p ) リターンスタ・ツクの値をパラメー
タ スタックに移動。
I (−p) リターンスタック の最上位の内容を コピー。
1’ (−p ) リターンスタ・ツクの第2位の内容
を コピー。
J (−p) リターンスタック の第3位の内容を コピー。
S讐AP (pi p2−a2 pi) スタ・ツクの
最上位および第2位の内 容を交換。
DIP (p −−pp) 最上位のスタ・ツク内容を
複写。
oVER(pi p2−− pl p2 pi)スタッ
ク最上位に第2位の内容のコ ピーをブツシュ・ ROT (pi p2 p3 @3位の内容をス−−p
2 p3 pi) タック最上位にローテート。
DROP (p−) 最上位のスタック内容を破棄。
第6図に、前記第3レベル動作たるメインプログラムの
3ステツプを示すプログラムのフローチャートを、第2
レベル動作のための関連スレツブラドリスト、およびこ
れらスレツブラドリストのひとつに対するプリミティブ
レベルの動作とともに示す、この第3レベルにおけるメ
インプログラムの図示の部分は、プログラムステップ1
80rMASK ADDJ と、プログラムステップ1
82rl−」と、プログラムステップ183 rMAs
K ADDJとからなるものである。 これらプログラ
ムステ・ンプ180〜183は、前記ROM/RAM8
0またはメモリ14におけるアドレス位置を表すもので
ある。 メインプログラムのこれら第3レベルのアドレ
ス位置それぞれには、実行すべき特定の機能に対する第
2レベルのアドレスが記憶されている。 本例では、ス
テップ180〜183のアドレスはすべて、第2レベル
動作におけるスレツブラドリストの最初の第2レベルア
ドレスに対応するものである。 HASK’ ADDス
テップ180はこれと関連するスレツブラドリスト18
4に流れ、rl−Jステップ182はこれと関連するス
レツブラドリス) 185に流れ、さらにMASK A
DDステップ183はこれと関連するスレツブラドリス
ト187 に流れる。
メインプログラムでは、 MASK ADDプログラム
ステップ180.183は」−記スレッデッドリスト1
84゜187によりそれぞれ行なわれる機能を表すもの
である。 実際には、これらスレツブラドリスト184
、187は同等の機能ないしはサブルーチンであるため
、同一のメモリを占有する。 従ってプログラムステッ
プ180.183に含まれる第2レベルのアドレス位置
は、同一のデータ、すなわちMASK ADDスレッデ
ッドリストの最初のアドレスをその内容とするものであ
る。 このMASK ADDプログラムステップにより
得られる機能は、与えられたワードの一部をマスクして
、このマスクされたワードをほかのアーギュメントに加
算して、オーナメント(修飾)ワードを用いてその結果
のORを取る。
これは論理l状態で8ビツトとなり、論理0状態で8ビ
ツトとなるアーギュメントAを生成することにより達成
される。 アーギュメントAおよび他の任意のアーギュ
メント、たとえばアーギュメン)Bに対して論理AND
機能が行なわれると、該アーギュメントBの最初の半分
のみが出力されて、マスクドワードとなる。 ついでこ
の結果がアーギュメントCに加算されて、その結果が論
理OR演算によりオーナメントワードと組み合せられる
。 このオーナメントは、あとで認識用に用いるために
、マスクドビットのうちの任意の1ビットにおける論理
lとすることができる。
アーギュメントにはアーギュメントA、アーギュメント
B、アーギュメントC,アーギュメントDの四種類があ
り、これら四種類のアーギュメントは前記ロータリース
タック44にブツシュされて、該スタック内の上位四個
のデータレジスタを占有している。 いったんプログラ
ムのローディングが行なわれると、そのプログラムが上
記プログラムステップ180からスレツブラドリス) 
184にスレッドダウンする。 このスレツブラドリス
ト184は、rANDJ とラベルされたプログラムス
テップIH、r+」とラベルされたプログラムステップ
18B 、rORJとラベルされたプログラムステップ
180.およびr RETURNJプログラムステップ
192からなるものである。 スレツブラドリスト18
4におけるこれらプログラムステップの各々の実行中は
、プリミティブレベルの実行にプログラムが流れて、第
2レベルの実行における次の順番のプログラムステ・ン
プに戻る。 プログラムステップ188 r A N 
D JはプリミティブレベルのrANDJ とラベルさ
れたプログラム1θ4に流れ、「+」プログラムステッ
プ188はプリミティブレベルの「+」とラベルされた
プログラム196に流れ、rORJプログラムステップ
190は「OR」とラベルされたプリミティブレベルの
プログラムIHに流れる。 図示を簡単にするため、第
6図ではスレツブラドリスト18e、 18?のプリミ
ティブレベルプログラムは省略しであるが、たとえばス
レツブラドリスト187はスレツブラドリスト184と
同等であり、従って、プリミティブレベルのプログラム
ステップ184.198.198は、いずれもスレツブ
ラドリスト187により使用されるプログラムステ・ン
ブである。
スレツブラドリスト184の実行中は、 MASK A
DD動作によってデータレジスタ1ないし8内のデータ
が処理され、優先順位の高い4個のレジスタのデータの
みが取り扱われれる。 この場合のMASK ADD動
作を第2表に示す、 この第2表において、DRlは最
優先データレジスタで、OR2〜OR4はこの順に優先
順位が低いデータレジスタであるまたArgAないしA
rg Oは処理対象としてのアーギュメントを表し、 
Arg Aがマスク用ワード、 Arg Dがオーナメ
ントである。
第2表 動 作 −Dλi−一一一一一一一 (データをロード>> A、rg A <<AND)) Arg A Arg B<(+:)>
 (Arg A Arg B) + Arg C<< 
OR>> [(Arg A Arg B) +Arg 
C1<or> Arg D 動 作 OR2則卜旦 則亀A (データをロード>> Arg B Arg CArg
 D<<AND>> Arg CArg [1t<<+
>> Ary、D よ よ 次に第6図に示す3ステツプ第3レベルプログラムの動
作について、第2図および第6図を参照して説明する。
 なお本例では、プリミティブ命令を表すアドレスには
、アドレス位置Oなl/)シロ4を割り当て、第2レベ
ル動作のスレ、ンデ5.ド゛1ノストにおけるプログラ
ムステ・ンプのためのアドレスには、アドレス位置65
ないし512を割り当て。
メインプログラム、すなわち第3レベルにおtするプロ
グラムステップには、513以上のメモリ位置を割り当
てることとする。
第3レベル動作のプログラムステ・ンプ180をアドレ
スするためには、このプログラムステ・ンプの第3レベ
ルのアドレスを前記I10データ/くスlOにロードす
ることが、まず必要である。 さらに前記トランスフア
ゲ−)82,84を適宜動作状態として、このアドレス
を含むメモ1J14.80の一方を選択する。 この第
3レベルのアドレスが高レベル動作であることをデコー
ダ92により判定し、この判定にもとついて、インクリ
メント用レジスタにアドレスをロードして、当該アドレ
スを1だけインクリメントさせる。 十記デコーダ92
j±さらに命令ポインタ86を制御して、これに第3レ
ベルのアドレスをロードする。 次のクロ・ンクサイク
ルでは、レジスタ94に記憶されているインクリメント
された第3レベルのアドレスが、リターンスタック20
に記憶され、さきに命令ポインタ86にロードされてい
た第3レベルのアドレスが、アドレスバス12にクロッ
ク送りされる。 第3レベルのアドレスがアドレスバス
12に現れると、この第3レベルのアドレスに含まれて
いるデータが、メモリ14.18のうちI10データバ
スlOに接続された方のメモリから、該I10データバ
ス10に供給される。 命令ポインタ88の内容が上記
のようにアドレスバス12にクロック送りされるととも
に。
命令レジスタ58の内容がアドレスデコーダ62にクロ
ック送りされ、アドレスのアドレス位置が64以]−で
高レベルステップであるため、前述のように、上記クロ
ック動作により制御ラッチ68から機能的制御ワードが
出力されることとなる。 かくて出力された制御ワード
により、各種のトランスファゲートが動作状態となって
1次の命令を受け取る。
プログラムステップ180の第3レベルのアドレスに含
まれているデータは、 MA!3K ADDスレッデッ
ドリスト184の最初の第2レベルのアドレスであり、
これが次の命令となる。 この第2レベルのアドレスは
I10データバスlOに供給され、デコーダ82により
第2レベルのスレツブラドリストアドレスであるものと
して、デコードされる。
上記のようにこの最初のアドレスは、インクリメント用
レジスタ84にロードされてそのアドレスをインクリメ
ントさせることなく、命令ポインタ86およびさらに命
令レジスタ58にロードされる。
次のクロックサイクルでは、命令レジスタ58の第2レ
ベルのアドレスがアドレスデコーダ62にクロック送り
され、また命令ポインタ86の第2レベルのアドレスが
アドレスバス12にクロック送りされる。 このステッ
プを第6図にフローライン200で示す、 第2レベル
のアドレスは高レベルの命令であるため、制御ラッチ6
8により機能的制御ワードが出力される。 この機能的
制御ワードにより、トランスフアゲ−)82.84が動
作状態とされて、どのメモリからAND命令のためのマ
イクロコードアドレスを受け取るべきかを決定する、 
かくて選択されたメモリ14又はメモリ80からのAN
Dマイクロコードアドレスが、アドレスノくスエ2にお
ける第2レベルのアドレスによって検索され、I10デ
ータバスlOにイ共3合される。 このステップを第6
図にフローライン202で表す。
プログラムステップ18Bで上記のごと<I10データ
/ヘス10に供給されたマイクロコードアドレスは、マ
イクロコードRAM6Gのためのアドレスであり、これ
がプリミティブのアドレスであって、スレ・ンデツドリ
ストの最初のアドレスではないことを、デコーダ82に
より識別して、命令ポインタ8Bにマイクロコードアド
レスをロードする代りに、その内容をインクリメントさ
せる。 力)くて命令ポインタ8Bには、スレ、ンデ、
ラドリスト184におけるプログラムステップ188の
ための第2レベルのアドレスがロードされる。 また、
上記のように命令ポインタ8Bの内容がインクリメント
さ朽スジし水L−姦春シーづスレ58にI / 07”
 −タ/<ス10のマイクロニードアドレスがロードさ
れる。
次のクロックサイクルでは、命令レジスタ58の内容が
アドレスデコーダ62にクロ・ツク送りされて、マイク
ロコードROM80をアドレスする。
このアドレスはプリミティブアドレスであり、従ってプ
リミティブ制御ワードが制御ラッチ88により出力され
て、ロータリースタック44内の適宜のトランスファゲ
ートを動作状態として、所望の機能を行なう、このアド
レスはANDm能のアドレスであり、従ってALU18
の入力に接続されたトランスファゲート54.58が動
作状態となって。
ロータリースタック44内の第1および第2のデータレ
ジスタのデータが、出力データ/<ス4B、 48に供
給される。 該ALU1Bの出力は、トランスファゲー
ト32お・よびインターフェース/ヘス36を介して、
ロータリースタック44の第2のデータレジスタとイン
ターフェースしている。 このようにして、データレジ
スタDRIとデータレジスタDR2のアーギュメン)A
との間で論理△NDの演算が行なわれて、その演算結果
がロータリースタ・ツク44の入力に与えられる。
マイクロコードアドレスが命令レジスタ58にクロック
送りされるのと同時に、命令ポインタ86内のインクリ
メントされた第2レベルのアドレスが、アドレスバス1
2にクロック送りされる。 このインクリメントされた
第2レベルのアドレスは、「+」プリミティブ用のマイ
クロコードアドレスを含むプログラムステップ188の
アドレスを表すもので、このマイクロコードアドレスを
I10データバス10に供給するために、前記トランス
ファゲート82 、84の一方が動作状態とされる。 
これらトランスフアゲ−)82.84は、いずれも前記
制御ラッチ68により出力される制御ワードによって制
御されるもので、後述するように、 RETURN命仝
など特別の場合以外は、プリミティブアドレスの後には
常にメモリからのアドレスが引き続くものであるため、
上記トランスフアゲ−)82.84の一方が必ず動作状
態とされる。 このため、所定のプリミティブ命令が実
行されるのと並行して。
所定のスレ・ンデッドリスト中の次の順次アドレスがフ
ェッチされる。 このステップを第6図において、AN
Dプリミティブレベルプログラム194から「+」プロ
グラムステップ188に至るフローライン204で示す
次のクロックサイクルでは、ALUlBから出力された
データが、第2優先順位のデータレジスタに入力され、
スタックポインタがインクリメントされるため、該第2
のデータレジスタが第1のデータレジスタとなる。 従
って、アーギュメントAおよびアーギュメントBに対す
る論理AND演算の結果が、ロータリースタック44の
最上位レジスタに記憶される。 さらに、前記オーバー
フロースタ・ツク76内の最上位の内容が、もっとも優
先順位の低いデータレジスタに格納される。
A L U 1Bからのデータがロータリースタック4
4内に入力されるにともない、デコーダ82が命令ポイ
ンタ86をプログラムステップ190のための第2レベ
ルのアドレスに、デコーダ92によりインクリメントし
て、命令レジスタ58内のマイクロコードアドレスがア
ドレスデコーダ62にクロ・ツク送りされ、マイクロコ
ードROM80がアドレスされて「+」 プログラムス
テップ196のためのプリミティブ制御ワードが出力さ
れる。 このマイクロコードアドレスにより、制御ラッ
チ68から制御ワードが出力されて、ロータリースタッ
ク44内の第1順位および第2順位のデータレジスタI
IRI、およびDR2が出力バス46.48に接続され
る結果、トランスファゲート54.58が動作状態とさ
れて、このデータをA L U IEIに入力する。 
ALUlBはさらに加算動作を行なうように制御され、
その出力はトランスファゲート32を介して、インター
フェースバス36に供給される。 このインターフェー
スバス36は、ロータリースタック44内の第2優先順
位のデータレジスタとインターフェースしており、次の
クロックサイクルでA L U 1Bからの前記出力が
該レジスタに入力する。
同じクロックサイクル中に、ORプログラムステyプ1
90のだめの第2レベルのアドレスがすでにアドレス/
くス12Lご出#1:Jz hでセ番1 この坑2レベ
ルのアドレスに含まれているマイクロコードアドレスが
フェッチされて、■10データバスlOに供給される。
 このステップを第6図にフローライン208で示す、
 上記マイクロコードアドレスによってマイクロコード
ROM80がアドレスされ、論理OR機能に対応する制
御ワードが出力される。 ■10データバス10に現れ
たマイクロコードレスの存在はデコーダ82により検知
されて、命令ポインタ88がプログラムステップ192
のための次の第2レベルのアドレスにインクリメントさ
れ、さらに命令レジスタ58に論理OR機能のためのマ
イクロコードアドレスがロードされる。
次のクロックサイクルでは、命令レジスタ58のマイク
ロコードアドレスがアドレスデコーダ62にクロック送
りされて、マイクロコードROM60がアドレスされ、
論理OR機能に対応する制御ワードが出力される6 こ
のステップを第6図にフローライン210で示す、 こ
の制御ワードにより、ロータリースタック44内の優先
順位第1位および第2位のデータレジスタDRI、およ
びDR2がAL U 1Bの入力に接続されて、論理O
R機能が実行され、その結果がインターフェースバス3
6にロードされる。 このインターフェースバス36は
、ロータリースタック44内の優先順位第2位のデータ
レジスタとインターフェースしている。
ただ今のクロックサイクルでは、命令ポインタ8Gのイ
ンクリメントされた第2レベルのアドレスがアドレスバ
ス12に供給され、プログラムステップ182に対応す
るデータレジスタがアドレスされる。 このデータレジ
スタには、 RETURN命令のためのブイクロコード
アドレスが記憶されており、このマイクロコードアドレ
スがI10データバスIOに供給されて、命令レジスタ
58にロードされる。 これと同時に、当該アドレスが
マイクロコードアドレスであることがデコーダ82によ
って検知され、命令ポインタ86の内容がインクリメン
トされる。 このステップを第6図にフローライン2!
2で示す、 なお後述するように、プログラムステップ
182はスレツブ・ノドリスト184内での最後のプロ
グラムステップであるため、命令ポインタ86内のイン
クリメントされたアドレスは未使用のままに終る。
次のクロックサイクルでは、命令レジスタ58における
RETURN命令のためのマイクロコードアドレスが、
アドレスデコーダ62にクロック送りされて、該RET
URN命令のための制御ワードが、制御ラッチ68から
出力される。 また、命令ポインタ86内のインクリメ
ントされた第2レベルのアドレスがアドレスバス12に
供給される、 しかしながら、 RETURN命令によ
ってトランスファゲート82.84両方が非動作状態と
されているために、メモリ14またはメモリ80のいず
れかから出力されたデータはI10パス10には伝送さ
れず、 RETURN制御ワードによりスタック20が
トランスファゲート88を介してポツプされて、第3レ
ベル動作のためのインクリメントされた第3レベルのア
ドレスが出力される。 このステップは前記プログラム
ステップ182に対応するステップである。 この第3
レベルのアドレスは命令レジスタ58にロードされ、デ
コーダ92により当該アドレスが第3レベル動作のアド
レスであることが判定され、この第3レベルのアドレス
が命令ポインタ86にロードされる。
このステップを、第6図においてRETURNプログラ
ムステップ182からメインプログラムにおけるプログ
ラムステップ182に至るフローライン214で示す。
プログラムステップ182のための第3レベルのアドレ
スからなる命令ポインタ86の内容が、アドレスバス1
2にクロック送りされると、プログラムステップ182
の第3レベルのアドレスに対応するデータレジスタの内
容がI10バスIOに供給される。 これはスレデッド
リスト185の最初の第2レベルのアドレスであり、こ
のステップを第6図にフローライン216で示す、 こ
のスレデッドリスト185は、プリミティブrl−Jで
あるプログラムステップ218 と、 RETURNプ
ログラムステップ220 とからなるものである、I1
0パス10に現れた第2レベルのアドレスは、デコーダ
92によって検知され、当該アドレスがスレデッドリス
ト185の最初のアドレスであることが、このデコーダ
によってさらに検知される。 このため、該第2レベル
のアドレスは、命令レジスタ58および命令ポインタ8
6にロードされる。
次のクロックサイクルでは、命令レジスタ58の第2レ
ベルのアドレスがアドレスデコーダ62にロードされ、
また命令ポインタ88の第2レベルのアドレスがアドレ
スバス12にロードされる。 このアドレスデコーダ6
2は、当該アドレスが高レベルの命令であるものとして
デコードし、適宜の機能的制御ワードを出力することに
より、トランスファゲート82もしくはトランスファゲ
ート84を動作状態として、メモリ14.80のいずれ
かをI10パス10とインターフェースさせる。 プロ
グラムステップ218の最初のアドレスがアドレスバス
12に供給されると、プリミティブ「1−」のだめのマ
イクロコードが選択されたメモリからフェツチされて、
工10バス10に供給される。 このステップを第6図
にフローライン222で示す。
プリミティブの実行が終了すると、プログラムはフロー
ライン224に沿って戻す、これは前述のように、プリ
ミティブの第2レベルアドレスがクロック送りされて、
命令ポインタ86がインクリメントされ、プログラムス
テップ220のための第2レベルのアドレスが、アドレ
スバス12にロードされるのが、わずかlクロックサイ
クルで行なわれる。 この第2レベルのアドレスは、第
2レベルの動作をフローライン226に沿って、第3レ
ベル動作におけるプログラムステップ183にプログラ
ムを戻すRETURN命仝のアドレスである。 前述の
ように、 RETURNマイクロコードアドレスが命令
レジスタ58にクロック送りされた場合には、制御ラッ
チ68から出力された制御ワードは機能的制御ワードで
あり、第3レベル動作におけるプログラムステップ18
3のためのインクリメントされた第3レベルのアドレス
である1ノターンスタツク20が、この機能的制御ワー
ドによってポツプされるついでプログラムはフローライ
ン228に沿って進行してスレデッドリスト187に至
り、フローライン230に沿って戻って9次の第3レベ
ルのアドレスがI10バス10杯供給されることとなる
スレデッドリスト184を実行する場合は、フローライ
ン202.204が第1のクロックサイクルを表わし、
フローライン208.208が第2のクロックサイクル
を表わし、フローライン210.212が第3のクロッ
クサイクルを表わす、 従って、このスレデッドリスト
184のステップを行なって所望の機能を得るためには
、都合3クロツクサイクルが必要であるにすぎない、 
またリターンスタック20をポツプして、第3レベル動
作のための次の順次アドレスをI10バス10に入力す
るためには。
付加的なり口・ツクサイクルを必要とする。
[マスクド動作システム] 第2図のシステムと同様のシステムに、さらにメインシ
ステム動作と並行してマスクド動作を行なわせるように
した。マスクド動作システムの構成を第7図の概略的ブ
ロック図に示す。
ロータリースタック44と並列にシャドーロータリース
タック240を設けて、このシャドーロータリースタッ
ク240 を、ロータリースタック44を構成するデー
タレジスタと同様の8個の16ビツトワイドのデータレ
ジスタにより構成する。 さらにマルチプレクサ242
を設けて、その2人力をインターフェースパス36およ
び入力データバス50とインターフェースさせる。 こ
のマルチプレクサ242は、ロータリースタック44と
インターフェースするための一対の出力インターフェー
スパス244と、上記シャドーロータリースタック24
0とインターフェースするための一対の出力インターフ
ェース/ヘス246とをもち、パス:3Ei、 50を
シフトさせて出力インターフェースバス244もしくは
出力インターフェースバス246とインターフェースさ
せる。 ロータリースタック44と前記シャドーロータ
リースタック240の出力にはマルチプレクサ248を
設け、そり2出力を前記データバス46.48とインタ
ーフェースさせる。 さらにロータリースタック44は
、一対の入力インターフェースパス250を介してこの
マルチプレクサ248とインターフェースし、同様にシ
ャドーロータリースタック240も、一対の入力インタ
ーフェースバス252を介して該マルチプレクサ248
とインターフェースする。 マルチプレクサ248は、
入力インターフェースバス250.または入力インター
フェースバス252を出力データパス413.48とイ
ンターフェースするようにスイッチするものである。 
上記マルチプレクサ242.248は、いずれもマルチ
プレックス信号 (Mυ×)により制御される。
前記オーバーフロースタック76の近傍にもシャドーオ
ーバーフロースタック254を設け、さらにマルチプレ
クサ256の2人力をインターフェースパス36および
入力データバス50にそれぞれ接続する。 このマルチ
プレクサ256は、このオーバーフロースタック76と
インターフェースするための一対の出力インターフェー
スハス258と、オーパーフロースタンク254とイン
ターフェースするだめの一対の出力インターフェースバ
ス260とをモチ、 /<ス38.50を出力インター
フェースバス258および出力インターフェースバス2
60のいずれかにスイッチさせるものである。 このマ
ルチプレクサ256 も前記MUX信号により制御され
る。
さらにリターンスタック20と並列にシャドーリターン
スタック262を設け、またマルチプレクサ264の2
人力を前記インクリメント用レジスタ84およびトラン
スファゲート98とインターフェースさせることにより
、該マルチプレクサ264をI10データバス10とイ
ンターフェースさせる。
このマルチプレクサ264は、出力インターフェースバ
ス266を介してリターンスタック20とインターフェ
ースする一対の出力と、出力インターフェースバス26
8を介してシャドーリターンスタック262とインター
フェースする一対の出力とをもち、インクリメント用レ
ジスタ94からの出力データを、リターンスタック20
もしくはシャドーリターンスタック282に入力し、あ
るいはリターンスタック20またはリターンスタック2
62をI10データバス10にポツプするはたらきをす
る。 このマルチプレクサ264も、前記MUX信号に
より制御される。
さらに命令レジスタ58と並列にシャドー命令レジスタ
270を設け、またマルチプレクサ272の入力をI1
0データバス10とインターフェースさせて、該I10
データバス10をその2出力間でスイッチさせる。 リ
ターンスタック262の一方の出力は、インターフェー
スバス274を介して命令レジスタ58とインターフェ
ースし、他方の出力はインターフェースバス276を介
して、命令レジスタ270とインターフェースしている
。 さらにマルチプレクサ278の出力をインターフェ
ースバス64とインターフェースさせて、その2人力の
電力ヲ該インターフェースバス64とインターフェース
するようスイッチする。 このマルチプレクサ278の
2人力の一方は、インターフェースバス280を介して
命令レジスタ58の出力に接続され、他方の入力はイン
ターフェースバス282を介して、前記シャドー命令レ
ジスタ270の出力とインターフェースしている。 こ
れらマルチプレクサ272.278は、工10バスlO
とアドレスデコーダ82の間にある命令レジスタ58も
しくはシャドー命令レジスタ270のいずれかと、イン
ターフェースするように作用する。
さらに前記命令ポインタ90と並列にシャドー命令ポイ
ンタ284を設け、またマルチプレクサ286の入力を
I10データバス!0とインターフェースさせて、該入
力をその2出力の間でスイッチさせる。 このマルチプ
レクサ286の一方の出力は、インターフェースパス2
8日を介して命令ポインタ80とインターフェースし、
他方の出力はインターフェースバス280を介して、シ
ャドー命令ポインタ284とインターフェースしている
。 さらにマルチプレクサ292の出力を、アドレスバ
ス12とインターフェースさせて、該出力をその2出力
間でスイッチさせる。 これらマルチプレクサ292の
2出力の一方は、インターフェースバス294を介して
命令ポインタ90とインターフェースし、他方はインタ
ーフェースバス28Bを介して、シャドー命令ポインタ
284 とインターフェースしている、 これらマルチ
プレクサ286.292は、命令ポインタ90もしくは
シャドー命令ポインタ284を工10データバス10と
アドレスバス12との間で、インターフェースさせるも
のである。
前記シャドー命令ポインタ284は、命令ポインタ80
と同様に構成され、これらシャドー命令ポインタ284
および命令ポインタ80はいずれも、これにデータをロ
ードしたり、あるいはこれに含まれるデータがその出力
に転送されるに先立って該データをインクリメントさせ
たりするはたらきをもつものである2 上述のように、
デコーダ82はそのインクリメントH能やデータのロー
ド機能のための制御信号を供給するもので、その出力は
マルチプレクサ288によってマルチプレックスされる
。 このマルチプレクサ298の2出力のうち一方は、
命令ポインタ80のインクリメント入力に接続され、他
方は前記シャドー命令ポインタ284のインクリメント
入力に接続されている。 該マルチプレクサ298も前
記MUX信号により制御される前記システムクロック2
6にはさらにシャドータイマ300が接続されて0足期
的に前記MUX信号を生成する。 好ましい実施例にお
いてはこのMUX信号は、システムクロiり26の10
サイクルごとに出力されるものとし、 MUX信号が発
生されていない期間中は、前記シャドーロータリースタ
ック240.シャドーオーバーフロースタック254.
シャドーリターンスタック262.シャドー命令レジス
タ270およびシャドー命令ポインタ284(以下これ
らを一括してシャドー回路という)は、いずれもシステ
ムから機能的に分離され、従って該システムは第2図に
ついて前述したと同様の構成となり。
このMUX信号の発生しない9サイクル期間中は。
仝休のシステムは上述したと同様にして動作することと
なる。 上記のごとく、システムクロ・ツク26の十番
目のサイクルごとに前記MUX信号か発生すると、シス
テムの動作は上記シャドー回路に移る。 すなわちMU
Xの発生している1サイクル期間中は、これらシャドー
回路が結合されて、当該1サイクルの動作はすべて第2
図について説明したと同様にして、該シャドー回路によ
り行なわれる。 たとえば次のシャドー動作は、スレツ
ブラドリストの中間をステップして、これに設定されて
いるプリミティブのひとつを実行する動作とすることが
できる。 上述のように、プリミティブti先行するプ
リミティブの実行中に、後続のプリミティブのためのマ
イクロコードアドレスを命令レジスタ58にロードする
ようにして実行される。
MUX信号が生成されると、シャドー命令レジスタ27
0がインターフェースパス64とインターフェースして
、このレジスタに記憶されている情報が、アドレスデコ
ーダ62に転送される。 この場合、シャドー命令レジ
スタ270にロードされている情報は、プリミティブの
ためのマイクロコードアドレスであるため、制御ラッチ
68の出力に制御ワードが生成され、各種のトランスフ
ァゲートが動作状態とされて、プリミティブを実行する
制御機能が行なわれる。
シャドー命令ポインタ284に格納されているシャドー
スレンデッドリストには9次のステップのためのインク
リメントされた第2レベルのアドレスが含まれており、
上記のようにMUX信号が生成された場合には、この第
2レベルのアドレスがマルチプレクサ282を介してア
ドレスバス12にクロック送りされて、スレツブラドリ
スト中の次の順番のデータレジスタがアドレスされ、該
アドレスのマイクロコードアドレスが、I10データバ
ス10に供給される。 次のプリミティブのマイクロコ
ードがI10データバス1oにイ共本合されたマイクロ
コードは、ただちにシャドー命令レジスタ270にロー
ドされ、デコーダ82がマルチプレクサ298を介して
、シャドー命令ポインタ284をインクリメントさせる
。 このため、当該クロンクサイクルの終了前に、シャ
ドー命令レジスタ270には次に実行すべきプリミティ
ブのためのマイクロコードがロードされ、シャドー命令
ポインタ284がインクリメントされて、シャドースレ
ンデッドリストにおける次の第2レベルのアドレスが請
求されることとなる。
MUX信号の発生中は、マルチプレクサ242.248
を介してシャドーロータースタ・ツク240が入力バス
38.50および出力パス46.58とインターフェー
スし、また、前記マルチプレクサ25Bを介して、シャ
ドーオーバフロースタック254が入力パス38.50
 とインターフェースする。
シャドーロータリースタック240は、後述のようにそ
れ自体の独立したスタフポインタをもっており、このス
タ・ツクポインタはロータリースタック44とは独立し
て動作するものである。 ロータリースタック44のデ
ータレジスタとオーバーフロースタック76のデータレ
ジスタのみをスイッチすることにより、各種トランスフ
ァゲートおよびAL U 1Bは、シャドー動作のため
に動作を改めて繰り返す必要はない、 ついで、制御ラ
ッチθ8の出力における制御ワードにより設定されたプ
リミティブ命令が、第6図について前述したと同様にし
て、シャドーロータリースタック240内のデータに対
して実行される。
MUX信号の発生中は、前記シャドーリターンスタック
262も、インクリメント用データレジスタ84および
トランスファゲート98とインターフェースする。 前
述のように、このシャトリターンスタック262は第3
レベル動作のためのアドレスを格納するのに用いられる
ものであり、より低いレベルの動作から戻るときに、こ
のアドレスがスタックからポツプされる。 該リターン
スタック262もそれ自体独立したスタックポインタを
もち、リターンスタック20とは同等の構成としである
、 かくて前記シャドー回路を設けることによって、メ
インプログラムと並行して独立のシャドープログラムを
実行させることが可能となる。 この独立したシャドー
プログラムは、上述のように10サイクル中の1サイク
ル期間だけ行なわれるのに対して、メインプログラムは
逆に10サイクルのうち、9サイクル期間にわたって行
なわれるものであるため、メインプログラムよりも低速
度で進行する。 また、前記シャドータイマ300はハ
ードウェアとして構成されたタイマであるため、メイン
プログラムが動作モードとなって動作がシャドープログ
ラムに戻らないということが起こる可能性はない、 か
くてシャドープログラムはメインプログラムとは完全に
独立して行なわれ、従ってメインプログラム又はシステ
ムの動作をモニターすることができるとともに、システ
ム外からの侵入の有無を検知することが可能となる。 
そして、シャドー回路により、適切に動作するメインプ
ログラムにインターフェースさせるための中断の必要性
が実質的に省かれる。
次に、第8図にロータリースタック44およびシャドー
ロータリースタック240の構成を拡大して示す、 ロ
ータリースタック44は、前述のように8個のデータレ
ジスタlないし8からなり、シャドーロータリースタッ
ク240もこのロータリースタック44と同等に構成さ
れているため、同じく8個のデータレジスタ9ないし1
6からなっている、 従って、シャドーロータリースタ
ック44とシャドーロータリースタック240の両者に
より、都合16個のデータレジスタからなる車−のスタ
ックが形成されることとなる。
前記入力データパス50およびインターフェースパス3
6にはさらに、バス/レジスタ選択回路302がインタ
ーフェースしており、このバス/レジスタ選択回路30
2の複数の出力が、同じく複数の入力インターフェース
パス304を介して、上記データレジスタ1ないし18
とそれぞれインターフェースしている。 同様に、前記
出力データバス46および出力データバス48にはさら
に、バス/レジスタ選択回路306がインターフェース
しており。
このバス/レジスタ選択回路306の複数の出力が9同
じく複数のインターフェースバス308を介して、上記
データレジスタエないしIBとインターフェースしてい
る。 さらに、前記スタックポインタ110は、マルチ
プレクサ312を介してシャドースタックポインタ31
0とマルチプレックスされて、上記バス・レジスタ選択
回路302.3Hに対する制御信号を生成する。 マル
チプレクサ312の動作はMUX信号により制御される
。 これらバス/レジスタ選択回路302.308およ
びデータレジスタ1〜18は、前述のロータリースタッ
ク44.シャドーロータリースタック240およびマル
チプレクサ242、248に相当するものである。
前記バス/レジスタ選択回路302と306の動作は、
第3図につき前述したバス/レジスタ選択回路102.
106の動作と同様である。 スタックポインーダ−1
1−0およびシャドースタックポインタ310は、マル
チプレクサ312を介してマルチプレックスされた制御
信号を有するアップダウンカウンタである。 すなわち
、これらスタックポインタ110およびシャドースタッ
クポインタ310はいずれも、3ビツトの7ツプダウン
カウンタとして構成され、スタックポインタ310はさ
らに、常時高論理状態とした第4のビット有している。
 この高論理状態をスタックポインタ310の第4ビツ
トに用いることにより、スタックポインタ110をレジ
スタlないし8に専用としたまま、つねにレジスタ9な
いし16がアドレスされることとなる。 またマルチプ
レクサ312.314の接続状態により、スタックポイ
ンタ+10 もしくはスタックポインタ310がインク
リメントされて、関連するデータレジスタのうち、適宜
のものを最優先データレジスタとして選択する。 マル
チプレクサから制御信号が除去された後は、別のインク
リメント用制御信号がこれに入力するまで、データは該
マルチプレクサにラッチされる。 ロータリースタ・ツ
ク44およびシャドーロータリースタック240の動作
は。
3−8デコーダの代りに4−16デコーダを使用する点
景外は、第4図について説明したものと同様である。 
さらにシャドーオーバーフロースタック254およびリ
ターンスタック262の動作も、第5図を参照してオー
バーフロースタ・ツク76につき説明したと同様である
。 さらに付加的なアップダウンカウンタ156を用い
ることにより、RAM!54と並列に追加した第2の2
65にメモリをアドレスするデータビ・ントが得られる
。 かくて、パス/方向選択回路170およびこれと関
連するトランスファゲートは、改めて動作を繰り返す必
要がなくなる。
なお、上述の実施例における構成回路としては、たとえ
ば次のようなものを使用することができる。
名 称 ライントライバ 符号 32.38.52.56 部品番号 74KS244 メーカー テキサスインスッルメンツ 名 称 ALU 符号 16 部品番号 ?4LS181 メーカー テキサスインスッルメンツ 名 称 トランシーバ 符号 40.41.82.84.1130.1132.
164゜66 部品番号 74LS243 メーカー テキサスインスッルメンツ 名 称 フリップフロップ 符号 112.114.118 部品番号 7474 メーカー テキサスインスッルメンツ 名 称 AND10R 符号 118.120.122 部品番号 7451 メーカー テキサスインスッルメンツ 名 称 3−8デコーダ 符号 124.12[1,148,148部品番号 7
4LS138 メーカー テキサスインスツルメンツ 乙−) 3ビツト加算回路 符号 128.130.150.152部品番号 74
283 メーカー テキサスインスッルメンツ 名 称 3ビツトアツプダウン力ウンタ符号 132.
158 部品番号 7431e8 メーカー テキサスインスツルメンツ 名 称 NANDゲート 符号 134.138.138.140.142.14
4部品番号 7401 メーカー テキサスインスツルメンツ [発明の効果] 以北に説明したように、未発明によるTILプロセッサ
は、パラメータスタックの動作をハードウェア化したこ
とを特徴とするもので、これにより該動作をシステムク
ロックの1クロツクサイクルで行なうことが可能となる
、 また、多数のスレツブラド命令もこれをハードウェ
ア化したため、メモリに対して頻繁にフェッチ動作を行
なうことなく、それらの命令を順次実行することができ
るようになる。 さらにまた、パラメータスタ・ツクに
はロータリースタックを用いるとともに。
複数のデータバスをその出力および入力に接続したため
、ロータリースタック内のデータレジスタの出力のうち
、1ないしはそれ以上を選択してロータリースタックか
らのデータの流れを制御することにより、該スタックの
内容を効果的に処理することが可能となる。 このデー
タに対して演算論理動作を行なうためには、ハードウェ
アとしての論理演算ユニ・ントを用いる。 さらに、ロ
ータリースタックの動作はすべて、アドレスバスに順次
供給されるアドレスに応答して出力されるマイクロコー
ド命令により制御される。 これらマイクロコード命令
により、各クロックサイクルで実行されるプリミティブ
レベルの命令がイネーブルされる。 またマイクロコー
ド命令のためのプログラムアドレスは、内部および外部
メモリを用いてこれを記憶するようにしたことも9本発
明装置の特徴である。
以上本発明の実施例につき記載してきたが。
本発明による方法および装置はこの実施例に限定される
ものでなく、記載の実施例に適宜各種の追加ないし変更
を加えてもよいことはいうまでもなl/)。
【図面の簡単な説明】
第1図は本発明によるTILプロセッサの実施例を示す
ブロック図、第2図は第1図に示すTILプロセッサの
構成を拡大して示すブロック図、第3図は該実施例にお
けるロータリーデータレジスタファイルの構成を示す拡
大ブロック図、第4図は第3図に示すロータリーデータ
レジスタファイルに含まれるレジスタのひとつを示す概
略図、第5図は本実施例におけるオーバーフローデータ
レジスタの構成を示すブロック図、第6図は本発明によ
るTILプロセッサの3種の動作態様を示すフローチャ
ート、第7図は本発明によるマスクドTILプロセッサ
を示す拡大ブロック図、第8図は第7図に示すマスクド
TILプロセッサのロータリースタックの構成を示す拡
大ブロック図である。 10、、、、、I10データバス。 +2.、、、、アドレスバス。 +4. 、 、 、 、I10サブシステム赤外部メモ
リ。 1B、、、、、ALU。 18、、、、、パラメータスタ・ツク。 20、2B2 、 、リターンスタック。 22、、、、、データマニピュレータ。 24、、、、、第ルベルメモリ。 2B、、、、、システムクロック。 28、、、、、スレツブラド命令制御回路。 30、’、、、、第2レベルメモリ。 3B、、、、、インターフェースバス。 44、240 、 、ロータリースタック。 48、48. 、 、出力バス。 50、、、、、データ入力バス。 58、270 、 、命令レジスタ。 eo、、、、、マイクロコードROM 。 76、254 、 、オーバーフロースタ・ツク。 80、、、、、ROM/RAM 。 88、284 、 、命令ポインタ。 出願人 テキサスインスツルメンツ番 インコーポレイテッド

Claims (1)

  1. 【特許請求の範囲】 (1) ネ灯数個のデータレジスタと。 前記データレジスタにデータを記憶ごせ。 これらレジスタの十べてに記憶されたデータを同時にア
    ドレスしうるようにすることにより、1偏置トのレジス
    タに同時ににデータを入力したり。 また1偏置1−のレジスタから同時にデータを出力させ
    るようにした手段と。 データを記憶する記憶媒体と。 この記+9奴休の所定の記憶場所にマイクロコード命令
    をデータとして記憶させるだめの手段と。 前記記憶媒体における選択された記憶場所をアドレスし
    てマイクロコード命令を検索する手段と。 前記データレジスタのうち1選択されたレジスタからデ
    ータを選枳オるだめの手段と。 前記マイクロコード命令に基いて該選択されたデータに
    対して演算または論理動作を行なう手段と。 該演算または論理動作の結果を外部の記憶場所に転送し
    、あるいは前記データレジスタのうち選択された1個の
    レジスタに送り返すだめの手段と。 データを選択するだめの手段とからなり。 iIi記演算演算は論理動作を行なう手段はこれを、そ
    れぞれ同時に動作させるようにしたことを特徴とするデ
    ータ処理用プロセッサ。 (2)ii7?記各手段に加えてさらに、前記データレ
    ジスタからのオーバーフローデータを記憶するだめのオ
    ーバーフローデータレジスタを有してなる特許請求の範
    囲第1項に記載のデータ処理用プロセッサ。 (3) 前記各手段に加えてさらに。 マイクロコード命令のアドレスを所定のグループに分け
    て記憶するだめの手段と。 これらグループのうち選択された1個のしジスタをアク
    セスして、前記アドレス手段にマイクロコード命令のア
    ドレスを11旧次供給する手段を右してなる特許請求の
    範囲第1項に記載のデータ処理用プロセッサ。 (4) 前記データレジスタは、複数個のデータレジス
    タからなる後入れ先出しデータスタックな形虐するよう
    に構成され、これらデータレジスタに骨分順位を定めて
    なる特許請求の範囲第1項に記載のデータ処理用プロセ
    ッサ。 (5) 前記各手段に加えてざらに。 後入れ弄出し形六の2次データレジスタファイルと。 後入れ先出し2次データレジスタファイルにデータを記
    憶させ、この2次データレジスタファイル内のレジスタ
    のすべてに記憶されたデータを同時にアト゛レスしうる
    ようにすることにより。 1装置Hのレジスタに同時にデータを入力したり、また
    1偏置トのレジスタから同時にデータを出力させるよう
    にした手段と。 前記データレジスタに記憶されたデータの選択およびそ
    の転送のための動作を定期的に中断させるようにした手
    段と。 前記2次データレジスタファイル内のデータレジスタの
    うち1個のレジスタからデータを選択するための手段と
    。 かくて選択されたデータに対して演算または論理動作を
    行なうだめの手段と。 この演算または論理動作の結果を外部の記憶場所に転送
    し、あるいは前記2次データレジスタファイル内のデー
    タレジスタのうち1選択された1個のレジスタに送り返
    すための手段とからなり 。 前記2&データレジスクフアイルに閣してi11記遭択
    されたデータに対して演算または論理動作を行なう手段
    および前記データを選択する手段はこれを同時にに動作
    させるようにし。 前記各手段に加えてさらに、前記選択手段、前記演算ま
    たは論理動作を行なう手段および前記データレジスタに
    関して該動作の結果を転送する手段の各動作を反復する
    ことにより、マイクロコード命令を実行するのtこ甲(
    \る独立したデータセットを前記2次データレジスタフ
    ァイルtこ(’Erるようにした手段を癩してなる特1
    具りの篩、)用第1項に記載のデータ処理用プロセ・ン
    サ。 (6) データおよびプログラム命令を転送するための
    メインデータバスと。 データプロセ・ンサのタイミング機t〔1%るべく才妄
    總したシステムクロ・ンクと。 スタック形穴に構成、されてiロ記データ/くスに結合
    されることによりデータな言己憶するようにした複数個
    のデータレジスタと。 ifi記データレジスタの出力をその人力に。 また該データレジスタの入力および出すJを前記データ
    バスに選択的にインターフェースさせることにより、こ
    れらデータレジスタの入プフおよび出力のうちいずれか
    が前記データ7へスとインターフ、−スし、あるいは該
    データレジスタの出力のうち選択された出力がレジスタ
    の進択された入力と同時にインターフェースしうるよう
    にしたステア1)ング手段と2 自らの所定の記憶場所にマイクロコード゛命令を記憶す
    るとともに、前記ステア1)ング手段を制御する機能を
    看するマイクロコード記憶手段と411記データバスと
    インターフェースしてこれからプログラム命令をフェツ
    チするととも1こ。 lii記マイクロコード命令に応答して前記マイクロコ
    ード記憶手段をアドレスするようにしたフェツチ手段と
    からなり。 前記システムクロックの所定数のスタ・ツク1tJ1間
    中に前記ステアリング手段により前記マイクロコード命
    令を実行して前記データレジスタに含まれるデータを処
    理するようにしたことを特徴とするデータプロセッサ (7) 前記ステアリング手段は、前記・システムクロ
    ックの1クロ・ンク期間中に前記マイクココ−1ζ゛命
    令を実行するようにしてなる特許請求の範囲第6項に記
    載のデータプロセ・ンサ。 (8) 前記ステアリング手段は。 前記データレジスタのうち少なくともlイ固のレジスタ
    からデータを選択的に前記データバスに転送するだめの
    第1の転送手段と。 前記データバスからのデータを前記データレジスタのひ
    とつの入力にデータを転送するための第2の転送手段と
    。 前記データレジスタのひとつの出力からのデータをこれ
    らデータレジスタのひとつの入力に転送するための第3
    の転送手段とからなり。 これら第1.第2および第3の転送手段が111記マイ
    クロコ一ド記憶手段に記憶されたマイクロコード命令に
    基いてデータを転送しうるようにしてなる特許請求の範
    囲第6項に記載のデータプロセッサ。 (9) 前記ステアリング手段は。 複数の出力データバスと。 mI記データレジスタのうち選択されたレジスタの出力
    を前記出力データバスのうち選択されたバスと接続させ
    るための出力結合手段と。 複数の入力データバスと。 @11記データバスのうち選択されたバスな前記出力デ
    ータレジスタのうち選択されたレジスタと接続させるた
    めの入力結合手段と。 前記出力データバスのうち少なくともひとつを前記デー
    タバスと接続させるだめの第1のゲート手段と。 前記入力データバスのうち少なくともひとつを選択的に
    前記データバスと接続させるための第2のゲート手段と
    。 前記入力データバスのうち少なくともひとつを前記出力
    データバスのうち少なくともひとつと選択的に接緒、さ
    せて、これらの間にデータの転送を行なわせるようにし
    た第3のゲート手段とからなり。 前記入力結合手段および出力結合手段、および前記第1
    .第2および第3のゲート手段は。 前記マイクロコード記憶手段に記憶されたマイクロコー
    ド命令に基いてデータの転送を行ないうるようにしてな
    る特許請求の範囲第6項に記載のデータプロセッサ。 (10)@記名手段に加えてさらに、前記データレジス
    タの優先順位を決定してこれらデータレジスタ内におけ
    るデータの相対位置を決定するスタックポインタを有し
    てなる特許請求の範囲第6項に記載のデータプロセッサ
    。 (II)前記各手段に加えてさらに、前記データレジス
    タのうち、もっとも優先順位の高いレジスタにデータが
    追加された場合は、該データレジスタのうちもっとも優
    先順位の低いレジスタからデータを受け取るようにした
    複数個のオーバ−フローデータレジスタを右し、前記デ
    ータレジスタの記憶量がその仝客器以下である場合は、
    前記オーバーフローデータレジスタからデータレジスタ
    のうち≠)っとも優先順位の低いレジスタにデータを戻
    すようにしてなる特許請求の範囲第10項に記載、のデ
    ータプロセッサ。 (12) 前記各手段に加えてさらに。 前記マイクロコード記憶手段のアドレスと対応するプロ
    グラム命令のリストを記憶し、かつ前記データバスに接
    続されたメモリ手段と。 このメモリ手段をアドレスして前記マイクロコード命令
    のアドレスを前記データバスに供給することにより、一
    連のマイクロコード命令をグループ単位で行なうように
    した手段を有してなる特許請求の範囲第6項に記載のデ
    ータプロセッサ(13)前記各手段に加えてさらに。 前記ステアリング手段とインターフェースして前記デー
    タレジスタのうち少なくとも2個のレジスタからの出力
    を受け取って演算および論理機能を行なうようにした演
    算論理手段と。 この演算論理手段の出力を前記データバスおよび前記デ
    ータレジスタのうち選択されたレジスタの入力に選択的
    にインターフェースさせるようにした手段とを有してな
    る特許請求の範囲第6項に記載のデータプロセッサ。 C14) マルチプルタスクをオンボートスタンクの1
    サイクル以内で実行するデータ処理用プロセッサにおい
    て。 データおよびプログラム命令を転送するだめのメインデ
    ータバスと。 プログラム命令およびデータをこのデータバスに供給す
    るためのプログラム命令手段と。 並列配置した複数個のデータレジスタと。 これらデータレジスタの優先順位を定めるためのスタッ
    クポインタ手段とからなり、 jiii記データレジス
    タのすべてが同時ににアドレスされうるようにしたデー
    タ記憶用の後入れ先出しパラメータスタック手段と。 複数個の出力パラメータバスと。 これら出力パラメータバスの各々を選択的に前記データ
    レジスタのうち選釈された1個のレジスタの出力とイン
    ターフェースさせるための第1のインターフェース手段
    と。 複194Wの入力パラメータバスと。 これら入力パラメータバスの各々を選択的に前記データ
    レジスタのうち選釈された1個のレジスタの入力とイン
    ターフェースさせるための第2のインターフェース手段
    と。 前記出力パラメータバスとインターフェースして前記デ
    ータレジスタのうち遺択されたレジスタの出力に対して
    演算および論理動作を行なう演算論理手段と。 前記演算論理手段・の出力を前記入力パラメータバスの
    ひとつとインターフェースさせることにより、その出力
    が前記データレジスタのうち遭釈された1個のレジスタ
    に記憶されうるようにした第3のインターフェース手段
    と。 前記出力パラメータバスのひとつを前記入力パラメータ
    バスとインターフェースさせることにより、前記データ
    レジスタのひとつに記憶されたデータがこれらデータレ
    ジスタの他のレジスタに直接入力されうるようにした第
    4のインターフェース手段と。 前記第1.第2.第3および第4のインターフェース手
    段および前記演算論理手段を制御して前記データレジス
    タ内のデータに対して所定のタスクを実行するようにし
    た制御手段と。 この制御手段のためのマイクロコード命令を記憶するた
    めのマイクロコード記憶手段と。 前記データバスとインターフェースしてこれからプログ
    ラム命令を検索するための検索手段とからなり。 前記データバスに覗れたプログラム命令に1x≦答して
    前記命令手段により前記マイクロコード命令手段を制御
    して前記制御手段に所定のマイクロコード命令を出力さ
    せることにより、前記データレジスタに記憶されたデー
    タを前記第1.第2、第3および第4のインターフェー
    ス手段および前記演算論理手段により処理しうるように
    したことを特徴とするデータ処理…プロセンサ。 (15) 前記スタ・ツクポインタ手段はこれを前記制
    御手段により制御して、i11記データレジスタのうち
    もっとも優先順位の高いレジスタを決定するアップダウ
    ンカウンタを含んでなる特許請求の範囲第14項に記載
    のデータ記憶用・ソサ。 (16)前記演算論理手段は、前記出力パラメータバス
    のうち別々のバスとインターフェースして前記データレ
    ジスタとインターフェースするための第1および@2の
    入力を有する演算論理ユニ1.lトを会み、該演算論理
    ユニットにより前記第1および第2のの入力に入力され
    たデータに対する演算および論理動作を行なうようにし
    てなる特許請求の範囲第14項に記載のデータプロセッ
    サ。 (17)前記各手段に加えてさらに、後入れ先出し形式
    のオーバーフロースタックを有し、このオーバーフロー
    スタックに前記データレジスタのうちもっとも優先順位
    の低いレジスタからデータを入力させて、前記パラメー
    タスタックに入力されたデータにより優先順位のもっと
    も低いデータを前−記パラメータスタックから前記オー
    バーフロースタックに転送してこれに記憶させ、また該
    パラメータスタックからデータを除去することにより。 前記オーバーフロースタ・ンク内のデータを前記データ
    レジスタのうち優先順位のもっとも低いレジスタに入力
    するようにしてなる特許請求の範囲第11項に記載のデ
    ータプロセッサ。 (18)前記各手段に加えてさらに。 データレジスタからなる後入れ先出し形式のリターンス
    タックと。 前記リターンスタックを前記データバスと選択的にイン
    ターフェースさせることにより、前記データレジスタに
    記憶されたデータが該リターンスタックに記憶されて、
    将来これを検索しうるようにようにしたリターンスタッ
    クインターフェース手段とを有し。 このリターンスタックインターフェース手段を前記制御
    手段により制御するようにしてなる#許請求の範囲第1
    4項に記載、のデータプロセッサロ9)前記マイクロコ
    ード記憶手段は読出し専用メモリによりこれをS歳、し
    てなる特許請求の範囲第14項に記載5のデータプロセ
    ・ソサ。 (20) 前記プログラム命令手段はスレッデッドイン
    タープリティブプロセッサからなり、このスレ・ソデッ
    ドインタープリティブプロセッサは。 それぞれが前記マイクロコード命令手段用の複数のプロ
    グラム命令からなる複数のリストを記(91−かつ前記
    データバスとインターフェースする記憶手段と。 前記複数のリストの開始詩にこの記憶手段をアドレスす
    る手段と。 各プログラム命令を前記データ)<スに供給して前記検
    索手段が前記プログラム命令にアクセスしうるようにし
    た手段とからなり。 前記制御手段が先行するタスクを実行中に次の順番の命
    令を前記データバスに供給するようにしてなる特許請求
    の範囲第14項に記載のデータプロセッサ。 (21)前記各手段に加えてさらに。 並列配置した複数側のデータレジスタと。 これらデータレジスタの優先順位を定めるだめのシャト
    ースタ・ンクポインタ手段とからなるデータ記憶用のシ
    ャドー後入れ先出しパラメータスタック手段と。 前記第1および第2のインターフェース手段により前記
    出力および入力パラメータバスが選択的に前記パラメー
    タスタック内のデータレジスタにそれぞれ接続されるの
    を禁1卜するとともに。 前記第1および第2ののインターフェース手段により前
    記パラメータバスが前記並列配置のパラメータスタック
    内のデータレジスタにそれぞれ選択的に接続されるのを
    許すようにしたスイッチ手段と。 111記制御手段に入力したマイクロコード命令に応答
    して前記スイッチ手段を定期的に動作させることにより
    前記パラメータスタックの動作を中断させるとともに、
    前記制御手段に入力されたマイクロコード命令に応答し
    て前記並列配置のパラメータスタックが動作しうるよう
    に干ることにより、前記並列配置のパラメータパス・ン
    クが前記パラメータスタックにおけるプログラムの動作
    と並行してまったく異なるプログラムで動作するように
    したタイミング手段とを布中るようにしてなる特許請求
    の範囲第14項に記載のデータプロセ・ソサ。 (22) データおよびプログラム命令を転送するだめ
    のデータバスと、 このデータバスにプログラム命令を供給するためのプロ
    グラム手段と、 データ記憶用のデータレジスタを複数個有し、これらデ
    ータレジスタの各々を同時にアドレスしうるようにして
    前記複数個のデータレジスタにデータを入力し、また該
    レジスタからデータを出力させるようにした後入れ先出
    しデータスタックと、 入力したデータに対して演算および論理動作を行なうだ
    めの演算論理手段と、 前記データレジスタのうち選択された1個のレジスタか
    ら前記演算論理手段の一方の入力にデータを転送するだ
    めの第1のバス手段と、前記データレジスタのうち選択
    された1個のレジスタから前記演算論理手段の他方の入
    力にデータを転送するだめの第2のバス手段と、前記演
    算論理手段の出力を前記データレジスタのうち選択され
    た1個のレジスタもしくは前記データバスに転送する第
    3のパス手段と、前記第2の出力バス手段から前記デー
    タレジスタのうち逆折された1個のレジスタにデータを
    転送する第4のバス手段と、 マイクロコード命令を記憶して前記@l。 第2、第3および第4のバス手段および前記演算論理手
    段を制御する制御手段と、 前記マイクロコード記憶手段をアドレスして該記憶手段
    に記憶されたマイクロコード命令のうち選択されたマイ
    クロコード命令を出力し、前記プログラム手段により前
    記バスに供給されたプログラム命令に応答するアドレス
    手段と、前記アドレス手段により選択されたマイクロコ
    ード命令に応答して前記第1、第2、第3および第4の
    バス手段および前記演算論理手段におけるデータのj(
    fれを制御することにより、前記データスタ・ツク内の
    前記データレジスタに記憶されているデータを同時に処
    理して前記演算論理手段により処理されうるようにする
    制御手段とからなることを蒔黴とオるスレッデッドイン
    タープリティブプロセッサ。 (’;! 3 )−tfii記ロータリースタック内の
    前記データレジスタにはそれぞれ優先順位が定められて
    いるとともに、複数個のデータレジスタからなる後入れ
    先出しオーバーフロースタックを有し、この後入れ先出
    しオーバーフロースタックに前記ロータリースタックか
    らのオーバーフローを入力させることにより、該ロータ
    リースタック内におけるもっとも優先順位の低いデータ
    レジスタが、前記オーバーフロースタックにオーバーフ
    ローするようにしてなる特許請求の範囲第22項に記載
    のスレッデッドインタープリティブプロセッサ。 (24) 前記各手段に加えてさらに、自らの選択され
    た記憶場所に前記マイクロコードアドレスの複数のリス
    トを記憶するためのマイクロコードアドレス記憶手段と
    、 前記マイクロコードアドレス記憶手段に記憶された選択
    マイクロコードアドレスを、前記プログラム手段により
    前記データバスに供給されたマイクロコード命令に応答
    してアドレスする手段と、 前記マイクロコードアドレス記憶手段に記憶された前記
    リストのうち1個のリストを選択するための手段と、 前記アドレス手段を制御して前記リストのうちから選択
    されたリストのマイクロコードアドレスを出力すること
    により、各マイクロコードアドレスによって前記制御手
    段が前記データスター。 り内のデータを処理するようにする手段とを有してなる
    特許請求の範囲第22項に記載のスレッデウドインター
    プリティブプロセッサ。 (25)前記各手段に加えてさらに、同面にアドレス可
    能とした複数個のデータ記憶用データレジスタからなる
    後入れ先出し形式の21次データスタックを有し、 前記第1のバス手段は、前記2次データスタック内のデ
    ータレジスタのうち選択された1個のレジスタから前記
    演算論理手段の一方の入力にデータを転送する機能をも
    ち。 前記第2のバス手段は、前記2次データスク・ツク内の
    データレジスタのうち選キRされた1個のレジスタから
    前記演算論理手段の他方の入力にデータを転送する機能
    をもち、 前記第3のバス手段は、前記演算論理手段の出力を前記
    2次データスタック内のデータレジスタのうち選択され
    た1個のレジスタもしくは前記データバスに転送する機
    能をもち、 前記第4のバス手段は、前記第2の出力バス手段から前
    記2次データスタック内のデータレジスタのうち選択さ
    れた1個のレジスタにデータを転送する機能をもち、 前記各手段に加えてさらに、 前記2次データスタックを動作させるだめの2次制御手
    段と。 前記マイクロコード記憶手段をアドレスしてこれに記憶
    されたマイクロコード命令のうち選択されたマイクロコ
    ード命令を出力するとともに、前記プログラム手段から
    前記データバスに供給されたプログラム命令に応答する
    ようにした2次アドレス手段と、 前記2次制御手段を定期的に動作状態とするとともに、
    該制御手段を非動作状態として前記2次データスタック
    内のデータレジスタ手段に記憶されたデータが前記第1
    、第2、第3および第4のバス手段および前記演算論理
    手段により処理されうるようにすることにより、前記2
    次データスタック内において前記1次データスタックに
    おけるデータ処理と並行してデータの処理が行なわれる
    ようにしてなる特許請求の範囲第22項に記載のスレッ
    デッドインタープリテイブプロセ、ンサ。 ’(2B)データおよびプログラム命令を転送ためのデ
    ータバスと、 複斂個のデータ記憶用1次データレジスタからなり、こ
    れらデータレジスタを回部にアドレス可能としてこれに
    データをスカしたり、あるいはこれからデータを検索し
    たりしうるようにした後入れ先出し形式の1次データス
    タ・ンク手段と、入力データに対して演算および論理動
    作を行なうようにした2人力l出力の演算論理ユニツト
    と、 前記1次データレジスタのひとつからデータを撰釈して
    前記演算論理ユニットの一方の入力に供給するだめの第
    1のインターフェース/′s4択手段と、 前記1次データレジスタのひとつからデータを選択して
    前記演算論理ユニットの他方の入力に供給するだめの第
    2のインターフェース/選択手段と、 前記1次データレジスタのひとつもしくは前記データバ
    スからデータを選択して、前記演算論理ユニットにより
    出力されたデータを前記1次データレジスタのうち前記
    選択された1個のレジスタもしくは前記データバスに転
    送するための第3のインターフェース/選択手段と、 ■1記1次データレジスタのひとつを7択して、前記第
    2のインターフェース/選択手段からのデータを前記1
    次データレジスタのうち前記選択された1情のレジスタ
    に転送するための第4のインターフェース/選択手段と
    1、 前記第1.第2、第3および第4のインターフェース/
    選択手段のよび前記演算論理ユニットの動作をマイクロ
    コード命令に応答して制御することにより、前記1次デ
    ータレジスタに記憶されたデータを処理しうるようにす
    る制御手段と、自らの所定の記憶場所にマイクロコード
    命令を記憶するための読出し専用メモリと、この読出し
    専用メモリの所定の記憶場所をアドレスして前記マイク
    ロコード命令のうちいくつかを検索し、また前記データ
    バスとインターフェースする第1のアドレス手段と、 前記読出し専用メモリのアドレスを記憶し前記データバ
    スとインターフェースする記憶手段と、 プログラム信号を前記データバスに供給するためのプロ
    グラム手段と、 前記プログラム手段から前記データバスに供給されたプ
    ログラム信号に応答して前記記憶手段をアドレスするだ
    めの第2のアドレス手段とからなり。 この第2のアドレス手段により+it記記憶手段が−d
    (のヤイクロコードアドレスを前記データバスに供給し
    て前記第1のアドレス手段により検索することにより、
    前記マイクロコード命令のうもひとつを選択して前記制
    御のための命令とすることにより、前記第1、第2、第
    3および第4のインターフェース/選択手段および前記
    演算論理ユニットを制御して前記1次データレジスタに
    記憶されたデータを処理するようにしたことを特徴とす
    るスレッデッドインタープリティブプロセッサ。 (27)前記記憶手段はマイクロコードアドレスを記憶
    するための読出し専用メモリを含んでなる特許請求の範
    囲第26項に記載のスレッデッドインターブリティブプ
    ロセンサ。 (28) 前記1次データスタック内の前記データレジ
    スタには優先順位が定められるとともに、後入れ先出し
    形式のオーバーフロースタックを設けて、 1tij記
    1次データスタックにデータが追加された場合には該1
    次データスタックのデータレジスタのうちもっとも優先
    順位の低いレジスタの記憶内容を該オーツへ一フロース
    タックに入力させるようにしてなる特許請求の範囲第2
    6項に記載のスレツブ・ンドインタープリティブプロセ
    ッサ。 (28) 前記各手段に加えてさらに、複数個のデータ
    記憶用データレジスタからなる後入れ先出し形式のリタ
    ーンスタックと、このリターンスタ・ツクを前記入出力
    バスとインターフェースさせるだめのインターフェース
    手段を有し、 このインターフェース手段を前記制御手段により制御す
    ることにより、該制御手段に入力したマイクロコード命
    令に応答して前記リターンスタックにデータが記憶され
    うるようにしてなる特許請求の篩、間第26項に記載の
    スレッデッドインタープリティブプロセッサ。 (30)前記各手段に加えてさらに。 複数個のデータ記憶用データレジスタからなる2次デー
    タスタックと、 前記第1、第2、第3および第4のインターフェース/
    選択手段に前記1次データスタックのデータレジスタを
    !釈することを禁1卜するだめのインターフェース/接
    続手段とを有し、このインターフェース/接続手段は、
    前記マイクロコード命令のひとつに某いて前記制御手段
    による制御のもとに、前記第1、第2、第3および第4
    のインターフェース/選択手段が前記1次データスタッ
    クからデータレジスタを選択しうるようにし。 さらに前記インターフェース/接続手段が定期的に前記
    2次データスタックを前記第1、第2、第3および第4
    のインターフェース/選択手段と接続しうるように該イ
    ンターフェース/接続手段を制御するようにしたタイミ
    ング手段を設けて、前記記憶手段によりアドレスされた
    独立したマイクロコード命令シーケンスが並列に生成さ
    れて前記1次データスタック内のデータを処理するよう
    にしてなる特許請求の範囲第26項に記載のスレッデッ
    ドインタープリティブプロセッサ。 (31) データレジスタにデータを記憶させて、すべ
    てのデータレジスタのデータを同時にアドレス可能とす
    ることにより、1側以トのデータレジスタに同時にデー
    タを入力し、あるいは1個以上のデータレジスタから同
    時にデータを出方させたりたりしうるようにし。 記憶媒体の所定の記憶場所にマイクロコード命令を記憶
    させ、 この記憶媒体内の選択された記憶場所をアドレスするこ
    とにより、1個のマイクロコード命令を検索し、 前記データレジスタのうち選択されたレジスタからデー
    タを選択し、 前記マイクロコード命令に基いて該遣釈されたデータに
    対して演算または論理動作を行ないこの演算または論理
    動作の結果を外部の記憶場所に転送し、あるいはこれを
    前記データレジスタのうち選択された1個のレジスタに
    戻し、I−記データの遭釈と、前記演算論理動作とは、
    これを同時に遂行するようにしたことを特徴とするデー
    タ処理方法。 (32) さらに前記データレジスタファイルからのオ
    ーバーフローを後入れ先出しデータレジスタに記憶させ
    てなる特許請求の範囲第31項に記載のデータ処理方法
    。 (33) さらに前記マイクロコード命令のアドレスを
    所定のグループに分けて記憶させ、 これらグループのうち選択されたグループをアクセスす
    ることにより、前記アドレス動作のだめのマイクロコー
    ド命令のアドレスとして用いることとした特許請求の範
    囲第31項に記載のデータ処理方法。 (34)前記データレジスタはこれを、複数個のデータ
    レジスタからなり、かつこれらデータレジスタの各々に
    優先順位を定めた後入れ先出しデータスタックとして構
    成してなる特許請求の範囲第31項に記載のデータ処理
    方法。 (35) さらに後入れ先出し形式の2次データスタ・
    ツクファイルにデータを記憶させて、この2次データレ
    ジスタファイル内のすべてのデータレジスタのデータを
    同時にアドレス可能とすることにより、1側以トのデー
    タレジスタに同時にデータを入力し、あるいは1偏置−
    Lのデータレジスタから同時にデータを出力させたりた
    りしうるようにしこれらデータレジスタに記憶されたデ
    ータの選択および転送動作を定期的に中断させ、前記2
    次データレジスタファイル内のデータレジスタのうち選
    択された1個のレジスタからデータを選択し、 かくて選択されたデータに対して演算または論理動作を
    行ない、 この演算または論理動作の結果を外部の記憶場所ゆ転送
    し、あるいは前記2次データレジスタファイル内の選択
    されたデータレジスタに戻し前記2次データレジスタフ
    ァイルについて行なう前記データの選択と、前記週釈さ
    れたデータに対して行なう演算または論理動作とは、こ
    れを同時に遂行することとし、 さらに、前記2攻データレジスタフアイルについて行な
    う前記データの選択と、前記演算論理動作と、その結果
    の転送を反復することによりマイクロコード命令を実行
    中るのに用いる独立したデータセットを前記2次データ
    レジスタファイルから得るようにしてなる特許請求の範
    囲第31項に記載のデータ処理方法。 (3B) 1次データレジスタファイルに第1のデータ
    セットを記憶させて、これらのデータを同時にアドレス
    可能とすることにより、1偏置トのデータレジスタに同
    時にデータを入力し、あるいは1個以上のデータレジス
    タから同時にデータを出力させたりたりしうるようにし
    。 第1の記憶媒体の所定の記憶場所にマイクロコード命令
    を記憶させ、 第2の記憶媒体の所定の記憶場所にマイクロコード命令
    のアドレスを記憶させて、これら命令アドレスを複数の
    グループに配列し、各グループが所定のマイクロコード
    命令配列を有するようにし、 これらマイクロコード命令アドレスのグループのうち選
    択された1グループをアクセスしてこれらを順次データ
    バスに出力し、 該データ/ヘスに出力されたアドレスにおけるマイクロ
    コード命令を実行し、この場合該マイクロコード命令の
    実行は、 前記データバスからのマイクロコード 命令を検索し、 かくて検索されたアドレスにおけるマ イクロコード命令をアドレスし、 前記1次データレジスタファイル内の レジスタのうち選択されたレジスタからのデータを、ア
    ドレスされたマイクロコード命令に基いてアクセスし、 この前記マイクロコード命令にノXいて該選択されたデ
    ータに対して演算または論理動作を行ない、 この演算または論理動作の結果を、ア ドレスされたマイクロコード命令に基いて、前記データ
    バスに転送して外部の記憶場所に記憶させ、あるいはこ
    れを前記1次データレジスタファイル内の前記データレ
    ジスタのうち清枳された1債のレジスタに戻し、 ト記アドレス動作と、前記アクセス動作とi釈されたデ
    ータに対する前記演算論理動作とはこれを同時に遂行す
    ることとして前記マイクロコード命令を実行し、 さらに前記マイクロコード命令の実行と同時に、マイク
    ロコード命令アドレスのグループのうち選択されたグル
    ープの次のIIIji次アドレスを前記データバスに入
    力させるようにしたことを特徴とするデータ処理方法。 (37) 前記マイクロコード命令アドレスを記憶させ
    るに当っては、読出し専用メモリを用いてこれに記憶さ
    せるようにしてなる特許請求の範囲第36項に記載のデ
    ータ処理方法。 (38) 2次データレジスタファイルにデータを記憶
    させて、これらのデータを同時にアドレス可能とするこ
    とにより、1個以上のデータレジスタに同時にデータを
    入力し、あるいは1装置りのデータレジスタ、から同時
    にデータを出力させたりしうるようにし、 前記1次データレジスタファイルについてマイクロコー
    ド命令の実行を中断させ、前記第2の記憶媒体からのマ
    イクロコード命令アト゛レスのグループのうち選択され
    たグループをアクセスして該アドレスを定期的に前記デ
    ータバスに順次供給し、 該データバスに出力されたアドレスにおけるマイクロコ
    ード命令を実行し、この場合該マイクロコード命令の実
    行は、 前記データバスからのアドレスを検索 し、 かくて検索されたアドレスにおけるマ イクロコード命令をアドレスし、 前記2次データレジスタファイル内の レジスタのうち選択されたレジスタからのデータをアク
    セスし、 該選択されたデータに対して演算また は論理動作を行ない、 この演算または論理動作の結果を、前 記データバスに転送して適宜の記憶媒体に記憶させ、あ
    るいはこれを前記2′&データレジスタフアイル内の前
    記データレジスタのうち逆折されたレジスタに戻し、 L記選択動作と前記演算論理動作とはこれを同時に遂行
    することとして前記マイクロコード命令を実行し、 しかる後、前記1次データレジスタファイル内のマイク
    ロコード命令の実行に戻るようにしてなる特許請求の範
    囲第36項に記載のデータ処理方法。
JP60041773A 1984-03-02 1985-03-02 信号処理装置及び該装置を使用する Expired - Fee Related JP2571757B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/585,478 US5179734A (en) 1984-03-02 1984-03-02 Threaded interpretive data processor
US585478 1984-03-02

Publications (2)

Publication Number Publication Date
JPS60217438A true JPS60217438A (ja) 1985-10-31
JP2571757B2 JP2571757B2 (ja) 1997-01-16

Family

ID=24341626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60041773A Expired - Fee Related JP2571757B2 (ja) 1984-03-02 1985-03-02 信号処理装置及び該装置を使用する

Country Status (4)

Country Link
US (1) US5179734A (ja)
EP (1) EP0154529B1 (ja)
JP (1) JP2571757B2 (ja)
DE (1) DE3586603T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62288942A (ja) * 1986-05-30 1987-12-15 Yokogawa Hewlett Packard Ltd デ−タ処理装置
JPS6412339A (en) * 1987-07-06 1989-01-17 Oki Electric Ind Co Ltd Forth machine
JP2009538488A (ja) * 2006-05-26 2009-11-05 ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー コンピュータの円環状レジスタ配列
JP2014130606A (ja) * 2005-10-20 2014-07-10 Qualcomm Incorporated スタックド・レジスタ・ファイルのレジスタ・セーブ・エンジンのためのバッキング記憶装置バッファ

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
JP2882495B2 (ja) * 1991-02-08 1999-04-12 三菱電機株式会社 通信機
FR2678402A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Dispositif de traitement d'informations.
US5367650A (en) * 1992-07-31 1994-11-22 Intel Corporation Method and apparauts for parallel exchange operation in a pipelined processor
JP3226055B2 (ja) * 1992-09-16 2001-11-05 松下電器産業株式会社 情報処理装置
US6487626B2 (en) * 1992-09-29 2002-11-26 Intel Corporaiton Method and apparatus of bus interface for a processor
JPH06168116A (ja) * 1992-11-30 1994-06-14 Mitsubishi Electric Corp マイクロコンピュータ
US5748964A (en) 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US6704923B1 (en) 1994-12-20 2004-03-09 Sun Microsystems, Inc. System and method for pre-verification of stack usage in bytecode program loops
WO1996020448A1 (en) 1994-12-23 1996-07-04 Southwestern Bell Technology Resources, Inc. Flexible network platform and call processing system
US5774726A (en) * 1995-04-24 1998-06-30 Sun Microsystems, Inc. System for controlled generation of assembly language instructions using assembly language data types including instruction types in a computer language as input to compiler
US5734927A (en) * 1995-06-08 1998-03-31 Texas Instruments Incorporated System having registers for receiving data, registers for transmitting data, both at a different clock rate, and control circuitry for shifting the different clock rates
US6091897A (en) 1996-01-29 2000-07-18 Digital Equipment Corporation Fast translation and execution of a computer program on a non-native architecture by use of background translator
US6535903B2 (en) * 1996-01-29 2003-03-18 Compaq Information Technologies Group, L.P. Method and apparatus for maintaining translated routine stack in a binary translation environment
EP0938703B1 (en) * 1996-11-13 2003-07-02 Paran, Arik Real time program language accelerator
US6216218B1 (en) 1997-11-03 2001-04-10 Donald L. Sollars Processor having a datapath and control logic constituted with basis execution blocks
US6016539A (en) * 1997-11-03 2000-01-18 Teragen Corporation Datapath control logic for processors having instruction set architectures implemented with hierarchically organized primitive operations
AU1292799A (en) * 1997-11-03 1999-05-24 Teragen Corporation Direct cache accessing primary operations hierarchically organized to snippets and threads implemented in isa processor
EP1062577A2 (en) * 1998-12-08 2000-12-27 Koninklijke Philips Electronics N.V. Method of executing an interpreter program
US7120572B1 (en) 2000-01-06 2006-10-10 Sun Microsystems, Inc. Memory efficient program pre-execution verifier and method
DE10131084A1 (de) * 2001-06-27 2003-01-09 Klaus Schleisiek Vorrichtung zur Datenverarbeitung
US7506322B2 (en) * 2001-12-13 2009-03-17 Synopsys, Inc. System and method of utilizing a hardware component to execute an interpretive language
JP3719509B2 (ja) * 2002-04-01 2005-11-24 株式会社ソニー・コンピュータエンタテインメント シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法
US7185331B2 (en) * 2002-08-27 2007-02-27 Inrange Technologies Corporation Method and apparatus for downloading executable code in a non-disruptive manner
GB2430052A (en) * 2005-09-07 2007-03-14 Tandberg Television Asa CPU with a buffer memory directly available to an arithmetic logic unit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51117843A (en) * 1975-03-26 1976-10-16 Honeywell Inf Systems Path finder microprogram control system
JPS56157541A (en) * 1980-05-06 1981-12-04 Kinki Keisokki Kk Pseudo and multi central processor
JPS575153A (en) * 1980-06-10 1982-01-11 Nippon Telegr & Teleph Corp <Ntt> Information processor
JPS57197653A (en) * 1981-05-29 1982-12-03 Mitsubishi Electric Corp Control device of microprogram

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675218A (en) * 1970-01-15 1972-07-04 Ibm Independent read-write monolithic memory array
US3881172A (en) * 1971-12-01 1975-04-29 Struthers Dunn Process control computer
US3889243A (en) * 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US3938103A (en) * 1974-03-20 1976-02-10 Welin Andrew M Inherently micro programmable high level language processor
US4193197A (en) * 1976-07-06 1980-03-18 Aquasonic Products Corp. Fluid supply unit and systems for dental and medical instruments
JPS5833572B2 (ja) * 1977-10-21 1983-07-20 株式会社東芝 情報処理方式
US4245302A (en) * 1978-10-10 1981-01-13 Magnuson Computer Systems, Inc. Computer and method for executing target instructions
JPS5569855A (en) * 1978-11-20 1980-05-26 Panafacom Ltd Data processing system
US4323963A (en) * 1979-07-13 1982-04-06 Rca Corporation Hardware interpretive mode microprocessor
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
BG33404A1 (bg) * 1980-07-22 1983-02-15 Kasabov Registrovo aritmetichno ustrojjstvo
US4375678A (en) * 1980-08-25 1983-03-01 Sperry Corporation Redundant memory arrangement providing simultaneous access
US4402042A (en) * 1980-11-24 1983-08-30 Texas Instruments Incorporated Microprocessor system with instruction pre-fetch
US4405983A (en) * 1980-12-17 1983-09-20 Bell Telephone Laboratories, Incorporated Auxiliary memory for microprocessor stack overflow
US4430708A (en) * 1981-05-22 1984-02-07 Burroughs Corporation Digital computer for executing instructions in three time-multiplexed portions
US4491937A (en) * 1982-02-25 1985-01-01 Trw Inc. Multiport register file
US4737933A (en) * 1983-02-22 1988-04-12 Storage Technology Partners CMOS multiport general purpose register
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
US4611278A (en) * 1983-04-01 1986-09-09 Honeywell Information Systems Inc. Wraparound buffer for repetitive decimal numeric operations
US4569016A (en) * 1983-06-30 1986-02-04 International Business Machines Corporation Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51117843A (en) * 1975-03-26 1976-10-16 Honeywell Inf Systems Path finder microprogram control system
JPS56157541A (en) * 1980-05-06 1981-12-04 Kinki Keisokki Kk Pseudo and multi central processor
JPS575153A (en) * 1980-06-10 1982-01-11 Nippon Telegr & Teleph Corp <Ntt> Information processor
JPS57197653A (en) * 1981-05-29 1982-12-03 Mitsubishi Electric Corp Control device of microprogram

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62288942A (ja) * 1986-05-30 1987-12-15 Yokogawa Hewlett Packard Ltd デ−タ処理装置
JPS6412339A (en) * 1987-07-06 1989-01-17 Oki Electric Ind Co Ltd Forth machine
JP2014130606A (ja) * 2005-10-20 2014-07-10 Qualcomm Incorporated スタックド・レジスタ・ファイルのレジスタ・セーブ・エンジンのためのバッキング記憶装置バッファ
JP2009538488A (ja) * 2006-05-26 2009-11-05 ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー コンピュータの円環状レジスタ配列

Also Published As

Publication number Publication date
DE3586603D1 (de) 1992-10-15
EP0154529A3 (en) 1988-03-16
US5179734A (en) 1993-01-12
JP2571757B2 (ja) 1997-01-16
EP0154529A2 (en) 1985-09-11
EP0154529B1 (en) 1992-09-09
DE3586603T2 (de) 1993-01-28

Similar Documents

Publication Publication Date Title
JPS60217438A (ja) デ−タ処理装置および方法
US4574349A (en) Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction
EP0782071B1 (en) Data processor
US4118773A (en) Microprogram memory bank addressing system
US5006980A (en) Pipelined digital CPU with deadlock resolution
JP2659984B2 (ja) 複数のオンチップメモリバスを備えたデータ処理装置
US5099417A (en) Data processing device with improved direct memory access
US5070451A (en) Forth specific language microprocessor
US4587632A (en) Lookahead stack oriented computer
US4075687A (en) Microprogram controlled digital computer
JPS59173850A (ja) パイプライン式プロセツサ
US4954943A (en) Data processing system
JPS59133650A (ja) マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法
JPH03116235A (ja) 分岐処理方法及び分岐処理装置
US5097407A (en) Artificial intelligence processor
JPH04309131A (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
JPS5831014B2 (ja) 命令先取り装置
US4159520A (en) Memory address control device with extender bus
US4087857A (en) ROM-initializing apparatus
US5333287A (en) System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters
US4236205A (en) Access-time reduction control circuit and process for digital storage devices
CA2304609A1 (en) Autonomously cycling data processing architecture
JP2680828B2 (ja) ディジタル装置
US4803615A (en) Microcode control of a parallel architecture microprocessor
US4404629A (en) Data processing system with latch for sharing instruction fields

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees