(57)【特許請求の範囲】
【請求項１】
半導体チップ上に、チップ面積の省面積化を計るよう、レジスタリネーミング回路用フロアプランをレイアウトする方法であって、前記レジスタリネーミング回路が、Ｎ個の複数の命令間のデータ従属性チェックを行い、その結果、各命令のソースと宛先オペランドがそれに先立つすべての命令の結果オペランドと比較されて、複数の命令を順序通りでなく送出することができ、前記方法が、
（１）データ従属性コンパレータ・ブロックを行列状に配置し、前記配置が、前記行の前記データ従属性コンパレータ・ブロックの隣り合う領域の間にレイアウト領域を規定し、さらに、前記データ従属性コンパレータ・ブロックが従属性情報をタグ・アサイメント・ロジックへ転送するための出力ラインを含むステップと、
（２）前記タグ・アサイメント・ロジックを１つもしくはそれ以上の前記レイアウト領域中に配置し、それにより、前記データ従属性コンパレータ・ブロック出力ラインから前記従属性情報をより容易に受信できるよう、前記タグ・アサイメント・ロジックを前記データ従属性コンパレータ・ロジックと統合し、タグ情報を前記レイアウト領域から転送するためのさらなる出力ラインを前記タグ・アサイメント・ロジックが含むステップと
と有することを特徴とする前記レイアウト方法。
【請求項２】
請求項１項記載のレイアウト方法において、ステップ（２）がさらに、ひとつもしくはそれ以上の前記行中に空間的にチャネルを規定し、前記チャネルが前記行とほぼ直角に走ることを特徴とする前記レイアウト方法。
【請求項３】
請求項２項記載のレイアウト方法において、前記チャネル中の前記さらなる出力ラインを配線し、その長さを最小にするステップをさらに含む前記レイアウト方法。
【請求項４】
チップ面積の省面積化を計るレジスタリネーミング回路のフロアプランに基づいてレイアウトされた半導体チップであって、前記レジスタリネーミング回路が、Ｎ個の複数の命令間のデータ従属性チェックを行い、その結果、各命令のソースと宛先オペランドがそれに先立つすべての命令の結果オペランドと比較されて、複数の命令を順序通りでなく送出することができ、
（ａ）行列状に配置されたデータ従属性コンパレータ・ブロックであって、前記配置が、前記行の前記データ従属性コンパレータ・ブロックの隣り合う領域の間にレイアウト領域を規定し、さらに、前記データ従属性コンパレータ・ブロックが、従属性情報を転送するための出力ラインを含むデータ従属性コンパレータ・ブロックと、
（ｂ）前記従属性情報を受信するためのタグ・アサイメント・ロジックであって、１つもしくはそれ以上の前記レイアウト領域中に配置され、それにより、前記タグ・アサイメント・ロジックを前記データ従属性コンパレータ・ロジックと統合し、さらに、タグ情報を前記レイアウト領域から転送するためのさらなる出力ラインを含む前記タグ・アサイメント・ロジックと
を有することを特徴とする半導体チップ。
【請求項５】
請求項４項記載の半導体チップにおいて、前記タグ・アサインメントロジックがひとつもしくはそれ以上の前記行中に空間的にチャネルを規定するように配置され、前記チャネルが前記行とほぼ直角に走ることを特徴とする半導体チップ。
【請求項６】
請求項５項記載の半導体チップにおいて、前記さらなる出力ラインが、その長さを最小にし、前記レイアウト領域からタグ情報を転送するように、前記チャネル中に配線されることを特徴とする半導体チップ。
【発明の詳細な説明】
関連出願の引照
下記のものは、同一承継人の出願に係る、同時係屬中の特許出願である：
＊「スパー  スケーラー  RISC命令スケジューリング」、出願番号07/860,719、本出願と同時に出願（Attorney  Docket  No.SP035）、
＊「高性能RISCマイクロプロセサ  アーキテクチャ」、出願番号07/817,810、1992年８月１日出願（Attorney  Docket  No.SP015）、
＊「拡張性を持つRISCマイクロプロセサ  アーキテクチャ」、出願番号07/817,809、1992年８月１日出願（Attorney  Docket  No.SP021）。
上記出願の開示を参考文献として本明細書に含める。
発明の背景
1.産業上の利用分野
本発明は半導体フロアプラン  レイアウトに関するもので、特に、スーパースケーラーRISCチップのレジスタ  リネーム回路の各部分を一体化した半導体フロアプラン  レイアウトに関するものである。
2.従来の技術
２つの入力オペランドと１つの出力値を持つ命令が与えられたとき、典型的なRISCコンピュータの命令の場合のように、どの２つの命令間にも従属性に関して５つの可能性がある：即ち、２つの真の従属性、２つの反従属性、１つの出力従属性である。さらに、いくつかの命令のグループ（例えば、ウインドウ中の命令のグループ）に対する従属性の数はそのグループにある命令の数の２乗に比例して増大する。その理由は、各命令に対して他のすべての命令との従属性を考慮しなくてはならないからである。さらに、その複雑さは、１サイクル内で、プロセサーが復号しようとしたり、送出しようとしたり、さらに完了しようとする命令の数に比例した分だけ増加する。その理由は、これらの動作は、従属性を作り出し、従属性により制御され、従属性を考慮から除外するからである。
真の従属性は（時には「流れ従属性」もしくは「読み書き従属性」と呼ばれる）しばしば反従属性（これは「書き読み従属性」とも呼ばれる）と同一のグループにまとめられ、出力従属性（「書き書き従属性」とも呼ばれる）は命令従属性の１つのグループに入れられる。このグループ化を行なう理由は、これら各々の従属性がレジスタや他の記憶場所を用いるときに現れるからである。しかしながら、真の従属性を他の２つの従属性と区別することは重要である。真の従属性はプログラム中のデータや情報の流れを表す。反従属性と出力従属性が生じるのは、異なる時点で、レジスタや他の記憶場所が異なる計算に対して、異なる価を保持するためでる。
命令が順序通り送出され、順序通りに完了すれば、レジスタと価の間には１対１の対応がつく。実行中のどの時点に於てもレジスタ識別子は、対応するレジスタに入っている価を正確に識別することができる。命令が順序に従わず送出され、順序に従わず完了すれば、レジスタと価との間の対応は崩れ、価がレジスタに対して衝突を起こすことになる。これは、レジスタ割付の目標ができるだけ多くの価をできるだけ少数のレジスタを用いて格納したいという場合には深刻な問題となる。即ち、多数の価を少数のレジスタで格納するとき、実行順序がレジスタアロケータが想定したものと異なると、多数の衝突が生じる。
反従属性及び出力従属性は、「記憶衝突」と呼ぶのがより妥当である。その理由は、記憶場所（レジスタも含めて）の再使用により、命令が元々独立したものであっても、命令同士がお互いに干渉し合うようになるからである。記憶衝突は命令の送出に制限を与え、性能を低下させる。
上記の考察から明らかなように、データ従属性回路、および一般的にレジスタリネーム回路を製作するのは複雑で、半導体上の大きな面積を必要とする。特にスーパー  スケーラRISCプロセサは、複数の命令の同時実行が可能になるよう研究開発が懸命に進められている。このテクノロジーが開発されるのに伴い、チップ開発者はより多くの命令を同時に実行しようと企てる。従って、必要となる従属性チェックの量は指数関数的に増加することになる。ここで必要なのは、レジスタ  リネーム回路の各部分を統合化し半導体の貴重な面積の省面積化を行えるレイアウト技術（フロアプランとも呼ばれる）である。
この明細書で論じるいくつかの基本的概念は多くの文献でより詳しく説明されている。例えば、Mike  Johnson,Superscalar  Microprocessor  Design（Prentice−Hall,Inc.,Englewood  Cliffs,New  Jersey,1991）;John  L.Hennessy  et  al,.Computer  Architecture−Ａ  Quantitative  Approach（Morgan  Kaufmann  Publishers,Inc.,San  Mateo,California,1990）。ジョンソン（Johnson）のテキスト、特に２章、６章、７章では本発明が取り組むレジスタ  リネーミングとデータ従属性の問題に関して優れた考察を行っている。
発明の概要
本発明の目的は、貴重な半導体面積の省面積化のため、レジスタ  リネーミング回路（RRC）のデータ従属性チェッカー（DDC）とタグ  アサイメント  ロジック（TAL）を統合化する半導体フロアプラン  レイアウトを行うことである。
DDCとTALの間を信号が伝搬する距離、TALとRPM間を信号が伝搬する距離が短くなるように、DDCとTALをレイアウトすることが本発明のフロアプランの企図である。選択されたDDCコンパレータ列とそれに関連するTALを再編成することによって、大幅な省面積化が可能になり、最高８つの命令に対してレジスタ  リネーミングを行なうことができる。
DDCの機能は、これらのバケツにある命令間に存在する従属性の位置指定を行うことである。DDCは、各命令のソース  レジスタのアドレスとその命令より前にあるすべての命令の宛先レジスタを比較して、この機能を行う。例えば、命令Ｂが書き込んだレジスタから命令Ａが価を読み取ることになっている場合、命令Ａは命令Ｂに従属しており、命令Ａは命令Ｂが完了するまで命令の実行を開始できない。DDCの出力はこのような従属性を表す。データ従属性チェックは、列上に配置された複数のコンパレータにより行われる。
こうして得られたDDCの結果を用いて、TALは、順序通りでない命令の実行に必要なリザルト  フォアワーディングを制御する。TALはレジスタ  ファイル  ポート  マルチプレクサ（RPM）に対して順番に入力信号を発生し、レジスタ  ファイル  ポート  マルチプレクサは、レジスタ  ファイルもしくは一時バッファから読み込まれるデータのアドレスを降り向け、このアドレスを引き続いて命令を送出するためのオペランドとして用いる。
【図面の簡単な説明】
ここに添付される図面を参照することにより、本発明のより明快な理解が得られる。
第１図はレジスタ  リネーミング回路（RRC）の代表的高水準ブロック  ダイアグラムである。
第２図はRRCの簡単なレイアウトを示す代表的なフロアプランである。
第３図はRRCの本発明によって改良されたレイアウトを示す代表的なフロアプランである。
第４図はRRCの本発明に従ってさらに改良されたレイアウトを示す代表的なフロアプランである。
発明の詳細な説明
第１図は本発明に関連する命令実行ユニット（IEU）100の代表的高水準ブロックダイアグラムである。IEU100の目標はできるだけ多くの命令を最小の時間で実行することである。これを行うには２つの基本的方法がある：ひとつは、夫々の命令ができるだけ短い時間で実行できるようIEUを最適化することであり、もうひとつは、いくつかの命令を同時に実行できるようIEUを最適化することである。
本発明で用いられるIEUは、同一承継人の出願に係る、係屬中の以下の特許出願に開示されている。即ち、「高性能RISCマイクロプロセサ  アーキテクチャ」、出願番号07/817,810、92年８月１日出願（Attorney  Docket  No.SP015/1397.0280001）と「拡張性を持つRISCマイクロプロセサ  アーキテクチャ」、出願番号07/817,809、92年８月１日出願（Attorney  Docket  No.SP021/1397.0300001）。これらの公開特許を参考文献としてここに含める。
命令は、命令取り出しユニット（IFU、不図示）から命令FIFO101（ファースト  イン  ファースト  アウトのレジスタ  スタック記憶装置）によって、「バケツ」と呼ばれる４つ命令のグループ毎にIEU100に送られる。IEU100は同時に最高２つのバケツの命令のデコードとスケジュールを行うことが可能である。FIFO101は、０−３と名付けた４つのバケツに合計16の命令を記憶する。IEU100は命令ウインドウ102を見る。本発明の１つの実施例では、ウインドウ102は８つの命令（バケツ０と１）を含む。すべてのサイクルに於て、IEU100はウインドウ102から最大数の命令を送出しようとする。ウインドウ102は命令バッファ  レジスタとして機能する。ひとつのバケツの命令が実行され、その結果がプロセサのレジスタ  ファイル（ブロック117）に格納されると、バケツは底104から洗い流され、新しいバケツが上部106に入れられる。
命令をパラレル即ち順序に従わずに実行するには、夫々の命令に必要なデータが、その命令が必要な時に得られるよう、また夫々の命令の結果を必要とするその後のいかなる命令に対しても、その結果が得られるよう注意しなくてはならない。レジスタ  リネーム回路（RRC）は、コンピュータのIEUのスケジューリング論理の一部であるが、現行の命令間の従属性の位置指定を行い、かつ、その命令のソース（入力）をリネームして、この機能を行なう。
上述したように、従属性には３つのタイプがある：即ち、入力従属性、出力従属性、反従属性である。入力従属性は、例えば、ある命令Ａがその前の命令Ｂの結果に基づいて行われるときに現われる。出力従属性はＡとＢの出力が同一の場所に格納されようとしたときに現われる。反従属性は、命令ストリーム中で命令ＡがＢの前に来、Ｂの結果がＡの入力のひとつと同一の場所に格納されるときに現われる。
入力従属性は、入力が得られるまで命令を実行しないことにより処理される。RRC101は、現行の命令間の入力従属性の位置指定を行い、その後、ある命令に対するすべての入力の用意ができた時、命令スケジューラ即ちイッシュア118に信号を送る。これらの従属性の位置指定を行うため、RRC112は、データ従属性回路（DDC）108を用いて、各命令に対する入力レジスタ  ファイル  アドレスをそれ以前のすべての命令の出力アドレスと比較する。もしある命令の入力が、それ以前のある命令の出力が格納されるレジスタから来ることが分かれば、後の命令は前の命令が終わるまで待たなくてはならない。
このRRC112を実現することにより、同時に８つの命令をチェックできるため、ウインドウ102から出る８つの命令の中の任意の一つを現行命令として定義できる。本発明は命令の数がそれより多い場合或いは少ない場合にも容易に適用できることは、当業者にとって自明であろう。
本発明の１つの実施例では、命令は０から３の入力と０又は１の出力を持ち得る。ほとんどの命令の入力及び出力は、いくつかあるレジスタ  ファイルの１つから取り出されたり、そこに格納されたりする。各レジスタファイル117（例えば、個別の、整数ファイル、フローティング  ファイル、ブール  ファイル）には32の真のエントリーと８つの一時バッファからなるグループがある。１つの命令が完了すると（ここで「完了」とは動作がすべて終わり、そのオペランドが宛先レジスタに書かれる準備ができていることを言う）、その結果は一時バッファ116のあらかじめ定められた場所に格納される。その結果は、それより以前の命令のすべての結果がレジスタ  ファイル117のあるべき場所に転送された後に、レジスタ  ファイルの適当な場所へ転送される。このような、計算結果を一時バッファ116からレジスタ  ファイル117に転送することは、「リタイアメント」と呼ばれ、ターミネーション論理で制御されるが、このことは当業者にとって自明であろう。２つ以上の命令が一時にリタイアされてもよい。当業者にとって自明なように、リタイアメントには、コンピュータのプログラムカウンタを含む、機械の「公式の状態」を更新することが含まれる。例えば、命令I0が命令I1のすぐ前に完了すれば、それらの結果はどちらもレジスタ  ファイル117に直接に格納できる。しかし、もし次に命令I3が完了すれば、その結果は、命令I2が完了するまで、一時バッファ116に格納されなくてはならない。IEU100に、各命令の結果を一時バッファ116の事前に割当てた場所に格納させることにより、IEU100はプログラムの順序通りでない命令を実行し、しかも、出力従属性や反従属性から生ずる問題を避けることができる。
RRC112はバス120を通し命令スケジューラ118にビット  マップを送り、ウインドウ102のどの命令の送出準備ができているかを知らせる。命令デコード論理（不図示）はバス123を通して各命令に対する資源要求事項をイッシュア118に知らせる。IEU100の夫々の資源（例えば、各機能ユニットは加算器、乗算器、シフタ、又はそれと同類のものである）に対し、イッシュア118はこの情報をスキャンし、バス121を通して送出信号を出力することにより、最初とそれに引き続く送出命令を選択する。この送出信号は、その入力が各命令の入力のアドレスである、RRC内のレジスタ  ファイル  ポート  マルチプレクサ（RPM）124の１つのグループを選択する。
その計算結果はレジスタ  ファイル117に転送されるまで、数サイクル一時バッファ116に留まる可能性もあるので、レジスタ  ファイル117に転送される前に一時バッファ116から結果を取り出す機構が設けられており、その情報を他の命令のオペランドとして用いることができる。この機構は、「リザルトフォアワーディング」と呼ばれるが、これが無ければ、イッシュア118は順序通りでない命令を送出することはできないであろう。このリザルト  フォアワーディングはレジスタ  ファイル117で行われ、RRC112で制御される。リザルトフォアワーディングを行うのに必要な制御信号は、そのような制御信号を発生させるのに用いるランダム論理と同様、当業者にとっては自明となるであろう。
もしある命令が他の現行の命令のいずれとも従属性を持たなければ、リザルトフォアワーディングは必要ではない。その理由はその命令の入力はレジスタ  ファイル117にすでに入っているからである。イッシュア118がその命令を実行するときには、RRC112はレジスタ  ファイル117にデータを出力するよう要請する。
RRC112は３つの小部分を持つ：データ従属性チェッカー（DDC）108、タグ  アサイン  ロジック（TAL）122及びレジスタ  ファイル  ポート  マルチプレクサ（RPM）124である。DDC108は現行命令間のどこに入力従属性があるかを決定する。TAL122はイッシュア118に対し従属性をモニターし、リザルト  フォアワーディングを制御する。RPM124はイッシュア118により制御され、TAL122の出力を適切なレジスタ  ファイル  アドレス  ポート119に送り出す。命令はバス110を通してDDC108に受け渡される。ウインドウ102の夫々の命令に対してすべてのソース  レジスタがすべてのそれ以前の宛先レジスタと比較される。
各命令は唯一の宛先を持ち、この宛先はひとつの実施例ではダブル  レジスタであってもよい。命令はそれより前の命令にのみ依存しており、最大３つのソース  レジスタを持つことができる。従属性を調べるのにお互いにチェックし合わなくてはならない色々のレジスタ  ファイルソースアドレスと宛先アドレスがある。前述したように一番下にある２つのバケツに対応する８つの命令がDDC108でチェックされる。ウインドウ102の命令に対してすべてのソース  レジスタアドレスがすべてのそれ以前の宛先レジスタ  アドレスと比較される。
例えば、あるプログラムに次のような一連の命令があるとする：
add  R0,R1,R2                             （０）
add  R0,R2,R3                             （１）
add  R4,R5,R2                             （２）
add  R2,R3,R4                             （３）
命令０−３の各命令の最初の２つのレジスタはソース  レジスタで、各命令の最後のレジスタは宛先レジスタである。例えば、R0とR1は命令０に対するソース  レジスタで、R2は宛先レジスタである。命令０はレジスタ０とレジスタ１の内容を加算しその結果をR2に格納する。この例の命令１−３に対し、すべての従属性を評価するのに以下のような比較が必要となる：
I1S1,I1S2  vs.I0D
I2S1,I2S2  vs.I1D,I0D
I3S1,I3S2  vs.I2D,I1D,I0D
上の読み方は次のようである:IXRS1は命令Ｘのソース（入力）No.1のアドレスで;IXRS2は命令Ｘのソース（入力）No.2のアドレスで;IXDは命令Ｘの宛先（出力）アドレスである。
RRC112は、命令２が命令０に対し出力従属性を持つが、それを無視できる。その理由は、プロセサは一時バッファを持ち、そこに命令２の結果を、命令１の結果と干渉せずに格納できるからである。前述したごとく、命令０と１の結果がレジスタ  ファイル117に転送されるまでは命令２の結果が一時バッファ116からレジスタ  ファイル117に転送されることはない。
RRC112でチェックできる命令の数を増減するのは容易である。同時に、４つではなく８つの命令をチェックするのには以下のような比較を付け加える必要があろう。
I4S1,I4S2  vs.I3D,I2D,I1D,I0D
I5S1,I5S2  vs.I4D,I3D,I2D,I1D,I0D
I6S1,I6S2  vs.I5D,I4D,I3D,I2D,I1D,I0D
I7S1,I7S2  vs.I6D,I5D,I4D,I3D,I2D,I1D,I0D
従属性チェックを行うのにRRC112が取り扱わなくてはならないいくつかの特別の場合がある。最初のものは、同一のレジスタを入力と出力の双方に用いるような命令である。従ってRRC112はこのソース／レジスタ  アドレスを、それより以前のすべての命令の宛先アドレスと、比較しなくてはならない。従って、命令７に対して以下の比較が必要となる：
I7S1,I7S2,I7S/D  vs.I6D,I5D,I4D,I3D,I2D,I1D,I0D
他の特別のケースは、プログラムが64ビットの出力を発生する命令（ロングワード動作と呼ぶ）を含む場合である。この種の命令にはその結果を格納するのに２つのレジスタが必要となる。本実施例ではこれらのレジスタは逐次的であるとする。従って、例えば、RRC112が命令４の従属性をチェックしており、命令１がロングワード動作であれば、以下の比較を行うこととなる：
I4S1,I4S2  vs.I3D,I2D,I1D,I1D＋1,I0D
時には命令に宛先レジスタがない場合がある。この場合RRC112は宛先レジスタを持たない命令とそれ以後の命令との間の従属性を無視しなくてはならない。さらに命令は、ただ１つの有効なソース  レジスタさえ持たない場合がある。その時にはRRC112は使用しないソース  レジスタ（普通S2）とそれ以前のすべての命令との間の従属性を無視しなくてはならない。
RRC112はさらに複数のレジスタファイルを取り扱うことも可能である。複数のレジスタファイルを用いるとき、ある命令のソースレジスタが、他の命令の宛先レジスタと同一のアドレスを持ち、しかも同一のレジスタファイルにあるときにのみ、従属性が現われる。RRC112は、ある特別のアドレスがどのレジスタファイルに属するものかという情報を、そのアドレスの１部として取り扱う。例えば、４つの32ビットレジスタ  ファイルを用いる場合には、RRC112は５ビット比較の代わりに７ビット比較（アドレスに５、レジスタファイルに２）を行うことになろう。
どの命令がロングワード動作をするのか、どの命令が無効のソースや宛先レジスタを持つのかというのを示す信号が命令デコード論理（IDL;不図示）からRRC112に送られる。
RRC112のDCL108、TAL122、RPM124をレイアウトした、簡単な、代表的フロアプランを第２図に示す。DDC108には２つの入力のセットがある。１つのセットは、ウインドウ102の８つのすべての命令に対する、IFIFO101からのソース  アドレス信号を含む；これらの入力は参照番号202で表されている。入力202は、参照番号222で示されるように、TALブロック220にも供給される。入力のもう１つのセットは、８つのすべての命令に対する、ロングワード動作フラッグ、レジスタ  ファイル  復号信号、無効宛先レジスタ  フラッグ、宛先レジスタ  フラッグ、及びアドレシング  モード  フラッグを含む；これらの入力は参照番号203で表される。
DDC108は28のデータ従属性ブロック204を備えており、各ブロック204には３つの入力IXS1,IXS2,IXSDが入力される。IXS1は命令Ｘのソース（入力）No.1のアドレス、IXS2は命令Ｘのソース（入力）No.2のアドレス、IXS/Dは命令Ｘのソース／宛先（入力）のアドレスである。各ブロック204にはさらに入力IYS/Dが入力されるが、これは命令Ｙの宛先レジスタ  アドレスである。例えば、第１番目の列208には命令０の宛先アドレスI0S/Dが入力される。各ブロック204はデータ従属性の検査結果をそれに対応するバス  ライン214を経てTALブロック220に出力する。この例では、I2S/Dのアドレスは命令７、６、５、４、３のオペランド  アドレスS1、S2、S/Dと照合される。
各タグ  アサイメント  ロジック  ブロック220には、バス214を介してデータ従属性検査結果、並びに、一組の入力ライン226を介してコンピュータのIDL（不図示）からの信号が入力される。BKTビットはタグの最下位のビットとなる。命令０−６のDONE［Ｘ］フラッグのセットは命令が終了したかどうかを示す。DBLREG［Ｘ］フラッグのセットは、もしそれがあるときにはどの命令がダブル（ロング）ワードであるかを示す。
各TALブロック220はそれ自身の命令のレジスタ  アドレスを入力する。この入力は参照番号222で表されている。DBLREGやBKT信号のような種々の信号はすべてインプリメンテーションによって異なってくる制御信号である。各TALブロック220は、IXS1、IXS2、IXS/Dと記された、０−３の６ビットのTAG126を出力する。TAL220はさらに、各TAG信号の最下位５ビットをバス224を経てRPM124に出力し、TAGの最上位ビットはバス120を経てISL218に出力される。バス224は主バス126を形成している。
第２図に示されたフロアプランの構成には２つの大きな制限がある：ひとつには大きな面積が必要なこと、もうひとつには、DDC108の出力214のいくつかはTAL122に達するまで長い距離を走る必要があることで、これはRRC112の性能に制限を与える。
第３図に第２のフロアプラン実施例を示す。この構成では、TALブロック220は、DDC108の比較ブロック204の間に配置されている（例えば、統合化されている）。この様子は概略的に参照番号302で表されている。しかし、この配置には１つの制限がある。DDC108及びTAL122の最も効率的な配置は、TAL122の出力224が、鎖線で描かれたボックス304で示すように、列４、５、６、７の中央近くから取り出されるものである。これは配線に問題を生じる、なぜならTAL122の出力224がRPM124に達するまで長い距離を伝搬しなくてはならないからである。これはI7の場合特に顕著になる。
この問題を解決するには、RPM124から最も遠くにある列のTAL出力をRPM124に最も近い列を通ってチャネルすることである。１つの方法は列４、５、６を十分に広げ、すべての配線が通れるようにすることである。比較ブロック204は垂直に一列にならなくてはならないので、列７も広げる必要がある。これはRRCの幅を増やすことになる。
本発明の望ましいフロアプランの実施例は第４図に示されている。第４図に示したフロアプラン  レイアウトでは、列４、５、６、７の左側がひっくり返されている。言い換えると、垂直に一列に並べられたコンパレータ204とそれに関連するTALロジックを縦列と呼ぶと、縦列３、４、５、６がひっくり返されているのである。これは列７の長さを増やすことなく列４、５、６にギャップを作る。（このギャップは中央チャネルとも呼ばれ、鎖線のボックス402で示されている。）列４−７のTALの出力224は中央チャネル402に並べられ、実質的には直線状に直接RPM124に入力される。従ってRRC112の全体としての面積は同一のままである。
本発明の種々の実施例を上に述べたが、それらは例として挙げられたのであり、限度を示すためのものではないことは明らかであろう。従って、本発明の精神と範囲は、上述したいかなる例証実施例によってもその限界を与えられるものではなく、以下の特許請求範囲及びそれと同等のものに従ってのみ規定されるものである。
【図１】
0003555140.tif 000002
【図２】
0003555140.tif 000003
【図３】
0003555140.tif 000004
【図４】
0003555140.tif 000005