JPH10228447A - バスアービトレーション機構 - Google Patents

バスアービトレーション機構

Info

Publication number
JPH10228447A
JPH10228447A JP3359597A JP3359597A JPH10228447A JP H10228447 A JPH10228447 A JP H10228447A JP 3359597 A JP3359597 A JP 3359597A JP 3359597 A JP3359597 A JP 3359597A JP H10228447 A JPH10228447 A JP H10228447A
Authority
JP
Japan
Prior art keywords
port
ports
access request
queue
access
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
JP3359597A
Other languages
English (en)
Inventor
Tetsuo Kojima
徹郎 児島
Eiichi Toyoda
豊田  瑛一
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3359597A priority Critical patent/JPH10228447A/ja
Publication of JPH10228447A publication Critical patent/JPH10228447A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 (修正有) 【課題】デュアルポートメモリのバスアービトレーショ
ン方式では、ポート数nに対してアドレス比較回路がn
×(n−1)/2個必要となり、ポート数を増やすにつ
れて実現が困難になる。 【解決手段】シリアルポートを複数備えた記憶装置で、
各ポートのアクセス要求を毎クロックおきに周期的に監
視する機構を持ち、検出されたアクセス要求を保存する
シフトレジスタを備えたことを特徴とするバスアービト
レーション機構。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はバスアービトレーシ
ョン機構に関する。
【0002】
【従来の技術】アクセスポートを二つ備えた記憶装置
(デュアルポートメモリ)は、アドレスデコーダおよび
データ入出力バッファを二つずつ備え、二つのポートの
非同期の同時アクセスを実現している。二つのポートが
同じアドレス(メモリセル)をアクセスするのを避ける
ため、アドレス比較回路を内蔵し、メモリ内部でバスア
ービトレーションを行っている。
【0003】
【発明が解決しようとする課題】デュアルポートメモリ
のバスアービトレーション方式では、ポート数nに対し
てアドレス比較回路がn×(n−1)/2個必要とな
り、ポート数を増やすにつれて実現が困難になる。
【0004】同時アクセスをあきらめた場合にはアドレ
ス比較回路が不要になるが、その場合でも以下の論理演
算(バスアービトレーション)を行う必要がある。以下
はデュアルポートの場合で、各々ポートA・Bとする。
【0005】1)ポートBが未アクセスかつポートAが
アクセス要求→ポートAにアクセス権を与える 2)ポートAが未アクセスかつポートBがアクセス要求
→ポートBにアクセス権を与える 各ポートのアクセス要求に対し、応答を早く(1クロッ
ク未満に)するには、上記1),2)の論理演算を1ク
ロック内で完了させる必要がある。ところがポート数が
増加するにつれて論理演算が複雑化し、1クロック内に
完了させるのが困難となる。以下にnポートの場合の例
を示す。
【0006】1)ポート1以外の全ポートが未アクセス
かつポート1がアクセス要求→ポート1にアクセス権を
与える 2)ポート2以外の全ポートが未アクセスかつポート2
がアクセス要求→ポート2にアクセス権を与える 3)ポート3以外の全ポートが未アクセスかつポート3
がアクセス要求→ポート3にアクセス権を与える : n)ポートn以外の全ポートが未アクセスかつポートn
がアクセス要求→ポートnにアクセス権を与える
【0007】
【課題を解決するための手段】シリアルポートメモリの
場合、アクセスに必要な情報を時分割して転送するた
め、転送に時間がかかる。シリアル転送にmクロック費
やすと、アクセスのmクロック前にアクセス要求を検出
することが可能である。この点に着目し、本発明の「マ
ルチポートメモリのバスアービトレーション機構」で
は、1クロックごとに1ポートずつ、nクロックかけて
すべてのポート(n個)のアクセス要求をチェックす
る。
【0008】加えて、キュー(シフトレジスタ)をm個
備え、アクセスのkクロック前にアクセス要求を検出し
た場合は、k番目のキューにポート番号を書き込む。キ
ューは1クロック毎にシフトし、1番目のキューの出力
(アクセス1クロック前のポート番号)のポートにメモ
リアクセス権を与える。
【0009】本発明は、上記のような構成により、1ク
ロック内に余裕をもってアクセス要求のチェックを行う
ことができ、ポート数を増加することが可能となる。
【0010】複数クロックを費やしてアクセス要求のチ
ェックを行うため、アクセス順序とアクセス要求検出の
順序が異なる可能性があるが、キューによりアクセス順
序は保存され、各ポートのアクセスに余分なウェイトは
入らない。
【0011】本発明でも、複数のポートが同時にアクセ
スしようとした場合、アクセス要求の検出は別々でも、
最終的に同じキューに書き込もうとして衝突が発生す
る。具体的には、前段のキューに先に検出されたポート
番号が書き込まれていて、シフトする動作と新たにアク
セス要求を検出したポート番号の書き込みが衝突するこ
とになるが、たかだか1クロック内に二つの動作の衝突
が起こるのみであり、衝突を回避するのは容易である。
すなわちマルチポートメモリの場合、複数ポートのメモ
リアクセスの衝突を、複数クロックに分散してアクセス
要求チェックを行うことにより、最悪で二つの動作の衝
突に抑制することができる。
【0012】
【発明の実施の形態】本発明の実施例を図面を用いて説
明する。
【0013】図1は本発明(マルチポートメモリのバス
アービトレーション機構)で、シリアルポートを通じて
CPUとデータを交換する部分(ポート)の詳細図であ
る。各ポートは、プロセッサとシリアルポート(アドレ
ス・データの2本)を通じてCPUとデータを交換す
る。本実施例ではマルチポートメモリの記憶容量を1024
×8ビット=1024バイトとしたため、マルチポート
メモリ内での内部データバス幅は8ビット、内部アドレ
スバス幅は10ビットとなる。このため各ポートは、ア
ドレス情報を保存用に10ビットのアドレスバッファ、
データ保存用に8ビットのデータバッファを備え、シリ
アル・パラレル変換を行う。アドレスポートに送られる
アドレス情報はパケット化されているため、各ポートは
パケット判別回路を備え、ポートのアクセス要求の出力
およびデータの読み込み・書き込み要求の判別を行う。
さらに各ポートはシリアル転送カウンタ(減算カウン
タ)を備え、アドレスポートにアドレス情報が送られ始
めるとともにカウントを開始し(初期値10)、アドレ
ス情報が1ビット送られるごとにカウントを1つ減ら
す。カウンタの値はポートの外部に出力される。アドレ
スポートにアドレス情報が送られ始めるとアクセス要求
フラグをONにし、ポートのREQ出力としてポート外
部に出力する。アクセス要求が承認されるとACK入力
を返されるため、アクセス要求フラグをオフにする。
【0014】シリアル転送が終了しアドレスバッファが
満たされても(書き込み時にはデータバッファも)、必
ずしもすぐにマルチポートメモリ内部のメモリセルにア
クセスできるとは限らない。ポート外部からPE入力
(ポート・イネーブル)が入ってきたときのみ、内部ア
ドレスバス・データバスに接続でき、メモリセルにアク
セス可能となる。
【0015】図2は各ポートのバスアクセス権の順序を
保存するキュー(シフトレジスタ)の詳細図である。キ
ューは4ビットのフリップフロップを備え、このうち3
ビットを用いてポートA〜H(8個)の番号を保存し、
残りの1ビットはNOPORT(該当ポートなし)か否かを判
別するフラグである。キューはセレクタを備え、シフト
要求(SHIFT入力)が入ると、前段からのキュー入
力(QIN入力)の値を読み込むが、ロード要求(LO
AD入力)が入ると、ポート番号(PORT入力)の値
を読み込む。
【0016】このキューはマルチポートメモリのシリア
ル転送クロックに費やすクロック数の数に応じて必要と
なる。本実施例では、アドレス10ビット(データ8ビ
ットより大)のため、キューは全部で10段必要とな
る。
【0017】図3は全8個のポートおよび全10段のキ
ューを配置した全体構成図Aである。この全体構成図A
は、ポートからアクセス要求を検出し、ポート番号をキ
ューに書き込む部分を示している。本バスアービトレー
ション機構は3ビットのカウンタを備え、1クロックお
きにポートA〜Hを巡視する。3ビットカウンタの示す
ポートのアクセス要求(REQ出力)を検出したら、同
様に同じポートのカウンタもセレクタにより選択され、
ポートのカウンタ値の示すキューにポート番号を書き込
む。
【0018】図4の全体構成図Bはキューの出力の示す
ポートに内部バスアクセス権を与え、バスアクセス権を
有したポートが内部アドレスバスおよびデータバスを介
してメモリセルをアクセスする部分を示している。全1
0段のキューは、キュー10の出力がキュー9の入力
へ、キュー9の出力はキュー8の入力へ・・・といった
具合にカスケード接続される。ただしキュー10へは、
アクセス要求を出しているポートが存在しないことを示
すNOPORT(2進数で1000)が接続される。キュー1
の出力がNOPORTの場合は、デコーダの出力はオール0
(2真数で00000000)となり、いかなるポートにもアクセ
ス権を与えない。キュー1の出力がNOPORT以外の場合
(2進数で0000〜0111)は、下位3ビットで示
すポート番号にアクセス権を与える。
【0019】図5の全体構成図Cは、キューのシフト制
御機構を示したものである。例えばK番目のキューにポ
ート番号を書き込む場合、Kも含めてKより右のキュー
は無条件にシフトしてよいが、Kより左のキューのシフ
トには注意を要する。すなわちK+1番目のキューの出
力がシフトされると、K番目のキューへのポート番号の
書き込みと衝突してしまう。しかしシフトを1クロック
遅らせることは、アクセスの1ウェイトを意味している
ので、Kより左のキューを無条件にシフトしないと定め
るのは効率が悪い。そこで最適な効率のシフト条件を求
めると、 1)ポート番号の書き込みがない場合は、無条件にすべ
てのキューをシフトしてよい 2)ポート番号の書き込みがある場合(K番目のキュー
に書き込む場合) ・1≦i≦Kのキュー場合、無条件にシフトしてよい ・K<i≦10のキューの場合、Kとiの間に1つでも
NOPORTのキューがあればシフトしてよい となる。キューシフト制御回路は上記の論理演算を行う
組み合わせ回路より構成されている。
【0020】図6はバスアービトレーション例を示すバ
スアービトレーション機構内の信号タイミング図であ
る。ポートA〜Hのアクセス要求(REQ)は、それぞ
れ任意の順に発生しているものとする。3ビットカウン
タによる周期的なポートチェックによりポートA〜Hの
アクセス要求はチェックされるが、最悪の場合、チェッ
クが8クロック遅れることがあり得るが、アドレス情報
(10ビット)を転送し終えるのに10クロック要する
ので、必ず転送中にアクセス要求のチェックが行われる
ことを保証している。
【0021】例えばポートAのアクセス要求は転送を始
めて8クロック目に検出され、その時の減算カウンタの
値が3のため、3番目のキューにポートAを示す値(2
進数で0000)が書き込まれる。同様にしてポートB
〜Hのアクセス要求が検出され、キューに書き込まれて
いる様子を示している。基本的に、キューのシフトより
もポート番号の書き込みを優先するルールになっている
ので、例えばキュー4にポートCを書き込むことによっ
て、キュー5〜10のシフトが遅延され、結果としてポ
ートE・Fのメモリアクセスに1ウェイトが挿入されて
いることが分かる。またその時に、ポートFからポート
Bの間には1クロック分の空白期間(NOPORT)の期間が
あったが、前述のウェイトにより空白期間が消滅してい
ることが分かる。
【0022】さらにキュー1の出力がHの場合、次のク
ロックにポートHのPE(ポートイネーブル)をONに
し、ポートHにバスアクセス権を与える。
【0023】
【発明の効果】本発明によればバスアービトレーション
機構では、ポートA〜Hの任意の順番・任意のタイミン
グのメモリアクセス要求に対して、1クロックに1ポー
トずつという低速なポートチェックを行っても、キュー
によりポートのアクセス順序が保存され、かつ適切なキ
ューシフト制御によって無駄なウェイトが挿入されず、
無駄のないアービトレーションを行っていることが分か
る。
【図面の簡単な説明】
【図1】本発明のポートのブロック図。
【図2】本発明のキューのブロック図。
【図3】本発明の一実施例の説明図。
【図4】本発明の第二実施例の説明図。
【図5】本発明の第三実施例の説明図。
【図6】本発明のバスアービトレーションの説明図。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】シリアルポートを複数備えた記憶装置にお
    いて、各ポートのアクセス要求を毎クロックおきに周期
    的に監視する機構を持ち、検出されたアクセス要求を保
    存するシフトレジスタを備えたことを特徴とするバスア
    ービトレーション機構。
