JP5452125B2 - データ処理装置及びデータ処理方法 - Google Patents
データ処理装置及びデータ処理方法 Download PDFInfo
- Publication number
- JP5452125B2 JP5452125B2 JP2009186562A JP2009186562A JP5452125B2 JP 5452125 B2 JP5452125 B2 JP 5452125B2 JP 2009186562 A JP2009186562 A JP 2009186562A JP 2009186562 A JP2009186562 A JP 2009186562A JP 5452125 B2 JP5452125 B2 JP 5452125B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- control thread
- control
- data processing
- application
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Multi Processors (AREA)
- Navigation (AREA)
- Stored Programmes (AREA)
Description
Claims (11)
- デバイス制御、および/または所定のデータ処理を行う、複数のスレッドと、
前記複数のスレッドを使用してアプリケーションを構成する制御スレッドと、を備えるデータ処理装置において、
各々の前記スレッドの組合せと、一つの前記スレッドの実行に他のスレッドの処理結果を必要とするか否かの依存関係と、で、前記アプリケーションを定義し、
前記制御スレッドは、
所定の間隔で、および/または、各スレッドの処理完了時点で、繰り返し、前記スレッドの実行可否を調べ、
実行可能な前記スレッドが複数ある場合、前記依存関係に基づく実行順序が遅い順に前記スレッドの実行を指示する
ことを特徴とするデータ処理装置。 - 請求項1記載のデータ処理装置において、
前記アプリケーションが複数定義され、
前記制御スレッドは、
各々の前記アプリケーションに与えられた優先順位に従い制御対象となった前記アプリケーションを定義する前記スレッドに実行を指示し、
前記指示を与えた前記アプリケーションの制御が前記制御スレッドに戻ったとき、当該アプリケーションの優先順位を、他の前記アプリケーションより低くする
ことを特徴とするデータ処理装置。 - 請求項2記載のデータ処理装置において、
前記優先順位が等しいアプリケーション間では、最後に実行を指示した前記スレッドに対応するアプリケーションの前記優先順位を低くする
ことを特徴とするデータ処理装置。 - 請求項1から3のいずれか一に記載のデータ処理装置において、
前記スレッドは、
周辺デバイスを制御するデバイス制御スレッドと、
CPUで実行する所定のデータ処理の各々に対応したCPU処理スレッドと、を含み、
前記実行の指示を受けた前記デバイス制御スレッドは、
前記指示に従い、対応する前記周辺デバイスを制御し、
前記周辺デバイスからの完了通知に応答して、前記周辺デバイスの処理結果と前記完了通知を前記制御スレッドに送り、
前記実行の指示を受けた前記CPU処理スレッドの各々は
前記指示に従い、前記所定のデータ処理を実行し、
前記所定のデータ処理の処理結果と通知を前記制御スレッドに送る
ことを特徴とするデータ処理装置。 - 複数の周辺デバイスを動作順序に従って動作させるアプリケーションを定義したアプリケーション管理テーブル、
前記複数の周辺デバイスの各々に対応して、前記周辺デバイスに処理すべき入力データを用意し、前記周辺デバイスに動作指示するデバイス制御スレッド、及び、
前記デバイス制御スレッドより高い優先度を有し、前記周辺デバイスで処理すべき前記入力データを有する前記デバイス制御スレッドの中で、前記アプリケーション管理テーブルで定義された前記動作順序が後の前記デバイス制御スレッドを選択して、実行させる制御スレッドを備え、
前記デバイス制御スレッドからの実行に応答して、選択された前記デバイス制御スレッドは、前記周辺デバイスに動作指示した後、前記周辺デバイスによる前記入力データの処理が完了するまで、前記制御スレッドに制御を戻す
ことを特徴とするデータ処理装置。 - 請求項5記載のデータ処理装置において、
前記制御スレッドは、
前記制御の戻りに応答して、前記周辺デバイスで処理すべき入力データを有する前記デバイス制御スレッドの中で、前記動作順序が、実行中の前記デバイス制御スレッドより前で、かつ最も後の前記デバイス制御スレッドを新たに選択して、実行させる
ことを特徴とするデータ処理装置。 - 請求項6記載のデータ処理装置において、
前記制御スレッドは、
実行中の前記デバイス制御スレッドに対応する前記周辺デバイスと、新たに選択した前記デバイス制御スレッドに対応する前記周辺デバイスとを並列動作させる
ことを特徴とするデータ処理装置。 - 請求項5記載のデータ処理装置において、
前記デバイス制御スレッドは、
前記複数の周辺デバイスの中で複数の動作種別を有する周辺デバイスの各々の動作種別に対応して設けられる
ことを特徴とするデータ処理装置。 - 請求項8記載のデータ処理装置において、
前記制御スレッドは、
前記アプリケーション管理テーブルで定義された第1のアプリケーションを処理するための、前記周辺デバイスの第1の動作種別の動作を制御する第1のデバイス制御スレッドと、前記アプリケーション管理テーブルで定義された第2のアプリケーションを処理するための、前記周辺デバイスの第2の動作種別の動作を制御する第2のデバイス制御スレッドとの動作タイミングが重なったとき、前記周辺デバイスが前記第1の動作種別と前記第2の動作種別との動作が交互に制御されるように、前記第1のデバイス制御スレッドと前記第2のデバイス制御スレッドとの実行を制御する
ことを特徴とするデータ処理装置。 - 複数の周辺デバイスを動作順序に従って動作させるアプリケーションを定義したアプリケーション管理テーブルと、前記複数の周辺デバイスの各々に対応して、前記周辺デバイスを制御するデバイス制御スレッドと、制御スレッドとを有するデータ処理装置におけるデータ処理方法であって、
前記デバイス制御スレッドは、前記周辺デバイスに処理すべき入力データを用意し、
前記制御スレッドは、
前記周辺デバイスで処理すべき前記入力データを有する前記デバイス制御スレッドの中で、前記アプリケーション管理テーブルで定義された前記動作順序が後の前記デバイス制御スレッドを選択し、選択した前記デバイス制御スレッドを実行し、
前記デバイス制御スレッドからの実行に応答して、選択された前記デバイス制御スレッドは、
前記周辺デバイスに動作指示した後、前記周辺デバイスによる前記入力データの処理が完了するまで、前記制御スレッドに制御を戻す
ことを特徴とするデータ処理方法。 - 請求項10記載のデータ処理方法において、
前記制御スレッドは、
前記制御の戻りに応答して、前記周辺デバイスで処理すべき入力データを有する前記デバイス制御スレッドの中で、前記動作順序が、実行中の前記デバイス制御スレッドより前で、かつ最も後の前記デバイス制御スレッドを新たに選択して、新たに選択した前記デバイス制御スレッドを実行する
ことを特徴とするデータ処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009186562A JP5452125B2 (ja) | 2009-08-11 | 2009-08-11 | データ処理装置及びデータ処理方法 |
US12/826,093 US20110041135A1 (en) | 2009-08-11 | 2010-06-29 | Data processor and data processing method |
EP10167783A EP2287737A3 (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 JP2011039775A5 (ja) | 2012-08-23 |
JP5452125B2 true 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 |
US20040139441A1 (en) | 2003-01-09 | 2004-07-15 | Kabushiki Kaisha Toshiba | Processor, arithmetic operation processing method, and priority determination method |
JP3880942B2 (ja) * | 2003-03-24 | 2007-02-14 | 株式会社東芝 | プロセッサ、計算機及び優先度決定方法 |
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 | 画像形成装置 |
EP1569104A3 (en) * | 2004-01-09 | 2006-05-03 | Interuniversitair Microelektronica Centrum Vzw | An automated method for performing parallelization of sequential code and a computerized system adapted therefore |
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 |
WO2009076654A1 (en) * | 2007-12-12 | 2009-06-18 | University Of Washington | Deterministic multiprocessing |
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
Also Published As
Publication number | Publication date |
---|---|
US20130174173A1 (en) | 2013-07-04 |
US9176771B2 (en) | 2015-11-03 |
EP2287737A3 (en) | 2012-01-04 |
JP2011039775A (ja) | 2011-02-24 |
US20110041135A1 (en) | 2011-02-17 |
EP2287737A2 (en) | 2011-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI578225B (zh) | 移動裝置和使用交換其的資料管理方法 | |
JP2009502050A (ja) | レンダリング済待ち行列を伴うgpuタイムライン | |
WO2011128957A1 (ja) | スクリーンショット表示制御装置、スクリーンショット表示制御方法、スクリーンショット表示制御用集積回路、サーバ装置 | |
JP2006295555A (ja) | データ処理装置及び方法 | |
JP2006259898A (ja) | I/oコントローラ、信号処理システム、およびデータ転送方法 | |
JP2010152804A (ja) | データ記憶装置およびデータ記憶装置におけるデータ管理方法 | |
JP4466507B2 (ja) | 画像表示システム,画像表示方法および画像データ処理装置 | |
JP4789777B2 (ja) | タスクの分配方法および情報処理装置 | |
JP3655266B2 (ja) | 情報処理装置 | |
US20080294802A1 (en) | Stream processing device and storage device | |
JP5405663B2 (ja) | メモリ管理装置、メモリ管理方法、メモリ管理プログラム、メモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体及び集積回路 | |
JP5452125B2 (ja) | データ処理装置及びデータ処理方法 | |
JP4141457B2 (ja) | 情報記録装置、情報再生装置、プログラム、及び記録媒体 | |
JP6685869B2 (ja) | 表示装置、表示システム、および表示方法 | |
JP2008108296A (ja) | 情報再生装置及び情報再生方法 | |
JP5159721B2 (ja) | メモリ割り当て装置およびメモリ割り当て方法 | |
JP4584324B2 (ja) | データ処理システム、及びコンポーネント管理方法 | |
JP2014106546A (ja) | レジューム方法及び情報処理装置 | |
JP2005189975A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JPWO2009022418A1 (ja) | 動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法 | |
WO2024140069A1 (zh) | 视频处理方法、装置及电子设备 | |
JP2012133472A (ja) | リモート接続画面のデータ転送方法及びプログラム | |
JP2006039604A (ja) | 情報処理装置および方法、並びにプログラム | |
WO2024140126A1 (zh) | 在线视频编辑方法、装置、电子设备及存储介质 | |
JP3644950B2 (ja) | ストリームデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120706 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131125 |
|
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: 20131210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5452125 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |