JPH07182271A - データ処理システムおよびロングワード・アドレスをサイクルする方法 - Google Patents

データ処理システムおよびロングワード・アドレスをサイクルする方法

Info

Publication number
JPH07182271A
JPH07182271A JP6271877A JP27187794A JPH07182271A JP H07182271 A JPH07182271 A JP H07182271A JP 6271877 A JP6271877 A JP 6271877A JP 27187794 A JP27187794 A JP 27187794A JP H07182271 A JPH07182271 A JP H07182271A
Authority
JP
Japan
Prior art keywords
bus
master
address
external
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6271877A
Other languages
English (en)
Inventor
James G Gay
ジェームス・ジー・ガイ
Ronald W Stence
ロナルド・ダブリュー・ステンス
Jefferson L Gokingco
ジェファーソン・エル・ゴキンゴ
John P Hansen
ジョン・ピー・ハンセン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH07182271A publication Critical patent/JPH07182271A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 データ処理システム内のバスを制御する方法
および装置を提供する。 【構成】 この方法および装置は、第1制御ビット(S
AS*)および第2制御ビット(CLA*)と、少なく
とも1つの終了信号(TA*,TRA*,TEA*)を
有する。CLA*信号は、主マスタ10に対する入力で
ある。主マスタ10は、スレーブ・デバイスが基底アド
レスをアクセスできるように、主マスタ10に対して外
部の基底アドレスを与える。CLA*信号はスレーブ・
デバイスによってアサートされ、主マスタ10から複数
のアドレスを与えるため基底アドレスがビット単位で循
環的にサイクルされることを示し、この複数のアドレス
の各アドレスは、主マスタ10に対して内部の基底アド
レスから導出される。一般に、CLA*信号の3つの逐
次的なアサートに応答して、主マスタ10の内部制御を
介して各基底アドレスごとに4つのアドレスが与えられ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、データ処理シ
ステムに関し、さらに詳しくは、バス・プロトコルに関
する。
【0002】
【従来の技術】集積回路およびシステム設計業界では、
バスの動作またはデバイスおよび/または集積回路間の
複数の相互接続を制御するためにバス・プロトコルが用
いられる。バス・プロトコルは一般に、システム性能に
直接影響する。たとえば、バス・プロトコルは、バース
ト・バス・サイクルを実行するために設計される。バー
スト・バス・サイクルでは、データ・プロセッサに対し
て外部の基底アドレス(base address)が与えられる。デ
ータ・プロセッサに対して外部のメモリ・デバイスまた
はラッチでは、このアドレスのビット群がラッチまたは
格納される。データ・プロセッサに対して外部の論理マ
シーンまたはステート・マシーン(state machine) は、
基底アドレスを順次処理して、1つの基底アドレスから
2つ以上の固有アドレスを形成するように、ラッチまた
はメモリ・デバイスをサイクルさせるために用いられ
る。各固有アドレスに相当するデータは、プロセッサか
ら固有アドレスを個別に与えるよりも高速に、データ・
プロセッサに対して外部のメモリから読み出される。
【0003】
【発明が解決しようとする課題】残念ながら、外部カウ
ンタおよびグルー論理/ステート・マシーン(glue logi
c/state machine)は、設計が困難であり、高速動作のマ
イクロプロセッサ・システムと動作するのが困難であ
る。極めて高い周波数では、オンからオフへのチップ遅
延のため、外部カウンタおよびグルー論理/ステート・
マシーンを制御する外部論理信号の生成は遅く、アドレ
ス・サイクリングは実行不可能なことがある。
【0004】さらに、システム内の2つのデバイスは一
般に互いに交信する。よって、一般にバス・プロトコル
は、一方のデバイスによって開始されたバス転送を肯定
応答(acknowledge) または終了(terminate) して、他方
のデバイスにデータを伝送するためのあるメカニズムを
必要とする。従来のバス・プロトコルでは、肯定応答信
号は、システム・クロックのすべてのクロック・エッジ
について有効(有効論理1または有効論理0)である必
要があった。このことは、高周波数では、マスタ・デバ
イスがクロック・エッジを受ける前に、スレーブ・デバ
イスがマスタ・デバイスに結合される肯定応答信号を能
動的にアサート(assert)またはデアサート(deassert)で
きないことがあるので、面倒である。伝送ライン効果(t
ransmission line effect)を有するバスは、この問題を
さらに悪化させる。
【0005】
【課題を解決するための手段】上記の欠点は、本発明に
より克服され、他の利点が実現される。1つの形態で
は、本発明は、バースト・バス・サイクル中にデータ・
プロセッサの外部アドレスを制御する方法によって構成
される。バースト・バス・サイクルとは、データ・プロ
セッサに対して外部の回路からデータ・プロセッサに複
数のデータ値が順次転送されるバス・サイクルのことで
ある。データ・プロセッサは、データ・プロセッサに対
して外部の回路によって生成された制御信号を受ける外
部入力を有する。この方法は、まず、データ・プロセッ
サに結合された外部バスを介して基底アドレスがデータ
・プロセッサによって与えられる段階(a)を実行する
ことによって開始する。段階(b)が実行され、ここで
データ・プロセッサに対して外部の回路を介して第1制
御信号がアサートされ、外部入力に入力される。段階
(c)が実行され、ここで第1制御信号のアサートに応
答して、データ・プロセッサに対して内部の回路を介し
て、基底アドレスがこの基底アドレスとは異なる別のア
ドレスに変更される。段階(b)および段階(c)は、
所定の回数繰り返される。
【0006】別の形態では、本発明はデータ処理システ
ムによって構成される。データ処理システムは、データ
処理システム内のバスを制御するためのバス・プロトコ
ルを有し、データ処理システムは主マスタ(primary mas
ter)を有する。主マスタは、制御信号を受ける入力を有
する。主マスタは、制御信号のアサートに応答して、バ
ス上で与えられた第1アドレスを第2アドレスに循環的
にインクリメント(increment) する。データ処理システ
ムは、バスを介して主マスタに結合されたスレーブ・デ
バイスを有する。スレーブ・デバイスは、制御信号を主
マスタに与えるための出力を有する。制御信号は、第1
アドレスを受けることに応答して、スレーブ・デバイス
によってアサートされる。バス・アービタ(bus arbite
r) は、主マスタに結合され、データ処理システム内の
バスの所有権(ownership) を決定する。
【0007】本発明は、添付の図面とともに以下の詳細
な説明から明らかになろう。
【0008】
【実施例】図示を簡単かつ明確にするため、図面に示さ
れる要素は必ずしも原寸どおりではない。例えば、わか
りやすいように、ある要素の寸法は別の要素に対して誇
張されている。さらに、適切と思われる場合には、対応
するまたは類似した要素を示すため参照番号は図面を通
して繰り返し用いられている。
【0009】図1にデータ処理システムを示す。データ
処理システムは、主マスタ10,バス・コントローラ/
アービタ14,代替マスタ12およびクロック発生器1
6を有する。いくつかの制御信号は、図1の要素を相互
接続する。これらの制御信号については後で説明する。
図1において、制御バスは、制御信号を転送するために
用いられる。図1の実線は、データ処理システム内の好
適な接続を示す。図1の点線は、制御信号間で行われる
代替または追加接続を示す。他の信号を制御バス内で相
互接続してもよい。図1は、アドレス・バスおよびデー
タ・バスの両方を示す。
【0010】図1内の信号名の「*」シンボルは、信号
がアクティブ・ロー(active low)信号であることを示
す。主マスタ10は、マイクロプロセッサ,パイプライ
ン実行デバイス(pipelined execution device),特定用
途向け集積回路(ASIC:application specific int
egrated circuit )デバイス,プログラマブル論理アレ
イ(PLA),ハードワイヤ論理,マイクロコードおよ
び/またはナノコードによって少なくとも部分的にソフ
トウェアで駆動される実行ユニット,複数の実行デバイ
ス,デジタル信号プロセッサ(DSP),コンピュー
タ,データ・プロセッサ,中央処理装置(CPU)など
でもよい。また、図1における信号には、「PM」また
は「AM」の接頭辞が付されている。接頭辞「PM」
は、特定の信号が主マスタ10によって生成または受信
されることを意味し、「AM」は、特定の信号が代替マ
スタ12によって生成または受信されることを意味す
る。図1に示す制御信号については、以下で詳細に説明
する。
【0011】図1において、転送開始(Transfer Start)
(TS*)信号は、アドレス・ラインがバス・サイクル
において安定するクロック・サイクル中に主マスタ10
によってアサート(assert)され、直後(すなわち次の)
クロック・サイクルでニゲート(negate)される。TS*
信号は、システム・マスタがバス・マスタでない(すな
わち、バスの所有権を有していない)ときに調べられ、
スヌープ・アクセス要求(snoop access request)の開始
を決定する。また、主マスタ10がバス・マスタでない
ときにも調べられ、バス所有権について内部ステートを
維持する。バス上でバス・サイクルを実行できるすべて
のマスタは、互いにバス化されたTS*信号を有する。
主マスタ10がバス・マスタでないとき、主マスタ10
からのTS*信号はトライステート(tristate)される。
【0012】図1は、伝送肯定応答(Transmission Ackn
owledge)(TA*)信号を示し、ここで前述のように、
「*」記号は制御信号がアクティブ・ロー制御信号であ
ることを意味する。主マスタ10がバスの所有権を有す
る(すなわち、主マスタがアサートされたバス許可(Bus
Grant) (BG*)信号を受信して、転送開始(Transfe
r Start)(TS*)信号を介してバス転送を開始してい
る)とき、TA*信号は、1つまたはそれ以上のバスを
介して主マスタ10が交信しているカレント・スレーブ
・デバイス(例えば、メモリ・デバイスまたは番地)に
よってアサートされる。TA*信号は、新たなデータが
有効かつバス・リード動作中にサンプリングできるクロ
ックで、あるいはバス・ライト動作中ににデータがスレ
ーブによって受け付けられるクロックでアサートされ
る。主マスタ10が転送肯定応答によって転送を成功と
して受け付けるためには、図1の転送リトライ肯定応答
(Transfer Retry Acknowledge)(TRA*)信号および
転送エラー肯定応答(Transfer Error Acknowledge)(T
EA*)信号の両方を、TA*がアサートされたときに
ニゲートしなければならない。すなわち、TA*信号
は、TEA*信号またはTRA*信号よりも優先度が低
い。
【0013】図1に示す転送エラー肯定応答(TEA
*)信号は、カレント・スレーブによってアサートさ
れ、カレント転送についてバス・エラー状態が発生した
ことを示す。TEA*信号は、エラー状態のため、バス
・サイクルを即刻終了すべきであることを示す。好適な
動作モードでは、TEA*のアサートはTRA*信号お
よびTA*信号よりも優先する。
【0014】好適な動作モードでは、転送リトライ肯定
応答(TRA*)信号は、バス・サイクルの最初の転送
でカレント・スレーブ・デバイスによってアサートさ
れ、カレント・バス・サイクルを再実行する必要を示
す。しかし、最初の転送以外の他の転送におけるTRA
*のアサートは無視される。TRA*のアサートは、バ
ス・サイクルの最初の転送ではTA*よりも優先する
が、TRA*はTEA*よりも優先しない。
【0015】図1は、バス要求(Bus Request) (BR
*)信号を示す。BR*信号は、主マスタ10によって
外部バス・アービタ14に送られ、任意のときにアサー
トまたはニゲートできる。BR*信号は、主マスタ10
によってアサートされ、システム10内のバスを利用す
る必要を示す。BR*信号は、マスタがバスを必要とし
なくなるまでアサートされ続ける。このアサートされた
時間期間は、主マスタ10がバスの所有権を有する時間
だけでなく、主マスタ10がバスの所有権を有さない時
間も含む。
【0016】主マスタ10がバスを使用する必要性は、
バス・アービタ14がバスを主マスタ10に許可する前
に、主マスタ10の内部ステートの変化によって消滅す
ることがあることに留意されたい。このことは、BR*
がある時間期間でアサートされ、その後、バス許可(Bus
Grant) (BG*)が外部バス・アービタ14によって
アサートされる前にニゲートされる場合に当てはまる。
よって、外部バス・アービタ14は、主マスタ10がバ
スの利用を要求したが、バス・アービタがプロセッサに
対してBG*をアサートしたときに主マスタがバス所有
権を実際に取得しないケースに対処しなければならな
い。このケースは、主マスタ10がBR*をニゲート
し、BG*が外部バス・アービタ14によってアサート
された後に次のクロック・エッジで転送開始(TS*)
をアサートしないことに注目することによって検出でき
る。このことは、BG*が主マスタ10プロセッサに対
してアサートされ、プロセッサがBR*をアサートさせ
ているが、TS*をまだアサートしていない場合には当
てはまらない。BR*がアサートされたままで、BG*
を受信した後の主マスタ10よるTS*のアサートの遅
延は、命令バス要求動作を優先使用(preempt) するオペ
ランド・バス動作によって生じる特殊内部状態によるも
のである。この場合、主マスタ10は、BR*がアサー
トされ続けている限り、バスを利用しようとする。
【0017】図1において、バス許可(Bus Grant) (B
G*)信号を示す。バス許可(BG*)信号は、外部ア
ービタ14によって主マスタ10に与えられ、カレント
・マスタがカレント・バス・サイクルを終了して、バス
保有終了(Bus Tenure Terminature)(BTT*)信号を
介してまたはバス・ビジー(Bus Busy)(BB*)信号の
ニゲートを介してバスを放棄するとすぐに、主マスタ1
0がバスを制御できることを示す。BG*がアービタ1
4によってニゲートされると、分離不可能なバス・サイ
クルのロックされたシーケンスが進行中でない限り、カ
レント・バス・サイクルが完了するとすぐに、主マスタ
10はバスを放棄するが、ロックされたシーケンスが進
行中の場合には、主マスタは、アトミック(atomic)/分
離不可能なロックされたバス・サイクルのシーケンスを
完了し、それからBTT*をアサートしかつBB*をニ
ゲートすることによりバスを放棄したことを示す。ロッ
クされたバス・サイクルは、図1においてLOCK*信
号によって示される。
【0018】BTT*は1クロック期間でアサートさ
れ、外部アービタ14がマスタ10に対してBG*をニ
ゲートした後に、主マスタ10がそのバス保有を放棄し
たことをシステム内の他のマスタ(すなわち代替マスタ
12)に示す。BTT*は、そのアサートの直後の1ク
ロック期間でニゲートに駆動される。他のすべてのとき
には、BTT*は主マスタ10によってトライステート
される。主マスタ10は、内部ステートを維持し、かつ
いつバス・マスタシップ/所有権を取得できるかを記録
するため、バス・マスタでないときにのみ、BTT*を
入力としてサンプリングする。この内部ステート情報を
適切に維持するため、バス上のすべてのマスタはTS*
信号を互いにバス化して、主マスタ10は結合されたT
S*−BTT*対を記録できる。終了するBTT*信号
がないTS*信号は、バスが現在使用中であることを意
味する。TS*信号の次にBTT*信号があることは、
バスはバス・サイクルの最中でないことを意味する。
【0019】主マスタ10プロセッサによるバス保有の
終了を示すBTT*とは異なり、BB*はマスタのバス
保有の連続的な指示を与える。BB*は、BTT*を排
除して用いることができ、その逆もできるが、BTT*
信号はBB*信号のようにバス競合(bus contention)問
題を生じる可能性がないため、BTT*が好ましい。前
回のバス・マスタがバスの制御をいつ解放したかを決定
するため、BB*はプロセッサ入力として監視される。
主マスタ10は、クロック・エッジ単位でバス・アベイ
ラビリティ(bus availability)を決定し、BG*がアサ
ートされ、かつTS*およびBB*の両方がプロセッサ
に対してニゲートされると、バスは利用可能であると判
断される。これらの条件が満たされ、かつ主マスタ10
がバスを今使用する必要がある場合、BB*はTS*の
最初のアサートでアサートされる。アービタ14からの
バス許可(BG*)のニゲートの後に主マスタ10がバ
ス所有権を放棄するまで、BB*はアサートされたまま
である。主マスタ10がデアサートされたバス許可(B
G*)信号を受け、その保有の最後のバス・サイクルの
最後の転送を終了すると、主マスタ10は1クロック期
間でBB*をニゲートし、次にBB*をトライステート
し、これを入力としてサンプリングし続ける。BB*が
ニゲートに駆動される1クロック期間とは、1主マスタ
・クロック期間であって、フル・クロック期間ではない
ことに留意されたい。このことは、バス化されたBB*
信号およびプロトコルを用いることは、外部バス・アー
ビタがフル・バス・スピード・システムにおいてどれだ
け速くバス・マスタシップ切換が可能かを制限すること
を意味する。
【0020】BB*は1フル・クロック期間でニゲート
に駆動されるので、主マスタ10がBB*をニゲートに
駆動することからBB*をトライステートする切換過程
にあることと同時に、新規のバス・マスタがBB*信号
のアサートを開始したときに、バス・マスタシップ切換
時にBB*信号についてバス・ファイト(bus fight)生
じる。従来のプロセッサは、クロック期間の一部でのみ
BB*をニゲートに駆動するので、この競合状態の可能
性はないが、主マスタ10は立ち上がりクロック・エッ
ジついてそのすべての信号をサンプリングし制御する。
高周波数およびフル・バス・スピードで最大性能を発揮
するため、BTT*信号およびプロトコルは上記のよう
に提供され、推奨される。BTT*のアサート,ニゲー
トおよびトライステートは、好適な形式では、クロック
立ち上がりで常にかつ唯一生じる。
【0021】BTT*の代わりにBB*信号およびプロ
トコルが用いられると、BTT*は抵抗を介してニゲー
ト状態に絶えずプルアップしなければならない。
【0022】図1において、LOCK*信号は主マスタ
10によってアサートされ、カレント・バス・サイクル
およびその後のすべてのバス・サイクルは、LOCK*
がニゲートされるまでアトミック(すなわち分離不可
能)となることを示す。LOCK*はTS*でアサート
され、バス・サイクルのロックされたシーケンスにおけ
る最後の転送の終了でニゲートされる。ロックされたシ
ーケンスの最後のバス・サイクルはリトライできるが、
BG*がアサートされたBGR*でニゲートされないな
らば、ロック・アトミック性(lock atomicity)を依然保
証する。また、主マスタ10のバス制御レジスタ(Bus C
ontrol Register)(BCR)においてLOCKビットが
設定されると、LOCK*はアサートされ、MOVEC
(move control)主マスタ・コンピュータ命令を介してB
CR LOCKビットがリセットされると、ニゲートさ
れる。さらに、LOCK*は、メモリ管理ユニット(M
MU)テーブルウォーク(tablewalk) におけるヒストリ
情報の更新中に、主マスタ10によってアサートされ
る。
【0023】LOCK*バス信号は、主マスタ10がバ
ス・サイクルのセットをアトミックにロックするまたは
割り込み無し(uninterrupted) にすることを示す。しか
し、主マスタ10は、BG*信号がニゲートされるかB
GR*がアサートされると、ロック・シーケンスの最中
に、カレント・バス・サイクルの最後にバスを強制的に
放棄できる。
【0024】主マスタ10がバス・マスタシップ/所有
権を失うと、LOCK*は、もしそれが前にアサートさ
れていれば、1フル・クロック期間でニゲートに駆動さ
れ、次にアドレス・バスがアイドル状態になった後に1
クロック・サイクルでトライステートされる。主マスタ
10がバス・マスタシップを失っているバス・サイクル
において、LOCK*がすでにニゲートに駆動されてい
る場合、アドレス・バスがアイドルである同じクロック
期間においてトライステートされる。
【0025】バス・ロック・エンド(Bus Lock End)(L
OCKE*)信号はTS*でアサートされ、カレント・
バスサイクルは、バス・サイクルのロック・シーケンス
における最後のバス・サイクルであることを示す。外部
アービタ14はLOCKE*を利用して、各ロック動作
の分離不可能な性質を維持しながら、関連のない折り返
し(back-to-back)ロック転送シーケンス間のアービトレ
ーションを可能にする。LOCKE*は、主マスタ10
のバスを従来のバス・プロトコルと整合させる(すなわ
ち、ファミリ整合性(family compatibility))ために提
供されるが、新たな設計では、外部バス・アービトレー
ション論理は、LOCKE*の代わりにBGR*を用い
て簡単にできる。LOCKE*のタイミングおよびアク
ションは、主マスタ10がバス・マスタシップ/所有権
を失うと、LOCK*と同じである。
【0026】図1は、バス許可放棄(Bus Grant Relinqu
ish)(BGR*)信号を示す。BGR*は、BG*がニ
ゲートされたときにバス所有権を放棄する必要性の度合
いを主マスタ10に示す、BG*の修飾子(qualifier)
である。BGR*は、BG*がニゲートされたときにア
トミック・ロック・シーケンス中に主マスタ10がどの
ように挙動するかに影響する。BGR*のアサートは、
主マスタ10が一連のバス・サイクルを互いにロックす
るつもりであっても、BG*がニゲートされたときに、
カレント・バス・サイクルの最後の転送時にバス所有権
を放棄すべきであることを主マスタ10に示す。BG*
がニゲートされたときにニゲートされたBGR*は、ア
トミック・シーケンスの分裂が生じないことを保証する
ため、ロックされたバス・サイクルの全体が終了した後
にのみ、バス・ロック状態(LOCK*アサート)でバ
ス所有権を放棄すべきであることを主マスタ10に示
す。図1は、転送キャッシュ禁止イン(Transfer Cache
Inhibit In) (TCI*)信号を用いるが、図1をわか
りやすくするため、TCI*は図1に図示されていな
い。図示されていない信号は、図1におけるCONTR
OLの一部であるとみなすことができる。TCI*信号
は、バス・サイクル転送の修飾子であり、カレント・デ
ータ転送情報を主マスタ10によって内部キャッシュに
キャッシュすべきでないことを示すため、カレント・ス
レーブによってアサートしてもよい。TCI*入力は、
主マスタ10が終了肯定応答信号をサンプリングしてい
る場合には、TA*の最初のアサートで有効でなければ
ならない。TCI*は、バースト・バス・サイクルのT
A*の最初のアサートの後に、主マスタ10によって無
視され、非バースト・リード・バス・サイクルおよびあ
らゆる種類のライト・バス・サイクル中に完全に無視さ
れる。
【0027】図1は、転送中(Transfer In Progress)
(TIP*)信号(図1には図示せず)を用いる。TI
P*信号はTS*によってアサートされ、バス・サイク
ルが現在進行中であることを示す。TIP*は、別のバ
ス・サイクルがすぐに開始しない場合に、バス・サイク
ルの最後の終了肯定応答(すなわち、TA*,TEA*
またはTRA*の1つまたはそれ以上のアサート)後に
ニゲートされる。折り返し(back-to-back)方式で終了・
開始するバス・サイクルは、TIP*を連続的にアサー
トさせる。
【0028】主マスタ10がバス・マスタシップを失
い、その保有の最後のバス・サイクルの最後の転送を終
了すると、主マスタ10は、TIP*が前にアサートさ
れていれば、TIP*を1クロック期間でニゲートし、
それからTIP*をトライステートする。主マスタ10
がバス・マスタシップを失うバス・サイクルでTIP*
がすでにニゲートに駆動されている場合、アドレス・バ
スがアイドル状態となる同じクロック期間でトライステ
ートされる。TIP*がニゲートに駆動される1クロッ
ク期間は、フル・クロック期間ではなく、1主マスタ1
0プロセッサ・クロック期間であることに留意された
い。このことは、バス化されたTIP*信号およびプロ
トコルを用いることは、外部バス・アービタがフル・バ
ス・スピード・システムでバス・マスタシップ切換をど
れだけ速く行うことができるかを制限する(これは1/
2または1/4スピード・バスでは問題にならない。な
ぜならば、最も速いバス・マスタシップ切換間では2な
いし4つの主マスタ10プロセッサ・クロック期間があ
るためである。)TIP*は1フル・クロック期間でニ
ゲートに駆動されるので、新たなバス・マスタがそのT
IP*信号をアサートし始めるのと同時に、主マスタ1
0がTIP*をニゲートに駆動することからTIP*を
トライステートとすることに切り換える場合に、TIP
*信号についてバス・ファイト(すなわち、バス競合)
がバス・マスタシップ切換で生じる。従来のプロセッサ
は、クロック期間の一部でのみTIP*をニゲートに駆
動するため、このファイト状態の可能性がない。しか
し、主マスタ10は、立ち上がりクロック・エッジにつ
いてすべての信号をサンプリングし、制御する。高周波
数およびフル・バス・スピードで最大の性能を発揮する
ためには、TIP*信号およびプロトコルは使用しては
ならず、あるいは少なくともTIP*信号をTIP*を
用いて他のバス・マスタとバス化してはならない。
【0029】図1は、リード/ライト(R/W*)信号
を示す。R/W*は、主マスタ10がバス・マスタであ
るときに、主マスタ10によって駆動される。R/W*
信号は、その後のデータ転送の方向(すなわち、データ
が主マスタ10に入る[リード]またはデータが主マス
タ10から出る[ライト])を示す。リード・バス・サ
イクル中にハイ(high)にアサートされ、ライト・バス・
サイクル中にロー(low) にアサートされる。R/W*信
号のタイミングは、アドレス・ラインと同じである。主
マスタがバス・マスタでないとき、R/W*信号はトラ
イステートされる。
【0030】アドレス信号は、主マスタ10がバス・マ
スタである(すなわちバスの所有権を有している)場合
に、主マスタによって主に出力され、バス転送の最初の
項目のアドレスを示す。アドレス信号は、好ましくは図
1において32ビット・バスを介して表されるが、図1
において他のサイズのアドレス・バスも利用できる。プ
ロセッサがバス・マスタでないが、代替マスタがバスの
所有権を有している際にアクセスをスヌープ(snoop) す
ることが許される場合、アドレス信号は、主マスタの内
部キャッシュの一致するエントリについてチェックし無
効にするために調べられる。
【0031】図1は、リセット・イン(Reset In)(RS
TI*)信号を使用する(ただし、RSTI*は図1に
は図示しない)。RSTI*のアサートにより、主マス
タ10はリセット例外処理に入る。RSTI*は、イネ
ーブルされた立ち上がりクロック(CLK)エッジをク
ロックするために同期された非同期入力である。RST
I*が認識されると、すべてのトライステート可能なピ
ンはトライステートされる。
【0032】図1は、クロック(CLK)信号を示す。
クロック信号(CLK)は、クロック発生回路16によ
って発生され、1つまたはそれ以上のクロックでもよ
い。
【0033】図1におけるデータ・ラインは、カレント
・トランザクションについてデータを伝送する双方向バ
ス信号である。伝送されるデータは、R/W*信号によ
って示されるように、リード動作またはライト動作のい
ずれかによる。バースト・バス・サイクル中に、データ
・ラインは時分割され、全バースト要求のすべての部分
を伝送する。
【0034】サイクル・ロングワード・アドレス(Cycle
Longword Address)(CLA*)信号は、バス・サイク
ル中にA[3:2](すなわち、3番目および4番目の
最下位アドレス・ビット)の動作を制御する。CLA*
がアサートされる各クロック・エッジの後で、各4つの
転送(A[3:2])のロングワード・アドレスは循環
的なラップアラウンド(circular wrap-around)方式でイ
ンクリメントする。CLA*がニゲートされると、A
[3:2]は変化せず、主マスタ10を含むプロセッサ
・ファミリにおける前回のバス・マスタと同様に、固定
されたままである。
【0035】図1は、開始肯定応答終了サンプリング(S
tart Acknowledge Termination Sam;ling)(SAS*)
信号を示す。SAS*は、クロック・イネーブド・クロ
ックの次の立ち上がりエッジから開始する終了肯定応答
信号(TA*,TEA*,TRA*)のサンプリングを
主マスタ10が開始することを示すステータス信号であ
る。SAS*は、無駄時間(dead time) を生成するため
に用いられ、ここでTA*,TRA*およびTEA終了
信号が必ずしも有効とならなくてすむように、TA*,
TRA*およびTEA*信号はサンプリングされない。
SAS*信号を介して無駄時間を利用することにより、
より高速なバス・スピードを利用できる。SAS*信号
については、以下でさらに説明する。
【0036】図1は、図を簡単にするために図1におい
て図示されていないIPL*[2:0]と記されたいく
つかのリセット・コンフィギュレーション信号を用い
る。主マスタ10のこれらの信号は、通常の使用から離
れたリセット時間で特殊な機能を有する。IPL*
[2:0]ラインはリセット時間中に用いられ、主マス
タ10についてバス動作の異なるモードをプログラムす
る。リセット中、IPL*[2:0]ライン上の論理レ
ベルは登録され、終了肯定応答無視ステート(terminati
on acknowledge ignore state)機能をイネーブル/ディ
セーブルするかどうかを決定する。また、IPL*
[2:0]ビットは、装置(part)が符号化ファミリ整合
TA*およびTEA*プロトコルを用いるか、未符号化
TA*,TRA*,TEA*終了肯定応答プロトコルを
用いるかを決定する。また、IPL*[2:0]は、エ
クストラ・データ・ライト・ホールド・モード(Extra D
ata Write Hold Mode)をイネーブル/ディセーブルする
かどうかを決定する。エクストラ・データ・ライト・ホ
ールド・モードにより、データ・ライン/データ・バス
(DataLines/Data Bus) 上のビットを通常よりも長く有
効に維持でき、プロセッサの性能を改善する。終了肯定
応答無視ステート機能がイネーブルされると、下位デー
タ・バス(D[15:0])もリセット時間中に登録さ
れ、主マスタ10内で適切な内部無視ステート・カウン
タを設定する。
【0037】以下に示す表は、IPL*[2:0]信号
によって提供されるリセット・コンフィグレーション機
能の詳細を示す。
【0038】 ビット ビットのステート 内容 IPL*[2] アサート エクストラ・データ・ライト・ホールド・モードをイ ネーブル IPL*[2] ニゲート エクストラ・データ・ライト・ホールド・モードをディ セーブル IPL*[1] アサート 未符号化TA*,TRA*,TEA*を使用 IPL*[1] ニゲート ファミリ整合の符号化TA*/TEA*を使用 IPL*[0] アサート 終了肯定応答無視ステートをイネーブル IPL*[0] ニゲート 終了肯定応答無視ステートをディセーブル
【0039】主マスタ10は、終了肯定応答無視ステー
ト機能を提供し、高周波数システム設計をより簡単にす
る。リセット・イン(RSTI*)がアサートからニゲ
ートされることに変化する直前の立ち上がりクロック・
エッジ中にIPL*[0]がアサートされると、このク
ロック・エッジ時間におけるD[15:0]の値は、主
マスタ10内の無視ステート・カウンタ・レジスタに登
録される。無視ステート・カウンタはバス・サイクル中
に用いられ、クロックのどの立ち上がりにおいて転送終
了肯定応答信号(TA*,TRA*,TEA*)を無視
するかサンプリングするかを決定する。ただし、システ
ム10において、他の転送終了ビットも利用できること
に留意されたい。主および副リード転送およびライト転
送について独立した無視ステート時間を与えるため、4
つの独自の4ビット・カウンタが用いられる。この点に
ついて、「主(primary) 」とは、非バースト・サイクル
におけるバイト,ワードまたはロングワード・サイズで
もよいバス・サイクルの最初で唯一の転送、またはバー
スト・サイクルの最初のロングワード転送を表す。「副
(secondary) 」とは、バースト・バス・サイクルにおけ
る最初の転送後のそれ以降の転送を示す。無視ステート
・カウンタ動作の詳細について以下の説明を参照された
い。
【0040】RSTI*がアサートからニゲートされる
ことに変化する直前の立ち上がりクロック・エッジ中に
IPL*[0]がアサートされなければ、D[15:
0]の値は無視され、無視ステート・カウント・レジス
タはゼロに初期化され、そのため終了肯定応答信号が無
視される時間はない。このことは、クロックの各立ち上
がりエッジにおいて終了肯定応答信号で有効レベルを必
要とした従来ののファミリ整合バスと全く同様に動作す
る縮退ケース(degenerate case) と考えることができ
る。以下の表は、主マスタ10内でさまざまな無視ステ
ート・レジスタをロードするために、データ・ラインD
[15:0]をどのようにして4つのニブル(nibble)に
解析するかを示す。
【0041】 データ・ニブル 無視ステート・カウンタ D[15:12] リード・サイクルの主無視ステート・カウンタ D[11:8] リード・サイクルの副無視ステート・カウンタ D[7:4] ライト・サイクルの主無視ステート・カウンタ D[3:0] ライト・サイクルの副無視ステート・カウンタ
【0042】終了信号(すなわち、TA*,TEA*ま
たはTRA*)についてサンプリングする際に無視ステ
ートを用いること、およびバス転送を終了するさまざま
な方法は、以下で説明するとおりである。
【0043】主マスタ10は、終了無視ステート機能を
提供し、高周波数システム設計をより簡単にする。リセ
ット・イン(RSTI*)がアサートからニゲートされ
ることに変化する直前の立ち上がりクロック・エッジ中
にIPL*[0]がアサートされると、このクロック・
エッジ時間におけるD[15:0]の値は、前述のよう
に、無視ステート・カウンタ・レジスタに登録される。
無視ステート・カウンタはバス・サイクル中に用いら
れ、クロックのどの立ち上がりエッジで、転送終了肯定
応答信号(TA*,TRA*,TEA*およびAVEC
*)を無視するかサンプリングするかを決定する。AV
EC*信号とは、割り込みベクトル番号の内部生成の要
求を示すため、割り込み肯定応答バス・サイクル中にT
A*と同時にアサートされるオートベクトル(Autovecto
r)信号である。主および副リード転送およびライト転送
について独立した無視ステート時間を与えるため、4つ
の独自の4ビット・カウンタが用いられる。この点につ
いて、「主(primary) 」とは、非バースト・サイクルに
おけるバイト,ワードまたはロングワード・サイズでも
よいバス・サイクルの最初で唯一の転送、またはバース
ト・サイクルの最初のロングワード転送を表す。「副(s
econdary) 」とは、バースト・バス・サイクルにおける
最初の転送後のそれ以降の転送を示す。各バス・サイク
ルの開始で、主無視ステート・カウンタおよび、もしサ
イクルがバースト・サイクルの場合、副無視ステート・
カウンタは、リードまたはライト・サイクルについて適
切な値で初期化される。初期カウント値は、リセット時
間(前の表を参照)でD[15:0]から無視ステート
・カウンタ・レジスタに登録された値である。バス・サ
イクルの開始で、主カウンタは、カウンタがゼロに達す
るまで、各立ち上がりクロック・エッジ(CLK)でデ
クリメントされる。カウンタがゼロに達する前の時間中
に、終了肯定応答信号は無視される(すなわち、サンプ
リングされない)。それぞれのカウンタがゼロに達する
と、終了肯定応答信号は、終了(TA*,TEA*また
はTRA*の1つまたはそれ以上)が検出されるまで、
各クロック・エッジ(CLKエッジ)でサンプリングさ
れる。
【0044】バースト・バス・サイクルの最初の転送に
ついて有効な終了が生じると、バス・サイクルのその後
のすべての転送について終了肯定応答信号を無視および
サンプリングするための時間期間を決定するために、副
カウンタが用いられる。この無視ステート機能は、たと
えアサートされてもあるいはまだ有効論理レベルで整定
していなくても、終了肯定応答信号を無視できる方法を
提供する。しかし、無視期間が経過し(すなわち、4ビ
ット・カウンタがゼロに達し)、主マスタ10がサンプ
リングを開始すると、スレーブ・デバイスは、適切な終
了肯定応答信号をニゲートに維持することによって、終
了肯定応答で応答しなくても済む。無視ステート期間の
全体と、主マスタがサンプリングを開始してからの終了
肯定応答遅延期間との和は、主マスタがスレーブ応答を
待つことで被る「待ちステート」の数に等しい。
【0045】この機能では、外部論理は、クロックの各
立ち上がりエッジで有効レベルを有する必要無しに、ク
ロック・エッジで、終了肯定応答信号(TA*,TRA
*および/またはTEA*)について有効レベルを導出
または与える時間を有する。よって、無視ステート機能
は、終了肯定応答信号をこれらが整定する時間中に無視
できるので、外部論理伝搬変化や伝送ライン反射リンギ
ング(transmission line reflection ringing)が問題と
なることを防ぐことにより、高周波数詞ステム設計をよ
り簡単にする。
【0046】主マスタ10の無視ステート機能は、終了
肯定応答信号がサンプリングされる特定の時間を決定す
る。無視ステート時間が経過し、主マスタ10が終了肯
定応答信号(TA*,TRA*,TEA*およびAVE
C*)をサンプリングしていると仮定すると、TCI*
修飾子(TCI*は、バス転送されたデータをキャッシ
ュすべきかどうかを決定するビットである)とともに終
了肯定応答信号は、転送肯定応答の種類を決定する。以
下に示す表は、装置が好適な肯定応答終了モード(Ackno
wledge Termination Mode)(x=いずれでもかまわない
(don't care)状態)で動作するときにスレーブ・デバイ
スによって与えられる転送終了肯定応答のさまざまな種
類を示す。
【0047】 TA* TRA* TEA* TCI* 内容 x x 0 x バス・エラー・トラップ付きバス・ サイクル終了 x 0 1 x リトライ付きバス・サイクル終了1 0 1 1 1 正常な転送肯定応答終了 0 1 1 0 キャッシュ禁止付き転送肯定応答 終了2 1 1 1 x カレント・バス転送で挿入待ち状態
【0048】1 リトライ肯定応答終了は、バス・サイク
ルの最初の転送でのみ可能である;もしTRA*がバー
スト・サイクルの最初の転送以外の任意の転送でアサー
トされると、これは無視される。
【0049】2 キャッシュ禁止(cache inhibit) 付き転
送肯定応答は、バースト・サイクルの最初の転送でのみ
可能である;もしTCI*がバースト・サイクルの最初
の転送以外の任意の転送でアサートされると、これは無
視される。
【0050】以下に示す別の表は、主マスタ10がファ
ミリ整合性のある肯定応答終了モードで動作するように
構築されたときのさまざまな終了肯定応答の意味を示
す。
【0051】 TA* TRA*1 TEA* TCI* 内容 1 1 0 x バス・エラー・トラップ付きバス・ サイクル終了 0 1 0 x リトライ付きバス・サイクル終了2 0 1 1 1 正常な転送肯定応答終了 0 1 1 0 キャッシュ禁止付き転送肯定応答 終了3 1 1 1 x カレント・バス転送で挿入待ち状態
【0052】1 リトライ肯定応答終了は、バス・サイク
ルの最初の転送でのみ可能である;もしTRA*がバー
スト・サイクルの最初の転送以外の任意の転送でアサー
トされると、これは無視される。
【0053】2 キャッシュ禁止(cache inhibit) 付き転
送肯定応答は、バースト・サイクルの最初の転送でのみ
可能である;もしTCI*がバースト・サイクルの最初
の転送以外の任意の転送でアサートされると、これは無
視される。
【0054】以下に示す別の表は、主マスタ10がファ
ミリ整合性のある肯定応答終了モードで動作するように
構築されたときのさまざまな終了肯定応答の意味を示
す。
【0055】 TA* TRA*1 TEA* TCI* 内容 1 1 0 x バス・エラー・トラップ付きバス・ サイクル終了 0 1 0 x リトライ付きバス・サイクル終了2 0 1 1 1 正常な転送肯定応答終了 0 1 1 0 キャッシュ禁止付き転送肯定応答 終了3 1 1 1 x カレント・バス転送で挿入待ち状
【0056】1 ファミリ整合性のある肯定応答終了モー
ドでは、TRA*はバス・サイクル中に絶えずニゲート
しなければならない。
【0057】2 リトライ肯定応答終了は、バス・サイク
ルの最初の転送でのみ可能である;もしTA*またはT
EA*がバースト・サイクルの最初の転送以外の任意の
転送でともにアサートされると、あたかもエラー肯定応
答が戻されたようにバス・サイクルは即座に終了され
る。
【0058】3 キャッシュ禁止付き転送肯定応答は、バ
ースト・サイクルの最初の転送でのみ可能である;もし
TCI*がバースト・サイクルの最初の転送以外の任意
の転送でアサートされると、これは無視される。
【0059】バイト,ワードまたはロングワード・バス
動作では、バス・サイクルは、TA*,TRA*または
TEA*の最初で唯一のアサートで終了される。バース
ト・バス・サイクル転送では、バス・サイクルは、正常
な肯定応答についてはTA*の最後(4番目)のアサー
トで終了され、バス・サイクルの最初の転送中にリトラ
イのアサート(TRA*は好適なバス・プロトコル・モ
ードで利用可能であるが、ファミリ整合性のある肯定応
答終了モードでは利用できない;ファミリ整合性のある
モードでTRA*を実行するためには、TA*をニゲー
トし、TEA*をアサートする)で終了され、あるいは
異常肯定応答について転送エラー肯定応答のアサート
(TEA*は好適な肯定応答終了モードにおける任意の
転送でアサートされる;TA*およびTEA*は、ファ
ミリ整合性のある肯定応答終了モードでは最初の転送以
外の任意の転送中にアサートされる)で終了される。待
ちステート待ちステートは、TA*,TRA*またはT
EA*のいずれかの終了肯定応答が主マスタ10によっ
て認識されるまで、バス転送で生じる。
【0060】TCI*入力は、ライン・リード・バス・
サイクル転送のキャッシュ可能なことを示す修飾子であ
り、主マスタ10が終了肯定応答信号をサンプリングし
ている際にTA*の最初のアサートで有効でなければな
らない。TCI*は、バースト・バス・サイクルのTA
*の最初のアサート以降は、主マスタ10によって無視
され、非バースト・リード・サイクルおよびすべてのラ
イト・バス・サイクルでは完全に無視される。TCI*
は、バースト・バス・サイクル転送の長さに全く影響を
与えない;4つのロングワードは、異常転送肯定応答が
戻されなければ、常に転送される。
【0061】主無視ステート設定が0と仮定すると、T
A*,TRA*およびTEA*は、TS*以降のクロッ
ク・エッジがバス・サイクルの開始でアサートされるま
で、プロセッサによって無視される。バス・サイクルが
終了した後、TA*,TRA*およびTEA*も無視さ
れる。
【0062】SAS*は、システム・デバッグ用の援助
として与えられるステータス信号であるが、無視ステー
ト・カウンタの設定を越えた終了肯定応答信号を容易に
生成するためにも利用できる。スレーブ・デバイスがバ
ス・サイクル全体について特定の終了肯定応答信号を単
純にアサートするシステムでは、SAS*は、主マスタ
10が終了肯定応答信号およびデータをサンプリング開
始するときのクロック・エッジを決定するために利用で
きる。
【0063】また、SAS*は、バス・サイクル全体に
ついて終了肯定応答をアサートしないことが好ましいシ
ステムにおいて、終了肯定応答信号を実際に生成するた
めに利用できる。SAS*がアサートされる時間は無視
ステート・カウンタ設定によって決定されるので、SA
S*は適切な主マスタ10終了肯定応答信号(例えば、
TA*)に対して直接戻すことができるか、あるいはn
長のシフト・レジスタを介して主マスタ10にTA*信
号として戻して、シフト・レジスタの深さが発生する待
ちステートの数を決定することができる。これは、無視
ステート・カウントの制限を越えた適切な終了肯定応答
信号の生成のための簡単な機構を提供し、ゼロから無視
ステート・カウント制限を越えた追加待ちステートの無
限の数まで与えることができる。
【0064】SAS*は、ロングワード・オフセット
(A[3:2])を自動的にサイクルするため、CLA
*入力に直接フィードバックすることさえできる。より
高性能なDRAM設計のため、無視ステート設定を調整
して、実際のTA*がアサートされる前にSAS*に1
つのクロック・エッジをアサートさせて、ロングワード
・オフセットを自動的にサイクルすることができる。
【0065】正常に終了する転送では、TA*は応答側
スレーブによってアサートされ、TEA*,TRA*お
よびTCI*はニゲートされたままである。エラー指示
で終了しなければならない転送では、TEA*は応答側
スレーブによってアサートされ、TRA*,TA*およ
びTCI*は、もし主マスタ10が好適な肯定応答終了
モードである場合には、主マスタ10プロセッサによっ
て無視される。主マスタ10がファミリ整合性のある肯
定応答終了モードである場合には、任意の転送でアサー
トされたTEA*およびニゲートされたTA*、または
最初の転送後の任意のそれ以降の転送でアサートされた
TEA*およびアサートされたTA*の結果、エラー肯
定応答指示付きの転送終了が生じる。エラー肯定応答が
バースト・バス・サイクルの最初のデータ転送でアサー
トされると、バースト動作全体が中断され、バス・エラ
ー例外がとられる。しかし、エラー肯定応答がバースト
・バス・サイクルのその後の転送でアサートされると、
エラー指示に関する特定のデータを用いる試みが主マス
タ10によって実際に行われたかどうかに応じて、バス
・エラー例外はとられたり、とられなかったりする。す
なわち、エラー肯定応答に関するデータを実際に用いる
試みが主マスタ10によって行われた場合に限り、バス
・エラー例外はとられる。また、エラー肯定応答の応答
はバースト・バス・サイクルの以前に転送されたロング
ワードのエラー・ステータスに影響しない。しかし、エ
ラー肯定応答の応答は、ライン・リードでキャッシュ更
新を阻止する。
【0066】装置が好適な肯定応答終了モードで動作し
ているならば、スレーブは、TEA*をアサートせずに
TRA*をアサートすることにより、バス・サイクルの
リトライの必要性を指示する。装置がファミリ整合性の
ある肯定応答終了モードで動作している場合、TEA*
およびTA*を同時にアサートすることは、リトライ肯
定応答を示す。リトライ肯定応答は、バス・サイクルの
最初の転送でのみ可能である。転送がバイト,ワード,
ロングワードまたはバースト・サイクルの最初のロング
ワードであるかに関わりなく、主マスタ10は、プロセ
ッサの内部ステートに応じてバス・サイクルをリトライ
したりリトライしなかったりする。バースト・バス・サ
イクルのその後の転送でリトライ肯定応答がアサートさ
れると、主マスタ10は、もし好適な肯定応答終了モー
ドである場合には、リトライ要求を無視する;また、フ
ァミリ整合性のある肯定応答終了モードである場合に
は、エラー肯定応答されたものとしてバス・サイクルを
即座に終了する。リトライ肯定応答のアサートで終了す
るバス・サイクルでは、キャッシュは更新されない。ロ
ックされたシーケンスの任意の部分はリトライできる。
【0067】図1のバス・プロトコルは、サイクル・ロ
ングワード・アドレス(Cycle Longword Address)(CL
A*)機能も有する。主マスタ10は、CLA*入力信
号によって制御されるサイクル・ロングワード・アドレ
ス機能を提供する。CLA*は、バス・サイクル中にA
[3:2]のサイクリング/非サイクリングを制御す
る。転送開始(Transfer Start)(TS*)がアサートさ
れたクロック期間後の任意のときにバス・サイクル中の
任意のクロック・エッジでCLA*をアサートすること
により、ロングワード・アドレスは、バス・サイクルが
完了するまでアサートされる度に、循環的なラップアラ
ウンド方式でインクリメントする。循環的なラップアラ
ウンド方式とは、ビットA[3:2]が、00,01,
10,11,00,01,...の順序でサイクルする
ことを意味する。ただし、ビットA[3:2]は00状
態から開始する必要はないことに留意されたい。バス・
サイクル中にCLA*がニゲートされると、A[3:
2]はバス・サイクルの期間を通じてその値で固定され
たままである。CLA*は、バースト機能は行うことが
できないが一度に1つのロングワードを転送しなければ
ならないスレーブによって、バースト・バス・サイクル
をサポートすることを助ける。2つ異常のロングワード
をバス・サイクル内で転送する必要があるときに、バー
スト・バス・サイクルは利用される。また、CLA*
は、DRAMがデータを転送しこの転送を肯定応答する
前のクロックでロングワード・オフセットをサイクルす
ることを利用できる特定の高速DRAMシステムで役立
つ。
【0068】図1のシステムは、上で十分開示された
が、図1で用いられるバス・プロトコルについて理解を
深めるため、いくつかのタイミング図および更なる説明
を以下で行う。図1で示されるバス・プロトコルのサイ
クル・ロングワード・アドレス(CLA*)機能につい
て以下でさらに説明する。
【0069】図1におけるCLA*制御信号は、バス・
マスタによって与えられるロングワード・アドレスをサ
イクルするため外部循環カウンタを構築せずに、プロセ
ッサまたはバス・マスタを同期ランダム・アクセス・メ
モリ(RAM)と利用することを可能にする。また、C
LA*信号は、バス・マスタに対して外部から与えられ
るロングワード・アドレスをあらかじめサイクルするた
めに、ダイナミック・ランダム・アクセス・メモリ(D
RAM)と利用できる。CLA*信号は、プロセッサが
同期RAMと用いられる場合に、外部ロングワード・ア
ドレス・サイクル回路の必要性を緩和するために用いら
れる。また、CLA*信号は、特定のDRAM構成につ
いてデータ転送ごとに1クロックを節約するために用い
られる(ロングワード・アドレスは、DRAMシステム
が転送肯定応答(TA*)信号を戻す前に、1クロック
だけあらかじめインクリメントでき、それにより1クロ
ック・サイクルを節約できる)。
【0070】CLA*信号は、CLA*入力がアサート
される度に、ロングワード・アドレス・ビットA[3:
2]をサイクル(またはインクリメント)する機能を外
部ハードウェアに与える。主マスタ10が通常ロングワ
ード・アドレスを固定に保持するバースト・バス・サイ
クル中に、プロセッサに循環的にA[3:2]をインク
リメントさせるためにCLA*をアサートすることがで
き、この動作を外部ハードウェアで完全に制御させるこ
とが可能である。一般に、CLA*入力は転送肯定応答
(TA*)信号に接続され、この信号はカレント転送が
完了したことをプロセッサに指示する。CLA*に接続
されたTA*のこの外部接続について、ロングワード・
アドレスは容易にインクリメントでき、よって主マスタ
10を同期RAMにインタフェースすることができる。
【0071】TA*がアサートされる1クロック前にC
LA*がアサートされると、TA*がアサートされデー
タが転送される前に、ロングワード・アドレスは1クロ
ック進められる。このようにCLA*を利用することに
より、ページ・モードDRAMをプロセッサにインタフ
ェースすることができ、高速データ転送レートを実現す
る。従って、DRAMは行アドレス(row address) をす
でに内部ラッチしており、プロセッサは次のロングワー
ド(またはDRAM用語では、次の列アドレス(column
address))をすでに設定し、次のアクセスについてDR
AMにインデックスしており、一方、前のアドレス指定
されたデータはプロセッサとDRAMとの間で転送され
ているので、この種のメモリで転送ごとに1クロックを
節約することが可能である。これは、この種のDRAM
システムの性能を向上させるパイプライン効果(pipelin
e effect) である。
【0072】また、主マスタ10は内部カウンタを与
え、このカウンタは、外部ハードウェアを必要とせずに
この動作を自動的に行うためCLA*に接続できる出力
ピンをアサートするように構成できる。図2は、CLA
*をアサートせずに、バースト転送を行う同期主マスタ
・バスの動作の一例を示す。図3は、バースト・バス・
サイクル中のさまざまな時間でCLA*がアサートされ
ている、バースト転送を行う同期主マスタ・バスの動作
の一例を示す。CLA*がアサートされたときのA
[3:2]の動作に留意されたい。CLA*がアサート
されると、アドレス・ビットA[3:2]は、図3に示
される4つのバイナリ・ステートを介して循環的にサイ
クルまたはインクリメントする。図3のバースト・バス
・サイクルは、図示のように4つの異なる可能性のある
ロングワード・データを転送することを目的とする。A
[3:2]ビットをインクリメント/変更することは、
単純なバイナリ・インクリメント,グレースケール・イ
ンクリメント(gray scale increment)またはバイナリ値
11,10,01,00を循環する任意のステート・マ
シンでもよいことに注目することが重要である。図2
は、CLA*ビットがアサートされなければ、ビットA
[3:2]はバースト・バス・サイクルを通じて同じ値
を維持することを示す。
【0073】図4は、主マスタ10をDRAMメモリに
インタフェースするためにCLA*信号をどのように用
いるかを示すタイミング図である。CLA*を利用する
ことは、循環的なラップアラウンド・インクリメント機
能を提供するために外部カウンタまたはグルー論理(glu
e logic)を設計する必要を省き、よって循環的なラップ
アラウンド・インクリメント・タスクを簡単にする。極
めて高い周波数では、オン・オフ・チップ遅延のため、
この循環的なラップアラウンド機能を提供するために外
部論理を構築することは、不可能ではないにしても、困
難である。
【0074】さらに、CLA*を主マスタ10に対する
または主マスタ10からのさまざまな信号に適切に接続
することにより、図3に示すCLA*のアサートおよび
ニゲート、ならびにビットA[3:2]のインクリメン
トは自動化できる。CLA*信号は、外部論理から内部
にロングワード・アドレスをサイクルする負担を外部論
理から主マスタ10の内部に移し(外部論理の観点から
自動的である)、外部カウンタまたはグルー論理(これ
らは一般に性能の妨げとなる)を必要としない。要する
に、CLA*は、ロングワード・アドレスのサイクルお
よびプリサイクルを自動化し、より高い性能を発揮し、
従来の外部グルー論理で得られるものよりも高いバス周
波数を利用することを可能にする。
【0075】SAS*信号を図5に示す。SAS*は、
主マスタ10がデータをサンプリングまたは変更し、転
送肯定応答(TA*,TEA*およびTRA*)をサン
プリングするときを指示できる従来の問題点を解決する
ために用いられる。また、SAS*信号は、バースト転
送中にロングワード・アドレスを自動的にサイクルする
ための解決を提供し、主マスタ10の無視ステート・カ
ウントがなくなった(すなわち、ゼロまでデクリメント
した)後に転送肯定応答を生成する方法を提供する。S
AS*信号は、外部論理にとって未知である転送肯定応
答タイプの入力のサンプリングを主マスタ10が開始す
る時間を指示する。さらに、この機構は、主マスタ10
のあらかじめ構成された無視ステート設定を越えて転送
肯定応答を生成するために利用でき、またバースト転送
中にロングワード・アドレスをあらかじめサイクルする
ためにサイクル・ロングワード・アドレス(CLA*)
入力に結合できる。
【0076】主マスタ10は、内部無視ステート・カウ
ンタがゼロまでカウント・ダウンして、主マスタ10に
転送肯定応答タイプの入力のサンプリングを開始させる
ことを示す、無視(転送肯定応答タイプの入力)ステー
ト機能を内蔵する。無視ステート・カウンタがゼロに達
すると、開始転送肯定応答サンプリング(Start Transfe
r Acknowledge Sampling) (SAS*)出力は1クロッ
ク期間でアサートされる。TA*が絶えずアサートされ
る自動転送肯定応答モードで主マスタ10が動作するよ
うに構成されている場合、SAS*信号によることを除
いて、いつ主マスタ10が肯定応答入力のサンプリング
を開始するか、あるいはリードまたはライト動作のため
にデータのサンプリングまたは変更を開始するかについ
て外部指示はない。SAS*信号の目的は、自動転送肯
定応答を内蔵するシステムについてデータが実際に転送
され肯定応答されたときを外部指示することである。S
AS*信号は、主マスタ10を利用して新たなシステム
設計のデバッグを助ける。さらに、SAS*出力は、主
マスタ10上でCLA*入力に直接入力でき、ロングワ
ード・アドレス(A[3:2])をあらかじめサイクル
したりサイクルし、外部グルー論理またはカウンタを必
要とせずに、DRAMまたはSRAMに対して自動ロン
グワード・アドレス・インクリメントを行う。また、S
AS*は1つまたはそれ以上の連結されたDフリップフ
ロップを介して登録することができ、無視ステート・カ
ウント値の範囲を超えた転送肯定応答を容易に生成でき
る。
【0077】図5は、SAS*機構を具体的に示す。図
5をわかりやすくするために、無視ステート(Ignore St
ate)時間,サンプル期間(Sample Period) 時間およびい
ずれもかまわない(Don't Care)状態を示すため、いくつ
かの長方形の斜線部が用いられる。図5において、文字
「I」を含むクロック(CLK)エッジ上にある小さな
正方形は、終了肯定応答タイプの入力がサンプリングさ
れずに無視される、無視ステート・クロック・エッジを
表す。図5において、文字「S」を含むクロック・エッ
ジ上の小さな正方形は、終了肯定応答タイプの入力がサ
ンプリングされる、サンプル・ステート・クロック・エ
ッジを表す。各バス・サイクルには「BC#」ラベルが
付されており、ここで「#」は、特定のバス・サイクル
を本文中で参照できるための数値(すなわち、1,2,
3など)である。RISS(ReadIgnore State Setting)
またはWISS(Write Ignore State Setting)値を有
する小さな長方形は、無視ステート設定(Ignore State
Setting)を示すために用いられる。例えば、「2P1
S」というRISS値は、前述のように、リード・サイ
クルについて、主無視ステート(Primary Ignore State)
が2クロックに設定され、副無視ステート(Secondary I
gnore State)が1クロックに設定されることを表すため
に用いられる。
【0078】図5における2つのバス・サイクルのそれ
ぞれは、ASR(Actual Slave Response) 値を有する小
さな長方形を有し、無視ステート設定とは異なることが
あるスレーブの実際の応答を示す。5−1−1−1とい
うASR値は、データが転送される前に、スレーブが4
つの主待ちステートでバースト・アクセスに応答し、そ
の後のすべての転送では、待ちステートが0であること
を示す。
【0079】図5において、ライン・プッシュ・バース
ト・サイクル(BC1)と、それに続いてライン・リー
ド・バースト・バス・サイクル(BC2)を示す。バス
・サイクル1(BC1)は、TA*がすべてのバースト
でアサートされ、TA*のサンプリングが内部無視ステ
ート設定で制御された、ライン・プッシュ・バス・サイ
クルの一例である。斜線の縦方向の領域は、小さな正方
形に「I」と記されたクロック・エッジ上に示された無
視期間である。斜線のない領域は、小さな正方形に
「S」と記されたクロック・エッジ上に示されたサンプ
ル期間であり、転送肯定応答信号(TA*,TRA*,
TEA*)が、これらの信号(TA*,TRA*,TE
A*)自体が実際にアサートされていなくても(すなわ
ち、待ちステートを挿入するためにニゲートされていて
も)、主マスタ10によってサンプリングされることを
示す。
【0080】図5のバス・サイクル2(BC2)は、T
A*が内部無視ステート設定を越えた過剰な待ちステー
トでアサートされた、リード・バースト・バス・サイク
ルの一例である。特に、SAS*の動作に留意された
い。バス・サイクル1では、TA*は連続的にアサート
され、SAS*は、転送肯定応答(TA*)信号がサン
プリングされるとき、およびデータD[31:0]が有
効でその後変化するときを表す。バス・サイクル2で
は、ここでもSAS*は、転送応答信号(TA*,TR
A*,TEA*)がサンプリングされ始めるときを表す
が、このサイクル(BC2)では、無視ステート・カウ
ンタがゼロに達した後(すなわち、SAS*がアサート
された後)、外部論理が転送肯定応答をアサートするこ
とに留意されたい。
【0081】図6は、システム10がページ・モードD
RAMとともに使用されたときにより高いシステム性能
を発揮するため、SAS*が主マスタのCLA*入力に
接続された場合のバス・サイクル挙動を示す。データが
実際に転送される1クロック前にロングワード・アドレ
スをSAS*にあらかじめサイクルさせることにより、
高性能が実現される。
【0082】図7において、従来のプロセッサは、内部
待ちステート発生器のステータスを示すために用いられ
るWAIT信号を与えるが、このWAIT信号は、内部
待ちステート発生器が待ちステートを発生している時間
全体でアサートされるが、待ちステートがREADYま
たはBTERM信号によって発生されているときにはア
サートされない。WAITは転送の前または転送の間の
数クロックでニゲートできるが、ロングワード・アドレ
スをサイクルしたり、あるいは無視ステート・カウント
がなくなった後(すなわちゼロまでデクリメントした
後)に生じる転送肯定応答を生成するためにSAS*を
利用するのと同じように、WAITは利用できない。図
7は、従来のプロセッサにおけるWAIT信号の動作を
示す。WAIT信号の従来の動作は、図5ないし図6の
SAS*信号とは全く異なることに留意されたい。例え
ば、図5ないし図6におけるSAS*信号は、WAIT
信号と違って、データ転送ごとに最大1クロック期間で
のみアサートされる。図1のバス・プロトコルにSAS
*信号を取り入れることにより、外部論理の低減が可能
になり、より高いバス周波数の利用が可能になる。
【0083】図8は、データ処理システムにおいて、前
に説明したCLA*機能を実行するために用いられるシ
ステムをより詳細に示す。図8は、主マスタ10または
代替マスタ12のいずれでもよいプロセッサ18を示
す。スレーブ・デバイス/代替マスタ/メモリ22は、
プロセッサ18が交信する任意の周辺デバイスである。
クロック発生回路16は、図1および図8において示さ
れ、プロセッサ18およびスレーブ・デバイス22の内
部クロック(CLK)を発生するために用いられる。入
力バッファ28は、内部クロック(CLK)信号を与え
るために用いられる。バス制御論理回路20は、循環カ
ウンタ24のロードを制御するために用いられる。
【0084】図8において、循環カウンタ24は、図示
のように、内部アドレスのアドレス・ビットを循環的に
サイクルするために用いられる。好適な形態では、カウ
ンタ24は、外部から与えられたCLA*信号に応答し
て、ビットA[3:2]のみをサイクルする。出力バッ
ファ26は、プロセッサ18に対して外部のアドレス・
ビットを与え、入力バッファ30は、CLA*信号をカ
ウンタ24に与える。図1のアドレス・バス,データ・
バスおよび制御バスは、図8の下に示される。CLA*
信号は、3つの可能な方法のうち1つでプロセッサ18
に対して外部接続される。これらの3つの方法は、「可
能な接続(possible connection) 」と記された領域にお
ける点線で示される。3つの可能な接続の1つは、ず8
においてCLA*信号を生成するため必要である。
【0085】図9において、CLA*機能がどのように
動作するかを示すためフロー図が用いられる。図9の右
側のボックスまたはステップは、プロセッサ18または
主マスタ10によって実行される。図9の左側のボック
スまたはステップは、好ましくは代替マスタ,周辺デバ
イス,メモリなどの外部デバイスによって実行される
が、プロセッサ18または主マスタも、図示のように図
9の右側のステップを実行してもよい。
【0086】図9において、プロセッサ18は、ステッ
プ40において、循環カウンタ24をアドレス・ビット
の初期グループでロードする。次に、プロセッサ18
は、データ処理システム内のバス・サイクルを開始す
る。バス・サイクルは、例えば、TS*信号のアサート
で開始してもよい。ステップ42において、外部デバイ
スはバス・サイクルの開始を検出する。2つ以上のデー
タ値が順次バースト方式で読み出しまたは書き込みされ
る場合、ステップ44において、CLA*信号は任意の
回数で順次にアサートおよびデアサートされる。プロセ
ッサ18は、CLA*信号のアサートを検出し、ステッ
プ46においてカウンタ24内のアドレス・ビットを循
環的にインクリメントまたはサイクルする。CLA*が
アサートされていない場合、プロセッサ18はカウンタ
24内のアドレス・ビットを変更しない。すべてのデー
タが特定のバス・サイクルで交信されると、バス・サイ
クルはステップ48で終了する。
【0087】図10は、データ処理システムにおいて開
始肯定応答終了サンプリング(SAS*)機能を実行す
るために用いられるシステムを示す。図10は、リセッ
ト時にデータ処理システムに対して内部のレジスタ50
にロードするデータ入力ラインD[15:0]を示す。
レジスタ50のイネーブル信号は、リセット時にレジス
タ50をデータ・バスD[15:0]からロードするこ
とを可能にする。レジスタ50は、部分50a〜50d
と記された4つの4ビット部分に分割される。部分50
aはPRISS(primary read ignore state settings)
と記され、これは主リードについて無視ステート・クロ
ック・サイクルの数を決定するため、部分50aに格納
された4ビット値が用いられることを意味する。部分5
0bはSRISS(secondary read ignore state setti
ngs)と記され、これはバースト・バス・サイクルにおけ
る主リードの後に生じるリードである副リードについ
て、無視ステート・クロック・サイクルの数を決定する
ため、部分50bに格納された4ビット値が用いられる
ことを意味する。部分50cはPWISS(primary wri
te ignore state settings) と記され、これは主ライト
・バス動作について無視ステート・クロック・サイクル
の数を決定するため、部分50cに格納された4ビット
値が用いられることを意味する。最後に、部分50dは
SWISS(secondary write ignore state settings)
と記され、これは副ライトについて無視ステート・クロ
ック・サイクルの数を決定するため、部分50dに格納
された4ビット値が用いられることを意味する。図10
のカウント値について4ビット以上または以下でもよい
ことに留意されたい。
【0088】図10において、4対1の4ビット幅マル
チプレクサ(MUX)52は、入力として、レジスタ5
0からの4つの4ビット値を有する。セレクタ入力R/
W*およびTS*は、4つの部分50a〜50dのどれ
が4対1の4ビット幅MUX出力として選択されるかを
決定する。4対1の4ビット幅MUX出力は、カウンタ
54の入力に接続される。カウンタ54は、4対1の4
ビット幅MUX52によって与えられる値からゼロまで
カウントダウンするために用いられる4ビット・カウン
タである。カウンタ54は、QTA*(qualified tran
sfer acknowledge[内部信号])と、EOBC(end of
bus cycle [内部信号])と、TS*(transfer star
t [内部信号])との関数であるロード信号(LOA
D)に基づいてロードされる。クオリファイド転送終了
信号は、信号が無視されないことを意味し、アンクオリ
ファイド信号は無視される信号である。カウンタ54が
ロードされる時間から、カウンタ54がゼロに達する時
間まで、TA*,TRA*およびTEA*信号は無視さ
れる(すなわち、無視ステートがアクティブである)。
これらの信号は、ディセーブルされたクオリファイ・イ
ネーブル信号を介して無視され、この信号はTA*信
号,TRA*信号,TEA信号および任意の他の終了信
号をディセーブルする。カウンタ54がゼロに達する
と、SAS*信号はワンショット・パルス方式でアサー
トされ、SAS*は出力バッファ56を介してプロセッ
サに対して外部から与えられる。SAS*がアサートさ
れると、TA*,TRA*およびTEA*信号のサンプ
リングが開始する。
【0089】SAS*信号がアサートされると、クオリ
ファイ・イネーブル信号(QE)はアサートされ、QT
A*,QTEA*および/またはQTRA*信号の少な
くとも1つがアサートされるまで、図10に示すように
TA*,TEA*およびTRA*入力をクオリファイド
信号QTA*,QTRA*およびQTEA*にクオリフ
ァイするためアサートされ続ける。
【0090】図11は、前述のSAS*機能および無視
ステートのフロー図を示す。図11の右側のボックスま
たはステップは、図10のプロセッサ51または図1の
主マスタ10によって実行される。図11の左側のボッ
クスまたはステップは、好ましくは代替マスタ,周辺デ
バイス,メモリなどの外部デバイスによって実行される
が、プロセッサ18または主マスタ10も、図示のよう
に、図11の右側のステップを実行できる。
【0091】図11は、データ処理システム内のどこで
もリセットが生成されるステップ58を示す。ステップ
60において、リセットが検出され、レジスタ50はデ
ータ・バスD[15:0]からロードされる。ステップ
62において、プロセッサ51はバス・サイクルを開始
し、バス・サイクルの種類および実行されるデータ転送
に基づいて、レジスタ50からの適切なカウントでカウ
ンタ54をロードする。ステップ64において、外部デ
バイスはバス・サイクルが開始することを検出する。ス
テップ66において、カウンタ54は各クロック・サイ
クル(すなわち、好ましくはクロック・サイクルの立ち
上がりエッジ)でデクリメントされ、カウントをゼロに
向けてデクリメントする。カウント値0に達すると、S
AS*はプロセッサ51によってアサートされ、終了肯
定応答信号(TA*,TRA*,TEA*)をイネーブ
ルするために、ステップ68において外部デバイスによ
ってSAS*は検出できる。外部デバイスがバス・サイ
クルを終了する準備ができると、ステップ68におい
て、TA*,TRA*およびTEA*信号の少なくとも
1つは外部デバイスによってアサートされる。ステップ
70において、プロセッサ51はTA*,TRA*およ
びTEA*信号のサンプリングを開始し、転送終了信号
の1つがアサートされるのを待つ。バス・サイクルにバ
ースト・バス転送がある場合、ステップ72および74
は多数のアドレスおよび多数のデータ値を転送するため
に用いられ、ステップ68と同様なステップ76が外部
デバイスによって実行される。バス・サイクルのすべて
のデータが転送されると、バス・サイクルは終了する。
【0092】以上、特定の実施例を参照して本発明につ
いて図説してきたが、更なる修正や改善が当業者に想起
される。例えば、CLA*信号は他のアドレスビットま
たは2以上または以下の数のアドレス・ビット(例え
ば、A[0:1],A[2:4],A[2]など)を循
環ラップまたはインクリメントするように設計できる。
本明細書では、例えば、ロングワード・アドレスAF2
4(16進数)とAF28(16進数)とが1ロングワ
ード値だけアドレス・ビット(すなわち、アドレス空
間)が異なるため、AF24をAF28と比較すると
き、2つのアドレスはアドレス空間で隣接する。AF2
4とAF2Bは、アドレス空間でこの2つのアドレスを
分ける2つ以上のロングワードがあるので、直接隣接し
ない。また、バス転送終了ビットだけでなく、マイクロ
プロセッサへの任意の入力に対しても無視ステートを利
用できる。よって、本発明は図示の特定の形態に限定さ
れず、特許請求の範囲は本発明の精神および範囲から逸
脱しないあらゆる修正を含むものとする。
【図面の簡単な説明】
【図1】本発明によるバス・プロトコルを構築するため
に用いられるシステムのブロック図である。
【図2】本発明による、ロングワード・アドレスがサイ
クルされないことを指示するために用いられるバス・プ
ロトコルのタイミング図である。
【図3】本発明による、ロングワード・アドレスがサイ
クルされることを指示するために用いられるバス・プロ
トコルのタイミング図である。
【図4】本発明による、バス所有権終了信号(TRA
*,TA*,TEA*)のサンプリングが遅延され、こ
の遅延期間後にサンプリングが制御信号(SAS*)を
介して指示されるバス・プロトコルのタイミング図であ
る。
【図5】本発明による、バス所有権終了信号(TRA
*,TA*,TEA*)のサンプリングが遅延され、そ
の後制御信号(SAS*)を介してイネーブルされるバ
ス・プロトコルのタイミング図である。
【図6】本発明による、サイクル・ロングワード・アド
レス(CLA*)機能,スタート肯定応答サンプリング
(SAS*)および肯定応答サンプリングにおける遅延
(すなわち、無視ステート)のタイミング図である。
【図7】図1〜図6のバス・プロトコルの利点のない従
来のバス・プロトコルのタイミング図である。
【図8】本発明による、データ処理システム内でサイク
ル・ロングワード・アドレス(CLA*)機能を提供す
るために用いられるシステムのブロック図である。
【図9】図8のデータ処理システムにおいてサイクル・
ロングワード・アドレス(CLA*)機能を実行するた
めの処理を示す状態フローチャートである。
【図10】本発明による、データ処理システム内で開始
肯定応答終了サンプリング(SAS*)を与えるために
用いられるシステムのブロック図である。
【図11】図10のデータ処理システムにおいて開始肯
定応答終了サンプリング(SAS*)機能を実行するた
めの処理を示す状態フローチャートである。
【符号の説明】 10 主マスタ 12 代替マスタ 14 バス・コントローラ/アービタ 16 クロック発生器 18 プロセッサ 20 バス制御論理回路 22 スレーブ・デバイス/代替マスタ/メモリ 24 循環カウンタ 26 出力バッファ 28 入力バッファ 30 入力バッファ 50 内部レジスタ 51 プロセッサ 52 マルチプレクサ 54 カウンタ
フロントページの続き (72)発明者 ジェファーソン・エル・ゴキンゴ アメリカ合衆国テキサス州オースチン、ア ルタ・ロマ・ドライブ4704 (72)発明者 ジョン・ピー・ハンセン アメリカ合衆国テキサス州オースチン、オ リンピック・オーバールック6204

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 バースト・バス・サイクル中にデータ・
    プロセッサ(10)の外部アドレスを制御する方法にお
    いて、データ・プロセッサとこのデータ・プロセッサに
    対して外部の回路((12)または(11))との間で
    複数のデータ値が順次転送され、前記データ・プロセッ
    サは前記データ・プロセッサに対して外部の前記回路に
    よって生成された制御信号を受ける外部入力を有する方
    法であって: (a)前記データ・プロセッサに結合された外部バスを
    介して、前記データ・プロセッサに対して外部の基底ア
    ドレスを与える段階であって、前記基底アドレスは、N
    を2以上の有限整数として、Nビットを有する段階; (b)前記外部入力に入力される第1被アサート制御信
    号を、前記データ・プロセッサに対して外部の前記回路
    を介して受ける段階; (c)前記基底アドレスのMビットのみを変更して別の
    アドレスを生成する段階であって、この別のアドレスは
    前記基底アドレスから導出され、前記基底アドレスとは
    等しくなく、前記第1制御信号のアサートに応答して、
    前記データ・プロセッサに対して内部の回路を介して生
    成され、MはNよりも小さいが0よりも大きい有限整数
    である段階;および (d)所定の回数だけ段階(b)および(c)を繰り返
    す段階;によって構成されることを特徴とする方法。
  2. 【請求項2】 バースト・バス・サイクル中にデータ・
    プロセッサの外部アドレスを制御する方法において、デ
    ータ・プロセッサとこのデータ・プロセッサに対して外
    部の回路との間で複数のデータ値が順次転送され、前記
    データ・プロセッサは前記データ・プロセッサに対して
    外部の前記回路によって生成された制御信号を受ける外
    部入力を有する方法であって: (a)前記データ・プロセッサに結合された外部バスを
    介して、前記データ・プロセッサに対して外部の基底ア
    ドレスを与える段階であって、前記基底アドレスは、N
    を5以上の有限整数として、Nビットを有し、前記基底
    アドレスは、最上位ビット桁A[N−1]と最下位ビッ
    ト桁A[0]とを有する段階; (b)前記基底アドレスに相当するメモリ番地からデー
    タ値を読み出す段階であって、前記メモリ番地は前記デ
    ータ・プロセッサに対して外部の前記回路内にある段
    階; (c)前記データ・プロセッサの外部入力に入力される
    第1制御信号を、前記データ・プロセッサに対して外部
    の前記回路を介してアサートする段階; (d)前記基底アドレス内の少なくとも1つの既存のビ
    ットをインクリメントして、新たな基底アドレスを生成
    する段階であって、前記新たな基底アドレスは、前記基
    底アドレスとは異なり、かつ前記基底アドレスを置換
    し、前記新たな基底アドレスは、前記第1制御信号のア
    サートに応答して、前記データ・プロセッサに対して内
    部の回路によって生成される段階;および (e)Mを2以上の有限整数として、M回だけ段階
    (b)ないし(d)繰り返す段階;によって構成される
    ことを特徴とする方法。
  3. 【請求項3】 データ処理システム内のバスを制御する
    バス・プロトコルを有するデータ処理システムであっ
    て:制御信号を受ける入力を有する主マスタであって、
    前記制御信号に応答して、前記バス上で与えられたNビ
    ット第1アドレスをNビット第2アドレスまで循環的に
    インクリメントし、MはNより小さいものとして、前記
    Nビット第1アドレスはMビットだけ前記Nビット第2
    アドレスと異なり、前記第2アドレスは、前記主マスタ
    内で前記第1アドレスから前記主マスタによって直接導
    出される主マスタ;前記バスによって前記主マスタに結
    合されたスレーブ・デバイスであって、前記制御信号を
    前記主マスタに与える出力を有し、前記制御信号は、バ
    ースト・バス・サイクルで前記主マスタからアドレスを
    受けることに応答して、前記スレーブ・デバイスによっ
    てアサートされるスレーブ・デバイス;および前記主マ
    スタに結合され、前記バスの所有権を決定するバス・ア
    ービタ;によって構成されることを特徴とするデータ処
    理システム。
JP6271877A 1993-11-01 1994-10-12 データ処理システムおよびロングワード・アドレスをサイクルする方法 Pending JPH07182271A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US143731 1993-11-01
US08/143,731 US5638528A (en) 1993-11-01 1993-11-01 Data processing system and a method for cycling longword addresses during a burst bus cycle

Publications (1)

Publication Number Publication Date
JPH07182271A true JPH07182271A (ja) 1995-07-21

Family

ID=22505349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6271877A Pending JPH07182271A (ja) 1993-11-01 1994-10-12 データ処理システムおよびロングワード・アドレスをサイクルする方法

Country Status (2)

Country Link
US (1) US5638528A (ja)
JP (1) JPH07182271A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006288A (en) * 1996-06-06 1999-12-21 Motorola, Inc. Method and apparatus for adaptable burst chip select in a data processing system
US6327640B1 (en) * 1997-03-07 2001-12-04 Advanced Micro Devices, Inc. Overlapping peripheral chip select space with DRAM on a microcontroller with an integrated DRAM controller
US7085865B2 (en) * 2003-08-21 2006-08-01 International Business Machines Corporation I/O throughput by pre-termination arbitration
US10248330B2 (en) 2017-05-30 2019-04-02 Seagate Technology Llc Data storage device with buffer tenure management

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3639909A (en) * 1970-01-26 1972-02-01 Burroughs Corp Multichannel input/output control with automatic channel selection
US4809156A (en) * 1984-03-19 1989-02-28 Trw Inc. Address generator circuit
US4754435A (en) * 1985-02-14 1988-06-28 Nec Corporation Semiconductor device having a memory circuit
US5032986A (en) * 1987-07-28 1991-07-16 Texas Instruments Incorporated Data processing device with parallel circular addressing hardware
US4912631A (en) * 1987-12-16 1990-03-27 Intel Corporation Burst mode cache with wrap-around fill
US5029124A (en) * 1988-05-17 1991-07-02 Digital Equipment Corporation Method and apparatus for providing high speed parallel transfer of bursts of data
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control
US5255378A (en) * 1989-04-05 1993-10-19 Intel Corporation Method of transferring burst data in a microprocessor
JPH03180933A (ja) * 1989-12-08 1991-08-06 Matsushita Electric Ind Co Ltd スタックメモリ
US5265225A (en) * 1990-02-21 1993-11-23 Harris Corporation Digital signal processing address sequencer
US5371868A (en) * 1990-08-20 1994-12-06 Digital Equipment Corporation Method and apparatus for deriving addresses from stored address information for use in identifying devices during communication
US5237567A (en) * 1990-10-31 1993-08-17 Control Data Systems, Inc. Processor communication bus
US5319759A (en) * 1991-04-22 1994-06-07 Acer Incorporated Burst address sequence generator
US5276887A (en) * 1991-06-06 1994-01-04 Commodore Electronics Limited Bus arbitration system for granting bus access to devices following two-wire bus arbitration protocol and devices following three-wire bus arbitration protocol
US5345573A (en) * 1991-10-04 1994-09-06 Bull Hn Information Systems Inc. High speed burst read address generation with high speed transfer

Also Published As

Publication number Publication date
US5638528A (en) 1997-06-10

Similar Documents

Publication Publication Date Title
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
US5339395A (en) Interface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous mode
US4851990A (en) High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
US5533204A (en) Split transaction protocol for the peripheral component interconnect bus
US5579492A (en) Data processing system and a method for dynamically ignoring bus transfer termination control signals for a predetermined amount of time
US5761450A (en) Bus bridge circuit flushing buffer to a bus during one acquire/relinquish cycle by providing empty address indications
EP1032880B1 (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system
US5398244A (en) Method and apparatus for reduced latency in hold bus cycles
US6094700A (en) Serial bus system for sending multiple frames of unique data
US5699516A (en) Method and apparatus for implementing a in-order termination bus protocol within a data processing system
US20020062414A1 (en) Multi-master computer system with overlapped read and write operations and scalable address pipelining
US6189052B1 (en) On-chip i/o processor supporting different protocols having on-chip controller for reading and setting pins, starting timers, and generating interrupts at well defined points of time
US5379386A (en) Micro channel interface controller
RU2067314C1 (ru) Система для обработки запросов на доступ к шине
GB2286910A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US7752374B2 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
US5388223A (en) 1-bit token ring arbitration architecture
US6085261A (en) Method and apparatus for burst protocol in a data processing system
US6487617B1 (en) Source-destination re-timed cooperative communication bus
US5418930A (en) Circuit for interfacing asynchronous to synchronous communications
JPH0689259A (ja) 分散プログラム方式優先順位アービトレーション方法およびシステム
JPS6237428B2 (ja)
JP3917672B2 (ja) バスプロトコルおよび方法
US6006288A (en) Method and apparatus for adaptable burst chip select in a data processing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040914

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20051122