JP3359597A 1997-02-18 1997-02-18 バスアービトレーション機構 Pending JPH10228447A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3359597A JPH10228447A (ja) 1997-02-18 1997-02-18 バスアービトレーション機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3359597A JPH10228447A (ja) 1997-02-18 1997-02-18 バスアービトレーション機構

Publications (1)

Publication Number Publication Date
JPH10228447A true JPH10228447A (ja) 1998-08-25

Family

ID=12390855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3359597A Pending JPH10228447A (ja) 1997-02-18 1997-02-18 バスアービトレーション機構

Country Status (1)

Country Link
JP (1) JPH10228447A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000006664A (ko) * 1999-09-29 2000-02-07 문성일 엔드유저 컴퓨터에 세팅되는 메타검색엔진

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000006664A (ko) * 1999-09-29 2000-02-07 문성일 엔드유저 컴퓨터에 세팅되는 메타검색엔진

Similar Documents

Publication Publication Date Title
KR100337056B1 (ko) 상이한 주파수로 동작하는 버스사이에 전송되는 데이터를버퍼링하는 디바이스 및 방법
US5295252A (en) Data storage device
EP1345125A2 (en) Dynamic random access memory system with bank conflict avoidance feature
JP2000148444A (ja) 複数論理fifoシステム
JPS6297036A (ja) 計算機システム
US4174537A (en) Time-shared, multi-phase memory accessing system having automatically updatable error logging means
US4371949A (en) Time-shared, multi-phase memory accessing system having automatically updatable error logging means
EP1238339A1 (en) Interface for a memory unit
US20050066135A1 (en) Memory control apparatus and memory control method
US6691182B2 (en) DMA controller in which bus access ratio can be set
US6341313B1 (en) Flow controlling method and apparatus for network between processors
JP2000029826A (ja) 多重レベルキャッシングを有する3ポ―トfifoデ―タバッファ
JPH10228447A (ja) バスアービトレーション機構
US6625711B1 (en) Method and/or architecture for implementing queue expansion in multiqueue devices
US20020188771A1 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
JPH10307787A (ja) バッファメモリ装置
JPH1131066A (ja) バッファ制御システム
JPH08272775A (ja) ベクトル処理装置
JPH0833869B2 (ja) データ処理装置
JP2000215154A (ja) Dmaコントロ―ラ
EP0687984A1 (en) Data processing system having an address/data bus directly coupled to peripheral device
JPH09311812A (ja) マイクロコンピュータ
US20090100220A1 (en) Memory system, control method thereof and computer system
JPS6014435B2 (ja) 記憶装置
JPH10207762A (ja) メモリおよび電子装置