JP2006523884A - 並行して実行されるプロセスがfifoバッファを介して通信するデータ処理 - Google Patents
並行して実行されるプロセスがfifoバッファを介して通信するデータ処理 Download PDFInfo
- Publication number
- JP2006523884A JP2006523884A JP2006506825A JP2006506825A JP2006523884A JP 2006523884 A JP2006523884 A JP 2006523884A JP 2006506825 A JP2006506825 A JP 2006506825A JP 2006506825 A JP2006506825 A JP 2006506825A JP 2006523884 A JP2006523884 A JP 2006523884A
- Authority
- JP
- Japan
- Prior art keywords
- data
- grain
- address
- buffer
- interface
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/10—Methods 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 having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Memory System (AREA)
Abstract
Description
Write,Read,GetSpaceおよびPutspace
Pointer to data buffer
=Read(...,pointer to additional memory)
は、追加のバッファメモリの領域を引数として指すポインタを持ち、バッファを指すポインタを返す。他の引数は本質的ではないため示されていないが、これらの引数はグレーンサイズ、処理タスク識別情報およびFIFO識別情報を含んでもよい。第2のプロセス4は、メモリ18内の追加のバッファメモリの領域を指すポインタをインターフェイス4aに供給する。この領域は少なくとも、第2のプロセス4の1つのグレーンのデータを格納するために必要なサイズを備えている。
=Read(...,pointer to additional memory)
高水準プログラムに関して、Read関数は例えば以下のように実装することができる。
BufferPointer Read(BufferPointer P)
{ int end_of_grain=current_offset+grain_size;
if(end_of_grain<max)return base_address_of_FIFO_buffer+current_offset;
for(int i=0;i<max−current_offset;i++)
P[i]=FIFO_buffer[i+current_offset];
for(int i=max−current_offset;i<grain_size;i++)
P[i]=FIFO_buffer[i+current_offset−max];
return P;
}
Claims (13)
- データ生成プロセス及びデータ消費プロセスを実行するように配置されている処理回路であって、前記データ生成プロセスがデータのストリームを生成し、前記データ消費プロセスが前記ストリームの生成と並行して前記データのストリームを消費するような処理回路と、
前記データ消費プロセスにアクセス可能な処理メモリと、
前記データ生成プロセスと前記データ消費プロセスとの間の前記ストリームからデータを渡すための先入れ先出し循環バッファユニットであって、当該循環バッファユニットがバッファメモリを備え、当該循環バッファユニットが前記ストリームからデータ項目を循環式に前記バッファメモリ内に書き込むような循環バッファユニットと、
前記データ消費プロセスに特有のグレーンサイズ選択及び補助バッファ領域選択を使用するように配置されている前記循環バッファユニットの消費プロセスインターフェイスであって、当該消費プロセスインターフェイスが、前記データ消費プロセスが前記ストリームからのデータグレーンを使用すること、を可能にするためのコマンドを処理するように配置されており、当該消費プロセスインターフェイスが、
アクセスされるべき前記グレーン内のデータのアドレスが前記バッファメモリ内でラップアラウンドするかどうかをテストすることにより前記コマンドに応答し、
前記アドレスがラップアラウンドすることの検出に応答して、前記バッファメモリから前記補助メモリ領域に前記グレーンを、コピーされたグレーン内で前記ラップアラウンドが除去されることになるようにコピーし、
前記アドレスが前記グレーンの内部でラップアラウンドしないときに、前記バッファメモリから前記グレーンを読み取るよう前記消費プロセスに指示を返し、又は前記アドレスがラップアラウンドするときに、前記補助メモリ領域から読み取るよう指示を返すように配置されているような消費プロセスインターフェイスとを備えるデータ処理装置。 - 前記消費プロセスインターフェイスが、前記コマンドに応答して、前記グレーン内のアドレスデータ内での使用のために前記バッファメモリ又は前記補助メモリ領域のアドレス指定を行うためのポインタを、前記バッファメモリ内の前記グレーン内の前記データの前記アドレスがラップアラウンドするかどうかに応じて返すように配置されている請求項1に記載のデータ処理装置。
- 前記消費プロセスが、前記コマンドの一部として前記補助メモリのアドレス及び前記グレーンサイズを選択するように配置されている請求項1に記載のデータ処理装置。
- 前記データ生成プロセス及び前記データ消費プロセスがそれぞれ、前記循環バッファユニットにデータを送信するため及び前記循環バッファユニットからデータを受信するために第1及び第2のグレーンサイズを使用するように配置されており、前記第1及び第2のグレーンサイズが互いに異なっている請求項1に記載のデータ処理装置。
- 前記データ生成プロセスが、データを送信するために可変グレーンサイズを使用するように配置されている請求項5に記載のデータ処理装置。
- 前記第1のグレーンサイズ及び前記循環バッファユニットのサイズは、前記循環バッファユニットのデータのアドレスが常に前記第1のグレーンサイズの連続するグレーン間でラップアラウンドするように選択される請求項2に記載のデータ処理装置。
- 前記データストリームを生成するためのデータ生成プロセスにアクセス可能な更なる処理メモリと、
前記データ生成プロセスのための更なる補助メモリ領域選択を受信するように配置されている前記循環バッファユニットの生成プロセスインターフェイスであって、当該生成プロセスインターフェイスが、前記ストリームから出力データグレーンを出力するための更なるコマンドを処理するように配置されており、当該生成プロセスインターフェイスが、
前記出力グレーン内のデータのアドレスが前記バッファメモリ内でラップアラウンドすることになるかどうかをテストすることにより前記更なるコマンドに応答し、
前記アドレスが前記グレーンの内部でラップアラウンドしないときに、前記バッファメモリに前記グレーンを書き込むよう前記生成プロセスに指示を返し、又は前記アドレスがラップアラウンドするときに、前記補助メモリ領域に書き込むよう指示を返し、
前記アドレスがラップアラウンドすることの検出に応答して、補助メモリ領域から前記バッファメモリに前記グレーンを、コピーされたグレーン内で前記ラップアラウンドが生成されるようにコピーするように配置されているような生成プロセスインターフェイスとを備える請求項1に記載のデータ処理装置。 - データ生成プロセス及びデータ消費プロセスを実行するように配置されている処理回路であって、前記データ生成プロセスがデータのストリームを生成し、前記データ消費プロセスが前記ストリームの生成と並行して前記データのストリームを消費するような処理回路と、
前記データ生成プロセスにアクセス可能な処理メモリと、
前記データ生成プロセスと前記データ消費プロセスとの間の前記ストリームからデータを渡すための先入れ先出し循環バッファユニットであって、当該循環バッファユニットがバッファメモリを備え、当該循環バッファユニットが前記ストリームからデータ項目を循環式に前記バッファメモリ内に書き込むような循環バッファユニットと、
前記データ生成プロセスに特有のグレーンサイズ選択及び補助バッファ領域選択を使用するように配置されている前記循環バッファユニットの生成プロセスインターフェイスであって、当該生成プロセスインターフェイスが、前記データ生成プロセスが生成されたグレーンを書き込むためにメモリを使用すること、を可能にするためのコマンドを処理するように配置されており、当該生成プロセスインターフェイスが、
メモリを使用可能にすべき前記グレーン内のデータのアドレスが前記循環バッファメモリ内でラップアラウンドするかどうかをテストすることにより前記コマンドに応答し、
前記アドレスが前記グレーンの内部でラップアラウンドしないときに、前記バッファメモリに前記グレーンを書き込むよう前記生成プロセスに指示を返し、又は前記アドレスがラップアラウンドするときに、補助メモリ領域に書き込むよう指示を返すように配置されているような生成プロセスインターフェイスとを備えるデータ処理装置。 - 信号処理タスクのマシン実装を生成するマシン実装の方法であって、前記信号処理タスクが、複数のプロセスとして、当該プロセス間でデータストリームが循環バッファメモリを介して通信されるような複数のプロセスを並行して実行する段階を備え、当該方法が、
前記バッファメモリ内に格納されたデータのグレーンにアクセスするために、前記複数のプロセスの内のデータ消費プロセスによって呼び出される関数を含むアプリケーションプログラムインターフェイスを提供する段階であって、前記アプリケーションプログラムインターフェイスが、前記複数のプロセスの内の前記データ消費プロセスに前記グレーンのサイズ及び補助メモリ領域の選択可能な定義を提供し、前記関数が、アクセスされるべき前記グレーンのアドレスが前記バッファメモリ内でラップアラウンドするかどうかをテストし、前記アドレスが前記グレーン内でラップアラウンドするときに、前記バッファメモリから補助メモリ領域に前記グレーンを、コピーされたグレーン内で前記ラップアラウンドが除去されることになるようにコピーし、前記呼び出しの結果として、前記アドレスが前記グレーンの内部でラップアラウンドしないときには、前記グレーンからのデータを前記バッファメモリから読み取るように前記複数のプロセスの内の前記消費プロセスに指示を返し、又は前記アドレスが前記グレーン内でラップアラウンドするときには、前記補助メモリ領域から読み取るよう指示を返すように配置されているようなアプリケーションプログラムインターフェイスを提供する段階と、
前記信号処理タスクの指定を受信する段階と、
前記指定内の前記関数の呼び出しを識別する段階と、
前記アプリケーションプログラムインターフェイスからの前記関数を使用して前記呼び出しを実装する段階とを備えるマシン実装の方法。 - 前記アプリケーションプログラムインターフェイスが、前記処理タスクの前記指定から処理要素上のプロセスの分散を隠し、前記関数の前記実装が前記分散に従って選択される請求項9に記載のマシン実装の方法。
- 当該方法は、前記マシン実装を実装するための集積回路製作制御情報を生成する段階と、前記集積回路製作制御情報の制御のもとに集積回路を製造する段階とを備える請求項10に記載のマシン実装の方法。
- 循環FIFOバッファにアクセスするためのアプリケーションプログラムインターフェイスを備え、前記アプリケーションプログラムインターフェイスが、前記循環FIFOバッファからデータにアクセスするアプリケーションプログラムのためのグレーンサイズの選択と前記アプリケーションプログラムの補助メモリ領域の定義とを提供し、前記アプリケーションプログラムインターフェイスが、前記循環FIFOバッファからグレーンにアクセスするための前記アプリケーションプログラムから呼び出されるような関数を備え、前記関数が、
アクセスされるべき前記グレーン内のデータのアドレスが前記循環FIFOバッファ内でラップアラウンドするかどうかをテストし、
前記アドレスが前記グレーンの内部でラップアラウンドするときに、前記FIFOバッファから補助メモリ領域にグレーンを、コピーされるグレーン内で前記ラップアラウンドが除去されることになるようにコピーし、
前記呼び出しの結果として、前記アドレスが前記グレーン内でラップアラウンドしないときには、前記FIFOバッファから読み取るよう指示を返し、又は前記アドレスが前記グレーンの内部でラップアラウンドするときには、前記補助メモリ領域から読み取るよう指示を返すように配置されているコンピューター可読媒体。 - 請求項8に記載の方法を実行するための命令のプログラムを備えるコンピューター可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03101030 | 2003-04-16 | ||
PCT/IB2004/050412 WO2004092945A2 (en) | 2003-04-16 | 2004-04-08 | Data processing in which concurrently executed processes communicate via a fifo buffer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006523884A true JP2006523884A (ja) | 2006-10-19 |
Family
ID=33185932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006506825A Pending JP2006523884A (ja) | 2003-04-16 | 2004-04-08 | 並行して実行されるプロセスがfifoバッファを介して通信するデータ処理 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7594046B2 (ja) |
EP (1) | EP1618466B1 (ja) |
JP (1) | JP2006523884A (ja) |
KR (1) | KR101032563B1 (ja) |
CN (1) | CN100430886C (ja) |
AT (1) | ATE485557T1 (ja) |
DE (1) | DE602004029664D1 (ja) |
WO (1) | WO2004092945A2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8046506B2 (en) * | 2006-03-21 | 2011-10-25 | Mediatek Inc. | FIFO system and operating method thereof |
US7571357B2 (en) * | 2006-08-22 | 2009-08-04 | International Business Machines Corporation | Memory wrap test mode using functional read/write buffers |
US10592444B2 (en) | 2013-01-07 | 2020-03-17 | Wave Computing, Inc. | Reconfigurable interconnected programmable processors |
US9588773B2 (en) | 2013-01-07 | 2017-03-07 | Wave Computing, Inc. | Software based application specific integrated circuit |
US10203935B2 (en) | 2013-11-02 | 2019-02-12 | Wave Computing, Inc. | Power control within a dataflow processor |
US9590629B2 (en) | 2013-11-02 | 2017-03-07 | Wave Computing, Inc. | Logical elements with switchable connections |
US10218357B2 (en) | 2013-11-02 | 2019-02-26 | Wave Computing, Inc. | Logical elements with switchable connections for multifunction operation |
US20150324136A1 (en) * | 2014-05-07 | 2015-11-12 | Lsi Corporation | Storage system having fifo storage and reserved storage |
US9449131B2 (en) * | 2014-06-02 | 2016-09-20 | Xilinx, Inc. | Extracting system architecture in high level synthesis |
US10437728B2 (en) | 2015-02-21 | 2019-10-08 | Wave Computing, Inc. | Branchless instruction paging in reconfigurable fabric |
US10073773B2 (en) | 2015-02-21 | 2018-09-11 | Wave Computing, Inc. | Instruction paging in reconfigurable fabric |
US10505704B1 (en) | 2015-08-02 | 2019-12-10 | Wave Computing, Inc. | Data uploading to asynchronous circuitry using circular buffer control |
US10564929B2 (en) | 2016-09-01 | 2020-02-18 | Wave Computing, Inc. | Communication between dataflow processing units and memories |
US10659396B2 (en) | 2015-08-02 | 2020-05-19 | Wave Computing, Inc. | Joining data within a reconfigurable fabric |
US10719470B2 (en) | 2016-09-26 | 2020-07-21 | Wave Computing, Inc. | Reconfigurable fabric direct memory access with multiple read or write elements |
US11106976B2 (en) | 2017-08-19 | 2021-08-31 | Wave Computing, Inc. | Neural network output layer for machine learning |
US10949328B2 (en) | 2017-08-19 | 2021-03-16 | Wave Computing, Inc. | Data flow graph computation using exceptions |
CN109839477A (zh) * | 2017-11-24 | 2019-06-04 | 内蒙古光能科技有限公司 | 一种crds气体浓度检测仪加速量测的方法 |
US10528131B2 (en) * | 2018-05-16 | 2020-01-07 | Tobii Ab | Method to reliably detect correlations between gaze and stimuli |
US11645178B2 (en) | 2018-07-27 | 2023-05-09 | MIPS Tech, LLC | Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors |
US11481472B2 (en) | 2019-04-01 | 2022-10-25 | Wave Computing, Inc. | Integer matrix multiplication engine using pipelining |
US11227030B2 (en) | 2019-04-01 | 2022-01-18 | Wave Computing, Inc. | Matrix multiplication engine using pipelining |
US11934308B2 (en) | 2019-04-01 | 2024-03-19 | Wave Computing, Inc. | Processor cluster address generation |
US10997102B2 (en) | 2019-04-01 | 2021-05-04 | Wave Computing, Inc. | Multidimensional address generation for direct memory access |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863334A (ja) * | 1994-08-26 | 1996-03-08 | Nec Corp | 環状バッファ制御装置 |
WO1996030825A1 (de) * | 1995-03-30 | 1996-10-03 | Siemens Aktiengesellschaft | Speicheranordnung mit einem als ringspeicher betreibbaren speicher |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4623997A (en) * | 1984-12-13 | 1986-11-18 | United Technologies Corporation | Coherent interface with wraparound receive and transmit memories |
JP2703417B2 (ja) * | 1991-04-05 | 1998-01-26 | 富士通株式会社 | 受信バッファ |
US5379240A (en) * | 1993-03-08 | 1995-01-03 | Cyrix Corporation | Shifter/rotator with preconditioned data |
US5502833A (en) * | 1994-03-30 | 1996-03-26 | International Business Machines Corporation | System and method for management of a predictive split cache for supporting FIFO queues |
US5608889A (en) * | 1994-08-17 | 1997-03-04 | Ceridian Corporation | DNA controller with wrap-around buffer mode |
US6622198B2 (en) * | 2000-08-31 | 2003-09-16 | United Memories, Inc. | Look-ahead, wrap-around first-in, first-out integrated (FIFO) circuit device architecture |
US7633549B2 (en) * | 2004-05-03 | 2009-12-15 | Ati Technologies, Inc. | Apparatus and method for image rendering |
-
2004
- 2004-04-08 KR KR1020057019743A patent/KR101032563B1/ko not_active IP Right Cessation
- 2004-04-08 DE DE602004029664T patent/DE602004029664D1/de not_active Expired - Lifetime
- 2004-04-08 WO PCT/IB2004/050412 patent/WO2004092945A2/en active Application Filing
- 2004-04-08 CN CNB2004800100324A patent/CN100430886C/zh not_active Expired - Fee Related
- 2004-04-08 JP JP2006506825A patent/JP2006523884A/ja active Pending
- 2004-04-08 EP EP04726599A patent/EP1618466B1/en not_active Expired - Lifetime
- 2004-04-08 AT AT04726599T patent/ATE485557T1/de not_active IP Right Cessation
- 2004-04-08 US US10/552,778 patent/US7594046B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863334A (ja) * | 1994-08-26 | 1996-03-08 | Nec Corp | 環状バッファ制御装置 |
WO1996030825A1 (de) * | 1995-03-30 | 1996-10-03 | Siemens Aktiengesellschaft | Speicheranordnung mit einem als ringspeicher betreibbaren speicher |
Also Published As
Publication number | Publication date |
---|---|
CN1774694A (zh) | 2006-05-17 |
EP1618466A2 (en) | 2006-01-25 |
WO2004092945A3 (en) | 2005-01-20 |
WO2004092945A2 (en) | 2004-10-28 |
EP1618466B1 (en) | 2010-10-20 |
KR20060004674A (ko) | 2006-01-12 |
DE602004029664D1 (de) | 2010-12-02 |
US20070133399A1 (en) | 2007-06-14 |
ATE485557T1 (de) | 2010-11-15 |
KR101032563B1 (ko) | 2011-05-06 |
US7594046B2 (en) | 2009-09-22 |
CN100430886C (zh) | 2008-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006523884A (ja) | 並行して実行されるプロセスがfifoバッファを介して通信するデータ処理 | |
KR100440841B1 (ko) | 마이크로컴퓨터 | |
US5517436A (en) | Digital signal processor for audio applications | |
JP5488697B2 (ja) | マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム | |
EP1050803B1 (en) | Guarded computer instruction execution | |
JP2016129039A (ja) | コンテキスト切替方法及び装置 | |
US20080109795A1 (en) | C/c++ language extensions for general-purpose graphics processing unit | |
JPWO2004079583A1 (ja) | データ転送制御装置およびdmaデータ転送制御方法 | |
KR100875377B1 (ko) | 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법 | |
US20130036426A1 (en) | Information processing device and task switching method | |
WO2020200244A1 (zh) | 数据处理方法及装置以及相关产品 | |
JP3304444B2 (ja) | ベクトル処理装置 | |
US6785743B1 (en) | Template data transfer coprocessor | |
US8990511B2 (en) | Multiprocessor, cache synchronization control method and program therefor | |
JP2000353092A (ja) | 情報処理装置及びそのレジスタファイル切替方法 | |
JP2006506727A (ja) | コピーレジスタファイルを有するvliw | |
JP2003005954A (ja) | データ処理装置およびその制御方法 | |
JPH04149658A (ja) | 情報処理装置 | |
CN104025032B (zh) | 处理作业至辅助处理器的直接环3提交 | |
JP2927102B2 (ja) | 命令列切り替え方法及びそれを用いた演算プロセッサ | |
JP3105822B2 (ja) | マイクロプログラム制御装置 | |
JPH10232775A (ja) | プリフェッチ機構 | |
JPH07114509A (ja) | メモリアクセス装置 | |
JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
JPH07175661A (ja) | ユーザプログラムロード方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070406 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090821 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091111 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100330 |