JP2011039775A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2011039775A5 JP2011039775A5 JP2009186562A JP2009186562A JP2011039775A5 JP 2011039775 A5 JP2011039775 A5 JP 2011039775A5 JP 2009186562 A JP2009186562 A JP 2009186562A JP 2009186562 A JP2009186562 A JP 2009186562A JP 2011039775 A5 JP2011039775 A5 JP 2011039775A5
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- control thread
- thread
- processing apparatus
- control
- 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
Links
Claims (13)
- デバイス制御、および/または所定のデータ処理を行う、複数のスレッドと、
前記複数のスレッドを使用してアプリケーションを構成する制御スレッドと、を備えるデータ処理装置において、
各々の前記スレッドの組合せと、一つの前記スレッドの実行に他のスレッドの処理結果を必要とするか否かの依存関係と、で、前記アプリケーションを定義し、
前記制御スレッドは、
所定の間隔で、および/または、各スレッドの処理完了時点で、繰り返し、前記スレッドの実行可否を調べ、
実行可能な前記スレッドが複数ある場合、前記依存関係に基づく実行順序が遅い順に前記スレッドの実行を指示する
ことを特徴とするデータ処理装置。 - 請求項1記載のデータ処理装置において、
前記アプリケーションが複数定義され、
前記制御スレッドは、
各々の前記アプリケーションに与えられた優先順位に従い制御対象となった前記アプリケーションを定義する前記スレッドに実行を指示し、
前記指示を与えた前記アプリケーションの制御が前記制御スレッドに戻ったとき、当該アプリケーションの優先順位を、他の前記アプリケーションより低くする
ことを特徴とするデータ処理装置。 - 請求項2記載のデータ処理装置において、
前記優先順位が等しいアプリケーション間では、最後に実行を指示した前記スレッドに対応するアプリケーションの前記優先順位を低くする
ことを特徴とするデータ処理装置。 - 請求項1から3のいずれか一に記載のデータ処理装置において、
前記スレッドは、
周辺デバイスを制御するデバイス制御スレッドと、
CPUで実行する所定のデータ処理の各々に対応したCPU処理スレッドと、を含み、
前記実行の指示を受けた前記デバイス制御スレッドは、
前記指示に従い、対応する前記周辺デバイスを制御し、
前記周辺デバイスからの完了通知に応答して、前記周辺デバイスの処理結果と前記完了通知を前記制御スレッドに送り、
前記実行の指示を受けた前記CPU処理スレッドの各々は
前記指示に従い、前記所定のデータ処理を実行し、
前記所定のデータ処理の処理結果と通知を前記制御スレッドに送る
ことを特徴とするデータ処理装置。 - 複数の周辺デバイスを動作順序に従って動作させるアプリケーションを定義したアプリケーション管理テーブル、
前記複数の周辺デバイスの各々に対応して、前記周辺デバイスを制御するデバイス制御スレッド、及び、
前記デバイス制御スレッドより高い優先度を有し、前記周辺デバイスで処理すべき入力データを有する前記デバイス制御スレッドの中で、前記アプリケーション管理テーブルで定義された前記動作順序が後の前記デバイス制御スレッドを選択して、実行させる制御スレッドを備える
ことを特徴とするデータ処理装置。 - 請求項5記載のデータ処理装置において、
前記デバイス制御スレッドは、
前記周辺デバイスに処理すべき入力データを用意し、
動作指示した後、前記周辺デバイスによる前記入力データの処理が完了するまで、前記制御スレッドに制御を戻す
ことを特徴とするデータ処理装置。 - 請求項6記載のデータ処理装置において、
前記制御スレッドは、
前記制御の戻りに応答して、前記周辺デバイスで処理すべき入力データを有する前記デバイス制御スレッドの中で、前記動作順序が、実行中の前記デバイス制御スレッドより前で、かつ最も後の前記デバイス制御スレッドを新たに選択して、実行させる
ことを特徴とするデータ処理装置。 - 請求項7記載のデータ処理装置において、
前記制御スレッドは、
実行中の前記デバイス制御スレッドに対応する前記周辺デバイスと、新たに選択した前記デバイス制御スレッドに対応する前記周辺デバイスとを並列動作させる
ことを特徴とするデータ処理装置。 - 請求項5記載のデータ処理装置において、
前記デバイス制御スレッドは、
前記複数の周辺デバイスの中で複数の動作種別を有する周辺デバイスの各々の動作種別に対応して設けられる
ことを特徴とするデータ処理装置。 - 請求項9記載のデータ処理装置において、
前記制御スレッドは、
前記アプリケーション管理テーブルで定義された第1のアプリケーションを処理するための、前記周辺デバイスの第1の動作種別の動作を制御する第1のデバイス制御スレッドと、前記アプリケーション管理テーブルで定義された第2のアプリケーションを処理するための、前記周辺デバイスの第2の動作種別の動作を制御する第2のデバイス制御スレッドとの動作タイミングが重なったとき、前記周辺デバイスが前記第1の動作種別と前記第2の動作種別との動作が交互に制御されるように、前記第1のデバイス制御スレッドと前記第2のデバイス制御スレッドとの実行を制御する
ことを特徴とするデータ処理装置。 - 複数の周辺デバイスを動作順序に従って動作させるアプリケーションを定義したアプリケーション管理テーブルと、前記複数の周辺デバイスの各々対応して、前記周辺デバイスを制御するデバイス制御スレッドと、制御スレッドとを有するデータ処理装置におけるデータ処理方法であって、
前記制御スレッドは、
前記周辺デバイスで処理すべき入力データを有する前記デバイス制御スレッドの中で、前記アプリケーション管理テーブルで定義された前記動作順序が後の前記デバイス制御スレッドを選択し、選択した前記デバイス制御スレッドを実行する
ことを特徴とするデータ処理方法。 - 請求項11記載のデータ処理方法において、
前記デバイス制御スレッドは、
前記周辺デバイスに処理すべき入力データを用意し、
動作指示した後、前記周辺デバイスによる前記入力データの処理が完了するまで、前記制御スレッドに制御を戻す
ことを特徴とするデータ処理方法。 - 請求項12記載のデータ処理方法において、
前記制御スレッドは、
前記制御の戻りに応答して、前記周辺デバイスで処理すべき入力データを有する前記デバイス制御スレッドの中で、前記動作順序が、実行中の前記デバイス制御スレッドより前で、かつ最も後の前記デバイス制御スレッドを新たに選択して、新たに選択した前記デバイス制御スレッドを実行する
ことを特徴とするデータ処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009186562A JP5452125B2 (ja) | 2009-08-11 | 2009-08-11 | データ処理装置及びデータ処理方法 |
EP10167783A EP2287737A3 (en) | 2009-08-11 | 2010-06-29 | Data processor and data processing method |
US12/826,093 US20110041135A1 (en) | 2009-08-11 | 2010-06-29 | Data processor and data processing method |
US13/781,578 US9176771B2 (en) | 2009-08-11 | 2013-02-28 | Priority scheduling of threads for applications sharing peripheral devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009186562A JP5452125B2 (ja) | 2009-08-11 | 2009-08-11 | データ処理装置及びデータ処理方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011039775A JP2011039775A (ja) | 2011-02-24 |
JP2011039775A5 true JP2011039775A5 (ja) | 2012-08-23 |
JP5452125B2 JP5452125B2 (ja) | 2014-03-26 |
Family
ID=43127278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009186562A Active JP5452125B2 (ja) | 2009-08-11 | 2009-08-11 | データ処理装置及びデータ処理方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20110041135A1 (ja) |
EP (1) | EP2287737A3 (ja) |
JP (1) | JP5452125B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102050815B1 (ko) * | 2013-01-07 | 2020-01-08 | 삼성전자주식회사 | 휴대 단말기에서 근접 통신 기능을 제공하는 장치 및 방법 |
JP6905454B2 (ja) * | 2017-11-10 | 2021-07-21 | フォルシアクラリオン・エレクトロニクス株式会社 | ナビゲーションシステム、ナビゲーション方法 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05250188A (ja) | 1992-03-05 | 1993-09-28 | Hitachi Ltd | プロセスのプライオリティ制御方式 |
JPH11272627A (ja) | 1998-03-23 | 1999-10-08 | Nec Corp | パイプライン型マルチプロセッサシステム |
US6088044A (en) * | 1998-05-29 | 2000-07-11 | International Business Machines Corporation | Method for parallelizing software graphics geometry pipeline rendering |
US6477562B2 (en) * | 1998-12-16 | 2002-11-05 | Clearwater Networks, Inc. | Prioritized instruction scheduling for multi-streaming processors |
US6874144B1 (en) * | 1999-04-05 | 2005-03-29 | International Business Machines Corporation | System, method, and program for implementing priority inheritance in an operating system |
WO2001035209A2 (en) * | 1999-11-09 | 2001-05-17 | University Of Victoria Innovation And Development Corporation | Modified move to rear list system and methods for thread scheduling |
US20010027464A1 (en) * | 2000-03-27 | 2001-10-04 | General Instrument Corporation | Operating system abstraction interface for broadband terminal platform firmware |
US7111156B1 (en) * | 2000-04-21 | 2006-09-19 | Ati Technologies, Inc. | Method and apparatus for multi-thread accumulation buffering in a computation engine |
US6675285B1 (en) * | 2000-04-21 | 2004-01-06 | Ati International, Srl | Geometric engine including a computational module without memory contention |
US7039770B1 (en) * | 2002-03-05 | 2006-05-02 | Juniper Networks, Inc. | Low latency request dispatcher |
US6952214B2 (en) * | 2002-07-12 | 2005-10-04 | Sun Microsystems, Inc. | Method for context switching a graphics accelerator comprising multiple rendering pipelines |
JP3880942B2 (ja) * | 2003-03-24 | 2007-02-14 | 株式会社東芝 | プロセッサ、計算機及び優先度決定方法 |
US20040139441A1 (en) | 2003-01-09 | 2004-07-15 | Kabushiki Kaisha Toshiba | Processor, arithmetic operation processing method, and priority determination method |
US8281297B2 (en) * | 2003-02-05 | 2012-10-02 | Arizona Board Of Regents | Reconfigurable processing |
US7039914B2 (en) * | 2003-03-07 | 2006-05-02 | Cisco Technology, Inc. | Message processing in network forwarding engine by tracking order of assigned thread in order group |
US7278141B2 (en) * | 2003-04-23 | 2007-10-02 | International Business Machines Corporation | System and method for adding priority change value corresponding with a lock to a thread during lock processing |
JP2004334537A (ja) * | 2003-05-07 | 2004-11-25 | Sony Corp | プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム |
US20050071841A1 (en) * | 2003-09-30 | 2005-03-31 | Hoflehner Gerolf F. | Methods and apparatuses for thread management of mult-threading |
US7676809B2 (en) * | 2003-10-09 | 2010-03-09 | International Business Machines Corporation | System, apparatus and method of enhancing priority boosting of scheduled threads |
JP2004163963A (ja) | 2003-12-15 | 2004-06-10 | Casio Electronics Co Ltd | 画像形成装置 |
US7797691B2 (en) * | 2004-01-09 | 2010-09-14 | Imec | System and method for automatic parallelization of sequential code |
US7634776B2 (en) * | 2004-05-13 | 2009-12-15 | Ittiam Systems (P) Ltd. | Multi-threaded processing design in architecture with multiple co-processors |
US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US20060161582A1 (en) * | 2005-01-18 | 2006-07-20 | Microsoft Corporation | Application object as primitive of operating system |
US7380038B2 (en) * | 2005-02-04 | 2008-05-27 | Microsoft Corporation | Priority registers for biasing access to shared resources |
US7827554B2 (en) * | 2005-06-20 | 2010-11-02 | Microsoft Corporation | Multi-thread multimedia processing |
US7802256B2 (en) * | 2005-06-27 | 2010-09-21 | Microsoft Corporation | Class scheduler for increasing the probability of processor access by time-sensitive processes |
US7861060B1 (en) * | 2005-12-15 | 2010-12-28 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior |
GB0605349D0 (en) * | 2006-03-17 | 2006-04-26 | Imec Inter Uni Micro Electr | Reconfigurable multi-processing coarse-grain array |
GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US7853950B2 (en) * | 2007-04-05 | 2010-12-14 | International Business Machines Corporarion | Executing multiple threads in a processor |
US8117618B2 (en) * | 2007-10-12 | 2012-02-14 | Freescale Semiconductor, Inc. | Forward progress mechanism for a multithreaded processor |
US8245232B2 (en) * | 2007-11-27 | 2012-08-14 | Microsoft Corporation | Software-configurable and stall-time fair memory access scheduling mechanism for shared memory systems |
US20090138683A1 (en) * | 2007-11-28 | 2009-05-28 | Capps Jr Louis B | Dynamic instruction execution using distributed transaction priority registers |
US8694997B2 (en) * | 2007-12-12 | 2014-04-08 | University Of Washington | Deterministic serialization in a transactional memory system based on thread creation order |
FR2925187B1 (fr) * | 2007-12-14 | 2011-04-08 | Commissariat Energie Atomique | Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees |
US20090165007A1 (en) * | 2007-12-19 | 2009-06-25 | Microsoft Corporation | Task-level thread scheduling and resource allocation |
TWI462011B (zh) * | 2007-12-28 | 2014-11-21 | Accton Technology Corp | 程序之執行緒群組管理方法 |
US20090320021A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Diagnosis of application performance problems via analysis of thread dependencies |
US8285973B2 (en) * | 2008-08-04 | 2012-10-09 | International Business Machines Corporation | Thread completion rate controlled scheduling |
US8650554B2 (en) * | 2010-04-27 | 2014-02-11 | International Business Machines Corporation | Single thread performance in an in-order multi-threaded processor |
-
2009
- 2009-08-11 JP JP2009186562A patent/JP5452125B2/ja active Active
-
2010
- 2010-06-29 US US12/826,093 patent/US20110041135A1/en not_active Abandoned
- 2010-06-29 EP EP10167783A patent/EP2287737A3/en not_active Ceased
-
2013
- 2013-02-28 US US13/781,578 patent/US9176771B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008529121A5 (ja) | ||
JP2014157603A5 (ja) | ||
WO2008155800A1 (ja) | 命令実行制御装置及び命令実行制御方法 | |
JP2010204880A5 (ja) | ||
DE602005009494D1 (de) | Bildung einer befehlsreihenfolge in einer nicht sequentiell dma-befehlswarteschlange | |
JP2015515774A5 (ja) | ||
JP2012232363A5 (ja) | ロボット制御システム及びロボットシステム | |
JP2015158943A5 (ja) | ||
WO2015181533A3 (en) | Manufacturing methods | |
JP2006243864A5 (ja) | ||
JP2013073318A5 (ja) | ||
EP2546756A3 (en) | Effective utilization of flash interface | |
JP2016095778A5 (ja) | ||
JP2020521275A5 (ja) | ||
JP2011039775A5 (ja) | ||
TW201830197A (zh) | 在等待事件期間之處理器節電 | |
RU2012136375A (ru) | Способ обработки процессов машиной состояний | |
JP2010257342A5 (ja) | ||
CN102662780B (zh) | 多可编程器件系统中电源保护方法及装置 | |
JP2010160713A (ja) | フィールド制御装置およびフィールド制御方法 | |
JP2017220240A5 (ja) | ||
JP5630798B1 (ja) | プロセッサーおよび方法 | |
WO2014012983A3 (fr) | Procede de gestion des fils d'execution dans une unite informatique et unite informatique agencee pour la mise en oeuvre de ce procede | |
JP2014032619A5 (ja) | ||
JP2017016250A (ja) | バリア同期装置、バリア同期方法及びプログラム |