JP3425443B2 - パイプライン化されたデータの順序決めシステム - Google Patents
パイプライン化されたデータの順序決めシステムInfo
- Publication number
- JP3425443B2 JP3425443B2 JP51338394A JP51338394A JP3425443B2 JP 3425443 B2 JP3425443 B2 JP 3425443B2 JP 51338394 A JP51338394 A JP 51338394A JP 51338394 A JP51338394 A JP 51338394A JP 3425443 B2 JP3425443 B2 JP 3425443B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- active
- signal
- request
- generator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1621—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
Description
データを順序決めする装置に関し、より特定的には、デ
ータパイプライン能力を有するPCにおいて循環データを
順序決めする装置に関する。
テムは他のシステムコンポーネント(たとえばメモリ記
憶装置、入力/出力ユニットなど)にコマンドを発し、
これらのコンポーネントから受取ったデータを処理する
中央処理装置(CPU)を含んでいる。典型的には、CPUは
単一のコマンドまたは要求をシステムコンポーネントの
1つ、たとえばメモリに発し、そのコンポーネントがこ
のコマンドに応答するのを待つ。一旦メモリが応答を発
すると、CPUは別のコマンドを自由に発することがで
き、このコマンドは同じコンポーネントに発せられても
よいし、別のシステムコンポーネントに発せられてもよ
い。このように、これらのシステムでは、未決定のコマ
ンドは一度に1つだけであるので、CPUは指定されたシ
ステムコンポーネントが発せられたコマンドに対する応
答を発生するまで待たなくてはならない。
させるための努力の中で、インテル(Intel)(登録商
標)PENTIUMプロセッサなどの新しい世代のデータパイ
プライン化コンピュータが開発されてきた。データパイ
プライン化システムにより一度に1つより多い要求が伝
送されるようになり、いかなる所与の時間にも2つ以上
のコマンド要求が未決定であることが可能になる。この
ようなパイプライン化能力を含むパーソナルコンピュー
タシステムは第1のコマンドを発し、その後第1のコマ
ンドに対する応答を受取る前に第2のコマンドを発する
ことが可能である。
う1つの問題はデータ要求および応答を管理することで
ある。たとえば、CPUが第1のコマンドを比較的遅いメ
モリユニットに発し、その後第1のメモリユニットから
応答を受取る前に第2のコマンドをより速いメモリユニ
ットに発すると、第2の速い方のメモリユニットが第1
のメモリユニットが応答を発する前に応答を発すること
が起こり得る。CPUはしたがって逆の順序で応答を受取
ることになり、第2の応答が第1のコマンドに与えら
れ、一方第1の応答が第2のコマンドに与えられること
になる。
応答が常に対応のCPUコマンドに与えられるようにする
データ管理システムが必要である。
ータパイプライン化システムでデータを管理するデータ
管理システムである。このパイプライン化システムは中
央処理装置(CPU)と、データ通信バスと、複数のデー
タ発生装置とを含む。以下に説明されるパイプライン化
システムは、データ発生装置からの応答の受信前にせい
ぜい2つのデータ要求しかCPUによって発せられないよ
うに構成されるが、本願はより多くの数の要求を処理す
るように拡張され得る。このデータ管理システムは各デ
ータ発生装置に関連する選択回路を含む。選択回路はCP
Uからのデータ要求を受取り、1つのデータ要求がその
データ発生装置に向けられたときに選択信号を出力す
る。各データ発生装置に関連して状態マシンが設けられ
る。状態マシンはその関連のデータ発生装置に関連する
選択回路からの選択信号を受取り、かつ他のデータ発生
装置に関連する選択回路からの選択信号を受取る。状態
マシンはその関連のデータ発生装置を起動し、その関連
のデータ発生装置に関連する選択回路からのアクティブ
選択信号が別のデータ発生装置の選択回路からのアクテ
ィブ選択信号より前に発生した場合にデータをデータ通
信バスに出力する。
データシステムでデータ要求に応答する順序を制御する
制御装置である。この制御装置は各装置に関連するデコ
ーダを含む。デコーダは現在のデータ要求がその関連の
装置に向けられているかどうかを判断し、現在のデータ
要求がその関連の装置に向けられている場合にはアクテ
ィブデコード信号を発生する。状態マシンが各装置に関
連して設けられる。状態マシンはその関連の装置に関連
するデコーダからのアクティブデコード信号を受取り、
かつまた他の装置に関連するデコーダからのアクティブ
デコード信号を受取る。状態マシンはさらに前のデータ
要求の完了を示すサイクル終了信号を受取る。状態マシ
ンはその関連の装置に関連するデコーダからのアクティ
ブデコード信号が現在の最も早いアクティブデコード信
号であると判断した場合にアクティブ選択信号を発生す
る。この装置はアクティブ選択信号に応答し、データを
パイプライン化されたデータシステムに出力する。
と、第2のデータ発生装置と、第1及び第2のデータ発
生装置からのデータに対する要求を発する第1の装置と
を含むパイプライン化されたデータシステムである。第
1の装置は第1のデータ要求を発し、第1のデータ要求
に対する応答を待つことなく第2のデータ要求を発す
る。このシステムは第1のデータ発生装置に関連する第
1のデコーダと第1のコントローラとを含み、さらに第
2のデータ発生装置に関連する第2のデコーダと第2の
コントローラとを含む。第1のデコーダは第1および第
2の要求のどちらもが第1のデータ発生装置に向けられ
るときを判断し、第1のデータ発生装置に向けられた各
要求に対して第1のアクティブ選択信号を発生する。第
2のデコーダは第1および第2の要求のどちらもが第2
のデータ発生装置に向けられるときを判断し、第2のデ
ータ発生装置に向けられた各要求に対して第2のアクテ
ィブ選択信号を発生する。第1のコントローラは第1お
よび第2のデコーダからのアクティブ選択信号に応答
し、第1のアクティブ選択信号が第2のデータ発生装置
が応答していないいかなる第2のアクティブ選択信号よ
り前に発生した場合に第1のデータ発生装置にデータを
パイプライン化されたデータシステムに出力させる。第
2のコントローラは第1および第2のデコーダからのア
クティブ選択信号に応答し、第2のアクティブ選択信号
が第1のデータ発生装置が応答していないいかなる第1
のアクティブ選択信号より前に発生した場合に第2のデ
ータ発生装置にデータをパイプライン化されたデータシ
ステムに出力させる。
機能要素を示す概略ブロック図である。
々を示す単純化された概略ブロック図である。
の状態に遷移させる様々な入力の効果を示す状態図であ
る。
を有する典型的な状態バブルおよび遷移経路を示す。
ク図である。
よっておおむね示される)の主要内部機能要素を示す概
略ブロック図である。パーソナルコンピュータシステム
100はデータパイプライン化能力を含み、一実施例で
は、有利にはAST PENTIUMベースのコンピュータであ
る。コンピュータシステム100は中央処理装置(CPU)11
0と、第1のメモリユニット(MEM1)115と、第2のメモ
リユニット(MEM2)120と、入力/出力(I/O)ユニット
125とを含む多くの内部データ発生ユニットを有する。C
PU110はたとえばINTEL(登録商標)PENTIUMマイクロプ
ロセッサチップでもよい。第1および第2のメモリユニ
ット115、120は、MICRONから入手可能なDRAMモデルNo.M
T18D236に基づくメモリアレイでもよく、I/Oユニット12
5はたとえば磁気ディスクメモリ(つまりハードディス
クドライブ)でもよい。
ニット125はすべて有限状態マシン(FSM)130を含む。C
PU110、メモリユニット115、120およびI/Oユニット125
はアドレスバス、データバス、および制御バス(図2に
より明瞭に示される)を含み得るバス140を経て通信す
る。
の各々を示す単純化された概略ブロック図である。メモ
リユニット115の描写は典型的なものであり、本願のパ
イプライン化されたデータ順序決めシステムの構造およ
び動作を例示するために主として含まれることが理解さ
れなければならない。したがって、データ順序決めシス
テムの構造および動作をメモリユニット115を参照して
説明するが、メモリユニット115を参照して説明される
データ順序決めシステムの実現例はデータを交換する他
のコンポーネント(たとえばCPU110、I/Oユニット125な
ど)のいずれに対しても本質的に同じ態様で達成され得
ることは当業者によって理解されるであろう。
クセスメモリ(RAM)アレイ210と通信するメモリコント
ローラ200を含む。RAM210はさらにバス215を経て1組の
トランシーバ220に接続する。トランシーバ215はまた線
225を経てメモリコントローラ200に接続される。
通信するアドレスデコーダ230を含む。FSM130は通信線2
38を経て有限状態マシンコントローラ240と通信する。F
SMコントローラ240およびデコーダ230もまた両方向バス
245を経て通信する。デコーダはバス204を経てRAMアレ
イ210にアドレスを伝え、一方FSMコントローラ240はRAM
アレイ210およびトランシーバ220とバス206および線225
を経てそれぞれ通信する。デコーダ230、FSM130およびF
SMコントローラ240ならびに他の支援回路(図示せず)
は好ましくは単一の集積回路内で実現される。
トローラ240と通信し、制御信号入力を与える。アドレ
スバス206はデコーダ230と通信し、入力データアドレス
を与える。RAMアレイ210はバス215およびトランシーバ2
20を経てデータをデータバス270に出力する。
250を経てアドレスおよび制御信号を受取り、これらの
アドレスおよび制御信号に応答してデータをバス270上
に出力することによって動作する。始めに、データアド
レスはアドレスバス260を経て伝送され、デコーダ230の
入力に与えられる。デコーダ230は与えられたアドレス
がRAMアレイ210内のデータメモリロケーションに対応す
るかどうかを決定する。もし与えられたアドレスがRAM2
10内のメモリロケーションに対応していなければ、デコ
ーダ230は与えられたアドレスを無視し、メモリユニッ
ト115はイナクティブのままである。しかしながら、与
えられたアドレスがRAMアレイ210内のデータメモリロケ
ーションに対応すれば、デコーダ230はローカル「マイ
ン」信号、OMHITを発生する。OMHITはアドレスバス260
上のアドレスがメモリユニット115に属し、いかなる他
のデータ交換装置にも属さないことを示すローカル信号
である。デコーダ230は線233を経てOMHIT信号をFSM130
に伝送する。FSM130は、以下に論じられるように、線23
8を経て信号をFSMコントローラ240に選択的に発生する
ことによって応答する。FSMコントローラ240はFSMコン
トローラに関連するローカルメモリがアドレス指定さ
れ、かつ現在の最も古い要求がローカルメモリに向けら
れていれば、RAMアレイ210にアクセスを開始することに
よって応答する。デコーダ230はまた線282を経て制御バ
ス250に「マイン」信号を出力として与え、そこでこの
信号は他のデータ発生ユニットのデコーダからの「マイ
ン」信号とORをとられ、グローバル「マイン」信号「MH
IT」を発生する。デコーダ230および他のデータ発生ユ
ニットのデコーダからのMHIT信号は入力としてFSM130に
与えられる。
を経てアクセス可能であるように典型的には構成される
ので、FSMコントローラ240はデコーダ230にバス204を経
てまず行アドレス入力を伝送し、次に列アドレス入力を
伝送するように命令する。デコーダ230は入来アドレス
を記憶し、RAMアレイが起動されたとき適切なアドレス
をRAMアレイ210を送るための記憶および多重化能力(図
示せず)を含むことは当業者によって理解されるであろ
う。FSMコントローラ240はまたバス206を経て信号をRAM
アレイ210に伝送し、入来アドレスが列アドレスである
か行アドレスであるかを示す。一旦デコーダ230がメモ
リアレイ210内の選択されたメモリロケーションをアド
レス指定すると、RAMアレイ210はアクセスされたメモリ
ロケーションに記憶されたデータをバス215を経て出力
する。このデータはトランシーバ220の入力に与えら
れ、その後トランシーバ220がイネーブルされたときデ
ータバス270に与えられる。RAMアレイ210からのデータ
はその後処理のためにCPU110に行く。FSMコントローラ2
40はサイクルが完了したときアクティブのサイクル終了
(EOC)信号を線284上で発生する。EOC信号は制御バス2
50を経て他のデータ発生ユニットのFSMコントローラか
ら来たEOC信号とORをとられる。
イネーブルまたはディスエーブルする。FSMコントロー
ラ240はFSM130が適切なイネーブル信号をFSMコントロー
ラ240に与えたときトランシーバ220をイネーブルする。
FSM130、FSMコントローラ240、およびトランシーバ220
は、ここに説明されるようなデータパイプライン化シス
テムにおけるデータの誤順序決めを防ぐ選択遅延回路と
して効果的に作用する。つまり、FSM130、FSMコントロ
ーラ240、およびトランシーバ220は、CPUからのすべて
の以前のデータ要求に対する応答が行なわれてしまうま
でメモリユニット115からのデータの伝送を防ぐ。パイ
プライン化されたデータ要求を順序決めする方法は、図
3Aおよび3Bの状態図を参照して以下により詳細に論じ
る。
て、FSM130の状態およびFSM130を別の状態に遷移させる
様々な入力の効果を示す。FSM130の主要な機能はパイプ
ライン化されたデータの誤順序決めを防ぐことである。
このように、状態の各々に対応する状態はパイプライン
化されたデータの誤順序決めを防ぐための手順となる。
FSM130はCPU110および他のデータ交換ユニット(たとえ
ばメモリユニット120、I/Oユニット125など)から制御
入力を受取る。入力信号はCPUデータ要求の状態および
他のデータ交換ユニットによる応答を示す。1つの好ま
しい実施例において、FSM130は3つの入力ビットI0、I1
およびI2(図3B)を受取り、これらはCPUデータ要求の
状態および他のデータ交換ユニットによる応答を示す。
入力ビットI0はサイクル終了(EOC)信号(つまり、デ
ータサイクルが現在のアクティブのユニットよって完了
したことを示すシステムワイド信号)の値を表わす。入
力ビットI1はローカル「マイン」信号OMHIT(つまりデ
ータ交換ユニット内の、所与のデータ要求がそのユニッ
トに属することを示すローカル信号)の値を表わす。こ
のように、メモリユニット115のFSM130では、ビットI1
は線233上でデコーダ230によって発生されたローカルOM
HIT信号の値を表わす。入力ビットI2はデータ交換ユニ
ットのどれかがデータ要求を受取ったことを示すグロー
バル「マイン」信号MHITの値を表す。MHIT信号はたとえ
ば入力としてデータ交換ユニットの各々からのOMHIT信
号を有するORゲート(図示せず)の出力をとることによ
って発生され得る。このように、ビットI2の値はFSMの
すべて(つまりCPU110のFSM、メモリユニット115のFSM
など)内で同一になるであろう。なお、ここに説明され
る実施例では、入力ビットI1およびI2はアクティブロー
である。したがって、簡単にいうと、入力ビットI2、I1
およびI0はデータ要求がデータ交換ユニットのいずれか
によって受取られたかどうか、データ要求がその特定の
ユニットに向けられていたかどうか、およびデータサイ
クルが完了したかどうかを各FSM130に示す。
の状態出力O0、O1、O2およびO3は図3Aの状態図に示され
るように変化する。状態出力ビットはシステム100内の
アクティブおよび未決定の要求の状態を表わす。アクテ
ィブ要求とはCPU110が現在応答を待っているデータ要求
であり、一方未決定の要求とはアクティブ要求の発行後
であってアクティブ要求に対する応答の前にCPU110によ
って発せられたデータ要求である。
出力ビットO0は変数PSELの値を表わす。変数PSELは各メ
モリ交換ユニット内のローカル変数であり、そのメモリ
交換ユニットが未決定の要求のオーナであるかどうかを
示す。状態出力ビットO1は変数PNDの値を表わす。変数P
NDはFSM130のすべてに共通のグローバル変数であり、未
決定のデータ要求がデータ変換ユニットのいずれか1つ
内で開始されたかどうかを示す。状態出力ビットO2は変
数ACTの値を表わす。変数ACTもまたデータ交換ユニット
のすべてに共通のグローバル変数であり、アクティブデ
ータ要求がデータ変換ユニットのいずれか1つで開始さ
れたかどうかを示す。状態出力ビットO3は変数ASELの値
を表わす。変数ASELは各データ交換ユニットのFSM130内
のローカル変数であり、そのデータ要求ユニットがアク
ティブデータ要求のオーナであるかどうかを示す。これ
らの4つの状態出力ビット(O0、O1、O2およびO3)は各
FSM130の状態を構成し、状態バブル内で表わされ、一方
入力ビット(I0、I1およびI2)は状態図3Aの状態バブル
間の経路に沿って表わされる。
り、入力ビットが取り得る8つの考えられる組合せがあ
るが、これらの可能性のすべてが状態図3Aに表わされて
いるわけではないことに注意しなければならない。なぜ
なら、これらの組合せの多くは有効ではなく、したがっ
てシステム100の通常動作の間に入力されないからであ
る。特に、アクティブ要求なしで未決定の要求があるこ
とを示す出力状態値(つまり状態0001、0010、および00
11)は無効である。同様に、特定のアクティブ要求また
は特定の未決定の要求がローカルFSM130のデータ交換ユ
ニットに属する一方で、グローバルアクティブまたは未
決定の要求は何も示されないことを示す状態(つまり状
態0001、0101、1000、1001、1010、1011、および1101)
も同様に無効である。なぜなら、ローカル要求は自動的
にグローバル要求を発生するからである。入力ビットの
場合には、状態100および101(第1の2つのビットI2お
よびI1がアクティブローであることを思い出す)はロー
カルデータ要求が行なわれたがグローバル要求は何も示
されなかったことを示すので無効である。
ステム100はシステムリセットによって、または別の状
態からの遷移によって状態0000に到達し得る。状態0000
はCPU110からの未解決のデータ要求が何もない状態を示
す。この状態はCPU110がデータを処理している、または
システム100がイナクティブであることを一般に示す。
状態0000では、ある入力ビット組合せはシステム100の
通常動作の間不可能である。つまり、EOCを示すがデー
タ要求を何も示さない入力状態1111はアクティブデータ
要求がないので、かつその結果サイクル終了はあり得な
いので不可能である。FSM130はFSM130への入力ビットが
EOCのないデータ要求がCPU110によって発せられたこと
を示すまで状態0000のままである。このように、状態図
に示されるように、FSM130は001(EOCと同時のローカル
データ要求)、011(EOCと同時のグローバルデータ要
求)、および110(データ要求なしおよびEOCなし)の入
力に対して状態0000のままである。しかしながら、010
(EOCのないグローバルデータ要求)の入力、または000
(EOCのないローカルおよびグローバルデータ要求)の
入力によりFSM130は状態を変えるであろう。
100はローカルデータ交換ユニット(つまりその状態が
図3Aの状態図に描かれるFSM130を含むユニット)へのデ
ータ要求がアクティブであり、かつシステム内に未決定
のデータ要求かないことを示す。010の入力によりFSM13
0は状態0100に遷移する。状態0100は別のデータ交換ユ
ニットへのデータ要求がアクティブであり、かつシステ
ム100内に未決定のデータ要求がなにもないことを示
す。
して4つの異なった状態のいずれか1つに遷移してもよ
いし、または同じ状態のままであってもよい。たとえ
ば、入力ビットが110(CPU110からの新しいデータ要求
なしおよびEOCなし)または011(EOCと同時のグローバ
ルデータ要求)であれば、FSM130は状態0100のままであ
る。グローバル要求がEOCと同時に発せられたときにFSM
130が状態0100のままである理由は、古いアクティブデ
ータ要求がEOCによってクリアされるとすぐ、それは直
後の新しいグローバルアクティブ要求によって取って変
わられ、FSM130は決して実際に状態0100を離れることは
ないということである。
データ要求なし)の入力ビット組合せはアクティブデー
タ要求が何もないことを示し、FSM130は状態0000に戻
る。
ルデータ要求)の入力ビット組合せによりFSM130は状態
0110に遷移する。状態0110はアクティブおよび未決定の
データ要求が他のデータ交換ユニットに対して行なわれ
たことを示す。したがって、CPU110は現在2つの応答を
待っている。ここに説明される実施例では、システム10
0は一度に2つの未解決の要求しか処理できないので、
新しいデータ要求がCPU110によって発せられたことを示
すすべての入力ビット組合せ(つまり入力ビット組合せ
000、001、010、011)は、FSM130が状態0110にある間無
効である。したがって、入力ビット組合せが110(新し
いデータ要求なしおよびEOCなし)であれば、FSM130は
状態0110のままであるが、入力ビット組合せが111(新
しいデータ要求なしおよびEOCであり)であれば、この
入力によりFSMは状態0100に戻る。
ルデータ要求)の入力ビット組合せは、グローバルアク
ティブ要求がクリアされ新しいローカルデータ要求によ
って取って変わられたことを示す。したがって、FSM130
はアクティブデータ要求がローカルデータ交換ユニット
に発せられたことを示す状態1100に遷移する。状態1100
については以下により詳細に論じる。
データ要求)の入力ビット組合せによりFSM130は状態01
11に遷移する。状態0111はアクティブデータ要求がある
他のデータ交換ユニットに属し、一方未決定の要求はロ
ーカルデータ交換ユニットに属することを示す。状態01
10の場合のように、CPU110からの新しいデータ要求の発
行を示す入力はFSM130が状態0111のままである間無効で
ある。なぜなら2つのデータ要求が既に未決定であり、
プロセッサは第3のデータ要求を発行しないからであ
る。このように、入力ビットが110(新しいデータなし
およびEOCなし)のとき、FSMは状態0111のままである。
しかしながら、111(新しいデータなしおよびEOCあり)
の入力ビット組合せはアクティブ要求がクリアされるこ
とを示す。未決定の要求はしたがってアクティブにな
り、FSM130は状態1100に遷移する。
ーカルデータ交換ユニットに属する一方で、未決定の要
求はないことを示す)間、FSM130は入力ビット組合せに
よって決定されるように、4つの異なった状態の1つに
遷移してもよいし、状態1100のままであってもよい。も
し入力ビットが110(新しいデータ要求なしおよびEOCな
し)であれば、FSM130は状態1100のままである。同時
に、入力ビットが001(EOCと同時のローカルデータ要
求)であれば、FSM130は同様に状態1100のままであろ
う。なぜなら、EOCは古いローカルアクティブデータ要
求をクリアし、新しいローカルアクティブデータ要求が
直ちに以前の要求に取って変わるからである。
有するグローバルデータ要求)であれば、FSM130は状態
0100に遷移するであろう。なぜなら、EOCは以前のロー
カルアクティブデータ要求をクリアし、CPU110によって
発行された新しいグローバルデータ要求が以前の要求に
取って変わるからである。このように、FSM130はグロー
バルアクティブ要求が未解決であることを示す状態(つ
まり状態0100)に入る。
およびEOCあり)の入力ビット組合せは、アクティブ要
求がクリアされ、かつアクティブ要求にとって変わる新
しい要求がなかったことを示す。したがって、FSM130は
未解決のデータ要求がなにもないことを示す状態0000に
入る。
ない新しいローカルデータ要求)であれば、FSM130は状
態1111に遷移する。状態1111はアクティブおよび未決定
のデータ要求が未解決であり、かつアクティブおよび未
決定のデータ要求はどちらもローカルデータ交換ユニッ
トに属することを示す。同時に未解決のアクティブおよ
び未決定のデータ要求があるので、新しいデータ要求が
CPU110によって発せられたことを示す入力組合せはFSM1
30が状態1111にある間無効である。したがって、入力ビ
ットは2つの組合せ110および111しかとれない。もし入
力ビットが110(新しいデータ要求なしおよびEOCなし)
であれば、FSMは同じ状態(つまり状態1111)のままで
あろう。しかしながら、もし入力ビットが111(EOCを有
する新しいデータ要求なし)であれば、アクティブ要求
はクリアされ、未決定のローカル要求はアクティブにさ
れるであろう。したがって、FSM130は状態1100に戻る
(アクティブローカルデータ要求を示すが未決定のデー
タ要求は示さない)。
ないグローバルデータ要求)であれば、FSM130は状態11
10に遷移する。状態1110はアクティブローカルデータ要
求および未決定のグローバルデータ要求があることを示
す。したがって、状態1110は新しいデータ要求がCPU110
によって発行されたことを示すあらゆる入力の可能性を
排除する。したがって、もし入力ビット組合せが110(E
COのない新しいデータ要求なし)であれば、FSMは状態1
110のままであるが、入力ビット組合せが111(EOCを有
する新しいデータ要求なし)であれば、アクティブロー
カル要求はクリアされ、未決定のグローバル要求がアク
ティブグローバル要求になる。したがって、FSM130は状
態0100に遷移し、グローバルアクティブデータ要求がシ
ステム100内で未解決であることを示す。
状態から状態へ遷移する。FSM130の各々の出力状態はし
たがってシステム100全体のデータ要求の状態を示す。
各FSM130はシステム100全体のデータ要求の状態を示す
出力状態を有するので、FSM130によって与えられる信号
は、以下でより明らかにされるように、システム100内
のデータの適切な順序決めを保証することが可能であ
る。
ック図である。なおFSM130のこの実現例はあたかもFSM1
30が複数の別個のコンポーネントを含むかのように図4
に示されるが、FSM130は単一の集積回路チップ内で実現
され得る。図4に示されるように、FSM130は4つの8×
1マルチプレクサ(MUX)410、412、414および416を含
み、これらは選択入力として入力ビットI0(EOC)、I1
(OMHIT)、I2(MHIT)を線402、233、282に沿ってそれ
ぞれ受取る。
Dフリップフロップ(DFF)420−426にそれぞれ信号を
送る。マルチプレクサ410−416によって送られる信号は
線402、233、282に沿って与えられた入力ビットの値に
よって決定される。たとえば、入力ビットI0−I2が011
であれば、各マルチプレクサ410−416の「3」入力に与
えられる信号はそのマルチプレクサの出力に送られ、し
たがって対応のDフリップフロップ420−426の入力に与
えられる。マルチプレクサ410−416への「4」および
「5」入力は決して選択されないので(つまり入力100
および101は有効な入力組合せではないので)接続され
ないことが理解されるであろう。
データを線440上でのクロックサイクルの発生時にその
出力に送る。各Dフリップフロップ420−426もまた線44
2に接続されたアクティブローリセット入力を含む。し
たがって、フリップフロップ420−426の各々の出力は論
理「0」が線442に与えられたときにローにリセットす
る。フリップフロップ420−426の出力は出力線238、45
2、454、456にそれぞれ与えられる。
態出力を構成する。特に、線238上の信号は変数ASELで
あり、線452上の信号は変数ACTであり、線454上の信号
は変数PNDであり、線456上の信号は変数PSELである。
以上の入力にフィードバックされる。特に、線238上の
信号ASEL(ローカルデータ交換ユニットに属するアクテ
ィブデータ要求があることを示す)は、マルチプレクサ
410の入力2および6とともに排他的NOR(XNOR)ゲート
460の第1の入力にフィードバックされる。線452上の信
号ACT(ローカルデータ交換ユニット以外のデータ交換
ユニットに属するアクティブデータ要求があることを示
す)は、マルチプレクサ412の入力1、3および6、マ
ルチプレクサ414の入力0および2、ならびにマルチプ
レクサ416の入力0にフィードバックされる。信号ACTは
またXNORゲート460の第2の入力にも与えられる。XNOR
ゲート460の出力はマルチプレクサ410の入力0に与えら
れる。線454上の信号PND(ローカルデータ交換ユニット
に属さない未決定のデータ要求を示す)は、マルチプレ
クサ412の入力7およびマルチプレクサ414の入力6にフ
ィードバックされる。最後に、線456上の信号PSEL(ロ
ーカルデータ交換ユニットに属する未決定のデータ要求
があることを示す)は、マルチプレクサ410の入力7お
よびマルチプレクサ416の入力6にフィードバックされ
る。
力1、3および7、ならびにマルチプレクサ416の入力
1、2、3および7は直接接地される(つまり論理ゼロ
または低電圧レベル)。マルチプレクサ412の入力0お
よび2は直接Vcc(ハイ)に接続される。したがって、
選択可能な(つまり有効な)マルチプレクサ入力の各々
はフィードバック入力、接地またはVccに接続される。
回路は3つの入力ビットに応答して1組の4つの状態出
力を与える。図4に示される回路の出力状態から出力状
態への遷移は、入力ビットの値によって決定されるので
あるが、図3Aの状態図に描かれた状態の遷移に正確に対
応する。図4に示されたFSM回路の動作を明らかにする
ために、以下に1つの入力/出力例を与える。
まりI0=0、I1=1、およびI2=0)とすると、線23
8、452、454、456の各々上の信号は論理0であり、一方
選択されたマルチプレクサ入力はマルチプレクサ410−4
16の各々に対して入力2であることは明らかである。し
たがって、マルチプレクサ410の出力で線430に与えられ
た信号は線238に与えられた信号に等しいであろう(こ
の場合ASELは0として与えられるので論理0)。マルチ
プレクサ412の出力で線432に与えられた信号はVccに等
しいであろう(つまり論理1)。マルチプレクサ414の
出力で線434に与えられた信号線454に与えられた信号に
等しいであろう(この場合ACTは0として与えられるの
で論理0)。最後に、マルチプレクサ416の出力で線436
に与えられた信号は接地に等しいであろう(つまり論理
0)。マルチプレクサ410−416の出力の各々は対応のD
フリップフロップ420−426の入力に与えられ、これらの
信号はクロックパルスの発生時に出力線238、452、45
4、456にそれぞれ送られる。したがって、次の出力状態
はASEL=0、ACT=1、PND=0、PSEL=0、つまり0100
になるであろう。これは図3Aの状態図に描かれるように
010の入力が与えられたときの0000から0100への状態遷
移に対応する。
およびトランシーバ220(図2)とともに選択遅延回路
として作用し、メモリユニット115への未決定のデータ
要求がアクティブになるまでRAMアレイ210からデータバ
ス270へのデータの伝送を遅らせる。この遅延は線238に
沿ってFSM130によってFSMコントローラ240に与えられる
イネーブル信号によって達成される。線238上の信号が
ローのとき、これはデータを伝送すべきでないことをFS
Mコントローラ240に示す。FSMコントローラ240はしたが
ってRAM210からデータバス270へのデータの伝送を防ぐ
ディスエーブル信号を線225に沿ってトランシーバ220に
送る。未決定のローカルデータ要求が一旦アクティブに
なると(たとえばデータ要求がアクティブであり、メモ
リユニット115に属するとき)、これは要求されたデー
タがRAMアレイ210からデータバス270に伝送されるべき
であることを意味する。FSM130はしたがってFSMコント
ローラ240にトランシーバ220をイネーブルするように命
令するイネーブル信号を線238に沿って発生する。
は信号ASELとしてDフリップフロップ420の出力で発生
される。ASEL信号はデータ要求がアクティブでありかつ
ローカルであるときのみハイであり、イネーブル信号と
してのASELの使用によりメモリユニット115がCPU110か
らの前のデータ要求に対する応答が行なわれるまでデー
タを出力しないことを保証する。
ことなく他の形態で実施され得る。たとえば、FSM130は
数個の異なった回路要素内で実現されてもよいし、単一
の集積回路チップ内で実現されてもよい。さらに、FSM1
30はシフトレジスタなどの異なった回路コンポーネント
を使用して実現されてもよい。加えて、FSM130の構成は
3以上のCPUデータ要求が同時に未解決であるデータパ
イプライン化を与えるように拡張かつ修正可能である。
したがって、前述の説明は例示として考慮されるべきで
あり、制限として考慮されるべきではない。この発明の
精神および範囲は添付の請求の範囲に鑑み理解されかつ
それによって規定されるべきである。
Claims (4)
- 【請求項1】パーソナルコンピュータデータパイプライ
ン化システムにおいてデータを管理するデータ管理シス
テムであって、前記パイプライン化システムは、中央処
理装置(CPU)と、データ通信バスと、複数のデータ発
生装置とを含み、前記パイプライン化システムはさら
に、データ発生装置から応答を受取る前に前記CPUによ
って少なくとも2つのデータ要求が発せられるように構
成され、前記データ管理システムは、 前記CPUからデータ要求を受取り、かつ1つのデータ要
求が前記データ発生装置に向けられたときに選択信号を
出力する、各データ発生装置のためのそれぞれの選択回
路と、 各データ発生装置のためのそれぞれの状態マシンとを含
み、前記状態マシンは、前記データ発生装置のための前
記それぞれの選択回路からの前記選択信号を受取り、か
つ別のデータ発生装置のための選択回路からの選択信号
を受取り、前記状態マシンは、前記それぞれのデータ発
生装置の前記それぞれの選択回路からのアクティブ選択
信号が、前記別のデータ発生装置の前記選択回路からの
アクティブ選択信号より前に発生したときに、そのそれ
ぞれのデータ発生装置を起動してデータをデータ通信バ
スに出力する、データ管理システム。 - 【請求項2】パイプライン化されたデータシステムにお
いて装置がデータ要求に応答する順序を制御するコント
ローラであって、 各装置のためのそれぞれのデコーダを含み、各デコーダ
は、現在のデータ要求がそのそれぞれの装置に向けられ
ているかどうかを判断し、前記現在のデータ要求がその
それぞれの装置に向けられている場合にはアクティブデ
コード信号を発生し、 各装置のためのそれぞれの状態マシンを含み、各状態マ
シンは、そのそれぞれの装置のための前記それぞれのデ
コーダからの前記アクティブデコード信号を受取り、か
つ他の装置のためのデコーダからのアクティブデコード
信号を受取り、前記状態マシンはさらに、前のデータサ
イクルの完了を示すサイクル信号の終了を受取り、前記
状態マシンが、そのそれぞれの装置のための前記それぞ
れのデコーダからの前記アクティブデコード信号が現在
の最も早いアクティブデコード信号であると決定したと
き、前記状態マシンはアクティブ選択信号を発生し、前
記装置は前記アクティブ選択信号に応答してデータを前
記パイプライン化されたデータシステムに出力する、コ
ントローラ。 - 【請求項3】前記それぞれの装置のための前記それぞれ
の状態マシンは、前記それぞれの装置が他のいかなるア
クティブ要求より前に発生したアクティブ要求を有する
場合にアクティブである第1の状態信号と、前記それぞ
れの装置が別のアクティブ要求後に発生したアクティブ
要求を有する場合にアクティブである第2の状態信号
と、いずれかの装置がアクティブ要求を有する場合にア
クティブである第3の状態信号と、いずれか2つの要求
がアクティブである場合にアクティブである第4の状態
信号とを発生する、請求項2に記載のコントローラ。 - 【請求項4】パイプライン化されたデータシステムであ
って、 第1のデータ発生装置と、 第2のデータ発生装置と、 前記第1および第2のデータ発生装置からのデータを要
求するデータ要求を発する第1の装置とを含み、前記第
1の装置は第1のデータ要求を発し、かつ前記第1のデ
ータ要求に対する応答を待つことなく第2のデータ要求
を発し、 前記第1のデータ発生装置のための第1のデコーダおよ
び第1のコントローラと、さらに 前記第2のデータ発生装置のための第2のデコーダおよ
び第2のコントローラとを含み、 前記第1のデコーダは第1および第2のデータ要求のど
ちらでも前記第1のデータ発生装置に向けられていると
きを判断し、前記第1のデータ発生装置に向けられた各
要求に対して第1のアクティブ選択信号を発生し、 前記第2のデコーダは前記第1および第2のデータ要求
のどちらでも前記第2のデータ発生装置に向けられてい
るときを判断し、前記第2のデータ発生装置に向けられ
た各要求に対する第2のアクティブ選択信号を発生し、 前記第1のコントローラは前記第1および第2のデコー
ダからの前記アクティブ選択信号に応答して、第2のデ
ータ発生装置が応答していないいかなる第2のアクティ
ブ選択信号よりも前に前記第1のアクティブ選択信号が
発生したときに、前記第1のデータ発生装置に、前記パ
イプライン化されたデータシステムにデータを出力さ
せ、 前記第2のコントローラは前記第1および第2のデコー
ダからの前記アクティブ選択信号に応答して、第1のデ
ータ発生装置が応答していないいかなる第1のアクティ
ブ選択信号よりも前に前記第2のアクティブ選択信号が
発生したときに、前記第2のデータ発生装置に、前記パ
イプライン化されたデータシステムにデータを出力させ
る、パイプライン化されたデータシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US98180692A | 1992-11-25 | 1992-11-25 | |
US07/981,806 | 1992-11-25 | ||
PCT/US1993/011460 WO1994012935A1 (en) | 1992-11-25 | 1993-11-24 | Pipelined data ordering system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08503800A JPH08503800A (ja) | 1996-04-23 |
JP3425443B2 true JP3425443B2 (ja) | 2003-07-14 |
Family
ID=25528665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51338394A Expired - Fee Related JP3425443B2 (ja) | 1992-11-25 | 1993-11-24 | パイプライン化されたデータの順序決めシステム |
Country Status (9)
Country | Link |
---|---|
US (2) | US5603042A (ja) |
EP (1) | EP0700540B1 (ja) |
JP (1) | JP3425443B2 (ja) |
KR (1) | KR100296517B1 (ja) |
AT (1) | ATE204660T1 (ja) |
AU (1) | AU666999B2 (ja) |
CA (1) | CA2150024C (ja) |
DE (1) | DE69330646D1 (ja) |
WO (1) | WO1994012935A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638534A (en) * | 1995-03-31 | 1997-06-10 | Samsung Electronics Co., Ltd. | Memory controller which executes read and write commands out of order |
US5666494A (en) * | 1995-03-31 | 1997-09-09 | Samsung Electronics Co., Ltd. | Queue management mechanism which allows entries to be processed in any order |
EP2105841A1 (en) | 1997-10-10 | 2009-09-30 | Rambus Inc. | Apparatus and method for pipelined memory operations with write mask |
EP1327991A3 (en) * | 1997-10-10 | 2005-05-11 | Rambus Inc. | Apparatus and method for pipelined memory operations |
US7325064B2 (en) * | 2001-07-17 | 2008-01-29 | International Business Machines Corporation | Distributed locking protocol with asynchronous token prefetch and relinquish |
US20050144409A1 (en) * | 2002-09-11 | 2005-06-30 | Fujitsu Limited | Data processing device and method utilizing latency difference between memory blocks |
JPWO2004025478A1 (ja) * | 2002-09-11 | 2006-01-12 | 富士通株式会社 | メモリブロック間のレイテンシ差を活用するデータ処理装置および方法 |
US7412574B2 (en) * | 2004-02-05 | 2008-08-12 | Micron Technology, Inc. | System and method for arbitration of memory responses in a hub-based memory system |
JP4982778B2 (ja) * | 2008-07-04 | 2012-07-25 | 学校法人慶應義塾 | 電子回路装置 |
KR102193682B1 (ko) | 2014-08-01 | 2020-12-21 | 삼성전자주식회사 | 선택적 ecc 기능을 갖는 반도체 메모리 장치 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4181974A (en) * | 1978-01-05 | 1980-01-01 | Honeywell Information Systems, Inc. | System providing multiple outstanding information requests |
US4661905A (en) * | 1983-09-22 | 1987-04-28 | Digital Equipment Corporation | Bus-control mechanism |
JPS61160142A (ja) * | 1984-12-29 | 1986-07-19 | Hitachi Ltd | デ−タ処理装置 |
US4937733A (en) * | 1987-05-01 | 1990-06-26 | Digital Equipment Corporation | Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system |
US4864496A (en) * | 1987-09-04 | 1989-09-05 | Digital Equipment Corporation | Bus adapter module for interconnecting busses in a multibus computer system |
US4858234A (en) * | 1987-09-04 | 1989-08-15 | Digital Equipment Corporation | Method and apparatus for error recovery in a multibus computer system |
US4987529A (en) * | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
US5239661A (en) * | 1989-08-18 | 1993-08-24 | Mitsubishi Denki Kabushiki Kaisha | Hierarchical bus circuit having decoder generating local buses and devices select signals enabling switching elements to perform data transfer operations |
US5289584A (en) * | 1991-06-21 | 1994-02-22 | Compaq Computer Corp. | Memory system with FIFO data input |
US5471638A (en) * | 1991-10-04 | 1995-11-28 | Bull Hn Inforamtion Systems Inc. | Bus interface state machines with independent access to memory, processor and registers for concurrent processing of different types of requests |
-
1993
- 1993-11-24 KR KR1019950702098A patent/KR100296517B1/ko not_active IP Right Cessation
- 1993-11-24 DE DE69330646T patent/DE69330646D1/de not_active Expired - Lifetime
- 1993-11-24 JP JP51338394A patent/JP3425443B2/ja not_active Expired - Fee Related
- 1993-11-24 AU AU56787/94A patent/AU666999B2/en not_active Ceased
- 1993-11-24 WO PCT/US1993/011460 patent/WO1994012935A1/en active IP Right Grant
- 1993-11-24 CA CA002150024A patent/CA2150024C/en not_active Expired - Fee Related
- 1993-11-24 EP EP94902400A patent/EP0700540B1/en not_active Expired - Lifetime
- 1993-11-24 AT AT94902400T patent/ATE204660T1/de not_active IP Right Cessation
-
1994
- 1994-12-15 US US08/357,132 patent/US5603042A/en not_active Expired - Lifetime
-
1997
- 1997-02-07 US US08/796,343 patent/US5737627A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5737627A (en) | 1998-04-07 |
EP0700540A1 (en) | 1996-03-13 |
AU666999B2 (en) | 1996-02-29 |
US5603042A (en) | 1997-02-11 |
CA2150024C (en) | 2001-06-12 |
DE69330646D1 (de) | 2001-09-27 |
EP0700540A4 (en) | 1998-06-03 |
WO1994012935A1 (en) | 1994-06-09 |
EP0700540B1 (en) | 2001-08-22 |
JPH08503800A (ja) | 1996-04-23 |
ATE204660T1 (de) | 2001-09-15 |
CA2150024A1 (en) | 1994-06-09 |
KR100296517B1 (ko) | 2001-10-24 |
AU5678794A (en) | 1994-06-22 |
KR950704742A (ko) | 1995-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5996051A (en) | Communication system which in a first mode supports concurrent memory acceses of a partitioned memory array and in a second mode supports non-concurrent memory accesses to the entire memory array | |
US6718441B2 (en) | Method to prefetch data from system memory using a bus interface unit | |
JPS6327738B2 (ja) | ||
US5787489A (en) | Synchronous SRAM having pipelined enable | |
JPH0713908A (ja) | 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置 | |
JPH06124261A (ja) | コンピュータ・データ経路指定装置 | |
JPS6035696B2 (ja) | デ−タ処理装置における母線制御装置 | |
JP3425443B2 (ja) | パイプライン化されたデータの順序決めシステム | |
US5574869A (en) | Bus bridge circuit having configuration space enable register for controlling transition between various modes by writing the bridge identifier into CSE register | |
JP2002132701A (ja) | メモリ制御装置 | |
US5974497A (en) | Computer with cache-line buffers for storing prefetched data for a misaligned memory access | |
US6425056B2 (en) | Method for controlling a direct mapped or two way set associative cache memory in a computer system | |
JPH09179780A (ja) | バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置 | |
JPH0271344A (ja) | マイクロコンピユータ・システム | |
JPS6119062B2 (ja) | ||
US5918025A (en) | Method and apparatus for converting a five wire arbitration/buffer management protocol into a two wire protocol | |
US6170041B1 (en) | Integrated circuit memory with a bus transceiver | |
JP3583844B2 (ja) | キャッシュメモリ方式 | |
KR970011888B1 (ko) | 컴퓨터 시스템용 정보 처리 시스템 및 컴퓨터 시스템내의 데이타 전송 관리 방법 | |
JPH0512185A (ja) | バーストサイクルデータ読み出しのためのアドレス予測および検証回路 | |
JP3119618B2 (ja) | データ処理装置 | |
US6141735A (en) | Performing a memory access cycle in a multi-processor computer system | |
JP2534321B2 (ja) | デ―タ転送制御方法及び装置 | |
WO2001050267A2 (en) | Dual cache with multiple interconnection operation | |
JP3522465B2 (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090502 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100502 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110502 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120502 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130502 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |