JPH08235850A - 可変幅データ転送用深度/幅調節可能fifoバッファ - Google Patents

可変幅データ転送用深度/幅調節可能fifoバッファ

Info

Publication number
JPH08235850A
JPH08235850A JP7346248A JP34624895A JPH08235850A JP H08235850 A JPH08235850 A JP H08235850A JP 7346248 A JP7346248 A JP 7346248A JP 34624895 A JP34624895 A JP 34624895A JP H08235850 A JPH08235850 A JP H08235850A
Authority
JP
Japan
Prior art keywords
bus
data
buffer
register
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.)
Pending
Application number
JP7346248A
Other languages
English (en)
Inventor
Leonid Smolansky
レオニド・スモランスキー
Kowal Shai
シャイ・コワル
Avner Goren
アブナー・ゴレン
David Galanti
デビッド・ガランティ
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 JPH08235850A publication Critical patent/JPH08235850A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 可変幅データの転送に対応可能な深度/幅調
節可能FIFOバッファ(65)を提供する。 【解決手段】 FIFOバッファ(65)は、2部分か
ら成るリード/ライト・レジスタ(73,75)を有
し、これらを各々独立に制御して、16ビット・ワード
が転送される際にもFIFOバッファ(65)内のレジ
スタ空間を無駄にすることなく、16ビット・ワードま
たは32ビット・ワードの転送を可能にする。FIFO
バッファ(65)を狭めて16ビット・ワードを転送す
るとき、記憶空間は深められる。これによって、16ビ
ット並列データまたは32ビット並列データのいずれを
インターフェースする場合でも、FIFOバッファ・レ
ジスタ(72)を最大限利用することができる。FIF
Oバッファ(65)はホスト・プロセッサに対してのみ
スレーブとなるバッファであり、FIFOバッファ(6
5)にデータ出力の開始することはできないが、構造を
簡単かつ小型に保つことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】Smolansky et al.による"APPARAT
US AND METHOD FOR INSERTING AN ADDRESS WITHIN A DA
TA STREAM IN A DATA PROCESSG SYSTEM"と題され、弁理
士整理番号SC0365EIを有する関連出願が、本願と同時に
出願され、同一譲受人に譲渡された。
【0002】本発明は、一般的に先入れ先出し(FIF
O)メモリに関し、更に特定すれば、可変幅データ転送
用深度/幅調節可能FIFOバッファに関するものであ
る。
【0003】
【従来の技術】デジタル信号処理は、規則的な間隔でサ
ンプルされデジタル化されたリード・タイム信号の算術
的処理である。デジタル信号プロセッサ(DSP:digital s
ignalprocessor)は、信号のフィルタ処理、混合および
比較のようなデジタル信号処理機能を実行するものであ
る。データ処理システムの中には、DSPがホスト・プ
ロセッサ内に含まれており、デジタル信号処理の作業(c
hores)に対処するものもある。ホスト・プロセッサは、
例えば、マイクロコンピュータまたはマイクロプロセッ
サを含んでもよい。
【0004】場合によっては、ホスト・プロセッサとD
SPとの間で比較的大量のデータを転送しなければなら
ないことがある。2つのプロセッサ間でデータを転送す
る場合、これら2つのプロセッサ間に互換性がないこ
と、例えば、2つのプロセッサが異なるクロックで動作
する可能性があるなどのために、直接転送ができない場
合がある。この場合、非同期的に動作するバッファ・メ
モリを用いればよい。データは、受信側プロセッサによ
って受信可能となる前に、まずバースト状で送信側プロ
セッサによってバッファ・メモリに転送される。しかし
ながら、バッファ・メモリは、集積回路上の貴重な表面
面積を大量に必要とし、実施には費用がかかり、しかも
全てのデータが処理可能となる前に転送しなければなら
ないので、処理の低速化を招く可能性がある。
【0005】
【発明が解決しようとする課題】比較的大きなバッファ
・メモリを不要とするために、小さな先入れ先出し(F
IFO)バッファを用いて、ホスト・プロセッサと受信
側プロセッサとの間にインターフェースを設けることも
時として行われている。FIFOバッファは、データを
受けたのと同じ順序で出力するメモリ・ユニットであ
る。データはホスト・プロセッサ内のバスからFIFO
バッファに転送され、同時にFIFOバッファはデータ
を受信側プロセッサのバスに転送する。FIFOバッフ
ァはバッファ・メモリの代わりに用いられる。データ
は、データ・ストリームとして転送される多くのデータ
・ワードで構成されている。各データ・ワードは、ある
数のビットを有する。例えば、データ・ワードは16ビ
ット幅のことも、32ビット幅のこともある。データ転
送を支援するFIFOバッファは、典型的に、最も幅の
広いデータの転送を支援する。しかしながら、32ビッ
ト幅のFIFOバッファを用いて16ビットのデータの
みを転送する場合、FIFOバッファの記憶容量の半分
のみが利用されるに過ぎない。
【0006】
【課題を解決するための手段】したがって、一形態で
は、先入れ先出しバッファを有するデータ処理システム
が提供される。この先入れ先出しバッファは複数のレジ
スタと制御論理回路とを有する。複数のレジスタの内の
各レジスタは、第1バスに結合された複数の入力端子
と、第2バスに結合された複数の出力端子とを有する。
制御論理回路は、複数のレジスタに結合されている。制
御論理回路は、第1バスからのデータ・ワードが第1所
定幅を有するとき、複数のレジスタの内の1つのレジス
タをイネーブルし、第1バスからのデータを受信できる
ようにする。また、制御論理回路は、第1バスからのデ
ータ・ワードが第2所定幅を有するとき、複数のレジス
タの内2つのレジスタをイネーブルする。
【0007】これらおよびその他の特徴ならびに利点
は、添付図面に関連付けて記載された以下の詳細な説明
からより明確に理解されよう。
【0008】
【実施例】概して言えば、本発明は、可変幅データ転送
用深度/幅調節可能FIFOバッファを提供する。FI
FOバッファは2つの部分を有し、これらを独立して制
御し、16ビット・ワードが転送されるときにもFIF
Oバッファ内の記憶空間を無駄にすることなく、16ビ
ット・ワードまたは32ビット・ワードのいずれをも転
送可能としている。FIFOバッファは、32ビット幅
のワードを有する外部バスをサンプリングするときは3
2ビット幅、4ワード深度で構成され、16ビット幅の
データ・ワードをサンプリングするときは16ビット
幅、8ワード深度で構成される。したがって、16ビッ
ト幅を有する外部バスとインターフェースするときは、
記憶領域が深まることになる。他の実施例では、FIF
Oバッファは、異なる幅を有するワードと共に用いるよ
うに適応させ、異なる深度を有することができる。これ
によって、16ビット並列データまたは32ビット並列
データのいずれをインターフェースするときでも、FI
FOバッファの記憶空間を最大限利用することができ
る。FIFOバッファは、ホスト・プロセッサに対して
は、スレーブとしてのみ動作するバッファである。FI
FOバッファはデータのサンプリングを開始することは
できないが、簡単で小型の構成を保つ。
【0009】信号、ステータス・ビット、または同様の
装置(apparatus)をその論理真または論理虚の状態にす
ることを意味する場合、「アサート」および「ニゲー
ト」という用語を、それぞれ用いることにする。論理真
状態がデジタル論理レベル1の場合、論理虚状態はデジ
タル論理レベル0となる。また、論理真状態がデジタル
論理レベル0の場合、論理虚状態はデジタル論理レベル
1となる。また、データ、アドレス、制御、またはステ
ータスのような1つ以上の種々の情報を転送するために
用いられる複数の信号を意味する場合に、「バス」とい
う用語を用いることにする。
【0010】図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を含む。
【0011】「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との間に結合されている。
【0012】タイマ22は、3つのタイマを含み、内部
または外部タイミングに用いることができると共に、デ
ータ処理システム20に割り込みをかけたり、外部装置
に通知することができる。加えて、タイマ22は、特定
数の事象が発生した後にDMA転送を通知するために用
いることもできる。3つのタイマの各々は、1本の双方
向ピン即ち端子に結合されている。更に、タイマ22の
各タイマは、バス57、バス59、プログラム割り込み
コントローラ48、およびバス60に結合されている。
【0013】ホスト・インターフェース24は、データ
処理システム20と、マイクロコンピュータ、マイクロ
プロセッサ、またはDMAのようなその他の素子との間
の通信のための双方向インターフェースを形成する。ま
た、ホスト・インターフェース24は、バス60を介し
て外部データ・バス・スイッチ44に双方向結合され、
更に、バス57,59を介して、グローバル・データ・
バス64、プログラム割り込み制御部48、アドレス発
生器/DMAコントローラ36、および外部アドレス・
バス・スイッチ38に、双方向結合されている。加え
て、ホスト・インターフェース24は、双方向データ転
送、アドレス・レジスタの選択、およびホスト・プロセ
ッサからの制御通信のために、50本の外部ピン即ち端
子に、双方向結合されている。
【0014】改良直列同期インターフェース(ESS
I)26は、12本の双方向外部ピンに結合され、例え
ば、1つ以上の業界標準コデック、DSP(デジタル信
号プロセッサ)、またはマイクロプロセッサを含む外部
直列装置との直列通信を可能にする。ESSI26は、
更に、バス57、バス59、およびバス60に結合され
た端子も有する。
【0015】直列通信インターフェース(SCI)28
は、3本の双方向外部ピンに結合され、外部装置との直
列通信を可能にする。SCI28は、バス57、バス5
9、およびバス60に結合された端子も有する。
【0016】図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に結合されている。
【0017】アドレス発生器/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つのチャネルを有する。
【0018】DRAMおよびSRAMバス・インターフ
ェース/命令キャッシュ42は、プログラム・アドレス
・バス58および14本の双方向外部ピンに結合されて
いる。DRAMおよびSRAMバス・インターフェース
/命令キャッシュ42の命令キャッシュは、外部メイン
・メモリ(図示せず)とプログラム制御部46との間の
バッファ・メモリとして機能する。命令キャッシュは、
頻繁に用いられるプログラム命令を記憶するものであ
る。プログラムが必要とする命令語をキャッシュの中で
得られるようにすると、メイン・メモリにアクセスする
ための時間が不要になるので、その結果として性能の向
上を達成することができる。
【0019】内部データ・バス・スイッチ40は、デー
タ・バス60、データ・バス61、データ・バス62、
プログラム・データ・バス63、およびグローバル・デ
ータ・バス64に結合されている。また、外部データ・
バス・スイッチ44は、データ・バス60、データ・バ
ス61、データ・バス62、プログラム・データ・バス
63、およびグローバル・データ・バス64を介して、
内部データ・バス・スイッチ40に結合されている。加
えて、外部データ・バス・スイッチ44は、データ・バ
ス60を介して、タイマ22、ホスト・インターフェー
ス24、ESSI26、およびSCI28に結合されて
いる。内部データ・バス・スイッチ40は、バス間の転
送に用いられる。内部データ・バス・スイッチ40を介
して、いずれの2つのバスでも、共に接続することがで
きる。外部アドレス・バス・スイッチ38および外部デ
ータ・バス・スイッチ44は、外部バス(図示せず)
を、内部アドレスおよび内部データ・バスに、それぞれ
結合する。
【0020】プログラム制御部46では、プログラム割
り込みコントローラ48が割り込み要求間の仲裁を行
い、タイマ22、ホスト・インターフェース24、ES
SI26、およびSCI28に結合されている。また、
プログラム割り込みコントローラ48は、グローバル・
データ・バス64とプログラム・デコード・コントロー
ラ50とに、双方向結合されている。プログラム・デコ
ード・コントローラ50は、各24ビット命令をデコー
ドするものであり、プログラム割り込みコントローラ4
8とプログラム・アドレス発生器52とに、双方向結合
されている。プログラム・アドレス発生器52は、プロ
グラム・アドレスの発生、システム・スタック、および
ループ制御に必要なハードウエアの全てを内蔵する。加
えて、プログラム・アドレス発生器52は、プログラム
・アドレス・バス58およびプログラム・データ・バス
63に結合されている。
【0021】データ算術論理演算部(ALU)54は、
プログラム・データ・バス63、データ・バス61、お
よびデータ・バス62に結合されている。データALU
54は、データ・オペランド上での算術および論理演算
の全てを実行する。ALU54は、バス61,62を介
して読み出しまたは上書き可能なレジスタを含む。ま
た、データALU54は、バス63およびバス60にも
結合されている。
【0022】クロック発生回路(図示せず)が、図1に
示したブロックの全てにクロック信号を供給する。ま
た、図1には示していないが、データ処理システム20
には検査回路も含まれている。
【0023】図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制御端子を有する。
【0024】また、ホスト・インターフェース制御レジ
スタ67は、外部バス116に結合された複数の双方向
端子と、DSPステータス・レジスタ68に結合された
複数の出力端子とを有する。DSPステータス・レジス
タ68は、グローバル・データ・バス64に結合された
複数の出力端子を有し、DSP制御レジスタ69は、グ
ローバル・データ・バス64に結合された複数の双方向
端子と、FIFOバッファ65,66の制御端子に結合
された複数の出力端子とを有する。
【0025】ホスト・プロセッサ(図示せず)は、ホス
ト・インターフェース24からグローバル・データ・バ
ス64を介して、バス116からデータ処理システム2
0内のある場所までのデータ転送を開始することができ
る。外部バス116およびバス64は、両方とも双方向
バスである。一実施例では、バス116は多重化バスで
あり、データとアドレスの双方を通信する。他の実施例
では、外部バス116は、データ線およびアドレス線を
別個に有する場合もある。バス116からバス64への
転送が要求されたとき、ホスト・プロセッサはこの転送
を制御する。FIFOバッファ65は、ホスト・プロセ
ッサのみに対してスレーブ(slave)として動作する。F
IFOバッファ65は、ホスト・プロセッサによる書き
込みが可能であるが、FIFOバッファ65が転送を開
始することはない。同様に、FIFOバッファ66は、
データ処理システム20から外部バス116にデータを
送信する場合にのみスレーブとなる。
【0026】ホスト・インターフェース制御レジスタ6
7(図5)およびDSP制御レジスタ69(図4)は、
バス116とバス64との間のデータ転送を規定するた
めの制御ビットを発生する。また、ホスト・プロセッサ
は、ホスト・インターフェース制御レジスタ67を介し
てDSPステータス・レジスタ68と通信してFIFO
バッファ65を活性化し、FIFOバッファ65,66
が空か満杯かを判定し、更に他のタイプのステータス情
報を受け取る。かかるステータス情報については、図6
を参照して後に説明する。アドレス構成レジスタ70
は、バス116に結合されており、FIFOバッファ6
5をアクセスするアドレス範囲を規定するベース・アド
レスをプログラムするためのアドレス・ビットを含む。
【0027】図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を含む。
【0028】好適実施例では、FIFOバッファ65
は、図1のホスト・インターフェース24の一部を含
む。また、FIFOバッファ66は、FIFOバッファ
65に類似した回路を有していればよい。データはバス
116からFIFOバッファ65に供給される。バス1
16は、ホスト・プロセッサ(図示せず)の一部である
外部バスである。バス64は、ホスト・インターフェー
ス24(図2)内部のバスである。他の実施例では、バ
ス116,64は、その間にバッファ動作を必要とする
2つのバスであれば、いずれでもよい。バッファ動作が
必要となるのは、例えば、2つのバスが異なるクロック
によって制御される場合である。
【0029】バス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の出力端子
に結合された制御端子を有する。
【0030】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が空か満杯かについて、追跡
を行う。
【0031】バス64狭/広制御部92は、図2のレジ
スタ128,124に結合された複数の入力端子と、出
力バッファ制御論理回路94とレジスタ・リード制御論
理回路90双方の入力端子に結合された出力端子とを有
する。レジスタ・ライト制御論理回路98は、奇数レジ
スタ74,76,78,80および偶数レジスタ82,
84,86,88の各々の入力端子に結合され、ライト
制御信号を供給する出力端子を有する。アドレス・デコ
ーダ102は、バス116に結合され複数のアドレス信
号を受ける複数の入力と、レジスタ・ライト制御論理回
路98に結合された複数の出力端子とを有する。
【0032】FIFOライト選択器106は、入力バッ
ファ制御論理回路104の入力端子と、レジスタ・ライ
ト制御論理回路98の入力端子とに結合された出力端子
を有する。FIFOライト選択器106は、ホスト・プ
ロセッサがデータをFIFOバッファ65に書き込むと
き、入力バッファ制御論理回路104とレジスタ・ライ
ト制御論理回路98とにイネーブル信号を供給する。バ
ス116狭/広制御部100は、レジスタ124,12
8に結合された複数の入力端子と、レジスタ・ライト制
御論理回路98と入力バッファ制御論理回路104の入
力端子とに結合された出力端子とを有する。入力バッフ
ァ制御論理回路104は、奇数入力バッファ108の入
力端子に結合された第1出力端子と、偶数入力バッファ
110の入力端子に接続された第2出力端子とを有す
る。
【0033】データはバス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)を有する。
【0034】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は他のデータ幅と等
しくすることもできる。
【0035】バス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が満杯になるまで、偶数および奇数レジスタ
間で交代しながら続けられる。
【0036】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ビット幅であ
る。他の実施例では、レジスタはいかなる幅でもよい。
【0037】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バッファが満杯になるまで、偶数および奇数レジスタ
を交代しながら続けられる。
【0038】奇数レジスタ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が空になるまで続く。
【0039】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に入力される。
【0040】バス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に供給し、奇数および偶数レジス
タのどちらを読み出すかを選択する。
【0041】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に入力される。
【0042】奇数レジスタ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が空になるまで続く。
【0043】FIFOレジスタを複数の部分に分割し、
これらの部分を独立して制御することにより、FIFO
バッファ内の記憶領域を浪費することなく、可変幅のデ
ータ・ワードを転送することができる。バッファの記憶
領域が効率的に用いられるので、集積回路上の表面領域
は、更に効率的に用いられることになる。
【0044】図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内の値がゼロまたは他の所定値に達したとき、転送
を終了する。
【0045】図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は、ホスト・プロセッサ(図示せ
ず)によって、アサートまたはニゲートすることができ
る。
【0046】図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またはホスト・プロセッ
サ(図示せず)によってニゲートすることができる。
【0047】図7は、図2のホスト・インターフェース
24のアドレス構成レジスタ70を、ブロック図形状で
示す。「PM31-PM16」と表記されたアドレス・ビット1
53は、FIFOバッファ65にアクセスするためのア
ドレス範囲を規定する。アドレス構成レジスタ70への
アクセスは、ホスト・インターフェース24の動作モー
ドに応じて行われ、ホスト・プロセッサがアクセスする
ことも、あるいはホスト・インターフェース24が間接
的にアクセスすることもできる。
【0048】図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を通じて
到来するデータをどこに記憶するかを指揮することがで
きる。
【0049】FIFOバッファを通じてデータ・ストリ
ームを転送するとき、FIFOバッファにアクセスする
ために用いられるアドレスは、これを保持するなんらか
の用意をしなければ、失われることになる。FIFOバ
ッファ65では、バス116からサンプルされる最初の
データはアドレスである。このアドレスは、ヘッダ情報
を含むこともできる。アドレス内のヘッダ情報を用い
て、このデータをデータ処理システム20内の所望の場
所に送出することや、どのようにデータ処理システムが
このアドレスを用いるべきかを記述することもできる。
図示の実施例では、バス116は、アドレスおよびデー
タ情報の双方を搬送する「多重化バス」である。ここに
記載するアドレス挿入方法では、例えば、アドレス発生
器/DMAコントローラ36のようなデータを読み取る
システムの構成物が、データがFIFOバッファ65か
ら読み出すかについて、アドレス自体を識別しなければ
ならない。多重化バスにおいてアドレスをデータから区
別する方法はいくつかある。例えば、処理が始まったと
きにFIFOバッファが空である場合、アドレスは、こ
のFIFOバッファから読み出される最初のデータであ
る。また、データ・バーストが既知の長さのものである
場合、FIFOバッファから読み出される次のワードは
アドレスである。加えて、データ・ストリームの長さも
アドレスの関数となり得る。この場合、データ・ストリ
ームの後に読まれる次のワードがアドレスである。
【0050】アドレス情報がバス116からサンプリン
グされるとき、アドレス・デコーダ102は、ライト・
イネーブル信号をレジスタ・ライト制御論理回路98に
供給する。ライト・イネーブル信号が供給されたときバ
ス116上にはアドレスがあったので、バス116から
サンプリングされた最初のデータとして、アドレスが書
き込まれる。アドレスが受け取られた後、バス116か
らデータがサンプリングされる。データ・ストリームの
サイズは、ホスト・インターフェース24がスレーブの
ときは、ホスト・プロセッサによって制御される。ホス
ト・インターフェース24がマスタのとき、データ・ス
トリームのサイズは、DSP制御レジスタ69(図4)
のビット132内の初期値によって決定される。ビット
132内の値は、データ・ワードが転送される毎に減分
される。値がゼロに等しくなったとき、転送が完了す
る。
【0051】判断ステップ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に上書
きすることが禁止される。
【0052】バス116は多重化バスとして示されてい
る。これは、バスがアドレスおよびデータ情報の双方を
搬送することを意味する。しかしながら、他の実施例で
は、ISAバスにおけるように、バス116を別個のア
ドレスおよびデータ・バスに分割してもよい。図7に示
した実施例では、FIFOバッファ65がホスト・イン
ターフェース24内で用いられているが、他の実施例で
は、固定深度および固定幅を有する従来のFIFOバッ
ファも使用可能であることも、指摘しておく。
【0053】大きなメモリ・アレイの代わりに小さなF
IFOバッファを用いることによって、データ処理シス
テム20における空間を節約することができる。可変幅
および可変深度のFIFOバッファを有することによ
り、あるサイズのバスから異なるサイズを有する別のバ
スへデータを転送するときに、FIFOバッファの記憶
領域のより効率的な使用が可能になる。FIFOバッフ
ァを通過するデータ・バーストのアドレスが失われない
ようにするために、データ・ストリームの先頭にアドレ
スを挿入する。
【0054】以上、本発明を好適実施例に基づいて記載
したが、本発明は数多くの方法で変更可能であり、先に
具体的に示し説明したもの以外にも多くの実施例が想定
できることは、当業者には明白であろう。例えば、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】先入れ先出しバッファ(65)を備えたデ
    ータ処理システム(20)であって、該先入れ先出しバ
    ッファ(65)は:複数のレジスタ(72)であって、
    各レジスタが第1バス(116)に結合された複数の入
    力端子と、第2バス(64)に結合された複数の出力端
    子とを有する、前記複数のレジスタ;および前記複数の
    レジスタ(72)に結合され、前記第1バス(116)
    からのデータ・ワードが第1所定幅を有するとき、前記
    第1バス(116)からのデータを受信するように、前
    記複数のレジスタ(72)の内1つのレジスタをイネー
    ブルする制御論理回路(98)であって、前記第1バス
    (116)からのデータ・ワードが第2所定幅を有する
    とき、前記複数のレジスタの内2つのレジスタ(72)
    をイネーブルする前記制御論理回路(98);から成る
    ことを特徴とするデータ処理システム(20)。
  2. 【請求項2】先入れ先出しバッファ(72)を備えたデ
    ータ処理システム(20)であって、該先入れ先出しバ
    ッファ(72)は:複数の記憶素子(72)であって、
    該複数の記憶素子は第1部分(73)と第2部分(7
    5)として構成され、各記憶素子が、第1バス(11
    6)に結合された複数の入力端子と、第2バスに結合さ
    れた複数の出力端子とを有する前記複数の記憶素子(7
    2);および前記複数の記憶素子(72)に結合され、
    前記第1部分(73)および前記第2部分(75)への
    アクセスを制御する制御論理回路(98);から成り、 前記複数の記憶素子(72)は、前記制御論理回路(9
    8)に応答して第1幅および第1深度を有するとき、前
    記第1および第2部分(73,75)が独立してアクセ
    スされ、前記複数の記憶素子(72)は、前記制御論理
    回路(98)に応答して第2幅および第2深度を有する
    とき、前記第1および第2部分(73,75)が一緒に
    アクセスされることを特徴とするデータ処理システム
    (20)。
  3. 【請求項3】深度/幅調節可能先入れ先出しバッファ
    (65)を有するデータ処理システム(20)であっ
    て、前記深度/幅調節可能先入れ先出しバッファ(6
    5)は:記憶素子の第1部分(73)であって、該記憶
    素子の第1部分の各記憶素子は所定の第1データ・ビッ
    ト数を記憶し、バス(116)に結合されている前記記
    憶素子の第1部分(73);記憶素子の第2部分(7
    5)であって、該記憶素子の第2部分の各記憶素子は所
    定の第2データ・ビット数を記憶し、バス(116)に
    結合されている前記記憶素子の第2部分(75);およ
    び前記記憶素子の第1および第2部分(73,75)に
    結合された制御論理回路(98)であって、前記所定第
    1データ・ビット数を有する前記バスからの第1データ
    ・ワードのサンプリングに応答して、前記記憶素子の第
    1部分の中の1つの記憶素子にアクセスし、所定の第3
    データ・ビット数を有するバスからの第2データ・ワー
    ドのサンプリングに応答して、前記記憶素子の第1およ
    び第2部分(73,75)双方の各々1つの記憶素子に
    アクセスする前記制御論理回路(98);から成り、 前記所定の第3データ・ビット数は、前記所定の第1数
    と前記所定の第2数との和に等しいことを特徴とするデ
    ータ処理システム(20)。
JP7346248A 1994-12-16 1995-12-13 可変幅データ転送用深度/幅調節可能fifoバッファ Pending JPH08235850A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US357909 1989-05-30
US08/357,909 US5673396A (en) 1994-12-16 1994-12-16 Adjustable depth/width FIFO buffer for variable width data transfers

Publications (1)

Publication Number Publication Date
JPH08235850A true JPH08235850A (ja) 1996-09-13

Family

ID=23407530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7346248A Pending JPH08235850A (ja) 1994-12-16 1995-12-13 可変幅データ転送用深度/幅調節可能fifoバッファ

Country Status (5)

Country Link
US (1) US5673396A (ja)
EP (1) EP0717347A3 (ja)
JP (1) JPH08235850A (ja)
KR (1) KR100381823B1 (ja)
CN (1) CN1095130C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100371145B1 (ko) * 2000-12-29 2003-02-06 주식회사 하이닉스반도체 임베디드 메모리 장치의 데이터 입출력 장치
KR100397920B1 (ko) * 1999-08-24 2003-09-19 엘지전자 주식회사 판독/기록 취소 가능 가변 용량 선입 선출 통신 시스템

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664230A (en) * 1995-05-26 1997-09-02 Texas Instruments Incorporated Data processing with adaptable external burst memory access
KR970029070A (ko) * 1995-11-04 1997-06-26 김광호 입출력데이타의 크기를 달리하는 선입선출메모리장치 및 그 방법
US5822553A (en) * 1996-03-13 1998-10-13 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller architecture
US5797043A (en) * 1996-03-13 1998-08-18 Diamond Multimedia Systems, Inc. System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs
JP2950231B2 (ja) * 1996-03-21 1999-09-20 日本電気株式会社 セル化転送データのリアセンブルバッファ制御装置及び制御方法
EP0869430B1 (en) * 1997-04-02 2005-11-30 Matsushita Electric Industrial Co., Ltd. Fifo memory device
US6014720A (en) * 1997-05-05 2000-01-11 Intel Corporation Dynamically sizing a bus transaction for dual bus size interoperability based on bus transaction signals
KR100303204B1 (ko) * 1998-04-06 2001-11-22 구자홍 가변입출력폭을갖는선입선출장치
FI981917A (fi) 1998-09-08 2000-03-09 Nokia Networks Oy Menetelmä FIFO-jonon toteuttamiseksi muistissa ja muistijärjestely
US6233629B1 (en) * 1999-02-05 2001-05-15 Broadcom Corporation Self-adjusting elasticity data buffer with preload value
US6513105B1 (en) 1999-05-07 2003-01-28 Koninklijke Philips Electronics N.V. FIFO system with variable-width interface to host processor
FI991334A (fi) 1999-06-10 2000-12-11 Nokia Networks Oy Menetelmä kaksisuuntaisen jonon toteuttamiseksi muistissa ja muistijär jestely
NO993483L (no) 1999-07-15 2001-01-16 Ericsson Telefon Ab L M Fremgangsmåte og anordning for effektiv overföring av datapakker
AU2470701A (en) 1999-10-26 2001-05-08 Arthur D. Little, Inc. Dual aspect ratio pe array with no connection switching
US6728863B1 (en) 1999-10-26 2004-04-27 Assabet Ventures Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory
JP2001159970A (ja) * 1999-12-03 2001-06-12 Sony Corp 装置間結合装置
US6629226B1 (en) * 2000-12-08 2003-09-30 Cypress Semiconductor Corp. Fifo read interface protocol
AU2003212603A1 (en) * 2002-04-25 2003-11-10 Koninklijke Philips Electronics N.V. Processing method and apparatus for implementing systolic arrays
JP2004240713A (ja) * 2003-02-06 2004-08-26 Matsushita Electric Ind Co Ltd データ転送方法及びデータ転送装置
US7680944B1 (en) * 2003-02-28 2010-03-16 Comtrol Corporation Rapid transport service in a network to peripheral device servers
US8447900B1 (en) 2003-06-12 2013-05-21 Marvell International Ltd. Adaptive multiple FIFO scheme
KR100532471B1 (ko) * 2003-09-26 2005-12-01 삼성전자주식회사 입출력 데이터 위스 조절이 가능한 메모리 장치 및 그위스 조절 방법
US7634597B2 (en) * 2003-10-08 2009-12-15 Micron Technology, Inc. Alignment of instructions and replies across multiple devices in a cascaded system, using buffers of programmable depths
CN1294482C (zh) * 2004-06-08 2007-01-10 大唐微电子技术有限公司 支持16位和32位字宽存储器的启动方法及装置
CN100394723C (zh) * 2006-08-14 2008-06-11 江苏中科龙梦科技有限公司 一种基于以太网核接收控制器的双接收fifo方法
CN101042637A (zh) * 2007-04-06 2007-09-26 威盛电子股份有限公司 先进先出缓冲单元及先进先出缓冲方法
CN101127785B (zh) * 2007-09-14 2010-09-29 福建星网锐捷网络有限公司 Pf接口和spi3接口之间的接口转换发送、接收方法及装置
US10746795B2 (en) * 2012-10-30 2020-08-18 Nxp Usa, Inc. Method and apparatus for at-speed scan shift frequency test optimization
CN103747253B (zh) * 2013-12-27 2017-04-05 高新兴科技集团股份有限公司 一种基于fifo的视频编码数据传输方法
US9710415B2 (en) 2014-11-03 2017-07-18 Nxp Usa, Inc. Asynchronous FIFO buffer with Johnson code write pointer
US10074154B2 (en) 2014-12-12 2018-09-11 Nxp Usa, Inc. Display controller and a method thereof
US20170017584A1 (en) * 2015-07-15 2017-01-19 Microchip Technology Incorporated SPI Interface With Less-Than-8-Bit Bytes And Variable Packet Size
CN113485647A (zh) * 2021-07-13 2021-10-08 湖南国科微电子股份有限公司 数据写入方法、数据读出方法及先进先出存储器
CN114422801B (zh) * 2021-12-31 2024-04-26 山东云海国创云计算装备产业创新中心有限公司 优化视频压缩控制逻辑的方法、系统、设备和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1441816A (en) * 1973-07-18 1976-07-07 Int Computers Ltd Electronic digital data processing systems
US4447878A (en) * 1978-05-30 1984-05-08 Intel Corporation Apparatus and method for providing byte and word compatible information transfers
US4258418A (en) * 1978-12-28 1981-03-24 International Business Machines Corporation Variable capacity data buffer system
JPS58161193A (ja) * 1982-03-19 1983-09-24 Fujitsu Ltd 磁気バブルメモリ制御装置
US4468734A (en) * 1982-03-26 1984-08-28 International Business Machines Corporation Method of purging erroneous signals from closed ring data communication networks capable of repeatedly circulating such signals
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
JPS62208153A (ja) * 1986-03-08 1987-09-12 Nec Corp 入出力バツフア装置
JP2684362B2 (ja) * 1986-06-18 1997-12-03 株式会社日立製作所 可変長データの記憶方式
US4965772A (en) * 1987-06-15 1990-10-23 International Business Machines Corporation Method and apparatus for communication network alert message construction
JPH0216630A (ja) * 1988-07-05 1990-01-19 Pfu Ltd 選択制御が行われるバッファ
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
JPH03141936A (ja) * 1989-10-30 1991-06-17 Fujitsu Ltd 超音波探触子
US5469398A (en) * 1991-09-10 1995-11-21 Silicon Systems, Inc. Selectable width, brustable FIFO
US5262997A (en) * 1991-11-25 1993-11-16 Industrial Technology Research Institute Extendable FIFO
US5426736A (en) * 1993-05-26 1995-06-20 Digital Equipment Corporation Method and apparatus for processing input/output commands in a storage system having a command queue

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100397920B1 (ko) * 1999-08-24 2003-09-19 엘지전자 주식회사 판독/기록 취소 가능 가변 용량 선입 선출 통신 시스템
KR100371145B1 (ko) * 2000-12-29 2003-02-06 주식회사 하이닉스반도체 임베디드 메모리 장치의 데이터 입출력 장치

