JP5723679B2 - 専用機能ハードウェア間の切り替えおよび結果データを生成するソフトウェアルーチンの使用 - Google Patents
専用機能ハードウェア間の切り替えおよび結果データを生成するソフトウェアルーチンの使用 Download PDFInfo
- Publication number
- JP5723679B2 JP5723679B2 JP2011123344A JP2011123344A JP5723679B2 JP 5723679 B2 JP5723679 B2 JP 5723679B2 JP 2011123344 A JP2011123344 A JP 2011123344A JP 2011123344 A JP2011123344 A JP 2011123344A JP 5723679 B2 JP5723679 B2 JP 5723679B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- instruction
- dedicated
- data
- software
- 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
- 230000006870 function Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 28
- 239000012634 fragment Substances 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 17
- 238000003672 processing method Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 11
- 238000002156 mixing Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
4 ラスタライザーハードウェア
6 グラフィックスコンテキスト状況
8 フラグメントシェーダ
10 混合シェーダ
12 混合機能ハードウェア
14 フレームバッファーメモリ
Claims (27)
- データ処理作業を実行するように構成される処理回路と、
前記処理回路に結合され、かつ、一連のプログラム命令に応じて前記データ処理作業を実行するように前記処理回路を制御する制御信号を生成する、命令デコーダ回路と、
前記処理回路に結合され、かつ、前記処理回路から出力データを受信し、前記出力データに専用処理作業を実行してハードウェア生成結果データを生成するように構成される、専用機能ハードウェアと、を備え、
前記命令デコーダ回路が、前記命令デコーダ回路に前記専用機能ハードウェアまたは前記処理回路をトリガさせる終了命令、およびソフトウェア処理フラグに応じて、現在のソフトウェアルーチンを終了するように前記処理回路を制御する制御信号を生成し、前記出力データを生成し、
(i)前記終了命令のデコード時に、前記ソフトウェア処理フラグが第1の値を有している場合、前記処理回路から前記出力データを受信し、前記ハードウェア生成結果データを生成するために前記専用処理作業を実行するように、前記専用機能ハードウェアをトリガし、または、
(ii)前記終了命令のデコード時に、前記ソフトウェア処理フラグが第2の値を有している場合、前記ハードウェア生成結果データの代わりにソフトウェア生成結果データを生成するために、前記出力データにさらなるソフトウェアルーチンを実行するように前記処理回路をトリガする、データを処理するための装置。 - 前記処理回路が複数のプロセッサを備え、前記命令デコーダ回路は複数の命令デコーダを備え、前記複数のプロセッサのうちの各プロセッサが前記複数の命令デコーダのうちの1つに結合され、前記命令デコーダが一連のプログラム命令に応じて、前記プロセッサを制御する制御信号を生成する、請求項1に記載の装置。
- 前記現在のソフトウェアルーチンおよび前記さらなるソフトウェアルーチンが、前記複数のプロセッサの共通の1つによって実行される、請求項2に記載の装置。
- 前記プロセッサのそれぞれが、複数の一連のプログラム命令に応じて、複数の処理スレッドを実行する、請求項2に記載の装置。
- 前記処理回路が、複数の一連のプログラム命令に応じて、複数の処理スレッドを実行する、請求項1に記載の装置。
- 前記装置が専用グラフィックス処理回路である、請求項1に記載の装置。
- 前記現在のソフトウェアルーチンがフラグメントシェーダであり、前記出力データが出力ピクセル明度である、請求項6に記載の装置。
- 前記専用機能ハードウェアが、前記出力されたピクセル明度および少なくともフレームバッファーメモリ内に現在格納されている現在のピクセル明度に応じて、前記現在のピクセル明度の代わりに前記フレームバッファーメモリに格納される結果ピクセル明度を生成する、混合機能ハードウェアである、請求項7に記載の装置。
- 前記さらなるソフトウェアルーチンが、前記出力されたピクセル明度および少なくともフレームバッファーメモリ内に現在格納されている前記現在のピクセル明度に応じて、前記現在のピクセル明度の代わりに前記フレームバッファーメモリに格納される前記結果ピクセル明度を生成する、混合シェーダである、請求項8に記載の装置。
- 前記専用機能ハードウェアが、1つもしくは複数の構成パラメータに応じて、前記専用機能ハードウェアによって実行される前記専用処理作業を変更する、請求項1に記載の装置。
- 前記終了命令が、前記現在のソフトウェアルーチンおよび前記さらなるソフトウェアルーチンを終了させ、かつ、前記命令デコーダ回路が前記終了命令のデコード時に、前記処理回路が前記現在のソフトウェアルーチンを現在実行しているかどうかを示すルーチンフラグに応じて、前記ルーチンフラグが、前記処理回路が前記現在のソフトウェアルーチンを実行していることを示さない場合、前記さらなるソフトウェアルーチンの実行トリガを抑制する、請求項1に記載の装置。
- 前記命令デコーダ回路が、前記装置の構成パラメータとして格納され、前記さらなるソフトウェアルーチンの開始アドレスを指定する、プログラム可能な分岐アドレスに応じる、請求項1に記載の装置。
- 前記終了命令が、1つもしくは複数の所定の依存条件が満たされるまで、前記終了命令によって指定にされた宛先アドレスへ分岐する、請求項1に記載の装置。
- データ処理作業を実行するための処理手段と、
一連のプログラム命令に応じて、前記データ処理作業を実行するように前記処理手段を制御する制御信号を生成するための命令デコード手段と、
前記処理手段から出力データを受信し、ハードウェア生成結果データを生成するために前記出力データに専用処理作業を実行する、専用機能ハードウェア手段と、を備え
前記命令デコード手段が、前記命令デコード手段に前記専用機能ハードウェア手段または前記処理手段をトリガさせる終了命令、およびソフトウェア処理フラグに応じて、現在のソフトウェアルーチンを終了するように前記処理手段を制御する制御信号を生成し、前記出力データを生成し、
(i)前記終了命令のデコード時に、前記ソフトウェア処理フラグが第1の値を有している場合、前記処理手段から前記出力データを受信し、前記ハードウェア生成結果データを生成するために前記専用処理作業を実行するように、前記専用機能ハードウェア手段をトリガし、または、
(ii)前記終了命令のデコード時に、前記ソフトウェア処理フラグが第2の値を有している場合、前記ハードウェア生成結果データの代わりにソフトウェア生成結果データを生成するために、前記出力データにさらなるソフトウェアルーチンを実行するように、前記処理手段をトリガする、データを処理するための装置。 - 処理回路を使用したデータ処理作業を実行するステップと、
前記データ処理作業を実行するように前記処理回路を制御する制御信号を生成するために、一連のプログラム命令をデコードするステップと、
前記処理回路から出力データを受信し、そして専用機能ハードウェアを使用してハードウェア生成結果データを生成するために、前記出力データに専用処理作業を実行するステップと、を含み、
前記デコードするステップが、命令デコーダに前記専用機能ハードウェアまたは前記処理回路をトリガさせる終了命令、およびソフトウェア処理フラグに応じて、現在のソフトウェアルーチンを終了するように前記処理回路を制御する制御信号を生成して、前記出力データを生成し、
(i)前記終了命令のデコード時に、前記ソフトウェア処理フラグが第1の値を有している場合、前記処理回路から前記出力データを受信し、前記ハードウェア生成結果データを生成するために前記専用処理作業を実行するように、前記専用機能ハードウェアをトリガし、または、
(ii)前記終了命令のデコード時に、前記ソフトウェア処理フラグが第2の値を有している場合、前記ハードウェア生成結果データの代わりにソフトウェア生成結果データを生成するために、前記出力データにさらなるソフトウェアルーチンを実行するように、前記処理回路をトリガする、データ処理方法。 - 前記処理回路が複数のプロセッサを備え、前記デコードが複数の命令デコーダによって実行され、前記複数のプロセッサのうちの各プロセッサが前記複数の命令デコーダのうちの1つに結合され、前記命令デコーダが一連のプログラム命令に応じて前記プロセッサを制御する制御信号を生成する、請求項15に記載の方法。
- 前記現在のソフトウェアルーチンおよび前記さらなるソフトウェアルーチンが前記複数のプロセッサの共通の1つによって実行される、請求項16に記載の方法。
- 前記プロセッサのそれぞれが、複数の一連のプログラム命令に応じて、複数の処理スレッドを実行する、請求項16に記載の方法。
- 前記処理回路が、複数の一連のプログラム命令に応じて、複数の処理スレッドを実行する、請求項15に記載の方法。
- 前記方法が専用グラフィックス処理方法である、請求項15に記載の方法。
- 前記現在のソフトウェアルーチンがフラグメントシェーダであり、前記出力データが出力ピクセル明度である、請求項20に記載の方法。
- 前記専用機能ハードウェアが、前記出力されたピクセル明度および少なくともフレームバッファーメモリ内に現在格納されている現在のピクセル明度に応じて、前記現在のピクセル明度の代わりに前記フレームバッファーメモリに格納される結果ピクセル明度を生成する、混合機能ハードウェアである、請求項21に記載の方法。
- 前記さらなるソフトウェアルーチンが、前記出力ピクセル明度および少なくともフレームバッファーメモリ内に現在格納されている現在のピクセル明度に応じて、前記現在のピクセル明度の代わりに前記フレームバッファーメモリに格納される結果ピクセル明度を生成する、混合シェーダである、請求項22に記載の方法。
- 前記専用機能ハードウェアが、1つもしくは複数の構成パラメータに応じて、前記専用機能ハードウェアによって実行される前記専用処理作業を変更する、請求項15に記載の方法。
- 前記終了命令が、前記現在のソフトウェアルーチンおよび前記さらなるソフトウェアルーチンを終了させ、前記命令デコーダが前記終了命令のデコード時、前記処理回路が前記現在のソフトウェアルーチンを現在実行しているかどうかを示すルーチンフラグに応じて、前記ルーチンフラグが、前記処理回路が前記現在のソフトウェアルーチンを実行していることを示さない場合、前記さらなるソフトウェアルーチンの実行のトリガを抑制する、請求項15に記載の方法。
- 前記命令デコーダが、前記さらなるソフトウェアルーチンの開始アドレスを指定する構成パラメータとして格納される、プログラム可能な分岐アドレスに応じる、請求項15に記載の方法。
- 前記終了命令が、1つもしくは複数の所定の依存条件が満たされるまで、前記終了命令によって指定された宛先アドレスへ分岐する、請求項15に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1011419.7A GB2481819B (en) | 2010-07-07 | 2010-07-07 | Switching between dedicated function hardware and use of a software routine to generate result data |
GB1011419.7 | 2010-07-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012018668A JP2012018668A (ja) | 2012-01-26 |
JP5723679B2 true JP5723679B2 (ja) | 2015-05-27 |
Family
ID=42669300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011123344A Active JP5723679B2 (ja) | 2010-07-07 | 2011-06-01 | 専用機能ハードウェア間の切り替えおよび結果データを生成するソフトウェアルーチンの使用 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8922568B2 (ja) |
JP (1) | JP5723679B2 (ja) |
CN (1) | CN102314345B (ja) |
GB (1) | GB2481819B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9349209B2 (en) | 2011-05-27 | 2016-05-24 | Arm Limited | Graphics processing systems |
US9880844B2 (en) * | 2013-12-30 | 2018-01-30 | Cavium, Inc. | Method and apparatus for parallel and conditional data manipulation in a software-defined network processing engine |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3522023A (en) | 1967-09-13 | 1970-07-28 | Marathon Oil Co | Phosphorous additive-lead extender formulation with positive synergistic octane appeciation |
JPS63157238A (ja) * | 1986-12-22 | 1988-06-30 | Fuji Electric Co Ltd | コンピユ−タ |
US5197138A (en) * | 1989-12-26 | 1993-03-23 | Digital Equipment Corporation | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching |
JPH05204669A (ja) * | 1992-01-23 | 1993-08-13 | Mitsubishi Electric Corp | スケジュール方法 |
JP2000207202A (ja) * | 1998-10-29 | 2000-07-28 | Pacific Design Kk | 制御装置およびデ―タ処理装置 |
US6898692B1 (en) * | 1999-06-28 | 2005-05-24 | Clearspeed Technology Plc | Method and apparatus for SIMD processing using multiple queues |
JP3946393B2 (ja) * | 1999-10-19 | 2007-07-18 | 株式会社東芝 | 階層構造をもつ並列計算機 |
EP1182548A3 (en) * | 2000-08-21 | 2003-10-15 | Texas Instruments France | Dynamic hardware control for energy management systems using task attributes |
JP2003108989A (ja) * | 2001-09-26 | 2003-04-11 | Toshiba Corp | 画像処理プロセッサ及び情報処理システム |
US8174531B1 (en) * | 2003-10-29 | 2012-05-08 | Nvidia Corporation | Programmable graphics processor for multithreaded execution of programs |
US20050140692A1 (en) * | 2003-12-30 | 2005-06-30 | Microsoft Corporation | Interoperability between immediate-mode and compositional mode windows |
US7590823B1 (en) * | 2004-08-06 | 2009-09-15 | Xilinx, Inc. | Method and system for handling an instruction not supported in a coprocessor formed using configurable logic |
US7830390B2 (en) * | 2005-07-19 | 2010-11-09 | Graphics Properties Holdings, Inc. | Color computation of pixels using a plurality of vertex or fragment shader programs |
GB0516454D0 (en) * | 2005-08-10 | 2005-09-14 | Symbian Software Ltd | Coprocessor support in a computing device |
GB0605383D0 (en) * | 2006-03-17 | 2006-04-26 | Williams Paul N | Processing system |
US8384728B2 (en) * | 2007-09-14 | 2013-02-26 | Qualcomm Incorporated | Supplemental cache in a graphics processing unit, and apparatus and method thereof |
JP2009122925A (ja) * | 2007-11-14 | 2009-06-04 | Toshiba Corp | データ処理プログラム、データ処理方法およびデータ処理システム |
CN101453296B (zh) * | 2007-11-29 | 2012-06-13 | 中兴通讯股份有限公司 | 卷积Turbo码译码器的等待队列控制方法及装置 |
JP5379122B2 (ja) * | 2008-06-19 | 2013-12-25 | パナソニック株式会社 | マルチプロセッサ |
US8432405B2 (en) * | 2008-06-26 | 2013-04-30 | Microsoft Corporation | Dynamically transitioning between hardware-accelerated and software rendering |
JP5458697B2 (ja) * | 2009-06-30 | 2014-04-02 | 富士通モバイルコミュニケーションズ株式会社 | 情報処理装置 |
-
2010
- 2010-07-07 GB GB1011419.7A patent/GB2481819B/en active Active
-
2011
- 2011-06-01 JP JP2011123344A patent/JP5723679B2/ja active Active
- 2011-06-09 US US13/067,570 patent/US8922568B2/en active Active
- 2011-07-07 CN CN201110193998.8A patent/CN102314345B/zh active Active
-
2014
- 2014-06-09 US US14/299,023 patent/US9417877B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9417877B2 (en) | 2016-08-16 |
US20120007878A1 (en) | 2012-01-12 |
JP2012018668A (ja) | 2012-01-26 |
GB2481819B (en) | 2018-03-07 |
CN102314345A (zh) | 2012-01-11 |
CN102314345B (zh) | 2016-08-10 |
GB201011419D0 (en) | 2010-08-18 |
US20140289499A1 (en) | 2014-09-25 |
US8922568B2 (en) | 2014-12-30 |
GB2481819A (en) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6842895B2 (en) | Single instruction for multiple loops | |
US8589664B2 (en) | Program flow control | |
US10430192B2 (en) | Vector processing using loops of dynamic vector length | |
US8564604B2 (en) | Systems and methods for improving throughput of a graphics processing unit | |
US20060071933A1 (en) | Application binary interface for multi-pass shaders | |
KR20170009780A (ko) | 데이터 처리 시스템 | |
US20150286484A1 (en) | Processor subroutine cache | |
KR20150019349A (ko) | 다중 쓰레드 실행 프로세서 및 이의 동작 방법 | |
US20230273797A1 (en) | Processor with adaptive pipeline length | |
JP5723679B2 (ja) | 専用機能ハードウェア間の切り替えおよび結果データを生成するソフトウェアルーチンの使用 | |
US11042378B2 (en) | Propagation instruction to generate a set of predicate flags based on previous and current prediction data | |
EP1347374A2 (en) | Method and apparatus for processing branch instructions in a pipilined processor | |
US9349209B2 (en) | Graphics processing systems | |
EP3125109B1 (en) | Vector length querying instruction | |
US20070011439A1 (en) | Data processing systems and methods of operating the same in which memory blocks are selectively activated in fetching program instructions | |
KR900010552A (ko) | 명령을 페치(fetch)하기 위한 제어 시스템 | |
KR100329780B1 (ko) | 인터럽트 응답 시간을 줄인 인터럽트 처리 장치 | |
US20050160254A1 (en) | Multithread processor architecture for triggered thread switching without any clock cycle loss, without any switching program instruction, and without extending the program instruction format | |
US20100153688A1 (en) | Apparatus and method for data process | |
JP2010134891A (ja) | 画像処理プロセッサ | |
CN108022281B (zh) | 渲染三维图形的方法及装置 | |
JP3057732B2 (ja) | 情報処理装置 | |
JPH0373022A (ja) | 中央処理装置 | |
WO2007048988A1 (en) | A data processing apparatus and method for handling procedure call instructions | |
JPH07234786A (ja) | マイクロプログラム制御型情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141006 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150203 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150212 |
|
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: 20150302 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150330 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5723679 Country of ref document: JP 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 |
|
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 |