【誤訳訂正書】
【提出日】平成20年4月28日(2008.4.28)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【書類名】明細書
【発明の名称】汎用固定命令セット（ＦＩＳ）ビットスライスフィードバックプロセッサユニット／コンピュータシステム
【技術分野】
【０００１】
本発明は、汎用ＦＩＳプロセッサユニット、及び汎用ＦＩＳマイクロプロセッサユニットと、これらを中心に構築したコンピュータとに関する。
【背景技術】
【０００２】
１９３０年代後半及び１９４０年代前半における最初の電子計算機の概念以来、こうしたデバイスと、これによって生じた産業との発展において重要な決定的要素の一つは、ハードウェアのコストであった。このため、初期世代の汎用ＦＩＳプロセッサユニットの開発者らは、費用効率に優れた汎用ＦＩＳプロセッサユニットを製造するための最も有効な方法がＡＮＤ又はＯＲゲート、フリップフロップ、その他の多数の論理回路によってこれを構築することであるのを、迅速に、最も強烈に学んだ。
【０００３】
しかしながら、電子産業全体では、これと同時期に形を成した別の開発系統が存在し、本特許出願において説明するデバイスにとっては最も重要なものとなる。その開発とは、汎用ＦＩＳプロセッサユニットを中心に構築される汎用コンピュータから区別される専用コンピュータの開発である。こうした専用機は、一般に、ビットステートプログラミングとしても知られる、ビットスライス（フィードバック）プログラミング（bit slice (feedback) programming)の概念を中心に構築された。
【０００４】
このプログラミング技術の性質に関しては、単にコードのシーケンス（現在に至るまでバイナリ形態）を書くことによって構成され、プログラムの進行の各ステップは、二つの入力により決定される。第一の入力は、「外部」世界から提供されるものである。一般には、この入力は、一つ以上のアナログ電子信号をデジタル形式に変換することで達成され、その後「コンピュータ」（つまり、メモリチップのアドレスライン）に直接的に供給される。この特殊なタイプのプログラムへの第二のタイプの入力に関しては、バイナリコード自体で構成され、つまり、以前のステップのバイナリコードの全てではないとしても一部が、次に読み出されるメモリ位置、つまり、プログラムの次のステップに関するアドレス値の一部として、コンピュータシステムに戻される。こうした、出力の一部を取り出し、同じメモリ回路に対する入力として使用する動作によって、システムには、フィードバックと呼ばれるものが導入される。
【０００５】
次に、こうしたビットスライスフィードバックコンピュータを製造するための基本的な最小限のハードウェア要件に関しては、メモリチップと、ホールドレジスタ（一部のケースでは、フィードバックの不安定性を発生させることなく、クロック入力によってメモリチップを制御できる場合には、ホールドレジスタはシステムから外すことができる）と、クロックと、回路基板と、という四種類のコンポーネントで構成される。
【０００６】
最後に、過去３０年間に電子産業において開発され、適度に使用されてきた、もう一つのデバイスが存在し、このデバイスは本特許出願において、ビットマップ処理デバイスと呼ばれている。このタイプのデバイスは、現在に至るまで、主に二つの機能に関して使用されてきた。第一の用途は、所定のデジタル電子システム内で、一つのサブシステムから他のサブシステムへ供給する必要があるビット数を減らすことである。第二の用途は、所定のシステム内の多くの異なる内部状態、つまり、多くの異なるビットの組み合わせを、一つだけの特定の発信内部状態又は特定のビットの組み合わせに変換することである。この後者のタイプの処理は、リレーショナルデータベースシステムにおいて、多対一の機能と呼ばれることが多い。
【０００７】
しかしながら、このタイプのデバイス、つまり、ビットマップ処理デバイスを応用可能な第三の用途が存在し、この用途は、本特許出願において新規性のあるものとして特定される汎用ＦＩＳプロセッサユニットにとって極めて重要となる。更に、あらゆる形の数学的及びアルゴリズム的問題に迅速かつ効果的に答え、あらゆるタイプのビットバイト及びワード操作に応答を提供する。
【０００８】
ビットマップ処理の性質に関しては、並列かつ段階的に互いにリンクされた一つ以上のメモリ回路（一般には不揮発性）によって構成され、前記メモリ回路は事前に適切にプログラムされる。こうしたリンクされたメモリ回路は、適切にプログラムされたメモリ値により、様々な入力状態を別の出力状態セットに変換するのに使用することができる。
【発明の開示】
【０００９】
次に、本特許出願において特許承認のために提出するデバイスの説明を行う。
【００１０】
ビットスライスフィードバックプログラミングの用途は、過去に使用されたように特化したタスクを行う専用コンピュータを製造するためではなく、この技術をビットマップ技術と併せて使用し、専用及び汎用コンピュータシステムにおいて使用する、広範な、完全に機能する汎用ＦＩＳプロセッサユニットを作成するためのもので、汎用ＦＩＳプロセッサユニットは、必要に応じてコンパレータ回路に置き換えることが可能なメモリ回路のアドレスシステムを除いて、ＡＮＤ又はＯＲゲート、フリップフロップ、及びその他といった論理回路に関して、これを殆ど必要としないものとなる。更に、ビットスライスフィードバックメモリデバイスのフィードバックループにおけるオーバランを防止すること等、このシステム内でいくつかの基本機能を実行するために必要となる場合がある、いくつかのシフトレジスタ、ホールドレジスタ、及び／又はカウントレジスタにおいては、いくつかの論理ゲートが必要となる場合がある。
【００１１】
現在、そのような製品、以下のステートメント（２）、（６）に関する汎用ＦＩＳプロセッサユニットを製造するために、必要なことは、現在までの電子産業での２つの異なる開発を融合することである。現在までの汎用コンピュータの基本的なコンセプトの開発、装置は、複数の論理回路で構成された汎用マイクロプロセッサユニットに基づいて構成されているもの、及びビットスライスフィードバックプログラミング及びビットマップ処理から構成されている専用コンピュータである。
【００１２】
なぜ、電子産業でこうした３つの製品（汎用コンピュータ、ビットスライスフィードバックプログラミングデバイス及びビットマップ処理デバイス）がいまだに１つの製品に融合されていないかについて、現在は融合することが可能であるが、原理的には、ハードウェアが一般の汎用コンピュータの開発、特に汎用ＦＩＳプロセッサユニットの開発コストがかかるという上記の影響のためである。単にビットスライスフィードバックプログラミング及びビットマップ処理を使用し、複数の論理回路の方法によらない十分な機能を有する１６ビット汎用ＦＩＳプロセッサユニットの開発プロセッサユニットを製造するためには、現在、メガバイトのＲＡＭ又はＲＯＭを必要とすると認識されなければならない。
【００１３】
ごく最近まで、こうした量のメモリのコストは、このタイプのデバイスを可能とするには、法外に高いものだった。そのため、「ソフトウェア」に基づく汎用ＦＩＳプロセッサユニットが、論理回路から構築された汎用ＦＩＳプロセッサユニットより、多くの点で遙かに勝っており、現在も以前としてそうであるとしてもビットスライスフィードバックプログラミング及びビットマップ処理のみに基づき、論理回路に基づかない汎用ＦＩＳプロセッサは、その時代には、当時実際に構築されていた汎用ＦＩＳプロセッサとの競合で成果を上げることはできなかった。或いは、そうであると認識されていた。
【００１４】
しかし現在、最初の汎用ＦＩＳマイクロプロセッサの導入から３０年を経て、集積回路の製造において生じたあらゆる進歩により、１６ビットメモリの価格は、３２ビット、６４ビット、及び１２８ビットメモリについても同様に、メモリのみから構築されたプロセッサユニットを形成することに対するコストの明確な障壁が消滅してしまう価格範囲にまで降下している。実際、現在のコストのメモリでは、ステートメント（２）及び（６）のビットスライスフィードバック汎用ＦＩＳプロセッサユニットを大量生産するコストは、１０又は２０メガバイトのメモリが必要である場合、機能を形成するためにＡＮＤ又はＯＲゲート、フリップフロップ、及びその他といった多数の論理回路を使用する現世代の汎用ＦＩＳマイクロプロセッサのものと比べ、遙かに安価ではないとしても、等価のものにはなる。
【００１５】
一連のブラックボックスとしての汎用ＦＩＳコンピュータシステムの基本設計
図１は、汎用ＦＩＳプロセッサユニット自体の観点から見た、汎用ＦＩＳコンピュータシステムで作ることができる最も基本的なブロック図である。この図は、関与する汎用ＦＩＳプロセッサユニット又はマイクロプロセッサのタイプに関係なく有効であり、現在製造されているマイクロプロセッサのように、ＡＮＤ及び／又はＯＲゲート、シフトレジスタ、フリップフロップ、及びその他で構成される多数の論理回路から構築されるもの、或いは、様々な専用メモリ回路に設置されるビットスライスフィードバックプログラム及びビットマップ処理から構築されるプロセッサユニットとなる。
【００１６】
図１の右側には、汎用ＦＩＳプロセッサユニット自体がある。この図の観点から、この「汎用ＦＩＳプロセッサユニット」は、ブラックボックスとして見ることが可能である。すなわち、電力及び信号が所定の形で入り、その後、こうしたエネルギフローがこのボックスに入り、別の信号、別のエネルギフローが後にこのボックスから戻ってくる。こうした出力信号は、このボックスに入る信号と同様に、明確に定義された所定の形で出てくる。
【００１７】
次に、図１の左上には、「残りの汎用ＦＩＳコンピュータ（Rest of the general purpose FIS computer」がある。この図の観点から、これもブラックボックスとして考えることができる。「汎用ＦＩＳプロセッサユニット」のブラックボックスと同じく、物（つまり、エネルギ源及び信号）が、定められた形でこのボックスに入力する。そして、その後、物（電力及び他の信号）は、この箱から戻ってくる。これらは、十分に秩序ある形で戻ってくる。しかしながら、図１のその他のボックス―「残りの世界(Rest of World)」及び「汎用ＦＩＳプロセッサユニット」ボックス―の観点から見ると、「残りのＦＩＳ汎用コンピュータ(Rest of FIS General Purpose Computer)」が他のブラックボックスによって求められることを行う限り、このボックス内部で実際にどのように機能しているかは関係ない。
【００１８】
次に、これらのボックスの最後は、図１の左下にあるボックスである、「残りの世界(Rest of world」である。他の二つのボックスと同様に、これもブラックボックスとして見ることが可能であり、このブラックボックスは、残りの世界からコンピュータシステムに一次エネルギ源及び入力信号を提供するブラックボックスである。「残りのＦＩＳ汎用コンピュータ」に進み、残りの世界へと向かう出力信号を受領するのも、このシステムであり、このブラックボックスである。
【００１９】
それから、これら３つのブラックボックスは、８本の矢印がある。このシステムが汎用ＦＩＳコンピュータとして実行する場合に、これらさまざまなブラックボックス間でおこらなければならない様々な形のエネルギーの流れをあらわしている。こうしたエネルギーの流れによって、こうした様々なボックスは、規則的かつタイムリーに互いに通信することが可能である。
【００２０】
この図の矢印の第１のものによれば、図１の「汎用ＦＩＳプロセッサユニット」及び「残りのＦＩＳ汎用コンピュータの間の上部中央の矢は、「パワーバス」と表示されている。それは、「残りのＦＩＳ汎用コンピュータ」から「汎用ＦＩＳプロセッサユニット」への１次エネルギーの流れを示している。もし、多くの種々の機能の全て実行するとき、「汎用ＦＩＳプロセッサユニット」が受領しなければならないエネルギーである。
【００２１】
「パワーバス」の下方にある第２の矢は、「データ入出バス」と呼ばれるものであり、「残りのＦＩＳ汎用コンピュータ」から「汎用ＦＩＳプロセッサユニット」及びその反対へ移動する複数のエネルギーの流れを示している。この複数のエネルギーの流れである入力バスは情報を汎用ＦＩＳプロセッサユニットへ転送する。後者のシステムが様々なサブシステムから必要とする情報は、実行可能なように「残りの汎用ＦＩＳコンピュータ」内で見つけられる。この情報の流れに含まれるものは、最終的にはエンドユーザーによって与えられたタスク、終了したタスクを実行するために必要な次のステップを正確に「汎用ＦＩＳプロセッサに伝達する命令である。
【００２２】
命令に加えて、このバスの情報の流入は、「汎用ＦＩＳプロセッサユニット」が順次「残りのＦＩＳ汎用コンピュータ」にあるコンピュータシステムの他の部分に送り返すデータを含む。しかし、しばしば、「汎用ＦＩＳプロセッサユニットがこのデータに送り返す前に、多くの様々な方法（データを同時に追加、右又は左にデータの構造をシフトしたり、データのビットを１又はそれ以上の変更したり等）の一つによってこの情報は操作される。このデータの操作は、起こった場合に、「汎用ＦＩＳプロセッサユニット」が「残りのＦＩＳ汎用コンピュータから以前に受け取った情報によって決定されるであろう。
【００２３】
そして、このデータ入出バスが出力バスとして機能するとき、上記データを、それが操作された後の多くの場合において、「残りの汎用ＦＩＳコンピュータ」にある様々なサブシステムの１又はそれ以上に戻される。残りのコンピュータシステムに戻されたこのデータに含まれるものは、様々な「残りのＦＩＳ汎用コンピュータ」のサブシステムが異なった時間に、ある先の時点でアクセスするメモリの位置又はＩ／Ｏシステムを決定するために使用される。
【００２４】
一連のブラックボックスとしての汎用ＦＩＳコンピュータシステムの基本的な分析
これは、そのため、汎用ＦＩＳプロセッサユニットの観点から見た、全ての汎用ＦＩＳコンピュータシステムに関する基本概略図であり、全ての構成要素は、エネルギ及び位置エネルギの流れを含め、ブラックボックスとして扱われる。上記のように、他のシステムから期待されるタスクを実行している限り、こうした様々なブラックボックスが実際に内部でどのように処理を行っているかは問題ではない。この図の観点で問題になるのは、これらが、残りのシステムに対する自分の「義務」を果たすことのみである。この概念は、「汎用ＦＩＳプロセッサユニット」及び「残りのＦＩＳ汎用コンピュータ」の両方の内部での、論理回路の使用からビットスライスフィードバックプログラム及びビットマップ処理デバイスの使用への変換において、重要な役割を果たすことになる。
【００２５】
メモリの使用について
この説明の現在の時点で述べておく必要があることとして、メモリ回路とメモリシステムとは、本特許出願の中で、二種類の全く別個の異なる方法で使用される。こうしたタイプの汎用ＦＩＳコンピュータシステム内でメモリが利用される使用法の一つは、「汎用ＦＩＳプロセッサユニット」の外部となる。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築される、このタイプの汎用コンピュータにおける第二の基本的なメモリの使用法は、「汎用ＦＩＳプロセッサユニット」自体の内部である。
【００２６】
こうしたメモリの使用の記述のために、ＲＡＭ等の「残りのＦＩＳ汎用コンピュータ」内と、キャッシュ及び起動機能に関して使用されるＲＯＭ等の非計算機能に関する「汎用ＦＩＳプロセッサユニット」内部とにおいて生じる全てのメモリの使用法は、本特許出願において、メモリという用語の直前に現れる「外部」という用語によって特定されることになる。更に、この外部という用語は、この特定の使用法において、カッコによって囲まれる。この新しいタイプのコンピュータシステムにおけるメモリの後者の使用法、つまり、ビットマップ機能及びビットスライスフィードバック機能に関して「汎用ＦＩＳプロセッサユニット」自体の内部で利用されるメモリの使用法については、メモリという用語が、その前に現れるこの「外部」という修飾語なしに使用される時は常に推察されることになる。
【００２７】
コンピュータシステム及びそれらの通信システムのブラックボックスの将来
次に、ステートメント（２）及び（６）のラインに沿って構築された「汎用ＦＩＳプロセッサニット」を説明する。ブラックボックスとして見ると、このタイプのプロセッサユニットは、望ましい場合、多数の論理回路から構築された現在の汎用ＦＩＳマイクロプロセッサが動作するのと全く同じように動作するように作ることができる。つまり、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットは、あらゆる意図及び目的に関して、現世代のＩｎｔｅｌ又はＡＭＤマイクロプロセッサのものと同じ「残りのＦＩＳ汎用コンピュータ」のように見えるものとして作成することができる。或いは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットは、Ａｐｐｌｅ  Ｃｏｒｐｏｒａｔｉｏｎが製造するようなコンピュータシステムに組み込まれるものである、最新世代のＭｏｔｏｒｏｌａマイクロプロセッサの動作を正確に模倣するように設計することができる。必要な場合、請求項（２）及び（６）の汎用ＦＩＳプロセッサユニットは、これらのいずれか、或いは他の任意のマイクロプロセッサ製造業者が過去に製造した任意の旧世代のプロセッサのように動作するものとして設計することができる。ある状況では、大きな違いとなる多数の論理回路から構成されたものと、ビット・スライスフィードバック・プログラム及びビットマップ処理から構成されたものの二つのとても異なって構成された「汎用ＦＩＳプロセッサユニット」の間の唯一の違いは、「残りのＦＩＳ汎用コンピュータから「汎用ＦＩＳコンピュータが作製プロセッサプロセッサユニット内プロセッサユニット」に流れるパワー、「パワーバス」を通じて転送されるパワーの量である。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサが命令を実行するために必要とさえるエネルギー量は、一般に、現在の汎用ＦＩＳマイクロプロセッサのそれより遙かに少ない。メモリ回路では、一般に、半導体チップに載置された多数の論理回路よりエネルギーの利用に要求されるものよりとても少ないものである。
【００２８】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの設計は、どのような形であっても、多数の論理回路を中心に構築された現世代又は過去の世代の汎用ＦＩＳマイクロプロセッサを模倣するだけのものに制限又は制約されることはない。多数の論理回路の設計及び構築と比較して、ビットスライスフィードバックプログラム及びビットマップ処理は容易に設計及び実施可能であることから、ステートメント（２）及び（６）に基づいてあらゆる範囲の新しいタイプの「汎用ＦＩＳプロセッサユニット」を構築可能であり、これまで存在しなかった汎用プロセッサとなる。新しいタイプの汎用プロセッサの設計仕様は、それをつくるために使用された製造工程によって原理的に決定されるのではなく、それらが含むデータとよりよく適合する「外部」の専用メモリシステムのように、コンピュータシステムの「残りのＦＩＳ汎用コンピュータ」内の非常に優れたシステムをどのように設計するかに由来する。
【００２９】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット周辺に作製された汎用コンピュータで使用されるプログラムの本質について
【００３０】
「プログラム」という用語は、本特許出願において、二種類の全く別個の形で使用される。一つの意味において、この用語は、「汎用ＦＩＳプロセッサユニット」（設計に無関係）に、このプロセッサの動作を命令するために送られる、命令及びアドレス値の任意のシーケンスを指す。このタイプの「プログラム」は、一つ以上の「外部」メモリシステムに格納されるものである。本特許出願において「プログラム」という用語が適用される第二の形式は、ステートメント（２）及び（６）において特定される、この新しいタイプのプロセッサユニット自体の内部で使用されるビットスライスフィードバックプログラミング及びビットマップ処理についてのものである。
【００３１】
これら二つの全く異なるこの用語の使用法の間を明確に区分するために、今後、これらの用語は、次のように表現される。この用語が、ハイフンなしで、単独で使用される場合、様々なユーザによって「汎用ＦＩＳプロセッサユニット」に送られるプログラムを形成する状態となる命令及びアドレス値の様々なシーケンスの全てを指し、使用時に「残りのＦＩＳ汎用コンピュータ」の「外部」メモリに格納されるプログラムであり、「汎用ＦＩＳプロセッサユニット」に行うべきことを命令するものである。この用語が「プロセッサ−プログラム」のようにハイフンで結ばれる場合、ステートメント（２）及び（６）において表現されるプロセッサユニットの内部構造の一部である、ビットスライスフィードバックプログラム及び／又はビットマップ処理のいずれかを指す。
【００３２】
コンピュータシステム及びそれらの通信システムのブラックボックスの将来
【００３３】
「残りのＦＩＳ汎用コンピュータ」と通信システムとの両方の内部構造が確立された後、「汎用ＦＩＳプロセッサユニット」の内部構造に関して決定する必要のある詳細を定めることができる。一般に、この最後の手順の第一のステップは、設計中のステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに関する命令セットに何が含まれるかを特定することで開始される。次に、これが完了した後、このシステム用に、プロセッサ−ソフトウェアを設計及び作成する必要がある。最初に、このプロセッサ−プログラムは、構成して書く必要がある。次に、こうしたプロセッサ−プログラムは、これらを収容するハードウェアシステムに配置する必要がある。
【００３４】
これは、この新しいタイプの「汎用ＦＩＳプロセッサユニット」を作成する第二のステップ、つまり、こうした様々なプロセッサ−プログラムを収容するハードウェアを設計及び構築するステップにつながる。次に、これが完了した後、この新しいタイプの「汎用ＦＩＳプロセッサユニット」で実行するプログラム（オペレーティングシステム及びデータ処理システム等）を作成する必要がある。これは、四種類のいずれかの方法で実行可能であり、第一は、ステートメント（２）及び（６）に基づくこの新しいコンピューティングシステムが既存のソフトウェアを実行するように、これを設計することである。第二は、新しいタイプのコンピュータで実行できるように、既存のソフトウェアを修正することである。第三は、新しいソフトウェアを最初から書くことである。或いは、最後の方法は、最初の三種類の選択肢の組み合わせを実行することである。
【００３５】
これによって、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを設計し、その後構築することが可能な、二種類の様々なアプローチが確立され、第一のタイプのシステムは、多数の論理回路から構築された一つ以上の現在のマイクロプロセッサを模倣することを意図したもので、ただしこれには、多くのケースにおいて、模倣するマイクロプロセッサ又は複数のマイクロプロセッサには存在しない更なる強化点及び特徴も組み込まれる。第二のタイプのシステムは、所定のタスク又はタスクのセットに関して作成可能な最良のバランスのコンピュータシステムを作成するために設計され、つまり、所定のタスク又はタスクのセットに対する全てのサブシステムの性能を最大化するコンピュータシステムである。
【００３６】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの基本設計
こうした二つのタイプのステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットがどのように構築されるかについて考えると、興味深い事実が現れる。こうした二つの異なるアプローチ−現在の汎用ＦＩＳプロセッサユニットを模倣するもの及びコンピュータシステムの全体的性能を最大化するもの−のそれぞれが、内部的に、同じ基本的な基盤アーキテクチャ、つまり図２に示す内部構造を有することが分かるのである。同じ基本アーキテクチャによって、こうした異なる結果がどのように達成されるかについては、ビットスライスフィードバックプログラム及びビットマップ処理に関連する優れた力のためであり、つまり、異なるコードにより、異なる性能を有するためである。
【００３７】
次に、こうしたステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの標準サブシステムについて言うと、本特許出願において考慮される図２に表示の最初の二つは、「電源バス」及び「データ入出パワーバス」のものであり、この図の「電源バス」は、単純に、図１に記載の「電源バス」の延長である。「データ入パワーバス」は、一連のマルチプレクサ及びバッファを通じて、図１の「データ入出パワーバス」につながる。言い換えれば、「データ入出パワーバス」の入力側である。
【００３８】
こうした二つのサブシステムの第二のものは、「データ入出パワーバス」のものである。データは、このパス上で、「残りのＦＩＳ汎用コンピュータ」の「外部」メモリバンク及び／又はＩ／Ｏシステムから、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにおいて受領されることになる。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに入ると、このデータ入出パワーバスは、より従来型のＦＩＳ汎用プロセッサにおいて、三つの異なる経路に分裂する。これら三つの経路の第一のものは、その後プロセッサの動作を命令する動作コードをデコードするマスタコントロールユニットへ進む。この新世代のステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにおいて、このマスタコントロールユニットは、本特許出願において、「一次ビットスライスフィードバックプログラムメモリシステム」及び「基礎制御メモリシステム」から成る。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの一部の設計において、この経路は、最初に「ホールド」サブシステムを通過し、その後、マスタコントローラの第一の構成要素で終了する場合があり、これは「一次ビットスライスフィードバックプログラムメモリシステム」のものとなる。
【００３９】
「データ入出パワーバス」が分裂する第二の経路は、算術論理演算ユニット（ＡＬＵ）へ進み、同様に数学コプロセッサ（通常は、浮動小数点演算計算及び三角関数といった数学の高度な形態の数学を実行するのに使用される）へと進むが、これは汎用ＦＩＳプロセッサに後者のシステムが含まれている場合である。この新しいステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにおいて、ＡＬＵ及び数学コプロセッサは、一つのものとして扱われ、「ＡＬＵ／数学コプロセッサシステム」と呼ばれる。
【００４０】
現在及び過去の世代の汎用ＦＩＳプロセッサにおいて、「データ入出パワーバス」が分裂して向かい終了する第三の位置は、アドレスシステムの位置である。しかしながら、この新しいタイプのステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにおいて、アドレス機能は、望ましい場合、論理に基づく汎用ＦＩＳプロセッサにおいて見られるものに比べ、遙かに複雑で入り組んだものにすることができる。こうした進歩の結果の一つは、所定の設計において適用される場合、アドレスハードウェアが、一部又は大部分のケースにおいて、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット自体の内部構造の一体化部分にならないことである。正しくは、アドレス機能は、この設計の変更が使用される場合、多数のスタンドアロンチップに配置され、コンピュータシステム自体の全体に配置され、特に、「残りの汎用ＦＩＳコンピュータ」全体に配置される。これがどのように実行されるかの詳細については、下に記載される「最良の形態」のセクションにおいて説明される。
【００４１】
ホールドサブシステム
次に、「ホールド」サブシステムについて言うと、システムが「データ入出パワーバス」上で以前に送信された命令を保存する必要がある時は常に、このステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの所定の設計に含めることができる。これが発生するのは、例えば、「一次ビットスライスフィードバックプログラムメモリシステム」内に収容されるビットスライスフィードバックプログラムが動作の中でサブルーチンを実行する必要があり、このサブルーチンが、完了後に、マスタコントローラに対して、サブルーチンの実行の直前に実行していた以前の命令へ戻ることを求めるものである場合である。この「ホールド」サブシステムの目的は、このタイプのプロセッサユニットがこれと同じことを行い、「データ入出パワーバス」上で再度命令を送信させる必要なしに以前の命令を呼び戻すのを可能にすることである。この時、データバスは、「汎用ＦＩＳプロセッサユニット」、特に「ＡＬＵ／数学コプロセッサシステム」に、他のデータを転送する等、他の事柄へと移行していることが可能である。これが発生する時、動作コード（Ｏｐ．コード）は、「データ入出パワーバス」から位置を変えていることになる。
【００４２】
ビットスライスフィードバックプログラムメモリシステム
次に説明するのは、このステートメント（２）及び（６）に従って構築された「汎用ＦＩＳプロセッサユニット」の中心及び中核であり、図２に示すような、「一次ビットスライスフィードバックプログラムメモリシステム」及び「基礎制御メモリシステム」に関するものである。マスタコントローラがステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにおいて見られる残りのサブシステムの全てを制御するのは、「一次ビットスライスフィードバックプログラムメモリシステム」の作用によってであるため、この「汎用ＦＩＳプロセッサユニット」は、「残りの汎用ＦＩＳコンピュータ」が出した全ての要求に正確に応答することができる。「一次ビットスライスフィードバックプログラムメモリシステム」がこのタスクをどのように達成するかについては、主に、その出力を「基礎制御メモリシステム」に送信することでこれが行われ、このサブシステムは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの全体的なレイアウトにおいて、「一次ビットスライスフィードバックプログラムメモリシステム」に次いで二番目に重要なものである。「一次ビットスライスフィードバックプログラムメモリシステム」が、この新しい汎用コンピュータの一部の設計において、出力を送信できる第二のサブシステムは、「ＡＬＵ／数学コプロセッサシステム」である。
【００４３】
「一次ビットスライスフィードバックプログラムメモリシステム」の基本構造については、ホールドレジスタ（必要に応じて、小さなビットスライスフィードバックメモリシステムと交換可能）と、内部バスシステムと、メモリ回路とによって形成され、これらの全ては、その動作の大部分の間に、こうした構成要素の全てが「標準の」ビットスライスフィードバックプログラムシステムとして機能するように構築及びプログラムされることになる。基本レイアウトは、図２７に表示されている。
【００４４】
基礎制御メモリシステム
「一次ビットスライスフィードバックプログラムメモリシステム」が直接通信し、上で特定したように、マスタコントローラのもう一方の構成要素である「基礎制御メモリシステム」について言えば、このサブシステムは、二つの基本的な責任を有する。第一の責任は、その出力制御ラインによって、図２に占示すようなステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット内部に存在する全てのサブシステムの正確な状態を設定することに関するものである。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット内部の様々なサブシステムが示すこうした様々な状態によって、前記「汎用ＦＩＳプロセッサユニット」は、行う必要がある事柄を行うこと、つまり、「残りの汎用ＦＩＳコンピュータ」から「データ入出パワーバス」を経由して受領した命令を実行することが可能となる。
【００４５】
「一次ビットスライスフィードバックプログラムメモリシステム」を含め、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの全てのサブシステムの内部状態を設定することに加え、「基礎制御メモリシステム」は、同じく図２に表示される「クロックシステム１」―ステートメント（２）及び（６）に基づく新しいコンピューティングシステムの設計が、非同時性の概念を基盤として構築されるのではなく、マスタクロックを使用する場合―と、「サブシステムイネーブラ用メモリコントローラ」との両方からの出力に関連して、「残りの汎用ＦＩＳコンピュータ」の必要なサブシステムの全てを設定する「制御バス」上で送信される値を提供することにも責任を有し、これにより、こうしたサブシステムは、「汎用ＦＩＳプロセッサユニット」との間で適切にデータを送受信することができる。これにより、図１に表示されるこの汎用ＦＩＳコンピュータの様々な部分は、協調して動作し、この汎用ＦＩＳコンピュータがユーザ又は複数のユーザから実行を求められる全てのタスクを実行できるようになる。
【００４６】
このサブシステムの内部構成に関して、「基礎制御メモリシステム」は、主にビットマッププロセスを収容するメモリ回路の一つ以上のバンク（ただし、その機能の一部は、ビットスライスフィードバックプログラミングとして定義するほうが適切である−しかしながら、この区別については、下で更に詳細に説明する）と、いくつかのホールドレジスタ（これも、必要に応じて、ビットスライスフィードバックプログラムを収容する小さなメモリ回路と交換可能）と、多数のカウントレジスタ（同じく、必要に応じて、ビットスライスフィードバックプログラムを収容する小さなメモリ回路と交換可能）と、一対のマルチプレクサ及び／又はイネーブラとによって構成される。
【００４７】
ＡＬＵ／数学コプロセッサシステム
このサブシステムは、「ビットスライスフィードバックプログラムメモリシステム」と「基礎制御メモリシステム」との両方の直接制御下で、汎用ＦＩＳビットスライスフィードバックマイクロプロセッサユニットが達成しなくてはならない様々なデータ操作及びデータフローの全てを実行すること、つまり、加算、減算、乗算、及び他の多くの可能な数学関数、更にはビット操作及び他の多くのアルゴリズム関数でのバイトの左右へのシフト等に責任を有する。別の形で表現すると、「汎用ＦＩＳプロセッサユニット」が所有する、更には、多くのケースにおいて、完全に機能する汎用ＦＩＳプロセッサユニットとなるために所有する必要がある、こうした機能の全ては、この一つのサブシステムによって提供され、このサブシステムは次に、「ＡＬＵ／数学コプロセッサシステム」のものである、多数のサブ−サブシステムによって構成されることになる。
【００４８】
このステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットのサブシステムが、この全ての作業をどのように達成するかに関しては、最初に上記の「データ入出パワーバス」上で入力を受領することで実行される。次に、「ＡＬＵ／数学コプロセッサシステム」は、必要な場合、このデータを操作する（加算、減算、その他等）。最後に、このデータを、場合によっては操作した後で、「データ入出パワーバス」を経由して、「残りの汎用ＦＩＳコンピュータ」内の一部のサブシステムに返送する。
【００４９】
「ＡＬＵ／数学コプロセッサシステム」が実行可能な様々な操作を実行することに関しては、ローカルのビットスライスフィードバックコンピューティングデバイス（ローカルビットスライスフィードバックコントローラとも呼ばれる）によって制御されるビットマップ処理を使用し、こうした様々な機能の全てを提供する。こうした「ＡＬＵ／数学コプロセッサシステム」の機能性は、必要な場合、ビットマップ処理とビットスライスフィードバックプログラミングとの両方を含む多数の異なるメモリバンクに分散させることが可能であり、殆どのケースではこのようになる。様々なメモリバンクでのこうした機能性の分散が行われる度合いは、データ操作及び数学関数に関して、汎用ＦＩＳプロセッサユニットに求められる速度と機能性の度合いに応じて変化する。こうした様々なアルゴリズム関数（数学、論理、操作）を達成する「ＡＬＵ／数学コプロセッサシステム」内のこうした異なるメモリバンクのそれぞれでは、異なるビットマップ処理及びビットスライスフィードバックプログラムをプログラムする必要がある。
【００５０】
対応するビットマップ処理プログラムを伴う「ＡＬＵ／数学コプロセッサシステム」のこうした様々なメモリバンクの全てが正確に機能するために、これらは、適切なデータを受領する必要があり、このデータは、上記のように、「データ入出パワーバス」上で提供される。これが、「ＡＬＵ／数学コプロセッサシステム」に組み込まれる第二の主要なサブシステムが行うことである。デマルチプレクサ、マルチプレクサ、及び／又はイネーブラの列の使用を通じて、「ＡＬＵ／数学コプロセッサシステム」は、「データ入出パワーバス」から、加算、ビット操作、乗算、その他といった、行う必要がある所定の機能を実行する正しいビットマップ処理を含む、適切なメモリバンクへの情報の流入を方向付けることになる。
【００５１】
次に、「ＡＬＵ／数学コプロセッサシステム」に含まれる第三のサブシステムに関しては、第二のサブシステムと同様に、「ＡＬＵ／数学コプロセッサシステム」内での情報の流れを方向付ける。しかし今度は、このサブシステムは、このサブシステムから「データ入出パワーバス」へとデータを方向付ける。これは、同様に、一連のマルチプレクサ、デマルチプレクサ、及び／又はイネーブラによって構築される。
【００５２】
アドレスバス
述べておくべき点として、本特許出願において提示される二つの一般的な図、図１及び図２には、「アドレスバス」が欠如している。この理由は単純である。アドレスバスは、あらゆる意図及び目的において、この場合にはアドレス値であるデータの所定のストリームを「汎用ＦＩＳプロセッサユニット」から「残りの汎用ＦＩＳコンピュータ」へ移動させる別の手段として見ることができる。この特定のデータストリームを厳密に調べると、この情報フローが、二つのブラックボックス、「汎用ＦＩＳプロセッサユニット」と「残りの汎用ＦＩＳコンピュータ」との間で発生する他のデータフローの全てと異ならないことが分かる。このため、理論上は、アドレス値のフローを残りの他の全ての情報フロー（命令及びファイルデータ）と融合させ、一組のマスタバスシステムへ向けることが可能である。これが本特許出願において実行されていることであり、アドレス値は、全体として、「汎用ＦＩＳプロセッサユニット」へ入り、出て行く経路を見つける必要がある他のデータストリームと変わらない形で扱われる。こうした全ての情報トラフィックを処理することになるマスタバスシステムに関しては、上で説明したものであり、「データ入出パワーバス」と呼ばれるものである。
【００５３】
クロックサブシステム
ビットスライスフィードバックコンピューティングシステムに関連する驚くべき力のため、マスタクロックサブシステムは、ＦＩＳビットスライスフィードバック汎用コンピュータ内部では随意的なものとなる。実際、下に記載の「最良の形態」のセクションにおいて説明するように、最良のアプローチは、全体的なシステム内のサブシステムのそれぞれに関して、別個のクロックを提供することである。各サブシステムが独自の別個のクロックを有することにより、信号は、マスタコントローラ（つまり、「一次ビットスライスフィードバックコントロールメモリシステム」及び「基礎制御メモリシステム」）と、汎用ＦＩＳプロセッサ及び「残りの汎用ＦＩＳコンピュータ」全体に存在する、こうした様々な独立クロックのサブシステムの残りの全てとにおいて送受信されることになる。こうした様々な信号によって、この新しいタイプの汎用ＦＩＳコンピュータシステムは、非同期的な動作を維持しながら、命令セット内の様々な命令を実行する時に、試みと動作とを協調させることができる。
【００５４】
しかしながら、この汎用ＦＩＳビットスライスコンピュータシステムが図２の「起動システム」の下に示すような「マスタクロックシステム」を有する場合、このサブシステムは、「基礎制御メモリシステム」を除き、汎用ＦＩＳビットスライスフィードバックプロセッサユニット自体と「残りのコンピュータ」との両方の内部で、最大数のサブシステムに対する最大数の接続を有することになる。このサブシステムは、この新しいタイプのコンピュータシステムに組み込まれる場合、マスタ−スレーブ関係で相互接続されるいくつかのビットスライスフィードバックプログラムメモリシステムによって構成されることになる。こうした相互接続されたビットスライスフィードバックプログラムメモリシステムは、次に、図２に示すように、「基礎制御メモリシステム」からのいくつかのラインによって制御される。この「クロックシステム」の動作に関しては、本特許出願において、後で更に詳細に説明する。その構成に関しては、オシレータ回路と、いくつかのメモリ回路と、必要な場合は、いくつかのホールドレジスタ回路とによって構成される。
【００５５】
サブシステムイネーブラ用メモリコントローラ
図２に表示される最後のサブシステムは、「サブシステムイネーブラ用メモリコントローラ」である。その内部機能に関して、このサブシステムは、ビットマップ処理を使用して、コンピュータシステム全体に存在し、「データ入出パワーバス」を構成する様々なライン上での情報の秩序ある配置及び除去に責任を有する、様々なイネーブラ及び／又はマルチプレクサの全てを制御する。上記のように、このサブシステムの出力は、「制御バス」上に配置される。このサブシステムが、次に、どのように制御されるか関しては、図２で確認できるように、「基礎制御メモリシステム」から直接命令を受領する。
【００５６】
このステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの特定のサブシステムの主要構成要素は、ビットマップ処理を含む一連のメモリ回路である。
【００５７】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの最初の要約
これは次に、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを形作り、互いの協調において、論理ゲートに基づいて構築される現在の汎用ＦＩＳマイクロプロセッサユニットに可能な全ての事柄及びそれを超えるものを達成する、様々なサブシステムを最初に紹介するものである。しかし上記のように、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットのこうした様々なサブシステムの全てと、こうしたサブシステムを形作るサブシステムとは、その構築に関して、ステートメント（２）において列挙される構成要素のみを必要とする。つまり、こうしたシステムは、様々なメモリ回路（動的又は静的性質のいずれか、及び揮発型又は不揮発型のいずれか）、マルチプレクサ、イネーブラ、シフトレジスタ、及び／又はカウントレジスタのみを必要とする。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットのこうした基本サブシステムでは、現在製造されている汎用ＦＩＳマイクロプロセッサと同様に、その機能のために、膨大な論理回路を必要とするものは存在しない。これに関する唯一の例外は、必要な場合にメモリ回路のアドレスシステム内にある任意の論理回路である。
【００５８】
ブートプロセス
ステートメント（２）及び（６）の汎用プロセッサユニットの基本構造は、現在導入されているので、このマイクロプロセッサシステムの起動処理は、一定の長さで議論される。
【００５９】
起動処理をこの特別な汎用ＦＩＳコンピュータにどのように適用するかについて理解されなければならない最初の主要なポイントは、発生するイベントのシークエンスがステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットのこれらの様々なサブシステムのための様々な処理プログラムがロードされるメモリのタイプに依存することである。これら様々なメモリバンクの様々なメモリ回路の幾つか又はすべてが揮発性（すなわち、前記メモリ回路内に含まれている情報が電力がある時間消失したときにいつでも失われる）であるかいなかに関わらず、又、前記メモリバンクのこうしたメモリ回路のすべて、例外を除き、不揮発性であるかにかかわらない。これは、電力がシステムに供給されないときでも一定期間情報を保持する回路であり、ほとんどの安定したメモリ回路は、これであり、含まれたプログラムは、メモリ回路が構成されるところからマスクに直接書き込まれている。
【００６０】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの一部又は全てに揮発性メモリを使用している場合には、ステートメント（１０）に表されているように、このシステムを起動するいくつかの又は全てのプロセッサプログラムは、電力なしの期間の後に、それぞれかつすべての時間システムに電力が流れ始める前記揮発性メモリチップセットに入力されなければならない。プロセッサプログラムが様々な揮発性メモリにロードされることは、こうしたタイプのコンピュータシステムでの起動システムによって実行される最初のステップである
【００６１】
不揮発性メモリ起動シークエンス
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを設計する第２のアプローチは、上述し、また以下のステートメント（１１）で表現されているように、ステートメント（２）及び（６）の前記ビットスライスフィードバック汎用ＦＩＳプロセッサユニット内に使用される様々なメモリチップの全てが不揮発性タイプである。それは、電力が継続しないときに、どのような要因でもよいが、メモリ回路は様々なプロセッサプログラムの知識をメモリセル内に保持し続ける。
【００６２】
こうしたプロセッサプログラムが様々な不揮発性メモリ回路にロードすることによって、メモリ回路がコンピュータシステム内に配置される前にほとんどのシステムで終了しているであろう。すなわち、不揮発性回路（又はチップ）のプログラムはステートメント（２）及び（６）の専用型の汎用ＦＩＳプロセッサユニットの製造処理の一部に考慮されている。
【００６３】
一旦、このようなプレプログラムされた不揮発性メモリチップが専用型の「汎用ＦＩＳプロセッサユニット」を作製する他のすべてのコンポーネントと一緒に接合されると、ステートメント（２）及び（６）を基礎とするもの及び前記コンピュータシステムの残りは、完全になる。前記コンピュータシステムの電源を入れると、全ての必要なプロセッサプログラム（ビットスライスフィードバックプログラム及びビットマップ処理）は、実行され、使用できる状態になる。図２に示されているように、汎用ＦＩＳプロセッサユニット内の揮発性メモリを使用するコンピュータシステムのそれと比べて、これは、起動システムの関与がないのと同等である。
【００６４】
この状況において、ステートメント（２）及び（６）の汎用プロセッサユニットのすべてのメモリ回路は、不揮発性タイプである。起動システムは、前記コンピュータシステムを適切にスタート（又はリスタート）することのすべては、インターラプトリクエストバス（interrupt request bus)の手段によって基本制御メモリシステムにアクティブシグナルを送ることである。これがおこると、「基礎制御メモリシステム」を所定の状態に駆動する効果を有する。この状態の変更が起こると、基礎制御メモリシステムはステートメント（２）及び（６）の汎用プロセッサユニットのサブシステムの残り全てを、システムに構成されたマスタクロックがあると仮定すれば、クロックシステムを除き、リダイレクトする。それは、この時間中、起動システムの制御の基で存在し、起動シークエンスになる。
【００６５】
「一次ビットスライスフィードバックプログラムメモリシステムのそれを含む「基礎制御メモリシステム」にシグナルを送る他の全てのサブシステム全体にわたって起動システムにこの基礎制御システム内でこの順位が確立に関しては、前記基礎制御メモリシステムのメモリ回路に設置されるビットスライスフィードバック／ビットマップ処理の適切なプログラミングによって獲得されるであろう。起動システムから基礎制御メモリシステムへの専用回線がアクティブになるとき、プログラムは、基礎制御メモリシステムが動き、一次ビットスライスフィードバックプログラムメモリシステムのそれを含む、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット内の他の全てのサブシステムから受領する他のすべてのものを処理する。すなわち、他の信号はすべて不変条件として処理される。
【００６６】
基本的な制御メモリサブシステムの注
ここで注意するべき点として、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの「基礎制御メモリシステム」−「一次ビットスライスフィードバックメモリシステム」と共に、ステートメント（２）及び（６）の前記ビットスライスフィードバック汎用ＦＩＳプロセッサユニットの中核として機能する−は、必ずしも純粋にビットスライスフィードバックプログラムシステムとして機能するとは限らない。同じく、これは必ずしも純粋にビットマップ処理システムとして機能するとは限らない。正確には、ステートメント（２）及び（６）に従って設計可能な多くの異なるタイプの「汎用ＦＩＳプロセッサユニット」に関して、両方のタイプのシステムの合成物として動作する。
【００６７】
モード
これがどのように可能になるか、つまり「基礎制御メモリシステム」がある時点では純粋にビットマップ処理デバイスとして機能し、その後、別の時点ではビットスライスフィードバックプログラミングシステムとして機能することがどのように可能になるかを理解するには、ステートメント（２）及び（６）の非常に多くの異なるタイプの汎用ＦＩＳプロセッサユニットの一部が、どのように構築されることになるかを理解する必要がある。こうした設計の一部は、様々なモードで実行する能力を有する。こうした新しいタイプのコンピュータシステムに組み込まれる二つの最も一般的なモードペアは、カーネルモード及びアプリケーションモードのペアと、リアルモード及びプロテクトモードのペアとである。
【００６８】
加えて、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに含めることが可能なその他のタイプのモードは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットが実行するように設計された機能又は複数の機能に応じて存在する。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの所定の設計に、どのモードが組み込まれるかに関係なく、一般に、これらは全て、同じ基本的な方法で実施される。
【００６９】
最初に、こうした様々なモードを実施するために一般に使用されるハードウェアは、ホールドレジスタである（或いは、必要に応じて、小さなビットスライスフィードバックプログラムメモリシステム）。この前記ホールドレジスタ、或いは小さなメモリシステムは、「基礎制御メモリシステム」に追加される。このホールドレジスタ、或いはメモリシステムは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットがどのモードにあるかを追跡することを可能にする。
【００７０】
基本的な制御メモリシステムの注の続き
次にステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに組み込まれた、こうした異なるモードを利用するために、プロセッサユニットでは、そのビットスライスフィードバックプログラム、特に「一次ビットスライスフィードバックプログラムメモリシステム」及び「基礎制御メモリシステム」に配置されるプロセッサ−プログラムは、その命令セットに、コンピュータシステムを一つのモードから別のものへ変更するのに必要な命令を含む様な形で構築されなければならず、この処理は、論理回路から構築される現世代の汎用ＦＩＳプロセッサによって現在使用されるものである。
【００７１】
こうしたモードがどれもアクティブではない時―つまり、コンピュータが最も基本的な状態で作動している時―「基礎制御メモリシステム」は、ビットスライスフィードバックプログラムデバイスのようにではなく、ビットマッププロセッサのように動作し、つまり、このサブシステム内では、実際のフィードバックは発生しない。
【００７２】
しかしながら、ステートメント（２）及び（６）の所定の汎用ＦＩＳプロセッサユニットに組み込まれる可能性のある様々なモードのいずれか又は全部がアクティブにされた時、例えば、ステートメント（２）及び（６）の所定の汎用ＦＩＳプロセッサユニットがカーネルモード及びアプリケーションモードペアのアプリケーションモード、或いはリアルモード及びプロテクトモードペアのプロテクトモードで作動している時、この場合には、「基礎制御メモリシステム」のプロセッサ−プログラムは、ビットマップ処理ではなく、ビットスライスフィードバックプログラムに近い動作をする。つまり、このサブシステムは、限定されたタイプのフィードバックを受領する。
【００７３】
ＢＩＯＳの処理
ＢＩＯＳは、二つの方法の一方で処理することができる。多数の論理回路から構築された「汎用ＦＩＳプロセッサユニット」を中心に構築された現在のコンピュータシステムのように、ＥＰＲＯＭＳに埋め込まれたＢＩＯＳを有することが可能である。或いは、この新しいタイプのコンピュータシステムは、図２に示す「起動システム」を有することが可能であり、「起動システム」はＢＩＯＳを、「残りの汎用ＦＩＳコンピュータ」に存在する「外部」揮発性メモリの小さな部分にロードし、ＢＩＯＳはここから実行される。ＢＩＯＳは、タスクを完了すると、ローカルメモリから除去することが可能であり、これにより「外部」メモリシステムのアドレスエリアが開放される。
【００７４】
イントロダクション−マルチタスク／マルチユーザ
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットは、マルチタスク及びマルチユーザ機能を両方とも達成するように設計することができる。これを行うために、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築されたコンピュータシステムは、一般に、独立しているが緊密に関連する四つの機能を利用し、この機能は、このコンピュータの一つ以上のサブシステムのハードウェア及び／又はソフトウェアに組み込まれ、これにはステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット自体が含まれる。
【００７５】
各特定のタスクがＣＰＵ上で受領する時間は、スケジューラと呼ばれるオペレーティングシステムの一部によって決定される。この処理、つまり、このスケジューラは、プログラムを実行する要求がどこから来たかを、いかなる形でも、問題としない。問題とするのは、そのタスクがどの優先レベルを有しているか、及びＣＰＵ上で既にどれだけの時間を費やしたかのみである。その後、優先レベルとこれまでのＣＰＵ使用量とに関する、こうした２ビットの情報に基づいて、スケジューラは、同じＣＰＵ上で同様に実行する必要がある他の全てのタスクと比較して、どのくらい迅速に、どのくらい長く、そのタスクをＣＰＵ上で実行するかを決定する。
【００７６】
このマルチタスク処理について調べると、システムに二人以上のユーザが存在しても、この処理のステップで、大幅に変化するものがないことが分かる。ユーザ間で実際に変化するのは、二つの事柄のみである。第一に、利用可能となるコンピュータリソースの範囲は、一般に、一人のユーザと次のユーザとの間で異なることになる。第二に、オペレーティングシステムは、所定のユーザによって所定のプログラムが実行されている時、入力がどこから来て、出力がどこに行くのかを追跡する必要がある。しかしながら、プログラムを実行することに関しては、ユーザによって変化しない。
【００７７】
そのため、こうした処理の実行の連続性から、マルチユーザ機能を有する殆どのオペレーティングシステムは、大部分において、こうしたマルチユーザ機能がオペレーティングシステムのマルチタスク機能に付加された特徴と大差ないものであるかのように動作する。その上、マルチユーザ機能の観点から、この状況を調べた場合には、まず何よりも、マルチタスクコンピュータシステムではないマルチユーザコンピュータシステムがあり得ないことが分かる。
【００７８】
機能１
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築されたコンピュータシステムにおいて可能なマルチタスク機能、及びしたがってマルチユーザ機能を形成する−少なくともその最も単純な形態での−第一の機能に関しては、このコンピュータシステムの様々な「外部」メモリ及びＩ／Ｏシステムに二重アドレスシステムを組み込むことで構成される。こうした二重アドレスシステムによって、このコンピュータシステムは、「外部」メモリバンク又はＩ／Ｏシステムのそれぞれに、二種類の別個の手段を経由して、アクセスすることが可能となる。
【００７９】
こうしたアドレスシステムの第一のものは、本特許出願において、カーネルアドレスシステムと呼ばれる。第二のものは、アプリケーションアドレスシステムと呼ばれる。こうした名前が意味するように、一方は、オペレーティングシステムのカーネルによって使用され、他方は、オペレーティングシステムのために具体的なタスクを実行するアプリケーションによって使用される。
【００８０】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにデータを提供する「外部」メモリシステムと様々な（複数の）Ｉ／Ｏシステムとのそれぞれの内部のこうした二つの別個のアドレスシステムのそれぞれは、互いに独立しており、一方のアドレスシステムから送信可能な値は、他方が送信可能な値から、完全に分離されている。
【００８１】
更に注意すべき点として、二つのアドレス制御システム−カーネルアドレスシステム及びアプリケーションアドレスシステム−は、次に、必要な場合、二つ以上のサブアドレスシステムに分割することができる。これが意味するのは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにデータ及び／又はプログラミング情報を供給し、ここからデータを受領する、各「外部」メモリシステムを、この汎用ＦＩＳプロセッサユニットによって、四種類以上の異なる方法の一つでアドレス指定できるということであり、注意するべき点として、こうした様々な「外部」メモリシステムをどのように扱うことができるかに関して、膨大な度合いの柔軟性を形成することになる。更に、最終的には、「外部」メモリ及びＩ／Ｏシステムを扱うことにおける大きな度合いの柔軟性は、ＡＮＤ及び／又はＯＲゲート、シフトレジスタ、フリップフロップ、及びその他によって構成される多数の論理回路に基づく「汎用ＦＩＳプロセッサユニット」を中心に構築される現在のコンピュータ内で現在見られるものより大きな、システム全体でデータを操作し、データを転送するための、この新しいタイプのコンピュータシステムの潜在能力に大きく寄与する要素となる。
【００８２】
機能２
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築されたコンピュータ内でマルチタスクを実行するための第二及び第三の機能は、「汎用ＦＩＳプロセッサユニット」自体に直接的に組み込まれる。
【００８３】
こうした二つの機能の第一のものに関しては、「一次ビットスライスフィードバックプログラムメモリシステム」が命令セット内の三つの具体的な命令に応答する能力である。こうした命令の第一のものは、呼び出された時、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットをカーネルモードからアプリケーションモードにトグルさせる効果を有する。このモードの変化は、汎用ＦＩＳプロセッサユニットの「基礎制御メモリシステム」内に登録及び記録される。これは上で説明したように、この目的で存在するモードレジスタ（又は小さなビットスライスフィードバックプログラムメモリ）の状態を変化させることによる。
【００８４】
機能３
マルチタスクを、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築されたコンピュータの一部にするための第三の機能には、「基礎制御メモリシステム」がおそらくは同時に発生する二つのイベントを実行することが関与する。第一に、このステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットのサブシステムは、様々な「外部」メモリバンクに関するアドレスシステムに、あるアドレスシステムから別のものに切り替えるように命令する。例えば、コンピュータが様々な「外部」メモリバンクにアクセスするのにカーネルアドレスシステムを使用している場合（したがって、このシステムはカーネルモードにある）、「基礎制御メモリシステム」は、こうした全てのメモリバンクに、アプリケーションアドレスシステムの使用を開始するように命令する（システムはアプリケーションモードに切り替わる）。
【００８５】
一方、アプリケーションアドレスシステムを使用していた場合、メモリバンクは、カー
ネルアドレスシステムの使用に再び戻ることを命令され、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットをカーネルモードに戻す。
【００８６】
「基礎制御メモリシステム」が実行する第二のイベントは、システムがカーネルモードからアプリケーションモードに移行する時に常に発生するものである。このイベントは、「基礎制御メモリシステム」内の別のサブシステムで、以降アプリケーションカウンタレジスタと呼ばれるもの（必要な場合、小さなビットスライスフィードバックメモリシステムにできる）が、オペレーティングシステムの一部で、「汎用ＦＩＳプロセッサユニット」へのタスクの流れを調整するスケジューラからの数値を受領することである。アプリケーションカウンタレジスタは、論理回路から構築された汎用ＦＩＳプロセッサにおいてＩＲＱタイマが行うものと同じ役割を、この新しい汎用ＦＩＳプロセッサにおいて果たす。しかしながら、プロセッサが処理を切り替えることが可能な、この新しいアプローチは、タイマの使用に比べ、遙かに柔軟となる。
【００８７】
「基礎制御メモリシステム」が、スケジューラから提供された数により、アプリケーションカウンタレジスタを設定すると、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットは、オペレーティングシステムの下で処理として実行されているアプリケーションプログラム内に含まれる命令を、一度に一つずつ実行し始める。各命令が実行されると、「基礎制御メモリシステム」は、アプリケーションカウンタレジスタにおいて見つかった値を一つクロックダウンする。或いは、場合によっては、アプリケーションカウンタレジスタは、アプリケーションカウンタレジスタの設計とシステム全体にどのように統合されるかとに応じて、カウントアップされる場合がある。
【００８８】
カウントダウン又はアップを行う、この最後の動作の後、二種類の事柄のうち一方が発生する。アプリケーションカウンタレジスタが設定値−一般にはゼロ−に到達していない場合、「汎用ＦＩＳプロセッサユニット」は、動作を続け、現在のアプリケーションに関する別の命令を実行する。一方、アプリケーションカウンタレジスタが指定された設定値に達した場合、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットは、その「基礎制御メモリシステム」を経由して、システムを再びカーネルモードに変換し、これを行うことで、再び様々な「外部」メモリシステムに関してカーネルアドレスシステムを使用するようにコンピュータシステムをリセットする。「一次ビットスライスフィードバックプログラムメモリシステム」の残りとアプリケーションカウンタレジスタのものとの間での、こうした後者のあらゆる相互作用の影響として、オペレーティングシステムは、所定のプロセスに関して特定の数の命令が実行された後、「汎用ＦＩＳプロセッサユニット」の制御を取り戻すことができる。オペレーティングシステムは、「汎用ＦＩＳプロセッサユニット」の制御を有した後、判断を行うことができる。停止された処理を所定の数の命令に関して再度実行可能にすることができる。或いは、ここで、この前記「汎用ＦＩＳプロセッサユニット」に命令し、別のアプリケーション、つまり別の処理の順番とすることができる。つまり、オペレーティングシステムによって、スケジューラが保持するリスト上の次のアプリケーションは、所定の数の命令を実行する機会が認められる。
【００８９】
このタイプのコンピュータシステムに組み込まれた、こうしたコンピュータシステムがマルチタスクを達成できるようにする四つの基本機能のうち、この機能、つまり特定の数の命令を完了した後でシステムを再びカーネルモードにトグルするカウンタレジスタは、最も重要なものである。
【００９０】
機能４
論理回路を基盤に構築された現在のプロセッサでは、前記プロセッサに多数のレジスタが存在しており、このレジスタは、オペレーティングシステムの命令により汎用ＦＩＳプロセッサが一つの処理から別のものに変化する時、ＲＡＭに格納する必要がある。この新しいタイプのコンピュータでは、この新しいコンピュータシステムが内部レジスタを利用する現在及び過去の世代の汎用ＦＩＳプロセッサを模倣するように設定される場合、同じタイプの動作を行うことができる。アドレス及びＡＬＵ／数学コプロセッサに関する全ての値が格納可能であり、後で処理を切り替える時にＲＡＭで検索することができる。これは、必要な場合に、この新しいプロセッサがマルチタスクを実行するために使用することになる、第四の機能である。
【００９１】
しかしながら、様々な形で、この最後の機能、つまりアドレス及びレジスタ値の格納及び検索は、優れた設計の汎用ＦＩＳ汎用ビットスライスフィードバックコンピュータにおいては必要がなくなる。これには二重の理由がある。第一に、現在及び過去の世代の汎用ＦＩＳプロセッサのＡＬＵ／数学コプロセッサにおいて利用される、こうしたレジスタ（実際には、シングルトンメモリの位置に過ぎない）は、適切に設計された、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築された新しいコンピュータシステムでは必要とされない。
【００９２】
最も大きな設計の改良点は、三つの独立したデータ転送サブシステムで構成される「データ入出パワーバス」を有することである。この構成では、こうした前記データ転送サブシステムのうち二つは、ＡＬＵ／数学コプロセッサ内の様々なサブシステムにデータを運ぶのに使用することができる。こうしたデータ転送サブシステムの第三のものは、ＡＬＵ／数学コプロセッサ内の所定のサブシステムの完了直後に、この前記サブシステムの結果を「外部」メモリシステムに転送するのに使用されることになる。
【００９３】
この仕組みにおいては、ＡＬＵ／数学コプロセッサへの供給のために、前記汎用ＦＩＳプロセッサ内部に、何らかの「長期的」ストレージ、つまり、内部レジスタを有する必要がない、つまり、入力データの前記操作の結果として生じたものは、システム内のＲＡＭに即座に転送されることになる。これが作用する方法に関しては、それは後の断面（「最高のモード.」）において説明される。
【００９４】
この新しいシステムにおいて、プロセッサ内のアドレス機能及びその他の内部機能を処理する際に使用されるレジスタに関して言えば、これらは、シングルトンメモリの位置ではなくなる。正確に言うと、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築され適切に設計された新しいコンピューティングシステムにおいて、こうしたシングルトンメモリ（つまり、レジスタ）のそれぞれは、少なくとも６５０００のストレージスペースの「大きな」メモリに拡張されることになる。そのため、システムのＲＡＭ及び様々なＩ／Ｏシステムにアドレス値を提供するのに使用されるこうした「大きな」メモリシステムに関するアドレスシステムは、その後、新しいコンピュータシステム内で更に抽象化される。つまり、「大きな」アドレスメモリシステムを伴うこうした前記アドレスシステムの全てが、次に、シングルトンメモリレジスタにリンクされる。
【００９５】
このタイプの構成では、シングルトンメモリにおける値を変化させることで、この新しいコンピュータシステムは、所定の処理に関するアドレス情報の全てのダウンロード及びその後のアップロードを行わずに、処理を切り替えることができる。更に、以前に述べたように、ＲＡＭシステム及びＩ／Ｏシステムのそれぞれ−この新しいシステムはそれぞれを二つ以上有する場合がある−は、二つ以上のアドレスシステムを有することになる。カーネルに関する少なくとも一つのアドレスシステムと、アプリケーションに関する少なくとも一つのアドレスシステムが存在する。全てのＲＡＭシステム及びＩ／Ｏシステムに関するこうした全てのアドレスシステムは、二つの大きな抽象に結びつくことになり、一つはカーネルアドレスシステムに関するものであり、一つはアプリケーションアドレスシステムに関するものとなる。これにより、このステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築された新しいコンピュータシステムは、カーネルアドレスレジスタ又はアプリケーションアドレスレジスタの値を変更するだけで、あるカーネル処理又は所定のアプリケーション処理を、別のものに変えることができる。
【００９６】
このステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築された新しいコンピュータシステムでは、少なくともステートメント（２）及び（６）のこの新しい汎用ＦＩＳプロセッサユニットを中心に構築された新しいシステムの最初のいくつかの世代においては、ｘ８６タイプのマイクロプロセッサのような論理回路から構築された現在及び過去の世代の汎用ＦＩＳプロセッサの機能を、この新しいタイプのコンピュータシステムが模倣するための手段としての役割を果たす、専用高速外部ＲＡＭシステムの設定が存在することになる。したがって、これにより、このコンピューティングシステムは、少なくともこの新しいタイプの汎用コンピューティングシステムの最初の世代に関しては、ｘ８６タイプのコンピュータシステムのために書かれ、こうした内部レジスタを利用する、ほぼ全てのソフトウェアを実行することが可能になる。
【００９７】
トグリングシステムの利益
このコンピュータシステムの様々な「外部」メモリシステム及びＩ／Ｏシステムに関する、一つがカーネル処理に使用され、一つがアプリケーション処理に使用される、二つの別個のアドレスシステムを組み込むこと−したがって、この特定の方法でマルチタスク及びマルチユーザ機能を処理すること−の最も大きな利点は、プログラムがカーネルモードにあるか、アプリケーションモードにあるかに関係なく、マルチタスクに直接的に関連しない命令セットを形成する基本命令の全て（つまり、バイトを共に加算すること、バイトを互いに乗算すること、バイト及びワードをある場所から別の場所へ移動させること、その他）が、同じ状態を保つことである。
【００９８】
言い換えると、オペレーティングシステム、ワードプロセッサ、データベースシステム、電子表計算、及びその他といった全ての高レベルのプログラムを、同じ基本的な方法で書くことが可能であり、同じ基本的なコンパイラ又はインタプリタによってコンパイルすることができる。特定のプログラムが一般にマルチタスク環境で動作するか、或いはシングルアプリケーション環境で動作するかについて気にすることなく、この全てを実行することが可能である。
【００９９】
マルチタスク及び模倣
こうしたモード、つまりカーネルモードとアプリケーションモードとの両方において応用可能なこの命令セットは、別の目的を果たすように設計することも可能であり、これは、より一般的な現在製造される汎用ＦＩＳマイクロプロセッサに付随する命令セット又は複数の命令セットに、可能な限り緊密に適合させることである。現在の汎用ＦＩＳマイクロプロセッサを模倣する、この後者のタスクを行う際には、この新たに設計されたハードウェア上で実行するために、現在の高レベルプログラム、つまりＩｎｔｅｌ／ＡＭＤプロセッサ又はＭｏｔｏｒｏｌａプロセッサユニットのいずれかで現在実行されるプログラムの多くが、より流動的かつ急速に変換される可能性がある。場合によっては、命令セットの模倣を非常に厳密に行い、こうした高レベルプログラムの動作とのインタフェースが、存在するとしても、殆どない状態で、ハードウェアを迅速に置き換えることができる可能性がある。
【０１００】
リアルモード／プロテクトオードの導入
リアルモードにおいて、このモードで実行されているプログラムは−カーネルモード又はアプリケーションモードで実行されているかどうかに関係なく−コンピュータシステムのリソースの全てに対する完全に自由なアクセスを有し、これには、その一部として、全てのＩ／Ｏシステム機能が含まれる。
【０１０１】
プロテクトモード
第二のモードであるプロテクトモードにおいて、この新しい汎用ＦＩＳコンピュータ内の全ての様々なリソースに対するアクセスの自由、特にＩ／Ｏシステムの様々な態様に対するアクセスの自由は、アプリケーションモードでも実行されているプログラムに関して、大幅に削減される。
【０１０２】
リアル／プロテクトモードの実行
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットにおいてリアル／プロテクトモードが実行可能になる手段は、この同じ「汎用ＦＩＳプロセッサユニット」内でマルチタスク機能が達成される方法と非常に類似している。
【０１０３】
第一に、「基礎制御メモリシステム」には、プロテクトモードレジスタ（必要な場合、小さなビットスライスフィードバックメモリシステムにすることが可能）が組み込まれる。アプリケーションモードレジスタと同様に、プロテクトモードレジスタは、「基礎制御メモリシステム」内でフィードバックループを形成するために使用され、二つの命令の一方がカーネルから「汎用ＦＩＳプロセッサユニット」に送信されるまで、システムをリアルモード又はプロテクトモードの一方に維持し、この命令は、「基礎制御メモリシステム」に、このレジスタの状態を変化させる影響を有する。
【０１０４】
「リアル／プロテクト」モードペアを実施する第二のメカニズムは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットへ送信し、これをリアルモードからプロテクトモードへ、或いはプロテクトモードからリアルモードへ、トグルさせることが可能な二つの命令である。
【０１０５】
リアル／プロテクトモードペアの実施における、カーネル／アプリケーションモードペアのものとの相違点の一つは、前者のモードペアの動作において、アプリケーションに関連するカウンタレジスタが存在しないことであり、このカウンタレジスタは、ゼロのような所定の設定値に達した時に、システムをあるモードから別のモードへトグルさせるために「基礎制御メモリシステム」において使用されるものである。
【０１０６】
ビットスライスフィードバック汎用ＦＩＳプログラミングの注
次に、「一次ビットスライスフィードバックプログラムメモリシステム」として図２に表示される、ビットスライスフィードバックプログラムメモリシステムを、「汎用ＦＩＳプロセッサユニット」の核として機能させるためには、何にもまして一つの事柄、つまり「残りの汎用ＦＩＳコンピュータ」から命令を受領することが実行できなくてはならない。「一次ビットスライスフィードバックプログラムメモリシステム」がこの重要なステップを実行し、「残りの汎用ＦＩＳコンピュータ」から命令を受領した後には、この命令に従って即座に動作できなくてはならない。
【０１０７】
ここで、こうした二つのタスクの第一のものをどのように実行できるかについて理解するためには、「一次ビットスライスフィードバックプログラムメモリシステム」内のメモリ回路に関する出力及びアドレスシステムが緊密なフィードバックループにリンクされていることを思い出す必要があり、これは、ビットスライスプログラムメモリデバイスが意味するものである。しかしながら、「一次ビットスライスフィードバックプログラムメモリシステム」が命令を受け入れるためには、この前記「一次ビットスライスフィードバックプログラムメモリシステム」に関するこの即時的なフィードバックループは、一時的に中断し、リダイレクトする必要がある。「一次ビットスライスフィードバックプログラムメモリシステム」内のビットスライスフィードバックプログラムメモリ回路に関するアドレスシステムへの入力の中断及びリダイレクトの期間中に、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットは、「残りの汎用ＦＩＳコンピュータ」からの命令を受領することが可能となり、この命令は、その後、前記「汎用ＦＩＳプロセッサユニット」が自分の動作を方向付けるのに使用される。
【０１０８】
しかしながら、この第一のタスク、つまり命令の取り込みを行う間には、少なくとも「正常な」ビットスライスフィードバックプログラムシステムの観点からは、完全に異常な事柄が発生する。この事柄は、「一次ビットスライスフィードバックプログラムメモリシステム」内の即時フィードバックメカニズムが分断される間に、更に大きく、更に包括的なフィードバックが発生することであり、このフィードバックは、「正常な」即時フィードバックループと全く同じように強力で、全く同じような影響を有するものとなる。しかしながら、この大きなフィードバックループは、その全体的な動作の範囲に、「一次ビットスライスフィードバックプログラムメモリシステム」のメモリ回路だけでなく、「基礎制御メモリシステム」と、実行中のプログラムを収容する「外部」ＲＡＭとを含める。
【０１０９】
この非常に大きなフィードバックループによって、別の方法では非常に限定されたメカニズムであるもの―標準のビットスライスフィードバックプログラムデバイスのもの―を、遙かに強力なメカニズムに変換することが可能となり、これは完全に機能する汎用ＦＩＳプロセッサユニットの中核要素のものとなる。或いは、別の形で述べると、殆どのビットスライスフィードバックプログラムシステム、つまり、過去において、狭小な特定のタスクに関して設計及び構築されたビットスライスフィードバックプログラムシステムは、一般に、大きなフィードバックループ内に構築された小さなフィードバックループを有していなかった。しかしながら、この特徴により、更にはこの特徴のみによって、一連のビットスライスフィードバックプログラムシステムは、別の方法では実行できない事柄を行うことが可能となり、これは、本特許出願において説明するような「汎用ＦＩＳプロセッサユニット」としての役割を果たすことである。
【０１１０】
クロックシステムの本質
この新しいタイプの汎用ＦＩＳプロセッサユニットを中心に構築されたこの新しいタイプのコンピュータは、ある特定の「マスタクロック」を中心に構築する必要がない。正確に言えば、「ＡＬＵ／数学コプロセッサ」における全ての機能とＲＡＭ及びＩ／Ｏに関する全てのアドレス／アクセスサブシステムとのような、この新しいコンピュータシステム全体に存在する、全てではないとしても、全てに近いサブシステムが独自のローカルビットスライスフィードバックプログラムデバイスを中心に構築されることで、このシステムは、必然的に、非同期デバイスとして設計するのに適したものとなる。つまり、こうした個別のビットスライスフィードバックプログラムデバイスのそれぞれを、独自のクロックで実行することが可能となる。これにより、こうしたサブシステムのそれぞれを、その最大の速度で駆動することが可能となる。
【０１１１】
しかしながら、こうしたシステムを共にリンクし、全体として統合できるようにするために、こうした様々なサブシステムを実行する個別のビットスライスフィードバックプログラムデバイスは、互いに通信することが可能となるように、他のすべてのサブシステムに対する「基礎制御メモリシステム」とリンクする入力及び出力ラインを有することになる。こうした通信を通じて、ステートメント（２）及び（６）の全体的な汎用ＦＩＳプロセッサユニットは、ＲＡＭ、ＥＰＲＯＭＳ、又はフラッシュメモリから実行しているプログラムより受領する命令を、実行することができるようになる。
【０１１２】
しかしながら、この新しいタイプのコンピュータシステムがマスタクロックを使用して構築される場合、その構造は、以下のようになる。図２に表示されるような「クロックシステム」は、他の汎用ＦＩＳコンピュータに存在する他のクロックシステムと同様に、システム内に配置される場合、システム全体の情報の流れを安定化及び同期させるために存在する。しかしながら、この特定のコンピュータでは、一般には、「クロックシステム」に由来する一本のタイミングライン、つまり、残りのコンピュータシステム全体の多数の様々なポイントで終了するラインは、存在しない。正確に言えば、マスタクロックを使用するステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの殆どの設計では、「クロックシステム」からこのコンピュータシステム全体の複数のポイントに送信される数多くのタイミングラインが存在することになる。実際には、フィードバックが動作中の、請求項（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築されたこのコンピュータシステム内で、あらゆるポイントに送信されるタイミングラインが存在することになる。
【０１１３】
このタイプのコンピュータにおけるこのフィードバックの主要なソースは、当然ながら、その全体に分散した多くのビットスライスフィードバックプログラムメモリシステムである。こうしたタイミングラインの数は、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの設計と、「残りの汎用ＦＩＳコンピュータ」の設計との両方に応じて、システムごとに変化する。この新しいタイプのコンピュータシステムの様々な設計では、異なる数のフィードバックループ及びフィードバックシステムが使用され、つまり、異なる数のビットスライスフィードバックプログラムデバイス及びビットマップデバイスが使用されることになる。
【０１１４】
こうした様々なタイミングラインに関して、「クロックシステム」は、非常に高い精度で正確に編成された順序で、こうしたライン上で信号を送信し、この順序は、「基礎制御メモリシステム」から受領するコードに応じて変化し、このコードは、所定の命令を実行するためにどのサブシステムがトリガされるかに応じて、異なるものとなる。
【０１１５】
マスタ「クロックシステム」に関しては、これがシステム内で使用される場合、共にリンクされるいくつかのビットスライスフィードバックメモリ回路に関して、容易に構築することが可能である。一般には、こうしたフィードバックメモリ回路は二つ存在する。一方は、信号が送出される速度を決定するように設定される。第二のものは、様々な信号が送信される順序を決定するのに使用され、マスタコントローラによって実行中の命令に基づいて、これを変更する。
【０１１６】
命令セットのサイズ
複数の論理回路を使用する汎用ＦＩＳプロセッサユニット周辺で作製マイクロプロセッサ周辺で構成される現在のコンピュータシステムとは大きく異なるであろうステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット周辺で作製される汎用ＦＩＳコンピュータの他の特徴は、ステートメントに対応するように命令セットの大きさに関するものである。ステートメントとの同一性があるように、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの命令セットは、複数の論理回路に基づく現在の汎用ＦＩＳプロセッサユニット周辺で作製マイクロプロセッサ周辺マイクロプロセッサのそれよりもはるかに大きく作製される。
【０１１７】
命令セットを潜在的に大きなサイズとなる２つの理由
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに関する命令セットは、望ましい場合、多数の論理回路に基づく現在の汎用ＦＩＳプロセッサユニットのものより遙かに大きくすることができる。これが可能になる理由は、二つ存在する。第一に、命令セットの命令をエンコードするワードが１６ビット長である場合、このワードサイズ―例えば、３２ビット又は６４ビットワードと比較して小さい―でも、「一次ビットスライスフィードバックプログラムメモリシステム」内に含まれることになるビットスライスフィードバックプログラムに関して、６５，５３６もの数の内部状態を存在させることができる。平均として、「一次ビットスライスフィードバックプログラムメモリシステム」が与えられた任意の命令を実行するのに必要とする内部状態の数を、一般に５ステップ長であると仮定した場合、ステートメント（２）及び（６）の所定の汎用ＦＩＳプロセッサユニットの命令セットにおいて可能な命令の数は、全ての内部状態を使用する場合、１３，１０７となる。
【０１１８】
注意するべき点として、様々な命令に関するビットスライスフィードバックプログラムのステップの平均数について、ここで提示した数は、純粋に仮定上のものである。この数は、ステートメント（２）及び（６）の所定の設計の汎用ＦＩＳプロセッサユニットが完全にレイアウト及び設計される後まで、正確に知ることはできない。つまり、図１に示すブラックボックス及び矢印の完全な構造が、完成するまでである。
【０１１９】
この新しいタイプの「汎用ＦＩＳプロセッサユニット」で可能な命令セットのサイズに関する１３，１０７という数は、説明したように、１６ビットワードでエンコードされた命令セットと、「一次ビットスライスフィードバックプログラムメモリシステム」内のプロセッサ−プログラムの平均の長さが５ステップ長である場合とに基づくものである。しかしながら、命令セットが、２４ビットによるもの等、１６とは異なるワードサイズを使用する場合、可能な命令の数は、「一次ビットスライスフィードバックプログラムメモリシステム」内の各命令の各プロセッサプログラムが平均して丁度５ステップ長であると再度仮定すると、３，３５５，４４３に上昇する。
【０１２０】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの場合、このシステムの形成は、「ソフトウェア」の形態、つまり、ビットスライスフィードバックプログラムとビットマップ処理との生成を基礎としている。この生成物、或いは「ソフトウェア」の特殊な形態は、ＡＮＤゲート、ＯＲゲート、シフトレジスタ、フリップフロップ、その他によって構成される膨大で入り組んだ論理回路から作られる生成物に比べ、設計、操作、成型、及び作成が遙かに容易であることが分かる。
【０１２１】
その上、ステートメント（２）及び（６）の所定の汎用ＦＩＳプロセッサユニットに関してビットスライスフィードバックプログラムとビットマップ処理とが作成された後、これらは、全く新しい入り組んだ論理回路をシリコンウェーハに刻み込むのに比べ、遙かに容易にメモリ回路に配置し、こうしたメモリ回路をシリコンに移行させることができる。こうした理由から、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットは、現在製造されている汎用ＦＩＳマイクロプロセッサのものに比べ、遙かに広範な命令セットを有することが可能になる。或いは、別の言い方をすれば、メモリ回路は、過去十年間に、多数の論理回路に比べて、遙かに容易に作成し、遙かに多くの事柄を実行できるようになったのである。
【０１２２】
ビットスライスフィードバックプログラムのシークエンスのプログラミング
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの全ての優れた力は、ＡＮＤ及び／又はＯＲゲート、シフトレジスタ、フリップフロップ、その他によって構成される多数の論理回路の使用を通じて機能を提供しようと試みることに対する、ビットスライスフィードバックプログラムとビットマップ処理との本質的な優位性に由来するものである。
【０１２３】
ビットスライスフィードバックプログラムは、その極めて本質的な部分において、三つの基本的な目的を果たす数字一般には二進数―の連続に過ぎない。第一に、これらの数字は、所定のビットスライスフィードバックプログラムシステムが所定のタスクを達成することを可能にするフローチャートを形作るそれぞれのノードを、一意にエンコードするために使用される。第二に、このプロセッサ−プログラムを形作る数字のそれぞれの一部は、「外部」世界に送信されることになる出力信号の役割を果たす。第三に、ビットスライスフィードバックプログラムにおけるステップのそれぞれを形作る数字は、プログラムシーケンス内の次の数字が発見されるメモリ位置に関するアドレス値の一部としても機能し、つまり、ビットスライスフィードバックプログラムを形作る数のそれぞれの一部又は全部が、アドレス値として機能する。
【０１２４】
しかしながら、ビットスライスフィードバックプログラムを形作る数は、ビットスライスフィードバックプログラムを含む様々なメモリ位置にアクセスするためのアドレス位置にとって全てのものが存在している訳ではない。正確には、ビットスライスフィードバックプログラムに関するアドレス値の一部は、「外部」世界からの信号によって提供され、この信号は、当初アナログである場合には、適切にデジタル化される。この後者の構成要素−「外部」世界からのデジタル化された入力―に関して言えば、この入力によって、ビットスライスフィードバックプログラムは、分岐点と呼ばれるものを有すること、つまり、「意志決定」処理が重要な役割を果たすプロセッサ−プログラム内のポイントを有することが可能となる。
【０１２５】
この説明が示すように、このタイプのプログラムの実施は、プログラムシーケンスにおける次の数字を、プログラムシーケンスにおける現在の数字（全てのビットスライスフィードバックプログラムに組み込まれる即時フィードバック）と、「外部」世界からの「正確な」デジタル化された入力との組み合わせによってアドレス指定されるメモリ位置に格納させることで達成される。
【０１２６】
このビットスライスフィードバックプログラムの単純な説明により、ビットスライスフィードバックプログラムの性質について、ここで主張している事柄は、次のように言い換えることができる：ビットスライスフィードバックプログラムを形作るアドレス値の連続は、いかなる形においても、直線的な数字の連続にする必要はなく、つまり、このアドレス値の連続は、一般に、１、２、３、４、．．．．の形態にはならない。
【０１２７】
ビットスライスフィードバックコードにおける直線的なアドレスシーケンスからの逸脱が存在する可能性がある第二の理由は、特定のタイプの「一次ビットスライスフィードバックプログラムメモリシステム」に特有のものとなる。特に、この「一次ビットスライスフィードバックプログラムメモリシステム」のグループは、ステートメント（３９）で述べるように、様々なタイプの現在製造されている汎用ＦＩＳマイクロプロセッサの様々な命令セットを、可能な限り厳密に−場合によっては正確に−模倣できるように設定される。
【０１２８】
この模倣を行うためには、こうした様々なステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの「一次ビットスライスフィードバックプログラムメモリシステム」内のメモリ位置の一部を、様々な命令に関する開始点として要求される必要があり、この命令は、移動、ビットスワップ、ワードの右シフト、ワードの左シフト、その他である。
【発明を実施するための最良の形態】
【０１２９】
認識する必要のある第一のポイントは、ステートメント（２）及び（６）に従った汎用ＦＩＳプロセッサユニットを設計及び構築することがどれほど容易であるかである。考慮するべき第二のポイントは、ハードウェアがどれほど安価になるかである。最後に、二つの数字をＲＡＭからＡＬＵ／数学コプロセッサへ一度に持ち込むことが可能である場合、ＡＬＵ／数学コプロセッサからの結果を即座にＲＡＭに受け入れさせることは、ＡＬＵ／数学コプロセッサの機能を処理する上で最良の理論上のアプローチとなることを認識しておく必要がある。
【０１３０】
こうした三つの洞察を考慮することで、一つのデータバスのみを使用することは、「データ入出パワーバス」の設計に対する最適なアプローチではないことが認識できる。実際には、最適な条件は、「データ入出パワーバス」に組み込まれた三つのデータ転送サブシステムが存在する状態である。こうした仕組みにより、「データ入出パワーバス」の前記データ転送サブシステムのうち二つは、ステートメント（２）及び（６）に従った汎用ＦＩＳプロセッサユニットに組み込まれたＡＬＵ／数学コプロセッサにデータを直接供給するために使用することができる。これは、データを一度に一つずつ運び、第一の数字を内部レジスタに格納しておくという旧式の要件を軽減する。そのため、第三のデータ転送サブシステムにより、この新しいコンピュータシステムは、ＡＬＵ／数学コプロセッサが算術計算、論理処理、又はビット操作のいずれかを完了した時点で、ＡＬＵ／数学コプロセッサ出力を、内部レジスタに格納する必要なく、「残りの汎用ＦＩＳコンピュータ」のＲＡＭ又はＩ／Ｏサブシステムのいずれかに転送することができる。
【０１３１】
この第一の世代の製品のこうした三つのデータ転送バスサブシステムの構造に関して、これらは、サイズ及び機能が同一となる。サイズに関しては、少なくとも論理回路から構築された現世代の汎用ＦＩＳプロセッサにおいて見られる最大の浮動小数点演算機能−Ｍｏｔｏｒｏｌａ  Ｒｉｓｋ汎用ＦＩＳプロセッサ及びＴｒａｎｓｍｅｔａのＣｒｕｓｏｅの計算能力等−に匹敵させるためには、少なくとも１２８ビット幅が必要となる。１２８ビット幅では、こうした転送サブシステムは、特に整数演算の計算に関して、１６の８ビット計算、八つの１６ビット計算、四つの３２ビット計算、二つの６４ビット計算、又は一つの１２８ビット計算が実行可能となる。そのため、これを、こうしたデータ転送サブシステムのサイズにするべきである。
【０１３２】
しかし、ステートメント（２）及び（６）の汎用ＦＩＳ周辺で作製された新しいタイプのコンピュータの第１世代では、「データ入出パワーバス」の三つのデータ転送サブシステムを十分に活用するためには、「残りの汎用ＦＩＳコンピュータ」内に、少なくとも三つのこうしたＲＡＭサブシステムが存在する必要がある。こうしたＲＡＭサブシステムのそれぞれは、この新しいタイプの「データ入出パワーバス」の三つのデータ転送サブシステムのいずれかとリンクする能力を有する必要がある。これは、図２２に示すバッファブリッジを通じて行われる。この図において確認されるように、所定のＲＡＭが所定の瞬間にどのデータ転送サブシステムとリンクするかについては、マスタコントローラの方向を通じて決定されることになる。
【０１３３】
ＲＡＭのアドレス指定を処理するサブシステムは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに基づく、この新しいタイプのコンピュータシステムの第一の世代では、多数のスタンドアロンユニットとなる。こうしたスタンドアロンユニットは、請求項（２）及び（６）の汎用ＦＩＳプロセッサユニットによって、「遠く」から制御され、一つのこうしたスタンドアロンアドレス／アクセスユニットは、ＲＡＭサブシステムのそれぞれと、「残りの汎用ＦＩＳコンピュータ」に存在するＩ／Ｏサブシステムのそれぞれのものとに割り当てられることになる。
【０１３４】
しかしながら、ＲＡＭ及びＩ／Ｏサブシステムのそれぞれに関して多数のアドレスサブシステムを有することに加えて、本特許出願においてアクセスサブシステムと呼ばれる第二のサブシステムのセットを設置する必要がある。なぜ第二のタイプの制御サブシステムをＲＡＭ及びＩ／Ｏサブシステムに追加し、アドレスサブシステムと連動させる必要があるのかについて理解するには、この最良の形態の応用において、「データ入出パワーバス」のデータ転送サブシステムが１２８ビット幅となることを思い出す必要がある。この場合、ＲＡＭ及びＩ／Ｏは、当初、１２８ビットの「チャンク」でデータを送出することになる。しかしながら、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットのいずれかに、１２８ビットより小さな増分（つまり、８ビット、１６ビット、３２ビット、又は６４ビット）でデータを供給する必要がある特定の状況が存在する。
【０１３５】
例えば、所定のＲＡＭサブシステムからの出力が８ビットワードに分割される場合−例えば、ＡＳＣＩＩ文字で構成されるテキストファイルを処理及び修正することなった時−には、前記ＲＡＭからの１２８ビット幅の出力には、１６のこうしたワードが存在することになる。ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築された、この新しいタイプのコンピュータの第一の世代の動作においては、こうした１６の８ビットワードのそれぞれを、並列の形式ではなく、連続的に、データ転送サブシステムに供給し、更にはここから受領する必要のある時期が存在する。
【０１３６】
そのため、一度に一つの大きな１２８ビットのシーケンスとして（つまりパラレルモード）又は８ビットワード等の一連の小さなワードとして（つまりシリアルモード）のいずれかで、ＲＡＭとの間でデータを送受信可能なこうした状況に対処できるように、この新しいタイプのコンピュータは、「残りの汎用ＦＩＳコンピュータ」のＲＡＭ及びＩ／Ｏサブシステムのそれぞれに関する全体的な制御サブシステムに、多数のこうしたアクセスサブシステムを導入する必要がある。こうしたアクセスサブシステムは、ＲＡＭ及びＩ／Ｏサブシステムにおいて必要な形式でデータを解析して入出力すること、つまり、１２８ビット、６４ビット、３２ビット、１６ビット、又は８ビットのシーケンシャルストリームとしてデータを送受信できることに責任を有する、制御サブシステムとして機能する。
【０１３７】
アドレシングサブシステムと同様に、この新しいコンピュータシステムの第一の世代の様々なＲＡＭ及びＩ／Ｏサブシステムに関するこうしたアクセスサブシステムは、四つの別個の独立したサブ−サブシステムに分割され、二つは、オペレーティングシステムが様々なＲＡＭ又はＩ／Ｏサブシステムから出る、又はこれらに入る、１２８ビットのデータに対する多数のアクセスを有することを可能にし、別の二つは、所定のアプリケーションが様々なＲＡＭ又はＩ／Ｏサブシステムとやり取りするデータを解析する二つの独立した手段を有することを可能にする。
【０１３８】
「残りの汎用ＦＩＳコンピュータ」に含まれる様々なＲＡＭ又はＩ／Ｏシステムに関するこうした四つの別個の独立したアドレス／アクセスサブシステムの正確な構造に関して、これらは互いに同一となる。これらの構造は、こうしたＲＡＭ及びＩ／Ｏシステムのそれぞれに関するアドレス機能を制御するものと同じビットスライスフィードバックシステムによって制御される多数のビットマップメモリ回路によって構成される。
【０１３９】
汎用ＦＩＳプロセッサに組み込まれるシステムから、様々なＲＡＭ又はＩ／Ｏシステム内の様々な別個の独立したアドレス／アクセスサブシステムへと進む、ＲＡＭをアドレス指定する方法における変化により、別個のアドレスバスシステムを有する必要性は存在しなくなる。汎用コンピュータの現在で過去の世代は論理回路から造られるFISプロセッサを中心につくった。正確には、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの第一の世代は、「データ入出パワーバス」に関する三つのデータ転送サブシステムのいずれか一つを利用して、「残りの汎用ＦＩＳコンピュータ」内の様々なＲＡＭ及びＩ／Ｏシステムに組み込まれた様々なアドレス／アクセスサブシステムに、アドレス値を伝送する。
【０１４０】
３つ以上のＲＡＭサブシステム
「残りの汎用ＦＩＳコンピュータ」には、更に二つのＲＡＭシステムを含める必要があると考えられる。その第一のものは、システム上で実行されている全てのプログラム（つまり、命令及びアドレス値）を格納するために使用される。
【０１４１】
「残りの汎用ＦＩＳコンピュータ」内の第二のＲＡＭシステムは、論理回路から構築される現在の汎用ＦＩＳプロセッサにおいて非常に基本的な役割を果たす内部レジスタを、この新しいタイプのコンピュータシステムでエミュレートする場合に、このステートメント（２）及び（６）の新しい汎用ＦＩＳプロセッサユニット内で必要となる。このＲＡＭに関しては、この新しいコンピュータシステムの全体的な性能を阻害しないように、このステートメント（２）及び（６）の新しい汎用ＦＩＳプロセッサユニットと同様の速度である種類のものにする必要がある。
【０１４２】
Ｉ／Ｏサブシステムに関して、この新しいコンピュータの第一の世代は、二つを有することになる。これにより、システムに配置された様々なＩ／Ｏデバイスが二つのＩ／Ｏサブシステム間で適切なバランスを保つと仮定すると、一つのＩ／Ｏシステムから別のものへのデータの迅速な転送が可能になる。この新しいコンピュータの第一の世代に関する「残りの汎用ＦＩＳコンピュータ」の全体的な構造は、図２６に表示されている。
【０１４３】
インターラプトリクエストバス
最後に「汎用ＦＩＳプロセッサユニット」および「残りの汎用ＦＩＳコンピュータ」間の矢の最後。ＩＲＱバスは、この新しいタイプの汎用コンピュータシステムでは、現在の多くのコンピュータシステム、ｘ８６タイプのマイクロプロセッサを中心に構築されるものに比べ、サイズが増加する。ＩＲＱの矢印印内のラインの数を増やすことで、この新しいタイプの汎用コンピュータは、衝突のように、少ないＩＲＱを有することにより時折発生する問題に全般的に直面しなくなる。
【０１４４】
汎用ＦＩＳビットスライスフィードバックプログラムプロセッサユニット
そのため、この新しいタイプのコンピュータシステムに関する最良の形態の設計のこの第一の世代において、現在汎用ＦＩＳプロセッサと呼ばれるものへと発展した三つの主要な構成要素（アドレスシステム、ＡＬＵ／数学コプロセッサ、及びマスタコントローラ）の第一のものは、内部構成要素ではなくなることになる。  しかしながら、こうしたアドレス／アクセス機能を行う回路が汎用ＦＩＳプロセッサ自体の直接的な部分ではなくなったとしても、こうしたスタンドアロンのアドレス／アクセス回路は、あらゆる指示及びデータ、及びしたがって制御を、「汎用ＦＩＳプロセッサユニット」から、「データ入出パワーバス」及び「制御バス」を経由して、依然として受けることになる。こうした制御及び指示を提供する「汎用ＦＩＳプロセッサユニット」の一部に関しては、このステートメント（２）及び（６）の新しい汎用ＦＩＳプロセッサユニットのマスタコントロールユニットであり、上記のように、「一次ビットスライスフィードバックプログラムメモリシステム」及び「基礎制御メモリシステム」の両方で構成される。
【０１４５】
ＡＬＵ
ＡＬＵの様々な構成要素（整数加算器、２の補数、左右のワードシフタ、左右のワードローテータ、増分、減分、論理機能（ＡＮＤ、ＯＲ、及びＸＯＲ）、バイト及びビット操作、バイト及びビットコンパレータ）の説明は、こうしたサブシステムのうち使用されることが多いものの一つである整数加算器から始める。
【０１４６】
整数加算器
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに基づく、この新しいタイプのコンピュータに関するこのサブ−サブシステムの最良の形態の設計は、図３乃至６に提示されている。このＡＬＵの構成要素内に存在する様々なメモリ回路に書き込まれることになるコードに関して、このコードは、単純で容易に生成されるべきである。
【０１４７】
整数加算器に関して、このＡＬＵの構成要素は、ＡＬＵの他の全てと同様に、最初に、一連のサブメモリ回路に分割する必要がある。これは、システム全体で使用されるメモリの量を妥当な境界内に維持しつつ、二つまでの１２８ビットの数（二進法で測定される）の加算が可能な整数加算器を有すること等、十分な機能を達成できるように行う必要がある。しかしながら、整数加算器システム全体を多数のサブシステムに分割するためには、図３及び６に示すように、一つのサブ加算回路からのキャリオーバビットを別のものにロールオーバして加算する処理を行う必要がある。しかしながら、こうしたキャリオーバビットの様々なロールオーバ加算を実行する際には、整数加算器全体の計算速度は、減少することになる。
【０１４８】
しかしながら、整数加算器の機能性を大幅に改善しつつ、多数のサブ加算回路が全体的な整数加算を行うように設定することがスピードに与える悪影響を大幅に減らすことが可能な、整数加算器の設計におけるいくつかの特定の事柄が存在する。こうした特定の設計の第一のものは、１２８ビット整数加算器を多数の基本加算ユニットに分割することであり、基本加算ユニットのレイアウトは図３に表示されている。キャリオーバビットのロールオーバ加算によって発生する時間的な悪影響を低減することが可能な第二のステップは、本特許出願において、図３に示すキャリオーバ計算メモリと呼ばれるものを導入することによる。
【０１４９】
キャリオーバ計算メモリの使用を通じて加算処理における多数のロールオーバが低減できる理由は、二桁より大きな二つの数のバイナリ加算だけでなく、基部に関係のない「妥当な」サイズの全ての加算に内在する優れた特徴である、二進法に適用される、この加算の優れた特徴を説明するために、図３の基本加算ユニットについて考える。
【０１５０】
この回路レイアウトにおいて、加算は、三段階で実行される、基本加算ユニットの第一の段階は、二つの部分から成り、第一に、加算される数が四つの４ビットのセットに分割され、その後、このそれぞれがこの前記第一の段階の第二の部分に渡され、この部分は四つのビットマップメモリ回路から成る。この四つのビットマップメモリ回路で生成されたものは、次に、二つの二進数のセットにそれぞれ分割される。各ビットマップメモリ回路のこうしたビットのセット（各セットに４ビット）の第一のものは、基本加算ユニットの第三のステージに直接渡される。第一の段階の各ビットマップメモリ回路からの第二のビットのセット（それぞれ２ビット：一つのキャリオーバビット及び一つの「警告ビット」）は、基本加算ユニットの第二の段階に渡される。
【０１５１】
基本加算ユニットの第二の段階は、図３に示すように、キャリオーバ計算メモリで、単純に別のビットマップメモリ回路である。このキャリオーバ計算メモリの目的は、基本加算ユニットの第一の段階の四つのメモリ回路全てからのキャリオーバビット及び警告ビットの両方と、図６に示すように、多数のこうした基本加算ユニットを共に連鎖させるために使用されるキャリオーバビットとを取り出すことであり、こうした全ての入力ビットを使用して、１クロックサイクルと同等のものにおいて、この基本加算ユニットの第三の段階を形成する四つのビットマップメモリ回路で、どのキャリオーバビットが使用されるかを決定する。同時に、この第二の段階は、この基本加入ユニットに関する全体的なキャリオーバビットの役割を果たす一つ又は二つのキャリオーバビットも生成する。なぜ二つのキャリオーバビットが存在し得るかに関しては、この基本加算ユニットが、一つの１６ビット加算又は二つの８ビット加算を行う加算ユニットとして実行できるためである。後者のケースでは、二つの全体的なキャリオーバビットが、各基本加算ユニットに関して生成される。
【０１５２】
図３に示すような第三の段階の加算器のそれぞれに関するキャリオーバビットの計算において、こうしたロールオーバの数の減少を可能にするものは、第一の段階を形成する四つのメモリ回路のそれぞれにおいて、出力数の２５６の組み合わせのうち１６のみが、何らかの形で、１を追加されたキャリオーバビット値を有することで影響を受ける点である。そのため、キャリオーバビットに警告ビットと呼ばれる第二のビットを導入した場合、第三の段階の基本加算ユニットに関して、四つのメモリ回路に関するキャリビットの全てを一度に計算することが可能になる。その後、この前記基本加算ユニットに関する全体的なキャリオーバビットを同時に計算することも可能となる。「キャリオーバ計算メモリ」によって一度に計算され、図３に示すように、適切なキャリオーバビットが第三の段階の基本加算ユニットの様々なメモリ回路に送られる、こうした五つ又は六つのキャリオーバビットの全てにより、この前記加算ユニットの第三の段階では、１６ビット（又は二つの８ビット）加算の最終結果を計算することが可能となり、これを１クロックサイクルと同等のものにおいて行うことができる。そのため、これにより、この１６ビット基本加算ユニットの設計では、計算を完了させるためにそれぞれのキャリオーバを隣のビットマップメモリ回路まで直接的に伝達する場合に要することになる４クロックサイクルではなく、３クロックサイクルと同等のものにおいて、この整数加算を実行することができる。
【０１５３】
この基本加算ユニットを基本的な構成単位として、上記のように、全体のキャリオーバビットによって、図６に示すように、これらを連鎖させることが可能である。図６に示すように、八つのこうした基本加算ユニットを連鎖させる時、このシステムは、二つの１２８ビットのセットを取り込むことが可能であり、多数の異なるタイプの整数加算、つまり、１６の８ビット加算、八つの１６ビット加算、四つの３２ビット加算、二つの６４ビット加算、又は一つの１２８ビット加算を実行する。
【０１５４】
任意の瞬間に、こうした加算のどれが実行されるかについては、図４に示すような、加算器コントローラビットスライスメモリシステムによって制御されることになる。この後者のシステムは、次に、図４に示す制御ラインによって持ち込まれた数によって命令を受領し、このラインはマスタコントロールシステム内部を起源とし、このシステムは、次に、任意の瞬間に実行されるプログラムからの指示を受領する。
【０１５５】
図３、５、及び６に表示されるビットマップ回路を通じた情報の流れは、実際には、任意のクロック信号による制御を受けない。つまり、こうしたビットマップ回路内の全てのメモリ回路は、クロックレスである。しかしながら、このビットマップ回路を制御する加算器コントローラビットスライスメモリシステムは、クロックされる。そのため、加算器コントローラビットスライスメモリシステムの観点では、この整数加算器のビットマップ部分の動作は、この整数加算器のビットマップ部分が作業を完了させるのに十分な時間を与えられるためには、加算器コントローラビットスライスメモリシステムがいくつのクロックサイクルを通過しなければならないかという点において考慮されなければならない。【０１５６】
更に、整数加算器に関するビットマップメモリ回路に適用されるクロックメカニズム存在しないため、この前記回路は、「常時アクティブ」と呼ばれるものとなる。つまり、このビットマップ整数加算回路への入力が変化すると、この前記回路は、このビットマップメモリ回路が受領している新しい数に関する新しい結果の計算を即座に開始する。請求項（２）及び（６）の汎用ＦＩＳプロセッサユニット内の他の機能にデータを伝達するために「データ入出パワーバス」の様々なデータ転送サブシステム上のデータが変化する度にではなく、整数加算を実行する必要がある時だけ、このビットマップ回路がアクティブになる状態を確保するために、「データ入出パワーバス」と整数加算器のものとの間に配置されたホールド回路、つまり、図６に示すように、「データ入出パワーバス」からの整数加算器に関する新しい入力データを、必要な時は常に捕獲するホールドシステムが存在する。このホールド回路が、加算器コントローラビットスライスメモリシステムによってトリガされるのは、この後者の回路が別の整数加算を実行するためにマスタコントローラにトリガされた時のみである。
【０１５７】
入力ホールド回路がトリガされ、新しい数字セットが残りの整数加算器に導入された後には、整数加算器のビットマップ回路の様々な段階を通じてリップル効果が生じ、第一の段階で開始され、第二の段階へ進んでいく。しかしながら、第一の段階が解決した時でも、第二のステージは、その直後に最終的な出力に到達しない場合がある。一部のケースにおいて、この第二の段階のビットマップ整数加算器回路は、加算器コントローラビットスライスメモリシステムによって、図６に示すように、隣接する基本加算ユニットから受領したキャリオーバビットを受け入れて影響を与えるように指示される場合がある。この場合、この所定の第二の段階は、隣接する基本加算ユニットの第二の段階まで解決しないことになり、一部のケースにおいては、基本加算ユニットの第二の段階自体も、隣接する基本加算ユニットが安定状態に入るまで、解決しない場合がある。
【０１５８】
八つの基本加算ユニットのそれぞれの第二の段階が、実際に、完全に解決した後、キャリオーバビットに関する安定値が、様々なキャリオーバ計算メモリ上で生成され、これにより、次に、様々な前記八つの基本加算ユニットに対する様々な第三の段階は、安定状態を求めることが可能となる。その後、八つ全ての基本加算ユニットの第三の段階が解決した後、こうした前記第三の段階からの出力は、１×１２８ビット、２×６４ビット、４×３２ビット、８×１６ビット、又は１６×８ビットとなる実行中の整数加算の所定のセットに関する最終的な安定した解答を提供する。
【０１５９】
整数加算器の最後の構成要素は、図５に示すキャリオーバ出力回路のものである。この回路は、二つの目的を果たす。第一に、この回路は、整数加算器において実行される任意の加算がオーバサイズの数、つまり、その時に使用されている所定のサイズのワードに大きすぎて格納できない数を形成するかどうかをマスタコントローラが決定することを可能にする信号のセットを、マスタコントローラに送信する。一部のケースでは、値のオーバランが実行中の計算にとって重要なものであり、したがって、ワードのサイズの増加が必要となる可能性がある。この回路が実行する第二の機能は、任意のＲＡＭシステムにおけるキャリオーバに関する値を、この新しいコンピュータシステムにより格納できるようにすることである。ここでも、このシステム上で実行される一部のプログラムは、こうしたキャリオーバ値に関する用途を有してもよい。
【０１６０】
増分／減分
増分／減分処理は、他の任意の整数加算と同様に扱われるが、相違点が一つある。整数加算器にデータを供給する二つの１２８ビットデータ転送サブシステムの一方に、正又は負の１のセットのいずれかを配置することが可能な、図７に示す単純なメモリ回路が、ＡＬＵ内部に設定される。
【０１６１】
２の補数
これは、この機能を実行する専用の回路、つまり図８乃至１０に示す回路を構築することで達成される。所定の整数を、その２の補数に変換する−したがって、負数にするか、或いは整数に戻す−ビットマップ及びビットスライスフィードバックメモリシステムは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットに基づくこの新しいコンピュータシステムの第一の世代に関する整数加算器のものと同じ基本構造を有する。整数加算器と２の補数回路との間の二つの主な相違点は、第一に、二つのＡＬＵサブシステムのそれぞれのビットマップ処理及びビットスライスフィードバックシステムの両方のものを形成するメモリ回路に配置されるコードにある。第二の相違点は、２の補数のビットマップ回路が１２８ビットのセットを、整数加算器のように二つではなく、一つのみ必要とすることである。つまり、「データ入出パワーバス」の三つのメイン１２８ビット転送サブシステムの一つからデータを取り出す必要のみを有する。
【０１６２】
整数減算
整数減算の実行に関しては、この機能を実行するための別個の回路セットを設定する必要はない。正確には、マスタコントローラが減算を実行する時に行うべきことは、最初に減算器を２の補数回路に方向付けることである。
【０１６３】
コンパレータ
ＡＬＵのこの構成要素の基本構造は、図１１及び１２に表示されており、外部ＲＡＭに戻す結果が存在しない点において、整数加算器のものと僅かに異なる。正確には、ビットマップシステムは、１６の８ビット数、八つの１６ビット数、四つの３２ビット数、二つの６４ビット数、又は一つの１２８ビット数の二セットのうち、存在する場合は、どれが互いに等しいかを決定し、等しくない場合は、どれが大きく、どれが小さいかを決定するために、三つのフィルタ段階を有している。ビットマップ整数加算回路と同様に、このビットマップコンパレータ回路は、非同期性にすることができる。
【０１６４】
左右シフタ−左右ローテータ
様々なワードサイズのビットの様々なセットの左右シフトと、同一の様々なワードサイズの同一の様々なビットの左右回転との両方を実行するのに必要となる、図１４乃至１６に表示されるように構築された一セットの回路のみが存在する。
【０１６５】
回転／シフトが発生する時、図１６に表示するビットスライスフィードバックメモリシステムは、適切な信号を、図１４に示すようなビットマップ回路の第一、第二、及び第三の段階のメモリ回路のそれぞれに送信し、左又は右シフト／回転のいずれかを実行するように指示する。コンパレータ回路及び整数加算器と同様に、この機能のビットマップ回路は、非同期で作動するようにすることができる。
【０１６６】
ＡＮＤ、ＯＲ、及びＸＯＲ
ＡＮＤ、ＯＲ、及びＸＯＲ回路は、ワンズジェネレータと同様に、ビットスライスフィードバックメモリ制御システムを必要としない。この回路が、独自の制御システムを必要としない理由は、こうした全ての処理−１６の８ビットＡＮＤ演算、八つの１６ビットＡＮＤ演算、四つの３２ビットＡＮＤ演算、又は二つの６４ビットＡＮＤ演算−が二つの１２８ビット数に関するＡＮＤ、ＯＲ、ＸＯＲのものと全く同じコードを必要とすることになるためである。そのため、こうした１５種類の機能、つまり五つのＡＮＤ、五つのＯＲ、及び五つのＸＯＲのいずれかを実行するために必要になるのは、このビットマップ回路の一段階に属するホールド回路をマスタコントローラによってクロックさせ、五つのＡＮＤ、五つのＯＲ、又は五つのＸＯＲの結果を取得することのみである。この回路の単純な構造に関しては、図１６及び１７に表示されている。
【０１６７】
ビット操作
図２６に表示されるＲＡＭ及びＩ／Ｏシステムのレイアウトを調べる時、こうした様々なＲＡＭ及びＩ／Ｏシステムは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット自体との間でデータを受け渡す必要性を伴わずに、つまり、データを内部レジスタに持ち込み、その後もう一度送り返す必要なしに、互いに容易にリンクできることが分かる。
【０１６８】
（ロードと呼ばれる）データ移動
論理回路から構成される汎用ＦＩＳプロセッサの圧倒的多数では、前記汎用ＦＩＳプロセッサ周辺で作製されるコンピュータシステムを通じてデータを移動（ローディング）する工程は２つのステージ処理の手段によってなされる。これらのステージの最初は、
移動する前にデータが存在する場所から汎用ＦＩＳプロセッサ内の内部レジスタの１つに所定のバイト又はワード移動することで構成される。そして、この処理の第２のステップは、データを前記内部レジスタからワードの最後の位置に移動することである。ＲＡＭ内の有る場所に移動するか、Ｉ／Ｏシステムに所定のポートを移動させるかでる。もしこの移動（ロード）がブロック移動（ロード）であるときは、この二つのステージは、移動される（ロード）それぞれのバイト又はワードに反復される。
【０１６９】
論理回路から構成された過去の汎用ＦＩＳプロセッサのほとんどがデータ移動（ロード）のとき、この方法で操作しなければならなかった理由は、上記したように、汎用コンピュータの初期の展開は、すべての努力が、ハードウェアの使用を最小限に抑えるために作製されていたからである。上記したようにハードウェアを最小限に維持する主要なステップの１つは、２つのことをすることによって獲得される。一つ目は、コンピュータが１つの出た０の移動バスに限定されることであった。二つ目は、一つのアドレス指定システムを用いた一つのＲＡＭシステムのみが全体の計算システムで使用されることであった。アドレスシステムは、とても速くマイクロプロセッサに組み込まれた。データを１つの位置から他に移動する内部のレジスタの使用及び複数のステップを使用する１つのデータ移動システム、１つのアドレス指定システム及び１つのＲＡＭシステムを使用することであった。
【０１７０】
しかし、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットの新しいタイプ及びその周辺で作製されるコンピュータのベストモードでは、論理回路から作製された汎用ＦＩＳプロセッサユニット周辺で作製されたコンピュータでは、このような限定はない。まず、「データ入出バス」に複数のデータ移動サブシステムがあること。二つ目に複数のＲＡＭ及びＩ／Ｏシステムに所定システムがあること。最後に、複数のＲＡＭ及びＩ／Ｏシステムのそれぞれがそれらの中に作製されたアドレス指定又はアクセスサブシステムを有していることである。
【０１７１】
図２６に示されたようにこうしたＲＡＭ及びＩ／Ｏシステムのレイアウトを試験すると、これらの様々なＲＡＭ及びＩ／Ｏシステムは、移動データをステートメント（２）及び（６）
の汎用ＦＩＳプロセッサユニットに及びから移動する必要がなく、互いに容易にリンクされる。すなわち、データは内部レジスタに移動される必要はなく、再度戻される。
【０１７２】
むしろ、起こりうることは、汎用ＦＩＳプロセッサユニットの前記新しいタイプのマスターコントローラーは、それらの間でデータの移動（ロード）を実行するためのＲＡＭ及びＩ／Ｏシステムの二つに組み込まれた作製されたビットスライスフィードバックメモリコントローラーのそれぞれに案内される。そして、「データ入出バス」の３つの所定データ移動サブシステムの一つで実行し、データを有するものなしに処理するプロセッサに入る。
【０１７３】
ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット周辺に作製された新しいタイプのコンピュータのこうしたベストモードの適用がデータを移動するために内部レジスタを通じてデータを入力、出力に基づく必要がない２つめの理由は、ＲＡＭ及びＩ／Ｏサブシステムのそれぞれに組み込まれた複数のアドレス指定／サクセスサブシステムのためである。マスターコントローラーの指示を通じて所定のＲＡＭ／Ｉ／Ｏシステム内の複数のアドレス指定／アクセスサブシステムのいずれか１つが、図２４に示されるように、同じＲＡＭ及びＩ／Ｏシステム内の他の３つのアドレス指定／アクセスサブシステムのいずれかのホールド回路の手段によってデータを送付することが可能になる。したがって、データは、汎用ＦＩＳプロセッサを通過しなければならないことはなく所定のＲＡＭシステム内で移動できる。
【０１７４】
従って、この手段によれば、データは、最小限の処理及びステートメント（２）及び（６）の汎用ＦＩＳプロセッサの最小の関与するシステムを通じて移動（ロード）され、その結果、データを移動に必要な時間を短縮化する。
【０１７５】
マスタコントローラ
マスタコントローラは、汎用ＦＩＳプロセッサの中核を成す。基本的な目的は、整数加算器と、増分／減分回路と、２の補数回路と、コンパレータと、左右ローテータと、ＡＮＤ、ＯＲ、及びＸＯＲ回路と、ビット操作と、ＲＡＭアドレス／アクセス回路とを含め、この汎用ＦＩＳプロセッサ／コンピュータの前記最良の形態の応用における他のすべての様々な構成要素の動作を協調させ、汎用ＦＩＳプロセッサの命令セット内に存在する異なる命令の全てに関連する異なる機能の全てを完了できるようにすることである。
【０１７６】
上で指摘したように、このステートメント（２）及び（６）の新しいタイプの汎用ＦＩＳプロセッサユニットに関するマスタコントローラは、協調したユニットとして機能する「一次ビットスライスフィードバックプログラムメモリシステム」と「基礎制御メモリシステム」とによって構成される。その上、同じく上記のように、「一次ビットスライスフィードバックプログラムメモリシステム」は、前記「一次ビットスライスフィードバックプログラムメモリシステム」内で稼働する二つのフィードバックシステムが存在し、一方のフィードバックシステムが第二のフィードバックシステムに埋め込まれる点において、他の殆どのビットスライスフィードバックメモリシステムとは異なる。この大きなフィードバックループを経由して、「一次ビットスライスフィードバックプログラムメモリシステム」、及びしたがってマスタコントローラは、命令を取り込むことになる。
【０１７７】
ここで、この新しい汎用ＦＩＳプロセッサ／コンピュータシステムがどのように命令を取り込み、これによって次の命令を実行する準備をするかについて理解するためには、この汎用ＦＩＳプロセッサの最も基本的な機能、つまり命令を取り込み実行することが、「ループ」処理であることを最初に理解する必要がある。つまり、この前記汎用ＦＩＳプロセッサが所定の命令を実行するたびに、何度も発生する一連のステップが存在する。この処理を開始するためには、プログラムを含むＲＡＭに関するアドレス／アクセスサブシステムのアクティブな構成要素において、適切なアドレス値を設定しなければならない。その後、これが達成された後、マスタコントローラに命令を送信する必要がある。
【０１７８】
こうしたプログラムＲＡＭシステムの適切なアドレス指定は、二種類の方法のいずれかで達成される。第一に、前記コンピュータシステムが起動処理を開始している場合、マスタコントローラ、つまり図２の起動システムは、ＢＩＯＳの第一の位置にアクセスするようにシステムを設定する。歴史的に、BIOSの第1の場所は、0アドレス指定値にセットされた。実行中のプログラムを含むＲＡＭシステムに関するアドレス／アクセスサブシステムが正しいアドレス値を有する第二の方法は、直前に完了した命令によって行われる動作を通じたものとなる。ここで、「データ入出パワーバス」の三つのデータ転送サブシステムの第一のものに、いずれかの方法で配置された、実行されるべき次の命令によって、二種類の動作が発生する。第一のものでは、図２に示す「ホールド」サブシステムが、命令の値を格納する。第二の動作では、「ホールド」サブシステムによって保持されている同じ命令が、図２７に示すように、「一次ビットスライスフィードバックプログラムメモリシステム」内のマルチプレクサを通過し、この「一次ビットスライスフィードバックプログラムメモリシステム」のための入力となる。つまり、この「一次ビットスライスフィードバックプログラムメモリシステム」に関する遙かに大きなフィードバックループが、「一次ビットスライスフィードバックプログラムメモリシステム」内に存在するビットスライスフィードバックプログラムメモリに関するフィードバックライン上で、データを制御及び入力するものとなる。この動作を通じて、「一次ビットスライスフィードバックプログラムメモリシステム」と「基礎制御メモリシステム」とから成るマスタコントローラは、実行されることになる次の命令を受領できるようになる。
【０１７９】
整数加算の実行
次に、こうした加算の一つをマスタコントローラがどのように正確に実行するかについて説明すると、第一の動作は、上で説明したように、この加算の実行を指示する命令をマスタコントローラに取り込ませることである。命令が取り込まれた後、次にマスタコントローラで発生する事柄は、マスタコントローラのクロックを有することであり、上で説明したように、この新しい汎用ＦＩＳプロセッサシステム／コンピュータの最良の形態の応用は非同期性となるため、このマスタコントローラのクロックは、殆どの論理に基づく汎用ＦＩＳプロセッサに存在するクロックとは異なり、ローカルクロックとなる。その後、「一次ビットスライスフィードバックプログラムメモリシステム」に関する次のフィードバック数が出力される。この数は、二つのサブシステムに送信され、その第一のものは、「基礎制御メモリシステム」のものである。
【０１８０】
この「一次ビットスライスフィードバックプログラムメモリシステム」から出力された出力を受領すると、主にビットマップメモリシステムである「基礎制御メモリシステム」は、次に、あらゆる範囲の制御信号を、このステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニットを中心に構築されたコンピュータシステム全体の様々なシステム及びサブシステムに対して送出する。この整数加算における第一のステップを実行する場合には、こうした送出される全ての信号は、プログラムＲＡＭシステムと、二つのデータＲＡＭシステムと、「一次ビットスライスフィードバックプログラムメモリシステム」に関するマルチプレクササブシステムとに送信されるものを除き、「非動作」に設定され、この「非動作」は、一般に、出力ラインに配置されるゼロ値である。２の補数ユニット及びビット操作回路といったＡＬＵの他の全ての構成要素へ向かうもの等、「基礎制御メモリシステム」に関する出力ラインの殆どに関しては、整数加算の実行の全体を通じて、「非動作」の状態が維持される。
【０１８１】
「基礎制御メモリシステム」によって最初に送出される第一の正の信号に関して、この信号は、「一次ビットスライスフィードバックプログラムメモリシステム」に関するマルチプレクササブシステムへ送信されるものである。この信号の目的は、入力フィードバックラインを、ＲＡＭからの入力を受領することから、「一次ビットスライスフィードバックプログラムメモリシステム」自体に関する直接的なフィードバックループのものに変換することである。こうした「一次ビットスライスフィードバックプログラムメモリシステム」へ供給されるものの変化は、この「一次ビットスライスフィードバックプログラムメモリシステム」に、独自の内部的な動作のシーケンスに関する作業を開始させることを指示する効果を有する。
【０１８２】
この新しい命令の実行における第一のクロックサイクルで「一次ビットスライスフィードバックプログラムメモリシステム」が送出する第二の正の信号セットに関して、この信号セットは、「基礎制御メモリシステム」の独自の出力制御ライン上で整数加算器に送信される値であり、この出力制御ラインは、整数加算器だけでなく、ＡＬＵ内の全てのサブシステムと、様々なＲＡＭアドレス／アクセスサブシステムでも終了する。こうした前記出力制御ラインに配置されるこの値を通じて、「基礎制御メモリシステム」は、整数加算器に対して、１６の８ビット加算、八つの１６ビット加算、四つの３２ビット加算、二つの６４ビット加算、又は一つの１２８ビット加算という、様々なタイプの加算のうちどれを行うことになるかを伝えることができる。
【０１８３】
ここでそのときに注目すべきことは、整数加算命令のすべてが、適切なデータ及び整数加算器に入力するデータを提供するＲＡＭシステムへの適切なアドレス指定値は「データ入出バス」に適切なデータ移動サブシステムに配置されるために準備されている。データをセットアップすることは前の命令又は命令のセットによって達成される。
【０１８４】
しかし、データの移動の準備が整っていたとしても、「基礎制御メモリシステム」が、図２に示すように、データ入出バスのための適切なデータ移動サブシステムにこのデータを実際におくために、様々なメモリ／プロセッサインターフェイスデータラインシステムに案内するマスタコントローラクロックの最初のクロックサイクルに第三のポジティブシグナルを送り出す。
【０１８５】
「一次ビットスライスフィードバックプログラムメモリシステム」は、次に「基礎制御メモリシステム」に供給される、第二のフィードバック数を出力する。この第二の数を受領すると、「基礎制御メモリシステム」は、四つの事柄を行う。第一に、出力制御ライン上で、整数加算器に関する正しい制御値を維持し続ける。第二に、クロックトリガ信号を、図４及び６に示すように、前記整数加算器に送信する。これにより、このユニットでは動作が開始される。このクロックトリガ信号を送信するのと同時に、「基盤制御メモリシステム」は、「一次ビットスライスフィードバックプログラムメモリシステム」にも信号を送り、密な非動作ループにする。最後に、「データ入出パワーバス」に関する二つの入力データ転送サブシステムから整数加算器が入力信号を捕獲したことを示す整数加算器からの信号を聞くように自らに指示する。この全てが行われると、マスタコントローラは、「待機」状態に入る。
【０１８６】
しかしながら、マスタコントローラが待機状態にある間、整数加算器は、「データ入出パワーバス」の様々なサブシステムからの入力データを捕獲する単純な処理を続け、その後、そのデータを有しており、二つの数字のセットを加算するタスクの残りに取りかかっていることを示す信号を「基礎制御メモリシステム」に送信する。この信号を受領すると、「基礎制御メモリシステム」は、「基礎制御メモリシステム」は、「一次ビットスライスフィードバックプログラムメモリシステム」を密な非動作ループからリリースし、後者が整数加算のシーケンスの次のステップに移行できるようにする。
【０１８７】
その後、マスタコントロールに関するクロックは、別のクロックパルスを「一次ビットスライスフィードバックプログラムメモリシステム」に送り、これにより、このシステムは、新しいフィードバック数を「基礎制御メモリシステム」に送信する。この新しい数を受領すると、「基礎制御メモリシステム」は、整数加算器に対するクロックトリガをオフにし、同時に、プログラムＲＡＭシステムに対してアクティブなアドレスサブシステムを一つ前へ進めるように伝えることができるように、出力制御ラインを設定する−この最良の形態の応用では、上で説明したように、それぞれのＲＡＭシステムは四つのアドレスサブシステムを有するが、そのうちの一つのみが、任意の瞬間にアクティブとなる。
【０１８８】
別のクロックパルスは、マスタコントローラのクロックから「一次ビットスライスフィードバックプログラムメモリシステム」に送信され、新しいフィードバック数を「基礎制御メモリシステム」に持ち込む。これによって、次に、「基礎制御メモリシステム」は、出力制御ラインを以前のクロックサイクルにおいて設定された値で維持したまま、クロックトリガをプログラムＲＡＭシステムに送信する。こうしてプログラムＲＡＭにおいてクロックをトリガすることで、このシステムはアクティブになる。
【０１８９】
これが起きると、マスタコントローラによって受領された加算命令の性質に応じて、二つの事柄の一方が発生する。第一の可能性では、受領した命令は、整数加算器にデータ入力を提供したＲＡＭシステムに関するアクティブなアドレス／アクセスシステムを前進させる種類のものである。この種類の命令である場合、この命令に関する制御フローの次のステップに関する次のフィードバック数が「基礎制御メモリシステム」によって受領された時、このシステムは、アドレス値を一つクロックさせることをデータＲＡＭシステムに指示するために必要な値に、制御ラインを設定する。その後、マスタクロックが別のクロック信号を「一次ビットスライスフィードバックプログラムメモリシステム」に送信し、したがって新しいフィードバック数が「基礎制御メモリシステム」に送信されると、「基礎制御メモリシステム」は、整数加算器に入力データを提供した二つのＲＡＭシステムに関するクロック回路をトリガし、この間、制御ラインの値は、以前のクロックサイクルにおいて設定された値に維持する。
【０１９０】
次に、これが完了し、「一次ビットスライスフィードバックプログラムメモリシステム」に関する次のクロックサイクルになると、「基礎制御メモリシステム」は、五つの事柄を行う。「基礎制御メモリシステム」は、「一次ビットスライスフィードバックプログラムメモリシステム」を再び密な非動作ループに設定する。この時に「基礎制御メモリシステム」が行う第二の事柄は、整数加算器が全体的な加算タスクを完了したことを示すのを待つように自らを設定することである。「基礎制御メモリシステム」が行う第三の事柄は、整数加算器からの出力を格納するＲＡＭシステムに、「データ入出パワーバス」に関する三つのデータ転送サブシステムの第三のものから値を取り上げるように伝えるコードを出力制御ラインに設定することである。第四として、「基礎制御メモリシステム」は、更に、「データ入出パワーバス」に関する三つのデータ転送サブシステムの第三のものに整数加算器が結果を出力できるようにする。最後に、「基礎制御メモリシステム」は、整数加算器からの完了信号を待つように自らを設定し、その後、マスタコントローラは整数加算器を待つ。
【０１９１】
次に、整数加算器がタスクを完了し、完了信号を「基礎制御メモリシステム」に送信すると、「基礎制御メモリシステム」は、別の一連の機能の全てを同時に実行し、最初に同期パルスを整数加算器に送信し、同時に、整数加算器のクロックトリガが「非動作」値に設定されていることを確認する。その後、最後に、「一次ビットスライスフィードバックプログラムメモリシステム」を、入っている密な非動作ループから移行させる。
【０１９２】
マスタコントローラのクロックが次のパルスを「一次ビットスライスフィードバックプログラムメモリシステム」に送出する時、「基礎制御メモリシステム」は、整数加算器から出力データを取り上げることになるＲＡＭシステムに、クロックトリガパルスを送信する。同時に、「基礎制御メモリシステム」は、「一次ビットスライスフィードバックプログラムメモリシステム」を更に別の密な非動作ループに配置し、整数加算器にデータを出力した第一のデータＲＡＭシステムからの信号を待つことができるように自らを設定する。マスタコントローラが待つ信号は、ＲＡＭシステムが一つ前進させるのを完了したことを示すものである。
【０１９３】
次に、この第一のデータ出力ＲＡＭシステムからの信号を受領すると、「基礎制御メモリシステム」は、この前記データＲＡＭシステムに同期パルスを送信し、「一次ビットスライスフィードバックプログラムメモリシステム」を密な非動作ループからリリースする。
【０１９４】
その後、次のマスタコントローラクロックによって「一次ビットスライスフィードバックプログラムメモリシステム」に送信されるクロックパルスにより、「基礎制御メモリシステム」は、「一次ビットスライスフィードバックプログラムメモリシステム」から次のフィードバック数を受領すると、前記「一次ビットスライスフィードバックプログラムメモリシステム」を更に別の密な非動作ループ内に設定し、瀬数加算器にデータを送信した第二のデータＲＡＭシステムからの完了信号、つまり、同じくアクティブなアドレスシステムを一つ前進させるのを完了したことを示す信号を受領するように自らを設定する。
【０１９５】
この第二のデータＲＡＭシステムがアクティブなアドレスシステムを調整し、その後、前記信号を「基礎制御メモリシステム」に送信する時、「基礎制御メモリシステム」は、この前記第二のデータＲＡＭシステムからの信号に対して、この後者のシステムに同期パルスを送信することで応答し、第三のＲＡＭシステムつまり整数加算器からの出力値を取り込むように指示されているものに目を向け、データのストレージが完了されたかどうかを確認するように、マスタコントローラに指示する。マスタコントローラは、「一次ビットスライスフィードバックプログラムメモリシステム」を密な非動作ループの一つから再度リリースし、この前記「一次ビットスライスフィードバックプログラムメモリシステム」を、当然ながらマスタコントローラのクロックの１クロックサイクル後に、別のものに配置することで、これを行う。その後、マスタコントローラは、この最後のＲＡＭシステム、つまり整数加算器からの結果を格納するものに関する上のチェック処理を繰り返す。この第三のＲＡＭシステムからの完了信号を受領した後で、マスタコントローラは、「一次ビットスライスフィードバックプログラムメモリシステム」を密なループから、少なくともこの命令の実行中に関して、最後にもう一度リリースする。
【０１９６】
その後、「一次ビットスライスフィードバックプログラムメモリシステム」に送信される次のクロックパルスにおいて、「基礎制御メモリシステム」は、プログラムＲＡＭシステムに関するデータ出力システムを有効化する。これにより、プログラムＲＡＭシステムは、「データ入出パワーバス」の適切なデータ転送サブシステムに、次の命令を配置できる。しかしながら、「基礎制御メモリシステム」は、このプログラムＲＡＭシステムに関する出力を可能にする時、同時に、整数加算器にデータを供給するために同じ前記データ転送サブシステムを使用していたデータＲＡＭシステムの出力を無効化しなくてはならない。次に、「基礎制御メモリシステム」は、この同じクロックサイクル内で、「一次ビットスライスフィードバックプログラムメモリシステム」のマルチプレクサに信号を送信し、直接的なフィードバックループから、大規模なフィードバックループへと切り替え、これにより、マスタコントローラのクロックが次のクロックパルスを「一次ビットスライスフィードバックプログラムメモリシステム」に送信する時に発生する次の命令を受け入れるためにマスタコントローラ全体を準備する。
【０１９７】
ＲＡＭのアドレス指定の変更
マスタコントローラが達成できなければならない次の機能は、図２６に示すような様々なＲＡＭシステム内部の様々なアドレスシステムに関するアドレス値を設定することである。このステートメント（２）及び（６）の新しい汎用ＦＩＳプロセッサユニットを中心に構築された、この新しいコンピュータシステムの最良の形態に関して第一に理解するべきことは、このシステムが、ＲＡＭのページングの概念を十分に活用することであり、このＲＡＭのページングは、現世代のｘ８６タイプのマイクロプロセッサを使用して構築された現世代のコンピュータのような現在の汎用ＦＩＳコンピュータ／マイクロプロセッサの多くにおいて見られるものと同じ技術である。
【０１９８】
ここで、この新しい汎用コンピュータシステムに関して、ＲＡＭシステムの一つで四つのアドレスシステムの一つによってアクセスされているページを変更するために、発生するべき第一の事柄は、コンピュータをカーネルモードにすることである。
【０１９９】
マスタコントローラは、最初に、実行されているプログラムから所定のページング命令を受領する。可能性のある四つのページング命令のうちどれが受領されたかに基づいて、「一次ビットスライスフィードバックプログラムメモリシステム」は、四つのプロセッサ−プログラムシーケンスの一つに入る。こうした四つのシーケンス間の唯一の違いは、所定のＲＡＭシステム内の四つのアドレスシステムのどれが変化をトリガされるかである。
【０２００】
ここで、二種類のＲＡＭページング命令のセットが存在する。二種類のセットの間の違いは、ページ値がどこに由来するかに基づいている。ＲＡＭページ変更命令の第一のセットは、新しいページ値がプログラムＲＡＭシステム内の次の位置に存在する次の値となる場合のものである。このページング命令のセットでは、第一のクロックパルスがマスタコントローラのクロックから、「一次ビットスライスフィードバックプログラムメモリシステム」へ送信される時、「基礎制御メモリシステム」は、プログラミングＲＡＭシステムがアクティブなアドレス／アクセスシステムを一つ進めるように、出力制御ラインを設定する。これにより、このメモリシステムからの新しいページ値にアクセスすることが可能となる。次に、マスタコントローラのクロックからの第二のクロックパルスにおいて、「基礎制御メモリシステム」は、出力制御ライン上の値を変わらず保持しながら、プログラムＲＡＭシステムからのクロックシステムをトリガする。これにより、プログラムＲＡＭシステムは、必要なアドレスページ値を出力することができる。
【０２０１】
一方、第二のタイプのＲＡＭページ変更命令において、アドレスページ値は、他のＲＡＭシステムの一つ、つまりデータＲＡＭシステムの一つに存在する位置に由来する。この新しいアドレス値が取得される方法は、「基礎制御メモリシステム」によって、マスタコントロールクロックの最初のクロックパルスにおいて、適切なＲＡＭシステムが必要なアドレスページ値を「データ入出パワーバス」の三つのデータ転送サブシステムの一つに配置できるようにすることである。適切なＲＡＭシステムの選択は、様々なＲＡＭページ変更命令のうちどれが、実行中のプログラムでマスタコントローラに送信されたかによって決定される。
【０２０２】
次に、適切なアドレス値が「データ入出パワーバス」の適切なデータ転送サブシステムで出力されると、アドレスページ値の三つの最上位ビットが、「基礎制御メモリシステム」によって取り込まれる。「基礎制御メモリシステム」は、その後、これら三つのビットを使用して、適切なアドレスシステムを変更するために、様々なＲＡＭシステムのどれがアクセスを受けるかを決定する。次に、マスタコントローラのクロックからの次のクロックパルスにより、「基礎制御メモリシステム」は、次のフィードバック数を受け、適切なＲＡＭシステムに関するクロックシステムをトリガする。「基礎制御メモリシステム」からの出力制御ラインで正しい制御値を受領し、更にクロックセットを動作に設定すると、この前記適切なＲＡＭシステムは、次に、「データ入出パワーバス」の正しいデータ転送サブシステム上の所定の値を取り出し、適切なアドレス／アクセスサブシステムの適切なＲＡＭページアドレスメモリにおける新しい値として配置する。
【０２０３】
その後、次のマスタコントローラのクロックサイクルにおいて、「基礎制御メモリシステム」は、アドレスページ値の残りの部分を取得するために、アドレスページ値を提供しているＲＡＭシステムに対して、一つ前進するように指示する。これが実行されると、「基礎制御メモリシステム」は、ページ値を変更している前記ＲＡＭシステムに対して、ページ値の最後の部分を取り込むように指示する。
【０２０４】
しかしながら、この全てが起きている間、ＲＡＭページ値を変更している前記適切なＲＡＭシステムは、更に、ＲＡＭのアドレス指定に関する１２の最下位アドレスビットをゼロ設定し、１２８ビットのデータ出力にアクセスするために使用されるアクセスシステム（上で説明したアクセスシステム）を、最下位ワードに対する一連のワード（６４ビット長、３２ビット長、１６ビット長、又は８ビット長となる）として設定する。１２の最下位アドレスビットをゼロ設定し、最下位ワードにアクセスすることで、変更されている所定のＲＡＭシステムに関するアクティブなアドレス／アクセスサブシステムは、新しいページの先頭に効果的に移動する。
【０２０５】
これは、ＲＡＭシステムのいずれかのためのアドレス指定／アクセスサブシステムのいずれかのためにアドレスされるページを変化させる手段である。しかしながら、このページの変化にあるとき、このステートメント（２）及び（６）の新規の汎用ＦＩＳプロセッサユニットは所定のＲＡＭシステムのＲＡＭに存在しないページにアクセスを試みる。すなわち、この新規の汎用ＦＩＳプロセッサユニットは、変化している所定のＲＡＭシステムのために全てのＲＡＭのシークエンスの外にアドレス処理しようと試みる。そして、所定のＲＡＭのシークエンスのためのアドレス処理／アクセスＲＡＭシステムは、マスク不可能な割り込みが前記汎用ＦＩＳプロセッサユニットに送られる。エラーがアドレス処理／アクセス処理に発生したマスタコントローラに指示する割り込みシグナルである。この前記マスク不可能な割り込みを受領した「基本制御メモリシステム」に基づいて、「基礎制御メモリシステム」は、操作システム内にある適切な割り込みプログラムシークセンスにアクセスするために「一次ビットスライスフィードバックプログラムメモリシステム」に案内する。この段階で、このエラーの処理は、操作システムの機能となる。
【０２０６】
これは、ステートメント（２）及び（６）の汎用ＦＩＳプロセッサユニット周辺に作製された新規なタイプのコンピュータのベストモードがどのようにＲＡＭページに変化するかを確立する。アドレス処理／アクセスＲＡＭの第２の特徴は、ＲＡＭの所定のページ内において移動することができる。ＲＡＭの所定ページ内で移動するとき、留意しなければならない１つ要因がある。ＲＡＭの出力は、トータルで１２８ビット長である。しかし、出力の１２８ビットは様々な環境下で、説明したように、多くの異なるサイズのワードに分解される。すなわち、１２８ビットワード、２つの６４ビットワード、４つの３２ビットワード、８つの１６ビットワード又は１６つの８ビットワードである。この手段でＲＡＭを処理すると結果として、ＲＡＭは、実際には、有効なサイズの情報のマトリックスとして見なされる。有効なマトリックス、全体のマトリックス内に貯蔵されるワードの量は、順次、ワードサイズ及びページサイズによって決定され、変化する。１ワードとして、出力に１２８ビットすべてを使用している場合には、所定の情報ページは、このベストモードでは、４Ｋの長さである。ワードサイズが６４ビットであるとき、情報の所定ページは８ｋ長さになる。３２ビットワードのために、ページは１６ｋとなり、１６ビットワードのためには３２ｋになる。（ＡＳＣＩＩテキストページのような）８ビットワードの場合は、トータルページは６４ｋになる。
【０２０７】
所定のページ内での移動を行うための命令は、ワードのサイズに関係なく同じであり、このようになるのは、この場合も、様々なＲＡＭシステムのそれぞれに存在する四つのアドレス／アクセスシステムの一つのアクセス構成要素によって、ワードのアクセスが自動的に処理されるという事実のためである。
【０２０８】
ページ内での移動のための命令に関しては、最初に、様々なＲＡＭシステムに対して、所定のページ内での１、２、４、８、１６、又は３２ワード位置の前進又は後退を指示する命令のセットが存在する。こうしたタイプの小さなステップのアドレス／アクセス命令を実行するのに要する時間については、その全てにおいて、移動の大きさとは関係がなく、マスタコントロールクロックの４サイクル以内に完了される。
【０２０９】
この新しいタイプの汎用コンピュータの最良の形態の応用において可能となる、この第二のタイプのアドレス／アクセスの変更は、所定のページ内での絶対的な移動が関与するものである。つまり、１６ビットワード（このうち、１２ビットが１２８ビットワードページに使用され、１３ビットが６４ビットワードページに使用され、１４ビットが３２ビットワードページ、１５ビットが１６ビットワードページ、或いは１６ビットが８ビットワードページに使用される）が、様々なＲＡＭシステムの一つに渡されることになる。次に、アドレス／アクセスの変更を受ける所定のＲＡＭシステムに関するアクティブなアドレス／アクセスサブシステムは、その１６ビットワードを取り出し、所定のページ内の絶対位置に変換する。このアドレス／アクセス命令のセットが、あるページから次のページへの変更を可能にする命令のセットと結合されている時、このコンピュータシステムは、ＲＡＭ内の任意のメモリ位置にアクセスする能力を有することになり、同然ながら、こうした所定のＲＡＭシステム内の位置の完全な変換は、前記コンピュータシステムが正しいモード、つまりカーネルモード及び／又はリアルモードである時のみ実行できる。
【０２１０】
ＲＡＭの所定のページ内でアドレス／アクセスの変更を達成できる第三の方法は、相対的なアドレス指定によって行われる。こうした命令がどのように作用するかに関しては、最初に、マスタコントロールが、変更されるＲＡＭシステムに対して、入っているページに関する現在のアドレス／アクセス値を出力するように指示することで開始される。次に、マスタコントローラは、他のシステムの一つ、おそらくはプログラムＲＡＭシステムに対して、オフセット値を出力するように指示する。次に、こうした二つの数字−前記ＲＡＭシステムの現在のアドレス／アクセス値及びオフセット値−は、整数加算器を通過する。次に、この整数加算の結果が、アドレス／アクセスの変更を受けているＲＡＭシステムに関するアクティブなアドレス／アクセスシステムに再び渡される。この値を受領すると、変更を受けている所定のＲＡＭシステムは、絶対的なアドレス変更を処理したのと同じ方法で、この数字を処理し、この値をアクティブなアドレス／アクセスサブシステムに直接的に差し込む。
【０２１１】
比較の実行
所定の比較のセット（つまり、１６の８ビット比較、八つの１６ビット比較、四つの３２ビット比較、二つの６４ビット比較、又は一つの１２８ビット比較）を実行することに関して、この新しい全体的な汎用ＦＩＳコンピュータのマスタコントローラは、多くの異なるタイプの整数加算の一つを実行する際に行ったように、比較を実行する上での同じ二つの動作的態様に取り組む必要がある。
【０２１２】
マスタコントローラは、コンパレータの最も一般的な使用において、結果として生じる前記コンパレータの出力を取り出して格納するために、「残りの汎用ＦＩＳコンピュータ」内のＲＡＭシステムの一つをトリガする必要がない。
【０２１３】
２の補数の実行
２の補数機能を実行することに関して、マスタコントローラがこれを行う際の最初のシーケンスは、整数加算を実行する際のものとほぼ同一である。唯一の違いは、この処理の最初のステップにある。２の補数ユニットに関しては、整数加算器によって使用される二セットの数字ではなく、一セットの数字（つまり、一つの１２８ビット数、二つの６４ビット数、四つの３２ビット数、八つの１６ビット数、又は１６の３２ビット数）のみを送信する必要がある。この結果として、マスタコントローラは、２の補数にデータを提供するために、一つのデータＲＡＭシステムに関する出力バッファと、必要な場合は、前記ＲＡＭシステムのアクティブなアドレス／アクセスサブシステムとをアクティブにする必要のみを有する。
【０２１４】
増分／減分の実行
所定のワード又はワードのセット（二つの６４ビットワード、四つの３２ビットワード、八つの１６ビットワード、又は１６の８ビットワード）が増分又は減分される処理は、このステートメント（２）及び（６）の新しい汎用ＦＩＳプロセッサユニットを中心に構築された
新しいコンピュータの最良の形態の応用において、他の様々な整数加算命令のいずれかを実行するものとほぼ同一の処理によって達成される。これら二つのクラスの命令の間に存在する唯一の違いは、様々なデータＲＡＭシステムの二つから整数加算器に供給される数字の両方のセットを有するのではなく、数字の一方が特別に構築されたＲＯＭに由来する点であり、このＲＯＭは、マスタコントローラにより命令される時、整数加算器にデータを供給している「データ入出パワーバス」に関する二つのデータ転送サブシステムの一方からの正の１の適切なセット又は負の１の適切なセットのいずれかを出力する。しかしながら、整数加算器に供給されるデータストリームの一つのソースにおけるこうした変化以外は、所定の数偽を増分又は減分する処理は、マスタコントローラの観点からは同一となる。
【０２１５】
右／左シフト−右／左回転の実行
マスタコントローラによる右／左シフト−右／左回転ユニットの利用は、２の補数のものと同じパターンに従う。マスタコントローラによるＡＬＵのこうした二つの構成要素の使用の間の主な違いは、こうしたユニットのそれぞれに送信されるコードにある。右／左シフト左／右回転ユニットに送信されるコードは、ビットスライスフィードバックメモリシステムに対して、一つの１２８ビット数、二つの６４ビット数、四つの３２ビット数、八つの１６ビット数、又は１６の３２ビット数である修正される数字のサイズを伝える必要があるだけではない。このコードは、更に、この前記ビットスライスフィードバックコントローラに対して、その処理が算術左シフト、算術右シフト、論理右シフト、キャリを通じた左回転、ブランチキャリを伴う左回転、キャリを通じた右回転、又はブランチキャリを伴う左回転のどれであるかを伝える必要がある。
【０２１６】
ＡＮＤ、ＯＲ、又はＸＯＲの実行
上で説明したように、ＡＮＤ、ＯＲ、又はＸＯＲ回路は、ビットスライスフィードバックメモリ回路を含まない。正確には、マスタコントローラの外部制御ラインは、ホールド回路に直接的に供給され、このホールド回路は、次に、ＡＮＤ、ＯＲ、又はＸＯＲシステムのビットマップ回路に直接的に供給を行う。この変化により、マスタコントローラは、このＡＬＵのコンポーネントを形成するビットマップ回路を直接制御する状態となる。しかしながら、上で説明した他のすべての命令の実行と同様に、この実行についても、適切なＲＡＭシステムからの必要なデータが「データ入出パワーバス」の適切なデータ転送サブシステム上に配置された状態を確保することで開始される。これが行われた後、マスタコントローラは、全体的なＡＮＤ、ＯＲ、又はＸＯＲ回路内の入力データホールド回路と、ＡＮＤ、ＯＲ、又はＸＯＲ回路に関する制御コードを保持するホールド回路とを同時にトリガし、このコードは、こうした三タイプの機能、つまりＡＮＤ、ＯＲ、又はＸＯＲのうちどれを実行するかを決定するために、ＡＮＤ、ＯＲ、又はＸＯＲのビットマップ回路によって使用される。
【０２１７】
ビット操作の実行
所定のビット操作のセットを実行するシーケンスは、２の補数を実行するためのシーケンスと同じである。唯一の違いは、２の補数ユニットを起動するのではなく、所定のビット操作のセットを実行する適切なコードが、ＡＬＵのビット操作構成要素に送信され、その後、動作がトリガされる点である。しかしながら、マスタコントローラがビット操作を実行する動作の基本的なパターンは、同じである。
【０２１８】
結び
これは、実用特許である。その目的は、完全な一連の汎用ＦＩＳコンピュータが基づかれる基本的な技術的なコンセプトの保護を提供することである。すなわち、本出願のベストモードの目的は、（すべての機能を実行するために論理回路を使用する）汎用ＦＩＳプロセッサの現在の世代の現在の構造及び基本設計概念に精通するために第三者に開示し、説明するとともに、ステートメント（２）及び（６）の新規な汎用ＦＩＳプロセッサユニットの周辺で構築された実行可能な新しいコンピュータが作製される上述したビットマップ処理及びビットスライスフィードバックプログラミングの技術を開示、説明することである。従って、ステートメント（１）の開示は、新たな提案を汎用ＦＩＳコンピュータが作製されるようなコンピュータ産業に提供することによって直ちに実行可能である。
【０２１９】
そして、それは、本出願のベストモードのセクションに示されている。十分に機能的な整数ベースのコンピュータシステムがステートメント（１）、（２）及び（６）と一致する汎用目的整数ベースのＦＩＳプロセッサユニット周囲に構成される。
【０２２０】
整数乗算、除算、浮動小数点及び三角関数計算等の演算全ての数値演算プロセッサと関連する機能等の論理ゲートから構成された現在の汎用ＦＩＳコンピュータの多くで見られる付加機能に関して、こうした追加されたすべての機能は特別な困難性はなくステートメント（２）及び（６）に一致する汎用ＦＩＳコンピュータ内で計算され、実行される。すなわち、全てのこうした機能は、論理回路（すなわち、ＡＮＤゲート、ＯＲゲート、ＸＯＲゲート、ＮＡＮＤゲート等）の使用する手段を必要とすることなく、必要であれば、メモリ回路のアドレス指定方式に関するものを除き、ビットマップ処理及びビットスライスフィードバックプログラミングの手段によってなされる。
【０２２１】
しかし、ベストモードに開示されているステートメント（２）及び（６）に一致するベストモードの汎用ＦＩＳコンピュータ/プロセッサユニット内により進化した演算機能の必要性を満足させることに関して、Ｚ８０のようなすべての過去及び現在の整数ベースプロセッサで使用される技術を適用することによって獲得されるであろう。すなわち、整数乗算、除算、浮動小数点及び三角関数計算は、ほとんどの部分で、演算システムの一部であるソフトウェアのサブルーティン及び機能を通じてベストモードのこの新規なコンピュータでなされるであろう。
【０２２２】
ここでは基本的な用語及び基本的な原理で説明した。どのように図１、２及び２６に示された一連のサブシステム及び回路或いはメモリ回路にプログラムされたビットスライスフィードバックプログラムメモリ、メモリ回路に埋め込まれたビットマップ処理から成る一連のサブシステムが、ＡＮＤ及び／又はＯＲゲート、シフトレジスタ、フリップフロップ、及びその他で構成される膨大な数の論理回路から構築された、完全に機能する汎用ＦＩＳマイクロプロセッサに可能な全てを実行できるかについて説明した。
【０２２３】
ステートメント
１．本特許出願は、メモリリコールの処理に使用する。この処理では、メモリに配置される値と、こうした前記メモリ回路が互いにどのようにリンクされるかとの決定において、算術計算と、ＡＮＤ、ＯＲ、ＮＡＮＤ、及び／又はＸＯＲ等の論理分析と、フローチャート分析とが応用される。しかしながら、論理回路の形態での論理は、こうした前記回路内では使用されず、存在する場合は前記メモリ回路のアドレス回路において使用される論理回路のみを例外とする。
２.汎用ＦＩＳプロセッサは、必要に応じて以下の電子構成要素、つまりマルチプレクサ、イネーブラ、及び／又はホールドレジスタと併せて、様々なメモリ回路(動的及び／又は静的にすることが可能で、更に揮発性及び／又は不揮発性にすることが可能)の使用のみに依存し、ＡＮＤ及び／又はＯＲゲート、シフトレジスタ、フリップフロップ、及びその他によって構成される多数の論理回路から構築された現在及び過去の汎用ＦＩＳプロセッサユニット(主にマイクロプロセッサユニット)において現在までに達成された事柄を達成するような形で構築することができる。
３.この汎用ＦＩＳプロセッサにおいて、論理回路の唯一の使用は、前記メモリ回路のアドレスシステムと、存在する場合はマルチプレクサ、イネーブラ、及び／又はホールドレ
ジスタの内部回路との中に存在する。
４.この新しいタイプの汎用FISプロセッサユニットは、様々な汎用ＦＩＳプロセッサユニット(主にマイクロプロセッサユニット)の機能性と同等に及び／又は機能性を上回るように、構築することが可能である。
５、汎用ＦＩＳプロセッサユニットは、意図的に、多数の論理回路に基づいて構築された現在の汎用ＦＩＳプロセッサユニットの機能性と同等に、又は機能性を下回るように、設計することも可能である。
６.このステートメント(２)の前記汎用ＦＩＳプロセッサユニットは、ビットスライスフィードバックプログラミング(上で特定)とビットマップ処理(同じく上で特定)とによって、この汎用ＦＩＳプロセッサユニットとして機能するというタスクを達成する。これら二つの処理一ビットスライスフィードバックプログラミング及びビットマップ処理の間の違いは、第一のものがフィードバックを利用することである。
７.上のステートメント(２)及び(6)の前記プロセッサユニットは、この汎用ＦＩＳプロセッサの「外部」の任意の追加的なメモリシステムに接続できるように構築することができる。
８.メモリ回路のみを利用する、つまり、存在する場合、前記メモリ回路のアドレスシステムにおいて使用される論理回路を除いて、任意の論理回路を必要としない、汎用ＦＩＳコンピュータを構築することが可能である。
９.この汎用ＦＩＳプロセッサユニットは、その設計において、揮発性メモリを部分的に、又は全体として、組み込むことが可能となるように構築できる。
１０.この汎用ＦＩＳプロセッサユニットによって使用されるRAM及び入出カシステムに関するアドレス/アクセスシステムは、その設計において、不揮発性メモリのみを使用するような形で構築することができる。
１１.ステートメント(２)と、上に記載される他のステートメントのいずれかとに従ったプロセッサユニットは、以下の四つの方法で構築することが可能だが、ただし、こうした構築手法には限定されない。一つ目として、別個の構成要素から作成することができる。二つ目として、こうした別個の構成要素の一部は、集積回路チップ内に結合することができる。三つ目として、様々な構成要素の全てを、一つの集積回路チップ上に集め、完全なプロセッサユニットを形成することができる。最後に四つ目としては、一つではなく、ステートメント(2)及び(6)の多数(二つ以上)の汎用ＦＩＳプロセッサユニットを一つの半導体チップ上に配置し、これらのプロセッサを共にリンクさせ、一つのチップ上で汎用ＦＩＳプロセッサユニットのネットワークを形成できる。
１２.二進法のみに基づく必要のないコンピュータシステムを現時点で効果的に構築することが実現可能となる。
１３.一部の回路がステートメント(2)及び(6)に従って構築された回路で、その他の回路が論理回路を使用して構築された、所定の汎用FISプロセッサ/コンピュータ内で、様々な機能を達成する様々な回路を、様々な形で組み合わせることが可能である。このタイプの汎用FISプロセッサ/コンピュータは、ハイブリッドメモリペース/論理ベース汎用FISプロセッサ/コンピュータとみなすことができる。
１４.ステートメント（2)及び(6)に従ってシステムが構築された、完全な又は完全に近い光汎用FISプロセッサ/コンピュータを作成できる。つまり、全ての情報伝送が、電子及びホールの調整されたドリフトによってではなく、光子によって実行されるシステムである。
１５.光コンピュータのタイプにおいて、ビットマップ処理回路とビットスライスフィードバックメモリ回路とにおいて使用されるメモリ回路に関するアドレスシステムを、アクティブな構成要素を全く所有しない単純なフィルタネットワーク(つまり、スイッチゲート)にまで減じることが可能である。したがって、前記光コンピュータの構築が大幅に単純化される。
【図面の簡単な説明】
【０３１９】
【図１】汎用ＦＩＳプロセッサユニットの観点から見た汎用ＦＩＳコンピュータシス
テムを表すことが可能な最も基本的な全体ブロック図
【図２】基本概念のブロック図
【図３】整数加算回路に関する１６ベース加算器の図
【図４】１２８ビット整数加算器に関するビットスライスフィードバック回路の図
【図５】１２８ビット整数加算器に関するキャリオーバ出力回路の図
【図６】１２８ビット整数加算器の全体的レイアウトの図
【図７】ワンズジェネレータの図
【図８】基本の２の補数ユニットの図
【図９】２の補数ビットスライスフィードバックメモリコントローラの図
【図１０】２の補数出力回路の図
【図１１】基本コンパレータユニットの図
【図１２】コンパレータ回路の全体的な回路レイアウトの図
【図１３】基本シフト左右回転左右ユニットの図
【図１４】回転／シフトビットスライスフィードバックメモリコントローラの図
【図１５】回転／シフト回路の全体的な回路レイアウトの図
【図１６】基本論理ユニットの図
【図１７】論理回路の全体的な回路レイアウトの図
【図１８】基本ビット操作ユニットの図
【図１９】ビット操作ビットスライスフィードバックメモリコントローラの図
【図２０】ビット操作回路の全体的な回路レイアウトの図
【図２１】制御回線に関するメモリ／プロセッサインタフェースの図
【図２２】データ回線に関するメモリ／プロセッサインタフェースの図
【図２３】ＲＡＭのレイアウトの図
【図２４】全体的ＲＡＭアドレス／アクセスシステムの図
【図２５】アドレス／アクセスビットスライスフィードバックメモリコントローラの
図
【図２６】この最良の形態の応用に関する汎用ＦＩＳコンピュータの残りのレイアウ
トの図
【図２７】一次ビットスライスフィードバックプログラムメモリシステムの図