JPH08339290A - データ処理システムにおいてデータ・ストリーム内にアドレスを挿入する装置および方法 - Google Patents

データ処理システムにおいてデータ・ストリーム内にアドレスを挿入する装置および方法

Info

Publication number
JPH08339290A
JPH08339290A JP7347112A JP34711295A JPH08339290A JP H08339290 A JPH08339290 A JP H08339290A JP 7347112 A JP7347112 A JP 7347112A JP 34711295 A JP34711295 A JP 34711295A JP H08339290 A JPH08339290 A JP H08339290A
Authority
JP
Japan
Prior art keywords
data
bus
address
buffer
fifo buffer
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.)
Granted
Application number
JP7347112A
Other languages
English (en)
Other versions
JP3773574B2 (ja
Inventor
Smolansky Leonid
レオニード・スモランスカイ
Kowal Shai
シャイ・コワル
Goren Avner
アブニール・ゴレン
Galanti David
デビッド・ギャランティ
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 JPH08339290A publication Critical patent/JPH08339290A/ja
Application granted granted Critical
Publication of JP3773574B2 publication Critical patent/JP3773574B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 FIFOバッファ(65)を介して転送中の
データ・ストリームの先頭にアドレスを挿入する方法お
よび装置を提供する。 【解決手段】 アドレスをデータ・ストリームの先頭に
挿入することによって、アドレスが失われるのを防止す
る。アドレス・デコーダ(102)を用いて、FIFO
バッファ(65)にアクセス可能なアドレス範囲を識別
する。アドレスは、データ処理システム(20)内のデ
ータ・ストリームの転送先を判断するヘッダ情報を含む
こともでき、さらに、データ・ストリームがデータ処理
システム(20)内でどのように処理されるべきかを制
御するための情報を含むこともできる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】Smolansky et al.による、"ADJUS
TABLE DEPTH/WIDTH FIFO BUFFER FOR VARIABLE WIDTH D
ATA TRANSFERS"と題し、弁理士ファイル番号SC0364EIを
有する関連出願が同時に出願され、本願と同一譲受人に
譲渡された。
【0002】本発明は、一般的にデータ処理システムに
関し、更に特定すれば、データ処理システムにおけるデ
ータ・ストリーム内へのアドレスの挿入に関するもので
ある。
【0003】
【従来の技術】デジタル信号処理とは、規則的な間隔で
サンプルされデジタル化されたリードタイム信号の算術
的処理を意味する。デジタル信号プロセッサ(DSP)
は、信号のフィルタ処理、混合、比較といったデジタル
信号処理機能を提供するものである。データ処理システ
ムの中には、DSPがホスト・プロセッサ内に含まれて
おり、デジタル信号処理作業(chore)を扱うことができ
るものもある。例えば、ホスト・プロセッサは、マイク
ロコンピュータまたはマイクロプロセッサを含むことが
できる。
【0004】場合によっては、ホスト・プロセッサとD
SPとの間で比較的大量のデータを転送することが必要
となることもある。データがこれら2つのプロセッサ間
で転送されるとき、例えば、2つのプロセッサが異なる
クロックで動作するなど、2つのプロセッサ間の非互換
性のために、直接転送は不可能なことがある。この場
合、非同期的に動作するバッファ・メモリを用いればよ
い。データは、受信側プロセッサがそれを受信できるよ
うになる前に、まず送信側プロセッサによって、バッフ
ァ・メモリにバースト状で転送される。しかしながら、
バッファ・メモリは、集積回路上に大量な貴重な表面領
域を必要とし、実施には費用がかかり、しかもデータが
処理可能になる前に全データを転送しなければならない
ので、処理速度が低下する。
【0005】
【発明が解決しようとする課題】比較的大きなバッファ
・メモリを不要とするために、時として小型の先入れ先
出し(FIFO)バッファを用いて、ホスト・プロセッ
サを受信側プロセッサに接続している。FIFOバッフ
ァは、データを受けたのと同じ順序でデータを出力する
メモリ・ユニットのことである。比較的大量のデータが
転送されるとき、送信側プロセッサは、ある範囲のアド
レスについてのみ、FIFOバッファをアクセスする。
このアドレス範囲は、例えば、データを記憶すべき受信
側プロセッサのメモリ内のアドレスのような、受信側プ
ロセッサの転送先を識別することもできる。また、かか
るアドレスは、データをどのようにそしてどこで処理す
るかを決定する際に重要なヘッダ情報を含むこともでき
る。しかしながら、FIFOバッファを通じてデータを
転送する場合、受信側プロセッサに別個のアドレス・レ
ジスタを設けるなど、アドレスを保存する処置を取らな
いと、アドレスが失われることがある。
【0006】
【課題を解決するための手段】したがって、一形態とし
て、FIFOバッファを通じてデータ・ストリームを転
送する方法が提供される。この方法は、FIFOバッフ
ァへのアクセスを識別する段階、FIFOバッファが使
用可能か否かを判定する段階、およびデータ・ワードを
FIFOバッファに書き込む段階から成り、これらデー
タ・ワードの中の所定データ・ワードがアドレスを含
む。
【0007】他の実施例では、所定数のデータ・ワード
を有するデータ・ストリームをFIFOバッファを通じ
て転送する装置が提供され、この装置は、アドレス・デ
コーダと、ライト制御論理回路とを有する。アドレス・
デコーダは第1バスに結合されている。アドレス・デコ
ーダはアドレスを受け、FIFOバッファをアクセスす
る所定のアドレス以内にアドレスが入ったとき、これを
識別する。ライト制御論理回路は、アドレス・バッファ
に結合されている。ライト制御論理回路は、データ・ス
トリームをFIFOバッファに書き込ませる。アドレス
・デコーダは、データ・ストリーム内の所定点にアドレ
スを挿入する。
【0008】これらおよびその他の特徴、ならびに利点
は、添付図面に関連付けて記載された以下の詳細な説明
から、より明確に理解されよう。
【0009】
【実施例】概して言えば、本発明は、データ・ストリー
ムの先頭にアドレスを挿入し、データ・ストリームがF
IFOバッファを通じて転送されるときにアドレスが失
われるのを防ぐ方法および装置を提供するものである。
アドレスを保存するための特別なアドレス・レジスタは
必要でない。アドレス・デコーダを用いて、FIFOバ
ッファをアクセスするアドレス範囲を識別する。アドレ
スは、データ・ストリームの転送先を判断するためのヘ
ッダ情報と、データ・ストリームをどのように処理する
か制御するための情報も含むことができる。
【0010】信号、ステータス・ビット、または同様の
装置(apparatus)をその論理真または論理虚の状態にす
ることを意味する場合、「アサート」および「ニゲー
ト」という用語を、それぞれ用いることにする。論理真
状態がデジタル論理レベル1の場合、論理虚状態はデジ
タル論理レベル0となる。また、論理真状態がデジタル
論理レベル0の場合、論理虚状態はデジタル論理レベル
1となる。また、データ、アドレス、制御、またはステ
ータスのような1つ以上の種々の情報を転送するために
用いられる複数の信号を意味する場合に、「バス」とい
う用語を用いることにする。
【0011】図1ないし図8を参照しながら、本発明を
より詳しく説明する。図1ないし図7の各ブロック図
は、回路を表わす。図8に示す各ブロックは、フロー・
チャートにおける1つ以上のステップを表わす。図1
は、本発明によるデータ処理システム20をブロック図
形状で示す。図1に示す実施例では、データ処理システ
ム20はデジタル信号プロセッサ(DSP)であり、単
一の集積回路上に配置されている。他の実施例では、デ
ータ処理システム20は、例えば、マイクロコンピュー
タまたはマイクロプロセッサでもよい。データ処理シス
テム20は、タイマ22、ホスト・インターフェース2
4、改良直列同期インターフェース(ESSI:enhanced
serial synchronous interface)26、直列非同期イン
ターフェース(SCI)28、プログラムRAM(ラン
ダム・アクセス・メモリ)および命令キャッシュ30、
データ・メモリ32、データ・メモリ34、アドレス発
生器/直接メモリ・アクセス(DMA)コントローラ3
6、外部アドレス・バス・スイッチ38、内部データ・
バス・スイッチ40、DRAM(ダイナミック・ランダ
ム・アクセス・メモリ)およびSRAM(スタティック
・ランダム・アクセス・メモリ)バス・インターフェー
スおよび命令キャッシュ制御部42、外部データ・バス
・スイッチ44、プログラム制御部(PCU)46、な
らびにデータ算術演算部(ALU)54を含む。プログ
ラム制御部46は、プログラム割り込みコントローラ4
8、プログラム・デコード・コントローラ50、および
プログラム・アドレス発生器52を含む。
【0012】「YAB」と表記されたアドレス・バス5
6、「XAB」と表記されたアドレス・バス57、「PAB」
と表記されたプログラム・アドレス・バス58、および
「DAB」と表記されたアドレス・バス59が、アドレス
発生器/DMAコントローラ36と外部アドレス・バス
・スイッチ38との間に結合されている。「DDB」と表
記されたデータ・バス60が、ホスト・インターフェー
ス24と外部データ・バス・スイッチ44との間に結合
されている。「YDB」と表記されたデータ・バス61、
「XDB」と表記されたデータ・バス62、「PDB」と表記
されたプログラム・データ・バス63、および「GDB」
と表記されたプログラム・データ・バス64が、内部デ
ータ・バス・スイッチ40と外部データ・バス・スイッ
チ44との間に結合されている。
【0013】タイマ22は、3つのタイマを含み、内部
または外部タイミングに用いることができると共に、デ
ータ処理システム20に割り込みをかけたり、外部装置
に通知することができる。加えて、タイマ22は、特定
数の事象が発生した後にDMA転送を通知するために用
いることもできる。3つのタイマの各々は、1本の双方
向ピン即ち端子に結合されている。更に、タイマ22の
各タイマは、バス57、バス59、プログラム割り込み
コントローラ48、およびバス60に結合されている。
【0014】ホスト・インターフェース24は、データ
処理システム20と、マイクロコンピュータ、マイクロ
プロセッサ、またはDMAのようなその他の素子との間
の通信のための双方向インターフェースを形成する。ま
た、ホスト・インターフェース24は、バス60を介し
て外部データ・バス・スイッチ44に双方向結合され、
更に、バス57,59を介して、グローバル・データ・
バス64、プログラム割り込み制御部48、アドレス発
生器/DMAコントローラ36、および外部アドレス・
バス・スイッチ38に、双方向結合されている。加え
て、ホスト・インターフェース24は、双方向データ転
送、アドレス・レジスタの選択、およびホスト・プロセ
ッサからの制御通信のために、50本の外部ピン即ち端
子に、双方向結合されている。
【0015】改良直列同期インターフェース(ESS
I)26は、12本の双方向外部ピンに結合され、例え
ば、1つ以上の業界標準コデック、DSP(デジタル信
号プロセッサ)、またはマイクロプロセッサを含む外部
直列装置との直列通信を可能にする。ESSI26は、
更に、バス57、バス59、およびバス60に結合され
た端子も有する。
【0016】直列通信インターフェース(SCI)28
は、3本の双方向外部ピンに結合され、外部装置との直
列通信を可能にする。SCI28は、バス57、バス5
9、およびバス60に結合された端子も有する。
【0017】図1に示したデータ処理システム20の実
施例は、3箇所のメモリ空間を有する。即ち、プログラ
ムRAMおよび命令キャッシュ30、Xメモリ32、な
らびにYメモリ34である。他の実施例では、これ以上
またはこれ以下のメモリ空間の場合もある。プログラム
RAMおよび命令キャッシュ30は、アドレス・バス5
8およびデータ・バス63に結合されている。Xメモリ
32は、アドレス・バス57、アドレス・バス59、デ
ータ・バス60、およびデータ・バス62に結合されて
いる。Yメモリ34は、アドレス・バス56、アドレス
・バス59、データ・バス60、およびデータ・バス6
1に結合されている。
【0018】アドレス発生器/DMAコントローラ36
は、アドレス・バス56,57,58,59に結合され
ている。アドレス発生器/DMAコントローラ36は、
メモリ・アドレスを、タイマ22、ホスト・インターフ
ェース24、ESSI26、SCI28、プログラムR
AMおよび命令キャッシュ30、メモリ32、メモリ3
4、外部アドレス・バス・スイッチ38、ならびにDR
AMおよびSRAMバス・インターフェース/命令キャ
ッシュ制御部42に供給する。好適実施例では、DMA
コントローラは6つのチャネルを有する。
【0019】DRAMおよびSRAMバス・インターフ
ェース/命令キャッシュ42は、プログラム・アドレス
・バス58および14本の双方向外部ピンに結合されて
いる。DRAMおよびSRAMバス・インターフェース
/命令キャッシュ42の命令キャッシュは、外部メイン
・メモリ(図示せず)とプログラム制御部46との間の
バッファ・メモリとして機能する。命令キャッシュは、
頻繁に用いられるプログラム命令を記憶するものであ
る。プログラムが必要とする命令語をキャッシュの中で
得られるようにすると、メイン・メモリにアクセスする
ための時間が不要になるので、その結果として性能の向
上を達成することができる。
【0020】内部データ・バス・スイッチ40は、デー
タ・バス60、データ・バス61、データ・バス62、
プログラム・データ・バス63、およびグローバル・デ
ータ・バス64に結合されている。また、外部データ・
バス・スイッチ44は、データ・バス60、データ・バ
ス61、データ・バス62、プログラム・データ・バス
63、およびグローバル・データ・バス64を介して、
内部データ・バス・スイッチ40に結合されている。加
えて、外部データ・バス・スイッチ44は、データ・バ
ス60を介して、タイマ22、ホスト・インターフェー
ス24、ESSI26、およびSCI28に結合されて
いる。内部データ・バス・スイッチ40は、バス間の転
送に用いられる。内部データ・バス・スイッチ40を介
して、いずれの2つのバスでも、共に接続することがで
きる。外部アドレス・バス・スイッチ38および外部デ
ータ・バス・スイッチ44は、外部バス(図示せず)
を、内部アドレスおよび内部データ・バスに、それぞれ
結合する。
【0021】プログラム制御部46では、プログラム割
り込みコントローラ48が割り込み要求間の仲裁を行
い、タイマ22、ホスト・インターフェース24、ES
SI26、およびSCI28に結合されている。また、
プログラム割り込みコントローラ48は、グローバル・
データ・バス64とプログラム・デコード・コントロー
ラ50とに、双方向結合されている。プログラム・デコ
ード・コントローラ50は、各24ビット命令をデコー
ドするものであり、プログラム割り込みコントローラ4
8とプログラム・アドレス発生器52とに、双方向結合
されている。プログラム・アドレス発生器52は、プロ
グラム・アドレスの発生、システム・スタック、および
ループ制御に必要なハードウエアの全てを内蔵する。加
えて、プログラム・アドレス発生器52は、プログラム
・アドレス・バス58およびプログラム・データ・バス
63に結合されている。
【0022】データ算術論理演算部(ALU)54は、
プログラム・データ・バス63、データ・バス61、お
よびデータ・バス62に結合されている。データALU
54は、データ・オペランド上での算術および論理演算
の全てを実行する。ALU54は、バス61,62を介
して読み出しまたは上書き可能なレジスタを含む。ま
た、データALU54は、バス63およびバス60にも
結合されている。
【0023】クロック発生回路(図示せず)が、図1に
示したブロックの全てにクロック信号を供給する。ま
た、図1には示していないが、データ処理システム20
には検査回路も含まれている。
【0024】図2は、図1のデータ処理システム20の
ホスト・インターフェース24を、ブロック図形状で示
す。ホスト・インターフェース24は、ホスト送信デー
タFIFOバッファ65、DSP送信データFIFOバ
ッファ66、ホスト・インターフェース制御レジスタ6
7、DSPステータス・レジスタ68、DSP制御レジ
スタ69、およびアドレス構成レジスタ70を含む。図
示の実施例では、ホスト・インターフェース24は、2
つのFIFOバッファを有する。他の実施例では、ホス
ト・インターフェース24が有するFIFOバッファ
は、それよりも多い場合も少ない場合もある。ホスト送
信データFIFOバッファ65は、外部バス116に結
合された複数のデータ入力端子、グローバル・データ・
バス(GDB)64に結合された複数のデータ出力端
子、ホスト・インターフェース制御レジスタ67の複数
の出力端子に結合された複数の第1制御端子、およびD
SP制御レジスタ69の複数の出力端子に結合された複
数の第2制御端子を有する。DSP送信データFIFO
バッファ66は、グローバル・データ・バス64に結合
された複数のデータ入力端子、外部バス116に結合さ
れた複数のデータ出力端子、ホスト・インターフェース
制御レジスタ67の複数の出力端子に結合された複数の
第1制御端子、およびDSP制御レジスタ69の複数の
出力端子に結合された複数の第2制御端子を有する。
【0025】また、ホスト・インターフェース制御レジ
スタ67は、外部バス116に結合された複数の双方向
端子と、DSPステータス・レジスタ68に結合された
複数の出力端子とを有する。DSPステータス・レジス
タ68は、グローバル・データ・バス64に結合された
複数の出力端子を有し、DSP制御レジスタ69は、グ
ローバル・データ・バス64に結合された複数の双方向
端子と、FIFOバッファ65,66の制御端子に結合
された複数の出力端子とを有する。
【0026】ホスト・プロセッサ(図示せず)は、ホス
ト・インターフェース24からグローバル・データ・バ
ス64を介して、バス116からデータ処理システム2
0内のある場所までのデータ転送を開始することができ
る。外部バス116およびバス64は、両方とも双方向
バスである。一実施例では、バス116は多重化バスで
あり、データとアドレスの双方を通信する。他の実施例
では、外部バス116は、データ線およびアドレス線を
別個に有する場合もある。バス116からバス64への
転送が要求されたとき、ホスト・プロセッサはこの転送
を制御する。FIFOバッファ65は、ホスト・プロセ
ッサのみに対してスレーブ(slave)として動作する。F
IFOバッファ65は、ホスト・プロセッサによる書き
込みが可能であるが、FIFOバッファ65が転送を開
始することはない。同様に、FIFOバッファ66は、
データ処理システム20から外部バス116にデータを
送信する場合にのみスレーブとなる。
【0027】ホスト・インターフェース制御レジスタ6
7(図5)およびDSP制御レジスタ69(図4)は、
バス116とバス64との間のデータ転送を規定するた
めの制御ビットを発生する。また、ホスト・プロセッサ
は、ホスト・インターフェース制御レジスタ67を介し
てDSPステータス・レジスタ68と通信してFIFO
バッファ65を活性化し、FIFOバッファ65,66
が空か満杯かを判定し、更に他のタイプのステータス情
報を受け取る。かかるステータス情報については、図6
を参照して後に説明する。アドレス構成レジスタ70
は、バス116に結合されており、FIFOバッファ6
5をアクセスするアドレス範囲を規定するベース・アド
レスをプログラムするためのアドレス・ビットを含む。
【0028】図3は、本発明の一実施例によるホスト・
インターフェース24の深度/幅調節可能FIFOバッ
ファ65を、ブロック図形状で示す。FIFOバッファ
65は、FIFOレジスタ72、レジスタ・リード制御
論理回路90、バス64、狭/広制御部92、出力バッ
ファ制御論理回路94、FIFOリード選択器96、レ
ジスタ・ライト制御論理回路98、バス116狭/広制
御部100、アドレス・デコーダ102、入力バッファ
制御論理回路104、FIFOライト選択器106、奇
数入力バッファ108、偶数入力バッファ110、奇数
出力バッファ112、および偶数出力バッファ114を
含む。バス116は、入力バッファ108,110に接
続された双方向バスである。バス64は出力バッファ1
12,114に接続された双方向バスである。FIFO
レジスタ72は、レジスタ部73とレジスタ部75とを
含む。レジスタ部73は、奇数レジスタ74,76,7
8,80を含む。レジスタ部75は、偶数レジスタ8
2,84,86,88を含む。
【0029】好適実施例では、FIFOバッファ65
は、図1のホスト・インターフェース24の一部を含
む。また、FIFOバッファ66は、FIFOバッファ
65に類似した回路を有していればよい。データはバス
116からFIFOバッファ65に供給される。バス1
16は、ホスト・プロセッサ(図示せず)の一部である
外部バスである。バス64は、ホスト・インターフェー
ス24(図2)内部のバスである。他の実施例では、バ
ス116,64は、その間にバッファ動作を必要とする
2つのバスであれば、いずれでもよい。バッファ動作が
必要となるのは、例えば、2つのバスが異なるクロック
によって制御される場合である。
【0030】バス116,64は、Wビットを有するデ
ータ・ワードを転送する。ここでWは整数である。奇数
入力バッファ108は、バス116に結合されデータ・
ビット[W/2:1]を受ける複数の入力端子、奇数レ
ジスタ74,76,78,80の各々の入力端子に結合
された複数の出力端子、および入力バッファ制御論理回
路104からの制御信号を受ける制御端子を有する。偶
数入力バッファ110は、バス116に結合されデータ
・ビット[W:W/2+1]を受ける複数の入力端子、
偶数レジスタ82,84,86,88の各々の複数の入
力端子に結合された複数の出力端子、および入力バッフ
ァ制御論理回路104からの制御信号を受ける制御端子
を有する。奇数出力バッファ112は、奇数レジスタ7
4,76,78,80の複数の出力端子に結合された複
数の入力端子、バス64に結合されデータ・ビット[W
/2:1]を供給する複数の出力端子、および出力バッ
ファ制御論理回路94の出力に結合され制御信号を受け
る制御端子を有する。偶数出力バッファ114は、偶数
レジスタ82,84,86,88の各々の複数の出力端
子に結合された複数の入力端子、バス64に結合されデ
ータ・ビット[W:W/2+1]を供給する複数の出力
端子、および出力バッファ制御論理回路94の出力端子
に結合された制御端子を有する。
【0031】FIFOリード選択器96は、出力バッフ
ァ制御論理回路94の入力端子に結合された出力端子を
有する。また、FIFOリード選択器96の出力端子
は、レジスタ・リード制御論理回路90の入力端子にも
結合されている。レジスタ・リード制御論理回路90
は、奇数レジスタ74,76,78,80および偶数レ
ジスタ82,84,86,88の各々の入力端子に結合
され、リード制御信号を供給する出力端子を有する。好
適実施例では、奇数レジスタ74,76,78,80お
よび偶数レジスタ82,84,86,88の各々は、従
来の16ビット・リード/ライト・レジスタである。レ
ジスタ・リード制御論理回路90およびレジスタ・ライ
ト制御論理回路98は、FIFOレジスタ72を監視
し、FIFOレジスタ72が空か満杯かについて、追跡
を行う。
【0032】バス64狭/広制御部92は、図2のレジ
スタ128,124に結合された複数の入力端子と、出
力バッファ制御論理回路94とレジスタ・リード制御論
理回路90双方の入力端子に結合された出力端子とを有
する。レジスタ・ライト制御論理回路98は、奇数レジ
スタ74,76,78,80および偶数レジスタ82,
84,86,88の各々の入力端子に結合され、ライト
制御信号を供給する出力端子を有する。アドレス・デコ
ーダ102は、バス116に結合され複数のアドレス信
号を受ける複数の入力と、レジスタ・ライト制御論理回
路98に結合された複数の出力端子とを有する。
【0033】FIFOライト選択器106は、入力バッ
ファ制御論理回路104の入力端子と、レジスタ・ライ
ト制御論理回路98の入力端子とに結合された出力端子
を有する。FIFOライト選択器106は、ホスト・プ
ロセッサがデータをFIFOバッファ65に書き込むと
き、入力バッファ制御論理回路104とレジスタ・ライ
ト制御論理回路98とにイネーブル信号を供給する。バ
ス116狭/広制御部100は、レジスタ124,12
8に結合された複数の入力端子と、レジスタ・ライト制
御論理回路98と入力バッファ制御論理回路104の入
力端子とに結合された出力端子とを有する。入力バッフ
ァ制御論理回路104は、奇数入力バッファ108の入
力端子に結合された第1出力端子と、偶数入力バッファ
110の入力端子に接続された第2出力端子とを有す
る。
【0034】データはバス116からFIFOバッファ
65に書き込まれ、更にデータはFIFOバッファ65
からバス64に読み出される。FIFOレジスタ72は
2つの部分、即ち、部分73,75に分割されている。
部分75は、偶数レジスタ82,84,86,88から
成る「偶数」部であり、部分73は、奇数レジスタ7
4,76,78,80から成る「奇数」部である。他の
実施例では、収容すべき異なるデータ幅の種類に応じ
て、いかなる数の部分にすることも可能である。各部分
は、別個に読み書きができる。バス116,64は、双
方ともサイズは動的であり、様々なサイズのワードを同
一バス上で送信することができる。図示の実施例では、
FIFOバッファ65は32ビット幅までのワード幅
(W)を有するデータを受けることができ、FIFOバ
ッファ65は、ワード幅(W)に応じた可変の深度
(D)を有する。
【0035】FIFOバッファ65の図示した実施例で
は、次の4つのデータ転送の可能性がある。1)FIF
Oバッファ65はバス116から16ビット・ワードを
受け、16ビット・ワードをバス64に供給することが
できる。2)FIFOバッファ65はバス116から1
6ビット・ワードを受け、バス64に32ビット・ワー
ドを供給することができる。3)FIFOバッファ65
はバス116から32ビット・ワードを受け、バス64
に16ビット・ワードを供給することができる。4)F
IFOバッファ65はバス116から32ビット・ワー
ドを受け、バス64に32ビット・ワードを供給するこ
とができる。16ビット・ワードが転送される場合、F
IFOレジスタ72の深度は8ワードとなる。32ビッ
ト・ワードが転送される場合、FIFOレジスタ72の
深度は4ワードである。以下に示すFIFOバッファ6
5を通じてのデータ転送の例では、Wは32に等しい。
しかしながら、他の実施例では、Wは他のデータ幅と等
しくすることもできる。
【0036】バス116からFIFOバッファ65に1
6ビット・ワードを書き込み、16ビット・ワードをバ
ス64に読み出すとき、バス116およびバス64の双
方は、狭い16ビット幅FIFOバッファを「見る」。
バス116狭/広制御部100は、バス116を狭い、
即ち、W/2ビット幅として定義する。バス64狭/広
制御部92は、バス64を狭い、即ち、W/2ビット幅
として定義する。FIFOライト選択部106は、レジ
スタ・ライト制御論理回路98および入力バッファ制御
論理回路104に制御信号を供給し、バス116からの
データをサンプリングするためにFIFOバッファ65
の準備を行う。バス116からの入力データはビット
[W/2:1]からサンプリングされ、奇数入力バッフ
ァ108または偶数入力バッファ110に入力される。
奇数入力バッファ108からは、最初の16ビット・デ
ータ・ワードが奇数レジスタ74,76,78,80の
内の1つに、アドレス・デコーダ102によってバス1
16から受け取られたアドレスによって決定される、
[W/2:1]から書き込まれる。アドレス・デコーダ
102は、デコードされたアドレスをレジスタ・リード
制御論理回路90に供給する。レジスタ・リード制御論
理回路90は、奇数レジスタ74,76,78,80の
中から書き込むべき1つを選択する。2番目の16ビッ
ト・データ・ワードは、偶数入力バッファ110を介し
て、ビット[W/2:1]から、偶数レジスタ82,8
4,86,88の内の1つに書き込まれる。3番目の1
6ビット・データ・ワードは、奇数レジスタ74,7
6,78,80の内の1つに、ビット[W/2:1]か
ら書き込まれる。転送は、完了まで、即ち、FIFOバ
ッファ65が満杯になるまで、偶数および奇数レジスタ
間で交代しながら続けられる。
【0037】FIFOバッファ65から16ビット・デ
ータ・ワードを読み出すとき、16ビット・データ・ワ
ードは、奇数レジスタ74,76,78,80の内の1
つから、または偶数レジスタ82,84,86,88の
内の1つから出力される。最初の16ビット・ワード
は、奇数レジスタ74,76,78,80の内の1つか
ら読み出され、奇数出力バッファ112を通じて、ビッ
ト[W/2:1]が出力される。2番目の16ビット・
ワードは、偶数レジスタ82,84,86,88の内の
1つから読み出され、偶数出力バッファ114を通じ
て、ビット[W/2:1]が出力される。3番目の16
ビット・ワードは、奇数レジスタ74,76,78,8
0の内の1つから読み出され、奇数出力バッファ112
を通じて、ビット[W/2:1]が出力される。この動
作は、転送が完了するまで、即ちFIFOバッファ65
が空になるまで続けられる。図示した実施例では、奇数
レジスタおよび偶数レジスタの各々は16ビット幅であ
る。他の実施例では、レジスタはいかなる幅でもよい。
【0038】16ビット・ワードをバス116からFI
FOバッファ65に書き込み、32ビット・ワードをバ
ス64に読み出すときは、バス116はFIFOバッフ
ァ65が8ワードの深度を有するものとして認知し、バ
ス64はFIFOバッファ65が4ワードの深度を有す
るものとして認知する。バス116狭/広制御部100
は、バス116を狭い、即ちW/2ビット幅として定義
する。バス64狭/広制御部92は、バス64を広い、
即ち、Wビット幅として定義する。FIFOライト選択
器106は、レジスタ・ライト制御論理回路98と入力
バッファ制御論理回路104とに制御信号を供給し、バ
ス116からのデータをサンプリングするように、FI
FOバッファ65の準備を行う。バス116からの入力
データは、ビット[W/2:1]からサンプリングさ
れ、奇数入力バッファ108または偶数入力バッファ1
10に入力される。データは、[W:W/2+1]ビッ
トからはサンプリングされない。好適実施例では、Wは
32に等しい。奇数入力バッファ108から、最初の1
6ビット・データ・ワードが、アドレス・デコーダ10
2によってバス116から受け取られたアドレスによっ
て決定される、「W/2:1]から、奇数レジスタ7
4,76,78,80の内の1つに書き込まれる。アド
レス・デコーダ102は、レジスタ・リード制御論理回
路90にデコードされたアドレスを供給する。レジスタ
・リード制御論理回路90は、奇数レジスタ74,7
6,78,80の内書き込むべき1つを選択する。2番
目の16ビット・データ・ワードは、「W/2:1]か
ら、偶数レジスタ82,84,86,88の内の1つ
に、偶数入力バッファ110を介して書き込まれる。3
番目の16ビット・データ・ワードは、「W/2:1]
から、奇数レジスタ74,76,78,80の内の1つ
に書き込まれる。転送は、完了するまで、即ち、FIF
Oバッファが満杯になるまで、偶数および奇数レジスタ
を交代しながら続けられる。
【0039】奇数レジスタ74,76,78,80の内
の1つおよび偶数レジスタ82,84,86,88の内
の1つから同時に、32ビット・データ・ワードがバス
64に読み出される。32ビット・データ・ワードの内
16ビットは、奇数レジスタ74,76,78,80か
ら読み出され、奇数出力バッファ112を通じて、ビッ
ト[W/2:1]を出力する。別の16ビットは、偶数
レジスタ82,84,86,88の1つから読み出さ
れ、偶数出力バッファ114を通じて、ビット[W:W
/2+1]を出力する。アドレス・デコーダ102は、
デコードされたアドレスをレジスタ・リード制御論理回
路90に供給し、奇数および偶数レジスタのどちらから
読み出すかを選択する。これは、転送が完了するまで、
即ちFIFOバッファ65が空になるまで続く。
【0040】32ビット・ワードをバス116からFI
FOバッファ65にサンプリングし、16ビット・ワー
ドをバス64に読み出すとき、バス116はFIFOバ
ッファ65を4ワードの深度を有するものとして認知
し、一方バス64はFIFOバッファ65を8ワードの
深度を有するものとして認知する。バス116狭/広制
御部100は、バス116を広い、即ちWビット幅とし
て定義し、制御信号を発生して、32ビット・ワードを
受けるように、レジスタ・ライト制御論理回路98およ
び入力バッファ制御論理回路の準備を行う。バス64狭
/広制御部92は、バス64を狭い、即ちW/2ビット
幅として定義し、32ビット・ワードを書き込むよう
に、レジスタ・リード制御論理回路90および出力バッ
ファ制御論理回路94の準備を行う。FIFOライト選
択器106は、イネーブル信号をレジスタ・ライト制御
論理回路98および入力バッファ制御論理回路104に
供給し、FIFOバッファ65にバス116からのデー
タのサンプリングを行わせる。アドレス・デコーダ10
2は、デコードされたアドレスをレジスタ・ライト制御
論理回路98に供給する。レジスタ・ライト制御論理回
路98は、奇数レジスタ74,76,78または80の
中から書き込むべき1つを選択する。32ビット・デー
タ・ワードの内の16ビットが、バス116のビット
[W/2:1]からサンプリングされ、奇数入力バッフ
ァ108に入力され、同時に別の16ビットが、ビット
[W:W/2+1]からサンプリングされ、偶数入力バ
ッファ110に入力される。
【0041】バス64に16ビット・データ・ワードを
読み出すとき、読み出される最初のワード[W/2:
1]は、奇数レジスタ74,76,78,80の1つか
ら奇数出力バッファ112に読み出される。2番目の1
6ビット・ワード[W:W/2+1]は、偶数レジスタ
82,84,86,88の1つから偶数出力バッファ1
14に読み出される。3番目の16ビット・ワードは、
奇数レジスタ74,76,78または80の1つから、
というように、転送が完了するまで、即ちFIFOバッ
ファ65が空になるまで続けられる。アドレス・デコー
ダ102は、デコードされたアドレスを、レジスタ・リ
ード制御論理回路90に供給し、奇数および偶数レジス
タのどちらを読み出すかを選択する。
【0042】32ビット・ワードをバス116からFI
FOバッファ65にサンプリングし、32ビット・ワー
ドをバス64に読み出すとき、バス116,64は、F
IFOバッファ65を4ワードの深度を有するものとし
て認知する。バス116狭/広制御部100は、バス1
16を広い、即ちWビット幅として定義し、制御信号を
供給して、32ビット・ワードを受けるように、レジス
タ・ライト制御論理回路98および入力バッファ制御論
理回路102の準備を行う。バス64狭/広制御部92
も、バス64を広いと定義し、32ビット・ワードを書
き込むように、レジスタ・リード制御論理回路90およ
び出力バッファ制御論理回路94の準備を行う。FIF
Oライト選択器106は、レジスタ・ライト制御論理回
路98および入力バッファ制御論理回路104にイネー
ブル信号を供給し、FIFOバッファ65にバス116
からの32ビット・ワードのデータをサンプリングさせ
る。アドレス・デコーダ102は、デコードされたアド
レスをレジスタ・ライト制御論理回路98に供給する。
レジスタ・ライト制御論理回路98は、奇数レジスタ7
4,76,78または80から[W/2:1]からの1
6ビットを受ける1つを選択し、同時に、別の16ビッ
トがサンプリングされ、ビット[W:W/2+1]から
偶数入力バッファ110に入力される。
【0043】奇数レジスタ74,76,78,80の1
つおよび偶数レジスタ82,84,86,88の1つか
ら、32ビット・データ・ワードが同時にバス64に読
み出される。この32ビット・データ・ワードの16ビ
ットは、奇数レジスタ74,76,78,80から読み
出され、奇数出力バッファ112を通じて、ビット[W
/2:1]を出力する。別の16ビットは、偶数レジス
タ82,84,86,88の1つから読み出され、偶数
出力バッファ114を通じて、ビット[W:W/2+
1]を出力する。アドレス・デコーダ102は、デコー
ドされたアドレスをレジスタ・リード制御論理回路90
に供給して、FIFOリード選択器96からのイネーブ
ル信号に応答して、奇数および偶数レジスタのどちらか
ら読み出すかを選択する。これは、転送が完了するま
で、即ち、FIFOバッファ65が空になるまで続く。
【0044】FIFOレジスタを複数の部分に分割し、
これらの部分を独立して制御することにより、FIFO
バッファ内の記憶領域を浪費することなく、可変幅のデ
ータ・ワードを転送することができる。バッファの記憶
領域が効率的に用いられるので、集積回路上の表面領域
は、更に効率的に用いられることになる。
【0045】図4は、図2のホスト・インターフェース
24のDSP制御レジスタ69を、ブロック図形状で示
す。DSP制御レジスタ69は32ビットの制御ビット
を含む。「FC1」および「FC0」と表記された制御ビット
130,131は、ホスト・インターフェース24がデ
ータをバス・マスタとして送信しているとき、ホストの
送信データFIFOバッファ65およびDSPの送信デ
ータFIFOバッファ66におけるデータ転送フォーマ
ットを制御する。制御ビット130,131は、FIF
Oバッファにおけるデータ幅、FIFOレジスタ72に
おけるデータの配列、およびホスト・インターフェース
24がバス116に読み出しているあるいはバス116
から書き込んでいるときの符号拡張(sign extension)を
規定する。「BL5-BL0」と表記された制御ビット132
は、データのバースト長(data burst length)を規定す
る。制御ビット132内の値は、データが転送される各
データ転送サイクルの後に、減分される。制御ビット1
32内の値がゼロまたは他の所定値に達したとき、転送
を終了する。
【0046】図5は、図2のホスト・インターフェース
24のホスト・インターフェース制御レジスタ67を、
ブロック図形状で示す。ホスト・インターフェース制御
レジスタ67は、制御ビット136−142を含む。
「HRF1」および「HRF0」とそれぞれ表記された、ホスト
受信データ転送フォーマット制御ビット136,137
は、ホスト・インターフェース24がホスト・プロセッ
サによって読み出されているとき、DSP送信データF
IFOバッファ66を介したデータ転送のための、デー
タ転送フォーマットを定義する。制御ビット136,1
37は、FIFOバッファ内のデータ幅、FIFOレジ
スタ内のデータ配列、および符号拡張を規定する。「HT
F1」および「HTF0」とそれぞれ表記された、ホスト・デ
ータ転送フォーマット制御ビット138,139は、ホ
スト・インターフェース24がホスト・プロセッサによ
って書き込まれているときに、ホスト送信データFIF
Oバッファ65を用いた転送のために、データ転送フォ
ーマットを定義する。制御ビット138,139は、F
IFOバッファ内のデータ幅、FIFOレジスタ内のデ
ータ配列、および符号拡張を規定する。「HF2」,「HF
1」,「HF0」とそれぞれ表記された、制御ビット14
0,141,142は、バス116およびバス64間の
通信のための汎用ホスト・フラグである。制御ビット1
40,141,142は、ホスト・プロセッサ(図示せ
ず)によって、アサートまたはニゲートすることができ
る。
【0047】図6は、図2のホスト・インターフェース
24のDSPステータス・レジスタ68を、ブロック図
形状で示す。DSPステータス・レジスタ68は、ビッ
ト145−151を含む。「HACT」と表記されたビット
145は、ホスト・インターフェース24がアクティブ
のときはいつでも、アサートされている。転送が完了
し、ホスト・インターフェース24内の動作が停止され
ると、ビット145はニゲートされる。「HF2」,「HF
1」,「HF0」と表記されたビット146,147,14
8は、ホスト・インターフェース制御レジスタ67内の
ホスト・フラグHF2,HF1,HF0の状態を示す。ホスト・
インターフェースのみが、ビット146,147,14
8を変更することができる。「SRRQ」と表記されたビッ
ト149は、ホスト送信データFIFOバッファ65
が、データ処理システム20のためのデータを含むこと
を示す。ホスト・インターフェース・データFIFOバ
ッファ65内のレジスタが、データ処理システム20に
よって空にされたとき、ビット149はニゲートされ
る。「STRQ」と表記されたビット150は、アサートさ
れると、DSP送信データFIFOバッファ66内のレ
ジスタが満杯でなく、データ処理システム20によって
書き込み可能であることを示す。「HCP」と表記されたビ
ット151は、アサートされると、ホスト・コマンド割
り込みが中断中であることを示す。ホスト・インターフ
ェース24によって割り込みがかけられた(service)と
き、ビット151はニゲートされる。ビット151は、
ホスト・インターフェース24またはホスト・プロセッ
サ(図示せず)によってニゲートすることができる。
【0048】図7は、図2のホスト・インターフェース
24のアドレス構成レジスタ70を、ブロック図形状で
示す。「PM31-PM16」と表記されたアドレス・ビット1
53は、FIFOバッファ65にアクセスするためのア
ドレス範囲を規定する。アドレス構成レジスタ70への
アクセスは、ホスト・インターフェース24の動作モー
ドに応じて行われ、ホスト・プロセッサがアクセスする
ことも、あるいはホスト・インターフェース24が間接
的にアクセスすることもできる。
【0049】図8は、本発明の一実施例によって、FI
FOバッファ65のデータ・ストリームにアドレスを挿
入するために必要なステップを、フロー・チャート形状
で示す。ダイヤモンド形のボックス155,156は、
判断ステップを表わし、矩形形ボックス157−161
は、アドレスをデータ・ストリームに挿入ために実行さ
れるステップを表わす。FIFOバッファ65へのアク
セスは、あるアドレス範囲を用いて、バス116を通じ
て行うことができる。このアドレス範囲は、バス116
からサンプリングされるアドレスの最上位ビットによっ
て規定される。例えば、32ビット・アドレスの上位1
6ビットを用いて、FIFOバッファ65へのアクセス
を識別する場合、FIFOバッファ65の216即ち65
536カ所にアクセスすることができる。65536カ
所の内7カ所はFIFOバッファ65以外のレジスタで
あるので、最下位ビットは「ほとんど」ドント・ケア(d
on't care)である。FIFOバッファ65の出力は、い
くつかの機構のいずれかによって、あるアドレス範囲に
転送することができる。例えば、下位アドレス・ビット
をポインタとして用い、FIFOバッファ65を通じて
到来するデータをどこに記憶するかを指揮することがで
きる。
【0050】FIFOバッファを通じてデータ・ストリ
ームを転送するとき、FIFOバッファにアクセスする
ために用いられるアドレスは、これを保持するなんらか
の用意をしなければ、失われることになる。FIFOバ
ッファ65では、バス116からサンプルされる最初の
データはアドレスである。このアドレスは、ヘッダ情報
を含むこともできる。アドレス内のヘッダ情報を用い
て、このデータをデータ処理システム20内の所望の場
所に送出することや、どのようにデータ処理システムが
このアドレスを用いるべきかを記述することもできる。
図示の実施例では、バス116は、アドレスおよびデー
タ情報の双方を搬送する「多重化バス」である。ここに
記載するアドレス挿入方法では、例えば、アドレス発生
器/DMAコントローラ36のようなデータを読み取る
システムの構成物が、データがFIFOバッファ65か
ら読み出すかについて、アドレス自体を識別しなければ
ならない。多重化バスにおいてアドレスをデータから区
別する方法はいくつかある。例えば、処理が始まったと
きにFIFOバッファが空である場合、アドレスは、こ
のFIFOバッファから読み出される最初のデータであ
る。また、データ・バーストが既知の長さのものである
場合、FIFOバッファから読み出される次のワードは
アドレスである。加えて、データ・ストリームの長さも
アドレスの関数となり得る。この場合、データ・ストリ
ームの後に読まれる次のワードがアドレスである。
【0051】アドレス情報がバス116からサンプリン
グされるとき、アドレス・デコーダ102は、ライト・
イネーブル信号をレジスタ・ライト制御論理回路98に
供給する。ライト・イネーブル信号が供給されたときバ
ス116上にはアドレスがあったので、バス116から
サンプリングされた最初のデータとして、アドレスが書
き込まれる。アドレスが受け取られた後、バス116か
らデータがサンプリングされる。データ・ストリームの
サイズは、ホスト・インターフェース24がスレーブの
ときは、ホスト・プロセッサによって制御される。ホス
ト・インターフェース24がマスタのとき、データ・ス
トリームのサイズは、DSP制御レジスタ69(図4)
のビット132内の初期値によって決定される。ビット
132内の値は、データ・ワードが転送される毎に減分
される。値がゼロに等しくなったとき、転送が完了す
る。
【0052】判断ステップ155において、ホスト・プ
ロセッサは、アドレスがFIFOバッファ65にアクセ
スするために要求される範囲以内にあるか否か判断す
る。アドレスが要求された範囲以内にない場合、「否
定」経路が選択され、ステップ157において、FIF
Oバッファ65へのアクセスは拒否される。アドレスが
要求された範囲内にある場合、「肯定」経路が選択さ
れ、判断ステップ156に進む。ステップ156におい
て、ホスト・プロセッサは、DSPステータス・レジス
タ68(図6)内のビット145をチェックすることに
よって、FIFOバッファが使用可能であるか否か判断
を行う。FIFOバッファが使用可能でない場合、「否
定」経路が選択されステップ158に進み、FIFOバ
ッファ65へのアクセスは拒否される。ホスト・プロセ
ッサは、アクセスが許可される前の現在実行中の処理(t
ransaction)をFIFOバッファ65が完了するまで、
待機しなければならない。FIFOバッファが使用可能
な場合、「肯定」経路が選択されステップ159に進
み、ホスト・インターフェース24によってFIFOバ
ッファ65にアドレスがサンプリングされる。ここに記
載した処理とは、FIFOバッファ65を介したバス1
16からバス64への処理であることを注記しておく。
しかしながら、他の実施例では、この処理は、同様のス
テップを用いて、DSP送信データFIFOバッファ6
6を介してのバス64からバス116への処理とするこ
ともできる。アドレスがFIFOバッファ65のレジス
タに書き込まれた後、ステップ160において、データ
・バーストをFIFOバッファ65に書き込む。一旦デ
ータ・ワードがFIFOバッファ65に書き込まれたな
ら、即ち、FIFOバッファ65が空でない場合、ステ
ップ161において、データ・ワードがFIFOバッフ
ァ65からデータ処理システム20内の記憶場所に読み
出される。データ・ストリームのFIFOバッファ65
からの読み出しは、データ・ストリームのFIFOバッ
ファ65への書き込みと同時に行うことができる。FI
FOバッファは常に、部分的には空の部分が残ってい
る。処理中にFIFOバッファが満杯になった場合、ホ
スト・インターフェース24によって待機状態が挿入さ
れ、ホスト・プロセッサはFIFOバッファ65に上書
きすることが禁止される。
【0053】バス116は多重化バスとして示されてい
る。これは、バスがアドレスおよびデータ情報の双方を
搬送することを意味する。しかしながら、他の実施例で
は、ISAバスにおけるように、バス116を別個のア
ドレスおよびデータ・バスに分割してもよい。図7に示
した実施例では、FIFOバッファ65がホスト・イン
ターフェース24内で用いられているが、他の実施例で
は、固定深度および固定幅を有する従来のFIFOバッ
ファも使用可能であることも、指摘しておく。
【0054】大きなメモリ・アレイの代わりに小さなF
IFOバッファを用いることによって、データ処理シス
テム20における空間を節約することができる。可変幅
および可変深度のFIFOバッファを有することによ
り、あるサイズのバスから異なるサイズを有する別のバ
スへデータを転送するときに、FIFOバッファの記憶
領域のより効率的な使用が可能になる。FIFOバッフ
ァを通過するデータ・バーストのアドレスが失われない
ようにするために、データ・ストリームの先頭にアドレ
スを挿入する。
【0055】以上、本発明を好適実施例に基づいて記載
したが、本発明は数多くの方法で変更可能であり、先に
具体的に示し説明したもの以外にも多くの実施例が想定
できることは、当業者には明白であろう。例えば、FI
FOバッファ65は、2種類のデータ幅を有するFIF
Oバッファを設けるために、2つの部分のFIFOレジ
スタ72を有するものとして例示された。しかしなが
ら、他の実施例では、FIFOバッファ65は、3つ以
上の部分を有し、3種類以上のデータ幅のFIFOバッ
ファを設けるように適応させることも可能である。した
がって、本発明の真の精神および範囲に該当する本発明
の変更は全て、特許請求の範囲に含まれることを意図す
るものである。
【図面の簡単な説明】
【図1】本発明によるデータ処理システムを示すブロッ
ク図。
【図2】図1のデータ処理システムのホスト・インター
フェースの一実施例を示すブロック図。
【図3】本発明の一実施例による図2のホスト・インタ
ーフェースの深度/幅調節可能FIFOバッファを示す
ブロック図。
【図4】図2のホスト・インターフェースのDSP制御
レジスタを示すブロック図。
【図5】図2のホスト・インターフェースのホスト・イ
ンターフェース制御レジスタを示すブロック図。
【図6】図2のホスト・インターフェースのDSPステ
ータス・レジスタを示すブロック図。
【図7】図2のホストインターフェースのアドレス構成
レジスタを示すブロック図。
【図8】本発明によるデータ・ストリームにアドレスを
挿入する方法を示すフロー・チャート。
【符号の説明】
20 データ処理システム 22 タイマ 24 ホスト・インターフェース 26 改良直列同期インターフェース 28 直列非同期インターフェース 30 プログラムRAMおよび命令キャッシュ 32,34 データ・メモリ 36 アドレス発生器/直接メモリ・アクセス・コント
ローラ 38 外部アドレス・バス・スイッチ 40 内部データ・バス・スイッチ 42 DRAMおよびSRAMバス・インターフェース
/命令キャッシュ制御部 44 外部データ・バス・スイッチ 46 プログラム制御部 48 プログラム割り込みコントローラ 50 プログラム・デコード・コントローラ 52 ログラム・アドレス発生器 54 データ算術演算部 56,57 アドレス・バス 58 プログラム・アドレス・バス 59 アドレス・バス 61,62 データ・バス 63,64 プログラム・データ・バス 65 ホスト送信データFIFOバッファ 66 DSP送信データFIFOバッファ 67 ホスト・インターフェース制御レジスタ 68 DSPステータス・レジスタ 69 DSP制御レジスタ 70 アドレス構成レジスタ 72 FIFOレジスタ 90 レジスタ・リード制御論理回路 92 バス64、狭/広制御部 94 出力バッファ制御論理回路 96 FIFOリード選択器 98 レジスタ・ライト制御論理回路 100 バス116狭/広制御部 102 アドレス・デコーダ 104 入力バッファ制御論理回路 106 FIFOライト選択器 108 奇数入力バッファ 110 偶数入力バッファ 112 奇数入力バッファ 114 偶数出力バッファ 116 バス 124,128 レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アブニール・ゴレン イスラエル国ロシュ−ハアイン、ギバット −タル、シトバニト4 (72)発明者 デビッド・ギャランティ イスラエル国ナタニア、イルス・ハアガマ ン4

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】FIFOバッファ(65)を有するデータ
    処理システム(20)において、FIFOバッファ(6
    5)にデータを書き込む方法であって:前記FIFOバ
    ッファ(65)へのアクセスを識別する段階;前記FI
    FOバッファ(65)が使用可能か否かを判定する段
    階;およびデータ・ワードを前記FIFOバッファ(6
    5)に書き込む段階;から成り、 前記データ・ワードの内所定のデータ・ワードがアドレ
    スを含む、ことを特徴とする方法。
  2. 【請求項2】FIFOバッファ(65)を有するデータ
    処理システム(20)において、FIFOバッファ(6
    5)を介してデータ・ストリームを転送する方法であっ
    て:前記FIFOバッファ(65)へのアクセスを識別
    する段階;前記FIFOバッファ(65)がデータ転送
    のために使用可能か否かを判定する段階;前記データ・
    ストリームを前記FIFOバッファ(65)に書き込む
    段階;および前記データ・ストリーム内の所定点にアド
    レスを挿入する段階;から成ることを特徴とする方法。
  3. 【請求項3】FIFOバッファ(65)を有するデータ
    処理システム(20)において、前記FIFOバッファ
    (65)を介してデータ・ストリームを転送する装置で
    あって:第1バス(116)に結合されアドレスを受信
    し、前記アドレスが前記FIFOバッファ(65)をア
    クセスするための所定アドレス範囲内にあるときを識別
    するアドレス・デコーダ(102);および前記アドレ
    ス・デコーダ(102)に結合されたライト制御論理回
    路(98)であって、前記データ・ストリームを前記F
    IFOバッファ(65)に書き込ませる前記ライト制御
    論理回路(98);から成り、 前記アドレス・デコーダ(102)は前記アドレスを、
    前記データ・ストリーム内の所定点に挿入することを特
    徴とする装置。
JP34711295A 1994-12-16 1995-12-15 データ処理システムにおいてデータ・ストリーム内にアドレスを挿入する装置および方法 Expired - Lifetime JP3773574B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US35789894A 1994-12-16 1994-12-16
US357898 1994-12-16

Publications (2)

Publication Number Publication Date
JPH08339290A true JPH08339290A (ja) 1996-12-24
JP3773574B2 JP3773574B2 (ja) 2006-05-10

Family

ID=23407483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34711295A Expired - Lifetime JP3773574B2 (ja) 1994-12-16 1995-12-15 データ処理システムにおいてデータ・ストリーム内にアドレスを挿入する装置および方法

Country Status (3)

Country Link
US (1) US5889948A (ja)
EP (1) EP0717348A3 (ja)
JP (1) JP3773574B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19882676T1 (de) * 1998-02-16 2000-07-27 Siemens Ag Integrierte Schaltung
WO2000000887A1 (en) * 1998-06-30 2000-01-06 Intergraph Corporation Method and apparatus for transporting information to a graphic accelerator card
NO993483L (no) 1999-07-15 2001-01-16 Ericsson Telefon Ab L M Fremgangsmåte og anordning for effektiv overföring av datapakker
US7680944B1 (en) * 2003-02-28 2010-03-16 Comtrol Corporation Rapid transport service in a network to peripheral device servers
US7716736B2 (en) * 2003-04-17 2010-05-11 Cybersoft, Inc. Apparatus, methods and articles of manufacture for computer virus testing
US20050188125A1 (en) * 2004-02-20 2005-08-25 Lim Ricardo T. Method and apparatus for burst mode data transfers between a CPU and a FIFO

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
US5113354B1 (en) * 1986-02-07 1993-11-09 System for optimizing data transmissions associated with addressable buffer devices
US4768190A (en) * 1986-04-30 1988-08-30 Og Corporation Packet switching network
US5327545A (en) * 1988-05-26 1994-07-05 International Business Machines Corporation Data processing apparatus for selectively posting write cycles using the 82385 cache controller
US5155810A (en) * 1989-01-10 1992-10-13 Bull Hn Information Systems Inc. Dual FIFO peripheral with combinatorial logic circuitry
US4954987A (en) * 1989-07-17 1990-09-04 Advanced Micro Devices, Inc. Interleaved sensing system for FIFO and burst-mode memories
DE69124946T2 (de) * 1990-11-30 1997-09-18 Ibm Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen
US5262997A (en) * 1991-11-25 1993-11-16 Industrial Technology Research Institute Extendable FIFO
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
WO1994018766A1 (en) * 1993-02-09 1994-08-18 Dsc Communications Corporation High-speed packet bus

Also Published As

Publication number Publication date
US5889948A (en) 1999-03-30
EP0717348A3 (en) 1997-06-04
EP0717348A2 (en) 1996-06-19
JP3773574B2 (ja) 2006-05-10

Similar Documents

Publication Publication Date Title
KR100381823B1 (ko) 가변성의폭데이터전송들을위해조정가능한깊이/폭의fifo버퍼를포함한데이터처리시스템
JP2001142842A (ja) Dmaハンドシェークプロトコル
KR100335785B1 (ko) 데이타처리명령의실행
US20050160202A1 (en) Direct memory access device
EP1895425A1 (en) External device access device
US4314332A (en) Memory control system
US5129065A (en) Apparatus and methods for interface register handshake for controlling devices
JP3773574B2 (ja) データ処理システムにおいてデータ・ストリーム内にアドレスを挿入する装置および方法
JP3153078B2 (ja) データ処理装置
GB2258069A (en) High speed computer graphics bus
US4814977A (en) Apparatus and method for direct memory to peripheral and peripheral to memory data transfers
US6681273B1 (en) High performance, variable data width FIFO buffer
JP3304395B2 (ja) データ転送装置及びデータ転送方法
US6085271A (en) System bus arbitrator for facilitating multiple transactions in a computer system
JPH01258163A (ja) ダイレクトメモリアクセス制御装置
JPH0997211A (ja) バス制御装置、及びバス制御装置を含む情報処理装置
JP3077807B2 (ja) マイクロコンピュータシステム
JPS6019816B2 (ja) マイクロプログラム制御アダプタ
US20040103267A1 (en) Data processor having cache memory
JPH0743668B2 (ja) アクセス制御装置
JPH0934726A (ja) 割り込み制御方法
JPH1011387A (ja) 情報処理装置
JPH0764856A (ja) メモリアクセス制御回路
JPS6049465A (ja) マイクロコンピユ−タ間のデ−タ転送方法
JPH11327798A (ja) データ転送制御装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050303

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090224

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140224

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term