JPH07244607A - キューメモリシステムおよびその方法 - Google Patents

キューメモリシステムおよびその方法

Info

Publication number
JPH07244607A
JPH07244607A JP3140995A JP3140995A JPH07244607A JP H07244607 A JPH07244607 A JP H07244607A JP 3140995 A JP3140995 A JP 3140995A JP 3140995 A JP3140995 A JP 3140995A JP H07244607 A JPH07244607 A JP H07244607A
Authority
JP
Japan
Prior art keywords
queue
signal
memory
data
channel
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
JP3140995A
Other languages
English (en)
Inventor
Marlan L Winter
マーラン・エル・ウィンター
John A Langan
ジョン・エイ・ランガン
James M Sibigtroth
ジェイムズ・エム・シビグトロス
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 JPH07244607A publication Critical patent/JPH07244607A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 単一の処理を使用してキューに対しメモリ値
の格納または取出しを行なうことができる柔軟性あるメ
モリ転送システムを提供するキューメモリシステム(1
0)を実現する。 【構成】 キューコントローラ(20)はキューメモリ
(18)と周辺装置(22,24)との間のデータの転
送を制御する。さらに、各周辺装置はキューメモリの選
択されたチャネルをアクセスするよう構成されたキュー
制御レジスタを有する。開示されたキューメモリシステ
ムは該システムの中央処理ユニット(12)のサイクル
タイムを効率的に使用してより一般的な処理ステップを
乱すことなくキューアクセスを行なう。本キューメモリ
システムは中央処理ユニットがバスの使用を要求しない
タイミングサイクルを待機する。その時間にキューメモ
リシステムはキューと周辺装置との間でデータを転送す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は一般的にはキューシス
テム(queue system)に関し、かつより特
定的にはデータプロセッサにおけるキューシステムに関
する。
【0002】
【従来の技術】数多くのデータ処理の用途においては、
データがデータプロセッサの周辺装置とメモリとの間で
通信される。いくつかの周辺装置と通信するための単一
のメモリを有する汎用目的のシステムにおいては、各々
の周辺装置とメモリとの間をインタフェースするために
ダイレクトメモリアクセス(DMA)回路が使用され
る。該DMA回路はデータ処理システムにおける周辺装
置とメモリとの間でデータを通信するための汎用目的の
方法を提供する。一般に、DMAはCPUが関与するこ
とを必要とせずに周辺装置とメモリとの間で直接データ
を転送する。DMA回路を使用することによって、CP
Uは必要な情報のためにメモリをアクセスする場合に必
要とされない。しかしながら、CPUはメモリ転送が行
なわれている間に一時的に動作を停止しなければならな
い。したがって、DMA回路は一般に転送を行なうため
にCPUに割込むのに比較して周辺装置がメモリにアク
セスする場合に必要な時間を低減する。
【0003】データ処理動作の間に、DMA回路はどこ
からデータが転送されるかを決定するためにソースアド
レス値を必要とし、かつどこへデータが転送されるかを
決定するためにデスティネイションアドレス値を必要と
する。該ソースアドレス値およびデスティネイションア
ドレス値はデータ処理システムのユーザによって行なわ
れている動作に応じて周辺装置の1つあるいはアクセス
されるメモリロケーションを識別する。したがって、D
MA回路はメモリをアクセスするために少なくとも2つ
のバスサイクルおよび各々に関連する処理時間を必要と
する。2つの転送のために必要とされる時間はそれほど
大きなものではないが、いくつかのユーザはより少ない
時間を必要とする方法を好むであろう。さらに、いくつ
かのユーザはDMA回路に関連するハードウェアコスト
を負担することができないかもしれない。DMA回路の
大部分はデータ処理システムにおいて回路のかなり大き
な部分を必要とする。したがって、DMA回路は、単一
のメモリロケーションよりも、メモリのブロックにアク
セスする大きなデータ処理システムにおいて使用する場
合にのみ正当化されるのが普通である。
【0004】
【発明が解決しようとする課題】DMA回路と比較して
専用のキュー方式メモリ(queued memor
y)は使用する回路が少なくかつ一般にはメモリアクセ
スを行なうためにCPUの介在を必要としない。しかし
ながら、キュー方式のメモリはDMA回路ほど一般的で
はなく、かつ典型的には特定の周辺装置に対して設計さ
れる。データ処理システムにおいて使用できる周辺装置
のデータインタフェース要求が各々異なるため、各々の
周辺装置に対して使用されるキュー方式メモリはそれぞ
れの周辺装置においてのみ使用するよう設計されなけれ
ばならない。したがって、キュー方式メモリは各々の周
辺装置の一部として含められかつ周辺装置が修正される
たびごとに再設計されなければならない。そのような限
定性(specificity)はしばしば製造の設計
過程の間におけるオーバヘッドの増大を生じる。さら
に、各々の周辺装置にキューメモリおよび対応する制御
回路が含められなければならないためチップサイズもま
た増大する。
【0005】したがって、データ処理システムの設計者
は回路のための高いオーバヘッドを必要とする一般的な
手法と製造の前の設計に対する高いオーバヘッドを必要
とするより特定的な手法との間で選択を行なわなければ
ならない。各々の手法は明確な利点を有するが、各々の
手法は最適の結果を提供するものではない。
【0006】
【課題を解決するための手段および作用】前に述べた必
要性は本発明によって満たされる。したがって、第1の
実施例では、キューメモリシステムが提供される。該キ
ューメモリシステムは複数のデータ処理動作を実行する
ための中央処理ユニットを含む。該中央処理ユニットは
複数のデータ値、複数のアドレス値、および第1の制御
信号を提供する。前記キューメモリシステムはまた第1
の周辺機能を実行するための第1の周辺装置を含む。該
第1の周辺装置は第1のキュー要求信号を提供する。前
記周辺装置は前記中央処理ユニットに接続されて前記複
数のデータ値、前記複数のアドレス値、および前記第1
の制御信号を受信する。前記第1のキュー要求信号に応
答して第1のキューアクセス要求信号を発生するための
制御回路もまた前記キューメモリシステムに含まれてい
る。該制御回路は前記第1の周辺装置に接続されて前記
第1のキュー要求信号を受信する。前記キューメモリシ
ステムはまた複数のキューチャネルを有するキューメモ
リを含む。前記複数のキューチャネルの内の第1のあら
かじめ選択された1つが前記第1のキューアクセス要求
信号によってアクセスされる。前記キューメモリは前記
第1のキューアクセス要求信号が所定の論理状態にある
とき第1のデータ値を通信する。前記キューメモリは前
記第1の周辺装置と別個に構成される。
【0007】本発明の第2の実施例においては、キュー
メモリシステムを実施する方法が提供される。該方法に
おいては、第1の周辺装置が第1のデータ処理動作を実
行するためにイネーブルされる。前記第1の周辺装置は
第1のデータ処理動作の実行の間に第1のキュー要求信
号を提供する。バス制御回路がイネーブルされて前記第
1のデータ処理動作の間に第1の制御信号を提供する。
前記第1のキュー要求信号に応答して第1のキュームー
ブ信号(queue move signal)が提供
される。該第1のキュームーブ信号はキューメモリの第
1のチャネルに対応する。第1のキューアドレス信号が
前記第1のキュームーブ信号に応じて発生される。該第
1のキューアドレス信号は前記第1のチャネルのキュー
メモリの第1のアドレスを示す。第1のキュー制御信号
が前記第1のキュームーブ信号に応じて発生される。該
第1のキュー制御信号はキューメモリの第1のチャネル
の動作を制御するために使用される。キューメモリの前
記第1のチャネルの第1のアドレスは前記第1のキュー
アドレス信号および前記第1のキュー制御信号の双方に
応答してアクセスされる。前記第1の周辺装置と前記キ
ューメモリとの間で第1のキューデータ値が通信され
る。
【0008】これらおよび他の特徴、および利点は、添
付の図面と共に以下の詳細な説明を参照することにより
さらに明瞭に理解されるであろう。図面は本発明の唯一
の形態を表すことを意図しているものでないことに注目
することが重要である。
【0009】
【実施例】本発明はデータプロセッサにおいて複数の周
辺装置と共に使用できる柔軟性あるキュー方式メモリシ
ステムを提供する。このキューメモリシステムはキュー
にメモリ値を記憶するためにあるいは該キューからメモ
リ値を読み出すために単一の処理を使用する柔軟性ある
転送システムを提供する。キューメモリが各々の周辺装
置とほぼ同じ様式でインタフェースできるようにするた
め、各々の周辺装置においてインタフェースの目的のた
め少量の付加的な回路が設計される。この付加的な回路
およびキューメモリと各々の周辺装置との間のデータ転
送プロトコルは前記キューメモリシステムが多量の回路
領域を必要としない汎用のキューメモリを提供できるよ
うにする。実際的には、ここで説明されるキューメモリ
システムはより少ない回路を使用しながら設計者がより
多くの機能を達成できるようにする。さらに、前記キュ
ーメモリは汎用目的のものでありかつデータ転送プロト
コルの修正なしにかつ唯一の周辺装置と共に動作するよ
う特定的に設計されたキューの必要性なしにいくつかの
異なるタイプの周辺装置とインタフェースできる。
【0010】本キューメモリシステムはキューメモリと
周辺装置との間におけるデータの転送を制御するために
キューコントローラを使用することにより少ない回路で
より多きな機能を提供できる。該キューコントローラは
概略的にキュー動作が要求されている時にアクセスされ
るべきアドレスを指示しかつキュー動作がそのアドレス
に格納するためのものであるかあるいはそのアドレスか
ら読み出すためのものであるかを指示するための方向
(direction)制御信号を受信するレジスタを
含む。さらに、各々の周辺装置は前記キューメモリの選
択されたチャネルをアクセスするよう構成されたキュー
制御レジスタを有する。周辺装置は次に複数のキュー要
求信号によって前記キューメモリにアクセスするための
要求を発行することができる。前記キューは次に前記周
辺装置によって必要とされる機能に応じてデータバスか
らデータを受信しあるいはデータバスにデータを提供す
る。キューがデータを通信する同じタイミングサイクル
の間に、周辺装置はデータバスにデータを書き込みある
いはデータバスからデータを読み取ることができる。し
たがって、ここに述べられたキューメモリシステムは実
効的に各々の周辺装置が単一のタイミングサイクルにお
いて単一の汎用目的のキューメモリをアクセスできるよ
うにし、それによってメモリシステムの効率および速度
の双方が最適化される。本キューメモリシステムの動作
のより詳細な説明は引き続き行なう。
【0011】ここで説明されるキューメモリシステムは
またはより一般的な処理ステップを崩壊させることなし
にキューアクセスを行なうためにシステムの中央処理ユ
ニットのサイクルタイムを効率的に使用する。例えば、
好ましい実施例のキューメモリシステムは中央処理ユニ
ットがバスの使用を必要としないタイミングサイクルを
待つことになる。その時点で、本キューメモリシステム
はデータをキューと周辺装置との間で転送する。そのよ
うな方法により、システムの中央処理ユニットはキュー
と周辺装置との間のメモリ転送が実行されている間に処
理ステップを行なうために待たされることがない。
【0012】ここで説明されるキューメモリシステムは
メモリ転送を行なう前に使用されない、または「デッド
(dead)」バスサイクルの間待機するよう設計され
ているが、本キューメモリシステムはまたデッドバスサ
イクルが生じない場合に特定量の時間が経過した後に中
央処理ユニットの実行を凍結(freeze)できるよ
うにするタイマ機能を使用する。したがって、前記キュ
ーメモリはメモリ転送を行なう前にあまりにも長く待機
させられることはない。使用されない処理サイクルの間
待機しかつ中央処理ユニットを停止させるキューメモリ
システムの能力によってここに説明されるシステムは一
般の処理ステップおよびメモリ転送の双方を効率的に達
成できる。これに対し、従来技術の解決方法は一般には
何らかのメモリ転送を行なっている間に少なくとも1つ
のバスサイクルの間処理ユニットが停止することを要求
された。したがって、ダイレクトメモリアクセス回路を
含むメモリ転送の間は少なくとも1つのバスサイクルが
いずれの目的のためにもCPUによって使用されかっ
た。
【0013】さらに、本発明の構成に関する以下の説明
の間、用語「肯定する(assert)」および「否定
する(negate)」およびその種々の文法的な形態
が使用されて「アクティブハイ]および[アクティブロ
ー」論理信号の混合物を取り扱う場合の混乱を避けてい
る。「肯定」は論理信号またはレジスタビットをそのア
クティブな、または論理的に真の、状態にすることを言
及するために使用される。「否定」は論理信号またはレ
ジスタビットをそのインアクティブな、または論理的に
偽の状態にすることを言及するために使用されている。
ある値に先行する“$”はその値が16進(hexad
ecimal)であることを示すことに注目すべきであ
る。
【0014】〈接続構成の説明〉図1は、キューメモリ
システム10を示す。キューメモリシステム10は概略
的に中央処理ユニット(CPU)12、メモリ14、バ
スルーティングおよび制御論理回路16、キューメモリ
18、キュー制御論理回路20、周辺またはペリフェラ
ルA 22、および周辺またはペリフェラルB 24、
クロック回路40およびORゲート42を含む。
【0015】外部クロック信号、“XTAL”、はクロ
ック回路40にクロック信号を提供する。クロック回路
40は“CPUクロック”と名付けられた信号をCPU
12に提供する。クロック回路40は「ディスエイブル
CPUクロック(Disable CPU Cloc
k)」と名付けられた信号をORゲート42の第1の入
力に提供する。クロック回路40は「タイムアウト」と
名付けられた信号をキュー制御論理回路20に提供す
る。
【0016】CPU12はデータバス28を介してメモ
リ14、キューメモリ18、キュー制御論理回路20、
ペリフェラルA 22、およびペリフェラルB 24の
各々に双方向的に結合されている。CPU12は、集合
的に「CPU読み出し/書き込み(CPU Read/
*Write)」およびサイズ(Size)(R/*W
and Size)と名付けられた、2つの信号をバ
スルーティングおよび制御論理回路16に提供する。な
お、ここで記号*は信号の反転を示し、いわゆるオーバ
バー(overbar)に対応する。CPU12はまた
CPUアドレスバス30を介してバスルーティングおよ
び制御論理回路16に結合されている。CPU12は
「CPUバス利用可能(CPU Bus Availa
ble)」と名付けられた信号をバスルーティングおよ
び制御論理回路16およびORゲート42の第2の入力
に提供する。ORゲート42の出力は「バス利用可能
(Bus Available)」と名付けられた信号
をキュー制御論理回路20に供給する。
【0017】バスルーティングおよび制御論理回路16
は集合的に「R/*Wおよびサイズ(R/*W and
Size)」と名付けられた複数の信号をメモリ1
4、ペリフェラルA 22、およびペリフェラルB 2
4の各々に供給する。アドレスバス26はバスルーティ
ングおよび制御論理回路16からのアドレス情報をメモ
リ14、キュー制御論理回路20、ペリフェラルA 2
2およびペリフェラルB24の各々に結合する。
【0018】キュー制御論理回路20は複数のキュー要
求信号を介してペリフェラルA 22およびペリフェラ
ルB 24の各々に双方向的に結合されている。この例
では、4つのキュー要求信号がある。キュー制御論理回
路20はバスルーティングおよび制御論理回路16に結
合されて集合的に「QR/*Wおよびサイズ(QR/*
W and Size)」と名付けられた複数の信号お
よびQドライブ(QDrive)信号を供給する。キュ
ー制御論理回路20はまた転送アドレスバス38を介し
てバスルーティングおよび制御論理回路16に結合され
ている。キュー制御論理回路はキューアドレスバス34
およびキュー制御バス36を介してキューメモリ18に
結合されている。キュー制御論理回路20はまたクロッ
ク回路40に結合されてフリーズCPUクロック信号を
提供する。
【0019】ペリフェラルA 22は外部ソース(図示
せず)から「シリアル入力(Serial In)」と
名付けられた信号を受信しかつ外部受信機(図示せず)
に対し「シリアル出力(Serial Out)」と名
付けられた信号を提供する。
【0020】図2は、バスルーティングおよび制御論理
回路16を示す。バスルーティングおよび制御論理回路
16は概略的に制御スイッチ44およびアドレススイッ
チ46を含む。前記CPU R/*Wおよびサイズ信号
は制御スイッチ44の第1の入力に供給される。前記Q
Drive 信号は制御スイッチ44の第2の入力およ
びアドレススイッチ46の第1の入力に供給される。前
記QR/*Wおよびサイズ(Size)信号は制御スイ
ッチ44の第3の入力に供給される。CPUバス利用可
能信号は制御スイッチ44の第4の入力およびアドレス
スイッチ46の第2の入力に与えられる。制御スイッチ
44は前記R/*Wおよびサイズ信号をキューメモリシ
ステム10の残りの部分に供給する。
【0021】CPUアドレスバス30は複数の制御信号
をアドレススイッチ46に供給する。転送アドレスバス
38は複数のアドレス信号をアドレススイッチ46に提
供する。アドレススイッチ46はアドレスバス26を介
して複数のアドレスを供給する。
【0022】図3は、キュー制御論理回路20を示す。
キュー制御論理回路20は概略的にフロー制御回路5
0、複数のキュー制御レジスタ52、複数のキューレジ
スタ62、ORゲート64、複数のドライバ66〜7
0、複数のインバータ68〜72、および複数のインク
リメンタ回路A〜D、それぞれ74および76、を含
む。インクリメンタ回路A〜D(それぞれ、74および
76)の各々はインクリメンタ回路A 74に示された
構成要素を含む。インクリメンタ回路A 74はドライ
バ54、ポインタスタートレジスタ56、ポインタエン
ドレジスタ58、および比較器およびインクリメンタ制
御回路60を含む。キュー制御論理回路20において必
要とされるインクリメンタ回路の数はキューメモリシス
テム10の動作の間にアクセスされるべきキューチャネ
ルの数に等しい。前記複数のインクリメンタ回路74〜
76と同様に、複数のドライバ66〜70の数はキュー
メモリシステム10の動作の間にアクセスされるべきキ
ューチャネルの数に等しい。
【0023】前記バス利用可能信号、前記タイムアウト
信号、および前記複数のキュー要求信号はフロー制御回
路50に供給される。さらに、「ファースト(FAS
T)」と名付けられた複数の信号もまたフロー制御回路
50に供給される。フロー制御回路50は前記フリーズ
CPUクロック信号を供給する。また、フロー制御回路
50は複数のQムーブ信号(QMove signal
s)の1つを前記複数のインクリメンタ回路A〜D(7
4および76)の各々に提供する。前記複数のQMov
e信号の内の第1の1つ、“QMove0”と名付けら
れている、はインクリメンタ回路A 74の比較器およ
びインクリメンタ制御回路60に供給される。該QMo
ve0信号はまたORゲート64の第1の入力に供給さ
れる。同様に、前記複数のQMove信号の次の2つは
前記複数のインクリメンタ回路の内のそれぞれのものの
比較器およびインクリメンタ制御回路へと供給される。
ここに述べられる本発明の実施例においては、前記複数
のQMove信号の次の2つは“QMove1”および
“QMove2”と名付けられている。該QMove1
およびQMove2信号はまた、それぞれ、ORゲート
64の第2および第3の入力に供給される。ここでは示
されていないが、前記QMove1およびQMove2
信号はまたインクリメンタ回路A 74およびインクリ
メンタ回路D76と同様に比較器およびインクリメンタ
制御回路へと供給される。前記複数のQMove信号の
内の最後のもの、“QMove3”と名付けられてい
る、はインクリメンタ回路D 76の比較器およびイン
クリメンタ制御回路(ここでは示されていない)に提供
される。QMove3信号はまたORゲート64の第4
の入力に供給される。ORゲート64は前記複数のQM
ove信号の各々を組合せて前記キュードライブ信号を
提供する。
【0024】前記複数のドライバ66〜70の各々はま
た前記複数のQMove信号の内のそれぞれの1つを受
信する。前記複数のQMove信号の各々はキューメモ
リ18のチャネルの1つに対応する。したがって、QM
ove0信号はドライバ66に供給されかつQMove
3信号はドライバ70に供給される。
【0025】前記複数のインクリメンタ回路74〜76
の前記比較器およびインクリメンタ制御回路の各々は前
記キューの対応するチャネルに対応するフル(Ful
l)信号およびエンプティ(Empty)信号を提供す
る。例えば、インクリメンタ回路A 74の比較器およ
びインクリメンタ制御回路60はFull0信号および
Empty0信号を提供する。同様に、インクリメンタ
回路D 76の比較器およびインクリメンタ制御回路
(図示せず)はFull3信号およびEmpty3信号
を提供する。前記複数のフルおよびエンプティ信号の各
々は前記複数のキューレジスタ62に提供される。
【0026】前記複数のキューレジスタ62は転送アド
レスバス38を介してアドレス信号を提供しかつQR/
*Wおよびサイズ信号を提供する。前記複数のキューレ
ジスタ62および前記複数のキュー制御レジスタ52の
双方は前記R/*Wおよびサイズ信号、ならびにアドレ
スバス26およびデータバス28を介して転送される情
報信号を受信する。複数のキュー制御レジスタ52は複
数のQR/*W信号およびキューサイズ信号を複数のド
ライバ66〜70の対応する1つおよび複数のインクリ
メンタ回路74〜76の対応する1つに提供する。例え
ば、前記複数のキュー制御レジスタ52はインバータ6
8およびインクリメンタ回路A 74にQR/*W0信
号を提供する。インバータ68は該QR/*W0信号を
反転しかつ反転された信号をドライバ66に供給する。
前記複数のキュー制御レジスタ52はまたキューサイズ
0信号をドライバ66およびインクリメンタ回路A 7
4の各々に提供する。同様に、前記複数のキュー制御レ
ジスタ52はQR/*W3信号をインバータ72および
インクリメンタ回路D 76の双方に提供する。インバ
ータ72はQR/*W3信号を反転しかつ反転された信
号をドライバ70に供給する。複数のキュー制御レジス
タ52はまたキューサイズ3信号をドライバ70および
インクリメンタ回路D 76に供給する。複数のキュー
制御レジスタ52はまた複数のファースト(FAST)
信号をフロー制御回路50に供給する。
【0027】前に述べたように、前記複数のインクリメ
ンタ回路74〜76の各々はドライバ、ポインタスター
トレジスタ、ポインタエンドレジスタ、および比較器お
よびインクリメンタ制御回路を含む。インクリメンタ回
路A 74により詳細に示されているように、QMov
e0、Full0、およびEmpty0信号は比較器お
よびインクリメンタ制御回路60に結合されている。比
較器およびインクリメンタ制御回路60はまたポインタ
スタート信号およびポインタエンド信号を受信する。そ
れに応じて、比較器およびインクリメンタ制御回路60
は選択的にスタート信号をポインタスタートレジスタ5
6にかつエンド信号をポインタエンドレジスタ58に提
供する。比較器およびインクリメンタ制御回路60にポ
インタスタート信号を提供することに加えて、ポインタ
スタートレジスタ56はまたポインタスタート信号をド
ライバ54に提供する。同様に、ポインタエンドレジス
タ58はまたポインタエンド信号をドライバ54に提供
する。マルチプレクサ54は次にアドレス値をポインタ
スタートまたはポインタエンドのいずれかからキューア
ドレスバス34に供給する。
【0028】<キュー制御レジスタの説明>図4は図表
形式で複数のキュー制御レジスタ52を示す。前記複数
のキュー制御レジスタの最初のものに対するスタートア
ドレスは“LBase”と称される。したがって、前記
複数の制御レジスタの各々の引き続くアドレスはスター
ト、またはベースアドレス、に増分値を加えたものによ
って決定される。
【0029】複数のキュー制御レジスタ52における1
対のレジスタはキューメモリ18の指定されたチャネル
の動作を制御する。例えば、レジスタLQR0HIおよ
びLQR0LOはキューメモリ18のチャネル0に対応
する。同様に、LQR1HIおよびLQR1LOはチャ
ネル1に対応し、LQR2HIおよびLQR2LOはチ
ャネル2に対応し、そしてLQR3HIおよびLQR3
LOはキューメモリ18のチャネル3に対応する。レジ
スタおよび各々のレジスタにおけるビットの以下の説明
では、チャネル0,1,2または3の1つを総称的に示
すために“x”が使用される。2つのレジスタは実効的
に連結されて16ビットのレジスタを形成し、該レジス
タにおいては、“HI”サフィックスで示される1つの
レジスタはハイバイトであり、かつ“LO”サフィック
スで示される他のレジスタはローバイトであることに注
目すべきである。これらの取り決めを考慮しながら、レ
ジスタの各々および前記複数のキュー制御レジスタ52
の各々における各々のビットの機能を概略的に説明す
る。
【0030】LQRxHIキューレジスタx:“HI”
のサフィックスを有する各々のレジスタの全てのビット
はゼロにリセットされかつ任意の時間に書くことができ
る。
【0031】LQxTXキュー送信(ディレクショ
ン):このビットの“1”はデータが前記キューからL
QRxLOに示されたアドレスに送信されるべきことを
示す。これらのビットのいずれかにおけるゼロはデータ
が示されたアドレスから取り出されかつキューメモリ1
8に転送されることを示す。
【0032】LQxFSキューファーストデータムー
ブ:このビットの“1”はデータが次の可能なサイクル
にキューメモリ18と周辺装置(22または24)との
間で移動されるべきことを示す。“0”はキュー制御論
理20が待つべきでありかつデッドバスサイクルがある
場合またはタイムアウトが生じた場合にデータを移動す
べきことを示す。このビットが肯定されたとき、前記複
数のファースト信号の1つが肯定される。
【0033】LQxNWキューノーラップアラウンド:
このビットの“1”は前記複数のキュー要求信号によっ
て転送される、さらに他のキュー要求はもし関連する割
込みラインがアクティブであれば無視されることを示
す。もしあるユーザがキューが満杯であるときに該キュ
ーが到来データによってオーバライトされないことを保
証することを希望する場合は、該ユーザはインタラプト
オンキューフル(interrupt on queu
e full)をイネーブルすべきである。もしユーザ
が該キューが「空である(empty)」場合に該キュ
ーがデータを転送し続けないことを保証することを希望
する場合は、ユーザはインタラプトオンキューエンプテ
ィ(interrupt on queue empt
y)」をイネーブルすべきである。このビットはもし両
方の割込みがディスエーブルされれば何等の効果ももた
ない。このビットの“0”はキューがラップアラウンド
できるようにし、もしそれが「空である」場合は同じデ
ータを再送信し、かつもしそれが満杯であればオーバラ
イトする。
【0034】LQxENキューチャネルイネーブル:こ
のビットの“1”は対応するチャネルをイネーブルしか
つこのビットの“0”は対応するチャネルをディスエー
ブルする。
【0035】LQC01(23)キュー連結チャネル0
および1(2および3):このビットの“1”はチャネ
ル0および1またはチャネル2および3が2つの8ビッ
トのチャネルとしてではなく、単一の16ビットのチャ
ネルとして作用することを示す。チャネル0および1が
連結されたとき、チャネル0に対応する制御レジスタが
16ビットの連結されたキューチャネルの動作を制御す
る。同様に、チャネル2および3が連結されたとき、チ
ャネル2に対応する制御レジスタが16ビットの連結さ
れたキューチャネルの動作を制御する。LQC01の
“0”はチャネル0および1が独立の8ビットのチャネ
ルとして作用することを示す。同様に、LQC23の
“0”はチャネル2および3が独立の8ビットのチャネ
ルとして作用することを示す。
【0036】LQRxLO LIMキューアドレス:前
に述べたように、これらのビットはキュームーブが要求
されるときにアクセスされる下位の8つのアドレスビッ
トに対応する。アドレスの上位8ビットは内部レジスタ
がメモリにマップされる場所に対応する。
【0037】<キューレジスタの説明>図5は、図表形
式で複数のキューレジスタ62を示す。該複数のキュー
レジスタの内の第1のものに対するスタートアドレスは
「ベース(Base)」と称される。したがって、前記
複数のレジスタの各々の引き続くアドレスはこのスター
ト、またはベースアドレス、に増分値を加えたものによ
って決定される。レジスタおよび該レジスタの各々にお
けるビットについての以下の説明では、“x”がチャネ
ル0,1,2または3の1つを総称的に示すために使用
される。これらの取り決めを考慮して、前記レジスタの
各々および前記複数のキューレジスタ62の各々におけ
る各ビットの機能につき概略的に説明する。
【0038】QSRキューステータスレジスタ:リセッ
トの際に、“EF”のサフィックスによって示される、
複数のキューエンプティビットは強制的に“1”の値に
される。“FF”サフィックスによって示される複数の
キューフルビットは強制的に“0”の値にされる。複数
のキューフルビットは書き込むことができない読み出し
のみのビットである。
【0039】QxFF,QxEFキュー割込みフラグ:
前記ベースアドレスに位置するQSRキューステータス
レジスタの各ビットにつきより詳細に説明する。QSR
はQxフル(QxFF)およびQxエンプティ(QxE
F)に対し割込みフラグを含む。割込みフラグの“1”
の論理値は該フラグがアクティブでありかつもし関連す
るイネーブルビットも肯定されていれば割込みを生じさ
せることを示す。
【0040】フルフラグ(QxFF)は読み出し動作よ
り多くのあらかじめ選択された数の書き込み動作、L、
がある場合にセットされる。この例においてLはキュー
メモリ18の長さに等しいものと仮定する。前記フルフ
ラグはキュー読み取り動作が実行されるときにクリアさ
れる。もしより多くのデータがキューメモリ18に対し
それがフルになった後に書き込まれれば、該データは依
然としてキューに書き込まれ、該キューの最も古いデー
タを置き換える。読み出し動作はファーストイン・ファ
ーストアウト(FIFO)フォーマットでデータを提供
し続けるが、最も古いデータは失われることになる。本
発明のこの実施例では、最も最近のLのデータ値は常に
利用可能である。
【0041】前記エンプティフラグ(QxEF)は書き
込み動作より多くのLの読み出し動作があった場合にセ
ットされる。前に述べたように、Lはキューの長さであ
る。前記エンプティフラグは書き込み動作が実行された
ときクリアされる。キューからデータを読み出すことは
非破壊的でありかつ、したがって、キュー全体は反復し
て読み出すことができる。前記エンプティフラグはキュ
ーメモリ18の内容を最初に読み出した後にセットされ
かつ引き続き肯定された状態に留まる。もしキューがエ
ンプティになった後に書き込まれれば、データはキュー
に格納され、それによって該データはキューが「エンプ
ティ」であった場合にデータ読み出しの量にかかわらず
次の読み出し動作の間に読み出されることになる。
【0042】QIERキュー割込みイネーブルレジス
タ:QIERにおいては、全てのビットは“0”にリセ
ットされかつ動作の間の任意の時間に書き込むことがで
きる。
【0043】QxFIE,QxEIEキュー割込みイネ
ーブルビット:Base+1のアドレスに位置するQI
ERキューステータスレジスタの各ビットにつきより詳
細に説明する。QIERはQxフル(QxFIE)およ
びQxエンプティ(QxEIE)に対する割込みイネー
ブルを含む。該イネーブルビットのいずれかにおける論
理“1”は関連する割込みがイネーブルされたことを示
す。
【0044】キューメモリ18の各々のキューチャネル
はそれ自身の割込みベクトルを有することに注目すべき
である。もしキューチャネルが連結されれば、キューが
フルであることおよびキューがエンプティであることを
示すために別個のベクトルを使用することができる。こ
の指示はキューがエンプティであることを示すために1
つのキューチャネルのイネーブルを選択しかつキューが
フルであることを示すために他のキューチャネルのイネ
ーブルを選択することによって達成される。例えば、Q
0FIEはキューがフルであることを示すために使用す
ることができ、かつQ1EIEはキューがエンプティで
あることを示すために使用できる。
【0045】QCRキュー制御レジスタ:QCRにおい
ては、全てのビットは“0”にリセットされ、かつ動作
の間の任意の時間に書き込むことができる。
【0046】QxLNB,QxLNAキュー長さ選択:
前記QCRのQxLNBおよびQxLNAビットにおい
ては、キューチャネルの各々(QxLNB,QxLN
A)に対し長さが選択される。以下の表1は該ビットの
状態および対応するキューの長さを示す。
【0047】
【表1】 長さ QxLNB QxLNA −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 32バイト 0 0 24バイト 0 1 16バイト 1 0 8バイト 1 1
【0048】QDRxキューデータレジスタ:外部ユー
ザによって読み出されるとき、QDRxはポインタスタ
ート値にしたがって最も古いデータを含むキュー内のR
AMロケーションを提供する。同様に、QDRxの書き
込みはポインタエンド値にしたがってキュー内の次に利
用可能なRAMロケーションに書き込む。
【0049】<動作の概略的説明>キューメモリシステ
ム10の動作の間に、システムの外部ユーザはまずユー
ザによって希望されるように機能するためにキュー制御
論理回路20をプログラムしなければならない。例え
ば、前記複数のキューレジスタの各々および前記複数の
キュー制御レジスタの各々はキューの仕様が確立される
ようにプログラムされなければならない。さらに、キュ
ーメモリとデータを通信しようとする周辺装置もプログ
ラムされなければならない。その後、該周辺装置はキュ
ーメモリにデータを格納するためあるいはキューメモリ
からデータを取り出すためにチャネルを要求しなければ
ならない。要求信号が肯定されたとき、キューメモリお
よび周辺装置は読み出しまたは書き込み機能を行なうた
めに一緒に作動する。後により詳細に説明するように、
キュー制御論理はキューメモリシステム10を制御して
いる中央処理ユニットがバスを使用していないか、タイ
ムアウトが生じたか、あるいは周辺装置の要求ができる
だけ早く行なわれるべきことを示すために前記複数のキ
ューレジスタにおいて特定のビットがセットされた場合
に選択的にデータおよびアドレスバスにアクセスするこ
とになる。
【0050】前記複数のキュー制御およびキューレジス
タがプログラムされたとき、周辺装置はキュー要求信号
を肯定しなければならない。キュー要求信号はキューの
どのチャネルが引き続くメモリ転送動作の間にアクセス
されるべきかを示す。キュー要求信号が肯定されたと
き、キューメモリは次の利用可能なタイミングサイクル
においてデータを受信するかあるいはデータを提供す
る。キューメモリシステムの独自の設計のため、データ
バスに情報を提供するためにキューメモリをイネーブル
するためおよびデータバスから情報を読み取るために周
辺装置をイネーブルするために1つのタイミングサイク
ルを必要とするのみである。
【0051】したがって、ここに説明されたキューメモ
リシステムは周辺装置の各々において付加的な回路を必
要とすることなく迅速かつ効率的にキュー形式のメモリ
転送動作を行なうことができる。したがって、本キュー
メモリは汎用目的のものでありかつユーザはシステムに
おいていつおよびどこでキューが使用されるかを決定す
ることができる。他の利点は後により詳細に説明する。
【0052】<動作の詳細な説明>動作の間に、複数の
キュー制御レジスタ52およびキューレジスタ62がま
ずプログラムされなければならない。本発明のこの実施
例では、キューメモリ18は1から4までのチャネルを
もつよう構成することができる。各々のチャネルは32
バイトの長さを有する。システムのチャネルは連結して
異なるデータ幅を形成することができる。例えば、単一
のキューは8ビットのデータ幅をもつことができる。も
しその単一のキューが他の単一のキューと連結されれ
ば、得られた連結されたキューは16ビットのデータ幅
をもつことになる。キュー制御レジスタ52のLQC0
1およびLQC23ビットは外部ユーザがキューメモリ
18をプログラムしてそのような連結されたキューを形
成できるようにする。
【0053】表1によってキューチャネルの説明におい
て前に述べたように、キュー長さ選択ビット(QxLN
BおよびQxLNA)はキューメモリ18のチャネルの
長さを示すためにプログラムされる。前に述べたよう
に、キュー長さ選択ビットの“x”はキューメモリ18
のチャネルを示すことに注目すべきである。例えば、
“x”はそれぞれチャネル0〜チャネル3を指示するた
めに0,1,2または3とすることができる。キュー長
さ選択ビットがプログラムされたとき、キューメモリ1
8の対応するチャネルはキュー長さ選択ビットによって
指示される長さに制限される。
【0054】前記複数のキュー制御レジスタ52におい
ては、各々のチャネルのLWxFSはファースト(高
速)データムーブが開始されるべきか否かあるいはCP
U12がデータ処理動作のためにデータバス28を使用
しなくなるまでキューメモリがデータを通信するのを待
つべきかを指示するためにセットされなければならな
い。本実施例では、キューメモリ18はチャネルのファ
ーストビットが肯定されていない場合にデータを通信す
るために32タイミングサイクルまで待機することにな
る。ユーザはまたそれぞれのチャネルのデータ値がオー
バライトされるべきかを指示するために各チャネルのL
QxNWビットをプログラムしなければならない。前に
述べたように、あるチャネルのLQxNWビットが肯定
されたとき、キューメモリシステム10における周辺装
置によるキュー要求はもし関連するフル割込み信号がア
クティブであれば無視されることになる。したがって、
もしユーザがチャネルがフルである場合にキューが到来
データによってオーバライトされないことを保証するこ
とを希望する場合は、該ユーザはインタラプトオンキュ
ーフル(QxFIE)をイネーブルすべきである。該イ
ンタラプトオンキューフルは後により詳細に説明する。
さらに、キューチャネルイネーブルビット(LQxE
N)のビットもまたプログラムされているチャネル
(x)をイネーブルまたはディスエーブルするためにそ
れぞれ肯定されあるいは否定されなければならない。
【0055】複数のキューレジスタ62においては、キ
ューステータスレジスタ(QSR)は各チャネルのキュ
ー割込みフラグの各々(QxFFおよびQxEF)がキ
ューチャネルのそれぞれの1つがエンプティであるかま
たはフルであるときを指示するために使用できるように
リセットされなければならない。さらに、キュー割込み
イネーブルビット(QxFIE,QxEIE)はキュー
割込みフラグがセットされるようイネーブルするために
肯定されなければならない。
【0056】前記複数のキュー制御レジスタ52および
前記複数のキューレジスタ62のビットをプログラミン
グすることに加えて、ペリフェラルA 22およびペリ
フェラルB 24の各々はキューメモリ18と通信する
ためにプログラムされなければならない。前に述べたよ
うに、ペリフェラルA 22およびペリフェラルB24
の各々は各々がキューメモリ18と通信できるようにす
るために使用される小量の回路を有する。この小量の付
加的な回路はペリフェラルA 22およびペリフェラル
B 24の各々がペリフェラルの中に配置されておらず
かつペリフェラルの設計にとって特有のキュー(キュー
メモリ18)と通信できるようにする。例えば、ペリフ
ェラルA 22はシリアル制御インタフェース(SC
I)でありかつペリフェラルB 24はアナログ−デジ
タル(A/D)変換器とすることができる。示された構
成では、ペリフェラルA 22およびペリフェラルB
24の双方は各々がデータを通信するためにあらかじめ
選択されたチャネルを要求するためにキュー要求信号を
肯定できるようにする小量の付加的な回路のみの追加に
より同じキューメモリ18と通信することができる。ペ
リフェラルA 22およびペリフェラルB 24の各々
は引き続きより詳細に説明する。
【0057】ペリフェラルA 22がキュー要求信号を
肯定してデータ値を記憶するためにキューメモリ18の
チャネル0がアクセスされるべきであることを示す第1
の例を想定する。さらに、チャネル0に対するキュー割
込みイネーブルビット(Q0FIEおよびQ0EIE)
がセットされそれによってもしチャネル0がエンプティ
またはフルであれば、適切なキュー割込みフラグが肯定
されるものと仮定する。
【0058】前に述べたように、キューメモリ18はC
PU12がデータ処理動作のためにデータバス28を使
用していない場合、あるいはキューメモリがデータバス
28にアクセスするために所定の時間の間待機している
場合に情報を通信する。キュー制御論理20はデータバ
ス28へのアクセスを制御しかつCPU12またはキュ
ーメモリ18がデータバス28およびアドレスバス26
を介して、それぞれ、データおよびアドレス情報を提供
できるかを示すために適切な制御情報をバスルーティン
グおよび制御論理回路16に提供する。
【0059】キュー制御論理回路20におけるフロー制
御回路50はキューメモリ18がアドレスバス26およ
びデータバス28にアクセスできることを示す。図6
は、フロー制御回路50の動作を記述するフローチャー
トを示す。しかしながら、図6に示されたステップを実
行する前に、フロー制御回路50は前記バス利用可能、
タイムアウト、およびファースト信号を受信しなければ
ならない。
【0060】前記バス利用可能(Bus Availa
ble)信号はクロック回路40がディスエーブルCP
Uクロック信号を肯定したときまたはCPU12がCP
Uバス利用可能信号を肯定したときに肯定される。いず
れかの信号の肯定に応じて、ORゲート42は前記バス
利用可能信号を肯定する。クロック回路40は所定のタ
イムアウト期間が経過したときにディスエーブルCPU
クロック信号を肯定することに注目すべきである。クロ
ック回路40はまた前記所定のタイムアウト期間が経過
した時に前記タイムアウト信号を肯定する。前記CPU
バス利用可能信号はCPU12がデータ処理動作を行な
うためにデータバス28を使用していない場合に肯定さ
れる。
【0061】図6に示されるように、フロー制御回路5
0はペリフェラルすなわち周辺装置A 22またはペリ
フェラルすなわち周辺装置B 24のいずれかが前記複
数のキュー要求信号によってキューメモリ18と通信す
ることを要求した場合に該フローチャートの各ステップ
の実行を開始する。前記複数のキュー要求信号の肯定さ
れた1つを受信した後、フロー制御回路50は前記バス
利用可能信号が肯定されているかを判定するためにテス
トを行なう。もしバス利用可能信号が肯定されていなけ
れば、フロー制御回路50はキューメモリ18のチャネ
ルゼロに関連するFast0信号(LQ0FSによって
決定される)およびキュー要求信号(QRequest
0)が共に肯定されているか否かを判定する。もし両方
が肯定されていれば、フロー制御回路50はフリーズC
PU信号を肯定してCPU12が1つのタイミングサイ
クルの間データバス28を使用しないようにさせる。該
フリーズ信号はCPUに次のバスサイクルの境界で始ま
る1つのバスタイミングサイクルの間一時的に処理を停
止しかつバス利用可能信号を肯定させる。
【0062】フロー制御回路50は次にQMove信号
を肯定しかつキューメモリ18はデータバス28によっ
てデータを通信するためにイネーブルされる。もし前記
Fast0またはQRequest0信号のいずれか1
つが否定されていれば、フロー制御回路50はキューメ
モリ18のチャネル1に関連するFast1信号(LQ
1FSによって決定される)およびキュー要求信号(Q
Request1)が共に肯定されているか否かを判定
する。前と同様に、もし両方が肯定されていれば、フロ
ー制御回路50はフリーズCPU信号を肯定してCPU
12が1つのタイミングサイクルの間データバス28を
使用しないようにさせる。
【0063】フロー制御回路50は次にQMove信号
を肯定しかつキューメモリ18はデータバス28によっ
てデータを通信するためにイネーブルされる。同様に、
もし前記Fast1およびQRequest1信号のい
ずれかが否定されていれば、フロー制御回路50はキュ
ーメモリ18のチャネル2に関連するFast2信号
(LQ2FSによって決定される)およびキュー要求信
号(QRequest2)が共に肯定されているか否か
を判定する。もし両方が肯定されていれば、フロー制御
回路50はフリーズCPU信号を肯定してCPU12に
1つのタイミングサイクルの間データバス28を使用し
ないようにさせる。
【0064】フロー制御回路50は次にQMove信号
を肯定しかつキューメモリ18はデータバス28によっ
てデータを通信するためにイネーブルされる。前と同様
に、もしFast2およびQRequest2信号のい
ずれかが否定されていれば、フロー制御回路50はキュ
ーメモリ18のチャネル3に関連するFast3信号
(LQ3FSによって決定される)およびキュー要求信
号(QRequest3)が共に肯定されているか否か
を判定する。もし両方が肯定されていれば、フロー制御
回路50はフリーズCPU信号を肯定してCPU12が
1つのタイミングサイクルの間データバス28を使用し
ないようにさせる。フロー制御回路50は次にQMov
e信号を肯定しかつキューメモリ18がデータバス28
によってデータを通信するためにイネーブルされる。も
し前記Fast3およびQRequest3信号のいず
れかが否定されていれば、フロー制御回路50は所定の
期間が経過したか否かを判定する。もし該所定の期間が
経過していなければ、フロー制御回路50は再び前記バ
ス利用可能信号が肯定されているか否かを判定するため
にテストを行なう。もし前記所定の期間が経過していれ
ば、フロー制御回路50はフリーズCPU信号を肯定し
てCPU12が1つのタイミングサイクルの間データバ
ス28を使用しないようにさせる。フロー制御回路50
は次にQMove信号を肯定しかつキューメモリ18は
データバス28によってデータを通信するためにイネー
ブルされる。
【0065】もし前記バス利用可能信号が肯定されれ
ば、フロー制御回路50は係属している最も高い優先度
の要求を決定するためにテストを行なう。QReque
st0信号が肯定されて周辺装置がキューメモリ18の
チャネル0にアクセスするのを希望することを示す。も
しQRequest0が肯定されれば、キュー制御論理
回路20は前記QMove0信号を肯定する。QMov
e0信号はORゲート64に提供されてQDrive信
号を発生する。QDrive信号はデータバス28によ
ってデータを通信するためにキューメモリ18をイネー
ブルする。もしQRequest0信号が否定されれ
ば、フロー制御回路50はQRequest1信号が肯
定されて周辺装置がキューメモリ18のチャネル1にア
クセスすることを希望していることを示しているか否か
を判定するためにテストを行なう。
【0066】もしQRequest1が肯定されていれ
ば、キュー制御論理回路10は前記QMove1信号を
肯定する。QMove1信号はORゲート64に提供さ
れてQDrive信号を発生する。QDrive信号は
データバス28によってデータを通信するためにキュー
メモリ18をイネーブルする。同様に、もしQRequ
est1信号が否定されていれば、フロー制御回路50
はQRequest2信号が肯定されて周辺装置がキュ
ーメモリ18のチャネル2にアクセスすることを希望し
ていることを示すために肯定されているか否かを判定す
るためテストを行なう。
【0067】もしQRequest2が肯定されていれ
ば、キュー制御論理回路20はQMove2信号を肯定
する。QMove2信号はORゲート64に提供されて
QDrive信号を発生する。QDrive信号はデー
タバス28によってデータを通信するためにキューメモ
リ18をイネーブルする。もし前記QRequest2
信号が否定されていれば、フロー制御回路60は周辺装
置がキューメモリ18のチャネル3にアクセスすること
を希望していることを判定し、かつキュー制御論理回路
20はQMove3信号を肯定する。QMove3信号
はORゲート64に提供されてQDrive信号を発生
する。QDrive信号はデータバス28によってデー
タを通信するためにキューメモリ18をイネーブルす
る。
【0068】バスルーティングおよび制御論理回路16
はキュー制御論理20と組合せて機能しデータバス28
に対応するアドレスバス26を介してアドレス情報を提
供する。バスルーティングおよび制御論理回路16はC
PU16およびキュー制御論理回路20の双方から情報
を受信しかつどの情報がアドレスバス26に対しかつR
/*W信号に伝搬されるべきかを決定する。もし前記Q
Drive信号が肯定されてキューメモリ18がデータ
バス28を介してデータを通信しようとしていることを
示せば、バスルーティングおよび制御論理回路16の制
御スイッチ44は前記QR/*W信号をR/*Wとして
メモリ14、ペリフェラルA 22およびペリフェラル
B 24の各々に提供する。さらに、QDrive信号
が肯定されたとき、アドレススイッチ46がイネーブル
されて転送アドレスバス38を介してキューメモリ18
によって提供されたアドレスをメモリ14、キュー制御
論理20、ペリフェラルA 22、およびペリフェラル
B 24の各々へとアドレスバス26を介して供給す
る。
【0069】同様に、もし前記QDrive信号が否定
されてCPU12がデータバス28を介して通信しなけ
ればならないことを示せば、バスルーティングおよび制
御論理回路16の制御スイッチ44は前記CPU R/
*W信号を前記R/*Wとしてメモリ14、ペリフェラ
ルA 22およびペリフェラルB 24の各々に供給す
る。さらに、前記QDrive信号が否定された時、ア
ドレススイッチ46がイネーブルされてCPUアドレス
バス30を介してCPU12によって提供されたアドレ
スをアドレスバス26を介してメモリ14、キュー制御
論理20、ペリフェラルA 22、およびペリフェラル
B 24の各々に供給する。
【0070】バスルーティングおよび制御論理回路16
およびキュー制御論理回路20の双方はCPU12およ
びキューメモリ18の双方によってデータが効率的に転
送できるようにイネーブルする。CPU12は一般には
常にデータバス28の使用を必要とするのではなく、し
ばしば空きのタイミングサイクルを有することを認識す
ることによって、キューメモリシステム10はCPU1
2の動作を凍結させることなしにキューメモリ18と周
辺装置(22および24)との間でデータを転送するた
めに前記空きのタイミングサイクルを効率的に使用する
ことができる。ここに示された発明の構成においては、
CPU12は典型的にはそれぞれ5つのタイミングサイ
クルの内の4つのみを使用する。組み込まれたタイムア
ウト機構によってキューメモリ18が情報を通信する前
にあらかじめ選択された期間の間待つのみでよいことが
保証される。
【0071】本発明のこの実施例では実施されていない
が、前記あらかじめ選択された期間はキューメモリシス
テム10のユーザによってプログラムすることができ
る。さらに、キューメモリシステム10は複数のキュー
制御レジスタ52における前記ファーストビットを肯定
することにより直ちにCPU12の動作を中止するよう
プログラムすることができる。本システムによって提供
される柔軟性は空きのタイミングサイクルを待つ効率を
周辺装置に対し/からデータを適時に転送するためのユ
ーザの要求とを効率的にバランスさせる。図3に示され
たフロー制御回路50はキューメモリ18の各々のチャ
ネルに対応するQMove信号を発生するための論理回
路を含む。例えば、フロー制御回路50の論理回路の第
1の部分はキューメモリ18のチャネルゼロがデータバ
ス28を要求していることを示すためにQMove0信
号を発生する。同様に、フロー制御回路50の論理回路
の第2、第3および第4の部分はそれぞれチャネル1,
2および3がデータバス28を必要としていることを示
すためにQMove1,QMove2およびQMove
3信号を発生する。もし前記QMove0,QMove
1,QMove2およびQMove3信号のいずれかが
肯定されれば、前記QDrive信号が肯定される。
【0072】インクリメンタ回路A 74はLQ0TX
の状態に応じて2つの動作モードを有する。LQ0TX
が否定されているとき、関連するキューチャネルは受信
キューとして機能する。LQ0TXが肯定されていると
き、関連するキューチャネルは送信キューとして機能す
る。QMove0を肯定することによってインクリメン
タ回路A 74がキュー転送を行なうことを開始させ
る。QR/*W0はキューメモリ18へのまたはキュー
メモリ18からのデータ転送の方向を制御する。
【0073】キューチャネルが受信キューとして構成さ
れている場合、ポインタスタートレジスタ56は「現在
のアドレス(current address)」とし
て取り扱われ、かつポインタエンドレジスタ58はキュ
ーマーカーの終りとして取り扱われる。最初は、前記ポ
インタエンドおよびポインタスタート値は等しい。新し
いデータ値が周辺装置からキューメモリ18に格納され
たとき、マルチプレクサ54はポインタスタート値をキ
ューアドレスバス34を介して受け渡しこれは前記受信
した値が格納されるキューメモリ18のアドレスを識別
する。
【0074】比較器およびインクリメンタ制御回路60
が次にポインタスタートレジスタ56の値を増分する。
次に、ポインタスタート値がポインタエンド値と比較さ
れかつそれらが等しければフルフラグ(Q0FF)が肯
定される。CPU12によってデータ値がキューメモリ
18から読み出されたとき、ドライブ54は前記データ
値がキューメモリ18から読み出されるキューアドレス
バス34を介して前記ポインタエンド値を受け渡す。比
較器およびインクリメンタ制御回路60は次にポインタ
エンドレジスタ58の値を増分する。次に、該ポインタ
エンド値は前記ポインタスタート値と比較されかつもし
それらが等しければエンプティフラグ(Q0EF)が肯
定される。
【0075】キューチャネルが送信キューとして構成さ
れている場合は、ポインタエンドレジスタ58は「現在
の」アドレスとして取り扱われ、かつポインタスタート
レジスタ56はエンプティキューマーカーとして取り扱
われる。最初は、ポインタエンドおよびポインタスター
ト値は等しい。新しいデータ値がCPU12からキュー
メモリ18へと書き込まれたとき、ドライバ54は前記
ポインタエンド値をキューアドレスバス34を介して受
け渡しそこで前記データ値がキューメモリ18に書き込
まれる。
【0076】比較器およびインクリメンタ制御回路60
は次にポインタエンドレジスタ58の値を増分する。次
に、ポインタエンド(現在のアドレス)値がポインタス
タート値と比較されかつもしそれらが等しければフルフ
ラグ(Q0FF)が肯定される。あるデータ値がキュー
メモリ18から周辺装置へと転送される場合、マルチプ
レクサ54はポインタスタート値をキューアドレスバス
34を介して受け渡しこれは周辺装置に対するデータが
読み出されるキューメモリ18のアドレスを識別する。
比較器およびインクリメンタ制御回路60は次にポイン
タスタートレジスタ56の値を増分する。次に、ポイン
タエンド(現在のアドレス)値がポインタスタート値と
比較されかつもしそれらが等しければエンプティフラグ
(Q0EF)が肯定される。
【0077】さらに、前記QR/*W0信号はインバー
タ68によって反転され、かつ反転されたQR/*W0
信号はドライバ66に供給される。QSize0信号お
よびQRequest0信号もまたドライバ66に供給
されてそれぞれキューメモリ18においてアクセスされ
るべき値の幅(width)を指示しかつ再び本キュー
システムが実施されているデータ処理システムの周辺装
置(例えば、22および24)による要求に応じて正し
いチャネルが確実にアクセスされるようにする。QSi
ze0信号およびQxLNBおよびQxLNAビットの
発生については前に説明した。ドライバ66は上に述べ
た信号の各々を処理してキュー制御バス36を介してキ
ューメモリ18のチャネルゼロの動作を制御するために
複数の制御信号を提供する。
【0078】前に述べたように、キュードライブ信号が
肯定されているから、バスルーティングおよび制御論理
回路は前記QR/*W信号をR/*W信号として転送し
かつ転送アドレスバス38によって提供されたアドレス
をアドレスバス26を介して転送する。もしQDriv
e信号が肯定されていなければ、キューメモリ18はキ
ュー制御論理回路20のフロー論理回路50がQDri
ve信号を肯定するまで情報を通信するのを待つことに
なる。
【0079】効率的な様式でキューメモリ18およびC
PU12がデータバス28およびアドレスバス26を分
けあうことができるようにするための機構をもつことに
加えて、ペリフェラルA 22およびペリフェラルB
24の各々は個別のキューまたは複雑かつ領域を消費す
るダイレクトメモリアクセス回路を必要とすることなく
同じキューメモリ(18)と通信するよう設計されてい
る。ペリフェラルA22およびペリフェラルB 24の
各々は外部ユーザが複数のキュー要求信号によってキュ
ーメモリ18と通信するようプログラム可能とする内部
レジスタを有する。各々のペリフェラルは一般にデータ
処理プログラムを開始するのに先立ちユーザによってキ
ューメモリ18の特定のチャネルに割当てられる。しか
しながら、ペリフェラルの数はキューメモリ18のチャ
ネルの数によって制限されない。いくつかの構成では、
単一のペリフェラルが1つより多くのチャネルを必要と
し、一方他の構成では、2つまたはそれ以上のペリフェ
ラルが1つのチャネルを共有することができる。もちろ
ん、チャネルの数は設計的な事項でありかつキューメモ
リシステムの設計者によって増大しかつ低減することが
できる。さらに、1つより多くのペリフェラルが1つの
チャネルを異なる時間に使用できるようにするために論
理回路またはソフトウェアを構成することもできる。
【0080】次に、周辺装置として使用できるいくつか
の可能な装置およびキューメモリシステム10との通信
のために必要とされるレジスタについて説明する。ここ
で説明される複数の周辺装置の各々の重要な観点は各々
がキューメモリ18へのアクセスを要求できることであ
る。そのような要求は一般にキュー要求信号を介して転
送される。複数の周辺装置の各々が持つべき第2の能力
はキュー転送動作に応じて割込みフラグが自動的にリセ
ットされなければならないことを示すビットまたは信号
である。
【0081】一般に、2つのタイプの周辺装置がある。
第1のタイプの装置は情報の転送に基づき自動的にリセ
ットする。自動的にリセットした後、該第1のタイプの
装置は他の機能を行なう用意ができている。実際に、第
1のタイプの周辺装置によって実行される機能は情報の
転送によって開始される。第1のタイプの装置の例はA
/D変換器であり、これは前の結果(変換)をキューメ
モリ18のチャネルに転送することに基づきA/D変換
を開始する。この例では、周辺装置の内部レジスタは自
動フラグクリアを選択するための制御ビットおよびA/
D変換器が通信しているキューメモリ18のチャネルを
示す複数のビットのみを必要とすることになる。
【0082】第2のタイプの装置は前記第1のタイプの
装置について述べたのと同じ機能を達成することができ
る。さらに、第2のタイプの装置は何らのデータ転送を
必要とすることなくキューメモリ18と他の周辺装置と
の間の通信を「聴取する(listen)」ことができ
る。例えば、第2のタイプの周辺装置はあらかじめ定め
されたキューラインが肯定されているという条件によっ
てトリガされるようにすることができる。第2のタイプ
の周辺装置のための聴取論理は典型的には他の周辺装置
がデータ処理動作を開始したことを決定するために複数
のキュー要求ラインのみを監視する。このタイプの周辺
装置の例はタイマ周辺装置およびキューメモリ18の間
での情報の転送に基づきA/D変換を開始するA/D変
換器である。この第2のタイプの周辺装置は自動フラグ
クリアを選択するための同じ制御ビットと該周辺装置が
通信するキューメモリ18のチャネルを示すための複数
のビットを必要とする。さらに、第2のタイプの周辺装
置はキュー要求ラインを監視するために選択するための
複数のビットおよび聴取モードイネーブルビットを必要
とする。
【0083】第3のタイプの装置は聴取動作のみのため
に設計することができる。このタイプの装置はキューメ
モリに対するデータパス接続を持たないが他の周辺装置
からのキュー要求事象に反応することができる。
【0084】<周辺装置のタイプの説明> 「タイマ」第1の例では、周辺装置はタイマとして実施
できる。タイマ回路はデータ処理技術においてよく知ら
れておりかつ、したがって、図1では詳細に示されてい
ない。この例ではペリフェラルB 24は適切なデータ
レジスタ、パルスアキュムレータ、およびタイマ入力捕
捉およびタイマ出力比較フラグを備えたタイマとして構
成されるものと仮定する。以下に、タイマシステムがキ
ューメモリシステム10内で機能することができるよう
にするための可能な制御レジスタを示す表2が与えられ
ている。
【0085】
【表2】 アドレス レジスタ ビット7 ビット6 ビット5 ビット4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Base TSCR TDIS TSWAI TSBCK TFFCA Base+1 TQCR PAOQB PAOQA TC2QB TC2QA ビット3 ビット2 ビット1 ビット0 −−−−−−−−−−−−−−−−−−−−−−− PAOQE TC2QE TC3QE TC4QE TC3QB TC3QA TC4QB TC4QA
【0086】次に、前記タイマシステム制御レジスタ
(TSCR)および前記タイマキュー制御レジスタ(T
QCR)の各々の各ビットの説明を行なう。
【0087】TSCR:タイマシステム制御レジスタ リセットの場合に全てのビットは0であり、かつ該ビッ
トは任意の時間に読み出しかつ書き込むことができる。
【0088】TDIS:タイマディスエーブル 論理“1”は、カウンタを含む、タイマをディスエーブ
ルする。そのような特徴的機能は電力消費を低減するた
めに使用できる。論理“0”はタイマが通常の機能を行
なうことができるようにする。
【0089】TSWAI:待機の間におけるタイマの停
止(Timer Stops While in Wa
it) 論理“1”はキューメモリシステム10が待機状態にあ
る場合には常にタイマをディスエーブルする。待機モー
ドはデータ処理技術の分野で良く知られておりかつここ
ではこれ以上詳細に説明しない。この特徴的機能は電力
消費を低減するために有用である。否定された場合、こ
のビットはタイマが待機状態で走行し続けることができ
るようにする。
【0090】TSBCK:背景モードにある場合のタイ
マ停止 肯定されたとき、このビットはパートが背景モードにあ
る場合にタイマをディスエーブルする。典型的には、こ
のビットはシステムエミュレーションの間に肯定され
る。否定されたとき、このビットはタイマが背景モード
にある間に走行を続けることができるようにする。
【0091】TFFCA:タイマファーストフラグクリ
アオール(Timer FastFlag Clear
All) “1”の論理値はタイマにおける全てのパルスアキュム
レータオーバフロー、タイマ入力捕捉およびタイマ出力
比較フラグをファーストクリアシーケンスへと変える。
ファーストクリアシーケンスにおいては、関連するデー
タレジスタへのアクセスは関連するフラグをもし該フラ
グがアクセスのときにセットされていればクリアさせ
る。いくつかのシステムにおいては、ファーストクリア
シーケンスはタイマをより早く用いるために使用するこ
とができる。ノーマルフラグクリアシーケンスなしで
は、前記フラグはもしユーザがそれらのプログラミング
コードに注意深くなければはからずもクリアされるかも
しれない。
【0092】TFFCAビットが否定されているとき、
タイマフラグクリアシーケンスは、キューとインタフェ
ースするためにユーザによって選択されたタイマチャネ
ルまたはパルスアキュムレータを除き、通常通り機能す
る。これらのタイマチャネルはファーストクリアシーケ
ンスを行なう。関連するデータレジスタへのアクセスは
関連するTFFCAビットをもしそれがアクセスのとき
に肯定されておればクリアさせることになる。
【0093】PAOQE:パルスアキュムレータオーバ
フローキューイネーブル 肯定されたとき、PAOQEビットはタイマキュー制御
レジスタ(TQCR)のビットによって選択されたキュ
ー要求信号をトリガするためにパルスアキュムレータオ
ーバフローを選択する。否定されたとき、PAOQEビ
ットはパルスアキュムレータをディスエーブルし、該パ
ルスアキュムレータがキュー要求信号を修正できないよ
うにする。
【0094】TC2QE:タイマチャネル2キューイネ
ーブル 肯定されたとき、TC2QEビットはタイマキュー制御
レジスタ(TQCR)のビットによって選択されたキュ
ー要求信号をトリガするために第1のタイマ入力捕捉/
出力比較フラグ(2)を選択する。否定されたとき、前
記第1のタイマ入力捕捉/出力比較フラグ(2)はキュ
ー要求信号を修正できない。
【0095】TC3QE:タイマチャネル3キューイネ
ーブル 肯定されたとき、TC3QEビットはタイマキュー制御
レジスタ(TQCR)のビットによって選択されたキュ
ー要求信号をトリガするために第2のタイマ入力捕捉/
出力比較フラグ(3)を選択する。否定されたとき、前
記第2のタイマ入力捕捉/出力比較フラグ(3)はキュ
ー要求信号を修正できない。
【0096】TC4QE:タイマチャネル4キューイネ
ーブル 肯定されたとき、TC4QEビットはタイマキュー制御
レジスタ(TQCR)のビットによって選択されたキュ
ー要求信号をトリガするために第3のタイマ入力捕捉/
出力比較フラグ(4)を選択する。否定されたとき、前
記第3のタイマ入力捕捉/出力比較フラグ(4)はキュ
ー要求信号を修正できない。
【0097】TQCR:タイマキュー制御レジスタ 全てのビットは“0”にリセットされかつ任意の時間に
書き込むことができる。
【0098】タイマキュー制御レジスタ内には、複数の
キュー要求選択ビット(xyzQB,xyzQA)が格
納される。キュー要求選択ビットは複数のキュー要求信
号の内のどれがキューメモリ18のどのモジュールに接
続されるかを選択する。もしあるシステムが1つより多
くのキューメモリシステムと共に構築されれば、前記複
数のキュー選択ビットは付加的なキューチャネルにアク
セスするために修正されなければならない。表3は前記
複数のキュー選択ビットのそれぞれの組合せの各々によ
ってアクセスされるキューメモリ18の部分を示す。
【0099】
【表3】 選択されたキュー xyzQB xyzQA −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− キューチャネル#0 0 0 キューチャネル#1 0 1 キューチャネル#2 1 0 キューチャネル#3 1 1
【0100】いったん上に説明した各々のビットがプロ
グラムされると、タイマがキューメモリシステム10内
で実施できる。複数のキュー選択ビットはキューメモリ
18のチャネルにアクセスするためにプログラムされ
る。いったんプログラムされると、タイマは該タイマの
何らかの機能によってキューメモリ18からの情報にア
クセスしあるいはキューメモリ18へのメモリ格納のた
めにプログラムすることができる。例えば、入力捕捉チ
ャネルが外部信号の立上りエッジを捕捉するたびごと
に、前記複数のキュー選択ビットによって選択されるキ
ューメモリ18のあるチャネルに関連する時間が格納す
ることができる。他の例では、タイマの出力比較チャネ
ルはタイマに自動的に再ロードして全ての聴取する(l
istening)周辺装置のための共通のタイムベー
スを確立しそれによって各々がその機能を同期した周期
的なベースで実行できるようにすることができる。
【0101】「A/D変換器」第1の例では、周辺装置
はアナログ−デジタル変換器とすることができる。アナ
ログ−デジタル回路はデータ処理技術において良く知ら
れておりかつ、したがって、図1には詳細に示されてい
ない。この例においてペリフェラルB 24は適切なデ
ータレジスタを備えたアナログ−デジタル変換器として
構成されているものと仮定する。以下の表4はアナログ
−デジタル変換器がキューメモリシステム10内で機能
できるようにするための可能な制御レジスタを示してい
る。
【0102】
【表4】 アドレス レジスタ ビット7 ビット6 ビット5 ビット4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Base ADSCR ADPU AFFC Base+1 AQCR ビット3 ビット2 ビット1 ビット0 −−−−−−−−−−−−−−−−−−−−−− ADTQE ACCQE ADTQB ADTQA ACCQB ACCQA
【0103】次に、A/D変換器システム制御レジスタ
(ADSCR)およびA/D変換器キュー制御レジスタ
(AQCR)の各々の各ビットの説明を行なう。
【0104】ADSCR:A/D変換器システム制御レ
ジスタ リセットされると、A/D変換器システム制御の全ての
ビットは否定される。該ビットは動作の間の任意の時間
に読み出しかつ書き込むことができる。
【0105】ADPU:A/D変換器パワーアップ 肯定されたとき、ADPUビットはA/D変換器が変換
動作を行なうのを開始できるようにする。否定されたと
き、ADPUビットはA/D変換器をディスエーブルし
かつA/D変換器はもはや変換動作を行なうためにイネ
ーブルされない。
【0106】AFFC:A/Dファーストフラグクリア AFFCビットが肯定されたとき、通常実行されるフラ
グクリアシーケンスは高速クリアシーケンスへと変更さ
れる。A/D変換器に関連する結果レジスタへのアクセ
スは関連するフラグを、もし該フラグがその時間に肯定
されていれば否定されるようにする。いくつかのシステ
ムにおいては、ファーストフラグクリアシーケンスはA
/D変換器が使用するために利用できる時間量を増大す
ることができる。ノーマルフラグクリアシーケンスなし
では、各フラグはもしユーザがそれらのプログラミング
符号に注意深くなければはからずもクリアされることが
あり得ることを指摘する必要がある。
【0107】AFFCビットが否定されているとき、完
全なフラグクリアは通常所定のソフトウェアシーケンス
を実行することによって機能する。
【0108】ADTQE:キューイネーブルからのA/
D変換器トリガ 肯定されたとき、ADTQEは複数のキュー要求信号の
内の1つによってキュー転送が要求されたときA/D変
換器が変換を開始できるようにする。A/D変換器は次
にキュー聴取動作モードにあり、それによって選択され
たキュー要求ラインが肯定されたとき、A/D変換器は
変換動作を開始する。ADTQEビットが否定されたと
き、A/D変換器は聴取機能を行なっておらず、典型的
なA/D変換器として機能している。
【0109】ACCQE:A/D変換完了キューイネー
ブル ACCQEビットが肯定されているとき、A/D変換完
了フラグはA/D変換器キュー制御レジスタ(AQC
R)におけるビットによって選択された前記複数のキュ
ー要求信号の内の選択された1つをトリガするよう選択
される。ACCQEビットが否定されたとき、A/D変
換完了フラグは前記複数のキュー要求信号のいずれをも
トリガしない。
【0110】AQCR:A/Dキュー制御レジスタ AQCRの全てのビットはゼロにリセットされかつ任意
の時間に書き込むことができる。
【0111】AyzQB,AyzQAキュー要求選択ビ
ット これらのビットはA/D変換器によって選択されるキュ
ーメモリ18のチャネルを選択する。表5は各々のビッ
トの組合せに対して選択されるチャネルを示す。
【0112】
【表5】 選択されるキュー AyzQB AyzQA −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− キューチャネル#0 0 0 キューチャネル#1 0 1 キューチャネル#2 1 0 キューチャネル#3 1 1
【0113】いったん上に述べたビットの各々がプログ
ラムされると、アナログ−デジタル変換器はキューメモ
リシステム10において実施できる。複数のキュー選択
ビットがキューメモリ18のチャネルをアクセスするた
めにプログラムされる。いったんプログラムされると、
A/D変換器はキュー要求信号を「聴取する」ようおよ
びタイマ出力比較からの要求に応じて変換動作を開始す
るようプログラムできる。さらに、A/D変換器は引き
続き変換結果をキューメモリ18の他のチャネルに転送
することができる。
【0114】第1の例では、A/D変換器のサブシステ
ムは前記複数のキュー要求信号を監視してキューメモリ
18の特定のチャネルが書き込まれていることを判定す
る。もし複数のキュー要求信号の内のあらかじめ選択さ
れた1つが肯定されていれば、A/D変換器はキューメ
モリシステム10の外部のソースによって与えられた入
力データをサンプルし始める。A/D変換器がサンプル
を完了したとき、該A/D変換器は表5に示されるキュ
ー要求選択ビット(AyzQB,ByzQA)によって
特定される前記複数のキュー要求信号の内の1つを肯定
する。前記複数のキュー要求信号の内の1つを肯定しか
つ前記複数のQMove信号の内の1つによってアクノ
レッジを受信した後、A/D変換器はデータを前記複数
のキュー要求信号の内の1つによって要求されるキュー
メモリ18のチャネルに送信する。A/D変換器は次に
要求されたデータを記憶しかつ再び前記複数のキュー要
求信号の内の前記あらかじめ選択された1つが肯定され
るのを「聴取する(listen)」ことになる。典型
的には、前記複数のキュー要求信号の内のあらかじめ選
択された1つによってアクセスされている他のキューは
タイマ出力比較チャネルである。中央処理ユニット12
は上に述べた機能のいずれをも実行することを要求され
ない。したがって、中央処理ユニット12はA/D変換
器がキューメモリ18にアクセスしている間は他のデー
タ処理動作のために使用できる。
【0115】一般に、A/D変換器は間欠的にあるいは
連続的に変換動作を行なうために使用される。A/D変
換器が変換動作を間欠的に行なうようプログラムするユ
ーザはたぶんA/D変換器をタンクの温度、流量、レベ
ル、あるいは1つまたは2つのデータポイントのみおよ
びデータ値が何らかの制御パラメータを決定するために
使用される他の現象を決定するために使用するであろ
う。A/D変換器を連続的に変換動作を行なうようプロ
グラムするユーザは個々のデータポイントには興味を持
たないが、複数のデータポイントの累積的な効果に関心
を持つ。典型的には、複数のデータポイントの累積的な
効果を必要とする動作はFFT,DFT,FIRおよび
IIRのようなフィルタである。そのような集中的な変
換動作においては、データストリームをサンプリングす
るための周期的な割込みが必要とされる。このシステム
では、アナログ−デジタル変換動作に関連する割込みに
費やされる時間は非常に大きなものとなり、特にデータ
ストリームのサンプリングレートが高い場合はなおさら
である。キューメモリシステム10は、キュードタイマ
出力比較をセットアップしかつそのキュードタイマ出力
に基づきA/Dデータ捕捉をトリガしかつ次にキューに
おけるA/Dサンプルの集積を行なうことにより、周期
的なサンプリングを必要とするシステムを効率的に実現
するようプログラムできる。さらに、キューメモリシス
テム10はCPU12が32までのサンプルを取り出す
ために一度だけ割込みを行なうことができるようにす
る。キューメモリシステム10の効率は32の割込みに
比較して1回の割込みのみを必要とすることにより時間
を節約する。さらに、A/D変換動作をスケジューリン
グするためにCPUが割込まれる必要がある従来技術の
システムにおいては、割込みに関連する潜伏期間が実行
できるA/D変換動作の数を制限した。
【0116】キューメモリシステム10においてサンプ
リングA/D変換器を実現する基本的なステップにつき
説明する。第1のステップにおいては、キューメモリ1
8のチャネル0がタイマペリフェラルに供給されるべき
出力/比較値によって満たされる。タイマは(前に述べ
たように)キューメモリ18のチャネル0によって新し
い出力比較値で再ロードされるようプログラムされる。
したがって、前記表3によれば、TC2QBおよびTC
2QAビットは共に否定されてキューメモリ18のチャ
ネル0がキュー転送動作の間に使用されることを指示す
る。
【0117】次に、A/D変換器は変換動作を開始する
ためにQRequest0信号を聴取するようプログラ
ムされなければならない。A/D変換器をプログラムす
るためには、A/D変換器システム制御レジスタ(表4
のADSCR)のADTQEおよびACCQEビットは
肯定されなければならない。A/Dキュー制御レジスタ
(表4および表5のAQCR)のADTQBおよびAD
TQAビットは、キューメモリ18のチャネル0がデー
タを通信するときA/D変換器が変換動作を開始すべき
ことを指示するために否定されなければならない。前記
A/Dキュー制御レジスタのACCQBおよびACCQ
Aビット(表4および表5のAQCR)はそれぞれ0お
よび1にリセットされてA/D変換結果が変換が完了し
たときキューメモリ18のチャネル1に書き込まれるべ
きことを指示しなければならない。A/D変換器のレジ
スタをプログラミングすることに加えて、前記複数のキ
ューレジスタ52のLQR0HIレジスタのLQ0TX
およびLQ0FSビット(図4)はデータ転送のための
正しい方向を示しかつデータ転送速度を決定するために
プログラムされなければならない。したがって、キュー
メモリ18も前記複数の周辺装置22および24もCP
U12がデータバス28上で「デッド(dead)」サ
イクルを持つのを待機することを要求される。
【0118】複数のキューレジスタ52に加えて、複数
のキュー制御レジスタ62もキューメモリ18のチャネ
ル0の正しい長さを示しかつキューメモリ18のチャネ
ル0が先であってさらにタイマ出力比較値が必要である
ことを示している場合に割込みが肯定できるようにする
ためプログラムされなければならない。したがって、複
数のキュー制御レジスタ62のQ0EIE,Q0LNA
およびQ0LNBビットの双方は肯定されなければなら
ない。A/Dは次に変換動作が完了したときキューメモ
リ18のチャネル1の変換動作の結果を転送するようプ
ログラムされなければならない。チャネル0に関して前
に述べたように、チャネル1はデータ(LQ1TX)、
キューチャネル1の長さ(Q1LNA,Q1LNB)の
転送のための正しい方向を示し、かつキューメモリ18
のチャネル1が満杯である場合に(Q1FIE)割込み
を行なうようプログラムされなければならない。
【0119】上に示した各々のビットについてのさらに
詳細な説明については、図5による前の説明を参照。上
述の各々のステップが実行されたとき、A/D変換器は
キューメモリ18のチャネル0が空きになるかあるいは
キューメモリ18のチャネル1が満杯になるまで変換動
作を行なうことができる。そのときに、CPU12はキ
ューメモリ18における情報にサービスするために割込
まれることになる。
【0120】上に述べた例はアナログ−デジタル変換器
のみに関連するのではなく、デジタル−アナログ変換器
または他の周辺装置のためにも利用できることに注目す
べきである。しかしながら、デジタル−アナログ変換器
を使用する場合、ユーザはアナログ−デジタル変換器の
場合のようにデータを受信するよりはむしろデータを規
則的なインターバルで送信する必要がある。この状況で
は、上に述べたのと同じステップに従えば良い。最初
に、デジタル−アナログ変換器は送信すべき値(これは
他のキューチャネルから来ることができる)によってプ
ログラムされる。デジタル−アナログ変換器は次にタイ
マを出力比較チャネルと関連するキュー要求信号が肯定
されたときにデータを転送するようプログラムされる。
実際に、デジタル−アナログ変換器はタイマがキュー要
求信号を肯定するのを「聴取している(listeni
ng)」ことになる。それがタイマがキュー要求信号を
肯定したことを検知したとき、デジタル−アナログ変換
器はキューメモリ18の前に割り当てられたチャネルか
らのデータの転送を自動的に要求する。タイミング情報
を提供するために複数のキュー要求信号を使用すること
により、複数の周辺装置の各々に対して必要な制御は大
幅に単純化される。さらに、そのようなシステムはユー
ザが将来の改訂の際の容易に修正できるモジュラーシス
テムを容易に実現できるようにする。
【0121】「シリアル通信インタフェース」第1の例
では、周辺装置はシリアル通信インタフェースとして実
施できる。シリアル通信インタフェース回路はデータ処
理技術において良く知られており、かつ、したがって、
図1には詳細に示されていないことに注目すべきであ
る。この場合ペリフェラルA 22は適切なデータレジ
スタ、受信機、および送信機とのシリアル通信インタフ
ェースとして構成されるものと仮定する。以下にシリア
ル通信インタフェースがキューメモリシステム10内で
機能できるようにするための可能な制御レジスタを示す
表6が与えられている。
【0122】
【表6】 アドレス レジスタ ビット7 ビット6 ビット5 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Base SCSCR SCDIS SSWAI SSBCK Base+1 SCQCR RDFQB ビット4 ビット3 ビット2 ビット1 ビット0 −−−−−−−−−−−−−−−−−−−−−−−−−−−−− SCFCA RDFQE RDEQE TCFQE RDFQA TDEQB TDEQA TCFQB TCFQA
【0123】次にシリアル通信システム制御レジスタ
(SCSCR)およびシリアル通信キュー制御レジスタ
(SCQCR)の各々の各ビットの説明を行なう。
【0124】SCSCR:シリアル通信システム制御レ
ジスタ リセットの際には全てのビットは“0”であり該ビット
は任意の時間に読み出しかつ書き込むことができる。
【0125】SCDIS: シリアル通信インタフェー
スディスエーブル 論理“1”は、ボーレート発生器を含め、シリアル通信
インタフェースをディスエーブルする。そのような特徴
的機能は電力消費を低減するために使用できる。論理
“0”はタイマが通常通り機能できるようにする。
【0126】SSWAI:待機中のシリアル通信インタ
フェースの停止 論理“1”はキューメモリシステム10が待機状態にあ
る場合にはシリアル通信インタフェースをディルエーブ
ルする。待機モードはデータ処理技術において良く知ら
れておりかつここではこれ以上詳細に説明しない。この
特徴的機能は電力消費を低減するために重要である。否
定されたとき、このビットはシリアル通信インタフェー
スが待機中に走行を続けることができるようにする。
【0127】SSBCK:背景モードにおけるシリアル
通信インタフェースの停止 肯定されたとき、このビットはキューメモリシステム1
0が背景モードにある場合にシリアル通信インタフェー
スをディスエーブルする。典型的には、このビットはシ
ステムエミュレーションの間に肯定される。否定された
とき、このビットはシリアル通信インタフェースが背景
モードにある場合に走行を続けることができるようにす
る。
【0128】SFFCA:シリアル通信インタフェース
ファーストフラグクリアオール SFFCAビットが肯定されたとき、全てのシリアル通
信インタフェース受信機および送信機フラグはファース
トクリアシーケンスに従ってクリアされる。関連するデ
ータレジスタへのアクセスは関連するフラグをもしそれ
が前記関連するデータレジスタがアクセスされたときに
肯定されていればクリアされることになる。呼出し動作
は受信ビットをクリアしかつ書き込み動作は送信ビット
をクリアする。いくつかのシステムにおいては、そのよ
うなファーストフラグクリアシーケンスはシリアル通信
インタフェースのスループットを増大する。さらに、前
記ノーマルフラグクリアシーケンスなしには、受信機お
よび送信機フラグはもしユーザがそれらのプログラミン
グ符号に注意深くなければはからずもクリアされる可能
性があることが理解されるべきである。否定されたと
き、SFFCAビットはシリアル通信インタフェースが
そのフラグを通常通りクリアできるようにする。ノーマ
ルフラグクリア動作においては、フラグビットは特定の
ソフトウェアシーケンスの首尾よい完了に応じてクリア
される。
【0129】RDFQE:SCI受信機データレジスタ
フルキューイネーブル 肯定されたとき、RDFQEビットは受信レジスタが満
杯である場合に肯定されるべきSCQCR(シリアル通
信インタフェースキュー制御レジスタ)におけるビット
によって選択されたキュー要求信号をイネーブルする。
否定されたとき、RDFQEビットはキュー要求信号を
イネーブルせずかつキュー要求信号は肯定されない。
【0130】TDEQE:SCI送信データレジスタエ
ンプティキューイネーブル 肯定されたとき、TDEQEビットは送信レジスタが空
きである場合に肯定されるべきSCQCR(シリアル通
信インタフェースキュー制御レジスタ)におけるビット
によって選択されたキュー要求信号をイネーブルする。
否定されたとき、TDEQEビットはキュー要求信号を
イネーブルせずかつキュー要求信号は肯定されない。
【0131】TCFQE:SCI送信完了キューイネー
ブル 肯定されたとき、TCFQEビットは送信動作が完了し
た場合に肯定されるべきSCQCR(シリアル通信イン
タフェースキュー制御レジスタ)のビットによって選択
されたキュー要求信号をイネーブルする。否定されたと
き、TCFQEビットはキュー要求信号をイネーブルせ
ずかつキュー要求信号は肯定されない。
【0132】SCQCR:シリアル通信インタフェース
キュー制御レジスタ SCQCRにおける全てのビットは0にリセットされか
つ任意の時間に書き込むことができる。
【0133】xyzQB,xyzQA:キュー要求選択
ビット シリアル通信インタフェースキュー制御レジスタ内に
は、複数のキュー要求選択ビット(xyzQB,xyz
QA)が格納されている。該キュー要求選択ビットは前
記複数のキュー要求信号のうちのどれがキューメモリ1
8のどのモジュールに接続されるかを選択する。もしあ
るシステムが1つより多くのキューメモリシステムと共
に構築されれば、複数のキュー選択ビットは付加的なキ
ューチャネルにアクセスするために修正されなければな
らない。表7は前記複数のキュー選択ビットのそれぞれ
の組合わせの各々によってアクセスされるキューメモリ
18の部分を示す。
【0134】
【表7】 選択されるキュー xyzQB xyzQA −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− キューチャネル#0 0 0 キューチャネル#1 0 1 キューチャネル#2 1 0 キューチャネル#3 1 1
【0135】いったん上に述べたビットの各々がプログ
ラムされると、シリアル通信インタフェースはキューメ
モリシステム10において構成できる。複数のキュー選
択ビットはキューメモリ18のチャネルにアクセスする
ようプログラムされる。いったんプログラムされると、
シリアル通信インタフェースはシリアル通信インタフェ
ースの何らかの機能に応じてキューメモリ18から情報
をアクセスするかあるいはキューメモリ18にメモリ格
納を行なうようプログラムされる。例えば、入力レジス
タが外部ソースから受信したデータ値によって満たされ
るたびごとに、データ値は複数のキュー選択ビットによ
って選択されるキューメモリ18のチャネルに格納する
ことができる。この手順は反復されて1組の情報がキュ
ーメモリ18の選択されたチャネルに格納され、かつ後
の時点でメッセージ全体としてアクセスすることができ
る。
【0136】〈キューメモリシステムの動作の概要〉キ
ューメモリシステム10はキューメモリ18およびメモ
リ18が汎用目的のファーストイン・ファーストアウト
(FIFO)循環バッファとして機能できるようにする
キュー制御論理20を含む。前に述べたように、キュー
メモリ18は各々32バイト長の4つの独立の8ビット
幅のキューチャネルを有する。もし望むならば、前記キ
ューチャネルは連結しかつ32ワード長の16ビットの
キューとして結合して使用することもできる。さらに、
各々のキューチャネルは該キューチャネルが満杯である
場合あるいはそれが空きである場合に選択的に割込みを
出力する。もしキューチャネルが連結されれば、キュー
メモリシステム10のユーザは1つのベクトルをキュー
満杯に対して使用できかつ他のものをキュー空きに対し
て使用できる。さらに、選択ビットはキューチャネルの
長さがより小さなキューを持つことを希望するユーザの
ために24、16、または8バイトに短縮できるように
する。
【0137】複数のキューレジスタ62におけるキュー
データレジスタが(ユーザソフトウェアによりあるいは
キュームーブ通信動作により)書き込まれるとき、スタ
ートポインタ(図3のインクリメンタ回路A 74を参
照)がキューメモリ18の次のロケーションを指示する
よう増分される。同様に、キューメモリ18が読み出さ
れまたはキュームーブ動作が行なえるとき、エンドポイ
ンタが次の読み出しロケーションを指示するために減分
される。両方のポインタが同じ値に等しくない限り、キ
ューメモリ18は循環的な(circular)様式で
動作する。もしキューメモリ18の全てのデータが読み
出されれば、両方のポインタは等しくなりかつ該チャネ
ルに対応するエンプティフラグが肯定される。同様に、
もしキューメモリ18の全てのロケーションが書き込ま
れれば、両方のポインタは再び等しくなりかつそのチャ
ネルに対応するフルフラグが肯定される。
【0138】キューメモリ18の動作はキュー制御論理
20によって制御される。キュー動作が前記複数のキュ
ー要求信号の1つ(1つのキュー要求信号はキューメモ
リ18の各チャネルに対応する)によって要求されたと
き、キュー制御論理は前記QR/*W信号およびアドレ
スレジスタによって特定される読み出しまたは書き込み
動作を実行する。同時に、キュー制御論理は前記複数の
キュームーブ信号の1つによってキューメモリ18のう
ちの適切なチャネルを選択する。前述のように、複数の
キュームーブ信号の各々はキューメモリ18の単一のチ
ャネルに対応する。キュー制御論理20およびキューメ
モリ18はキューメモリ18のあるチャネルが前記複数
のキュームーブ信号の1つによって選択されたとき、キ
ュー制御論理20が適切なチャネルにアクセスしかつR
/*W信号で指示されるものと反対のデータ処理機能を
行なうように設計される。したがって、周辺装置および
キューメモリ18の間の転送全体が単一のタイミングサ
イクルで行なわれる。CPU12はキューメモリ18を
使用したデータの転送に関与しない。
【0139】
【発明の効果】前記「ファースト(fast)」ビット
(LQxFS)はユーザがキューメモリ転送を直ちに実
行すべき場合およびキューメモリ転送がCPU12がデ
ータバス28を使用していないバスサイクルを待機でき
る場合を選択できるようにする。タイムアウトの特徴的
機能が提供され、それによってキューメモリ転送がいつ
までも遅延されないことに注目すべきである。
【0140】ここで説明したキューメモリシステムおよ
び方法はユーザがCPU12を使用することなく種々の
機能を実行できるようにする。例えば、デジタル−アナ
ログ変換器(D/A)、パルス幅変調器(PWM)、お
よびアナログ−デジタル変換(A/D)が各々それらの
それぞれの周期的な義務を果たしている間にフリーラン
タイマが出力比較値を充填するためにキューチャネルを
使用することができる。タイマ、D/A変換器、および
PWM回路を含む各々の例において、CPU12はキュ
ーのデータが周辺装置によって使用された後にキューチ
ャネルを充填することを要求される。しかしながら、C
PU12はキューチャネルと周辺装置との間でデータを
転送することを要求されず、したがってCPUは代わり
に低電力モードにあるかあるいは他の機能を実行するこ
とができる。したがって、キューメモリシステム10の
柔軟性が見られる。キューメモリシステム10は低電力
のアプリケーションにおいてもかつ高いスループットを
要求するシステムにおいても等しく良好に動作する。
【0141】ここで説明した本発明の構成は実例によっ
てのみ示されている。しかしながら、ここに説明した機
能を実行するために数多くの他の構成も存在し得る。例
えば、詳細に開示したもの以外の周辺装置もキューメモ
リシステム10において使用できる。シリアル周辺イン
タフェース(SPI)、デジタル−アナログ変換器、お
よびIRQ割込み回路は本キューメモリシステムによっ
て効率的にかつ効果的に使用できる他のタイプの周辺装
置の例である。同様に、1つより多くのキューメモリを
ほんの少しの量の付加回路の追加によってキューメモリ
システムに構築することができる。
【0142】ここでは本発明の原理を説明したが、当業
者には本明細書の説明は実例によってのみ行なわれてお
りかつ本発明の範囲を限定するものとして行なわれてい
るものでないことが明瞭に理解されるべきである。した
がって、添付の特許請求の範囲により、本発明の真の精
神および範囲内に入る本発明の全ての修正を含むものと
考える。
【図面の簡単な説明】
【図1】本発明に係わるキュー方式メモリシステムを示
す部分的ブロック図である。
【図2】図1のキュー方式メモリシステムのバスルーテ
ィングおよび制御論理回路を示すブロック図である。
【図3】図1のキュー方式メモリシステムのキュー制御
論理回路を示すブロック図である。
【図4】図3のキュー制御論理回路の複数のキュー制御
レジスタをテーブル形式で示す説明図である。
【図5】図3のキュー制御論理回路の複数のキューレジ
スタをテーブル形式で示す説明図である。
【図6】図3のフロー制御回路によって実行される複数
のステップを示すフローチャートである。
【符号の説明】
10 キューメモリシステム 12 中央処理ユニット(CPU) 14 メモリ 16 バスルーティングおよび制御論理回路 18 キューメモリ 20 キュー制御論理回路 22 ペリフェラルA 22 ペリフェラルB 26 アドレスバス 28 データバス 30 CPUアドレスバス 34 キューアドレスバス 36 キュー制御バス 38 転送アドレスバス 40 クロック回路 42 ORゲート 44 制御スイッチ 46 アドレススイッチ 50 フロー制御回路 52 キュー制御レジスタ 54 マルチプレクサ 56 ポインタスタートレジスタ 58 ポインタエンドレジスタ 60 比較器およびインクリメンタ制御回路 62 キューレジスタ 64 ORゲート 66,70ドライバ 68,72 インバータ 74,76 インクリメンタ回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイムズ・エム・シビグトロス アメリカ合衆国テキサス州78681、ラウン ド・ロック、ワルシュ・ドライブ 2412

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 キューメモリシステム(10)であっ
    て、 複数のデータ処理動作を実行するための中央処理ユニッ
    ト(12)であって、該中央処理ユニットは複数のデー
    タ値、複数のアドレス値、および第1の制御信号を提供
    するもの、 第1の周辺機能を実行するための第1の周辺装置(2
    2)であって、該第1の周辺装置は第1のキュー要求信
    号を提供し、前記周辺装置は前記中央処理ユニットに結
    合されて前記複数のデータ値、前記複数のアドレス値、
    および前記第1の制御信号を受信するもの、 前記第1のキュー要求信号に応答して第1のキューアク
    セス要求信号を発生するための制御手段(20)であっ
    て、該制御手段は前記第1の周辺装置に結合されて前記
    第1のキュー要求信号を受信するもの、そして複数のキ
    ューチャネルを有するキューメモリ(18)であって、
    該複数のキューチャネルのうちの第1の予め選択された
    ものは前記第1のキューアクセス要求信号によってアク
    セスされ、前記キューメモリは前記第1のキューアクセ
    ス要求信号が所定の論理状態にあるとき第1のデータ値
    を通信し、前記キューメモリは前記第1の周辺装置から
    分離して構成されるもの、 を具備することを特徴とするキューメモリシステム(1
    0)。
  2. 【請求項2】 キューメモリシステムを構築する方法で
    あって、 第1のデータ処理動作を実行するために第1の周辺装置
    (22)をイネーブルする段階であって、該第1の周辺
    装置は前記第1のデータ処理動作の実行の間に第1のキ
    ュー要求信号を提供するもの、 前記第1のデータ処理動作の間に第1の制御信号を提供
    するためにバス制御回路(16)をイネーブルする段
    階、 前記第1のキュー要求信号に応答して第1のキュームー
    ブ信号を提供する段階であって、該第1のキュームーブ
    信号はキューメモリ(18)の第1のチャネルに対応す
    るもの、 前記第1のキュームーブ信号に応答して第1のキューア
    ドレス信号を発生する段階であって、該第1のキューア
    ドレス信号は前記キューメモリの第1のチャネルの第1
    のアドレスを指示するもの、 前記第1のキュームーブ信号に応答して第1のキュー制
    御信号を発生する段階であって、該第1のキュー制御信
    号は前記キューメモリの第1のチャネルの動作を制御す
    るために使用されるもの、 前記第1のキューアドレス信号および前記第1のキュー
    制御信号の双方に応答して前記キューメモリの第1のチ
    ャネルにおける前記第1のアドレスにアクセスする段
    階、そして前記第1の周辺装置および前記キューメモリ
    の間で第1のキューデータ値を通信する段階、 を具備することを特徴とするキューメモリシステムを構
    築する方法。
  3. 【請求項3】 キューメモリシステムであって、 複数の処理動作を実行するための中央処理ユニット(1
    2)であって、該中央処理ユニットは複数のデータ値、
    複数のアドレス値、および第1の制御信号を提供するも
    の、 第1の周辺機能を実行するための第1の周辺装置(2
    2)であって、該第1の周辺装置は第1のキュー要求信
    号を提供し、該周辺装置は前記中央処理ユニットに結合
    されて前記複数のデータ値、前記複数のアドレス値、お
    よび前記第1の制御信号を受信するもの、 第2の周辺機能を実行するための第2の周辺装置(2
    4)であって、該第2の周辺装置は第2のキュー要求信
    号を提供し、該周辺装置は前記中央処理ユニットに結合
    され前記複数のデータ値、前記複数のアドレス値、およ
    び前記第1の制御信号を受信するもの、 前記第1のキュー要求信号に応答して第1のキューアク
    セス要求信号を発生するための制御手段(22)であっ
    て、該制御手段は前記第2のキュー要求信号に応答して
    第2のキューアクセス要求信号を発生し、該制御手段は
    前記第1の周辺装置に結合されて前記第1のキュー要求
    信号を受信し、前記制御手段は前記第2の周辺装置に結
    合されて前記第2のキュー要求信号を受信するもの、そ
    して複数のキューチャネルを有するキューメモリ(1
    8)であって、該複数のキューチャネルのうちの第1の
    予め選択されたものは前記第1のキューアクセス要求信
    号によってアクセスされかつ前記複数のキューチャネル
    のうちの第1の予め定められたものは前記第2のキュー
    アクセス要求信号にってアクセスされ、前記複数のキュ
    ーチャネルのうちの前記第1の予め選択されたものは前
    記第1のキューアクセス要求信号が第1の所定の論理状
    態にあるとき前記複数のデータ値のうちの第1のものを
    前記第1の周辺装置と通信し、前記複数のキューチャネ
    ルのうちの前記第2の予め選択されたものは前記第2の
    キュー制御信号が第2の所定の論理状態にあるとき前記
    複数のデータ値のうちの第2のものを通信するもの、 を具備することを特徴とするキューメモリシステム。
JP3140995A 1994-02-22 1995-01-27 キューメモリシステムおよびその方法 Pending JPH07244607A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20003394A 1994-02-22 1994-02-22
US08/200,033 1994-02-22

Publications (1)

Publication Number Publication Date
JPH07244607A true JPH07244607A (ja) 1995-09-19

Family

ID=22740040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3140995A Pending JPH07244607A (ja) 1994-02-22 1995-01-27 キューメモリシステムおよびその方法

Country Status (2)

Country Link
EP (1) EP0668556A3 (ja)
JP (1) JPH07244607A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000054141A1 (de) * 1999-03-09 2000-09-14 Siemens Aktiengesellschaft System und verfahren zur übertragung von datentelegrammen mit wechselseitiger belegung von mindestens drei datenpuffern
US6832300B2 (en) * 2002-03-20 2004-12-14 Hewlett-Packard Development Company, L.P. Methods and apparatus for control of asynchronous cache

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5072420A (en) * 1989-03-16 1991-12-10 Western Digital Corporation FIFO control architecture and method for buffer memory access arbitration
US5386532A (en) * 1991-12-30 1995-01-31 Sun Microsystems, Inc. Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels

Also Published As

Publication number Publication date
EP0668556A2 (en) 1995-08-23
EP0668556A3 (en) 1995-12-06

Similar Documents

Publication Publication Date Title
AU675169B2 (en) Multiprocessor data memory sharing
CA2050129C (en) Dynamic bus arbitration with grant sharing each cycle
US5905913A (en) System for collecting a specified number of peripheral interrupts and transferring the interrupts as a group to the processor
US7096296B2 (en) Supercharge message exchanger
US5619687A (en) Queue system having a time-out feature and method therefor
JPH09167105A (ja) オンチップデバッグシステム
JPH0916533A (ja) 対称多重処理システム
JP2005202767A (ja) プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路
JPH10207822A (ja) 高速i/oコントローラにおける割り込み処理方法
JP4250207B2 (ja) 対称多重処理システム、そのための割込制御ユニット、および対称多重処理システム内でプロセッサ割込信号を開始するための方法
KR20130009926A (ko) 유연한 플래시 명령어
JP2003114864A (ja) データ転送制御回路
US5974479A (en) System for executing, canceling, or suspending a DMA transfer based upon internal priority comparison between a DMA transfer and an interrupt request
JP2003512671A (ja) 並列コンテキスト切換を用いてアイソクロノス処理をサポートする方法
EP0973093A2 (en) Method of and apparatus for processing information, and providing medium
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
JPH07244607A (ja) キューメモリシステムおよびその方法
US10713188B2 (en) Inter-process signaling system and method
US10191867B1 (en) Multiprocessor system having posted transaction bus interface that generates posted transaction bus commands
US20120066415A1 (en) Methods and systems for direct memory access (dma) in-flight status
JP2643931B2 (ja) 情報処理装置
US10365681B1 (en) Multiprocessor system having fast clocking prefetch circuits that cause processor clock signals to be gapped
JP2002073341A (ja) Dspプログラムダウンロードシステム
WO2003075167A1 (en) Method and arrangement for virtual direct memory access
JP2002176464A (ja) ネットワークインタフェース装置