Also Published As

Publication number Publication date
CN1159629A (zh) 1997-09-17
KR960025719A (ko) 1996-07-20
EP0717347A2 (en) 1996-06-19
KR100381823B1 (ko) 2003-07-18
EP0717347A3 (en) 1997-06-04
CN1095130C (zh) 2002-11-27
US5673396A (en) 1997-09-30

Similar Documents

Publication Publication Date Title
JPH08235850A (ja) 可変幅データ転送用深度/幅調節可能fifoバッファ
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
US20020166018A1 (en) Multiprocessor interrupt handling system and method
EP0542417A1 (en) Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
US20040107265A1 (en) Shared memory data transfer apparatus
EP1895425A1 (en) External device access device
JP3773574B2 (ja) データ処理システムにおいてデータ・ストリーム内にアドレスを挿入する装置および方法
US5471672A (en) Method for implementing a high speed computer graphics bus
US6883041B2 (en) Direct memory access device
GB2237421A (en) Interface register handshake for controlling devices
US6735677B1 (en) Parameterizable queued memory access system
US6681273B1 (en) High performance, variable data width FIFO buffer
JPH0883237A (ja) データ処理装置
KR920002830B1 (ko) 다이렉트 메모리 액세스 제어장치
JP3304395B2 (ja) データ転送装置及びデータ転送方法
US6085271A (en) System bus arbitrator for facilitating multiple transactions in a computer system
IE842856L (en) Adjustable buffer for data communications in data processing¹system
JPH1185673A (ja) 共有バスの制御方法とその装置
JPS6019816B2 (ja) マイクロプログラム制御アダプタ
JPH0743668B2 (ja) アクセス制御装置
JP2002268876A (ja) パイプライン処理方法、及び情報処理装置
JP2581144B2 (ja) バス制御装置
JPS63173143A (ja) メモリインタフエ−ス回路
JP2008097098A (ja) 情報処理装置およびインターフェイス回路
JPH0424733B2 (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: 20051025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051027

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060126

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060615