Movatterモバイル変換


[0]ホーム

URL:


JPH05508722A - リダクションプロセッサ - Google Patents

リダクションプロセッサ

Info

Publication number
JPH05508722A
JPH05508722AJP91513502AJP51350291AJPH05508722AJP H05508722 AJPH05508722 AJP H05508722AJP 91513502 AJP91513502 AJP 91513502AJP 51350291 AJP51350291 AJP 51350291AJP H05508722 AJPH05508722 AJP H05508722A
Authority
JP
Japan
Prior art keywords
reduction
register
processor
reduction processor
cell
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.)
Pending
Application number
JP91513502A
Other languages
English (en)
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
Application filed by カールステット エレクトロニク アクチボラゲットfiledCriticalカールステット エレクトロニク アクチボラゲット
Publication of JPH05508722ApublicationCriticalpatent/JPH05508722A/ja
Pendinglegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

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

Description

【発明の詳細な説明】リダクションプロセッサ本発明はりダクションプロセッサに関するものである。
発明の背景コンピュータは1940年代に発明された。それ以来革命的速度で開発が行われている。それにもかかわらず、今日のコンピュータのアーキテクチュアは最初のものとほとんど同じである。
大概の改良はハードウェアについて行われた。
VLSIが導入されリソグラフィが改善されて僅か5年前にはスーパーコンピュータと呼ばれていたものをワンチップコンピュータとして構築できるようになった。寸法は指数関数的に縮小され今では線幅は1μ■よりも小さくなっている。
活性トランジスタ数だけでなくクロックレートも数桁大きくなっている。線幅の物理的限界は恐らく0.2μmと思われる。
同じ期間にシリコンの使用についてコンピュータアーキテクチュアは改善されていない。むしろ、大概のコンピュータは高速とするために適量以上のシリコンを使用している。
これらの事実によりシングルプロセッサの速度の発展は今後5年間停止するものと思われる。パラレルプロセッサが導入されたが複雑度が高くなって/’%−ドウエアのコスト増大を招き、大概のプログラムに対してプログラミングコストは手が出ないほど増大した。
相関的に見れば、ハードウェアコストは低減されたが新しいシステムのプログラミングコストは著しく増大し間もなく手が出ないようなレベルとなるであろう。
コンピュータはソフトウェアおよび/1−ドウエアのさまざまなユニットの複雑な組立体である。さまざまなノくラダイムおよび発展段階において、特別な目的のために標準が作られ確立されシステムへ展開された。この非均一性により多数のインターフェイスが生じた。
さまざまな品質およびスタイルのこれらのインターフェイスおよびパラダイムによりユーザやプログラマは機械を使用するのが困難となり一多くの知識を必要とする−また複雑であるため隠されたエラーが生じる。
が開発されつつある。リダクションプロセッサは算術式を含むある種の構造を有するプログラムを実行しこの構造はいくつかのりダクションステップにより簡約化される。したがって、プログラムは他種のコンピュータのように所与のシーケンスで実行されることはない。
制限サイズよりも大きいりダクションプロセッサを開発するにはいくつかの困難が伴う。
プログラミング言語の開発最初の電子計算機の開発によりFORTRAN。
C0BOL、AIgol、BAS IC,Pa5ca1等のこの種のコンピュータに適したいくつかのプログラミング言語の開発か開始された。主として従来のコンピュータ、すなわちジョン フすン ノイマンが開発した原理に従って設計されたコンピュータ、により逐次実行される一連のコマンドや命令からなるプログラムが通常得られるため、これらの言語は以後従来言語とも呼ばれる命令型言語と呼ばれている。これらの言語の不便さが高まるにつれ他の一連の言語、L I S P、I SW I M、 Scheme(LISP(7)1つの方言) 、ML、 Hope、 5ASL等が開発されるようになった。これらの言語開発の背後にある駆動力は概念的単純性、特定マシンにより設計が影響されないことてあった。関数型言語が注目されるようになるまでしばらく時間がかかったが、その1つの理由は関数型プログラムの実行速度が低いことであった。後の開発によりたとえこれらの関数型プログラムが従来のコンピュータで実行されるものでない場合でも、従来のコンピュータにより実行される従来の(命令型)言語プログラムに近いかもしくは同じ速度で実行できる場合もあることが判った。
ソフトウェア危機関数型言語を開発するための実質的な努力が開始されたのは命令型言語の不便さが増してきたためである。1970年頃にソフトウェア危機が叫ばれるようになった。
プログラムは次第に複雑になり多数のエラーが含まれることか多く、読み取りおよび理解か困難で特に修正するのか困難となった。その一つの理由は高水準命令型言語によりプログラミングか簡単化されるという期待が高すぎたことてあり−これらの言語は考えていたほど高水準すなわち抽象水準ではなかった。命令型言語はいまだに初期のコンピュータ概念、フオンノイマン型コンピュータ、に適合されておりプログラミング水準はいまだにマシンレベルに近い。関数型プログラミング言語は従来のプログラミング言語のいくつかの欠点を緩和するいくつかの性質を有している。
さらに情報を得て理解するためにテキストブック “標準MLを使用した関数型プログラミング人keWikstrom、 Prentice Hall l 987を参照した。
本発明の目的および利点を完全に理解するには関数型計算方式が何により構成されるかを理解することが重要である。特に、歴史的に広(行き渡っている命令型方式と比較して理解することが重要である。
“関数型方式”とはプログラムが関数型言語で書かれこれらの言語に特に適した)1−ドウエアを具備するコンピュータに記憶されて実行されることを意味する。同様に、 “命令型方式“とはプログラムが命令型言語で書かれ命令型言語に適したハードウェアを具備するコンピュータに記憶され実行されることを意味する。
しかしながら、関数型言語て書かれたプログラムを従来のコンピュータに記憶して実行することができる。その逆も可能てあり、命令型言語で書かれたプログラムを関数型言語で書かれたプログラムを実行するのに適したコンピュータで実行することもできる。
関数型言語の性質関数型言語で書かれたプログラムはオブジェクトの性質の一組の定義および計算ルールと見なすことができる。
定義は宣言部であり計算ルール、すなわち簡約化すなわち書き換えルール、はコンピュータが実行中に使用する演算部である。関数型言語ではコンピュータに対する高水準インターフニーイスが提供されそれによりプログラマ−はコンピュータのハードウェア関連詳細から離れて抽象することができる。有利な副作用として関数型プログラムは従来の命令型プログラムよりも短くて理解し易い場合が多い。関数型言語の主な欠点の1つは従来のコンピュータで実行するには関数型プログラムを従来言語に変換しなければならないことである。これはコンパイラや解釈プログラムにより行われている。関数型プログラムを有効に記憶および実行するための専用ハードウェアか存在しないために関数型方式の利点のいくつかが保留されているのは明らかである。
発明の目的本発明の主な目的は大概のハードウェアの制約が解消されるプロセッサを提供することである。
本発明のもう1つの目的はリアルタイムで実行される非常に高速のプロセッサを提供することである。
本発明のもう1つの目的はプログラミングが出来るだけ簡単fヒされプログラミングの複雑化は均一かつ単純な世界で行われるプロセッサを提供することである。
本発明のさらにもう1つの目的は機械言語、オペレーティングシステム、通信プロトコルおよびプログラミング言語と同時に使用される言語、すなわち単純でソフトウェア水準が最低限とされた言語に適合されるプロセッサを提供することである。
本発明のもう1つの目的は非常に単純でプログラマ−、システム管理者、ハードウェア設計者および部品関係者が柔軟に使用できるプロセッサを提供することである。
本発明のもう1つの目的はセマンテイツクオブジェクトとして挙動する宣言型プログラミング言語に適合されリアルタイムでシステム特性を記述するプロセッサを提供することである。
本発明のさらにもう1つの目的は数値演算器から切り離されて協働する構造演算器を存するプロセッサを提供することである。
発明の要約前記およびその他の目的を達成するために、本発明はある構造を有するプログラムにより制御されさまざまな種類のりダクションを含むいくつかのりダクションステップにより前記構造を簡約化するようにされているリダクションプロセッサについて考慮し、この種の1次プロセッサには活性記憶装置が含まれ、それは次のものを含んでいる。
a、各々がりダクション操作を実施させる機会を育する複数個の活性記憶セル、b、各リダクション結果をそれと接続を有する記憶セル内の全セルへ通信する通信ネット。
好ましくは、通信ネットには制御線およびデータ線を有するバス構成が含まれ、全線が前記各記憶セルに接続されており、さらに前記全記憶セルに共通の制御手段か含まれている。各記憶セルはりダクション操作を行うのに必要な全情報を含むことができる。
リダクション情報には前記能の記憶セルの少くとも1つに対する参照を含むこともでき、記憶セルの内容は前記参照によりツリー構造にリンクされている。コアセルと呼ばれる前記記憶セルの少くとも1つがあらゆる種類のりダクションを実施することができ、オブジェクト記憶セルと呼ばれる残りのセルは全種類のりダクションの中のいくつかの限定部分しか実施できない。オブジェクト記憶セルは外部制御用の第1のバス構成およびデータ用の第2のメモリバス構成を存する連想メモリ内に含まれ、それには下記のものが含まれる。
合成情報を記憶する数個の前記オブジェクト記憶セル、前記オブジェクト記憶セルに対する少くともセレクト状態もしくは非セレクト状態を示す少くとも1個のマークを記憶する前記各オブジェクト記憶セル内の手段、前記オブジェクト記憶セル間で探索操作を行って前記マークを設定する手段、および前記全てのオブジェクト記憶セルが接続され前記数個のオブジェクト記憶セルの中の1個を選定する優先順位デコーダ。
少くとも1本のグローバルバスが設けられていて前記記憶セル間てANDおよびOR型の論理演算を行い、さらに各記憶セル内に前記バスと通信を行う手段が設けられていて前記記憶セルを制御し実際の論理演算に参加する。
数個の1次リダクションプロセッサを接合して2次リダクションプロセッサを表わす方形フィールドとすることかでき、前記方形フィールド内の各1次プロセッサは前記方形フィールド内の各近傍1次リダクションプロセッサへ行くチャネルを含んでいる。
次に、2次リダクションプロセッサを各々が2″×2″のサイズの1次リダクションプロセッサを存する論理領域へ分割することができ、前記論理領域はお互いの側に矩形パターンで設けられ前記2次リダクションプロセッサの前記方形フィールドを被覆するようにされている。
アドレスを有する少くとも1個の参照可能な間接要素が各領域に記憶され、前記要素は所属領域内の記憶セルからしか参照することができない。
1次プロセッサは前記2次プロセッサ内で相互接続を行うことができ、前記2次プロセッサ内で前記領域の配置の内部再定義を行うことにより前記2次プロセッサ内の前記各領域を各方向に半領域だけ変位させることができる。
また、前記数個の1次リダクションプロセッサを各々かバスもしくはリングであるネットワークの階層として接続することかでき、また前記数個の1次リダクションプロセッサを少くとも2種のネットワークか設けられ第1種はバスであり、第2種はリングであり第3種は方形フィールドであるネットワークの階層として接続することかできる。
少くとも1つのボート手段が前記活性記憶手段に接続され、少くとも1つの包囲手段が前記少くとも1つのボー 1一手段に接続されている。
ボート手段に与えられた信号シーケンスを前記活性記憶手段内の少くとも1個の記憶セルに記憶された未定義シーケンス要素を有するシーケンスと比較する手段が設けられ、さらに比較により明確な違いがあれば前記記憶されたシーケンスをnothing 、すなわち矛盾を表わすもの、へ書き換えさもなくば周囲からの信号シーケンスおよびマシンからの記憶シーケンスを単一化した特定シーケンスへ前記記憶シーケンスを書き換える手段も設けられている。
互いに地理的に離された複数個の2次リダクションプロセッサにより3次リダクションプロセッサを形成することができる。
領域制限連想アドレス指定が2次リダクションプロセッサに採用され物理的アドレス指定か3次リダクションプロセッサに採用される。
リダクションによる実行実行されるプログラムはプログラムの各部か閉包で表現される閉包の有向グラフで表現することができる。実行中にこの有向閉包グラフは使用する言語の簡約化規則に従って漸時簡約化される。実行可能な閉包が残っていない場合にはプログラムの実行が完了する。有向閉包グラフはツリーの各節点が閉包であり最頂部節点が根と呼ばれるツリー構造とみなすことができる。次にリダクションによる実行は通常ツリー構造ボトムアップを簡約化し、根から最遠のツリ一部を簡約化し次に根へ向って簡約化を行って実施される。この種の実行は通常要求駆動実行と呼ばれる、すなわち他部分の実行結果に依存するプログラム部分の実行は結果が得られるまで延ばされる。
定義次に、本明細書で使用される式およびその意味に関するリストを載せる。
要素データ構造内の大きなものの一部リスト要素の順序付はシーケンス、各要素は順次リストとなることができる。
挿入リスト全体を1つのセル閉包内に記憶できるような大きさのリストの一部。任意長のリストを表現できるようにする。
閉包プロセスを定義する階層構造実体。閉包は全てそれを一意的に定義する根を存している。リダクションマシンの簡約化作業は閉包に対して行われる。リダクションによりマシンの全状態が変換される。
オブジェクト記憶装置オブジェクトを記憶する記憶セルを含むメモリ。
記憶セルオブジェクト記憶装置内のセル。他の記憶セル内に記憶された他のセル閉包を引用できるセル閉包を記憶する。
セル閉包記憶セル内の内容記憶セルフイールド記憶セル内のフィールド閉包要素記憶セルフイールド内に記憶されたデータ要素閉包識別子閉包を一意的に指定する閉包セル要素標準閉包(canonical closure )これ以上簡約化できない閉包、すなわちこのセル閉包をさらに簡約化しなければならないように簡約化することができる他のセル閉包を指定する任意の閉包識別子を含まないセル閉包。
目標実行、すなわち簡約化される閉包父値/呼出しフィールド内に少くとも1つの閉包識別子を存する閉包息子息子を指定する閉包識別子を介して他の閉包と連係される閉包息子は父であることもできる。父は息子であることもできる。息子は2Å以上の父を有することができる。父は2Å以上の息子を存することができる。
閉包ネット閉包とその全ての父閉包位置閉包が根であるか節点であるか。
根閉包ツリー内の最頂部閉包節点閉包ツリー内の根ではない閉包here閉包位置を含む記憶セルフイールド型セル閉包内の型コード、すなわちオブジェクトの性質、例えば命令コード、を表わすビットパターン。
遅延(1azy)実行可能か、遅延評価か、不活性かを示すセル閉包内の要素。
識別子記憶セル内に記憶されるオブジェクトを指示するのに使用する特種閉包要素環境オブジェクトは同じ環境を与えて分類することができる。
値/呼出し単純値、すなわち直接表現、nothingもしくは他の閉包の呼出し、すなわち間接表現、のいずれかを記憶する閉包要素コアセル構造演算器。コアセルは閉包簡約化を含む構造演算を実施することができる。
ニューメリックALU基本的数値および論理演算を実施できる数値演算器。
コアセルはニューメリックALUを使用して数値演算コアセル内の全ブレーン中を延在するレジスタコア語コアセル内のフルレジスタの内容制限レジスタ値/呼出し型の閉包セル要素を含む寸法とされた限定量のブレーン中を延在するコアセル内のレジスタエレメント語I+Jl’[jレジスタもしくはそれと同じ広がりを有するフルレジスタの一部の内容num語値もしくは呼出しを表わすエレメント語の一部タグ語num語表現の特徴を示すタグを存するエレメント語の一部リダクション使用する特定プログラミング言語のルールに従って閉包を書換え/再構築すること。
連想オブジェクト記憶装置本発明により1次プロセッサを引き出す際の戦略はオブジェクト記憶装置を数個の記憶セルとして構成することである。このような各セルは1つのセル閉包を含むかもしくは自由な未使用セルでなければならない。セルは任意特定の順序で割付けてはならず利用可能な資源のプールと考えなければならない。
物理的アドレスか無いかもしくは物理的位置に依存しないことが非常に重要であると考えられていた。このような依存性があるといずれ従来のRAM型デバイスのような問題が生じる。
オブジェクト記憶装置内のセルは全てメモリバス構成により連絡されている。コスト低減のためにこれは重要なことである。数個のボートを使用するような他の構成ではオブジェクト記憶装置のエリアが増大する。しかしながら、メモリバス構成ではメモリサイクル毎に1回の動作しか実施できない。
リダクション機構は各々が識別子を有するセル閉包からなる状態を有し、セル閉包は識別子により互いに連係されてグラフを形成する。グラフに続いて識別子によりセル閉包をアドレス指定することができる。したがって、メモリバスはグラフの全頂点に対する共存バスとして使用することができる。
各セル閉包は環境も有し、それは閉包の環境を与える閉包ツリー内の根閉包を指定する識別子を含むことができる。このようにして、全構造が1回の操作だけでツリー内の1つの閉包から根を介してアクセスすることができる。閉包は同じ環境を有するもので分類することができる。
物理的従属性が無い、すなわちメモリは連想メモリであるため、全ての”アドレス指定”は内容情報に従って行わなければならない。セル閉包、すなわち記憶セル内の内容、は記憶セル内の記憶フィールド内に記憶可能な数個の閉包要素を含んでいる。各記憶要素はいくつかのラベル情報や値表現や未使用表示と共に識別子を含むことかできる。連想探索ではセル識別子、セル環境、セル型、記憶セルフイールド内に書き込まれた値もしくはその組合せ等の任意の閉包要素もしくはその組合せを探索キーとして使用することができる。
閉包要素はそれがアクセス機構のターゲットとして選定されていることを示す特別な選定ビットを含むことができる。ある探索操作ではこれらの選定ビットは記憶セルピット内に設定される。
この種のアクセスには1個もしくは数個の記憶セルを含むことかできる。多セル動作ではさまざまな記憶セルに属する多くの選定記憶フィールドに識別子を記憶することができる。
中央コントロールユニット基本的リダクション規則は非常に多くて各記憶セルに含めることはできない。したがって、リダクション機構は全セル閉包により共有される。ドライブおよびセンスアンプを使用して全てのオブジェクト記憶セルが長いメモリバス線を駆動できるようにされる。中央コントロールユニットはバス信号の時間およびレベルを調整することができる。したがって、全ての通信は中央コントロールユニットを制御装置としてメモリバス構成とされる。
好ましくはプールゲートアレイである中央コントロールユニットは外部ワイヤを介して単純な値の復号を行いコントロールバス構成のオブジェクト記憶装置内の全記憶セルへ大概のコントロール信号を同報する。コントロールユニットの設計情報についてはアジソンウェズリー出版社、1980年、カーバーミードおよびラインコンウェイの“VLS Iシステム入門”を参照した。
複雑なアクセスパターンを実施できるようにするために、各記憶セル内てプール式か解かれる。この式は中央コントロールユニットからの同報制御語により制御される。制御語は通常記憶セル内の情報を感知すること(こより中央コントロールユニットから引き出される。本発明によるリダクションプロセッサの大概の応用について、記憶セル内でプール式を解くことが重要でありそれは通常の方法でメモリから情報を読み出して処理するよりも効率的であるためである。
エリアオーバヘッドを出来るだけ小さくするためにプール式は出来るだけ小さく選定される。したがって、アクセス機能は慎重に選定される。
こうして、コントロールユニットはオブジェクト記憶装置の機能を制御する。メモリバス構成により全ての記憶セルが連絡される。したがって、数個の記憶セルが読出し命令されることもある。そのためにいくつかの利用可能な候補の中の1つだけを一時に選定する機構が設けられる。選定は全ての記憶セルに接続された優先順位デコーダによって行われる。
コアセル好ましくは、以後コアセルと呼ぶ特定活性記憶セルを設けてオブジェクト記憶装置と協働させ、次にそれが活性記憶装置とみなされる。コアセルはあらゆる種類のIJダクションを実施することができるが、連想オブジェクト記憶装置はある種のりダラシ3ンの限定部分しか実施できない。しかしながら、コアセル構成は効率は低いがオブジェクト記憶装置の一部でシミュレートすることができる。
コアセルは複数レベルの式を記憶することができる。
コアセルに記憶される式の基本命令はコアセル内で実行しなければならない。コアセルは構造演算、すなわちコンピュータプログラムにより与えられる構造を書き換える演算、に適合されている。ユニット内のセルの式は書換操作に含まれる表現グラフの技に対応するサイズである。
数値/構造演算器コアセルは構造演算、すなわち大概のりダクション、しか行わないデバイスであり、数値演算器にューメリックALU)を使用して数値演算を行う。通常、プロセッサには数値および構造部演算の両方を実施する演算論理装置(ALU)が設けられており、この従来技術のALUは構造および数値演算のためのさまざまな機能部へは分割されない。従来のALUを使用する場合にはコアセルで実施される構造演算と同等の演算を実施するための小さなプログラムが必要である。
図面の簡単な説明本発明およびその目的と利点を完全に理解するために、次に添付図に関する以下の説明を行う。
第1図は本発明による1次リダクションプロセッサの概略構造を示し、第2図は第1図の1次リダクションプロセッサ内の実施例のメモリの概略設計を示し、第3図は第2図のメモリ内の記憶セルの実施例を略示し、第4A図はセル閉包を記憶できる記憶セル内のさまざまなフィールドの使用を示し・、第48IN〜第4DINはコアセルの実施例で使用できるコアレジスタを示し、第4E図はコアセルの実施例において可能なコアレジスタ構成を示し、第5A図〜第5F図はコアセル内のさまざまなデータ記憶形式を示し、第6図〜第8図はコアセルの動作例を示し、第9図は第1図の1次リダクションプロセッサ内のコアセルの動作面の実施例のブロック図を示し、第1O図は第9図の動作面に対してあらゆる種類の接続を存するコアセル内の汎用レジスタセルの設計実施例を略示し、第11図および第12図はコアセル内のレジスタセル間の2つの転送例を略示し、第13図〜第19図はコアセル内のさまざまなデータトランスボート例を示し、第20図は(第13図に示す)記憶セル内のビットセルおよびそれに接続された駆動およびセンス回路の回路図を示し、第21A図はメモリ内の優先順位デコーダ内に含まれるブロックの回路図を示し、第21B図は第21A図に示すブロックの接続を示し、第22図はメモリ内の要素ヘッド実施例の回路図を示し、第23図はメモリ内の閉包ヘッド実施例の回路図を示し、第24A図は第1図の1次プロセッサ内のニューメリックALUの回路図を示し、第24B図は第24A図のニューメリックALUに対するタロツク信号およびいくつかの基本制卯信号を示し、第25図は算術表現のビットフィールド分割を略示し、第26A図は整数に対するコードのグラフ表現を示し、第26B図は浮動小数点値に対するコードのグラフ表現を示し、第26C図は7ビツトバスに与えられる算術表現の設定を説明する概略表現を示し、第27A図〜第27D図は第26図に従って与えられるデータリストを示し、第28図は本発明による1次プロセッサ内のニューメリックALU実施例の回路図を示し、第29A図〜第29C図はクロッキングシーケンスの異なるニューメリックALUの人出力バッファの実施例を示し、第30図は第28図の回路に含まれる精密デコーダ実施例の回路図を示し、第31A図は第28図の回路内の全語加算器実施例のブロック図を示し、第31B図は第31A図の加算器内の精密スライスのブロック図を示し、第31C図は第31B図の精密スライス内のヒツトスライスのブロック図を示し、第32図は第28図の回路のインフレメンタ内の精密スライスの実施例を示し、第33図は第28図の回路のオペランド回路内のセレクタに含まれる基本セレクタビットスライス実施例の回路図を示し、第34図は本発明によるプロセッサに含まれるボートにおける信号シーケンス図であり、第35図は本発明によるプロセッサに対する入出力ボートの実施例を示し、第36図は本発明による非常に一般的な2次リダクションプロセッサ(SOP)を示し、第37A図は方形フィールド内に1次プロセッサ(FOP)が配置されているSOPの実施例を示し、第37B図は第37A図の方形フィールドSOP内で使用される4つの別々のデータ転送手段を存するコアセル内の動作面を示し、第37C図は方形領域に分割された256のFOPを含む方形フィールドSOPを示し、*37D図〜第37E図は方形フィールドSOP内のさまざまなソフトリングを示し、第38図はFOPが各々がバスであるネットワークの階層構成とされているSOPの第2の実施例を示し、第39図はFOPが各々がハードリングであるネットワークの階層構成とされているSOPの第3の実施例を示し、第40図は第37A図、第38図および第39図のS。
Pを含む組合せSOPの実施例を示し、第41図はいくつかのSOPを含む3次リダクションプロセッサを示し、第42A図〜第42C図は3次リダクションプロセッサのさまざまな部分およびグローバルアドレス指定の一処理方法を示す。
第1図に本発明による1次すダクションブロセ、ツサ、すなわち単純リダクションプロセッサ、の実施例を示す。
1次プロセッサはりダクションプロセッサであり後記するようにより複雑なりダクションプロセッサの一部として提供することができる。このリダクションブロセ・ンサのセマンティック構造は第1図から明白である。しかしながら、その設計は全く異なることがあり、例えばコアセルのさまざまなブレーンをチップ上に横並びにしたり略示したものと厳密には同じでない設計で並列層として提供することもできる。
第1図の1次リダクションプロセッサは以後オブジェクト記憶装置と呼ぶ活性連想メモIJ 1を含み、それは以後記憶セルと呼ぶメモリセルを含んでいてその各々か実行可能部を含むことができるデータオブジェクトを記憶することかできかつ好ましくは以後コアセルと呼ぶ簡約化演算、構造演算器2の限定セットを提供することかでき、構造演算すなわち構造修正リダクションを実施する数個のコアレジスタ3を含み、かつ第1図の1次リダクションプロセッサが数個の1次リダクションプロセッサを含む2次もしくは多次リダクションプロセッサの一部である場合には多数のプロセッサ間で通信を行うプロセッサネットワークデータ転送手段4を含んでいる。データ転送手段4は記憶セル構造を別の1次プロセッサへ転送するためにこの構造を一時的に保持するようにされた数個のレジスタを含んでいる。
コアセル内で行われる演算用オブジェクト記憶装置内のフィールドは反転することができる、すなわちコアセルはオブジェクト記憶装置の一部でシミュレートすることかできる。コアセルは1回だけの操作でそのレジスタ間でデータを交換および転送するいくつかの特徴を有している。このような特徴はコアセルをシミュレートするオブジェクト記憶フィールド内で数サイクルの操作を要する。
ニューメリック演算論理装置tにューメリックALU)5がコアセル2に接続されており、数値演算を行う際にコアセルからニューメリックALUへデータか転送される。したがって、構造演算と数値演算は異なる別々のユニットで行われる。
プロセッサにはオブジェクト記憶装置l内の要素、コアセル2、およびニューメリックALU5を制御する中央コントロールユニット6も含まれている。さらに、プロセッサには外部世界と通信を行うための1個もしくは数個のボートを設けることもできる。
中央コントロールユニット好ましくは中央コントロールユニット6は極めて複雑な構成のプールゲートアレイである。その構成は情報信号に対する制御信号の構成に関する全てのアルゴリズムを具備するコンピュータ内で計算されるため、実施例を示すことはできない。プールゲートアレイは本発明による全体プロセッサに対するチップマスクパターンの構成に適合されたコンピュータから直接チップマスクパターンとして提供される。したがって、この回路を詳細に示すことはできない。それに対する信号だけを実施例に関して後記する。
オブジェクト記憶装置オブジェクト記憶装置lは通常のRAM型メモリよりも実質的に知能が高い。後記するように、それは連想的であって通常のRAM型メモリによる“リード”および“ライト”よりも多くのサービスを提供することができる。オブジェクト記憶装置に特に適したビットセル構造を第20図に示す。
メモリヒツトセルは4つの接続しかなくその中の3つだけが制御可能であるか多くの機能を実施することができる。それに含まれる部品は非常に少い。これにより莫大な量のメモリビットセルを含むコンパクトな記憶装置を作る可能性が得られる。
オブジェクト記憶装置は各々がいくつかの閉包要素を含む記憶セルに分割される。提供されるサービスは高水準である。例えば、個別記憶セル内のいかなる位置であっても特定データエレメントの発生を全て見つけ出して1つだけのメモリ命令を使用して新しい値にグローバルに、すなわち全オブジェクト記憶装置内で、書き換えることかできる。オブジェクト記憶装置は連想的であるため、この書換操作は影響を受ける記憶セル数に無関係に2物理的メモリサイクル内で行うことができる。
第2図に関して、連想オブジェクト記憶装置Iは記憶セルlOのローの記憶ブレーンにより構成されている。
したかって、記憶セルはスタック内のローとして提供される。第20図に関して後記するように、これらは全て変換インターフェイス7内の駆動およびセンスアンプにより駆動される垂直メモリバスt+ 、t* 、 id、 env。
V6 、Vl 、Vt 、Vtに接続されている。また全ての記憶セルは数個の記憶セルから一時に1個の記憶セル10を選定して作動させる優先順位デコーダ11にも接続されている。オブジェクト記憶装置は数サイクルのセション中に実施される連想アクセスにより制御される。セション中に全オブジェクト記憶アクセスか実施される。
ボート外部世界と通信を行うためにリダクションプロセッサに1個もしくは数個のデータ入出力ボートを設けることかできる。ボートはオブジェクト記憶セルと同じ機能でコンパチブルな記憶セルを含んでいるためオブジェクト記憶装置の延長と考えることができる。
オブジェクト記憶セルオブジェクト記憶装置1内の記憶セル10はデジタル内容を記憶し実際の計算にアクティブに参加するのに使用される。合成デジタル情報および少くとも1つのマークが各記憶セル!O内に記憶される。マークはCHOSENもしくはNON CHOSENである。記憶セルもしくは閉包セルと呼ばれるその一部内の合成デジタル情報はCHOSENとマークされた情報をリードもしくはライトすることによりリードもしくはライトすることができる。マークビットを伴うことなくアクセスを提供することもできる。次に、記憶セルを示す第3図の要素に接続された1ビツトバスaおよびb上の論理機能の結果によりアクセスか制御される。
記憶セル1闇で論理演算を行うためにグローバル1ビツトバス12 (MODE)および13 (MORE) が設けられている。これらの演算はANDおよびORである。
第3のバス14 (ANY)を優先順位デコーダに接続して設けることができる。しかしながら、バスの数は3本に限定されず1本でも数本でもよい。別々の記憶セルがバス12.13.14から読出しを行うことができかつ論理演算に参加することができる。いずれかのバス見。
ルによりリードおよびライトすることができる。2個以上(MORE)の記憶セルが選定される場合にはバス13 (MORE)は“真”値を有する。いずれか(ANY)の記憶セルが通信を要求する場合にはバス14(ANY)は信号“真” (すなわち“1″)を存する。
第3図に示す記憶セルはい(つかの記憶セルフイールド151へ分割される。各記憶セルフイールド151には数個のビットセルI5と1つの要素ヘッド166が含まれている。閉包要素は要素ヘッド16に記憶されたCHO3ENもしくはNOT CHO3ENを表わすマークと共にビットセル15内に記憶される。閉包要素は互いに異るタスクに割付けることができる。各閉包要素内に記憶されるワード長は例えば38ビット程度とすることができる。ヘッド16内のマークの付加ビットとしてビットセル15内の数ビットを要素内の残りの情報の使用に関する情報として使用することができる。したがって、いわゆるタグ語をこれらのビット内に配置することかできる。6ビツトをタグ語として使用し32ビツトをビットセル15内の正規の記憶情報として使用することができる。
第3図から判るように、全ての閉包要素を同じサイズとする必要はない。したがって、バス部t、および11に接続された閉包要素、すなわちTYPE、は残りのバス部に接続された閉包要素よりも小さい。記憶セルフイールド151の要素ヘッド16は記憶セルの局部1ビツトバスaおよびbに接続されている。これらのバス数は別の方法で選定することもできる。重要なのは少くとも1本のバスがあることである。閉包要素のCHO3EN間のWIRED ANDおよびWIRE OR等の論理演算はこれらのバスを使用して行われる。
各記憶セルはバスaおよびbが接続された閉包ヘッド17を育している。閉包ヘッド17はまた、実施例では2本のバス18および19として示す、少くとも1本の1ビツト幅バスにより優先順位デコーダにも接続されており、またグローバルバス12および13にも接続されている。閉包ヘッド17はバッファとして作用する。セルはこれらのバス上の結果を読み出したり論理演算に参加することができる。
オブジェクト記憶セルの使用方法記憶セルの実施例を第4A図に示し、本発明によるプロセッサで使用する記憶セル内のさまざまな記憶フィールドの機能説明に使用する。第4A図の記憶セル内のフィールドは第3図の記憶セル内のフィールドと同順ではなく、それは第3図がハードウェアを示し第4A図かセルの使用方法を示すためである。第4A図に示すように記憶セルは2Flの閉包要素を記憶することかでき記憶すべき要素に特に適した記憶フィールドを含んでいる。これらのフィールドには記憶すべき閉包要素と同じ名称が第4A図で与えられている。
第1種の閉包要素第1種の要素は記憶セルのさまざまな状態を記述する。
この種の一要素はLAZYであり、セルがアイドルであるかどうかを指示し、アイドルであればセルの残りの内容はパッシブ情報、exec、すなわち実行可能状態にあるとみなされるかもしくはwait、すなわちセルの評価か延期されて実行する前の結果を待っているとみなされる。
フィールドLAZYは2ビツトを含んでいる。もう1つの第1p1要素はWHEREであり、閉包がツリーの根であるか節点であるかを示す。それは1ビツトを含んでいる。もう1つの第1種の要素はTYPEであり、それは型コード(par、 seq、 apply、 1ist、 unify等)を含んでいる。それは実施例では3ビツトを含んでいる。qれらの第1種の要素はセル閉包をセルリダクションのために転送する時に第1図に示すようにLAZY、WHERE、およびTYPEブレーンに設けられたコアレジスタ3の一部に記憶されるようにされている。したがって、それらには同じ外延が与えられている。しかしながら、コアセルにはレジスタ内の情報が閉包であるか単純値であるかが指示されるCLO3/S IMPLEと呼ばれる特別なブレーンが設けられている。CLO3/S IMPLE、LAZY、WHEREおよびTYPEブレーンは以後ATTRI BUTEブレーンと呼ばれる。応用に応じてさらに記憶セルフイールドおよびコアセルブレーンを設けることかできる。
第2種の閉包要素第2種の要素は識別、環境もしくは値を記述する。これらはIDENTIFIERSENVIRONMENT。
VALUE/DESである。これら第2種の要素は第1図のHEADおよびN0Mブレーン内のコアレジスタ3の一部に記憶されるようにされている。これらの各要素は実施例では38ビツトを含むエレメント語を含んでいる。次にエレメント語は好ましくは32ビツトを有しコアセル内のN0Mブレーンに記憶されるnum語と好ましくは6ビツトを有しコアセル内へ転送されるとHEADブレーンに記憶されるタグ語へ分割される。応用によってはさらにブレーンを付加することができる。
タグ語第2種の各閉包要素はnum Nの特徴を示すタグ語を有している。2種のタグがあり、識別子および環境に使用される間接タグおよび単純値等に使用される直接タグである。間接タグの例は cls 、 canonおよびopenである。
タグ語かclsであればnum語が簡約化可能な閉包を表わすことを意味する。
タグ語がCanonであればnum語がこれ以上簡約化できない閉包を表わすことを意味する。りる閉包を表わすことを意味する。直接タグの例はdiscr 。
cont、 11nuSedおよびnothiBである。タグ語がdiscrであればnumHが整数であることを意味する。タグ語がcontであればnuat語か浮動小数点値であることを意味する。タグ語かunusedであればフィールド内のnum語は意味を欠くことを意味する。タグ語がnothingであればフィールド内のnum語はnothingすなわち矛盾を表わすことを意味し、例えば何もマークされていないフィールドを含む閉包の単一化は常にnOthirlgである。応用によってはさらに間接もしくは直接タグ語を付加することかで記憶セル内の識別子フィールドが識別子要素を含む場合には、その記憶セル内のセル閉包をコアセルへ転送することができる。各記憶セルフイールドVALUE/DESは他のセル閉包を指示する識別子を含むことができ、この他のセル閉包へのリンクを提供する。記憶される閉包の量は識別子により一緒に保持されるセル閉包の前向グラフすなわちツリーとみなすことができる。
環境環境フィールドは閉包の環境を提供する閉包ツリー内の根閉包を指定する識別子を含んでいる。このようにして、1回だけの操作で全体構造をツリー内の1つの閉包から根を介してアクセスすることができる。しかしなから、環境フィールドは他の用途を存することもできる。
環境は生成される全てのセル閉包の環境内にクリエータの識別子を記憶することにより構造のクリエータを追跡するのに使用することかできる。他の例は、同じ名称を有する記号は全て同じ物を表わさなければならないサブツリー内の全ての閉包セルを同じ環境を有することにより分類することができる。
したがって、閉包の環境が与えられると、この環境内の根閉包を見つけ出すことができる。環境の根閉包はその記憶セルのWHE REフィールド内に特定マーク(例えば“1”)を与えることができる。環境の節点閉包にはWHEREフィールドに別のマーク(例えば“O”)を与えることができる。
型記憶セルフイールドTYPE内の内容はセル閉包の型である。このTYPE成分は例えば値: parすなわち並列値および/もしくは呼出し、1istすなわち一連の値および/もしくは呼出し、unifyすなわち値の内容および/もしくは同じ値を表わすかどうかを調べるべき呼出しを有することができる。
コアセルコアセルは全体として数個のコアレジスタ3(第1図参照)を含む構造演算用演算装置である。レジスタはリストのツリーを記憶する。各リストは語を含んでいる。
コアレジスタはオブジェクト記憶装置lから引き出される定義を含んでいる。コアレジスタ3はオブジェクト記憶セル内の内容を転送するのに充分な広さのバス型ld、 enV 、Vo 、V+ 、Vt 、Vsを含むバス構成8によりオブジェクト記憶装置に接続されている。しかしなから、コアセルは3層までのオブジェクト構造を含むことかできる。4つの場合があって、0.1.2.3層オブジェクト構造をコアセルに記憶することができる。
コアセル内のレジスタコアセルの実施例で使用できるレジスタを第4B図〜第4D図に示し、コアセルの実施例で使用できるレジスタの構成を第4E図に示す。
第4B図はレジスタがレジスタセルにより構成され、各セルが情報の1ビツトを記憶できることを示している。
レジスタを描く方法はコアセル内のさまざまなブレーンをレジスタか延在し、各レジスタセルか一つのブレーンに配置されていることを示している。
第4C図はコアセル内の全ブレーンを延在するレジスタ、すなわちフルレジスタを示している。この種のレジスタはNUMおよびHEADブレーン内に位置するレジスタセル内に識別子や値を保持することかできる。また、BOOL、TYPE、WHERE、LAZYおよびCLOS/S IMPLEブレーン内に位置するレジスタセル内に前記状態を保持することもできる。第4D図はコアセルのNUMおよびHEADブレーンだけを延在するレジスタ、すなわち制限レジスタを示す。
第4E図はコアセル内のレジスタの可能な構成を示す。
コアセルは好ましくは方形に配置されベースレジスタマトリクスと呼ばれるペースレジスタを有している。ペースレジスタはその一側面に沿った主ローを有し、主レジスタと呼ばれる。各々か底部に1個の主レジスタを存するペースレジスタのコラムは従属レジスタと呼ばれる。
コアセルには識別子レジスタおよび環境レジスタを設けることもできる。−列の補助レジスタがベースレジスタマトリクスの側面に配置されている。
コアセルの実施例では主レジスタを除く全てのペースレジスタを第4D図に示す種類すなわち制限レジスタとすることができ、第4E図の残りのレジスタは第4C図の種類すなわちフルレジスタとすることかできる。
コアセルのハードウェア構造の詳細説明を行う前に、第5A図〜第5F図に関してさまざまなデータ記憶形式および第6A図〜第6H図、第7A図〜第7G図、第8A図〜第8G図に関してそのいくつかの動作例について簡単に説明する。
単純値第5A図に示すように、リダクションの結果である単純値25は主レジスタの特定レジスタ内に存在する。
単階層構造簡約化するために何をコアセルへロードするかが目標となる。第5B図に示すように代表的に他のセル閉包に参照されない閉包である単階層目標が主レジスタに記憶される。単純な数値演算、すなわちl、2.3の値の加算の例を示す。数値命令(+)が第1の主レジスタに記憶され処理すべき要素が他の主レジスタに記憶される。
2階層構造第5C図に示すように、2階層構造を含むツリーは父であるその根リストを主レジスタ内に水平に記憶し息子であるリストをペースレジスタ内に垂直に記憶させることかできる。本例ではリスト表現(1234)を有する構造かペースレジスタマトリクス内に記憶される。部分リスト内の第1の要素である根リストすなわち1および3は主レジスタに記憶され、息子リストすなわち12および34は従属レジスタ内に垂直に記憶される。この種の記憶装置の他の例を例えば第6図に関して後記する。
3階層構造第5E図に示すように、ツリー階層構造を有する目標ツリーの根は1個の補助レジスタに記憶され1つの息子は主レジスタに記憶されている。第5D図では、命令Transpose(Tr)である目標ツリーの根は1個の補助レジスタに記憶されリスト<Idl、 id2.1d7)であるその息子は主レジスタに記憶されている。次にこのリスト内の各要素は息子を指示する識別子である。第5E図ではこれらの息子はペースレジスタに垂直にロードされ、idlはそれが指示するリストすなわち(123)と交換され、id2はそれが指示するリストすなわち(111213)と交換され、id7はそれが指示するリスト(212223)と交換される。
パイプラインモード第5FliUに示すように、パイプラインモードで記憶されるツリーには主レジスタ内の目標リストおよび補助レジスタ内の目標の父がロードされ両種のレジスタに記憶された処理すべき命令および要素を存している。好ましくは数式を簡約化する際にパイプライン動作モードが使用される。1つの利点はオブジェクト記憶装置の替りにコアセルに中間結果を一時記憶できることである。
例1第6A図〜第6H図の第1の例は簡約化可能閉包として与えられる並列値の単一化を示す。
unify (par(1par(1) 3 ) par(1par(1) 2 )この簡約化可能な閉包は単一化の並列構造として書き換えられる。
第6A図は最初の簡約化可能閉包を示す。第6B図はこの簡約化可能閉包がどのようにオブジェクト記憶装置に記憶されるかを示す。簡約化可能閉包のさまざまな部分が記憶されている記憶セルには第6A図でマークが付されている。要素閉包とセル閉包間のリンクには第6B図でマークが付されている。識別子ia+t−Irするセル閉包はタグ坦および型フィールド内の型コードunifyを育し、識別子idz、 ids、 +(Lを有するセル閉包はそれらの型フィールドに型コードparを有している。識別子id+を有するセル閉包は識別子idzおよびid4を有するセル閉包を指定する最初の2つの値/呼出し閉包要素を含んでいる。これらのセル閉包にはタグcanonか付される。識別子idzを有するセル閉包の第1および第3の値/呼出し閉包要素にはタグdiscrを有する個別値か与えられ、第2のt/呼出し閉包要素は識別子id、を有するセル閉包を指定してタグCanonが付される。識別子+dzを育するセル閉包の第1の値/呼出し閉包要素には整数か与えられタグdiscrが付される。識別子ld4を育するセル閉包の第1および第3の値/呼出し閉包要素にはタグdiscrを有する個別値が与えられ、その第2の値/呼出し閉包要素は識別子id、を有するセル閉包を指定しタグCanonが付される。
第6C図に示すように、識別子jd+を有するセル閉包を有する記憶セルの内容は最初にコアセルにロードされその識別子は閉包の型コードunifyを含むjdl として識別子レジスタ内に配置され、値/呼出し要素は最初の操作ステップで主レジスタ内に目標として配置される。これがどのように行われるかについて第13囚に示し後記する。
第6D図に示すように、識別子idzおよびid4を存する息子はペースレジスタに垂直にロードされ、それらの第1の値/呼出し要素の内容はその識別子によりマークされる主レジスタ内に配置され、その値/呼出し要素の残りはその上の垂直コラムのレジスタ内に配置される。
これらの各息子の型コード匣[も主レジスタにロードされる。型コードはTYPEブレーン内に位置するレジスタセルヘロードされる。
第6E図に示すように、ペースレジスタの内容は90°転l!され、ペースレジスタの第1の垂直コラムの内容は主レジスタ内に配置され、第2の垂直コラムは主レジスタと並列にペースレジスタ内に一列に配置される。
転置操作を第18図に示し後記する。識別子レジスタおよび主レジスタに与えられる型コードρarおよびunifyは交換され、それはコントロールユニットにより自動的に行われる。こうしてペースレジスタはコラム配置された3つの息子を有する父を含むことになる。次に、命令makeを使用して息子がオブジェクト記憶装置ヘロードし戻される。オブジェクト記憶装置からの返答として記憶された息子に対する識別子が与えられ主レジスタに記憶される。コントロールユニット6は特にCLO3/S IMPLE−TYPEプレーン内のレジスタの内容を感知しており、そこで見つかる情報に従って命令を与える、すなわちスイッチおよびゲートを制御する。息子はidlの後で順次名前が付され既に使用されている名前は使用されない。しかしながら、名前順は重要でなく、任意とすることができる。
第6F図に示すように、第1の息子は識別子idzを得、識別子id、を占有する要素閉包を含む第2の息子は識別子id4を得、第3の息子は識別子xdsを得る。識別子xdx 、td4 、ldsを有するセル閉包に連係された要素閉包を存する父はその識別子id+を維持しており次にオブジェクト記憶装置に記憶される。
!6G図に簡約化可能閉包を記憶する記憶セルを示す。
parcunify (11) unify(par(1) par(1)) unify (23))簡約化可能閉包自体を第6H図に示す。第6G図および第6H図は第6A図および第6B図と同様であり自からお判りと思われる。
容を値へ簡約化するために識別子id1で指示されるセル閉包よりも前にeXeCのマークを付したセル閉包を実行しなければならないことを意味する。第6H図の閉包は後の時点でコアセルへロードし戻されてさらに処理される。
例えば、識別子id2を有するセル閉包は値lを有し、それは値lがその値/呼出し要素内の1と同じであるためであり、識別子id、を存するセル閉包はその値/呼出し要素内の値2および3か同じでないためにnothingとなる。各単一化はニューメリックALU内で行われそこではコンパレータ内の値か比較されて比較結果はコントロールユニット6へ与えられる。次にコントロールユニットはそのプールゲートアレイを使用してコアセル内の第1の主レジスタの情報を与える。リダクションにより標準(canonical)呼出しや単純値やnothingとなると、それはオブジェクト記憶装置内の全ての記憶フィールドへグローバルに分布され簡約化された閉包の各間接呼出しか簡約化結果と置換される。これは第16図に関して後記するunify −jd操作によって行われる。
例2本例はハードウェア命令1ist expansionでありセル閉包が挿入リストを含むことを意味する。この種の命令は他のりダクションにおける補助ステップである。ハードウェア命令リスト拡張については第19図に関して後記する。
機械はex、 typeと呼ばれる命令例のりダクションを行い、それは下記の形式を有するリストおよび値を含む任意の種類の命令とすることができる。
ex、type (11ist (231ist(456)) ?)形式を第7A図に示しそのセル閉包を第7B図に示す。
第7A図および第7B図は第6A図および第6B図と同様にマークが付されており自ずから分ると思われる。
第7C図に示すように、識別子idlを有するセル閉包は識別子レジスタ内のその識別子および型コードを有するコアセルの主レジスタヘロードされる。第2の主レジスタの内容には間接要素openのマークが付されているため、それに連係されているセル閉包は第7D図に示すように息子としてペースレジスタ内へ垂直にロードされる。
第19図に関して後記するハードウェア命令1istexpandにより第3の主レジスタ内の個別値7が第3のペースコラムのi+Lの側の位置へ移され第2の主レジスタの上の第2コラムのリスト部か第3コラムへ移されその最低要素(値3)か第3の主レジスタ内に配置され型コード1istか与えられる。第2の主レジスタの内容は個別値であるためタグdiscrを存している。
次に、新しいリスト拡張が行われ主レジスタの上の第3コラムの内容が第4コラムへ配置され1istとして型付けされる。個別値である第3の主レジスタの内容にはタグdiscrが付され、それは第7F図から明らかである。
次に第4コラムのリストが命令makeを使用してオブジェクト記憶装置に記憶される。それは1dleとなっているために識別子id2を存する記憶セルへ記憶され、識別子id2はコアセルへ送り戻されて第7G図に示すように第4の主レジスタに記憶される。
その後ex、 typeの他種のりダクシコンが行われ結果がオブジェクト記憶装置ヘロードし戻される。
例3数値命令が実行される。数値命令は士、 −、*、 /。
mod等とすることができる。命令の後に引数か続く。本例ではリスト内の数の加算が行われる。機械は次の関数を有するapply (適用)のりダクションを行う。
apply (+ 1ist (12) )適用を第8A図に示しそのセル閉包を第8B図に示す。
第8A図および第8B図は第6A図および第6B図と同じマークが付されており自ずから分ると思われる。
第8C図に示すように、識別子id1を有するセル閉包は識別子レジスタ内のその識別子および型コードを有するコアセルの主レジスタヘロードされる。数値命令(+)が命令としてマークされる。第2の主レジスタの内容には間接要素凹のタグか付されるため、第8D図に示すように連係されているセル閉包か息子としてペースレジスタへ垂直にロードされる。
次にリスト拡張が行われ、第2の主レジスタ内の個別を存するリストが2.3もしくは4要素を有していても機械が同じ操作を行うために行われる。新しいリストには1個の要素しかないため、第8F図に示すように、機械はマーク皿を主レジスタが値djscrを含むという表示と置換する。
次に主レジスタは命令マーク(+)および2つの個別値を含み、これによりコントロールユニットは直接もしくは命令が記憶されているオブジェクト記憶装置の非書込可能部に記憶された命令に関する情報を介して、ニューメリックALUを制御して命令(加算)を実施し、第8G図に示すように、数値演算結果を標準(canonical)値として第1のレジスタへ送出する。型コードフィールド内の表示apptyは関数適用を行うというマークとなることをお判り願いたい。ここでは単純値3である結果値が次にグローバルに分布されて識別子t(Lが生じるたびにこの値と交換される。
前記したように、レジスタスタック内の一定数のレジスタかりストを記憶している。未使用レジスタは特に未使用マークが付される。リストツリーが制御および計算を行うのに使用され、これは中央コントロールユニット6の制御の元で行われ、数値算術演算はニューメリックALU5と協働して行われる。計算はリストフリーの内容を書き換えて行われる。
4つまでの要素を有するリストを1つのセル閉包内に配置することができる。しかしながら任意の長いリストを処理することもでき、その場合にはこのような各リストをコアセル内で処理すべき最大長と一致するかそれよりも短い長さのいくつかのリストへ分割しなければならない。コアセルは一時にある深さのツリーしか処理できない。より深いツリーにも対処できるが、限定深さのツリーの一部のみが一時にコアセルに記憶される、すなわち一時にツリーの一部しか対処することができない。
インターフェイス:オブジェクト記憶装置く−〉コアセルオブジェクト記憶装置1およびコアセル2は信号適合を行う変換インターフェイス7および閉包ワイドバス構成8、すなわちコアセル2とオブジェクト記憶装置1間でセル閉包の全体内容を転送できるバス構成、を介して相互接続される。バス構成8はコアレジスタ3内のレジスタブレーンNUMに接続されたバスid 、 env、Vo 。
■+ + V2 + V2を含む部分バス構成0BJv、およびコアレジスタ3内のレジスタブレーンHEADに接続された部分バス構成TAG、およびブレーンLAZY、WHERE、TYPEから記憶セル内の対応する閉包フィールドへのバスを含むバス構成ATTRI BUTEを含んでいる。インターフェイス7はコアレジスタ3からの信号をセル閉包ワイドバス構成8を介してオブジェクト記憶装置内のメモリビットセルに適した信号へ増幅し変換する。それはまた読出し動作時にオブジェクト記憶装置からの信号を増幅および変換してコアセルレジスタに適合させる。インターフェイス7はオブジェクト記憶装置Iに配置して示されているか、コアセル内に配置することもてきる。ビットセルのインターフェイスについては第20図に関して後記する。
記憶セル動作第3図に戻って、記憶セルはコアセル2に接続された(図示せず)コントロールバス構成を介して全ての記憶セルへ配分される中実装置6からの合成デジタル情報により制御される。
各閉包要素内のビットセル15は一時に次の操作の1つを実施できるようにそのヘッド16により制御することができる。
rest 各ビットセルが記憶されたビット値を記憶されたままとする。
read ビットセルに記憶されたビット値が読み出される。
Write ビットセルにビット値が書き込まれる。
compare ビットセルに記憶されたビット値により構成されたデータ語か他のデータ語と比較される。
各々が第2のバスaおよびb上のデータの関数である論理状態、前のマーク、比較演算の場合の比較結果およびコントロールユニット6からメモリへの制御信号に従ってマークを設定することができる。
連想アドレス指定を使用する、すなわちアドレスよりも記憶内容に基いてデータが検索されるため、物理的従属性がない。メモリは連想メモリである。探索キーとしてセル識別子、環境、型、情報値もしくはそれらの組合せを使用できる。
値CHO3ENを有する記憶セル要素内のマークビットはアクセス機構の目的として要素が選定されていることを示す。マークを設定する探索操作について後記する。
この種のアクセスには1個もしくは数個のセルが伴うことがある。前記したように、これら多数のセル動作の1つは多くの選定要素に識別子を記憶することができる一種の記憶動作である。
ヘッド16に接続されたワイヤaceにより要素内の全ビットセルが相互接続される。全てのビットセルがワイヤace上の信号により制御される。ビットセルに接続された他のワイヤdおよびdlは、後記するように、オブジェクト記憶装置内の他の記憶セルの対応するビットセルに接続されている。
優先順位デコーダ11は各記憶セルに対するlセクションを含み、各セクションはビット値′真′がNEEDを表わしビット値か゛偽′がNo NEEDを表わすREQUEST用の第1の接続およびビット値゛真′がCHO3ENを表わし゛偽′がNOT CHO3ENを表わすGRANT用の第2の接続を存している。
優先順位デコーダ11は最高1つのGRANTをCHO3ENに設定する。これはNEEDに等しいREQUESTを有する構造内で測定された第1のセクションがCHO3ENとされるように選定することができる。優先順位デコーダの実施例については第21図について後記する。
多くの場合メモリバス上のプロトコルは全ての記憶セルと通信される。しかしながら、数個の記憶セルもしくはその巾の閉包要素を順序付けて読み出さなければならない場合もある。これは優先順位デコーダ11によって行われる。各セルからのREQUEST信号があり優先順位デコーダ11によりGRANT信号が戻される。
メモリはリード、ライトおよび探索操作により制御される。これらの操作はより複雑な操作と組み合せることができる。ある演算をいくつかの内部バス見および互とグローバルバスで行うことができる。
探索は結果FITもしくはD IFFERENTとの比較により行うことができる。次のいずれかの方法で探索を行うことができる。
(1) 他の閉包要素の合成情報とは無関係に各閉包要素に対して個別に探索を行う。
(2) 記憶セル内の全閉包要素との比較を使用して探索を行うことができる。
結果は各要素とFITLなければならない。
(3) 記憶セル内の全閉包要素との比較を使用して探索を行うことができる。
結果は少くとも1つの閉包要素とFITLなければならない。
次のいずれかの方法で比較を行うことができる。
(1)2つのビットパターンを比較する。対応する全ビットか同じである場合だけ比較がFITする。
(2) ビットパターン情報がARB ITRARYもしくは5PECIFIC情報値Vに対応することを1つのビットが示すように比較すべき2つのビットパターンもしくはその一方だけがコード化される。
比較により1つの情報値がARB ITRARYに対応すれば結果はFITである。さもなくば、2つの特定情報値Vが同じ場合だけ結果がFITする。
バス機能はオブジェクト記憶語のリードもしくはライトの概念を実施する。busはaccess機能により制御される。aCCeSS機能はマークおよび/もしくは第2のバスaおよびbの値に依存する。
1ビツトバスa上のWIRED OR機能はプールリストを存している。それは記憶セル内の全ての閉包要素間の論理ORを評価する。それは物理的に要素ヘッド16内のトランジスタアレイにより設定されるワイヤに対応している。
1ビツトバスb上のWIRED AND機能はプールリストを存している。それは記憶セル内の全ての閉包要素間の論理ANDを評価する。それは物理的に要素ヘッド16内のトランジスタアレイにより設定されるワイヤに対応している。
優先順位デコーダ11の優先順位機能は引数としてプールリストを有し対応するサイズのプールリストとなる。
引数は最高優先順次の第1の要素を育している。その後に優先順位の低いビットが続く。引数の第1の゛真゛ビットは結果の対応する真ビットとなる。他のビットは全て′偽′である。
記憶セル内の要素は最初に要素内の値を探索し次に見つかった要素内でリードおよびライト等の操作を実施して一般的に使用される。
コアセルのハードウェア構造NUMおよびHEADブレーンはバス0BJv、idババスすなわち識別子バス、およびブレーン2とインターフェイス7間のenvバス、すなわち環境バスに接続されたコアレジスタセルを有している。
したがってコアレジスタセルアレイはレジスタに直角にブレーンに“スライス”され、同じNUMもしくはHEADブレーンの異なるコアレジスタに属するレジスタセルは第9図に示すように互いに接続されている。
第9図に示す少(ともNUM−およびHEAD−ブレーンの構造において、N、NレジスタS、。〜S N−1□1、ペースレジスタを育するマトリクスに方形レジスタセルか配置される。
大概の応用ではペースレジスタは閉包要素の一時記憶に使用される。レジスタの表示はレジスタの実際位置を記述する場合にはペース、主および補助レジスタ等の一種の表示が使用され、レジスタの機能を記述する場合には息子、目標および父レジスタ等の他種の表示が使用されるように厳密に分割されている。
実施例ではN=4であり、これは好ましいが、他のマトリクスサイズを使用することもできる(図示せず)。
第9図に示すように、最低行のペースレジスタセルS0゜、Sl、! 、St。
、Sl、。はバス線hoに接続され主レジスタセルである。主レジスタセルS0.。、S4.。、S2.。、SS。は目標機レジスタとして使用されることが多く、導体NUO−NU3からなるバスNUを介してニューメリックALU5に接続されている。
識別子レジスタセルIDはid線に接続され環境レジスタセルENVはenv線に接続されている。
バスIll h iはスイッチSW□によりバス線viに接続することができ、iは0〜3の数である。バス線ho、hl。
h2.h3を含むバスはOBJ、 、すなわち水平オブジェクトバスと呼ばれる。特に、バスOBJ、はコアセル内に垂直に、すなわちレジスタのコラムに、データをロードするのに使用され、このデータはオブジェクト記憶装置からバスOBJ、を介して与えられる。これについては、第15図に関して後記する。
バス線id 、 end、Vo + V+ + V2 + VsはそれぞれスイッチSW、、、、。、SW*mw、k。、SW、。、SW、、。。、SWv□1゜、SW、、。。によりバス線hoに接続することができる。バス線Clds Cl s Ch 、Cvを含むバスresはコントロールユニット6に接続され、レジスタに0等の定数を設定するのに使用できる。バス線C1mは識別子レジスタセルに接続され、バス線CIはレジスタセルFD、Fl、F2.F3に接続され、バス線Ckはスイッチ5Wck、、。によりバス線hOに接続することができ、バス線CvはスイッチS W v I 、 e vによりバス線viに接続することができ、ここにiはO〜3の数である。応用によってはバスresとそのスイッチを省くことができる(図示せず)。
補助レジスタデータツリーには父と呼ばれる最上層がある。父は第F3に記憶されることがある。各補助レジスタは実施例においてコア語を記憶することができる。各補助レジスタはそれぞれバス線idおよびhO,hl、h2.h3線の1本に接続されている。補助レジスタセルはコアセルが提供できる操作のごく一部でしか使用されない。したかって、補助レジスタを省くことのできる応用もある(図示せず)。また2列以上の補助レジスタを有するコアセルを提供することもできる(図示せず)。
前記したことから分るように、各レジスタはプレーン内に同じ位置を有するいくつかのブレーン2内のレジスタセルにより提供される。したがって、第9図には各レジスタの1セルすなわち1ビツトしか示されてはいないか、第9図で使用した参照符号で全レジスタを表示することができる。第9図から明らかなように、レジスタは行列配置されている。補助レジスタエリアFO,Fl。
F2.F3はコラムでありNペースレジスタエリアS0.。〜So、x、S+、。〜S1゜、S2゜〜S 2.3およびS、。〜S s、 sはそれぞれがコラムであり息子を記憶することができる。
レジスタセル間の接続各プレーン内で隣接ペースレジスタセル間に垂直および水平に接続か設けられている。実施例では偽fである固定プログラムされた値を有する接続もオブジェクト記憶装置に向けられた水平ロー上の最外側の各ペースレジスタセルに設けられている。それはレジスタセル(第10図)内のN端子(北)に接続され南北方向にシフトが行われる時に使用される。ペースレジスタ間の対角方向の接続は転置可能な位置を接続できるように設定することができる。これは、iかjとは異なる、セルS11.をセルS1.1に接続できることを意味する。各ペースレジスタセルは、このような位置にペースレジスタセルがある、右側のすぐ下に位置するペースレジスタセルに接続されている。各補助、識別子、環境およびペースレジスタセルはそれぞれ出力ACC□、ACC,、。
ACC,、、、ACC,、、、によりBOOLブレーンの1つに接続されており、ここにXおよびyは0〜3の数である。
次に汎用レジスタセルについて説明を行う(第10図)。汎用レジスタセルから特定レジスタセル、すなわちペース、補助、識別子、および環境レジスタセルの実施例か誘導される(図示せず)。さまざまなレジスタセルの特定−構造に関する詳細については我々の米国特許出願第 号を参照した。
汎用レジスタセル第1O図に関して、実施例のレジスタセルは2本の内部バスa * + b *および中央内部レジスタr1を含んでいる。バスa*+b*はレジスタセル外部のいくつかの接続に接続されている。第10図の汎用レジスタセルには外部への各接続が設けられている。代表的に、特定レジスタセルには第10図の全ての接続は設けられておらず、レジスタセルの配置によって1つもしくはいくつかが省かれる。第9図の配線から接続端子間の全配線が明白である。また第9図から全てのレジスタセルが第10図の全ての外部接続を有することも判る。したがって、全レジスタセルとそれらの接続の詳細説明は行わない。
バスa。
バスa1はスイッチ5Wvlおよび端子Vを介して垂直バス線VXに接続されており、Xは0〜3の数である。
さらに、それはスイッチS W、、および端子Hを介して水平バス線hyに接続され、yは0〜3の数であり、近傍レジスタセル内のスイッチ5Wt= (束)に接続された端子W(西)を介して左のレジスタセルに接続され、レジスタセルが主レジスタセルであれば直接端子NUにより数値演算器ipにも接続されている。バス8つはそのレジスタセルに設けられたスイッチSW、、への端子り、を介して右下のレジスタセルにも接続され、レジスタセル内のスイッチSW、1 (北)への端子(南)を介して下のレジスタセルにも接続されている。レジスタセルはバスa、に接続されたスイッチSWcおよび端子Cを介してセットもしくはリセットすることができる。バスaRもスイッチSW、、を介して中央内部レジスタr1の入力に接続されかつスイッチSW、。を介してその出力に接続されている。
バスb、バスb、はスイッチSW5および端子Eを介して右側のレジスタセルに接続され、またスイッチS W o−および端子Dbを介してレジスタセルの対角線に接続され、スイッチSWNおよび端子Nを介して上のレジスタセルにも接続されている。バスb、はスイッチSWb、を介して中央内部レジスタr、の入力にも接続されかつスイッチSW、、を介してその出力に接続されている。
中央内部レジスタ中央内部レジスタrRは好ましくはCMOSインバータである2個のインバータQ1.02とその間の可制御スイッチSWoを含んでいる。完全なレジスタセルはバスa * + b *およびスイッチ5Wal、sw、、、sw、、。
SWb、も含んでおりスイッチはセルを外部へ接続する。
中央内部レジスタr、の出力はそれぞれスイッチSW、。
と端子HおよびスイッチSW、。と端子Vを介して水平および垂直バスに接続することができる。中央内部レジスタr、は(後記する)ダイナミック状態を記憶する。
スイッチ操作コアセル内の全レジスタセルの制御可能な全スイッチが例えばPAL (プログラマブルアレイ論理)等のゲートアレイを含むコントロールユニット6に接続された線を介して制御される。ゲートアレイはコアセルに記憶された情報を使用してどのスイッチを開き次にどれを閉じるべきかを決定する。ゲートアレイ動作はクロックにより同期化される。スイッチは双方向性であるが、例えば入力−および出力−スイッチsw、、、sw、。等の一方向スイッチを使用するものもある。
コンパレタデバイスCOMPコンパレタデバイスCOMPは第1のNANDゲートGlを含んでいる。一方の入力はインバータQlの非反転入力に接続され他方はインバータQ2の入力に接続されている。デバイスCOMPは第2のNANDゲートG2も含んでいる。一方の入力はインバータQ1の出力に接続され他方はインバータQ2の出力に接続されている。
ゲー1−Gl、G2の出力は一つのBoo lブレーンに行く1線バスACCに接続されている。直列接続ソース/ドレーンバスが大地と電圧源間に接続され、ゲートかNANDゲート入力であり、最頂部MO3−FET)ランジスタのドレーンか(図示せぬ)出力である2個の直列接続MOS−FETトランジスタにより両NANDゲートを提供することができる。このコンパレータデバイスCOMPは連想探索中、すなわちコアセル内の要素をオブジェクト記憶装置もしくはコアセルの他の部分の要素と比較すべき時、に使用される。次に、比較すべき要素は相手要素を含むレジスタセルの入力に加えられ、それについては後記する。
インバータおよびスイッチインバータQl、Q2は2個のエンハンスメント型M OS −F E T トランジスタ、1個のエンハンスメント型と1個のディプレッション型MOS−FETトランジスタ、もしくは2個の相補型MO3−FETトランジスタ(図示せず)により提供することができる。レジスタセル内の可制御スイッチはMOS−FETl−ランジスタもしくは2個の相補型MO3−FETトランジスタ(図示せず)により提供することかできる。コントロールユニット6は制御信号によりスイッチを制御する。状態遷移を速くするために制御信号とその相補信号によりスイッチを制御することができる。
連想探索およびBoo lブレーン連想探索中にBoo lブレーンへ行くアクセスWIRED−ANDバス上で比較か行われる。2個のANDゲートGl、G2がQlの入力のキー値、すなわち記憶値と比較する値、をG2の入力の記憶値と比較する。この比較中に、キー値は内部バスa、もしくはす、を介してQlへ転送される。次に、スイッチSW0をオフ、すなわち開放しなければならない。与えられる値、すなわちキー値、が記憶された値と一致しなければ充電されたBOOLブレーンはNANDゲートG1.G2を介して放電される。一致すれば、BOOLブレーンは充電されたままとされる。
レジスタ内の全てのバス線ACC,レジスタセル当り1本のバス線、を並列接続してBOOLブレーン内の同じバス線に接続することができる。また、NUMおよびHEADブレーン内の全レジスタセルのバス線ACCをこれらのブレーン用のBOOLプレーン内のバス線に接続し、ATTRI BUTEブレーン内の全レジスタセルをATTRI BUTEブレーン用の同じBOOLブレーンもしくは第2のBOOLブレーン内の別のバス線に接続することかてきる。BOOLブレーンが1枚か2枚かまたバス線が1本か2本かということは選択の問題であり、コントロールユニット6に記憶された制御命令の種別に依存する。3枚以上のB○OLブレーンを有することも本発明の範囲に入る。設けられるBOOLブレーンの数により連想探索の粒度、すなわち実施できるさまざまな連想探索数および実施範囲すなわち関連するレジスタ部、か指示される。したかって、BOOLブレーン内の同じバス線に接続されたレジスタ部に対して同時に比較か行われる。全てのNANDゲートGl、G2か同じ出力(ハイ)を有する場合には比較結果は“一致”しそうでなければ“不一致”となり、“一致“は両方の情報か同しであることを意味する。したがって、BOOLブレーンはバス線用ブレーンてあり仮想すなわち“観念”ブレーンとみなすことかできる、すなわちバス線は必ずしもプレーン内に設ける必要はなくコントロールユニット6に直接接続することができる。
ATTRI BUTEブレーンの構成ATTRI BUTEブレーンはNUMおよびHEADプレーンとは別の構成とすることができ、例えば(図示せぬ)ベースレジスタマトリクスの替りに一行だけのペースレジスタとすることができる。さらに、ATTRIBUTEプレーンはプレーン内の全てもしくはいくつかのレジスタセルに接続されコントロールユニット6へ行く特別なバス線を有することができ、このバス上の情報を使用してどんな種類のりダクションを実施すべきかが決定される。さらに、ATTRI BUTEプレーンには環境レジスタセルを設ける必要はない。バス線VO+V+ + V2 + V3はNUMおよびHEADブレーンの同じ表示を育するバス線とは別のインターフェイス7の入力へ引き出すことができ、したがってオブジェクト記憶装置lの他の部分、好ましくは1azy、 whereおよびtype・部、へ接続することができる(第1図参照)。また、ノくス線Vo + V+ + Vx r Vsはオブジェクト記憶装置lに接続する必要はない。また、ATTRI BUTEブレーン内のバス線idはオブジェクト記憶装置からの状態情報転送に使用することができる(第1図参照)、すなわちオブジェクト記憶装置内の1azy、 whereおよびtypeはコアセル内の対応するブレーンのバス線idに接続される。
スタンバイ記憶モードスタンバイ記憶モートループはレジスタセル内に設けられるループの一方もしくは両方から形成される。一方のループはスイッチSW、。、バスb1、スイッチS W br、インバータQl、スイッチSW0およびインノく一タQ2により形成される。他方のループはスイ・ツチSW、。、ノくスa 11 、スイッチS W 、 l、インバータQ1、スイ・ソチSWOおよびインバータQ2により形成される。一方もしくは両方のループのスイッチを閉じると2個のインノく一タQl、Q2を信号が伝播することができインノく一夕Qlの入力およびインバータQ2の出力の信号レベルが安定化し、このようにしてレジスタセルにデータが記憶される。セルはダイナミック状態を記憶している。
出力モードでは、Q2の出力を〜・方のバスalもしくはす、へ転送することかできそこから適切なスイッチを制御して1個以上の出力端子(N、S、E、W等)へ出力を転送することができる。他方のバスb、もしくはamは任意モードで使用することができる。スイッチSW0がオフすなわち開放されると、インバータQ2の出力は安定となる、すなわちスイッチsw0が閉じるまで変化することができない。インバータの出方は閉じた時にスイッチSW、。を介してバスb、へ転送することができ、閉じた時にスイッチsW、。を介してバスa1へ転送することかできる。後記するように、レジスタセルと問題とする外部バス間に接続されたスイッチを制御することによりバスbアおよびa、上の情報をレジスタセルか接続されている各外部バスへ転送することができる。
入力モード入力モード中に、一方のスイッチSW、、もしくはS W、、はオンとされる、すなわち閉じられる。したかって端子(N、S、E、W等)の1つの状態がローカルバスa、もしくはす、へ転送されそこから中央内部レジスタr、へ転送される。
す2相サイクル中にコアセル内の任意のレジスタセルから端子接続を介してコアセル内の別のレジスタセルへデータを転送することができる。3相サイクル中に垂直、水平もしくは対角方向の2個のペースレジスタセルをスワップすることができる。
スイッチSW9は主クロックにより直接クロックされ、レジスタ内の全セルに対して同時に、インバータQlおよび02間の転送かコアセル全体で同時に行われるようにされる。残りのスイッチは主クロツク期間内で別の適切な位相間隔て与えられる主クロックから引き出される信号により制御される。主クロックはコアセルの全動作の基準信号として使用される。
クロックサイクルはクロック相0.aおよび/もしくはbへ分割される。0相は第1の可拡散泪である、すなわち中央内部レジスタr6がスタンバイ記憶モードである時−データが安定である時である。a相はバスaXからのトランスポート中に使用され、b相はバスb、からのトランスポート中に使用される。
2相クロツクサイクルにおいてレジスタセルに対する一方向転送か行われる。第1の位相0は安定している。
2相クロツクサイクルにおいて、a相もしくはb相がトランスポートに使用される。
3相クロツクサイクルにおいて2方向転送、すなわち各内容を交換する2個のレジスタセル間のトランスポート、が行われる。O相は安定している。a相およびb相中にトランスポートは異なる方向で行われる。
例えばb相か2つある4相以上のクロックサイクルも発明の範囲に入る。
スイッチSW、、、SWb□は常時閉じている。ローカルバスa Rl b *は共にレジスタセルの記憶内容を保持している。内部バスa、もしくはbRを使用して新しい値を入力し記憶する場合には、適切なスイッチSW、、もしくはS W 、 、か開くように制御される。そのバスの’flNを内部バスへ転送するだけの短期間、垂直もしくは水平バス等の1本の外部バスへのスイッチが閉じられる。
シフトネットワーク、すなわち端子に接続されたスイッチを含むさまざまなレジスタセル間のネットワーク、を使用してレジスタセルの内容を北Nまたは南Sもしくは西Wまたは束Eへ転送することもできる。
一方向転送動作の例第11AIINに近傍ペースレジスタセルを示し、データは左側セル、すなわち送信機、から右側セル、すなわち受信機へ転送される。コントロールユニット6からの制御信号かスイッチを制御する。第11B図にさまざまな位相の転送により影響される各スイッチの状態を示し、小さい値は開いたスイッチを表わし大きい値は閉じたスイッチを表わす。実際の転送はb相で行われる。転送は次のように行われる(以下のさまざまなステップには第11A図および第11B図と同じ番号が付されている)。
Ol 回路は安定であり、sw、 、sw、。、SW、、、SWb、、、S W、、は閉じ、送信機および受信機内の他のスイッチは全て開いている。(全スイッチに関連するためこのステップは第11A図にマークされていない)。この安定モードは第118[JのO相に対応する。
1、 送信機および受信機内のスイッチSW0が開いているクロック期間の第1相(b相)中に、2、 送信機および受信機内のスイッチSW、、が開きスイッチSW、。か閉じ、3、 送信機および受信機間のスイッチSW2が閉じ、4、 送信機および受信機内のスイッチS W、、が開き、5、 送信機内のスイッチSW、、が開き受信機内のスイッチSW、、か閉じる。これにより送信機内部レジスタから受信機内部レジスタヘデータを伝播することができる。
6、 送信機および受信機内のスイッチSW0が閉じているクロック期間の第2相(0相)中に、7、 送信機と受信機間のスイッチSW5が開き、8、 スイッチSW、、およびSW、oが最初に閉じその後受信機および送信機内のスイッチS W、、およびS W 、 rが閉じる。これにより、ステップOに前記した安定モード、すなわちO相、へ戻る。
2方向転送動作の例第12A図に2個の近傍ペースレジスタセルを示し、2個の異なるペースレジスタセル内のデータを2方向転送動作によりスワップしなければならない。コントロールユニット6からの制御信号によりスイッチが制御される。第12B図にさまざまな位相の転送により影響される各スイッチの状態を示し、小さい値は開放スイッチを表わし大きい値は閉成スイッチを表わす。両レジスタセルが送信機および受信機として作用し、したがって以後それらを1セル1”および“セル2″と呼ぶ。a相においてセル2からセルlへの転送が行われ6相においてセルlからセル2へ反対方向の転送が行われる。下記のさまざまなステップには第12A図および第12B図と同じ番号か付されている。転送は次のように行われる。
Oo 回路は安定しており、sw、、sw、。、SW、、、SW、。、SW、Iは閉じ、両セル内の他の全てのスイッチか開く(全スイッチに関連するためこのステップは第12A図でマークされていない)。この安定モードは第12B図の0相に対応する。
1、 セル1および2のスイッチSW0が開くクロック期間の第1相(a相)中に、2、 セルlおよび2内のスイッチSW、。が閉じスイッチSWb、が開き、3、 セル間のスイッチSW5が閉じ、4、 セルlおよび2内のスイッチSW、、が開き、5、 セル1内のスイッチ5WbIが閉じてセル2内のスイッチS W −+が開く。これによりセル2からセル1ヘデータを伝播することができる。
スイッチSW0がまだ開いているクロック期間の第2相(b相)中に、6、 セルlおよび2内のスイッチSW、。か開きスイッチSW、。が閉じ、7、 セル1および2内のスイッチSW1が開き、8、 セルl内のスイッチS W、、か開いてセル2内のスイッチS W 、 +が閉じ、これによりセル1からセル2ヘデータを伝播することができる。
9、 セルlおよび2内のスイッチSW0が閉じているクロック期間の第3相(0相)中に、lO,セルl内のスイッチSWtが開き、11、スイッチSW、。およびSW、。が最初に閉じその後両セル内のスイッチ5Wb1 およびSW、、が閉じる。
これにより前記ステップ0の安定モード、すなわち0相、へ戻る。
スイッチSW、。およびSW、。の制御信号0相中のデフォルトにより信号はオンとされる、すなわち閉じられる。次にローカルバスは全て記憶状態を保持する。入力に使用するバスはスイッチSW0およびSW、。に対して制御信号をオフとする、すなわち開く、ことにより制御され、Xはaもしくはbである。入力操作中にある端子(E、V、D、H等)によりいくつかのバスを短期間短絡することができる。しばらく後にバスは正しい値を得る。
スイッチSW0の制御信号の降下部とスイッチSW8゜(Xはaもしくはb)の制御信号の降下部間に遅延時間かある。それが短かければ問題を生じることはない。しかしながら、mS領域の時間となるとバスX* (Xはaもしくはb)はそのダイナミック状態を失うことがある。
スイッチSW、、の制御信号の立上り部とスイッチS W x + (xはaもしくはb)の制御信号の立上り部との間に遅延時間がある。それか負となるとインバータQ2からQlヘロローカルバス、を介して誤った値か伝播されることがある。したがって正の遅延時間が使用される。
スイッチSWm 、swv、SWb 、sw、等のiilfm信号スイッチは常時オフ、すなわち開いている。次に全てのローカルバスか分離される。接続された端末スイッチの制御信号をオンとする、すなわちスイッチを閉じる、ことにより入力もしくは出力に使用するバスが制御される。この動作中にあるスイッチ(SW、 、SWv、sw、、swH等)によりいくつかのバスを短時間短絡させることができる。しばらく後にバスは正しい値を得る。
スイッチSW0の制御信号の降下部とスイッチS W z(ZはH,D、N、V、E等、すなわちスイッチを設けた内部バスa1およびbllに接続された任意の端子)の制御信号の立上り部間に遅延時間がある。それが負であればローカルバスX* (Xはaもしくはb)値を変えることができる。次にレジスタ値が設定される。したがってこの遅延時間は正でなければならない。
スイッチSWt (ZはH,D、 N、 V、 E等、すなわちスイッチを設けた内部バスa6およびb8に接続された任意の端子)のIIJaI!信号の立上り部とスイッチS W、。
の制御信号の降下部間には遅延時間がある。それが負になると入力へ値を伝播することができない。したがって正の遅延時間が使用される。
スイッチS W、、の制御信号の立上り部とスイッチSW2の制御信号の降下部間には遅延時間がある。これが負になるとローカルバスが変ってレジスタか誤った値に設定されることがある。したがって正の遅延時間が使用される。
スイッチSW、、およびSW、、の制御信号0相中にデフォルトにより信号がオンとされる。しかしながら、スイッチSW0の制御信号の立上り部とスイッチSW、、および5WbIの制御信号の立上り部との間には僅かな遅延がなければならない。
この遅延が負となるとインバータQ2の入力の値をバスXR(xはaもしくはb)へ伝播することができない。
代表的なリスト命令が1マシンサイクルで実施される。
前記したように、コアセルは構造演算を実施する。全ステップが内含するリストの命令を使用してコアレジスタにより実施される。
命令の例を次に示す。
length 目標の長さが算出される。
map リスト要素に関数が適用される。リストに挿入リストが含まれる場合にはこれらの挿入リストの要素にも命令が適用される。
(命令マツプについては後記する)。
filter 5i数か適用されリストの要素を濾波する。
フィルターは挿入リストにも適用される。
join 全要素が挿入リスト要素へ書き換えられる命令は挿入リストにも適用される。
transpose 小マトリクスが転置される。リスト要素が含まれればそれらもスワップされる。挿入リストは処理される。(命令転置については後記する)。
コアセル記憶装置コアセルは次のものを記憶する。
* 数個のレジスタ、好ましくはペースレジスタ、で簡約化される目標。
* 例えば3階層構造を簡約化する場合の、好ましくは補助レジスタおよびベースレジスタマトリクス内の残りの構造の、目標の根。
オブジェクト記憶装置lは単階層構造しか記憶できないがコアレジスタ3は最大3階層までのオブジェクト構造を含むことかある。コアセル内の一時記憶装置には01.2.3階層オブジェクトを記憶する4つのケースがある。3階層オブジェクトを記憶する場合には、その根と1つの技だけが記憶される。他の場合は全階層が記憶される。
単純ツリー、すなわち単一値(0階層オブジェクト)は第1の主レジスタに記憶される。
単階層だけのツリーは主レジスタに記憶される。
2階層を含むツリーは父であるその根リストを主レジスタに垂直に記憶し息子であるリストをペースレジスタ5Q に垂直に記憶している。また、根を補助レジスタにその1つの息子を主レジスタに記憶することができる。コントロールユニット6は実施する操作に応じてこれらの中から選択を行うことかできる。
3階層を含むツリーはその根リストを補助レジスタの!つに記憶しその2階層息子の一つをベースレジスタマトリクスに記憶している。
したがって、目標ツリーの根リストはツリー構造の階層および実施すべき操作に応じて好ましくはコアセル内のレジスタのさまざまな位置に記憶される。
目標ツリーの根はunify等の簡約化可能な閉包である。
関数適用(application・・・)では、第1の要素は関数定義として使用される閉包構造を間接的に指定する命令もしくは識別子であり、残りの要素は命令/関数定義の引数である装置1内の情報から引き出される。コアレジスタ内の情報は次のようにして記憶される。
HEADおよびNUMブレーン内のコアレジスタはオブジェクト記憶バスOBJ、アクセスバスACC,resバスおよびニューメリックALUバスNUに接続されている。記憶状態は2個の単一レジスタIDおよびENV、補助レジスタFO−F3およびペースレジスタS。、〜So、sの記憶状態により構成される。
ATTRIBUTEブレーン内のコアレジスタは同様にしてオブジェクト記憶装置lの別の部分、好ましくは1azy、 whereおよびtype部、に接続されている。
コアレジスタの制御語はスイッチsw、、、sw□ew、iはO〜3の数、SW、、、、。、SW、1.。、S W*ew、 ho、SW、、、、。、SW、2.、。、および sw、、、、。、SW、、。、swv、、sw、、、 SW、、、単一レジスタIDおよびENV、補助レジスタFO−F3およびペースレジスタS0.。〜S8..の制御語により構成されている。
制御語はコントロールユニット6に接続された数本の制御線により転送される。
制御線はいかなる種類のスイッチを使用するかにより2相制御対線もしくは単相制御単線とすることができる。
各ペースレジスタセルの制御語には1つの共通部分と各ペースレジスタに対する個別部分が含まれている。共通部分はコアセルのスイッチsW、。、sw、。およびSWoを制御する(第10IN参照)。しかしながら、ここに記載するのは例にすぎず他にもいくつがの実施例が考えられる。
コアセルの動作例第13図〜第19図は第9図から誘導される。第3図の参照符号は第13図〜第19図にも適用される。しがしなから読み易くするため大概の参照符号は除去されている。また、第13図〜第19@の説明ではレジスタセルの表示はコアセル内のブレーン中を延在する全レジスタを意味するものとする。
1、 オブジェクト記憶装置へのアクセスmpx−mv命令:オブジェクト記憶装置1が読み出されオブジェクト記憶命令1[19X−11により数個のコアレジスタが設定される。
アクセスされたオブジェクトはバスVo + V+ * V* *V、を介して主レジスタS o、o 、S+、o 、Sz、o、Ss、oへ送られ、バスidを介してレジスタIDへ送られかつバスenvを介してレジスタENVへ送られ、それは送られるべきレジスタセルを指す矢符を有する太線により第13図に図示されている。同時に主レジスタの古い内容はオブジェクト記憶装置lに閉包として記憶される。
したかって、mpx−mv命令により現在のコアセル閉包がオブジェクト記憶装置に記憶され次に実行されるオブジェクト記憶閉包がコアセルにロードされる。
フェッチ命令:1個の主レジスタに識別子が記憶されそれが指示する情報と交換される状況を第14図および第15図に示す。
例えばS2゜(第14図参照)に記憶されている識別子がオブジェクト記憶装置1へ送られて識別子とその指示する内容が見つけ出され、この内容はバス線v O−v 3へ出され最後にペースレジスタ、例えばS2.。〜Sz、s(第15図参照)、内の垂直コラムヘロードされる。
この処理はペースレジスタS2.0内の識別子をバスhOおよびスイッチ1d1a、m。(第14図)を介して垂直バスidへ転送することで開始される。記憶された値は同様に他の任意のレジスタから転送することができる。
オブジェクト記憶装置lから供給される値をバスvO2vl、v2.v3を介して、実施例ではレジスタS2.。、S11 、S!、! 、Sx、sである、適切なレジスタヘロードし、スイッチS W 、 o、SW、、、SWw2、SWlおよびバスhO,hl、h2.h3を介して値を転送することにより処理が継続される(第15図参照)。
コアセルの内容をオブジェクト記憶装置1内に記憶する場合にはオブジェクト記憶命令makeおよびunify−idを使用することができる。
[l1ake命令:make処理の第1ステツプにおいて、問題とするレジスタの内容が第15図に示すようにただし逆方向に転送される。命令は環境レジスタ内容へも転送される。コアセルから送られる情報と同じ記憶情報を存するオブジェクトを見つけ出すためにオブジェクト記憶装置内で連想探索か行われる。オブジェクトが見つかると、オブジェク1−を指示する識別子が戻され、オブジェクトが見つからない場合には未使用識別子か戻される。いずれの場合にも、バスMidを介してオブジェクト記憶装置からコアセル内の識別子レジスタへ識別子が転送される。また、レジスタの影響を受けるコラムの主レジスタへ識別子を転送することもできる。
したがって、コアセルの内容と識別子間の連想か生成される。
unify−id 命令命令unify−idを第16図に示し、問題とするレジスタセルを水平バスhOへ接続しかつ全ての垂直バスをスイッチS W 14. b。、S W @ II W、 b。、SW、。、SW、、、、。等を介して水平バスhOへ接続することにより、例えばS z 、 6等の1個のレジスタから全ての垂直バスid 、 env。
v、l Vl r Vl * viへ識別子が配分される。これは連想探索および置換を実施する場合に使用することができる操作であり、それには例えば識別子の発生を探索しこの識別子の発生を新しい簡約化された単純値と置換することを含めることができる。
unify−idと同様の命令をこの第1ステツプで使用してコアセルの内容に対して一意的な識別子を得ることができ、識別子とその指示する内容をオブジェクト記憶装置に記憶するためにこの第2ステツプでコアセルの内容をオブジェクト記憶装置に接続されたバス線に出すことができる。
unify命令の例を付録lに示し、そこにはコアセルの内容およびa、b相に対するスイッチ状態が示されている。
2、 ニューメリックリダクションニューメリックリダクション中に、簡約化すべきオブジェクトすなわち目標か主レジスタに配置される。一般的に全目標がりダクションに関わる。代表的に主レジスタS0.。はさまざまな命令に対する異なるビットパターンである命令コードを保持する。レジスタS1゜およびS2.。は双頭(dyadic)処理、すなわち2オペランドによる処理、に使用されレジスタS1.。は単頭(monadic)処理、すなわちlオペランド処理、に使用される。一般的に、トレーリングレジスタはリスト形式で使用され、したがってその内容は簡約化された後で左へ押し出される。
次に目標のレジスタS+、aおよびS x、 o間て本質的な数値演算が行われる。ニューメリックALUの主加算器はこれら2個のレジスタに接続されている。他のレジスタはmul、 divおよびmod命令の補完の目的で使用することができる。
次の命令タイプを使用することができる。
単頭命令レジスタS0.。は命令を保持しレジスタS1.。はオペランドを保持する。レジスタS2.。およびS8.。は使用されない。ニューメリックALUの結果は全ての主レジスタへ戻される。非バイブラインの場合にはそれはレジスタSt、。に保存される。バイブラインの場合にはそれは補助レジスタもしくはペースレジスタに中間保存される。
双頭命令レジスタS0.。は命令を保持しレジスタS1゜およびS2゜はオペランドを保持する。レジスタS、。は使用されない。結果は全ての主レジスタへ戻される。
非バイブラインの場合にはそれはレジスタSt、。に保存される。
バイブラインの場合には補助レジスタもしくはペースレジスタに中間保存される。
mul、 div、 mod命令レジスタS0゜は命令を保持しレジスタS2.8、S、。はオペランドを保持する。最終結果はレジスタS1.。に保存される。
unify リダクションunify リダクションはニューメリックALUを使用してレジスタS0゜の内容をレジスタS1.。の内容と比較する。他の主レジスタは単一化を行う時にも使用することができる。レジスタのHEADブレーンに記憶されたタグ語を比較結果と共に使用して次のアクションを評価する。
命令0101. div、 modは数値演算器内でその内部ループを完全に実施する。計算された中間値は数値演算器とコアセル内の主レジスタ間の線、すなわちNUSバス上にダイナミックに記憶することができる。
3、 構造リダクション構造りダクション中に簡約化されるオブジェクト、すなわち目標、が主レジスタに配置される。一般的に、いくつかもしくは全てのペースレジスタがりダクションに関わる。代表的に、主レジスタS、。は命令コードを保持し、それはさまざまな命令に対する異なるビットパターンである。
マツプ命令は関数fおよび引数としてのリスト(el。
・・・2 e、)を有しリストの各要素に関数を適用する。命令により各関数適用の結果リスト(fe、、・・・、 fe、 )力〕戻され、fe、はelに関数fを適用した時の結果を表わす。
マツピング命令フォーマット: (マツプfリスト)命令マツプは補助レジスタFOヘロードされる。使用する関数は補助レジスタFOヘロードされる。リストは主レジスタSo、o−so、sヘロードされる。第17a図に示すように、主レジスタに記憶された要素はベースレジスタマトリクスの2ステツプ上へ転送される、すなわちレジスタS1.。の内容はレジスタSx、tへ転送され、Xは0〜3の数である。転送は垂直バス線vO−v3を使用して行われる。第17b図に示すように、次に補助レジスタFOおよびFlの内容がベースレジスタへ水平に同報される、すなわちFOの内容が80゜〜S、。
へコピーされFlの内容がS o、 r〜S2.、へコピーされる。
要素か単純値(リストではない)であれば、レジスタの内容か例えばSl、2へ配置され、下のレジスタ、例えばS52.の内容が1ステツプ下方へシフトされる。次に適用すべき関数が主レジスタ、例えばSl。、へ配置され関数を適用すべき要素かこの主レジスタの上のレジスタ、例えばS、1、へ配置される。要素がリストであればレジスタのそのコラムではシフトが行われない。第17c図では、el 、et、esは単純値を表わしe4はリストを表わすものと考えられる。次に、ベースレジスタマトリクス内の各コラムがオブジェクト記憶装置に閉包として記憶される。その後、これらの記憶された閉包の各各かコアセルヘロードされ処理が続けられる。記憶された閉包か単純値を含む場合には、それは正規の方法でコアセルヘロードされる、すなわち第17d図に示すようにfが80.。に記憶されeiがSl、。に記憶される。一方、記憶された閉包がリストを含む場合には、第17a図に示すようにロードされるが、e、がe4で表わされるリスト内の最初の要素となり、e2がe4内の第2の要素となるようにされる。
これにより、マツプ命令を挿入リストに対して再帰的に適用することができる。
したかって、次のような2階層構造を有する命令マツプ、(map、f、(el 、 ・=、e、 ) )が次のように書き換えられ、((f、el)、・・・、(f、e、))実行された後車階層構造へ書き換えられ、(fe+、・・・、f e、)ここに、fe+はelG:fを適用する場合の結果を表わす。
次の3(もしくはそれ以上の)階層構造を有する命令マツプ、(map、f、par(el 、 =・、 (em 、 −、e、 )、−、e、 ) ) 。
たたし、(ek 、・・・ e、 )は挿入リスト、か中間ステップとして次のように書き換えられ、par((f、el)、 −、(map、 f、(eh 、 ・−、e−))、−。
(f、 e、、乃その後火のように書き換えられ、par((f、el)、 −=、((f、eh )、−、(f、 e、 ))、 −。
(f、 e、 ))。
それは実行後2階層構造に書き換えられ、par(fe、、 −=、 (fem、++・、fe、)、−、fe、 )。
ここに、fe+はelにfを適用した時の結果を表わし、(feb 、・・・、 fe、)は挿入リストである。
したかって、引数リスト内の全要素に関数fが再帰的に適用される。
コアセルの再構築とマツプ命令の実行の例については後記する。簡潔な説明とするために、 “resister”をreg 1”1dentifier ’を1dent 、”object storage’をstorageで表わす。
命令の例は次のようである。
(map f’(−1−2(−7−8) ) 。
ここに、fはf (x) =abs(X) + 1として定義される。
機械識別子を使用した機械表現は次のようになり、idl : (map f 1d2)id2+(−1−21d3)id3 : (−7−8)ここに、識別子1dは(map f 1d2)−構造等を含む閉包を示す。
以降、lは0〜3の数である。次のステップか実施される。
ステップl:マツプがレジスタFOに、fがレジスタF1に、識別子id2がレジスタS6.。に記載される。
ステップ2:識別子id2が拡張される、すなわちレジスタS0.。は−1を含み、レジスタSt、。は−2を含み、レジスタSs、。は識別子id3を含む。
ステップ3:レジスタSBoの内容がレジスタS1.2へ転送される。未使用マークのあるレジスタは影響を受けない。
ステップ4:マツプおよびfが水平に同報される、すなわちレジスタ81.1はfを含み、レジスタS1.。はマツプを含む。未使用マークのあるレジスタは影響を受けなステップ5:そのレジスタS +、z内の単純値を有するコラムが1ステツプ下方と比較される、すなわちレジスタ80.1は−1を含みレジスタS0.。はfを含み、レジスタS3.1は−2を含み、レジスタS1.。はfを含み、第3コラムはそのままとされる。
ステップ6:ベースレジスタマトリクス内の各コラムが次のように記憶装置に再記憶される。
idl : (id6 id7 1d8)id6:(f −1)id7:(f −2)id8 : (map f 1d3)ステップ7:識別子id6で指示される閉包が主レジスタにロードされ、fがレジスタS02.に、−1がレジスタS1.。にロードされる。
ステップ8:関数、f (x) −abs (X) +1を引数(こ適用した結果2をレジスタS a、 oに記憶する。
ステップ9:記憶装置内で識別子id6に対する連想探索が行われ識別子id6の発生は全て2と置換される。
idl : (2id7 1d8)id7:(f −2)id8 : (map f 1d3)ステップll:識別子id7に対してステップ7〜9を行って結果3を得る。記憶装置t:idl : (231d8)id8 : (map f 1d3)ステップll:識別子id8に対してステップ1〜6を行ってベースマトリクスの2コラムを記憶装置に記憶する結果を得る。
idl :(231d8)id8 : (id9 idl 0)id9 :(f −7)idl O: (f −8)ステップ12:識別子id9および1dloに対してステップ7〜9を行ってそれぞれ結果8,9を得る。記憶装置:idl : (231d8)id8:(89)読出し:(23(89))−関数fか引数リスト内の全要素に適用されている。
前記ステップはコアセルによりさまざまな効率的方法で実施することができる。
例えば、オブジェクト記憶装置に中間結果を記憶する替りに適切ならばコアセル内でさらにリダクション/実行を行うことができる。
転置フォーマット:(転置リスト)転置命令は1個の補助レジスタ、例えばFO,へロードされリスト引数、例えばリストのリスト、がベースレジスタマトリクスへロードされる、第18図参照。
ベースレジスタマトリクスの内容が転置される。したがって、次の3階層構造を育する命令transpose(transpose 。
が実行され、結果が2階層構造へ書き換えられる。
例:リスト構造((1234)。
(5678)。
(9101112)。
(13141516))、ここに、第1リスト、すなわち(1234)かベースレジスタ、すなわちペースレジスタS0.。〜So、s、の第1コラムに記憶され、第2リスト、すなわち(5678)がペースレジスタ、すなわちSr、。〜S 1.3等、の第2コラムに記憶され、次のように転置され、((15913)。
(261014)。
(371115)。
(481216))、ここに、第1リストすなわち(15913)はペースレジスタ、すなわちレジスタS0.。〜S0.2等、の第1コラムに記憶される。
スワップフす−マット: (swap m 1ist)スワップ命令は命令swapが3階層構造を有するように実行される。
(swap m ((e+、+ !−) 。
(e、。1.I、・・−)。
ここに、i、jがベースレジスタマトリクス内の要素の位置を指示する要素e1.4を有するリストのリストが2階層 構造へ書き換えられ、要素(em、++・・・)は要素(e ++++1. I T ・・・)と転置さフォーマット: (skip m 1ist)スキップ命令は命令5kipが3階層構造を有するように実行される。
(skip m ((e+、t 、 −) 。
ここに、iおよびjがベースレジスタマトリクス内の要素の位置を指示する、要素e1..を有するリス!・のりストが2階層構造へ書き換えられ、((e+、+、・・・)。
(e @+1. I + ・・・)、リスト(em、I+ ・・・)が削除される。
4、 リスト抽出リストを含む目標か主レジスタ内に配置される。リストが挿入リストである要素を含む場合には、これらのリストは従属レジスタ内に垂直に記憶される。
expand −1ist命令は1サイクルで実施することができる。ペースレジスタの内容は、主レジスタ内の内容を除き、行右下方に1ステツプシフトされ、垂直バスへ転送されそのコラムの最上ペースレジスタへ挿入される(第19図参照)。繰返しexpand −1istを使用して主レジスタにデータを“充填”することができる。
ビットセル本発明によるリダクションプロセッサの一部である全体メモリはVLSI−技術(Very Large ScaleIntegration )で実現されるものである。したかって、各ビットセルはVLSI−技術により実現されるような設計とされている。ビットセル回路の実施例をビットセルワイヤd、d”およびaCCのドライバと共に第20図に示す。ビットセル15は破線で囲まれている。
第20図に示すビットセルの実施例では、各ビットセルは線dおよびd′″等の2本の線でコントロールユニットに接続されている。したがって、38ビツト長の情報を記憶する要素へ行く情報バスの各部が76本の線を含んでいる。このような各バス部は記憶セルエリア内のコラムに配置された記憶フィールド151に接続されている。
第20図に示すように、ビットセルにも4つの接続しかなく、常時供給電圧が供給される第1の接続V、と、後記するように、各々が少くとも3つの異なる制御状態に設定可能な第3および第3接続acc、d、d”である。
第20図に示すビットセルは4トランジスタCMOSセルである。それはスタティックであり負荷を有している。負荷は実施例では、それぞれ、反転ゲートを存するMOS FET 11およびI2のソース/ドレーンバスである。また、替りに抵抗負荷(図示せず)を有することもできる。
セルは各側から制御可能なフリップフロップである。
アクセス線aCCと給電線V e cとの間に、各々がMOSFETのソース/ドレーンバスと負荷TI、11を含む、2つの直列接続が並列に設けられている。トランジスタTIのドレーンはそのゲートに接続され、トランジスタT2のドレーンはトランジスタT1のゲートに接続されている。ダイオードDIかd線とトランジスタTIのドレーン、負荷TIおよびトランジスタT2のゲートの相互接続との間に接続されている。ダイオードD2かd1線とトランジスタT2のドレーン、負荷I2およびトランジスタTIのゲートの相互接続との間に接続されている。各ダイオードDi、D2は互いに接続されかつそれぞれ線dもしくはdlに接続されているドレーンおよびゲートを存するMOS FETにより提供される。
回路要素の重要な特徴はダイオードD1.D2が線d。
doに対して一方向にしか電流を流さず、トランジスタTI、T2はそのゲート電位の変動により電流を制御できる活性要素であることである。相互接続nl、n2は1ビツト情報に関連する電位を記憶できるノードである。
各負荷11.12は抵抗器のごとく挙動する要素である。
第20図において、電圧V e eは高電位として示されている。次に、ダイオードD1.D2はそれぞれ線dもしくはdoからノードn1もしくはn2へ電流が流れるようにされる。ゲート電極の電位が増大している時は活性要素TIもしくはT2の抵抗は低減され次にノードが低減される。しかしながら、別の実施例では電位および電流は第20図の実施例とは逆方向に選定することかできる。
ビットセルは゛真′もしくは゛偽゛である値V、。、。
を記憶することができる。線acc、 dおよびd″′の電位をさまざまに設定することによりビットセルの構造をいくつかの異なる機能状態に設定することができる。
制御状態はハイレベル、ローレベル、全線に対するセルへの流入電流、ace線に対するセルからの流出電流である。線aCCはヘッド16からのアクセス線であり記憶セルフイールド内の全ビットセル15に接続されている。
第3および第4線d、d’はセルのライトもしくはリードが行われアクセスJllaccがローである時に互に反転される信号を存している。
要素ヘッド16内の駆動およびセンスアンプヘッド16内のドライバおよびセンスアンプを第20図に方形破線で示す。第1のトランジスタT3のソースは電圧V1に接続され、ドレーンは記憶セルフイールド151内の全ビットセル15のアクセス線aCCに接続され、ゲートにはクロック信号発生器(図示せず)からクロック信号prechが供給される。第2のトランジスタT4のソースは電圧O■に接続され、ドレーンは記憶セルフイールド151内の全ビットセルI5のアクセス線aCCに接続され、ゲートにはアクセス線aCCに電圧OVを設定すべき場合にハイとなる電圧v3が供給される。
前記したように、線aCCは閉包要素内の全ビットセルに接続され、したがって例えば38個のビットセルに接続される。それはヘッド内に設けられる。したがって、ヘッドは小さくなければならない。@aCCの電圧レベルは増幅器AMPにより増幅される。
インターフェイス7内の駆動およびセンス回路ビットセル線d、d”に対するインターフェイス7内のドライバおよびセンス回路を第20図にもう1つの方形破線で示す。しかしなから、この回路は線d、d”を駆動および感知する一例にすぎない。入出力I N10 UTは第1図のコアセル2に接続されている。したがって、この回路はオブジェクト記憶装置1とコアセル2間のインターフェイス7に設けられる多くの類似回路の1つである。
d線のライト回路は第1対のトランジスタT5.T6を含み、実施例では一方はn型であり他方はp型であり、そのドレーンはd線に接続されていて分圧器を提供する。
トランジスタT5のソースは電位vtに接続され、ゲートにはプリチャージ信号prechが与えられる。他方のトランジスタT6のソースは電位Veeに接続され、そのゲートにはd線に電位V−を供給すべき時にローとなる制御信号v4が供給される。d線のライト回路はソースが接地されゲートか外部制御器からの入力writeに接続されたn型トランジスタTllのドレーンと電圧源V−どの間に接続されたp型トランジスタT9とn型トランジスタTIOのソース/ドレーンバスの直列接続も含んでいる。トランジスタT9.TIOのドレーン間の相互接続はトランジスタT6のゲートに接続され電圧v4を育している。トランジスタT9のゲートにはプリチャージ相中にトランジスタT6のゲートを導通トランジスタT9を介して電源電圧Veeに接続する反転プリチャージ信号prech ”か供給される。
d6線のライト回路は第2対の直列接続トランジスタT7.T8を含み、実施例では一方はn型他方はp型であり、そのドレーンはd6線に接続されていて分圧器を提供する。トランジスタT7のソースは電位V、に接続され、そのゲートにはプリチャージ信号prechが与えられる。他方のトランジスタT8のドレーンは電位V c cに接続され、そのゲートにはd”線に電位V e eを供給すべき場合にローとなる制御信号V5が与えられる。
d0線のライト回路は電圧源V e eとトランジスタT11のドレーン間に接続されたp型トランジスタTI2およびn型トランジスタTI3のソース/ドレーンパスの直列接続も含んでいる。トランジスタTI2およびT13のドレーン間相互接続はトランジスタT8のゲートに接続され電圧v5を有している。トランジスタT12のゲートにはプリチャージ相中にトランジスタT8のゲートを導通トランジスタTI2を介して電源電圧V e eに接続する反転プリチャージ信号prech ”が与えられる。
入出力用外部ワイヤlN10UTが2個の3ステートインバータに接続されている。出力がlN10UT線に接続されている一方の3ステートインバータは2個のn型トランジスタT14.T15および2個のn型トランジスタT16.T17のソース/ドレーンパスの直列接続を含んでいる。トランジスタT16のゲートは信号bitinを供給する制御線に接続され、トランジスタT15のゲートには反転信号bitin”か与えられる。入力がlN10UT線に接続されている第2の3ステートインバータは2個のn型トランジスタT18,719と2個のn型トランジスタT20.T21のソース/ドレーンパスの直列接続を含んでいる。トランジスタT19のゲートは信号bitinを供給する制御線に接続されトランジスタT20のゲートには反転信号bitin”が供給される。
第2の3ステートインバータの出力はトランジスタT13のゲートに接続されかつインバータINVを介してトランジスタTIOのゲートに接続されている。
リードアンプはn型トランジスタT22を含み、そのソースは接地され、そのゲートは常時導通して電流発生器として機能するトランジスタT22をホールドする定電圧V b l a mに接続され、そのドレーンはそれぞれ電源電圧V e eに接続された一端を有するn型トランジスタとn型トランジスタT23.T24およびT25.T26の2つの直列接続ソース/ドレーンバスの並列接続に接続されている。n型トランジスタT24.T25のゲートは相互接続されかつトランジスタT23.T24のドレーン相互接続に接続されている。トランジスタT23のゲートはd線に接続され、トランジスタT25のゲートはd0線に接続されている。
各クロック期間、信号prechおよびprech” 、が信号prechがハイであるプリチャージ相と信号prechがローであるmake相へ分割され、他方の制御信号により実施すべき操作が決定される。したがって、プリチャージ相においてd、d” 、aCC線はトランジスタT5.T7゜T3を介してそれぞれ電圧V、にプリチャージされる。
信号bitinおよびbitin”によりビットセル115に対していつデータを送受すべきかが制御される。信号bitinがローで信号bitin”がハイであれば、第1の3ステートインバータによりビットセルからlN10UT線へデータが転送される。信号bitinがノ1イで信号bitin ”がローであると、第2の3ステートインバータi=よりlN10UT線からビットセルヘデータが転送される。
フェーズ2のリード動作時に、d、d”およびaCC線をV、ヘブリチャージした後で、dおよびd0線はフローティングされたままとされ、aCC線は高電圧V3により電圧Ovに設定されてトランジスタT4が導通する。
これにより、最低電位を有するノード、例えばnl、はvrと070間の電位へ低下される。これによりノードnlへのd線からace線へ電流が流れる。この電流により′d線が放電してd線の電圧が低下する。この電圧低減はリードアンプ722〜T26により測定される。読取結果はトランジスタT25.T26のドレーン間配線へ与えられ第1の3ステートインバータT14〜TI7の入力へ送られる。ローである信号bitinおよびりイである信号bitin”により読取り増幅されたビット値が入出力線lN10UTへ転送される。一方の線で電圧低減が行われなくなるため、フェーズ2の間にdおよびd0線は活性駆動されないことが重要である。
したがって、リード動作に対しては最初にdおよびd8か電位Vrとされる。dおよびdoは共に実質的に電位V、に維持されるか、セルへの“current in″によりd、d”線の一方が放電するためその一方が幾分降下する。ここではV、は“ロー“として定義されるため、ロー電位は″ロー”よりも低い。dおよびdlにより読取値か与えられる。d”よりも低いdによりFALSEか与えられ、d6よりも高いdによりTRUEが与えられる。don’t write、 write false、 write true、 don’twrite and don’t CO[[lP、命令に対してはdおよびd1線の情報電位により何の情報も得られない。
フェーズ2のWrite命令に対しては、d、d’およびaCC線をV、ヘブリチャージした後で、aCC線はハイ電圧V3によりOVに設定されトランジスタT4が導通ずる。
記憶すべき値が入出力線lN10UTへ与えられる。
bitinハイおよびbrtrn10−信号により第2の3ステートインバータTJ8〜T20が活性化されlN10UT線を介してその出力へ値が転送される。トランジスタTllのゲートのハイ制御信号writeによりトランジスタTIOおよびT13のソースかOvに接続される。
第2の3ステートインバータT18〜T21からのハイ信号、すなわち書き込むべき “0”すなわち偽、によりトランジスタT13が導通状態へ制御され、電圧V5がロー電圧へ設定され、トランジスタT8が導通すべく制御されd3線は電圧V c c、すなわちハイ、へ設定される。トランジスタTIOのゲートに送られる第2の3ステートインバータからのローである反転信号により非導通が維持され、プリチャージ相中に電圧源V e eに接続される電圧V4はこの電圧に維持される。トランジスタT6は非導通のままとされ、プリチャージ期間中にトランジスタT5を介してd線に接続される電圧Vrか持続される。
第2の3ステートインバータT18〜T21からのロー信号、すなわち書き込むべき “I”すなわち真、によりd線のライト回路T5.T6.T9.Tl OはインバータINVを介してハイ電圧V−に設定され、ライト回路T7. T8. Tl 2. Tl 3はd0線をプリチャージ相中に設定された電圧Vrに維持する。
前記例から判るように、記憶ノードn1およびn2は第20図の実施例では次のような処理に使用される。処理サイクルの第2フエーズ中に制御信号V3.V4.V5のいずれを使用するか、すなわちacc線がOvに設定されるかもしくはd、d”線の一方(もしくは両方)がV e eに設定されるか、によってノードn1.n2の一方もしくは両方が充電もしくは放電される。
前記したように、各動作サイクルはプリチャージ期間および実行期間により構成されている。したがって、以後aCC線かハイに設定されるという場合信号V3は実行期間中にaCC線上に電圧OVを設定するようにトランジスタT4を制御していないことを意味する。同様に、以後dもしくはd”線がローに設定されるという場合制御信号v4もしくはv5は実行期間中にdもしくはd8線に電圧Vtよりも高い電圧V e cを接続する状態となるようにトランジスタT6もしくはT8を制御していないことを意味する。しかしながら、dもしくはd”JIがハイに設定されるとトランジスタT6もしくはT8は電圧V−を介して線へ接続するように制御される。
記憶セルエリアは広く、例えば256記憶セルを含む、することができそれは各トランジスタ対T5.T6およびT7.T8が、256ビツトセル等の、全記憶セル内のエビットセル用ワイヤに接続されることを意味する。
したがって、トランジスタサイズは総バス容量および所望速度へ調整しなければならない。
■、とセンスアンプインバータ間の公知の関係を維持するために短絡インバータから電圧V1を生成することができる。ヘッド内のアクセス回路はビットセルを制御しかつビットセルからの情報を捕捉しなければならない。
制御状態により次の機能状態を設定することができる。
rest : セルが値vstoreを記憶する。
read false : vstore値=偽を続出し可能readtrue : vstore値=真を読出し可能don’t read : セルがvstore値を記憶する。
write false : 記憶されたvstore値が゛偽−に設定される。
wrlte true : 記憶されたvstore値が゛真′に設定される。
don’t vtrite : セルがVStOre値を記憶する。
comp、false : 記憶されたvstore値が゛偽−値と比較される。
comp、true : 記憶されたvstore値が゛真−と比較される。
aon’t camp、 : セルがまさにvstore値を記憶している。
ビットセルのさまざまな動作モードに対する動作表を次に示す。
動作モード acc d d ”res t ロー ロー ローread false o−カレントイン ハイread true ロー ハイ カレントインdon’t read ハイ 任意 任意write false ロー ロー ハイwrite true ロー ハイ ローdon’t write ハイ 任意 任意COmp、 false 任意 ロー ハイcomp、 true 任意 ハイ a−don’t comp、 任意 ロー ローcamp、 falseおよびcamp、 trueについてaccJIは比較結果かDIFFERENTである場合にcurrent out状懸状態ければならない。
comp、 falseもしくはcomp、 true動作に対してacc線(アクセス線)は比較結果を与える。aCC線はV1ヘブリチャージされ人力データがd線へ送られその逆値がd6線へ送られる。ビットセルに記憶された値が入力データと異なる場合には、ace線はダイオードDI、D2の一方および対応するn型トランジスタT1もしくはT2を介して充電される。これはヘッド16内のアンプAMPにより検出される。比較されたFITか検出されると、ace線は電位V、に維持される。
current inおよびcurrent outは時間シーケンス中に問題とする線に対して電荷がそれぞれ流入、流出することを表わす。これは通常動作モードRESTにおいて、それぞれ、ハイもしくはローへの書込みを開始し次に実際のモードへ変えることにより行われる。次に問題とする線へ電流がそれぞれ放電もしくは充電される。電流が無い場合には感知可能な電荷は移送されない。
したがって時間シーケンス中に電圧変化は与えられない。
オブジェクト記憶制御回路優先順位デコーダ(第21A図および第21B図)第21A図および第21B図に示す優先順位デコーダ11の実施例は4ブロツクに分割されている。第21A図に示すように、各ブロックは一対の左側線grantaおよびreqaおよび4対の右側線reqO,Bant O,−・〜−−−req 3. grant 3を有している。
第21B図に示すように、第1の4ブロツク520の4対の右側線は4ブロツクの左側線対の各々に接続されており、その中の外側の線521,522が図示されている。ブロック520.521およびブロック520゜522は反転アンプ523,524と相互接続され、アンプ523はチェーンの上位ブロックに対して優先順位要求が必要であるという情報をブロックチェーン内の下位ブロックへ与え、アンプ524は許下されたという情報をブロックチェーン内の高位ブロックへ与える。したかって、第2の4ブロツクコラム内のブロック521゜・・・522の数は4である。
第2コラムの各ブロックは、第2コラムのブロックが4ブロツク520に接続されるのと同様に、ブロックの第3コラムの4つの4ブロツクに接続されている。
したがって、第3コラムの4ブロツク数は16となる。最外部の4ブロック525.526だけを図示する。
第3コラムの各ブロックは同様に第4コラムの4つの4ブロツクに接続されている。したがって、第3コラムの4ブロツク数は16となる。最外部の4ブロツク527.528のみを図示する。
第4コラムの4ブロツクの右側線はオブジェクト記憶装置に接続されている。第21B図から明らかなように、各対は記憶セル10のバス18.19として作用するようにされている。
256の閉包のために85ブロツクか設けられている。
最低ブロック528は記憶セル0番までの最低記憶セル用であり、最高ブロック527は記憶セル255番までの最高記憶セル用である。
第21A図および第21B図に示す構成はドミノプリチャージ論理を使用しており、フル優先順位デコーダは、例えば最低ブロック528内のreq Oからの要求信号の転送に対応するカスケードドミノ段を含み全ての優先順位デコーダブロックを通って戻り、記憶セル0番を除く、全記憶セルへ偽許可信号を与える。
第21A図に示すように、各ブロックは5行のMOSFET トランジスタを含み、各行に下の行よりも1個多いMOS FETが含まれ、第5行だけは第4行と同数のMOS FETを有している。
下位4行の最古側のMOS FET Tro、o 〜Trt、。
の各々かp盟として示されており、そのゲートはクロック信号源に接続され、ドレーンは正の供給電圧に接続され、ソースはそれぞれ許可線grantO1grant 1 。
grant 2もしくはgrant 3に接続されている。最上行のMOS FET Tr、、のソースはgran t i線、iはθ〜3の数、ではなくインバータ523を介してブロックカスケードの次の下位ブロックに接続されたreqa線に接続されている。
n型として示す残りの第1行のMOS FETTr、、、、第2行のTrl、iおよびTrl、t、第3行のTra、+、Tr、、、、Trx、x、第4行のT rz、 lq T rx、 z、Tr、、、、Trs、<、第5行のT ra、 ts T ra、 s、Tr、、、、T r、□のソースは接地されそのドレーンはそれぞれ下位4行の許可線grantO1grant 1 、grant 2もしくはgrant 3および第5行のreqa線に接続されている。
granta線は各MO3FET Tra、+、 Trl、l。
Trx、+、Trs、+のゲートに接続されている。req O線は各MO3FET Trl、z、Tra、z、Trs。1、Tr、、、のゲートに接続されている。req i線は各MO3FETT r2.2、Trsl、T ra、 *のゲートに接続されている。
req 2線は各M OS F E T T rs、 4、Tra、aのゲートに接続されている。req 3線はMOS FET Tr4、のゲートに接続されている。
優先順位デコーダは2つのフェーズで作動する。第1のフェーズでは、クロック信号がローであり、全てのgrantiがハイ(真)にプリチャージされる。次に全てのreqi信号がロー(no need)となる。第2のフェーズではプリチャージが閉成される、すなわちクロック信号はハイとなる。次にいずれかもしくはいくつかのreq i出力がハイとなり、上の全てのgran t iがロー(not chosen)に設定されreqaがローに設定される。reqaがローとなると、第21図の左近傍4ブロツクのreq iがハイに設定される。
4ブロツク520内のreqaおよび graflt a信号は重要ではない。
しかしながら、4ブロツク520のgrant aは接地される。いずれかのセル閉包に接続された任意のreqiがハイとなる時にローとならなければならないため、4ブロツク520内のreqa信号により第2図および第3図の線14上に結果“ANY”が与えられる。
要素ヘッド(第22図)要素ヘッド■6の詳細実施例を第22図に示す。要素ヘッド16は記憶セル10へのアクセス線aCCを制御し、アクセス線aceおよびここでany−typeと呼ばれるANY線を感知し、バスaおよびb上でWIRED−ANDおよびWIRED−NORを実施し、バスaおよびbを読み取る。さらに、それは内部ダイナミックメモリビットを含んでいる。
nチャネルMOS FET nOのソース/ドレーンバスは第20図の電圧v1と同じ電圧vrおよびアクセス線aCC間に接続されている。MOS FET nOのゲートにはクロックパルスcpbが送られる。nチャネルMOS FET nlのソース/ドレーンバスは大地とアクセス線aCC間に接続されている。
2個のpチャネルMOSFETp、2およびp3の並列接続ソース/ドレーンパスと、nチャネルMOSFET p4のソース/ドレーンバスと、nチャネルMOS FET n5のドレーン/ソースの直列接続か電圧源Veeと大地間に接続されている。
最寄りのビットセルに直接接続されたany−type線はMOS FET p2のゲートに接続されている。中央コントロールユニットからのmatch線はMOS FETp3のゲートに接続されている。アクセス線aCCはゲートかアクセス線aCCに接続されたnチャネルMOSFET piとnチャネルn6の直列接続ソース/ドレーンパスを含むインバータINVIを介してMOSFET p4のゲートに接続されている。nチャネルMOSFET n7のソース/ドレーンバスはインバータINVIと大地間に接続されている。中央コントロールユニットからのeval、s線、すなわち評価選定、はMOS FET n7のゲートに接続されている。中央コントロールユニットからのset、s線、すなわち5etselect、はMOS FET n5のゲートに接続されている。
MOS FET p4およびn5のゲート間のセレクトノードとも呼ばれる相互接続点itはnチャネルMOS FET p6のドレーンに接続され、そのソー”スはnチャネルMOS FET p7のドレーン/ソースパスを介して電圧源+y ceに接続されている。中央コントロールユニットからのreSet、b線はMOS FETp6のゲートに接続されている。第3図のb線と同じであるb線がMOS FET p7のゲートに接続されている。
nチャネルMOS FET p8のドレーンは第3図のa線と同じa線に接続され、そのソースは相互接続点12に接続されている。中央コントロールユニットからのWand、a線、すなわちwired and & 、はその反転ゲートに接続されている。nチャネルMOS FET p9のドレーンはb#Iに接続され、そのソースは相互接続点12に接続されている。中央コントロールユニットからのWand、 b線、すなわちwired and b、はその反転ゲートに接続されている。nチャネルMOS FET ptOのドレーンは相互接続点12に接続されソースは供給電圧+V e eに接続されている。相互接続点11はインバータINV2を介してMOS FET plO(7)反転ゲートに接続されている。インバータINV2は電圧源子Vecと大地間に接続されゲートが相互接続点i1に接続されているnチャネルMOS FET pi4とnチャネルMOS FET nOの直列接続ソース/ドレーンパスを含んでいる。
2個のnチャネルMOS FET pH,pi2のドレーン/ソースパスの直列接続がa線と電圧源+V e e間に接続されている。中央コントロールユニットからのWor線、すなわちwired or、はMOS FET pi2のゲートに接続されている。相互接続点ifはMOSFET pHのゲートに接続されている。nチャネルMOS FET pi3のソース/ドレーンバスはa線と相互接続点11間に接続されている。中央コントロールユニットから(7)s、a、すなわち5elect a、線はMOSFET pi3のゲートに接続されている。
nチャネルMOS FET n2、nチャネルMOSFET pi5、nチャネルMOS FET pi6のドレーン/ソースパスの直列接続か大地と電圧源+V e e間に接続されている。MOS FET n2およびpH5のソース間の相互接続点i3はMOS FET nlのゲートに接続されている。2個のnチャネルMOSFET pi7およびpi8の直列接続か相互接続点i3と電圧源+V e e間に接続されている。相互接続点11はMOS FETl8のゲートに接続されている。中央コントロールユニットからのr/w、b、すなわちリード/ライトb、線がMOS FET pi5の反転ゲートに接続されている。中央コントロールユニットからのr/W、S、すなわちリード/ライトセレクト、線がMOSFET pi7のゲートに接続されている。リードもしくはライト動作後にノードi3をリセットするのに使用される中央コントロールユニットからのr/w、r、すなわちリード/ライトリセット、線がMOS FET Q2のゲートに接続されている。
第22図に示す要素ヘッドの実施例における論理の機能は次のようである。MOS FET nOが各負クロックパルスでアクセス線aceをプリチャージし、MOSFET nlかリードもしくはライトにおいてそれをローと評価する。スタンバイ時には、MOS FET n2がi3をローにプリチャージしてMOS FET nlをオフ、すなわち非導通、に維持する。
MOS FET pi7およびpi8はセレクトノードに制御されてリード/ライトを実施する。これは例えば、閉包セルのマークをクリアしたり閉包セルのアイディンティティを読み取りかつマークを設定しない場合、バスaおよびb上の情報に応じてさまざまなアクションをとらなければならない型命令matchの命令で使用される。
照合機能はコアセル内の値、例えばいわゆる目標値、と記憶セル内の値を比較しこれらの値を考慮して2セ、ソトを定義する。セットが交差しない場合には照合結果は偽である。閉包の一部が完全に評価されない場合にもこのケースが考えられる。
MOS FET n5はセレクトノードilをプリチャージし、MOS FET p2〜p4はMOSFET n7のゲートにおけるコントロールユニット6からの制御によりそれを評価する。MOS FET p8〜plOは中央コントロールユニットからの制御信号に従ってバスaおよび/もしくはバスb上でwired andを実施する。MOS FET pH,p12は中央コントロールユニットからの制御によりノくスミ上でwired orを実施する。
インバータINV2はセレクトノード上のセレクトビットを反転する。これはwired orおよびwired andの両方が実施されるために必要となる。MOS FETp13はバスaを介してセレクトノードへ値を転送する。
ロー状態にプリチャージされているため、11イ状態しか転送する必要がない。
最後に、MOS FET p6゜p7は制御してハイを選定するのに使用される。これはマークされた記憶セルを読み取りそのセルのマークをクリアする命令のために必要であり、それはセレクトノードを読取りの実施と同時にリセットしなければならないためである。この特徴は要素ヘッド内で論理AND演算を実施しなければならない他種の命令にも使用できる。
any−type信号は最寄りのビットセルに直接接続される。
それは記憶された値の型を含んでいる。照合中にMOSFET paがオフに制御され、any−type信号を有する線上のハイ値により真の照合が生じる。
同様に、記憶セルが使用されていないかどうかのテストに対して、MOS FET paがオフに制御されている時にany−type信号を有する線上のハイ状態によりセレクトノードの5elect信号はローのままとされる。同等性に関するテストに対してはMOS FET paはオンに制御される、すなわち導通する。
閉包ヘッド(第23図)第23図に示す閉包ヘッド17の実施例はバスaもしくはb上で優先順位動作もしくはMODE動作を実施することができる。両動作共異なるバス上で同時に実施することができる。MODE動作、すなわち第2図および第3図に示す回路内のバス12 (MODE)の動作、はバスaのハイもしくはロー状態を感知し、バスbについてはロー状態しか感知しない。閉包ヘッドはまたバス13上のグローバル信号MOREをリセットしく第2図参照)、古いバスデータをバスaおよびbヘリードもしくはライトし戻すことかできる。
MODE動作を実施する回路および優先順位動作を実施する回路は共に2段ドミノ原理に従って設計される。
第1段によりどちらのバスを入力して極性を正すべきかが決定され、第2段が実際の動作を行う。したがって、閉包ヘッドは第1のプリチャージフェーズと第2の動作フェーズを有する2つのフェーズで作動する。したがって、数個のプリチャージnチャネルMO3FET n20、n21.n22.n23が設けられそれらのゲートは中央コントロールユニットからのクロック信号を、n23はコンタクトネットFlを“ロー”ヘブリチャージする。
コンタクトネットFlはそれぞれpチャネルMO3FET p20.p21およびp22.p23のソース/ドレーンパスの直列接続対の2つの並列接続を育している。ネットFlは一方ではMOS FET n23のソース/ドレーンバスを介して接地され他方では電圧源+V−に接続されている。バス見はMOS FET p20のゲートに接続されまたインバータlNV2Oを介してMOS FET p20のゲートに接続され、したがってMOS FET p20にはバスaの反転信号である信号a1が与えられる。中央コントロールユニットからの信号mode、 aはMOS FET p21のゲートへ送られ中央コントロールユニットからのその反転信号mode、 a ”はMOS FET p22のゲートへ送られる。コンタクトネットFlは関数 a ” mode、 a対a ” @mode、a ”を実現する。
2個のpチャネルMO3FET p24.p25のソース/ドレーンパスの直列接続が電圧源+V e cとノくスト間に接続されている。バスaはMOS FET p24のゲートに接続され中央コントロールユニットからの信号baがMOS FET p25のゲートへ送られる。
ネットF1とMOS FET n23のドレーン間のノードは第2図および第3図に示すようにソースが接地されドレーンがバス12 (MODE)に接続されmode−signalを供給するnチャネルMOS FET n24のゲートに接続されている。2個のpチャネルMO3FET p26.p27のソース/ドレーンノくスの直列接続は電圧源+V、c&バスb間に接続されている。ノくス12上のmode−signalはそれを増幅する2個のインノく一タINV21.INV22を介してMOS FET p27のゲートにも接続されている。信号mode、 bか中央コントロールユニットからMOS FET p26のゲートへ送られる。
信号mode、 aはバスa上でモード動作を行う。信号mode、a ”もバスa上でモード動作を行うがバス上に反転値a8を形成する。バスaが“ロー”に設定されると信号baによりバスは“ハイ“に設定される。バスモーFが“ロー”であれば信号abode、 bによりバスbは“ハイ′に設定される。信号prechはa、bを“ロー”にプリチャージするのに使用される。
したがって、コンタクトネットFlによりMODE動作を信号aで行うか信号a0で行うかが選定される。次に、オブジェクト記憶装置内の全閉包ヘッド17を介してバスMODE 12を接地へ設定することができる。次に、トランジスタ926のゲートの制御信号mode、 bによりバスbがハイレベルとされる。
このようにして、バスbだけでなくバスaでも2つの異なるテストを行うことができる。バスaのテストにより実際の動作による結果か“ハイ”であれば、バスbを“ハイ”に設定することができる。例えば、一方のバスでWIRED ORを行い他方のバスでWIRED ANDを行い、バスaの結果が例えば偽”であればバスbは“偽”を示すような状態にできるように論理演算を行うことができる。
2個のpチャネルMO3FET p28.p29のソース/トレーンバスの直接接続が電圧原子Vecとバス5間に接続されている。優先順位デコーダ11からのgran を信号はインバータINV23を介してNANDゲ−1−NAND lの一人力に接続されその第2人力にはreq制御信号続されている。NANDゲートはソース/ドレーンバスが直列接続された2個のnチャネルMO3FET n25.n26およびソース/ドレーンバスか並列接続されかつMOS FET n26のドレーンと電源電圧V−間に接続されている2個のpチャネルMO3FET p32.p34を含んでいる。MOS FET n25のソースは接地されている。grant”信号かMOS FET n26、p34のゲートへ送られreq制御信MOS FET n25.p32のゲートに送られる。NANDゲートの出力はMOS FET p28のゲートおよびソース/ドレーンバスが電圧源V c eとMORE線13間に接続されているpチャネルMO3FET p33のゲートに接続されている。中央コントロールユニットからのgrant、 b信号がMOS FETp29のゲートへ送られる。
2個のpチャネルMO3FET p30.p31のソース/ドレーンバスの直列接続が電圧源+V a gと優先順位デコーダ11のreqバス間に接続されている。中央コントロールユニットからのprio信号はMOS FETp30のゲートに送られ、バスbはMOS FET p31のゲートに接続されている。
中央コントロールユニットからのprio信号は優先順位デコーダ11へ要求信号を送るのに使用される、すなわちバスbが“ロー”の時にハイ信号reqが送られる。NANDゲートp32.p34.n25.n26はreq制御信号イでgrant信号がローであるかどうか、すなわち優先順位のニーズがあるがまだ選定されていないかどうかを検出する。このような場合にはNANDゲートがローとなりバス13 (MORE)を“ハイ”に設定する、すなわち優先順位のニーズかあることを示す。grant、 b信号はreq制御信号ハイ”でgran を信号が“ロー”である時にバスbを“ハイ”に設定するために使用される。
その後、まず中央コントロールユニットからprio信号か送られ次にオブジェクト記憶装置内の高々1個の記憶セルのgrant、 b信号は“ロー″であるバス基を有する。
ニューメリックALUおよび値表現コントロールユニット6により制御されコアセルに接続可能な従来型のニューメリックALUを1次プロセッサに設けることも本発明の目的である。本発明による1次プロセッサに特に適したニューメリックALU5の実施例について説明を行う。このニューメリックALUは、* 一時記憶装置を使用せずに数式を簡約化することができ、* 仮数部と指数部間にコードフィールドにコード化された可変分割を有するオペランドとして浮動小数点値を処理することができ、* 可変コード長のコードフィールド内のそのオペランドに与えられるバス上の算術命令を使用し、* 浮動小数点および整数表現間に共分散を育し、本 コード密度値表現を育している。
ニューメリックALUは次のように数値要素の算術、論理および関連演算を実施することができる。
a)、処理すべき数値要素および命令情報を含む入力リストか与えられる。
b)、命令情報を使用して入力リスト内の数値要素に対して演算が行われる。
C)、入力リスト内の要素を書き換えることにより計算が行なわれる。
d)、結果が出力リストに出される。
入力および出力リスト内の最大要素数は好ましくは4であり、入力リストを提供し出力リストを受け入れるコアセル内の主レジスタ数に対応している。次に、1つのリスト要素に命令語表現を与え、2つのリスト要素に2つの数値表現の各々を与え一方は入力要素の書き換えを数回循環させる計算の中間計算結果を与えるのに使用することができる。
好ましくは、リストにはその1つの要素が命令コードであり残りのは命令の引数である関数適用が含まれる。
命令は、結果に達するまで、結果出力リストからの命令コードを入力リストへ書き換え循環させて実施される。
書換えのたびに、リストは実際の計算に対して適切であれば訂正された命令コード語を含むように書き換えられ、適切であればそれに値語が続く。
数値語は実際の処理の前にコード化された形式で与えられるのが適切である。好ましくは、数値語を表わす語は数値を稠密表現とするコーディングがなされる、すなわち値の各コード化表現は1つの解釈値だけに対応する。
最初のコーディングは整数値を表わす2進語に対して行われる。第2のコーディングは浮動小数点値を表わす2進語に対して行うことができる。コーディングは、浮動小数点値をコード化した後で整数値表現と同じ順序で表現かなされることが望ましい。このようにして、いずれの表現も2進形式とする必要はない。4所の規則に従って、すなわちどのように解釈されたかを知ることなく、変換されたビットパターンを暗示的に計算するためにハードウェアを設けることができる。
可変指数部幅を有する浮動小数黒値表現を得る簡単な方法は2進化浮動小数点値表現にコードフィールド、指数部フィールドおよび仮数部フィールドを含ませることであり、コードフィールドは指数部および仮数部フィールドが可変長を有するように両者間の分割位置に表示を有している。稠密表現は浮動小数黒値表現の仮数部に対する語のフィールドの前に仮想“1″、すなわち物理的に表現されない“1″、を含むことにより得られる。
ニューメリックALUハードウェア構造第24A図に略示するニューメリック演算論理装置ALUは制御駆動装a 1 aおよび各々が多数(M)の送信線を有するバスでありMビット値、Mは例えば32、を送信する特定の入出力NUo 、NUl、NU2 、NU3で演算を行う演算器アレイ2aを含んでいる。ニューメリックALUはコントロールユニット6により制御される。ニューメリックALUはコントロールユニット6と次の信号を通信する、タロツク信号入力CALu、ビジー出力Asusy、制御入力A CNTL、状態出力AI’rATl、および復号命令出力A +ms。
インターフェイスニューメリックALU<−>コアセル入出力バスNUo 、NUl 、NU2 、NU2は第1図の1次プロセッサ内のコアセルの主すなわち目標レジスタに接続され、そこでリダクション型の命令か処理される。
第9図のコアセル内の主レジスタ、すなわちSo。。
S +、o + St、o + Ss、oは全てNU端子を有しく第1θ図参照)、それは入出力バスN U 6 ”’−N U sの1本に接続されている。
したがって、主レジスタS!。の内容は入出力バスNU、を使用してニューメリックALUへ転送することができ、入力リストをニューメリックALUへ設けるのはそのためであり、ここでXは0〜3の数である。さらに、ニューメリックALUは結果を出力リストとして同じバスを介して主レジスタへ与えることができる。N0Mブレーン内に位置する主レジスタの一部の内容、すなわちnumb、はニューメリックALUへ転送される。
入出力バスNU、〜NU、は数値もしくは命令とすることができるnum語のリストを移送できる。全バスを常に使用する必要はない。入出力NU、〜NU、の入力リストは行われる計算の種別に関する情報を含み、コントロールドライブlaがアレイ2a内の別の要素を制御しながらリストから情報を引き出す。計算は入力リストの内容をビットもしくはビット群として、すなわち胎内て同じ位置を育するビットは別々にもしくは胎内で“スライス”状とされたビットは群として、書き換えて行われ結果は出力リストとして出される。最終出力リストを出す前に内部回路−により値を数回循環させることかできる。
循環中に一時的出力リストが出力されるが一時的入力リストとして挿入されるだけである。
リストは処理すべき値もしくは少くとも1つの整数値あるいは浮動小数点値だけを含むリスト等の他種のリストと共に関数適用を含むことができる。関連適用を含む場合には、入出力NU、の最初のリスト要素は命令コードすなわち行うべき処理の種別情報を含み、残りのリスト要素は命令の引数である。
命令はいずれ結果を得るために1もしくは数ステップで命令を書き換えて実施される。マイクロ命令および状態信号がニューメリックALU内で使用される。これらはアレイ2aを制御するニューメリックALU内の別のコントロールドライブlaにより使用される。結果を直接書き換える場合には、値は出力リストに載せられる。
ステップ式に書換えを行う場合には、リストは同じ命令コードを維持するか、新しいもしくは幾分変化した命令コードを持ち、大概の場合命令コードに値が続くように書き換えられる。数サイクルで書換え動作を行う最善のモードは全動作中命令コードを完全に保つことであり、それはこのような場合コントロールユニット6はあまり複雑ではないためである。
第24A図に戻って、ニューメリックALUにクロックパルスを与えるためにクロック信号CALLIが使用され、ニューメリックALUは出力Amury上のready信号によついつクロックパルスの受入準備が完了するかを指定する。
HEADブレーン内に位置する主レジスタ部の内容、すなわちタグ語、がコントロールユニット6へ送られニューメリックALUコントロールドライブユニット1aが制御される。
しかしながら、以後ニューメリックALUコントロールユニットとも呼ばれるコントロールドライブユニットタグ情報か直接送られるようにI10上に与えられる情 報にタグを含めることも本発明の範囲に入る。
コントロール入力A CNTLはニューメリックALUの数値演算を制御するのに使用される。演算は数クロックサイクルとすることができる。
各演算後に出力A3□7□がコントロールユニット6へ戻される。出力A IF18上の命令コードはNU、バスが接続される主レジスタ内の命令コードのコンパクションである。
第24B図を参照して、プロセッサのコントロールユニット6から与えられる基本クロックはC1゜であり、例えば10nSの期間を存している。ニューメリックALU演算はこのような1もしくは数クロックサイクルで行われる。ニューメリックALUに接続されたコアプロセッサはニューメリックALUの期間よりも長い、例えば2倍、の期間で[1できる、すなわちC6゜の期間か10nSであればクロック信号C1゜の期間は20nSとなる。しかしながら、短い期間で制御することもできる。したがって、期間の短いデバイスの基本制御信号CALo(すなわち、図示するニューメリックALUもしくはコアプロセッサ)は期間の長いクロック信号C1゜と同期化させるために命令の終りに伸長される。命令を実施するためのC+o型のクロックサイクルをさらに必要とする限りニューメリックALUはハイ信号A eusyを戻す。第24B図に示すように、伸長はA Ilu*Y信号がローとされた後で行われる。
値表現ニューメリックALUは浮動小数点表現の指数部と仮数部間に可変分割を有している。最初に、小さな数に対しては仮数部に多くのビットを有することができ、精度か高くなるという利点かある。また、極端に大きい値を処理することもできる。
したかって第25図に示すように、数値を有するバス上の各ビットパターンには好ましくは値の符号の一部と、指数部の符号の一部と、数値の指数部eと仮数部mtlllの分割位置(第25図の右矢符参照)に関するコードの一部の情報を存するビットストリングの最上位ビット内の短いビットフィールドが与えられている。ビットフィールドのコード部の長さも変化することができ、第25図の左矢符で示すように、コードフィールドと指数フィールド間の分割位置はコードフィールドにより決定される。
ニューメリックALUにより同じ数の整数表現と同順の数の浮動小数点表現が与えられる。したがって、同じビットパターンの浮動小数点値と整数値は全く異なる。
しかしながら、この目的は表現を浮動小数点値として解釈する場合にはビットストリングに対する第1の解釈式を有し、表現を整数値として解釈する場合にはビットストリングに対する第2の解釈式を有することにより達成することができる。したがって、いずれの表現も2進形式とする必要はなく、少くとも一方、好ましくは両方、をコード化形式とすることができる。ビットパターン変換は自動的に行われ、機械内のハードウェアが所与の規則に従って、すなわちどのように解釈されているかを知ることなく、変換されたビットパターンの計算を暗示的に行う。
浮動小数点値の閉表現、すなわち同じ数として解釈されるビットパターンが2つあってはならない、を与える努力がなされる。
グラフィック整数表現整数値Hと呼ばれる本発明による整数に対するコードのグラフ表現と第26A図に示す。2進表現は水平軸に沿って与えられ、H値は垂直軸に沿って与えられる。最上位ビットは正負にかかわらず値の符号を表わす。第26A図から判るように、H値は2進表現か全て“0”の時に負の最大値となり、2進表現の中間、すなわち最上値ビットが“0”から“l”へ変化する時に、0となり2進表現が全て“1”、すなわち最大2進値maX 、−eを有する時に、正の最大値となる。
グラフィック浮動小数点表現浮動小数点H値と呼ばれる本発明による浮動小数点値のコードのグラフ表現を第26B図に示す。2進表現は水平軸に沿って与えられ、H値は垂直軸に沿って与えられ、ここでは浮動小数点H値の符号が変化する点を通って描かれている。またこの表現では最上位ビットは値の符号を表わす。浮動小数点表現はユニバーサルである条件を満さなければならない。ある精度に対しては、値の大きさは任意に変化できなければならない。したがって、極端に小さいもしくは大きい値を表現できなければならない。浮動小数点H値は対数目盛である。対数H値は2の各因数間の直線近似を使用して簡単化することができる。結果は代表的な浮動小数点コードとなる。第26B図に示すように、−1と+1rI!iのH値を表わす2進表現が2進表現フィールドの中間に与えられ半フィールドを含んでいる。
値の相対精度は値の全範囲にわたって一定である。対数値はある精度および範囲を存している。大きさが任意に大きくなる場合には、対数の範囲を調整ではなければならない。
対数値は対数関数にもう1回もしくはさらに数回適用することができる。したがって、非常に大きい値を表現することができる。しかしながら、大きい値に対しては精度が低下し、小さい値に対しては精度を維持もしくは幾分向上させることができる。
2つの表現の2つのビットパターンは同様に現れるため、浮動小数点コードに対しては整数サイズコンバレタを使用することもできる。これは特定の浮動小数点値コンバータを回避できることを意味する。それはさらに、1サイクルのみで比較演算を行う整数サイズコンバレタを浮動小数点値に使用できることを意味し、大きい利点となる。従来の浮動小数点値コンバータは演算に多くのサイクルを使用しなければならなかった。
従来の論理演算装置では、いくつかのビットパターンを同じ数として解釈することができこれらのビットパターンの■つが選択されるように正規化が行われる。
本発明では少くとも実際の計算において正規化を行う必要はない。正規化は計算の前後に行うことができる。浮動小数点値開に閉表現の類似性を存することにより、比較等の浮動小数点コードを1サイクルだけで決定することができる。また閉表現を有することの利点は最大数の浮動小数点値が得られる、すなわち一連の値に拒絶および使用不能値が与えられないことである。
従来の応用において同し数と解釈できるビットパターンかいくつかある理由は値を生成するために値の指数部と仮数部が互いに乗じられるためである。例えば、1.0の値は2’*’/z、すなわち指数部ビットパターンolと仮数部ビットパターン100を育る、であるかもしくは22*哀八、すなわち指数部ビットパターン10と仮数部ビットパターン010を存する、であり指数部ビットパターンおよび仮数部ビットパターンは互いに後に続く。
閉表現は正値に対しては仮数部ビットパターンの前に“l“を負数に対しては“0”を暗示的に与えることにより、すなわち実際には与えることなく、生成される。
従来、仮数部は−lと+1間の値として指定されている。
2進化仮数部は符号により(1,0〜2.0)もしくは(−2,0〜−1)の範囲の値として指定されている。
表現コード化整数パターンは厳密に決定され、浮動小数点表現は整数表現と同じ連続類てなければならず、それは非常に厳しい制約である。
この問題の育利な解決法を第26C図に略字する。第27A図〜第27D図は第26C図に示す原理に従って与えられる語のデータリストを示す。第26C図は浮動小数点コードの概略グラフ説明を示し、2進表現を垂直分割線LTNの左側に示し、浮動小数点H値をLIN線の右側に示す。LIN線は大きな値を指す軸として示されている。これは2進表現およびH値表現の両方に対し′を貫入る。
表現およびH値はLIN線の両側でそこから外方・\拡がるように示されている。LIN線に最も近いのは第26B図の軸である。H値軸は右側に、2進表現軸は左側に示されている。軸表現外側の第1のフィールド、右側のshおよび左側のS、は最上位ビットを表わす。
それは負値に対しては“0”であり正値に対しては“1″である。第2のフィールドsehおよびseはそれぞれ次上位ビットを表わす。第3フイールドには次上位ビットよりも低位の少くとも1ビツトと、図示するように7ビツトしかない場合のように、2進フイールドがローであれば1ビツトが含まれ、後記する32ビツトを有する場合のように、2進フイールドがハイであれば2ビツト以上が含まれる。
第26C図、第27A図〜第27D図に示す例では、実際上より頻繁に使用される32ビツト語の替りに7ビツト語に対するコーディングを示す。中心線のすぐ左側の2進表現は−1024〜+768のH値を有するものと解釈される。H値−1および+1はそれぞれ0と極限値−1024および768との間に配置される。表現およびH値の最初の2進ビツトSおよびshは正負にかかわらず値の符号である。
第2の2進ビツトは指数部の符号である、すなわち絶対値が1よりも上か下かを示す。したがってHビット指数部符号sehは−1024と−1の間で正であり、−1と+lの間で負となり、+1と+768の間で正となる。
第26C図の左側から分るように、表現指数部符号seは2進シーケンスの第1りす一夕−では負となり、第2りオーターでは正となり、第3クオーターでは負となり、第4クオーターでは正となる。sehビットはif S= 1then seh =se otherwise seh = 1−seと記述することができる。
したがって、文字符号を表わす最上位ビットの変動が最もゆるく、指数部符号を表わす次上位ビットの変動は次にゆるい、すなわち文字符号ビットの2倍である。次の場所のビットは指数部ビットの2倍の変動を有しコードビットCである。
第26C図および第27A図〜第27D図の例ではコードは1ビツトしか含んでいない。別の例では、コードフィールドに2ビツト以上を含めることができる。
コードは指数部の長さを制御し先行する符号ビットを考慮して行われる。
求める目標となる浮動小数点H値、すなわち浮動小数点記法、によりより特定的にコードフィールドchが与えられる。直接指数部H値を与えるeh部から明らかなように、eh値は大きな正値からO値へ低減され、そこではH値は−1であり、そこからH値がOとなる大きな負値となり、そこからH値が+1となる0値となり、そこからH値が768となる大きな正値となる。ehabs部は絶対指数部H値を示し、横に並べられ各々が両端に大きな正値を有し中間点に0を存する2本の曲線で表現される。
H値のコードフィールドはH値ehabsを反映するように構成されしたがって破線内と同じ形状を存しまたコードフィールドに連続線内の1ビツトしか含まれない場合の形状で示されている。したかって、chコードが1ビツトしか含んでいない場合には、コードch= c if se= l 。
otherwise ch= 1− cとなる。
各ビットフィールドS、 5hSSe、 seh 、 cおよびChは1ビツトしか含んでいないため、第27A図〜第27D図のリストの性質に従うのは容易であり、したがって第26図と第27A図〜第27D図の表現の比較は明白である。第27A図〜第27D図の第1列はooooo。
O〜1111111の逐次2進リストでありIO進数体系におけるその直接対応を第2列に示す。矢符列の右側には表現およびH値に対する変換数を示す。第26C図との比較を容易にするために、表現コードフィールドの各切替えに対する連続水平線が設けられている。
chの右側の列には表現の指数部値eの工0進表現が記載され、その後にH値の指数部値ehの10進表現が記載されている。次の2列はそれぞれ値eおよびehの2進表現を示す。それに続く2列は表現に対する仮数部値mのそれぞれ10進および2進表現を示す。その後にH値の仮数部値mhの10進表現を示す。sh値が“0”である第27A図および第27B図において仮数部は−1および一2間で変動し、sh値が“l”である第27C図および第27D図では+1および+2間で変動する。最右側列は変換時に最左側列の2進組合せにより与えられる10進H値を示す。
第27C図の上部から明らかなように、最上位ビットが“I”でそれに“0”が続く表現は特定浮動小数点値“0“を表わす。
第26C図の一連の2進数から明らかなように、中心線の左側で、2進7ビツトの下位4ビツトは指数部および仮数部により共育され、それは上位3ビツトが符号ビットおよびコードビットに指定されるためである。デジタル列eおよびmから指数部符号seが負すなわち“0゜でコード値Cか“ビである最上部では、値eが3ビツトを含みしたがって値mは1ビツトを含むことは明らかである(列内の最初の2つの“O”は省くことができる)。これを第26ClliNに示しこの部分の多くのステップでe−表現を存している。指数部符号seがまだ負であるがコード値Cは“O”である次の部分では、e値は1ビツトしか含まず(列内の最初の2つの“0”は省くことができる)、仮数部値は3ビツトを含むことができる。
これを第26図に示しこの部分の数ステップにe−表現を存している。次の部分では、e値は1ビツトしか含まず仮数部は3ビツトを含んでいる。
表現部に示すように、指数部eはc=0および5e== 0を有する部分に多くのステップを有しc=1および5e=Iを存する部分に数ステップを有している。e部の左側のe+bias部では、全部分の各クォーター内に次々に直線で与えられるe値が連続線で示され、e+biasの一部分の1つおきのりt−ターを反転することによりeh、b。
かどのように構成されるかが破線で示されている(ehは指数部符号を有するe値を表わす)。
したかってコードピットは先行する指数部符号ビットに依存し、コードは実際に符号ビットを含み非常に限定された長さを存することができる、すなわち指数部の長さがコードフィールド内に与えられたものだけに依存する場合よりも短くなる、ということができる。
仮数部の長さは指数部の値に依存し、指数部が長ければ仮数部は短くなりその逆も成り立つ。したかって、第26図に仮数部を示さず第27A図〜第27D図のリストのm、n列から明白であり、図では最初のmが10進値を示し第2のmがその2進値を示している。前記したように、if s = I then mh= 1.0 +m otherwisemh=−2+mとなる。
読み易くするために、前例は7ビツト語長に対して記述されている。前記したように、語長は例えば32ビツトのように極めて長く選定することができる。可変コード長を存することが実際的である。また回路を複雑化させないために、指数部と仮数部間の分割点を数ビット、例えば4ビツト、のステップで変えることも実際的である。その利点はビットワイズに分割変化を行うほどコードを必要としないことである。このような精度デコーダの例については後記する。
ニューメリックALUの例本発明の1次プロセッサに含むことかできるニューメリックALUの詳細実施例を第28図に示す。入出力バスNU、〜N U 3は人出力バッファ20に接続され、それはバッファのクロック制圓入力に与えられる外部クロック信号CLOCKの各反転クロック期間に対して、入力情報を内部のV01〜v、1線へ送り各クロック期間に対して内部出力線V0゜、〜V 2 a * lの出力を入出力バスNU、〜NU、へ送る。
回路20の実施例およびそのクロッキングを第29A図、第29B図および第29C図に示す。入出力バッファ20は各入出力バスNU、〜NU、に対して1個ずつの入力バッファおよび同数の出力バッファを含んでいる。
競合問題を回避するために、タロツク信号は重畳させてはならない。これはその先縁を幾分カットして調整される。
第29A図の左側にかっこで示すクロック信号CLOCKの反転された第1相中に、コアセル内の主レジスタからの入力は送信状態に制御されている入力バッファを介してニューメリックALU内の内部データバスへ与えられる。データは出力バスに与えられる次の状態へ遷移されてニューメリックALU内の内部データバスを伝播する。
出力バッファはブロック状態へ制御される。
第29B図の左側にかっこで示すクロック信号CLOCKのクロック期間の第1相中に、回路20内の入力バッファはブロック状態へ制御されニューメリックALU内の内部回路は安定マルチプレクサとして機能して入出力バスNU、〜NU、へ与えられる信号を#御する。回路20内の出力バッファは送信状態へ制御される。
0相における多サイクル命令の状態を第29C図に示す。先行位相1中に二ニーメリックALUから与えられる入出力バスNU、〜NU、の内容は容量効果によりO相中も維持されしたがって、出力バッファがブロック状態に制御されている間送信状態にmymされる、入カバッコアヲ介シテ入力/< スV o l ! V r t + V !l* V @ Iへ送られそこから次の状態へ遷移している間にニューメリックALU内の内部データバスを介して伝播される。入力リストは計算を1lJiilシ実施するのに使用され、それは入力リストの内容を書き換え結果を出力へ送ることにより行われる。リスト内の最初の要素は命令コードであり残りの要素は入力データに依存する機能ハードウェアを与える必要がある命令の引数である。しかしながら、好ましくはバスV、、、V□、V、、上の情報種別に関する情報がコントロールユニット6から入力EXTへ与えられる。
好ましくは、コントロールユニット6は入力バスV。l。
V + + * V x i + V 21上の語が命令および/もしくは数を表わす情報を有し、数が浮動小数点値もしくは整数であればこの情報がバスEXTを介してニューメリックALU27へ与えられる。
さまざまな命令を実施するために次の処理装置が第28図の実施例に設けられている。
コンパレータ第1のコンパレータ21がVolおよびVll線に接゛続されてこれらの線の全情報を比較し、すなわちV o + > V 11 。
V @ l ” V I I + 比較結果すなわち2ビツト値がニューメリックALU制御回路27に接続されたその出力Cmpo+に与えられる。第2のコンパレータ22がVllおよびV2゜線に接続されていてこれらの線の全情報を比較し、すなわちvll>Vll−V++=Vz+、比較結果ハfl制御回路27に接続されたその出力Cff1p+zへ出される。第3のコンパレータ221がV□およびVll線に接続されこれらの線c7)全情報1を較t、、スナワチV!、〉V3I、V!1=v31゜比較結果は制御回路27に接続されたその出力Cmp2iへ出される。第4の指数部コンパレータ222が各々が3、2ビツトバスであるVllおよびvl1線に接続され、これらの線上の語の最上位部、すなわちse、c、e、部、すなわち仮数部および符号を除く全情報が比較される。前記したように、コンパレータはSe、C,e、部のコーディングに注意を払う。したがって、精度デコーダPDからのB1,1信号はコンパレータ222の別の入力へ送られる。
第5のコンパレータ223は精度デコーダからのB Imblr BIlb2信号を比較する。結果信号Cmp−preCはB l5bl+ Bag□信号か同じかどうかを示す。
制御回路27はコンパレータからの比較結果をコントロールユニット6に接続されたそのAITATI出力へ送る(第24A図参照)。結果は後記するようにいくつかのユニットの制御にも使用して適切であれば出力バスV、。uT+ vl。エアl vs。。7に予選主語を与えるようにするこ゛とがで°きる。
無意(In51gn1ficance)デコーダ無意デコーダ23がV (1線に接続されバスV HI上の語が整数を表わす場合にVll上のビットが全て“0”もしくは“1”であるかどうかを調べ、Vllバス上の語が浮動小数点値を表わす場合には指数部および仮数部のビットが全て“0”もしくは“1″であるかどうかを別々に調べる。入力V11の最下位ビット群を示すB8.1信号は入力バス上の語が整数を表わすか浮動小数点値を表わすかを示す情報を提供し、浮動小数点値である場合には指数部と仮数部間の分割情報を提供する。これらのテスト結果は制御回路27の入力に接続されたinsig+出力へ与えられる。無意デコーダ24がVll線に接続されておりバスv!l上の語が整数を表わす場合はV 21上の全ビットが“θ″もしくは“1”であるかどうかを調べ、バスVjl上の語が浮動小数点値を表わす場合には指数部および仮数部内の全ビットが“0”もしくは“1”であるかどうかを別々に調べる。Bag□信号は入力V、1の最下位ビット群を示しB161信号と同種の情報を与える。これらのテスト結果は制御回路27の入力に接続されたinsig、出力へ与えられる。無意デコーダ25がV=線に接続されていてV31上の語か全て“0”もしくは“1“であって整数を表わすかどうかを調べ、バスVll上の語が浮動小数点値を表わす場合には指数部および仮数部の全ビットが“0”もしくは“l”であるかどうかを別々に調べる。これに関する情報はB3.1信号から引き出される。これらのテスト結果は制御回路27の入力に接続されたinsjgs出力に与えられる。各無意デコーダは後記する制御回路27からの制御信号C5,によっても制御される。
無意デコーダを有する目的は計算に関わる一つの入力の情報を無意とすべきかどうかを検出することである。
この情報はバスA、アATtを介してコントロールユニット6へも送られる。1つの無意ユニットからの少くとも1つの入力が例えば全てゼロを示す最終状態を制御回路27はある種の一演算に使用することができる。
命令デコーダ命令デコーダ26がV、、線に接続されている。ニューメリックALUが算術演算を行う場合にバスV。Iは命令を帯びている。VOIのデコーディング結果は、VOiが命令もしくはデータ値を帯びている場合に、出力inoを介して制御回路27へ送られる。後記するように、ユニット23〜26はそれぞれ回路PD1.PD2および27で発生する他のB Imblr 13Imblr Csによっても制御さVllおよびVll線に接続された第1の加算器28はV l l + V t Iの加算を行い結果をa、出力へ与える。結果の可能な桁上信号は制御回路27に接続されたgra+出力へ送られる。VllおよびVllに接続された減算器29はV、、−V□の減算を行い結果は別のa、出力へ送られる。
結果の可能な桁上信号がニューメリックALU制御回路に接続されたgraz出力へ送られる。VllおよびV z I線に接続された第2の加算器30がVz+2*Vt+の加算を行い結果は別のa、出力へ送られる。結果の可能な桁上信号が制御回路27に接続されたgras出力へ送られる。
各加算器は制御回路27からの制御信号C5およびB Imbl信号によっても制御される。この信号は入力バス上の語が整数値を表わすか浮動小数点値を表わすかの情報を提供し、浮動小数点値であってvl、およびV□ババス上値が一致する場合には指数部と仮数部間の分割情報を提供する。個別値、すなわち整数、が完全に評価されるためこれらの情報は重要であるが、連続値すなわち浮動小数点値に対しては仮数部と指数部が別々に評価される。
符号回路第1の符号および指数部符号回路35がバスVII上の語の符号、指数部符号、最上位仮数部ビットおよび最下位仮数部2ビツトをソートしその出力51gn1を制御回路27の入力へ与える。第2の符号および指数部符号回路36かバスvzl上の語の符号、指数部符号、最上位仮数部ビットおよび最下位仮数部2ビット部をソートしその出力sign、を制御回路27の人力へ与える。また、第3の符号および指数部符号回路37をバスv11に接続してその出力51gn5を制御回路27の入力へ与えることができる。符号、指数部符号および仮数部ビットがバスV 11およびVllの語の一部として与えられる場合には、回路35.36は絶対的に必要である。入力バス上の浮動小数点値語の場合には、それらはニューメリックALU制御回路により使用される。ある種のニューメリックALU応用では回路37を省くことができる。また、ある種のニューメリックΔLUの応用では、バスV。lに対して符号および指数符号回路(図示せず)を設けることができる。
ニューメリックALU制御回路制御回路27はその入力信号を処理することにより出力バスCI、C2,C3,C4,C5上にデジタル出力信号を与える。好ましくは、制御回路27はプールゲートアレイである。出力信号により行われる#J御については後記する。
の2個のオペランドユニットrlおよびr2は各要素に対して一意的な全演算を含んでいる。各オペランドユニットはいくつかの情報入力を存している。その中の3つがそれぞれ3つのユニット28.29.30の別々の出) 力al+ a2+ a3に接続され、2つがそれぞれ人カバ1 スV 11+ V t +に接続され、3つがそれぞれ個別の精密デコーダPDIもしくはPD2のいくつかの出力に接続され、それについては後記する。原則的に、各情報入力は入力バスVat、 Vll、 Vll、 Vslト同シ線数ヲ含bt<’:;z。
i である。
〜 オペランドユニットrlの出力は出力バスV、。、であ1 リオベランドユニットr2の出力は出力バスv2゜、1である。
) 制御回路27の1つの出力C1はオペランドユニットrl内の内部要素を制御する合成制御信号である。ユニットr1の他の制御信号は精度デコーダPDIにより与えられる。制御回路27の第2の出力C2はオペランドユニットr2内の内部要素をsueする合成制御信号である。ユニットr2の他の制御信号は精度デコーダPD2j から与えられる。第3の出力C3は第3のオペランドユニットr3へ与えられる合成信号であり、第4の出力C4は後記するpolynome所与回路31を制御するように与えられ、第5の出力C5は精度デコーダPDIおよびPD2および無意回路23〜25、加算器28.30および減算器29、および符号および指数部符号回路35〜37を制御するように与えられる。
各オペランドユニットr1もしくはr2は本質的に同じ構成とされ、したかってその一方r2についてのみ詳細説明を行う。ユニットr1およびr2内の同じ要素には同じ参照符号が付されている。すペランドユニットは2つのグループ、指数部OP、および仮数部OP、に分割される。仮数部OP、は出力nlを有し指数部は出力n2を育している。出力n1およびn2はビット群個別セレクタM】とも呼ばれる出力バスセレクタの入力に接続されている。発生器への制御信号C2,1により制御され選択される4つのO”もしくは“1″の精度群を与える0/1発生器40もセレクタMlの別の入力へ接続することができる。
指数部OP、は入力としてオペランドユニットからの4人力、すなわちv、1および精度デコーダPD2からのB b+*mt r B ea−1++er2+ B c+i−d*crl および仮数部OP。
からの入力n8を育している。入力■、lはインフレメンタINCの入力、デクレメンタDECの入力および語セレクタM2の5人力の中の1つに接続されている。INCおよびDECの出力n5およびn6はそれぞれ語セレクタM2の2人力に接続されている。Be5−+mert。
Bee−a@tr2は語セレクタM2の他の2人力に接続されている。
オペランドユニットr2のINCは桁上出力gr i t*Ce1lも育しており、DECは制御回路27に接続された桁上出力flrat+ Cedtを有している。また、オペランドユニットr1はtire回路27に接続された減分成分桁上出生に早期に与えられる。セレクタはクロックサイクル前半の後期に制御され、次にこのセレクタはいくつかの増分もしくは減分回路に桁上げがあるかどうかという事実に留意して制御される。
第1のセレクタへの正規の最大伝播遅延は半サイクルよりも大きい。したがって、この構成により生じる余分な遅延はない。しかしながら、代表的な伝播遅延は一般的に半サイクルよりも少い。最終半サイクルへの遷移時に全信号が評価される。セレクタ内で不要な遷移は生じない。
オペランドユニット内の語セレクタM2の出力n4は4人力を有する語セレクタM3の第1の入力へ直接接続されさらにインバータINVを介してその第2の入力にも接続されている。出力n2は指数部OP、の出力である。入力B bl、stは語セレクタM3の第3の入力に接続されている。
仮数部OP、は5人力、すなりちV 11+ v、、、 a I ra!+aj+ を有している。全入力が5人力および出力n8を有する各語セレクタM4の一人力に接続されている。出力n8は指数部OP、の語セレクタM3の第4人力に接続されている。出力n8は語セレクタM5の3人力の1つと、入力の2進情報を下位方向に向って4ステツプシフトさせている、すなわち2進情報をI6で分割している、負のシフターSHIを介した語セレクタM5の第2人力、および入力の2進情報を高位方向に向って4ステツプシフトしている、すなわち入力の2進情報に16を乗じる、正のシフターSH2を介して第3人力にも直接接続されている。
語セレクタM5の出力n7は語セレクタM6の6人力の中の第1の入力へ直接接続され、入力の2進情報を下位方向に1ステツプシフトする負のシフターSH3を介した第2人力と、入力の2進情報を下位方向へ1ステツプシフトする第2の負シフターSH4を介した第3の入力と、入力の2進情報を高位方向へ1ステツプシフトさせる正のシフターSH5を介した第4人力と、入力の2進情報を高位方向へlステップシフトさせる第2の正シフターSH6を介した第5人力に接続されている。内部−主語発生器41がその制御人力C2,。の制御により一主語C1゜rlを発生しその出力は語セレクタM6の個々の入力に接続されている。
−主語発生器41はその制御信号C2,。により制御されて一部の0もしくはlの所定の組合せ、例えばオール“0”もしくはオール“l”すなわちある特定情報を示す語、を発生することができる。
発生器は制御信号C2,。により選定される限定された数の語の組合せしか記憶することができない。語セレクタM6の出力は仮数部OP、の出力nlである。
仮数部OP、は次の機能を実現する。n8上の仮数部基本値が語セレクタM4により選定されてVx 、 V + 。
a+ + at+ asのいずれかが得られる。それはそのまま使用したり1.2.3.4.5.6ビツト左へシフトしたり(正シフト)、1.2.3,4.5.6ビツト右ヘシフトしたり(負シフト)、−主語発生器から与えられる語Cwar42と置換することができる。
指数部OP、により次の機能が実現される。その出力はn8上の非シフト仮数部値、V!+t、反転Vt+l。
Vt−x、反転V t ! + B c+e−1acrtz反転B c+e−1scrtsBcs−dscr1反転B co−decre、もしくはB blastとすることができる。
オペランドユニットr2において、語セレクタM2〜M6は制御回路27の出力C2上の制御語により個別に制御される。したがって、語セレクタM2は部分制御語C23により制御され、語セレクタM3は部分制御語C2□に制御され、語セレクタM4は部分制御語C26に制御され、語セレクタM5は部分制御語C2sに制御され、語セレクタM6は部分制御語C2,により制御される。また、セレクタM4の出力n8に接続されたシフターSHI、SH2は部分信号C21により制御され、シフターSH3〜SH6の部分信号C2?により制御され、インフレメンタINCおよびデクレメンタDECは部分信号C2,に制御され、出力Cword!を与える一主語発生器41は部分信号C2+。に制御され、0/1発生器40は部分信号C2+□により制御される。
ビット群個別セレクタMlは部分制御語C2I、精度デコーダPD2からの出力コード信号B east、出力最下位ビット信号B ram adll、および出力指数部信号8616 adllを含む組合せ多ビット信号により制御され、最後の2つの信号は精度デコーダPD2から来る出力B l1b2.Be□2からそれぞれ処理回路42A、42Bにおいて引き出される。信号については後記する。処理回路42A、42Bは制御回路27からの出力C2の一部である信号C2sにより制御される。精度デコーダPD2はバスVt1上の語が整数であるか浮動小数点値であるかを示す制御回路27からの2進制御信号C5,と共に、バスV□上の情報のeXp符号およびコード部を入力として存している。制御信号C5□はA L UfR1!1回路27からの出力C5の一部である。
オペランドユニットr1の精度デコーダPDIについても同じこちが言える。精度デコーダPDIからの信号B Igkl+ B、□2.はそれぞれ出力B1gbadllおよびB、ヨe adllを与える処理回路43A、43Bで処理される。処理回路42A、42Bおよび43A、43Bは所属するデコーダからの入力と同じ出力を与えている。しかしながら、後記するように、インフレメンタINCもしくはデクレメンタDECから桁上げが与えられているような場合には、出力信号がシフトされる。このシフトはニューメリックALU27からのそれぞれ出力C2もしくはC1のそれぞれ部分信号c21もしくはC1sにより制御される。
精度デコーダPD2(もしくはPDI)は例えば語V21が整数を表わす場合には全てゼロである処理回路42A、42B(もしくは43A、43B)への出力を有し、語V21(もしくはvlυが浮動小数点値を表わす場合には後記するB @!1121 B I akfおよびBeds’(もしくはB @l1lll+ Bl$blおよびB cdst)のような出力を存するように示されている全て無意の出力を与える。
精度デコーダPDIは出力信号Beゆd*crl。
B co−1++erl+ Bblmsl * B*x#l+ Blaklr BmgblおよびB cdalをオペランドユニットrlへ与えコードが最大長の指数部を表わすかどうかを示す信号B。。□1と、コードか最小長の指数部を表わすかどうかを示す信号Bco*1mlをALUII陣回路2子回路27゜精度デコーダPD2は出力信号B co−decret B co−1acrtz B blast tB @KG21 B jam!+ B□、およびB @4a@をオペランドユニットr2へ与え、コードが最大長の指数部を表わすかどうかを示す信号Bea−+aatlおよびコードが最小長の指数部を表わすかどうかを示す信号B0゜−1,1をALU制御回路27へ与える。新しい精度を出力および正規シフト中に反映させるように精度デコーダPIもしくはPD2からの出力B Ink + Bsxtはそれぞれ仮数部と同様にシフトしなければならず、それは後記するようにそれぞれ信号C2,もしくはCtsの一部の制御の元で回路42Aおよび42Bもしくは43Aおよび43Bの制御により行われる。
精度デコーダには入力バスV、1もしくはv!l上の語がそれぞれ整数もしくは浮動小数点値を表わすかどうかを示す信号C5,がその入力に与えられる。信号C5,l;1回路23〜30を制御するALU制御回路27の出力C5からの信号の一部である。
精度デコーダからの出力信号については後記する。
乗算および除算、オペランドユニットr3!l!3のオペランドユニットr3、被乗数/高閲数ユニットは、ユニットrlおよびr2とは異種であり主として乗除算に使用される。ユニットr3は乗除算中に必要なシフトおよび設定を行う。
それはALUコントロールユニット27の出力C3に与えられる制御語により制御被乗数/商ユニットr3はいくつかの入力を有し、第1入力にはバスV 21上の情報が与えられ、第2人力にはバス■、上の情報が与えられ第3人力には回路27からの出力C3の部分信号C3,の制御により発生器に記憶されたいくつかのビット組合せの中から選定された組合せを与える一定給発生器44からの出力が与えられる。
ユニットr3は複雑な数値命令中に1つの引数を評価するのに使用される。その出力はバスv3.1に接続され入力V2Iは語セレクタMllの第1の入力へ与えられる。入力Vjlは語セレクタMllの第2人力へ直接与えられ、また信号部C3aにより制御される正の1ビツトシフター5HINを介したその第3人力と、第1の負の1ビツトシフター5H12を介したその第4人力と、第よ 2の負の1ビツトシフター5H13を介したその第5人コ カへ与えられ、最後の2つのビットシフターは信号c3.。
B□bl+N+。1により制御される。発生器44の出力は語セレクタMllの第6人力に接続される。第2の語セレクタM12の入力へ与えられる語セレクタMllの出御 力1*ALUコントロールユニット27からの制御器Csノ の制御語部C32により選定される。
” M12はセレクタMllの出力を出力バスV、。、、へ与し えるバス接続であるが、制御語部C3rによりスイッチ1 オフ状態へ制御することができる。
ニューメリックALUの動作例については我々の特許l 出願を参照した。
t 精度デコーダト 精度デコーダの主要構造を第30図に示す。例えば計! 算速度を高めるために図示する構造を修正することができる。これらは構造的特徴にすぎず同業者ならば説明の必要はない。これは実際の回路は第30図に示すものとi は全(別の構成とすることができるが、第30図から明し 白な基本的機能を育していることを意味する。
jが1もしくは2である入力信号V□の指数部符号おし よびコード部はレコード回路50へ送られ、実施例ではその出力からは入力にどのようなバリアント(yariant)か与えられても前記表の例えば左側に示す先頭指数部符号を含むコードの1つのバリアントが与えられる。また、両バリアントをレコード回路50の出力に与えることができるが、常に同順例えば表中の左側のバリアントはそれに割当てられた線上に、右側のバリアントはそれに割当てられた線上に与えられる。出力はピットシーケンスコンパレタ回路51へ送られ、それは入力のビット組合せを監視してコードのビット長を示すデジタル信号B16.を与える。
それはまた信号B c 4 m も与える。
6個のピットシーケンスコンバレタ回路52〜57もレコード回路50の出力に接続され、レコード回路5゜からの出力線上のビットパターンか反応してその正規の出力“0”の替りに出力“1”を与えるようにされたものと同じであれば各々がその特定コーディングに反応して出力に“1”を与えるようにされている。
その時回路52〜57の中の1つだけが“l”、すなわち真信号、を与えており他は出力“0”、すなわち偽信号を与えている。信号B11.の第1および最終ビットは常に“0”である。したがって、2線58および59はビット“0”を有する線へ直接接続される。
線58、回路52〜57からの出力および線59はバスB3..へ信号を供給し、それは精度群当り1ビツトを存している。バスB klamは精度群当り4ビツトを有している。各群は3ビツト“O”およびその特定群に対する信号B 1sThのビットを含んでいる。したがって、各群の3線が“O”ら接続され第4線は出力B Imbの適切な線に接続される。出力B1゜、−1Sは回路52の出力に接続され、出力B。−,1、は回路57の出力に接続されている。
出力B @XIのビットパターンには出力B l a kが“1”を存する位置までの最下位位置に“0”が含まれその後の全ビットは“l”である。j159上の最下位ビットは常に“0”であるが、次下位位置からはビット“l”の可能性かある。したがって、OR−ゲート60の一人力は回路57の出力に接続され他方の入力は回路56の出力に接続される。回路57の出力は信号B、8.の次下位位置線に接続される。OR−ゲート60の出力は出力B、8.の第2最下位位置線に接続される。したがって、回路57の出力が“1″となれば、ORアゲ−60からも出力ビット″I”が与えられる。ORゲート60の出力は回路57.56の出力が共に“O″である場合のみ“0”となる。ORゲート60の出力はもう1つのORアゲ−−61の第1人力に接続されその他方の入力は回路55の出力に接続されている。ORゲート61の出力は出力B、1.の第3の最下位位置線およびORゲート62の第1入力に接続されその他方の入力は回路54の出力に接続されている。ORゲートのこの種のカスケード接続により出力B l m bに“1″を与える位置と同位もしくは高位の全位置に“1”が与えられる。
語Bee−daceの符号、exp符号およびコード部の第1線は“1″を与えるユニットに接続され、第2線はB18.の第6線に接続されたインバータ161に接続され、第3線はB l s kの第5および第6線に接続された入力を存するORゲート162に接続され、第4および第5線はB l a kの第2および第3線にそれぞれ直接接続されている。MBee−deerの符号、exp符号およびコード部に対するこれらの線はビット完成回路66の入力に接続され到来語に“0”を加えて出力に32ビツト語が出力される。
語Bc。−1,c、の符号、exp符号およびコード部の第1および第2線は“1″を与えるユニットに接続され、第3線はB I g bの第7線に接続されたインバータ163に接続され、第4線はB、、1の第3および第4線に接続された入力を存するORゲート164に接続され、第5線はB1゜の第3および第5線に接続された入力を存するORゲート165に直接接続されている。語B eos−imcrの符号、exp符号およびコード部のこれらの線はビット完成回路67の入力に接続され“0″を到来語に加えて出力に32ビツト語が出力される。
加算器第28図の回路28〜30の1っである加算器の実施例を第31A図〜第31C図に示す。加算器は2つの引数aおよびbを育している。引数aはバスV1.上に与えられ引数すはバスV2i上に与えられる。これらの引数は浮動小数点値もしくは整数としてコード化される。第28図の回路27からの出力C5の整数に対しては“0”であり浮動小数点値に対しては“1”である信号C5゜および整数に対しては全ビットが“0”であり浮動小数点値に対しては1つのビットが“ばであるバスB +*blおよびB 1abtかこの事実を示している。第31A図に示すように、加算器は8つのカスケード連結部GO,Gl。
、・・、G、、・・、G7、すなわち各精度群に対して1つ、に構成された2進加算器である。
加算演算の前記説明から明らかなように、aおよびbか浮動小数点値である場合は引数aおよびbを一致させてから加算することか重要である。これはB Is□とB fib2が同じでなければならないことを意味する。
B Imb+は加算器をf/i1sする信号として与えられる。信号B、、1は加算器、インフレメンタ、デクレメンタ等に接続される場合には仮数部に向ってlステップ変位され、それにより最上位仮数部群における桁上げ伝播に影響を及ぼすことができる(伝播を阻止する)。したがって、信号B11.の最下位ビットはこのような場合には使用されない。
各々が32ビツトを含む引数a、 bは各々が4ビツトの8群へ分割される。aおよびbの4ビツトの各群が個個の部分G、の別々の入力として与えられ、iはθ〜7の整数である。バスB l s bの各線はG、を除<G、部の各々に接続される。07部へのCl s線は加算器が加算を行うべきか減算を行うべきかを示す。CI 、は加算に対しては“Onであり減算に対しては“1”である。
各部は次の部へ桁上信号C0゜、を与え次の先行部から桁上信号CI m lを与えられ、それについては後記する。
所望により、引数a、bの加算は各部GO〜G7で個別に行われ次の部へ67〜GOの順に桁上信号が与えられる。浮動小数点値に対しては仮数部carry outバスCmか提供されそれには所望により仮数部carry outが与えられる。このバスは符号ビットを存するC、Jllおよび指数部ビットを有するc、、mと共に第28図の回路27への入力gra+ (もしくはgraiもしくはgras)を形成する。
信号C5+は引数aおよびbが整数値であるか浮動小数点値であるかを示し、信号C5xはコードが正規であるか引数aに対して変えられているかを示し、信号C5゜はコードが正規であるか引数すに対して変えられているかを示す。これらの信号は最上位ビットスライス(符号スライス)を含む最上位精度群に対応する00部へ送られる。これは特にオペランドaおよびbのフォーマット(両方が整数値であるか浮動小数点値であるか)に依存する。
3ステートゲート70がバスC1を規定値、例えばオペランドが整数である場合にはオール“θ″、に設定するために設けられその時仮数部桁上げはバス上で活性化されていない。3ステートドライバ70は信号C5,により制御される。
G1部の構成例を第31B図に示す。それは4つの加算器スライスASI−AS4へ“スライス″される。それはまた法部に対する桁上げC0,11を評価する部分に対する桁上げ発生器も含んでいる。問題とする01部に対する各ビット群a、およびblは個別の各加算器スライスASK、には1〜4の整数、にそれぞれ接続された個別ビットalkおよびb lkを有している。各加算器スライスは和出力の1ビツト5uln 1mを与える。
第31C図について詳記するように、桁上げ発生器にはセクションの和カ月6以上であることを示す発生ビットG、、と、セクションの和か15以上であることを示す伝播ビットP、と、次の先行部C1a−1からの桁上げビットと、加算器スライスAS4からのcarry innピット 1.−14 と、ビットB +ab−+++が与えられる。ビットB Igk−1や。はインバータ75を介して3ステートゲートの反転入力へ与えられ、かっ3ステートゲート76の制御入力へ直接与えられる。ビットC+++−14は3ステートゲート76の第2の反転入力に接続される。したがって、ビットB jI&−+++が“0”であると3ステートゲート76はビットB1゜−2+1を送信するように制御される。
しかしながら、ビットB fib−141が“l”であると3ステートゲート76は“ビである場合に仮数部がcarryoutを有することを示すビットC1m−14を送信するように割織される。
引数の指数部の次の精度群に対しては仮数部Carryoutを与えるだけでよく、それはビットB1□−2+1“l”を存するこの群だけである。
セクションからセクションへの桁上げの伝播は指数部の次の精度群に対しては阻止される。したがって、ピッFB+ab−141はANDゲート77の反転入力に接続されその他方の反転入力には反転信号G0.か与えられ、したがってB 1mb−141が“0″である場合だけ信号G1.が送信される。ビットB Ia&−i++はANDゲート78の反転入力にも接続されその第2の反転入力には反転信号P。
が与えられ第3の反転入力にはビットC1m−1が与えられ、したがってB 1mb−II+が“0”でCI++1が“0”である場合だけ信号P、が送信される。ORゲート79の入力はANDゲート77.78の出力に接続され一方のANDゲートが出力“1″を有する時に出力“I”が出される。
各加算器スライスASKの実施例を第31C図に示す。
入力alk+b+*は各EXCLUSIVE ORゲート80の入力へ与えられ入力が互いに異なる場合には“1”が与えられさもなくば“O′が与えられる。
EXCLLtSIVE ORゲート80の出力は第2 (7)EXCLUStVE ORゲート81の第1入力へ与えられ他方の入力にはビットC1m−1mが与えられる。EXCLLtSIVE ORゲート81の出力はその入力が異なる場合のみ“1”であり、次の先行加算器スライスからの桁上げビットもしくは、加算器スライスがセクションの最初である場合には、次の先行部からの桁上げビットに留意して出力5UIII +hが出される。
ビットalkおよびb 1mは反転出力を存するORゲート82の入力へ与えられ、それは3つの各ANDゲート83.84.85の第1の反転入力に接続されている。反転ビットC1い11本はANDゲート83の第2の反転入力へ与えられ、いずれかのビットa+heb+hが“l”であればビットC1m−1kが送信される。次に先行する加算器スライスからの反転ビットPim−1に本はANDゲート84の第2の反転入力へ与えられいずれかのビットalk+blkが“1′であればPlm−1にであるビットP 6m1−1kが与えられる。反転ビットG I++−+1零はANDゲート85の第2の反転入力へ与えられいずれかのビットalk+b lkが“l”であればビットG Is−□が与えられる。第31B図から明らかなように、各精度部内の各第1加算スライスASIに対してビットP1mllkおよびビットGl、、−□はそれぞれ“l”および0”である。
ビットP、およびG emはリップルキャリーを実現する、すなわち加算器を高速とする、ために必要とされる。キャリーチェーンの入力に個別値があるという事実により、全ての精度群が並列計算される、すなわち全ての精度群に対して同時に計算される。加算からの最終桁上げC8はりップルキャリーの無い32ゲート遅延に較べて4+8のゲート遅延しかない。
81に、b +hビットは反転出力を育するANDゲート88の入力にも与えられ、それは2つのORゲート86゜87の各々の第1反転入力に接続されている。ANDゲート83の出力はCゆ、−0を出力するORゲート86の第2の入力にも接続されている。ANDゲート85の出力はG awl−1kを出力するORゲートの第2人力にも接続される。
非常に高速のキャリーチェーンを提供するために、ビットスライスがリップル発生の極性を反転させていて伝播ビットが反転しておれば遅延は一つとすることができる。したがって、このような場合には第2の精度群細は反転入力を存している(図示せず)。
第31A図の左側からお判りのように、最上位精度部GOは他の部分とは幾分具っている。それは入力引数B 、b−0を使用しない。それは群内で“0”であると考えられる。替りに、それは仮数部桁上げ入力C15−mを存している。それは符号ビットへの桁上げ入力を発生するのに使用される。出力は指数部からのcarry outを示す特別な1ビツトを有している。B、、、−0が“0”、すなわち偽、と考えられる点を除けば正規のcarry outは正規の群のように発生される。
1ビット信号cs、、cs、、cs□は次のビットパターンを存することができる、整数を意味する(C51゜cst 、Cst )” (偽、偽、偽)、aおよびbが正規コードを存することを意味する( C51+ C5!+ C51) =(偽、偽、真)、aが変更コードを有しbが正規コードを存することを意味する(C5+ 、C5z 、C5! )=(真、偽、偽)、aが正規コードを有しbが変更コードを存することを意味する(C51、C5t、C5s )=(真、真、真)。
インフレメンタインフレメンタの構成は加算器の構成に非常に類似している。第32図にインフレメンタ内の精度部の実施例を示す。インフレメンタは(図示せぬ)1人力a’Lかない。一方から他方へ転送されるジュネレータビットG、を持っていない点でインクレメントビットスライスASI’〜AS4’は加算器ビットスライスとは異っている。スライスAS4’からの反転出力P、と次に先行する部分からの反転桁上げCI m は2つの反転入力を有するANDゲート90の2つの反転入力の各々へ与えられる。線上の第1部G7への“l”であるcarry in Cr。
は増分を行うべきことを示している。ANDゲート90の出力およびビットB 1mb−141は各ORゲート92の入力へ与えられ次の部分へ出力桁上げC01、が与えられる。
インフレメンタの桁上げ出力は加算器と同様に与えられる。リップルキャリーチェーンC、、/C、、、は和が2以上であるかどうかを示す。リップルキャリーチェーンP、′は和が1以上であるかどうかを示す。
加算器としてのインフレメンタはBlmb−1,1信号により制御されるman t 1ssa−carry−ou tバスC1を有している。
制御ビットC1gもしくはC2gは表現が整数であるか浮動小数点値であるかを示している。制御ビットC1g’iC2gは非使用時にmantissa−carry−outバスを規定値に設定する3ステートゲートを1lllllする(図示せず)。
デクレメンタもインフレメンタと同じ構成であるが、インフレメンタスライスASI’〜AS4’に対応する、そのデクレメンタスライスへの反転入力a’4m”を襄している。
セレクタオペランドユニット内のセレクタは一般的に送信ゲートのローにより構成される。セレクタは常に規定出力を有している。それは制御語リストおよび引数としての値入力を育している。1つを除いて全てがオフである。各入力の制御は相補信号である。全体セレクタはこのような要素のリストにより制御される。それらは規定ボートから入力を取り込むために異なる状態で制御される。基本的なセレクタピットスライスの実施例を第33図に示す。セレクタS lea + S Iab + S Inc + S ladへの各入力ボートの1つのビットはそれぞれ可制純スイッチS、。
Sb、S、、S、の入力に接続されている。各スイッチにはそれぞれ一対の制御線S car S tkr S ccr S edが設けられている。。所属するスイッチへ入力を送信する制御対は情報“1.0”を有し、他は情報“0.1″を存している。
ニューメリックALU内の大多数の回路は加算器について前記した原理に従って構成されており当業者ならばこれらの原理を使用して残りの回路を容易に構成できるものと思われる。したがって、個々の回路を詳細に説明する必要はないと思われる。
ニューメリックALU制御回路27の説明第28図に示すニューメリックALU制御回路27は極めて複雑な構成のプールゲートアレイである。情報信号に関する制御信号の構成に関するアルゴリズムが全て提供されるコンピュータにより構成の計算か行われるため、実施例を示すことはできない。プールゲートアレイは本発明にしたがって全ニューメリックALUに対するチップマスクパターンを構成するようにされたコンピュータからチップマスクパターンとして直接与えられる。
制卸回路27に対する入出力間の関係リストが整数乗算の場合について付録2に与えられている。
付録2は整数の乗算を実行する際のALU駆動回路27に対する入出力間の関係を示している。
付録はさまざまな“制御例′に分割されている。各制御例は1人力、すなわち1マイクロ命令、に対応している。
“マイクロ命令線”のタイトルの下に載っているALU駆動回路27の出力はバスCl−C5の信号レベルである。バスCI、C2,C3は小さいバスC11゜Ctz、Cxx等へ分割される。したがって、タイトル“制御例1”の下に“状態、センス線−条件4”として記載されている入力により下方のタイトル“マイクロ命令線”の下に記載された出力が得られる。上方の条件1゜2および3に記載された入力により条件4と同じ出力が得られる。
各条件は同じ状態線上の信号レベル(0/1)のある組合せにより定義され、他の状態線は未定義値(X=don’t care)とすることができる。
C(L 11m1t lおよびCO−11m1t 2を除き、付録に記載された入力信号は全て第28図でマークか付されている。
第28図では、CO−C0−1i 1信号は2つの成分B eo−maxi、 B C0−m1m1に分割されている。
C(L 11m1t 2信号も2成分B Co−m5!2.8 Co−ml atに分割される。
出力A、ア、ア、は回路27への全入力の単なるコピーにすぎない。出力A、ア、ア、はコントロールユニット6に接続される。
1次プロセッサもしくはいくつかのニューメリックALU内部ユニットのコアセル内の主レジスタから命令operand/mul−quotientもしくはpolynomeとして値を与えることができる。バス上の残りのビット列の表現種別に関する情報は命令バス内の情報により与えたりコードフィールド内に与えることができる。
ボートリダクションプロセッサにはプロセッサに対してデータを入出力する1つもしくはいくつかのボートを設けることができる。各ボートはプロセッサが外部環境と通信を行うためのユニットである。好ましくは、ボートはオブジェクト記憶装置l内の変換インターフェイス7に接続されている(第1図参照)。しかしながら、幾分修正を行ってデータ転送手段4に接続することもできる。好ましくは機能が同じでオブジェクト記憶セル10(第2図参照)とコンパチブルな4つの記憶セルを含んでいるため、ボートはオブジェクト記憶装置の延長と考えることかてきる。ボートは単一化により入出力操作を行う。
内部動作オブジェクト記憶装置は各ボートにつき一つずつのプロセッサの内部動作を提供する。動作は時間構造の意味付けであり、閉包構造で表現することができる。時間構造は値の無端時間シーケンスにより構成されるプロセスの状態と考えられる。
外部動作ボートへの入力信号はプロセッサ外部のセンサやデバイスから、すなわち実世界環境内で、与えられる。ボートは到来信号をオブジェクト記憶フォーマットに適合されたデジタルフォーマット、すなわち閉包表現、へ変換する。この閉包表現はプロセッサの内部動作に匹敵する時間構造、すなわち動作、である。したがって、プロセッサの観点からこの時間構造は外部動作とみなすことができる。
ボートを介した入出力は両側に設けたプロセッサの単一化、すなわちプロセッサ内の内部動作および周囲の外部動作、により行われる。内部動作および外部動作は同様にモデル化され、それにより非常にニレガントな動作方法となりリアルタイム動作を行うのに極めて適したプロセッサとなる。
外部動作の例、すなわち時間シーケンス、を第34図に示す。第34図からお判りのように、サンプルされる信号のシーケンスは時間と共に変化することがある、すなわちサンプリング期間か異なることかある。ここでは、信号シーケンスは要素対リストとして提供されている。
各対には持続時間およびその時間中の信号品質が含まれている。信号品質にはqiのマークが付され持続時間にはtiのマークが付され、iは1〜6の数である。
インターフェイス好ましいインターフェイスは次の品質を持たなければならない。
1、 ある時間に信号が測定される。測定された信号は次の測定まで一定とみなされる。
2、 時間はボートにより決定される固定サイクルもしくは機械内のプログラムにより決定される固定サイクルもしくはプログラムや外部クロック信号により決定されるある間隔で与えられる。
3、測定された信号はデジタル形式で機械へ与えられる。
4、 デジタル化された信号はプール式であるかもしくは整数あるいは浮動小数点値を示すことができるデジタル形式へコード化される。
本発明によるプロセッサは従来のプロセッサのように値の挿入や出力は行わない。本発明のプロセッサでは、ボートはプロセッサ内のプログラムとプロセッサ周辺間のインターフェイスとみなされる。プログラムは活性オブジェクト記憶装置に記憶され内部動作を生成する。
プログラムの実行はプロセッサ内のプログラムと周辺とが共にインターフェイスにおいてイベントの同じリアルタイム経過を見ることに基いている。
プロセッサに対する入出力は単一化により行われる。
これは持続時間および各期間内の値がボートの両側で同じとされることを意味する。
プログラムは例えば全ての可能値を指示する$等の特定記号を使用して特定持続時間を指定したり未指定持続時間を残すことができる。
正しいプログラムは単一化操作後に残される択一的動作の一方だけを存することができ、この動作は問題とするボートの動作と一致しなければならない。択一的内部動作のいずれも問題とするボートにおける実世界環境に対応しない場合には、単一化操作の結果としてnothingが与えられ、それは矛盾を表わすためプログラミングエラーとみなされる。単一化操作後に2つ以上の択一的動作が残っている場合もプログラミングエラーとみなされる。
入出力間隔はプログラム内でduringt vの形式で記述され、tは持続時間でありVは信号品質である。
内部動作により信号品質とも呼ばれる特定信号値が指定されると、この特定信号値は周辺へ出力される。内部動作により未指定信号値が残されると、周辺から特定信号値が入力される。
内部動作によりある間隔内の特定持続時間が指定されると周辺により任意長の持続時間が承認される。内部動作により未指定持続時間か残されると、周辺により持続時間か決定される。
ボートの実施例入力および/もしくは出力ボートの実施例を第35図に示す。ボートはバス構成りUにより変換インターフェイス7に接続されている。ボートはそれが接続される1次プロセッサの中実装置6に接続され、それにより制御される。ボートにはそれを指示する識別子レジスタP IDが含まれている。レジスタPIDに記憶された識別子はオブジェクト記憶装置内の識別子として使用することができる、すなわちボートをオブジェクト記憶装置内のセル閉包へ連係するのに使用することができる。この識別子はプロセッサの内部でしか使用されない。ボートにはレジスタP +oと同様に使用できる識別子レジスタCEIDも含まれている。ボートには各々がオブジェクト記憶装置内の記憶セルのように作用するいくつかの記憶セルCE DLlp CE LAaT+ CE nzxtも含まれている。
各記憶セルは例えば、during、持続時間、および信号品質等の少くとも3つの閉包要素を記憶する少くとも3つの記憶フィールドを有する閉包を記憶することができる。
少くとも後の2つの閉包要素は値/呼出し塁の記憶フィールドに記憶することができる。during式をTYPEフィールドに与えることができる。ボートは常にduring動作を行うためこのTYPEフィールドは省くことができる。
しかしながら、第35図の実施例ではduringは所定の関数名(duringコード)と共に型フィールド内に配置されたapply(’ @ )型の形式とされる。’appty型に属する(+−*/)等の全ての関数名に関して、関数名はボート記憶セル内の第1の値/呼出しフィールドに記憶される。duringコードは関数定義を指示する識別子とすることかでき、オブジェクト記憶装置に記憶される。
値/呼出しフィールドには識別子idも記憶することができる。この識別子によりボート構造がオブジェクト記憶装置内のduring構造と連係される。
識別子を含むフィールドが必要ない場合には、実際には3つの値/呼出しフィールドだけでよい。しかしながら、ボートレジスタをプロセッサ内の他の記憶セルとコンパチブルにするためにunusedとマークした第4の値/呼出しフィールドに設けることができる。しかしながら、VALUE lN10UT用の特別なデバイスを第4の値/呼出しレジスタに接続することもできる。これにより一部の値、すなわち持続時間および2種の信号品質、に対するボートとされる。
したがって。ボート内の各記憶セルは属性フィールドも有している。記憶セルCE、u、CE−、ア+CEsxxアはバスW@+ * Wz+ WvIp WvIp vlll WvIp WvIpW、と相互接続することができ、各バスは例えば38線を有し各レジスタ内のビットセルにビットワイズに接続されている。インデクス■はレジスタのduringコードフィールドに接続可能なバスを指示し、インデクスTはレジスタの持続時間値/呼出しフィールドに接続可能なバスを指示し、インデクスVはレジスタの信号品質値/呼出しフィールドに接続可能なバスを指示し、インデクスEはレジスタの特別値/呼出しフィールドに接続可能なバスを指示する。インデクス2は周辺に向って接続されたバスを指示し、インデクス1は変換インターフェイス7に接続されたバスを指示する。
ボート実施例の記憶セルは次の先行閉包、実閉包、次の閉包、および将来閉包の識別子を記憶する。記憶セルは規定場所を存することができその全内容を互いに転送することができる。レジスタ内の各レジスタセルの適切な構造はコアセル2内のレジスタセルと同じ構造とすることができる(第1O図参照)。
しかしながら、最初に述べた3つのセルをその名前を変えることにより互いに場所の変換ができるように配置することもでき、それは中央コントロールユニット6からの制御により行われる。
同業者ならばコアセルの説明に関して説明した原理を使用して容易に実施できると思われるので、記憶セル間の厳密な配線については詳示しない。コントロールユニット6からの制御については記憶セル間の略示した接続の右へ略示しであるか、コアセルレジスタの場合のようにレジスタセル内の各スイッチへ自然に描かれている。
ボートには異なる数の記憶セル、例えば1個の記憶セル、を設けることができる。
時間カウンタおよび時間コンパレータートは時間カウンタT coustを含んでいる。それは中央コントロールユニット6からのタロツク信号CLOCK、により制御されて時間を測定する。それは外部リセット信号もしくはコントロールユニット6からのリセット信号によりリセットすることができる。時間カウンタT C0IINアは第1のセレクタSEL、に接続され、それは中央コントロールユニット6により制御されて時間カウンタT C0LINTからの出力を記憶セル内の時間記憶フィールドに接続可能なバスWT2に直接接続するかもしくはンパレータT eolIPの出力は外部時間出力である。時間コンパレータの出力はコントロールユニット6にも転送される。
ボートには外部時間出力ボートビンVALUE lN10UTも含まれる。それは出力信号用コンバータC0NVouT、例えばデジタル/アナログコンバータに接続されている。それはまた入力信号用コンバータC0NV、、、例えば入力信号のサンプリングを処理するアナログ/デジタルコンバータにも接続されている。サンプリング時間は時間コンバータT COMFの出力もしくは時間カウンタT coい、へのリセット信号により与えることかできる。記憶セルCE、、、CE、A、ア、 CEIIExyの信号品質レジスタに制御可能に接続可能なバスWV2に接続されたセレクタ5ELtは、中央コントロールユニット6からの制御により、信号品質をボートに送るべきかボートから取り出すべきかを選定する。コントロールユニット6は最初に周辺に接続されるレジスタを含む記憶セル内のレジスタの内容を読み取ってそれに特定記号$が含まれるかどうかを調べるg含まれておれば、周辺からの入力が実施される。特定値が見つかった場合には、周辺への出力か実施される。次に、コントロールユニット6はそれに従ってレジスタに接続されたボートセレクタを制御する。
より複雑なボートを作ることもできる。例えばVALUE lN10UTの信号品質はセレクタSEL、とバスWvt間に接続された信号コンバータSCに記憶された公式により変換することができる。変換関数は各々が異なるクラスの信号品質信号値に対するいくつかの積分とすることができる。
信号品質の出力送出された情報は記憶セルCEDuに与えられる。したがって、セルは次の情報を育し、durjng t vここにtは持続時間でありVは信号品質である。このレジスタ内の信号品質は公知であり送出しなければならない。信号品質は記憶セル内の信号品質レジスタから取り出され、駆動段として作動するセレクタSEL、およびコンバータC0NV、uアヘ送出される。
信号品質の入力記憶セルCEDu内の情報はduring t $であり、ここにtは持続時間であり$は可能な信号品質のいずれかを表わす、すなわちこの式は与えられる任意の信号品質と単一化される。したがって、このレジスタ内の信号品質は未知でありレジスタは信号品質を受信するように準備される。信号品質はボート信号品質入出力から取り出され、A/DコンバータC0NV、、によりデジタル化され、記憶セルCEDuの信号品質レジスタへ送られる。
プロセッサプログラムにより持続時間が設定される。
記憶セルCE、、内の情報はduring t Vであり、ここにtは持続時間でありVは信号品質である。
したがって、持続時間は公知である。時間カウンタT Coいアは持続時間の初めに中央コントロールユニット6によりリセットされる。カウンタTcouNア内で断続的にステップアップされた時間は時間カウンタT。OMFにより記憶セルCEDll内の時間レジスタ内の時間と比較される。これらの時間が同じとなる時に持続時間が終了する。
この持続時間中に記憶セルCELAaTは空とされており記憶セルCENEK?は充填されている。次の期間への遷移時に記憶セルCEI、Uの内容は記憶セルCELA、Tへ移され、記憶セルCE□0内の信号品質は記憶セルcEDuへ移きれる。
周辺により持続時間が設定される。
記憶セルCE、、内の情報はduring $ vであり、ここにVは信号品質であり$は可能な全ての拐続時間のいずれかを表わす、すなわちこの式は与えらゎる任意の持続時間と単一化される。したがって、持続時間は未知であり周辺によりそれが決定される。時間カウンタTco1.INTは持続時間の初めに外部fi1mによりリセットされる。時間カウンタT eouNT内で断続的にステップアップされた時間は記憶セルCED、の時間レジスタへ送られる。周辺から次の外部リセットが与えられると持続時間が終る。
したがって、外部リセット信号によりセレクタSEL、は時間カウンタとの持続を直接もしくは時間カウンタからのO信号により断つように割面される。
この持続時間中に、記憶セルCELA8丁は空とされており記憶セルCEN□1は充填されている。次の期間への遷移時に、記憶セルCE、、の内容は記憶セルcELAjアヘ移され、記憶セルCE 、、、アの内容は記憶セルcEI、l、へ移さボートの動作を示すために小さな例を示す。例えばI7の値の一つおきの決定された信号品質と例えば1秒の決定された全持続時間を有する第1のシーケンスおよびさ 例えば1. 2. 3. 4等の全ての決定された信号品質を育し持続時間が決定されていない第2のシーケンスの異なる2つのシーケンスの一方を検出したいものとする。
使用するボートはport、と呼ばれる。閉包表現は次のよ寺1 ここに、“1llt6rllal behaviour”は全ての代替シーケン寺 ス、すなわち次のような種類の大きなデータ構造、シ 長二It (seq (during(Is 17) during(fs $) during(Isy 17)・・・)f (seq (during ($ 1 ) during ($ 2 ) duringを入力信号シーケンスを前記構造と単一化できる場合に1 は入力は受け入れられ適切なアクションがとられる。受は入れられるシーケンスの一例はl:1s 17) (IS 0)(Is 17)(Is 99)(is 17))4 であり、それは前記内部動作の第1シーケンスと単一化できるシーケンスである。受は入れられるもう1つのシーケ:zス4!(2S I)(4S 2)(Is 3))であり、それは内部動作の第2シーケンスと単一化される。
受は入れられないシーケンスの例は(Is 2)・・・)であり、それは例えば2等の信号品質は内部動作の2つのシーケンスに与えられる信号品質と単一化できないためである。
外部世界との通信信号か定義されているかどうかもしくは内部値が定義されているかどうか($値を有しているか)に応じてプロセッサに対して値を送受するようにボートを構成する工夫はプロセッサを前記単純な入力ボートおよび出力ポートシステムに限定しないことである。したがって、プロセッサに対してボートの書込みおよび読出しを交互に行うプログラムを書くことができる。−例は次のようなプログラムであり、unify (port ’1nternal behaviour” )次のような内部動作を有している。
alt (seq (during fs 1) Cduring Is 1) (during(IS2) (during Is 4)(seq (during Is 1) (during Is 1) (during(IS3) (during Is 9)(seq (during Is 2) (during Is 4) (during(Isl) (during Is 1)(seq (during Is 3) (during Is 9) (during(IS2) (during Is 4)等すなわち(seq (during 1nput) (during output) (duringinput) (during output)この内部動作において、周辺が値を与えプロセッサは次の期間中にその2乗を送出して返答する。この方法によりデータを簡単に流す方法が完全に制卸される。
入力値か単一化されない、すなわちプロセッサ内の対応する値と同じにできない、とすぐに結果はnothingとなる。これはalt操作まで伝播されalt工式から全ての技が削除される。
前記内部動作表現は入力シーケンスと同じ長さである。
関数語の全べきを使用して内部動作を表わすより短く極端な方法の断片を次に示し、seq (during Is X)during (Is apply ((lambda(arg)(”arg arg))X)))ここに、during (Is X)は信号品質Xの入力を処理しlambda式を含む他方のduring−structureが2乗入力値の出力を処理する。したがって、前記構造は再帰により2つ以上の入出力対を処理できるより一般的な構造の一部とすることができる。ここでlambda式は2乗関数の定義に使用される。
Hボート前記入出力ボートの説明はauring−structure以外のデータ構造の入出力を処理できるように一般化することができる。この場合、持続時間および信号品質を単一化することにより内部動作と外部動作を単一化する替りに、ビットパターンの単一化を実施することができる。到来信号はデジタルとすることができる。さらに、到来信号はデータ構造もしくはH言語プログラム等のプログラム構造を表わすことができる。例えば、ボートの記憶セル内の記憶セルフイールドはボートの入力のビットパターンと単一化することができる。
例:内部構造apply(X I X 2 )を入力のビットパターンと単一化させて単一化された最終内部構造が第8A図および第8B図に示す構造であるapply(+ 1ist(12))を読み取るようにすることかできる。ここに、XIおよびX2は“任意ビットパターン”を表わす。Xlは“+”に対する命令フードを表わすビットパターンと単一化されX2は“1ist(12)”を表わすビットパターンと単一化される。
H言語コードを受け入れるHボートを介して、オブジェクト記憶装置へプログラムをロードすることができる。
Hボートはプロセッサ間で使用することもでき、それによりプログラムもしくはデータもしくは両方を転送できるようにすることができる。転送されたプログラムコードは最初にデータとしてマークして即時実行を防止することができる。
1次リダクションプロセッサ(FOR)要約すると、リダクションプロセッサは特定の非シーケンシャルな構造を有するプログラムにより制御され、さまざまな種類のツリー構造リダクションを含むいくつかのりダクションステップで前記構造を簡約化する。1次プロセッサのオブジェクト記憶袋fllは各々が情報を記憶できる複数個の記憶セルlOを含み、それによりリダクションを開始することができる。通信ネット、メモリバス構成が中央コントロールユニット6により制御される閉包ヘッドと共に各リダクション結果を全ての記憶セルへ通信する。
通信ネットは制御線およびデータ線を有するバス構成であり、全ての線が前記各記憶セルに接続されている。
中央コントロールユニット6は全ての記憶セルに対して共通である。どのリダクションを実施ししたがってどの制御語を発生すべきかの情報を中央コントロールユニット6へ与えるのは記憶セルlO内の情報である。好ましくは中央コントロールユニット6はプールゲートアレイであるため、記憶セル内の情報はその制御回路内の多くの制御点へ与えられるハイおよびロー電圧からなる複雑な出力を与える複雑な構成内のANDおよびORゲートの入力へ与えられるハイおよびロー電圧形式とされる。
したがって、オブジェクト記憶装置およびコアセル内の各記憶セルがりダクション操作を実施するのに必要な全ての情報を記憶することができる。リダクシコン情報には他のいくつかの記憶セルに対する参照を含めることもできる。実行が完了すると、すなわちできる限り構造が簡約化されると、結果は標準(canonic)式となる。標準式が1個の記憶セル内に記憶できるものよりも大きいと、残りの式か記憶されている他の記憶セルが参照される。実施例に対する一例は5要素を有するリストであり、オブジェクト記憶装置tに記憶するには2個の記憶セルを必要とする。
コアセルはあらゆる種類のりダクションを実施することができる。コアセル数はlには限定されず、実施例には示されていないが数個のコアセルを設けることができる。オブジェクト記憶装置内の記憶セルは数種のりダクションの限定部しか実施できない。
完全な閉包ツリー形状の完全構造もしくは閉包フリーの部分形状の部分構造と並列に作動する数個のコアセルを設けることができる。いくつかのりダクション結果はりダクション順序とは無関係であるため、重畳する文脈内でさまざまなコアセルを作動させることができる。一般的に、データの完全性を保証するのに特別なことを行う必要はなく、本発明のりダクションプロセッサの作動により自動的に保証される。例えば、2つのコアセルにより2つの同じ閉包ツリ一部が簡約化される場合には1通信ネットはオブジェクト記憶セルの中から選択されたセルから通信ネットにより選定されるセルの1つへ、また選定セルから通信セルにより選定される1つもしくはいくつかのオブジェクト記憶装置へも情報を送信するようにされている。
通信ネットは受信機の内容を送信機の内容と置換することによりコアセルと任意の記憶セル間で転送動作を行う。関連セルの内容をスワップすることにより2方向転送が行われる。記憶セルに記憶される各セルはツリー構造の位置、識別子、環境および他の記憶セルへの値や呼出しのツリーの実行可能性の外延(denotation)を含んでいる。
多階層閉包に含まれる値ツリーには葉要素すなわち終端要素と合成要素が含まれ、各合成要素は値の型とリストを含んでいる。閉包内の実行可能性の外延は少くとも2状態を存し、1つはアイドル状態でありもう1つは実行状態である。閉包内の位置の外延は少くとも2状態を育し、1つは節点位置でありもう1つは根位置である。
少くともいくつかの閉包外延は異なる状態で表現され、各状態は2進コードを表わす数ビットにより構成される。
セル閉包内の各値/呼出し要素はタグ語および真もしくは偽である数ビットにより構成されるビットパターンであるnum語により構成される。タグは間接クラスと直接クラスへ分割される。nuIn語は例えば整数もしくは浮動小数点値とすることができる。整数は全ての値が表現可能な最低値から最高値まで一連の数で表現され、各般が数ビツト値を含みOは最上位ビットが2進真値を有し残りのビットが2進偽値を有する2進数として一連の数の中間に表現される。表現とも呼ばれる2進化フオーマツトで要素内に記憶される。浮動小数点数は符号、指数部符号およびコードフィールド、指数部フィールドおよび仮数部フィールドを含み、前記符号、指数部符号およびコードフィールドは前記指数部フィールドと前記仮数部フィールドとの間の分割位置に表示を有し、指数部および仮数部が可変長を有するように2進化された、表現とも呼ばれる、フォーマットで要素内に記憶される。
したがって、本奪明によるプロセッサは前記数値を稠密表現、すなわち値のコード化された各表現が1つの解釈値だけに対応する、とするコーディングを使用する。
第1種のコーディングは整数表現を表わす2進語に使用される。第2種のコーディングは浮動小数点表現を表わす2進語に使用される。コーディングの後で浮動小数点表現は整数表現と同順で与えられる。浮動小数点値の仮数部に対する紐フィールドの前に仮想“l”、すなわち物理的に表現にはない“I”、を含めることにより稠密表現が得られる。数値表現は各々が所定数のビットと、表現が浮動小数点値を表わす場合の、2つの精度群間の表現の指数部と仮数部間の分割を有する、精度群とも呼ばれるビット群へ分割される。
2次リダクションプロセッサ(SoP)第36図に示すように、いくつかの1次プロセッサFOP 1−FOPNをネットワークNETにより互いに接続することができ、接合された1次プロセッサは2次リダクションプロセッサを表わす。
ネットワークNETへの接続は各1次プロセッサFOP+、iは1〜Nの整数、内の第1図に手段4として示すデータ転送手段として提供することができる。第1図のデータ転送手段は一列のレジスタRId+ Rssv +Rve+ Rv*+ Rvsを含んでいる。各ネットワークレジスタはその指標で示す垂直バス線に接続されている。ネットワークレジスタは並列に実行するように接続されたコアセルを含むオブジェクト記憶装置がいくつかある場合に使用される。これら全てのオブジェクト記憶装置に対する通信はネットワークレジスタを介して行われる。
理論上、1次リダクションプロセッサは全てシステムの全域である同じ情報Mを共存している。全ての1次リダクションプロセッサの合併(union)はシステム領域Mに等しくする必要がある。しかしながら各1次プロセッサがそれ自身のオブジェクト記憶装置に記憶された情報を処理している。これは2つ以上のプロセッサで1つの閉包が見つかることを意味する。各プロセッサはどの1次プロセッサに閉包が記憶されるかを追跡し続けることができる。いくつかのオブジェクト記憶装置で見つかる1つの閉包は同じであり、これはりダクシミン機構により保証される。
閉包ネットは閉包およびその父を含んでいる。プロセッサ間で閉包を移動させることにより閉包ネットを移動させることができる。しかしながら、通信を最少限とするには1つもしくは2〜3のプロセッサ内に意味的に関連する閉包を集めることが望ましい。通信プロトコルはプロセッサ間で他に通信要求が無い時間中に閉包の移動を行うようなものとされる。さまざまなプロセッサで閉包ツリーを並列に簡約化することができる。これらの動作に同期化は必要ない。したがって、閉包ツリ一部のリダクションはさまざまな時間に実施することかできる。
実行時に無関係にリダクション結果が同じであるためエラーは生じない。
当然、他のプロセッサ内に同じコピーを有する閉包のリダクションが並列プロセッサFOP 1−FOPHの1つだけのFOPI(1は1〜Nの整数)で行われることがあり、プロセッサ資源を浪費しないようにリダクション結果はできるだけ早くネットワークNETに接続された他の全てのプロセッサへ配分される。しかしながら、通常はさまざまな1次プロセッサで並列リダクションを実施することがより適切で時間経済的である。例えば、接続されたいくつかの1次プロセッサによりネットワークNETを一時的に占育しその間に並列リダクションが行われる。
実際に設けられるネットワークNETは発明の一部とはみなされず詳細説明は行わない。しかしながら、次にさまざまな種類のネットワークについて説明を行う。さまざまな種類のルーティングおよび接続戦略を使用できる多(の種類の通信ネットワークがある。ネットワークNETはシングルもしくはダブルリンクを有するリングネットワーク、スターネットワーク、完全接続ネットワーク等とすることができる。
1次プロセッサFOP 1−FOPH間の配線が大きくなり過ぎないようにするために、その間のデータ転送はシリアルバスを介してシリアルに行うことができる。好ましくは、データ転送は分散制御により行われる。したがって、以降FOPと呼ぶ1次プロセッサの全部を制御する中央制御装置が使用されるのではない。1つのFOPか特定バスDEMを介したネットワークNETへのアクセスを要求しており他のFOP、は受信位置にある。しかしながら、アクセス要求信号の転送は独立バス以外の方法で行うことができ、例えば我々の特許出願第号に記載されたバス構成を介して転送されるアイドリング信号が使用される。1次プロセッサ間のデータはFOP内でリグクシ3ン動作が行われる間に転送してFOP内の転送手段内のレジスタに記憶することができる。シリアルデータ転送により、データ転送手段内のレジスタセルはFOPの中央コントロールユニットにより逐次f/11理される。
FOP間の同期化は各FOP内で互いにクロック信0号を同期化させて行われる。このような同期化は従来技術で広く行われており、これ以上の説明は行わない。
しかしながら、(図示せず)2次中央コントロールユニットを設けてFOP、間の通信を制御することができる。このコントロールユニットは全ての1次プロセッサ内のセントラルコントロールユニットと通信を行うプールゲートアレイとすることができる。しかしながら、このような2次コントロールユニットを持つことは好ましいことではない。
FOP、間のデータ転送は任意とすることができる本発明による非常に一般的な2次リダクションプロセッサを第36図に示す。
2次すダクシ3ンプロセッサ(SOP)の−例FOP、間の分散データ転送tixmに特に適した第37図に示す2次プロセッサの特定例において、いくつかのFOP−、FOP’ +、+ −FOP’ M、−、を方形フィールドへ接合することができる。前記方形フィールド内の各FOPは方形フィールド内の各近傍1次リダクションプロセッサへ行くデータ転送チャネルCANを含んでいる。第37B図に示すように、各転送チャネルCANおよびFOPに接続された各ボートに対して別々のデータ転送手段DTFI−DTF4を設けることができる。これにより、FOPからいくつかの他のFOP、へ同時ニデータを転送することができる。
第37A図に示すような構造では、各FOPは好ましくはそれぞれ別のチャネルを介してせいぜい4つの近傍FOP、と通信しているにすぎない。互いに通信を行う各対のデータ転送手段間には簡単なコントロールバスしか必要とせず、それには通信要求時にフラグがセットされてそのデータ転送手段DTP、に転送データを受信する準備のできている他方のFOPが設定される。
閉包ネットおよびFOP領域閉包はさまざまなFOP、へ割り付けられる。前記したように、セル閉包は機械識別子、例えば#5により指示される。セル閉包はそれを他のセル閉包と連係させる間接要素、識別子を含むことができる。全ての閉包はある閉包に関連する識別子を含みこのある閉包が閉包ネットを形成する、すなわちそれは閉包とその父を含んでいる。閉包ネットはFOP、の定義領域に配置される。代表的に領域は第37A図において連続線で包囲された領域REGのような方形FOP、である。したがって、この領域には識別子#5を有する全ての閉包が含まれる。
しかしながら、識別子要素#5を有する閉包が連係されている識別子#5を有するセル閉包はFOP、内の識別子#5領域の外側に設けられた#2および#9等の識別子要素を含むことができる。領域については第37C図に関してさらに後記する。
領域を存する1つの理由は連想探索および置換を制約できる、すなわち簡約化された閉包の父の更新を実施するのにFOP、の全でのオブジェクト記憶装置の中の2〜3個だけを提案すればよい一領域内のFOP、に属するオブジェクト記憶装置だけを探索すればよいように制約されるためである。
外部世界との通信2次プロセッサに対してデータの入出力を行ういくつかのボーt−PORTが好ましくはFOP、の方形フィールドの少くとも1つの縁に沿って設けられている。各ボートはプロセッサの外部環境との通信を行うユニットである。使用するボートは前記したような単一化により入出力操作を行うようなものとすることができる。
H言語コードを受け入れるもう1つのボート、Hボート、を介してFOP、内のオブジェクト記憶装置へプログラムをロードすることができる。Hボートはプロセッサ間で使用することもでき、それによりプロセッサ間でプログラムやデータもしくはその両方を転送することができる。
ASCIIテキストの入力に対するもう一種のボートを設けることもでき、それにより本発明のりダクションプロセッサはASCIIテキストを送受信できるデバイス、例えば従来のコンピュータ、と通信することができる。この種のボートは本発明の一部ではないため詳細説明は行わない。
ソフトおよびバードリングバードリングは“ハードワイヤド”通信バス、すなわちハードウェアで確立されたパスである。ソフトリングは“ソフトワイヤド1通信バス、すなわち抽象レベルで確立されたパスであり時間と共に変化する。当然、ソフトリングは実際の計算ではハードウェアを使用する。例えば識別子#5を有するような特定閉包ネットを含む各プロセッサを包含するパスはソフトリングと呼ばれる。
閉包ネットに対する各領域は全プロセッサの部分集合である。閉包ネット、すなわち閉包とその父、はその領域内で見つかる。目標はプロセッサ間の通信量を制限するために各閉包ネットに対する領域をできるだけ小さくすることである。
抽出ソフトリング第37D図に小さな水平線でマークしたオブジェクト記憶装置内のさまざまな場所に記憶された閉包識別子ID、、、を存する第37A図のいくつかのFOP、により第37D図に示すように領域を構成することができる。
この閉包を置換する場合には、識別子ID、、、を存するFOP、を含むソフトリングWWW、を介してこの閉包識別子(父)を存する全てのFOP、を更新しなければならない。ソフトリングWWW、のサイズは実現に依存する。第37D図に示す実施例では、実際の閉包ネットを含むFOP、を接続するソフトリングは蛇行している。
正確なソフトリングはさまざまな閉包ネットに対して異閉包ネットとそのソフトリングが同じFOPをカバーする前記正確なソフトリングの代替策は包含する閉包ネットと厳密に対応する必要のないFOPを含むソフトリングを有することである。また、ソフトリングは領域内の各FOPを含むことができる。第37E図に領域を示し、それは識別子ID、、、により形成される閉包の領域内の各FOPに対して更新メツセージが送られる。すなわちソフトリングWWW、は領域内に各FOPを含んでいることを示している。正確なソフトリング(WWW、)を使用する場合よりもブックキーピング(オーバーヘッド)量が少いため領域ソフトリング(WWW! )は好ましい。特定領域に対する領域ソフトリングは領域内の各閉包ネットに対して同じである。
領域ネットワークの基本形式はリングとバスである。
リングはループに1回値を送ることができる。このような操作中にバスと同じセマンティックが1サイクル実施される。
リングを介して、閉包のいくつかのりダクションを同時に送出することかできる。メツセージはリングを1ラウンド通過すると捨てられる。
2次リダクションプロセッサの第2の実施例第38図に示す第2の実施例では、いくつかのFOPが階層ネットワークとして接続されており、各ネットワークはバスNET、〜NET、である。第37A図の実施例との主な違いは第37A図では1つのFOPがデータ転送チャネルを介して最大4つまでの他のFOPと接続されているが、第38図ではいくつかのFOP、をバス通信構成を介して互いに接続することができる。しかしながら2つ以上が他の1つもしくはいくつかに対してデータ転送を要求している場合にはFOF間に優先順位を設定するために各バスに(図示せぬ)簡単な優先順位デコーダを設けることにより分散制御を行うことかできる。この優先順位デコーダは第2図および第3@の優先順位デコーダ11である第21A図および第21B図に示すものと同じ構成とすることができる。
iつのFOPでリダクションが行われると、簡約化さト れた閉包の父を更新する必要かある。リダクションを行ったFOPは問題とする閉包ネットの領域に属するバス、すなわちバスNETI〜NET、の部分集合、に更新メ謝 ツセージを出す。この更新メツセージを存するバスに接5 続された全てのFOPは閉包の一部を含むかどうかを調べ、含んでおればその部分が更新/書換えされる。バスl にリダクションが出されるとローカルFOPでは単一化として表示される。いくつかのFOPが同時にリダクションを行うため通信プロトコルに従って更新メツセージを多重化することかできる。結果はりダクション順序とは無関係であるためバス通信順序は必要ではない。一時に1本のバスだけが送信FOPを存することを保証するために従来技術において一般的な通信プロトコルを使用することができる。
ポートPORT* 、PORT*+、PORT*tはバス間のそれぞれ選定NET、、NET、に接続することができる。図示するように、いくつかのポートを同じバスP ORT sr、P ORT **に接続することかできる。
2次リダクションプロセッサの第3の実施例第39図に示す第3の実施例に従って、いくつかのFOF FOP’がネットワークの階層として接続されており、各ネットワークはハードリングRINGI〜RING4すなわち関与するFOPが互いに固定接続されたリングとされている。1つの領域が1つもしくはいくつかのリングをカバーすることができる。好ましくは、ソフトリングはハードリングと一致している。
多重SOPの組合せ第40図に示すように、第37A図、第38図および第39図に示す実施例を組合せていくつかの2次すダクシ3ンプロセッサを少くとも2種のネットワークを有するネットワークの階層構成に接続することができ、I!1種はバスネットワークBUSNETであり、第2種はリングネットワークRINGNETであり第3種は方形ネットワーク5QUARENETである。
したがって、本発明による2次機械はリングおよび/もしくはバスとして提供されるネットワークを有することができる。この機械では、閉包部分木が簡約化されていると、簡約化された息子の父に息子が簡約化されていることを知らせなければならない。息子とその父がうま<FOPのリングもしくはバスに接続されたFOF内に配置されていれば、息子のりダクションに関する情報はそれぞれそのリングもしくはバスを介して送出するだけでよい。したかって、好ましくは機械のプロトコルは父を表わす閉包がFOF間で移動されてその息子からうまくアクセスできるよう配置されるようにされる、すなわち好ましくは閉包ネットの全部分を小領域に集めなければならない。
機械プロトコル好ましいプロトコルはポートおよびそれらに割り付けられた目的のリストを確立する構成部を存している。本発明によるプロセッサへのポートは、■次ブロセ、ソサであれ、2次プロセッサであれ高次のプロセッサであれ、全てプロセッサの応用のある部分へ割り付けなければならない。
好ましいプロトコルにはポート構成部と、FOPへ目標を割り付ける部分と、リダクション演算を実現する部分と、任意の長いリストを実現する部分と、任意の長いビットフィールド値を実現する部分が含まれる。プロトコルのこれらの部分はハードウェアで提供することができる。FOF内でクロックの同期化を開始するのはプロトコルである。好ましくは、これはクロックを同期化させるだけの短いある時間間隔で行われる。
動作は閉包として表現される。割付手順はプロトコルのある部分によりfg御される。他の正規リダクションセション間で頻繁に閉包の割付けおよび再割付けを行うことができる。任意のFOPが閉包を移動させて他のFOPに転送すべき閉包を記憶するかをたずねる指示を与えることができる。
閉包を移動する時には、すなわちFOF内のオブジェクト記憶装置が満杯である時は、閉包を包むFOPがバスもしくは閉包を他の任意のFOPへ移動できるかどうかについてバス/リングに接続された他のFOPからの返事を要求しているリングへメツセージを発することができる。これら全てのFOPが、そのどれもが閉包を受け入れられないことを意味する。否定返答を返す場合には、閉包は元のFOPに維持される。1つのFOPか肯定応答を行う場合には、このFOPへ閉包が転送される。
いくつかのFOPか肯定応答を行う場合には、優先順位により転送閉包を受け入れる1つのFOPが選定される。
優先順位は例えば最近傍順等の幾何学順とすることかで第37C図に266のFOPを含む拡大方形フィールド2次プロセッサの実施例を示す。FOP間のチャネルおよび2次プロセッサへのボートは図示されていない。
各FOPはサイズ0の領域を表わす。第37C図は方形フィールド2次プロセッサを正規パターンの互いの側に配置されたさまざまなサイズの方形領域へ理論的に(物理的ではなく)分割できることを示している。したがって、各領域は2’ *2” POPのサイズとなる。領域は分離配置される、すなわち重畳しない。しかしながら、プロトコルは領域の行もしくは列もしくは行および列を半領域変位して定義できるようにすることもできる。
プロトコルは領域を追跡し続は簡約化された閉包の探索および置換を行う際にどの領域に父が配置されているかという知識を使用する。これは値/呼出しフィールド内の間接要素、すなわち識別子、に所属する領域のサイズを示すビットパターン部を含ませ領域をある方向に変位すべきかを示すビットパターン部を有して行われる。
変位方向ビットは例えば2とすることができ、一方か“1”であれば右への変位を示し他方か“l”であれば上向き変位を表わす。両方か“1”であれば右へ半ステツプ上向きに半ステツプの変位となる。
息子のりダクションが行わわると、情報は領域内の全てのFOPを含むソフトリング内の父か配置された領域へ送られる。これは領域が非常に大きい場合にはソフトリングか大きくなり簡約化された息子を分散させるのに時間がかかり機械資源が多く使われることを意味する。
したがって、閉包ネット領域を縮小させる、例えばできるだけ小さくするようなプロトコルとされる。したかって息子と父間の距離が大きければ機械プロトコルは父と息子間の距離か短い閉包よりも高い優先順位をこのような閉包の移動に対して設定する。領域縮小操作は無制限に行えるわけではない。例えば、完全にデータで埋ったオブジェクト記憶装置もある。領域縮小操作を行う息子から遠く離れて配置された他の息子を有する父もある。
好ましくは、方形フィールド2次プロセッサプロトコルは意味的に関連のあるデータを小領域へ集中するようにされる。また、特別な種数の処理アクティビティに対しである領域を割付けるためにデータを移動し、これらのアクティビティに関連するデータをそのために割付けられた領域へ向って移動することか望ましい。アクティビティの例は特別な種類の計算とすることができる。アクティビティのもう1つの例は領域によりカバーされる内部動作を有することかできるポートの入出力に関連するアクティビティである。
3次リダクションプロセッサ(TOR)したかって、閉包は本発明による2次リダクションプロセッサ内を動き廻る。しかしながら、リダクションプロセッサは1つの地理的位置にだけ設けなければならないものではない。例えば、同じプロセッサの一方の部分かスエーデンにあり他方の部分がオーストラリアにあることもある。したがって、第41図に示す3次リダクションプロセッサを設けることができ、それはいくつかの2次プロセッサを含んている。5OPI、5OP2゜5OP3が第41図に示されている。SOP 1は方形フィールドSOPおよびバス指向SOPの組合せを含んでいる。
連想アドレス指定対物理的アドレス指定データ送信のコストおよび速度は位置間の距離と共に増大するため、さまざまな地理的位置間の通信量を最少限に抑えることが望ましい。システム内の各ノードが探索に関与しなければならないため、連想探索には遥かに長距離の通信が必要である。長距離通信を最少限に抑えるため、この場合には物理的アドレス指定を採用するのか存利である。ここて、物理的アドレス指定とは物理的位置をアドレスする、すなわち予め受信機が公知である、ことを意味する。結論として、1つのSOPもしくは一部の地理的に集結されたSOP内では連想アドレス指定を採用し、このようなSOPもしくは一部のSOP間では物理的アドレス指定を採用するのか存益である。SOP内での連想アドレス指定は領域の使用により制約されることがある。
息子のりダラシ3ンをその全ての父へ報告しなければならない状況もある。2次プロセッサでは、これは各閉包を可能な最小領域内に配置した領域を使用して行われる。3次プロセッサの場合には考慮すべきもう一つの重要局面−グローバルアドレス指定局面かある。
グローバルアドレス指定オブジェクト記憶位置は物理的アドレスではなく内容により“アドレス”される、すなわち連想アドレスが使用される。必要な長距離通信量によりこの方法はグローバルレベルでは好ましくない。したがって、グローバルアドレス指定はより通常的な方法で処理される。息子が簡約化されている時にグローバル連想探索および置換を行う替りに、局所、すなわち息子が配置されている2次プロセッサ内、連想探索および置換が行われる。さらに、例えば簡約化された息子の父が別の地理的位置における別のSOP内に配置されているような場合、必要によりグローバルアドレス指定も行われる。グローバルアドレス指定は連想的ではなく、物理的アドレスが使用される。
物理的アドレスはさまざまなSOPを含むことができるSOPを識別する。転送される情報には息子閉包idgへのグローバルアドレスが含まれる、すなわち識別子idgはシステム内の全プロセッサ間で一意的である。情報には簡約化された息子も含まれている。地理的に離れた各SOPにはSOPの外部に父を有する息子に関する情報を含むデータ構造があり、各息子は非局所的父のリストを有している。以降、このデータ構造はグローバル閉包C,と呼ばれる。グローバル閉包C1は付加情報を含むことができる。
グローバル更新を実施するいくつかの方法があり、グローバル更新は少くとも1つの父が息子以外のもう1つのSOP内に位置することを意味する。
アドレス変換のないグローバル更新閉包を簡約化する時は簡約化閉包を指示する識別子の探索かグローバル閉包C1内で行われる。そこで識別子か見つかると、簡約化された閉包(息子)はSOPの外部に少くとも1つの非局所的父を育し一グローバル更新か必要となる。識別子か見つからない場合にはグローバル更新は必要ではない。いずれの場合も、SOP内で連想探索および置換が実施される。グローバル更新が必要である場合には、グローバル閉包C1内の非局所的父のリストか調へられる。リスト内の各父に対して父を含むSOPヘメッセージか送られる。メツセージには簡約化された閉包へのグローバルアドレスおよびリダクション自体に関するtR報が含まれている。受信SOPは連想探索および置換を実施し、発生する各グローバル識別子をリダクション結果と交換する。このプロトコルは各識別子か一意的である、すなわち識別子のビットパターンが4 システム内のプロセッサの集合を通して一意的である、駁 ことが必要である。
ト このプロトコルの一例において、各SOPには一意的巳 な数が割当てられ各識別子はビットパターンにコード化j されたSOP数を有し、それはSOPを識別する物理的アドレスが識別子のビットパターン内で明示的7′(in+plicit)であることを意味する。各SOPはある範囲2 の識別子を“所存し”新しいSOPをシステム内に組み入れる場合には、識別子の無い新しい範囲が割当てられる。
ゝ 例: sop iは識別子範囲100−199を所有し、5OP2は識別子箱vIJ200〜299、・・・・・・、を所有し、’−5OP8は識別子範囲800〜899を所有する。新し1 いSOPがシステムへ組み入れるものとするーそれにはSOP数9が割当てられ識別子範囲900〜999が与4 えられる。第42A図に構造例の一部を示す。第42B図に5OP1.5OP6,5OP9を有する3次ブロセゝ ツサの部分を示す。第42C図にグローバル閉包C,の一部を示す。識別子623で指示される息子か簡約化される。識別子623をそれが指示する結果と交換して局所連想探索および置換が実施される。5OPe内のグローバル閉包C,では121および999によりリスト要素として指示される非局所的父を有する子を見つけることができる(第42C図参照)。リダクションに関する情報、すなわち簡約化された識別子、リダクション結果等、を有するメツセージがSOP Iおよび5oP9へ送られる。sop iおよびSOP 9は探索および置換を実施して識別子623をその指示する結果と交換する。こうして、問題とする息子に対するグローバル父のリストを削除することによりグローバル閉包C,内のデータ構造を修正することかできる。
非局所父リストを記憶する替りに、父を含むSOP数のリストを使用することができる。
アドレス変換によるグローバル更新この場合、グローバルおよび局所アドレスが識別され、局所アドレスはSOP内で一意的でありグローバルアドレスはシステム内の全5OPr/!iで一意的である。本方法と前記した方法との主な違いは、本方法ではアドレス変換が必要なことである。
アドレス変換はグローバル閉包C3により処理することができる。閉包C1・はSOPが所存する識別子の範囲に関する情報を含むことができる。さらに、この情報を使用してグローバルアドレスを局所アドレスへ変換することができる。
3次プロセッサの実際のデータ転送および通信プロトコルはデータ通信分野で既に確立されている原理を使用して設計することができる。
当然、1次、2次および/もしくは3次プロセッサをビルディングブロックとして使用して、前記したものの他に従来技術により他のハイレベルリダクションプロセッサを形成することができる。
特定実施例について本発明を説明してきたが、当業者ならば発明の真の精神および範囲を逸脱することなくさまざまな変更か考えられその要素を同等品で置換できるものと思われる。さらに、本発明の本質的教義を逸脱することなく修正を行うこともできる。
付録 l中央コントロールユニットの動作側動作:mmIfy−slrv+c1wre−fall 、各息子に3IIIj8のある2つの息子使用was プレーン swal jwbl swo zwa6 smOswHswt swす0 畠un twc 5w1c mmj s+d戟@swomPos ブレーン 川: 11111111 おっ IIIIIIoII替bo おポ 3−ピ コ褐おNτ おく 枦叶禮コml 1− {。に動作:wiiFy−strucl訂ε−full 、各息子が3要素を含む2つの息子を使用相: bpos 1トンswal 5vbl svQ swan swbo awll swt 5vVo swVl svc 5w1lo 5wRPa+dQ s<CA?口3 プトン 1waL swell svQ s曽mo @ds6 svN tut H−噂s−りsec swbo swMX 5wP) swcON動作:off7−stnctsreJ++I+ 、各息子が3!!素を含む2つの息子を使用相: ロDoj ブレーン swaL 5vbl svQ swa(l mm6 S曽−sw! 5w905vVI sue 5w1lo awRZ@svロ s<0nON Eh aa −−−on w −一 −−off off −−−−−−−−EerV Le on −−on on −−−−−−−off off −−−−−−−−−−−pos ル−ン swam mwbl swQ swao 5dba swM ad 5dlo swマYswCm締OawllI swD@5vcONWas ブトン状想 Fog プレーン状態プレーン略語付録 2整数乗算状態、センス線−条件1ifis (1; O: O: O: O; O; O: O:L)状態、センス線−条件2マイクロ命令線c5 (0,O,O)制御例2状態、センス線−条件1状態、センス線−条件2状態、センス線−条件3Lns Elz 01 0; OJ O; Oi O; C: ユ】状態、センス繍−条件4マイクロ命令線e5 iot O−01状態、センス線−条件2マイクロ命令練c5 (0,O,O)制御例4状態、センス線マイクロ命令線、5 T3.C+01制御例5状態、センス線−条件l状態、センス線−条件2Lna [1; l; O: O,O: 0:O: O; 11状態、センス練−条件3=ns r” ユニ l O; 11 0; ロ; O:;l状態、センス線−条件4蝕s 11; Or lz Ox Ox OF Oz Ox 11状態、センス線−条件5■ (i; O; l; O; o; o; O: o; 1]マイクロ命令線cl−I To、 O,0,0,l、 0)cl−2((0,11; (0,11; +1. O); (o、 111c1−3 [+0.1); (0,11; (0,11; (0,ml; (1,011cl−4((0,11; 10.11; (0,11; 10.1); (o、 11; +1. Ocl 5 [(0,11; n、 01; (o、 il+cl 6 [(1,01; (0・1!:す、、1ヒび0;、11; (0,ill制御例6状態、センス線−条件lコ。
状態、センス線−条件2状態、センス線−条件3マイクロ命令線c5 10.0.01制御例γ状態、センス線−条件l状態、センス線−条件2マイクロ命令線as (0,O,O)制御IPj8状態、センス線−条件1ins (工; 工J O; O; o; o; O; i:+; 11状態、センス線−条件2irus 【l; L: CI; Q; Q; O: O,ご; 工]マイクロ命令練c5 (o、 o、 O)制御例9ins (l l 070: O: O: 0jOx 1]as (0,(+、(11制御例10状態、センス線−条件1Lrts tl;Is Or O: Ox O: Q: O; ニス状態、センス線−条件2マイクロ命令線c5 10.0.01FIG、 50 F旧5E Fに、5FFIG、 68FIG、6CFIG6DFI66E Flo、6FFI36GFIG、X FIG、7DFIG、 8Al38Bい夕Db N汎用レジスタセル(NUM&ヘッドプレーン)ベースレジスタセル1 ペースレジスタセル2Fl[3,15FIG、16FIG、 21A他のユニットへFIG、 24AFIGi、 248F)6.25へ1ooooooooxxsF−1sr−+ HF4(N(NM閂ぐ曹−一ψψさトののΦの命令のクロック期間の最初のO相FIG、29A多サイクル命令のクロック期間の0相の残り次の状態への伝播−遷移FIG 29CFIG 41F旧、42〔要 約 書リグクシ3ンプロセツサか提供され、それは構造を有するプログラムにより制御されさまざまな種類のりダクションを含むいくつかのりダクションステップにより前記構造を簡約化するようにされている。この種の1次プロセッサは活性記憶装置(1,2)を含み、それはa)リダクシヨンを開始させることができる情報を記憶できる複数の活性記憶セルと、b)各リダクション結果をそれと接続を有する全セルへ通信する通信ネットを含んでいる。プロセッサは全記憶セルに共通の制御手段(6)を含んでいる。好ましくは、コアセル(2)もしくは構造演算装置と呼ばれる少くとも1つの記憶セルが全種のりダクションを実施することができ、オブジェクト記憶セルと呼ばれる残りのセルは全種のりダクションの中のいくつかの限定部しか実施できない。さらに、いくつかのりダクションブCセッサをネットワークにより互いに接続して高次のりダクションプロセッサを形成することができる。
国際調査報告国際調査報告

Claims (1)

  1. 【特許請求の範囲】1.構造を有するプログラムにより制御されさまざまな種類のリダクションを含むいくつかのリダクションステップにより前記構造を簡約化するようにされているリダクションプロセッサにおいて、この種の1次プロセッサは活性記憶装置(1,2)を含みそれは次のもの、a.各々がリダクション操作の遂行を開始させる機会を有する複数の活性記憶装置(10,2)と、b.各リダクション結果をそれとの接続を有する記憶セルの中の全セルへ通信する通信ネット(t1,t2,id,env,Vo,V1,V2,V3,12,13,14,6,7,11,16,17)を含むことを特徴とするリダクションプロセッサ。2.請求項1記載のリダクションプロセッサにおいて、前記通信ネットは制御線(6に出入りする線)およびデータ線(t1,t2,id,env,Vo,V1,V2,V3,)を有するバス構成を含み、全ての線が前記各記憶セルおよび前記各記憶セルに共通する制御手段(6)に接続されていることを特徴とするリダクションプロセッサ。3.請求項1もしくは2記載のリダクションプロセッサにおいて、各記憶セル(2;10;第4A図、第4E図)がリダクション操作を実施するのに必要な全情報を含むことができるリダクションプロセッサ。4.請求項3記載のリダクションプロセッサにおいて、前記リダクション情報は前記他の記憶セルの少くとも1つに対する参照(VALUE/DES)も含んでおり、記憶セルの内容はツリー構造の前記参照により連係されている(第6B図、第6G図、第7B図、第8B図、第5A図〜第5F図)ことを特徴とするリダクションプロセッサ。5.請求項1から4のいずれかに記載のリダクションプロセッサにおいて、コアセル(2)と呼ばれる前記記憶セルの少くとも1つがあらゆる種類のリダクションを実施することができ、オブジェクト記憶セル(10;第4A図)と呼ばれる前記セルの残りは全種のリダクションの中のいくつかの限定部しか実施できないことを特徴とするリダクションプロセッサ。6.請求項5記載のリダクションプロセッサにおいて、前記オブジェクト記憶セルは外部制御用の第1のバス構成(Vr,cpb,set,S,match,r/w.S,r/w.b,r/w.r,Wand.a,Wand.b,Wor,S.a,reset.b,mode.a mode.a*,prech,ba,mode.b,grant.b,prioの任意の種別)およびデータ用の第2のメモリバス構成(t1,t2,id,env,Vo,V1,V2,V3,)を有する連想メモリ内に含まれ、合成情報を記憶するいくつかの前記オブジェクト記憶セル(10)と、前記オブジェクト記憶セルの少くともセレクト状態もしくは非セレクト状態を示す少くとも1つのマークを記憶する前記各オブジェクト記憶セル内の手段と、前記オブジェクト記憶装置間で探索操作を行って前記マークを設定する手段と、前記全てのオブジエクト記憶セルが接続され前記いくつかのオブジェクト記憶セルの中の1つを選択する優先順位デコーダ(11)を含むことを特徴とするリダクションプロセッサ。7.請求項6記載のリダクションプロセッサにおいて、前記記憶セル間でANDおよびOR型の論理演算を行う少くとも1本のグローバルバス(12,13,14)、および前記バスと通信を行って前記記憶セルを実際の論理演算に関与するように制御する各記憶セル内の手段(17)が設けられていることを特徴とするリダクションプロセッサ。8.請求項6もしくは7記載のリダクションプロセッサにおいて、各オブジェクト記憶セルは各々がnum語と呼ばれるデータ語およびタグ語形式のタグを記憶できるいくつかのデータオブジェクト記憶フィールド(IDENTIFIER,ENVIRONMENT,VALUE/DES.o,VALUE/DES.1,VALUE/DES.2,VALUE/DES.3)を含んでいることを特徴とするリダクションプロセッサ。9.請求項6から8のいずれかに記載のリダクションプロセッサにおいて、各記憶セルが前記記憶セルの内容状態を示す少くとも一つの属性記憶フィールド(LAZY,WHERE,TYPE)を含んでいることを特徴とするリダクションプロセッサ。10.請求項5から9のいずれかに記載のリダクションプロセッサにおいて、前記コアセルは構造演算処理のための演算装置であり、a)前記オブジエクト記憶セルに対してデータリストを入出力する少くとも一つの入出力手段(Vo,V1,V2,V3,id,env)と、b)各々がタグ部、タグ語、と情報部、num語、を有するデータ語を各々が記憶するようにされているいくつかのレジスタ(So.o〜S3.3,FO〜F3,ID,ENV)であって、前記タグ部は問題とするレジスタが使用中か否かを示すタグを含み、前記各リストは所定数の前記レジスタ内に記憶することができ、前記各レジスタの前記タグ部には使用時に前記1つのリストの少くとも一部が実際のレジスタに記憶されていることを示すタグが付され、前記実際レジスタに一部が記憶されている前記リストにはどのような種類のリストであって前記レジスタ内の前記リストの構成からどこで前記リスト間の関係が明白になるかというリスト命令が含まれている前記いくつかのレジスタと、c)前記レジスタを制御しかつ前記レジスタに記憶されたリストに属する前記リスト命令を使用して前記リストを前記レジスタ間で再構成しかつ前記リスト命令に従ってレジスタ内容の入出力を行う制御手段(6)を含むことを特徴とするリダクションプロセッサ。11.請求項10記載のリダクションプロセッサにおいて、前記レジスタに記憶されている前記リストは1つのリストが根リストであるリストツリー構成とされていることを特徴とするリダクヨンプロセッサ。12.請求項10もしくは11記載のリダクションプロセッサにおいて、少くとも1個の特別なレジスタ(ID)が設けられ、その中に記憶されたリストツリーの識別子を記憶することができることを特徴とするリダクションプロセッサ。13.請求項10から12のいずれかに記載のリダクションプロセッサにおいて、少くとも1個の特別なレジスタ(ENV)が設けられ、その中に記憶されたリストツリーの環境を記憶することができることを特徴とするリダクションプロセッサ。14.請求項10〜13のいずれかに一項記載のリダクションプロセッサにおいて、主レジスタを提供する周辺ロー(So.o〜S3.o)を有し、コラムはベースレジスタを提供するレジスタマトリクス(So.o〜S3.3)を含むリダクションプロセッサ。15.請求項14記載のリダクションプロセッサにおいて、前記マトリクスの外側に設けられたいくつかの補助レジスタ(F0〜F3)を含むことを特徴とするリダクションプロセッサ。16.請求項10から15のいずれかに記載のリダクションプロセッサにおいて、前記リストツリーの前記根リストは前記記憶すべき実際のツリーのレベルに応じてさまざまなレジスタ内に配置されるようにされていることを特徴とするリダクションプロセッサ。17.請求項10から16のいずれかに記載のリダクションプロセッサにおいて、どのような種類のリダクションを実施するかに関する情報を前記根リストの型から引き出すことができ、前記型は関数適用を表わさない場合には実行すべき命令を表わす命令コードを含み関数適用を表わす場合には前記根リストの第1要素が命令コードもしくは関数定義を表わすリストツリーの根を含み、前記制御手段(6)は前記根リストから前記情報を引き出すようにされていることを特徴とするリダクションプロセッサ。18.請求項10から17のいずれかに記載のリダクションプロセッサにおいて、前記レジスタはコアセルのプレーン内にスライス配置され、各プレーンは各レジスタからの高々1個のレジスタを含み、各レジスタセルは情報の1ビットを記憶することができプレーン内のレジスタセルは互いに接続可能であることを特徴とするリダクションプロセッサ。19.請求項5から18のいずれかに記載のリダクションプロセッサにおいて、前記通信ネットは前記オブジェクト記憶セルの中の当該オブジェクト記憶セルから前記通信ネット(6)により選択される前記コアセル(2)内のレジスタ(ID,ENV,So.o〜S3.3,F0〜F3)へ情報を送信しかつ前記レジスタから前記通信ネットにより選択される前記1個もしくは数個のオブジェクト記憶セルへ情報を送信するようにもなされていることを特徴とするリダクションプロセッサ。20.請求項5から19のいずれかに記載のリダクションプロセッサにおいて、前記通信ネット(6)は前記レジスタと問題とする前記記憶セルの内容をスワップすることにより前記コアセル内のレジスタと前記1つのオブジェクト記憶セル間で転送操作を行うようにされていることを特徴とするリダクションプロセッサ。21.請求項3から20のいずれかに記載のレリダクションプロセッサにおいて、前記1個もしくは数個の記憶セル(2,10)は実行可能性の外延を有するツリー構造の位置、識別子、環境および値のツリーの閉包を記憶するようにされており、前記識別子、環境および各個別値は前記閉包内の要素であることを特徴とするリダクションプロセッサ。22.請求項8から22いずれかに記載のリダクションプロセッサにおいて、前記閉包に含まれる前記値のツリーには葉要素、すなわち終端要素、と合成要素が含まれ、各合成要素は状態および値リストを含んでいることを特徴とするリダクヨンプロセッサ。23.請求項8から22のいずれかに記載のリダクションプロセッサにおいて、前記閉包内の実行可能性の外延は少くとも2つの状態を含み、第1の状態はアイドル状態であり第2の状態は実行状態であることを特徴とするリダクションプロセッサ。24.請求項8から23のいずれかに記載のリダクションプロセッサにおいて、前記閉包内の位置の前記外延は少くとも2つの状態を有し、第1の状態は節点位置であり第2の状態は根位置であることを特徴とするリダクションプロセッサ。25.請求項8から24のいずれかに記載のリダクションプロセッサにおいて、前記閉包の各要素はタグ語およびnum語により構成され、前記num語は各々が真もしくは偽である数ビットにより構成されることを特徴とするリダクションプロセッサ。26.請求項12から25のいずれかに記載のリダクションプロセッサにおいて、前記タグ語は間接クラスおよび直接クラスに分割されていることを特徴とするリダクションプロセッサ。27.請求項8から26のいずれかに記載のリダクションプロセッサにおいて、整数表現を表わす2進語に対して第1のコーディングを使用し浮動小数点表現を表わす2進語に対して第2のコーディングを使用するようにされており、前記コーディングは浮動小数点表現が整数表現と同じ順序で与えられるようにされていることを特徴とするリダクションプロセッサ。28.請求項8から27のいずれかに記載のリダクションプロセッサにおいて、整数は表現可能な最小値から最大値までの全ての値が一連の数で表現されるように2進化されたフォーマットで前記要素に記憶され、各数は数ビット値を含み、ゼロは最上位ビットが2進真値であり残りのビットが2進偽値である2進数により前記一連の数の中間に表現されることを特徴とするリダクションプロセッサ。29.請求項8から28のいずれかに記載のリダクションプロセッサにおいて、2進化浮動小数点値表現には符号、指数部符号およびコードフィールド、指数部フィールドおよび仮数部フィールドが含まれ、前記指数部符号およびコードフィールドは前記指数部フィールドと前記仮数部フィールド間の分割位置に表示を有し、指数部および仮数部フィールドは可変長を有するようにされていることを特徴とするリダクヨンプロセッサ。30.請求項29記載のリダクションプロセッサにおいて、数値語を表わす前記語は前記数値を稠密表現へ与えるようなコーディングが行われる、すなわち値の各コード化表現が1つの解釈値にしか対応しない、ことを特徴とするリダクションプロセッサ。31.請求項8から30のいずれかに記載のリダクションプロセッサにおいて、少くともいくつかの前記閉包外延は各々が2進コードを表わす数ビットにより構成されたさまざまな状態で与えられることを特徴とするリダクションプロセッサ。32.前記いずれかの項記載のリダクションプロセッサにおいて、数値要素に対して算術、論理および関連演算を行う数値演算装置を含み、さらに、a)各々がリスト内の語に関する命令情報を含む前記リスト内のりスト要素を与えられるように作動する1組のバスを含む入力と、b)前記1組のバスが接続され前記命令に従って前記語を書き換えることにより前記命令情報を使用して前記リスト内の前記語に演算を実施する処理手段と、c)前記入力バスセットと同じ数および構成を有する1組のバスを含む書換え結果を与えるようにされた出力を含むことを特徴とするリダクションプロセッサ。33.請求項32記載のリダクションプロセッサにおいて、前記リスト内の少くとも1つのリスト要素が命令情報の表現を含みかつ前記入力バスセットの特定バスへ与えるられるように保存され、計算すべき数値表現は前記入力バスセットの他のバスへ与えられるようにされ、前記処理手段は前記入力リストの数値表現を書き換えることにより計算を行うようにされていることを特徴とするリダクションプロセッサ。34.請求項32記載のリダクションプロセッサにおいて、各々が前記入力バス上の前記数値表現に対して特定演算を行うようにされている、いくつかの回路が設けられていて前記演算の結果を並列に与え、前記命令情報を与えられる制御駆動手段が全ての実施結果の中から実際命令の実行に適した実施結果を選択するようにされていることを特徴とするリダクションプロセッサ。35.請求項34記載のリダクションプロセッサにおいて、前記リストが1つの要素が命令コードであり残りが前記命令の引数である関数適用を含むようにされている場合、前記プロセッサ手段は結果が得られるまで前記命令コードを前記出力から前記入力へ書換え循環させることにより命令を実施し、実際の計算に対して適切であれば、書換えのたびに前記処理手段は訂正された命令語コードを含むように前記リストを書き換え、適切であればそれに値語が続くようにされることを特徴とするリダクションプロセッサ。36.前記いずれかの項記載のリダクションプロセッサにおいて、複数の1次プロセッサがネットワークにより互いに接続され、前記接合された1次プロセッサが2次リダクションプロセッサを表わすことを特徴とするリダクションプロセッサ。37.前記いずれかの項記載のリダクションプロセッサにおいて、各1次リダクションプロセッサ内の1個もしくは数個の前記記憶セルは実行可能性の外延であるツリー構造のツリー内の位置、識別子、環境、および値ツリーの閉包を記憶するようにされており、前記識別子、環境、および各個別値は前記閉包内の要素であり、前記閉包内の各要素はタグ語およびnum語により構成され、前記num語は各々が真もしくは偽である数ビットにより構成され、前記タグ語は間接クラスおよび直接クラスへ分割され、前記間接クラス要素のビットパターンは領域部とアドレス部へ分割されることを特徴とするリダクションプロセッサ。38.請求項37記載のリダクションプロセッサにおいて、いくつかの1次リダクションプロセッサ(FOP1.1′〜FOPM.M′)が2次リダクションプロセッサを表わす方形フィールドへ接合され、前記方形フィールド内の各2次プロセッサは前記方形フィールド内の各近傍1次リダクションプロセッサへ行くチャネル(CAN)を含んでいる(第37A図、第37C図、第37D図)ことを特徴とするリダクションプロセッサ。39.請求項38記載のリダクションプロセッサにおいて、前記2次リダクションプロセッサは次に各々が2nx2nのサイズの1次リダクションプロセッサを有する論理領域へ分割され(第37C図)、前記論理領域は前記2次リダクションプロセッサの前記方形フィールドをカバーするようにお互いの側に正規パターンで設けられていることを特徴とするリダクションプロセッサ。40.請求項39記載のリダクションプロセッサにおいて、前記1次プロセッサは前記2次プロセッサ内で互いに接続され、前記2次プロセッサ内の前記各領域は前記2次プロセッサ内の前記領域の配置を内部的に再定義することにより各方向に半領域だけ変位可能とされていることを特徴とするリダクションプロセッサ。41.請求項39もしくは40記載のリダクションプロセッサにおいて、アドレスを与えられた少くとも一つの参照可能な間接要素が各領域に記憶され、前記要素は所属する領域内の記憶セルからしか参照できないことを特徴とするリダクションプロセッサ。42.請求項37から41のいずれかに記載のリダクションプロセッサにおいて、いくつかの前記1次リダクションプロセッサが各々がバスであるネットワーク(NET1〜NETn)の階層構造に接続されていることを特徴とするリダクションプロセッサ。43.請求項37から42のいずれかに記載のリダクションプロセッサにおいて、いくつかの前記1次リダクションプロセッサが各々がリングであるネットワークの階層構造に接続されている(第39図)ことを特徴とする、リダクションプロセッサ。44.請求項37から43のいずれかに記載のリダクションプロセッサにおいて、いくつかの前記1次リダクションプロセッサがネットワークの階層構造に接続されており、少くとも2種のネットワークが設けられていて第1種はバスであり、第2種はリングであり、第3種は方形フィールドである(第40図)ことを特徴とするリダクションプロセッサ。45.前記いずれかの項記載のリダクションプロセッサにおいて、少くとも1つのポート手段が前記活性記憶手段に接続され、少くとも1つの環境手段が前記少くとも1つのポート手段に接続されていることを特徴とするリダクションプロセッサ。46.請求項45記載のリダクションプロセッサにおいて、ポート手段に与えられる信号シーケンス(第34図および第35図)を前記活性記憶手段内の少くとも一つの記憶セルに記憶され未定義シーケンス要素を有する可能性のあるシーケンスと比較する手段と、比較により明確な違いが生じる場合には前記記憶されたシーケンスをnothing、すなわち矛盾を表わすもの、へ書換えさもなくば前記記憶されたシーケンスと信号シーケンスと記憶シーケンスの単一化である特定シーケンスへ書換える手段(CU,3)を含むことを特徴とするリダククションプロセッサ。47.請求項46記載のリダクションプロセッサにおいて、前記比較手段は所定数のリスト要素群に対して比較を行うことを特徴とするリダクションプロセッサ。48.請求項46もしくは47記載のリダクションプロセッサにおいて、前記信号シーケンスを個別のサンプル期間を有し時間と共に変化するサンプル信号(第34図)として与える手段(3,during;7,8,9)を含み、前記信号シーケンスは要素群のリストであり、各群が持続時間およびその時間中の少くとも1つの信号品質を含んでいることを特徴とするリダクションプロセッサ。49.請求項48記載のリダクションプロセッサにおいて、各群内の前記所定数のリスト要素は2つの対要素であり、各対が時間と信号品質の組合せを含んでいることを特徴とするリダクションプロセッサ。50.請求項45から49のいずれかに記載のリダクションプロセッサにおいて、前記オブジェクト記憶セルは抽象シンタクスの明示的もしくは暗示的コード化フォーマットでコンピュータプログラムを記憶するようにされた前記活性記憶装置内の構造に設けられ、前記シンタクスはいくつかの異なる抽象オブジェクトを式により記述し、各オブジェクト記憶セル手段は適切なデータおよび/もしくはプログラム構造形式で前記1つのシンタクス式の少くとも一部を記憶することができることを特徴とするリダクションプロセッサ。51.請求項41記載のリダクションプロセッサにおいて、複数の地理的に離され相互に接続された2次リダクションプロセッサ(GSOP)が3次リダクションプロセッサを形成することを特徴とするリダクションプロセッサ。52.請求項51記載のリダクションプロセッサにおいて、領域により制約された連想アドレス指定が2次リダクションプロセッサ(SOP)に使用され物理的アドレス指定が3次リダクションプロセッサに使用されることを特徴とするリダクションプロセッサ。53.請求項52記載のリダクションプロセッサにおいて、3次リダクションプロセッサ内の物理的に離された各2次リダクションプロセッサ(GSOP)が息子以外のGSOPに記憶された父を追跡し続ける手段を含むことを特徴とするリダクションプロセッサ。54.請求項53記載のリダクションプロセッサにおいて、前記非局所父を追跡し続ける前記手段は局部オブジェクト記憶装置内にデータ構造を含み、前記データ構造は非局所父を要する各息子に対するリストを含み、前記リストは問題とする息子の非局所父へのアドレスを含み、前記アドレスは非局所父が記憶される2次プロセッサ(GSOP)を識別する部分を含むことを特徴とするリダクションプロセッサ。
JP91513502A1990-08-021991-08-01リダクションプロセッサPendingJPH05508722A (ja)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
SE9002558ASE9002558D0 (sv)1990-08-021990-08-02Processor
SE9002558-61990-08-02
PCT/SE1991/000516WO1992002876A1 (en)1990-08-021991-08-01Reduction processor

Publications (1)

Publication NumberPublication Date
JPH05508722Atrue JPH05508722A (ja)1993-12-02

Family

ID=20380081

Family Applications (6)

Application NumberTitlePriority DateFiling Date
JP91513500APendingJPH05508730A (ja)1990-08-021991-08-01連想メモリ
JP91513502APendingJPH05508722A (ja)1990-08-021991-08-01リダクションプロセッサ
JP91513503APendingJPH05508723A (ja)1990-08-021991-08-01リダクションプロセッサにおける能動記憶装置
JP91514005APendingJPH05508725A (ja)1990-08-021991-08-01構造演算用演算装置
JP91513499APendingJPH05508729A (ja)1990-08-021991-08-01ビット記憶セル
JP91513501APendingJPH05508952A (ja)1990-08-021991-08-01算術処理、論理処理及び関連する処理を実行する方法及び数値演算装置

Family Applications Before (1)

Application NumberTitlePriority DateFiling Date
JP91513500APendingJPH05508730A (ja)1990-08-021991-08-01連想メモリ

Family Applications After (4)

Application NumberTitlePriority DateFiling Date
JP91513503APendingJPH05508723A (ja)1990-08-021991-08-01リダクションプロセッサにおける能動記憶装置
JP91514005APendingJPH05508725A (ja)1990-08-021991-08-01構造演算用演算装置
JP91513499APendingJPH05508729A (ja)1990-08-021991-08-01ビット記憶セル
JP91513501APendingJPH05508952A (ja)1990-08-021991-08-01算術処理、論理処理及び関連する処理を実行する方法及び数値演算装置

Country Status (23)

CountryLink
US (6)US5379387A (ja)
EP (6)EP0541683B1 (ja)
JP (6)JPH05508730A (ja)
KR (1)KR930701818A (ja)
CN (6)CN1030018C (ja)
AT (5)ATE118640T1 (ja)
AU (6)AU8331691A (ja)
BG (3)BG97381A (ja)
CA (6)CA2087023A1 (ja)
DE (5)DE69106369D1 (ja)
ES (3)ES2051129T3 (ja)
FI (3)FI930433A0 (ja)
HU (3)HU9204177D0 (ja)
IL (6)IL99053A0 (ja)
LT (6)LTIP384A (ja)
NO (3)NO930301L (ja)
NZ (3)NZ239239A (ja)
RO (1)RO109487B1 (ja)
SE (1)SE9002558D0 (ja)
SK (2)SK402592A3 (ja)
TW (5)TW215960B (ja)
WO (6)WO1992002876A1 (ja)
ZA (6)ZA916121B (ja)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO1993024888A1 (en)*1992-05-221993-12-09Massachusetts Institute Of TechnologyResponse resolver for associative memories and parallel processors
JP3376604B2 (ja)*1992-07-202003-02-10カシオ計算機株式会社情報管理装置
IT1270230B (it)1994-06-161997-04-29Enichem SintesiComposizione catalitica e processo per l'alchilazione di composti aromatici
US5619711A (en)*1994-06-291997-04-08Motorola, Inc.Method and data processing system for arbitrary precision on numbers
GB2293468B (en)*1994-09-211999-09-29Sony Uk LtdData processing systems
JP3037089B2 (ja)*1994-12-142000-04-24川崎製鉄株式会社連想メモリ
FR2736737B1 (fr)*1995-07-121997-08-14Alcatel NvDispositif de gestion de relations entre des objets
US5943242A (en)*1995-11-171999-08-24Pact GmbhDynamically reconfigurable data processing system
US7266725B2 (en)2001-09-032007-09-04Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US6750107B1 (en)1996-01-312004-06-15Micron Technology, Inc.Method and apparatus for isolating a SRAM cell
US6103579A (en)1996-01-312000-08-15Micron Technology, Inc.Method of isolating a SRAM cell
US5964825A (en)*1996-02-091999-10-12Texas Instruments IncorporatedManipulation of boolean values and conditional operation in a microprocessor
US5706224A (en)*1996-10-101998-01-06Quality Semiconductor, Inc.Content addressable memory and random access memory partition circuit
DE19651075A1 (de)1996-12-091998-06-10Pact Inf Tech GmbhEinheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de)1996-12-201998-07-02Pact Inf Tech GmbhI0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654593A1 (de)1996-12-201998-07-02Pact Inf Tech GmbhUmkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
US6338106B1 (en)1996-12-202002-01-08Pact GmbhI/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654846A1 (de)*1996-12-271998-07-09Pact Inf Tech GmbhVerfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
ATE243390T1 (de)1996-12-272003-07-15Pact Inf Tech GmbhVerfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.)
US6374346B1 (en)1997-01-242002-04-16Texas Instruments IncorporatedProcessor with conditional execution of every instruction
DE19704044A1 (de)*1997-02-041998-08-13Pact Inf Tech GmbhVerfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
US6542998B1 (en)1997-02-082003-04-01Pact GmbhMethod of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de)1997-02-081998-08-13Pact Inf Tech GmbhVerfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de)1997-02-111998-09-24Pact Inf Tech GmbhInternes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
DE59802537D1 (de)*1997-04-152002-01-31Gmd GmbhFrei programmierbares, universelles parallel-rechnersystem zur durchführung von allgemeinen berechnungen
US8686549B2 (en)2001-09-032014-04-01Martin VorbachReconfigurable elements
US5943492A (en)*1997-12-051999-08-24Digital Equipment CorporationApparatus and method for generating external interface signals in a microprocessor
DE19861088A1 (de)1997-12-222000-02-10Pact Inf Tech GmbhVerfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de)1998-02-251999-08-26Pact Inf Tech GmbhVerfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6236585B1 (en)*1998-05-132001-05-22Texas Instruments IncorporatedDynamic, data-precharged, variable-entry-length, content addressable memory circuit architecture with multiple transistor threshold voltage extensions
WO2000077652A2 (de)1999-06-102000-12-21Pact Informationstechnologie GmbhSequenz-partitionierung auf zellstrukturen
US6097651A (en)*1999-06-302000-08-01Quicklogic CorporationPrecharge circuitry in RAM circuit
SE516171C2 (sv)*1999-07-212001-11-26Ericsson Telefon Ab L MProcessorarkitektur anpassas för programspråk med sekventiellt instruktionsflöde
US6542391B2 (en)2000-06-082003-04-01Netlogic Microsystems, Inc.Content addressable memory with configurable class-based storage partition
US6799243B1 (en)2000-06-142004-09-28Netlogic Microsystems, Inc.Method and apparatus for detecting a match in an intra-row configurable cam system
US6813680B1 (en)2000-06-142004-11-02Netlogic Microsystems, Inc.Method and apparatus for loading comparand data into a content addressable memory system
US6801981B1 (en)2000-06-142004-10-05Netlogic Microsystems, Inc.Intra-row configurability of content addressable memory
US6751701B1 (en)2000-06-142004-06-15Netlogic Microsystems, Inc.Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6934795B2 (en)*1999-09-232005-08-23Netlogic Microsystems, Inc.Content addressable memory with programmable word width and programmable priority
US6944709B2 (en)*1999-09-232005-09-13Netlogic Microsystems, Inc.Content addressable memory with block-programmable mask write mode, word width and priority
EP1107107A1 (en)*1999-12-102001-06-13Koninklijke Philips Electronics N.V.Parallel data processing and shuffling
IL144901A0 (en)*2000-01-132002-06-30Yasukura YutakaElectronic information inquiry process
EP2226732A3 (de)2000-06-132016-04-06PACT XPP Technologies AGCachehierarchie für einen Multicore-Prozessor
US6246601B1 (en)*2000-06-142001-06-12Netlogic Microsystems, Inc.Method and apparatus for using an inter-row configurable content addressable memory
US6560670B1 (en)2000-06-142003-05-06Netlogic Microsystems, Inc.Inter-row configurability of content addressable memory
US6963882B1 (en)*2000-10-022005-11-08International Business Machines CorporationMethod and apparatus for processing a list structure
AU2060002A (en)2000-10-062002-04-22Pact Inf Tech GmbhMethod and device
US8058899B2 (en)2000-10-062011-11-15Martin VorbachLogic cell array and bus system
KR100413384B1 (ko)*2000-10-242004-01-03주식회사 삼양제넥스옥피로부터 수용성 식이섬유의 제조 방법
GB2370380B (en)*2000-12-192003-12-31Picochip Designs LtdProcessor architecture
US6990555B2 (en)*2001-01-092006-01-24Pact Xpp Technologies AgMethod of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7581076B2 (en)2001-03-052009-08-25Pact Xpp Technologies AgMethods and devices for treating and/or processing data
US7844796B2 (en)2001-03-052010-11-30Martin VorbachData processing device and method
US7210129B2 (en)2001-08-162007-04-24Pact Xpp Technologies AgMethod for translating programs for reconfigurable architectures
US9037807B2 (en)2001-03-052015-05-19Pact Xpp Technologies AgProcessor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en)2001-03-052008-10-28Pact Xpp Technologies AgMethods and devices for treating and processing data
US7302440B2 (en)*2001-07-272007-11-27Metatomix, Inc.Methods and apparatus for statistical data analysis and reduction for an enterprise application
US7058637B2 (en)*2001-05-152006-06-06Metatomix, Inc.Methods and apparatus for enterprise application integration
US6925457B2 (en)*2001-07-272005-08-02Metatomix, Inc.Methods and apparatus for querying a relational data store using schema-less queries
US6856992B2 (en)*2001-05-152005-02-15Metatomix, Inc.Methods and apparatus for real-time business visibility using persistent schema-less data storage
US8572059B2 (en)*2001-05-152013-10-29Colin P. BrittonSurveillance, monitoring and real-time events platform
US20030208499A1 (en)*2002-05-032003-11-06David BigwoodMethods and apparatus for visualizing relationships among triples of resource description framework (RDF) data sets
US7890517B2 (en)*2001-05-152011-02-15Metatomix, Inc.Appliance for enterprise information integration and enterprise resource interoperability platform and methods
AU2002347560A1 (en)2001-06-202003-01-02Pact Xpp Technologies AgData processing method
US7996827B2 (en)2001-08-162011-08-09Martin VorbachMethod for the translation of programs for reconfigurable architectures
US7434191B2 (en)2001-09-032008-10-07Pact Xpp Technologies AgRouter
US8686475B2 (en)2001-09-192014-04-01Pact Xpp Technologies AgReconfigurable elements
US7577822B2 (en)2001-12-142009-08-18Pact Xpp Technologies AgParallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
DE10392560D2 (de)2002-01-192005-05-12Pact Xpp Technologies AgReconfigurierbarer Prozessor
US8127061B2 (en)2002-02-182012-02-28Martin VorbachBus systems and reconfiguration methods
US8914590B2 (en)2002-08-072014-12-16Pact Xpp Technologies AgData processing method and device
US7657861B2 (en)2002-08-072010-02-02Pact Xpp Technologies AgMethod and device for processing data
AU2003286131A1 (en)2002-08-072004-03-19Pact Xpp Technologies AgMethod and device for processing data
US7394284B2 (en)2002-09-062008-07-01Pact Xpp Technologies AgReconfigurable sequencer structure
EP1588286A2 (en)*2002-10-072005-10-26Metatomix, Inc.Methods and apparatus for identifying related nodes in a directed graph having named arcs
US7017017B2 (en)*2002-11-082006-03-21Intel CorporationMemory controllers with interleaved mirrored memory modes
US7130229B2 (en)2002-11-082006-10-31Intel CorporationInterleaved mirrored memory systems
EP1676208A2 (en)2003-08-282006-07-05PACT XPP Technologies AGData processing device and method
DE102004013180A1 (de)*2004-03-172005-10-06Giesecke & Devrient GmbhSpeicherbereinigung (Garbage Collection) für Smart Cards
US7665063B1 (en)*2004-05-262010-02-16Pegasystems, Inc.Integration of declarative rule-based processing with procedural programming
US8335704B2 (en)*2005-01-282012-12-18Pegasystems Inc.Methods and apparatus for work management and routing
US7570503B1 (en)2005-05-202009-08-04Netlogic Microsystems, Inc.Ternary content addressable memory (TCAM) cells with low signal line numbers
JP2009524134A (ja)2006-01-182009-06-25ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフトハードウェア定義方法
US8924335B1 (en)2006-03-302014-12-30Pegasystems Inc.Rule-based user interface conformance methods
US20090132232A1 (en)*2006-03-302009-05-21Pegasystems Inc.Methods and apparatus for implementing multilingual software applications
US7827451B2 (en)*2006-05-242010-11-02International Business Machines CorporationMethod, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions
US8250525B2 (en)2007-03-022012-08-21Pegasystems Inc.Proactive performance management for multi-user enterprise software systems
US7697444B2 (en)*2007-09-072010-04-13Fujitsu LimitedTesting a circuit using a shared bandwidth test bus
GB2454865B (en)2007-11-052012-06-13Picochip Designs LtdPower control
JP4529098B2 (ja)*2008-07-292010-08-25ソニー株式会社演算処理装置および方法、並びにプログラム
US10481878B2 (en)*2008-10-092019-11-19Objectstore, Inc.User interface apparatus and methods
US8843435B1 (en)2009-03-122014-09-23Pegasystems Inc.Techniques for dynamic data processing
US8468492B1 (en)2009-03-302013-06-18Pegasystems, Inc.System and method for creation and modification of software applications
GB2470037B (en)2009-05-072013-07-10Picochip Designs LtdMethods and devices for reducing interference in an uplink
GB2470891B (en)2009-06-052013-11-27Picochip Designs LtdA method and device in a communication network
GB2470771B (en)2009-06-052012-07-18Picochip Designs LtdA method and device in a communication network
US8666720B2 (en)*2009-08-042014-03-04Henry Chung-herng ChangSoftware extensions to a high level description language simulator to provide infrastructure for analog, mixed-signal, RF modeling and verification
GB2474071B (en)2009-10-052013-08-07Picochip Designs LtdFemtocell base station
GB2482869B (en)2010-08-162013-11-06Picochip Designs LtdFemtocell access control
US8880487B1 (en)2011-02-182014-11-04Pegasystems Inc.Systems and methods for distributed rules processing
GB2489919B (en)2011-04-052018-02-14Intel CorpFilter
GB2489716B (en)2011-04-052015-06-24Intel CorpMultimode base system
GB2491098B (en)2011-05-162015-05-20Intel CorpAccessing a base station
US9195936B1 (en)2011-12-302015-11-24Pegasystems Inc.System and method for updating or modifying an application without manual coding
JP2013242700A (ja)*2012-05-212013-12-05Internatl Business Mach Corp <Ibm>コード最適化方法、プログラム及びシステム
US11150721B2 (en)*2012-11-072021-10-19Nvidia CorporationProviding hints to an execution unit to prepare for predicted subsequent arithmetic operations
US10303881B2 (en)2013-02-052019-05-28Hackproof Technologies Inc.Soft-wired radio (SWR) web machine
US9519804B2 (en)2013-02-052016-12-13Hackproof Technologies, Inc.Domain-specific hardwired symbolic machine that validates and maps a symbol
KR102413501B1 (ko)*2014-07-302022-06-27모비디어스 리미티드명령어 사전인출을 위한 방법 및 장치
US10469396B2 (en)2014-10-102019-11-05Pegasystems, Inc.Event processing with enhanced throughput
WO2017066427A1 (en)2015-10-132017-04-20Hackproof Technologies, Inc.Soft-wired radio (swr) web machine
US10698599B2 (en)2016-06-032020-06-30Pegasystems, Inc.Connecting graphical shapes using gestures
US10698647B2 (en)2016-07-112020-06-30Pegasystems Inc.Selective sharing for collaborative application usage
KR102305568B1 (ko)*2016-07-172021-09-27쥐에스아이 테크놀로지 인코포레이티드일정한 처리 시간 내에 k개의 극값을 찾는 방법
KR102467698B1 (ko)*2016-07-262022-11-16삼성전자주식회사적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
US10956572B2 (en)2016-08-222021-03-23Hackproof Technologies Inc.Domain-specific hardwired web browser machine
GB2562520A (en)*2017-05-172018-11-21John Hamlin DerrickDigital processing connectivity
US10514914B2 (en)*2017-08-292019-12-24Gsi Technology Inc.Method for min-max computation in associative memory
US11048488B2 (en)2018-08-142021-06-29Pegasystems, Inc.Software code optimizer and method
CN110690991B (zh)*2019-09-102021-03-19无锡江南计算技术研究所一种基于逻辑树的无阻塞网络归约计算装置、方法
US11567945B1 (en)2020-08-272023-01-31Pegasystems Inc.Customized digital content generation systems and methods
CN113919580B (zh)*2021-10-192024-10-29南方电网科学研究院有限责任公司一种多省区电网周运行计划编制方法

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
NL272844A (ja)*1960-12-22
US3253265A (en)*1961-12-291966-05-24IbmAssociative memory ordered retrieval
DE1921577B2 (de)*1969-04-281972-04-06Nixdorf Computer Ag, 4790 PaderbornTrommelartige vorrichtung zn buchungs- und schreibautomaten mit greifeinrichtung zum erfassen und einziehen von kontokarten o dgl
SE374973B (ja)*1970-02-171975-03-24Western Electric Co
US3610967A (en)*1970-02-271971-10-05IbmIntegrated memory cell circuit
US3634833A (en)*1970-03-121972-01-11Texas Instruments IncAssociative memory circuit
US4503511A (en)*1971-08-311985-03-05Texas Instruments IncorporatedComputing system with multifunctional arithmetic logic unit in single integrated circuit
US3878513A (en)*1972-02-081975-04-15Burroughs CorpData processing method and apparatus using occupancy indications to reserve storage space for a stack
US3953866A (en)*1974-05-101976-04-27Signetics CorporationCross coupled semiconductor memory cell
DE2460150C2 (de)*1974-12-191984-07-12Ibm Deutschland Gmbh, 7000 StuttgartMonolitisch integrierbare Speicheranordnung
GB1540299A (en)*1975-02-151979-02-07Mathematik Datenverarbeitung GComputer employing reduction language
FR2337398A1 (fr)*1975-12-301977-07-29Ibm FranceDispositif d'ecriture rapide pour cellules de memoire
DE3105503A1 (de)*1981-02-141982-09-02Brown, Boveri & Cie Ag, 6800 MannheimAssoziativer zugriffsspeicher
DE3270597D1 (en)*1981-06-301986-05-22Fujitsu LtdData processing system
US4447875A (en)*1981-07-071984-05-08Burroughs CorporationReduction processor for executing programs stored as treelike graphs employing variable-free applicative language codes
US4502118A (en)*1981-07-071985-02-26Burroughs CorporationConcurrent network of reduction processors for executing programs stored as treelike graphs employing variable-free applicative language codes
JPS58147889A (ja)*1982-02-261983-09-02Mitsubishi Electric Corp半導体装置
US4709327A (en)*1983-05-311987-11-24Hillis W DanielParallel processor/memory circuit
DE3335423A1 (de)*1983-09-291985-04-04Siemens AG, 1000 Berlin und 8000 MünchenSchaltung zur spannungsvervielfachung
US4654780A (en)*1984-06-051987-03-31Burroughs CorporationParallel register transfer mechanism for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4644464A (en)*1984-06-051987-02-17Burroughs CorporationGraph manager for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4615003A (en)*1984-06-051986-09-30Burroughs CorporationCondition concentrator and control store for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4785393A (en)*1984-07-091988-11-15Advanced Micro Devices, Inc.32-Bit extended function arithmetic-logic unit on a single chip
US4734848A (en)*1984-07-171988-03-29Hitachi, Ltd.Combination reduction processing method and apparatus
JPS61107596A (ja)*1984-10-311986-05-26Nec Corp連想記憶装置
US4598361A (en)*1985-01-111986-07-01Burroughs CorporationAllocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4616315A (en)*1985-01-111986-10-07Burroughs CorporationSystem memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US5173872A (en)*1985-06-131992-12-22Intel CorporationContent addressable memory for microprocessor system
US4847755A (en)*1985-10-311989-07-11Mcc Development, Ltd.Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US5021945A (en)*1985-10-311991-06-04Mcc Development, Ltd.Parallel processor system for processing natural concurrencies and method therefor
US4777622A (en)*1985-11-261988-10-11Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V.Associative data storage system
JPS62134890A (ja)*1985-12-051987-06-17Matsushita Electric Ind Co Ltd半導体記憶装置
EP0227348A3 (en)*1985-12-111991-09-25Advanced Micro Devices, Inc.Content addressable memory circuit and method
JPH0810553B2 (ja)*1986-06-131996-01-31松下電器産業株式会社記憶回路
GB2211638A (en)*1987-10-271989-07-05IbmSimd array processor
US4922413A (en)*1987-03-241990-05-01Center For Innovative TechnologyMethod for concurrent execution of primitive operations by dynamically assigning operations based upon computational marked graph and availability of data
GB8718056D0 (en)*1987-07-301987-09-03Int Computers LtdData processing system
JPH01223697A (ja)*1988-03-011989-09-06Mitsubishi Electric Corp内容番地付け記憶装置
US4890260A (en)*1988-05-111989-12-26Advanced Micro DevicesContent addressable memory array with maskable and resettable bits
US4928260A (en)*1988-05-111990-05-22Advanced Micro Devices, Inc.Content addressable memory array with priority encoder
US5099450A (en)*1988-09-221992-03-24Syracuse UniversityComputer for reducing lambda calculus expressions employing variable containing applicative language code
JPH02187993A (ja)*1989-01-131990-07-24Mitsubishi Electric Corp連想メモリ装置
GB8901924D0 (en)*1989-01-281989-03-15Int Computers LtdData processing system
KR910009445B1 (ko)*1989-02-021991-11-16정호선신경회로망을 이용한 연상메모리(Associative memory)
US5072422A (en)*1989-05-151991-12-10E-Systems, Inc.Content-addressed memory system with word cells having select and match bits
US5175843A (en)*1989-10-301992-12-29General Electric CompanyComputer-aided design method for restructuring computational networks to minimize shimming delays
US5201056A (en)*1990-05-021993-04-06Motorola, Inc.RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5014195A (en)*1990-05-101991-05-07Digital Equipment Corporation, Inc.Configurable set associative cache with decoded data element enable lines

Also Published As

Publication numberPublication date
DE69101242D1 (de)1994-03-31
EP0541684A1 (en)1993-05-19
AU8333191A (en)1992-03-02
EP0541682A1 (en)1993-05-19
AU8331291A (en)1992-03-02
CN1058667A (zh)1992-02-12
NO930302L (no)1993-03-31
FI930433L (fi)1993-02-01
US5239502A (en)1993-08-24
WO1992002876A1 (en)1992-02-20
WO1992002932A1 (en)1992-02-20
BG97386A (bg)1993-12-24
NO930302D0 (no)1993-01-28
ZA916118B (en)1992-05-27
NO930301D0 (no)1993-01-28
NO930303L (no)1993-03-23
DE69101640T2 (de)1994-07-21
LTIP385A (en)1994-11-25
FI930434A0 (fi)1993-02-01
CN1059225A (zh)1992-03-04
DE69106369D1 (de)1995-02-09
HU9300175D0 (en)1993-04-28
SK391392A3 (en)1994-06-08
AU8390291A (en)1992-03-02
EP0541683A1 (en)1993-05-19
FI930435L (fi)1993-04-02
CN1030019C (zh)1995-10-11
EP0541678A1 (en)1993-05-19
JPH05508730A (ja)1993-12-02
CA2086539A1 (en)1992-02-03
BG97381A (bg)1993-12-24
DE69102065T2 (de)1994-09-01
CN1059413A (zh)1992-03-11
CA2088577A1 (en)1992-02-03
LTIP379A (en)1994-11-25
NZ239239A (en)1994-08-26
DE69101640D1 (de)1994-05-11
SE9002558D0 (sv)1990-08-02
DE69102065D1 (de)1994-06-23
US5379387A (en)1995-01-03
ZA916123B (en)1992-04-29
DE69107460D1 (de)1995-03-23
FI930435A0 (fi)1993-02-01
SK402592A3 (en)1993-09-09
HUT63710A (en)1993-09-28
US5325501A (en)1994-06-28
CA2086592A1 (en)1992-02-03
NO930301L (no)1993-03-23
WO1992002875A1 (en)1992-02-20
FI930434A7 (fi)1993-04-02
IL99056A0 (en)1992-07-15
IL99051A0 (en)1992-07-15
HUT63505A (en)1993-08-30
CA2087023A1 (en)1992-02-03
AU654149B2 (en)1994-10-27
IL99052A0 (en)1992-07-15
CN1062426A (zh)1992-07-01
AU8332991A (en)1992-03-02
DE69101242T2 (de)1994-06-01
BG97385A (bg)1993-12-24
JPH05508723A (ja)1993-12-02
IL99052A (en)1994-12-29
IL99055A0 (en)1992-07-15
ES2051129T3 (es)1994-06-01
IL99054A0 (en)1992-07-15
NO930303D0 (no)1993-01-28
WO1992002933A1 (en)1992-02-20
LTIP382A (en)1994-11-25
DE69107460T2 (de)1995-10-05
TW215483B (ja)1993-11-01
AU8331691A (en)1992-03-02
EP0541684B1 (en)1994-04-06
HU9204177D0 (en)1993-03-29
FI930435A7 (fi)1993-04-02
ZA916121B (en)1992-05-27
EP0541682B1 (en)1994-12-28
CA2087022A1 (en)1992-02-03
JPH05508952A (ja)1993-12-09
CN1059799A (zh)1992-03-25
ES2056655T3 (es)1994-10-01
LTIP384A (en)1994-11-25
CN1027198C (zh)1994-12-28
NZ239242A (en)1994-12-22
EP0548094A1 (en)1993-06-30
CA2086591A1 (en)1992-02-03
US5437049A (en)1995-07-25
WO1992002877A1 (en)1992-02-20
ATE116455T1 (de)1995-01-15
CN1061865A (zh)1992-06-10
ATE105952T1 (de)1994-06-15
JPH05508725A (ja)1993-12-02
JPH05508729A (ja)1993-12-02
NZ239240A (en)1995-03-28
US5555434A (en)1996-09-10
ATE104084T1 (de)1994-04-15
US5241491A (en)1993-08-31
AU654295B2 (en)1994-11-03
EP0541678B1 (en)1994-05-18
TW215959B (ja)1993-11-11
TW215960B (ja)1993-11-11
CN1030018C (zh)1995-10-11
TW199926B (ja)1993-02-11
EP0541683B1 (en)1994-02-23
FI930433A7 (fi)1993-02-01
AU8325091A (en)1992-03-02
HU9300263D0 (en)1993-05-28
KR930701818A (ko)1993-06-12
IL99053A0 (en)1992-07-15
ATE101933T1 (de)1994-03-15
ZA916116B (en)1992-05-27
EP0541685B1 (en)1995-02-15
ATE118640T1 (de)1995-03-15
FI930433A0 (fi)1993-02-01
IL99055A (en)1994-12-29
ZA916119B (en)1992-05-27
LTIP381A (en)1994-12-27
RO109487B1 (ro)1995-02-28
TW199213B (ja)1993-02-01
ZA916120B (en)1993-01-27
LTIP380A (en)1994-12-27
IL99056A (en)1994-11-11
ES2050545T3 (es)1994-05-16
EP0541685A1 (en)1993-05-19
WO1992002874A1 (en)1992-02-20

Similar Documents

PublicationPublication DateTitle
JPH05508722A (ja)リダクションプロセッサ
US11977977B2 (en)Methods and systems for data analysis in a state machine
Ku et al.High level synthesis of ASICs under timing and synchronization constraints
US20130159671A1 (en)Methods and systems for detection in a state machine
US20100241835A1 (en)Processor with automatic scheduling of operations
CN103443767A (zh)展开量化以控制自动机的入度和/或出度
CN103547998A (zh)用于编译正则表达式的方法和设备
WO2014035699A1 (en)Results generation for state machine engines
CN109582364B (zh)基于忆阻器的精简指令集处理器
US20170364474A1 (en)Devices for time division multiplexing of state machine engine signals
EP0256134A1 (en)Central processing unit
LesserDynamic Control Structures and their use in Emulation
JPS6223891B2 (ja)
MatsaCompiling for coarse-grain reconfigurable architectures
ChenA hardware compiler for VLSI synthesis applications
SaccardiLogic and systems design of the arithmetic and memory units for a reorganizable electronic digital computer
LesserDynamic control structures and their use in emulation [Thesis]
BarbourThe AMACS architecture: the design of a data-flow architecture for a distributed controlled robotics system
JPH01159731A (ja)命令処理装置においてルーチン間のアーギュメントの通信を維持するための機構

[8]ページ先頭

©2009-2025 Movatter.jp