JP5149311B2 - オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ - Google Patents
オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ Download PDFInfo
- Publication number
- JP5149311B2 JP5149311B2 JP2009551017A JP2009551017A JP5149311B2 JP 5149311 B2 JP5149311 B2 JP 5149311B2 JP 2009551017 A JP2009551017 A JP 2009551017A JP 2009551017 A JP2009551017 A JP 2009551017A JP 5149311 B2 JP5149311 B2 JP 5149311B2
- Authority
- JP
- Japan
- Prior art keywords
- multimedia
- application
- core
- processing
- applications
- 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
- 238000012545 processing Methods 0.000 claims description 122
- 230000006870 function Effects 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 9
- 230000006854 communication Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012806 monitoring device Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 101000574648 Homo sapiens Retinoid-inducible serine carboxypeptidase Proteins 0.000 description 1
- 102100025483 Retinoid-inducible serine carboxypeptidase Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004044 response 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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
-
- 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/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- 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/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Processing (AREA)
Description
サに対して実行される。
Claims (30)
- 複数のマルチメディア・アプリケーションを同時にサポートするためのマルチメディア・プロセッサを含むデバイスであって、前記マルチメディア・プロセッサは、
前記複数のマルチメディア・アプリケーションに関する命令、データ、状態情報を蓄積するための構成可能な記憶リソースと、
前記複数のマルチメディア・アプリケーションに関する処理を実行するための割り当て可能な処理装置と、
を具備し、
前記マルチメディア・プロセッサは、各マルチメディア・アプリケーションに前記記憶リソースの構成可能な一部分を割り当て、前記マルチメディア・アプリケーションによって要求された際、前記複数のアプリケーションに前記処理装置を動的に割り当て、前記割り当て可能な処理装置は、前記複数のマルチメディア・アプリケーションのために異なるタイプの処理を実行する異なる処理装置を有し、前記割り当て可能な処理装置は、少なくとも1つの算術論理演算装置(ALU)コア、少なくとも1つの初等関数コア、少なくとも1つの論理コア、および少なくとも1つのテクスチャ・サンプラを備え、
前記構成可能な記憶リソースは、前記複数のマルチメディア・アプリケーションに関する命令を格納するための命令キャッシュを有し、
各マルチメディア・アプリケーションは、前記命令キャッシュの構成可能な一部分を割り当てられることを特徴とするデバイス。 - 複数のマルチメディア・アプリケーションを同時にサポートするためのマルチメディア・プロセッサを含むデバイスであって、前記マルチメディア・プロセッサは、
前記複数のマルチメディア・アプリケーションに関する命令、データ、状態情報を蓄積するための構成可能な記憶リソースと、
前記複数のマルチメディア・アプリケーションに関する処理を実行するための割り当て可能な処理装置と、
を具備し、
前記マルチメディア・プロセッサは、各マルチメディア・アプリケーションに前記記憶リソースの構成可能な一部分を割り当て、前記マルチメディア・アプリケーションによって要求された際、前記複数のアプリケーションに前記処理装置を動的に割り当て、前記割り当て可能な処理装置は、前記複数のマルチメディア・アプリケーションのために異なるタイプの処理を実行する異なる処理装置を有し、前記割り当て可能な処理装置は、少なくとも1つの算術論理演算装置(ALU)コア、少なくとも1つの初等関数コア、少なくとも1つの論理コア、および少なくとも1つのテクスチャ・サンプラを備えることを特徴とするデバイス。 - 前記構成可能な記憶リソースは、前記複数のマルチメディア・アプリケーションに関するデータを格納するためのレジスタ・バンクを有し、
各マルチメディア・アプリケーションは、前記レジスタ・バンクの構成可能な一部分に割り当てられることを特徴とする請求項1または2に記載のデバイス。 - 前記構成可能な記憶リソースは、
前記複数のマルチメディア・アプリケーションに関する命令、又はデータを格納するための記憶装置であって、仮想メモリ及び物理メモリと関連付けられる記憶装置と、なお、各マルチメディア・アプリケーションは、前記仮想メモリの構成可能な一部分を割り当てられる、
各マルチメディア・アプリケーションに対して割り当てられた前記仮想メモリの一部分を前記物理メモリの対応した一部分にマッピングするための少なくとも1つのテーブルと、
を有することを特徴とする請求項1または2に記載のデバイス。 - 前記マルチメディア・プロセッサは、前記マルチメディア・アプリケーションに割り当てられた前記記憶リソースの一部分内の記憶に関するキャッシュ・メモリ、又はメイン・メモリから、要求された際に、各マルチメディア・アプリケーションに関する命令及びデータを取り出すためのロード制御装置を更に具備することを特徴とする請求項1または2に記載のデバイス。
- 前記処理装置は、独立に動作し、各処理装置は、与えられたタイム・スロット内で前記複数のマルチメディア・アプリケーションの任意の一つに対して割り当て可能であることを特徴とする請求項1または2に記載のデバイス。
- 前記マルチメディア・プロセッサは、前記複数のマルチメディア・アプリケーションの任意の一つに割り当てられなかった処理装置の電力を落とすことを特徴とする請求項1または2に記載のデバイス。
- 前記マルチメディア・プロセッサは、前記複数のマルチメディア・アプリケーションからスレッドを非同期に受信するためのインプット・インターフェース装置と、
前記複数のマルチメディア・アプリケーションに結果を非同期に供給するためのアウトプット・インターフェース装置と、
を更に具備することを特徴とする請求項1または2に記載のデバイス。 - 前記マルチメディア・プロセッサは、電力消費を削減するために前記マルチメディア・プロセッサの負荷に基づいてクロックの速度を調節することを特徴とする請求項1または2に記載のデバイス。
- 前記マルチメディア・プロセッサは、前記処理装置がある特定の時間間隔に割り当てられた時間の割合に基づいて負荷を決定することを特徴とする請求項9に記載のデバイス。
- 前記マルチメディア・プロセッサは、前記複数のマルチメディア・アプリケーションに関する複数のスレッドを同時にサポートすることを特徴とする請求項1または2に記載のデバイス。
- 前記構成可能な記憶リソースは、前記複数のスレッドに関する複数のコンテキスト・レジスタを具備し、
各コンテキスト・レジスタは、関連付けられたスレッドに関する状態情報を格納することを特徴とする請求項11に記載のデバイス。 - 各スレッドに関する前記状態情報は、プログラム・カウンタ、ダイナミック・フロー・コントロールに関するポインタを格納するためのスタック、関連したアドレス指定に関するアドレス・レジスタ、条件の計算結果を格納するための述語レジスタ及びロード要求及びデータバック条件を追跡するためのロード参照カウンタの少なくとも1つを有することを特徴とする請求項12に記載のデバイス。
- 各スレッドは、前もって決められたサイズまでのデータ単位で処理することを特徴とする請求項11に記載のデバイス。
- 各スレッドはイメージ内の4つのピクセルまで、又は4つの頂点までで処理することを特徴とする請求項11に記載のデバイス。
- 前記マルチメディア・プロセッサは、前記複数のマルチメディア・アプリケーションに適用可能な単一の命令セットをサポートすることを特徴とする請求項1または2に記載のデバイス。
- 前記複数のマルチメディア・アプリケーションは、グラフィックス・アプリケーション、オーディオ・アプリケーション、ビデオ・アプリケーション、カメラ・アプリケーション、ゲーム・アプリケーションの少なくとも一つを有することを特徴とする請求項1または2に記載のデバイス。
- 複数のマルチメディア・アプリケーションを同時にサポートすることと、
前記マルチメディア・アプリケーションに関する命令、データ及び状態情報を蓄積するため各マルチメディア・アプリケーションに記憶リソースの構成可能な一部を割り当てることと、
前記マルチメディア・アプリケーションによって要求された際、前記複数のマルチメディア・アプリケーションに処理装置を動的に割り当てることと、
を具備し、
前記処理装置は、前記複数のマルチメディア・アプリケーションのために異なるタイプの処理を実行する異なる処理装置を有し、前記割り当て可能な処理装置は、少なくとも1つの算術論理演算装置(ALU)コア、少なくとも1つの初等関数コア、少なくとも1つの論理コア、および少なくとも1つのテクスチャ・サンプラを備え、
前記記憶リソースの構成可能な一部を割り当てることは、前記マルチメディア・アプリケーションに関する命令を蓄積するために各マルチメディア・アプリケーションに命令キャッシュの構成可能な一部分を割り当てることを具備することを特徴とする方法。 - 複数のマルチメディア・アプリケーションを同時にサポートすることと、
前記マルチメディア・アプリケーションに関する命令、データ及び状態情報を蓄積するため各マルチメディア・アプリケーションに記憶リソースの構成可能な一部を割り当てることと、
前記マルチメディア・アプリケーションによって要求された際、前記複数のマルチメディア・アプリケーションに処理装置を動的に割り当てることと、
を具備し、
前記処理装置は、前記複数のマルチメディア・アプリケーションのために異なるタイプの処理を実行する異なる処理装置を有し、前記割り当て可能な処理装置は、少なくとも1つの算術論理演算装置(ALU)コア、少なくとも1つの初等関数コア、少なくとも1つの論理コア、および少なくとも1つのテクスチャ・サンプラを備えることを特徴とする方法。 - 前記記憶リソースの構成可能な一部を割り当てることは、前記マルチメディア・アプリケーションに関するデータを蓄積するために各マルチメディア・アプリケーションにレジスタ・バンクの構成可能な一部分を割り当てることを具備することを特徴とする請求項18または19に記載の方法。
- 前記複数のマルチメディア・アプリケーションからスレッドを非同期に受信することと、
前記複数のマルチメディア・アプリケーションに非同期に結果を与えることと、
を更に具備することを特徴とする請求項18または19に記載の方法。 - 複数のマルチメディア・アプリケーションを同時にサポートする手段と、
前記マルチメディア・アプリケーションに関する情報、データ、状態情報を格納するために各マルチメディア・アプリケーションに記憶リソースの構成可能な一部分を割り当てる手段と、
前記マルチメディア・アプリケーションによって要求された際、前記複数のマルチメディア・アプリケーションに処理装置を動的に割り当てる手段と、
を具備し、
前記処理装置は、前記複数のマルチメディア・アプリケーションのために異なるタイプの処理を実行する異なる処理装置を有し、前記割り当て可能な処理装置は、少なくとも1つの算術論理演算装置(ALU)コア、少なくとも1つの初等関数コア、少なくとも1つの論理コア、および少なくとも1つのテクスチャ・サンプラを備え、
前記記憶リソースの構成可能な一部を割り当てるための前記手段は、前記マルチメディア・アプリケーションに関する命令を蓄積するために各マルチメディア・アプリケーションに命令キャッシュの構成可能な一部分を割り当てるための手段を具備することを特徴とする装置。 - 複数のマルチメディア・アプリケーションを同時にサポートする手段と、
前記マルチメディア・アプリケーションに関する情報、データ、状態情報を格納するために各マルチメディア・アプリケーションに記憶リソースの構成可能な一部分を割り当てる手段と、
前記マルチメディア・アプリケーションによって要求された際、前記複数のマルチメディア・アプリケーションに処理装置を動的に割り当てる手段と、
を具備し、
前記処理装置は、前記複数のマルチメディア・アプリケーションのために異なるタイプの処理を実行する異なる処理装置を有し、前記割り当て可能な処理装置は、少なくとも1つの算術論理演算装置(ALU)コア、少なくとも1つの初等関数コア、少なくとも1つの論理コア、および少なくとも1つのテクスチャ・サンプラを備えることを特徴とする装置。 - 前記記憶リソースの構成可能な一部を割り当てるための前記手段は、前記マルチメディア・アプリケーションに関するデータを蓄積するために各マルチメディア・アプリケーションにレジスタ・バンクの構成可能な一部分を割り当てるための手段を具備することを特徴とする請求項22または23に記載の装置。
- 前記複数のマルチメディア・アプリケーションから非同期にスレッドを受信する手段と、
前記複数のマルチメディア・アプリケーションに非同期にスレッドを送信する手段と、
を更に具備することを特徴とする請求項22または23に記載の装置。 - 複数のマルチメディア・アプリケーションを同時にサポートするためのマルチメディア・プロセッサを具備する無線装置であって、
前記マルチメディア・プロセッサは、
前記複数のマルチメディア・アプリケーションに関する命令、データ及び状態情報を格納するための構成可能な記憶リソースと、
前記複数のマルチメディア・アプリケーションに関する処理を実行するための割り当て可能な処理装置と、なお、前記マルチメディア・プロセッサは、各マルチメディア・アプリケーションに前記記憶リソースの構成可能な一部分を割り当て、前記マルチメディア・アプリケーションによって要求された際、前記複数のマルチメディア・アプリケーションに前記処理装置を動的に割り当て、前記処理装置は、前記複数のマルチメディア・アプリケーションのために異なるタイプの処理を実行する異なる処理装置を有し、前記割り当て可能な処理装置は、少なくとも1つの算術論理演算装置(ALU)コア、少なくとも1つの初等関数コア、少なくとも1つの論理コア、および少なくとも1つのテクスチャ・サンプラを備える、
前記記憶リソースに読み込むための命令とデータを格納するためのキャッシュ・メモリと、
を具備することを特徴とする無線装置。 - 前記ALUコアは、算術論理演算を実行し、前記初等関数コアは、多項式近似を実行することなく超越初等関数計算し、前記論理コアは、論理演算、ビット演算、データバッファ管理演算を実行し、前記テクスチャ・コアは、テクスチャ・エンジンに関する前処理を実行することを特徴とする、請求項1または2に記載のデバイス。
- 前記ALUコアは、算術論理演算を実行し、前記初等関数コアは、多項式近似を実行することなく超越初等関数計算し、前記論理コアは、論理演算、ビット演算、データバッファ管理演算を実行し、前記テクスチャ・コアは、テクスチャ・エンジンに関する前処理を実行することを特徴とする、請求項18または19に記載の方法。
- 前記ALUコアは、算術論理演算を実行し、前記初等関数コアは、多項式近似を実行することなく超越初等関数計算し、前記論理コアは、論理演算、ビット演算、データバッファ管理演算を実行し、前記テクスチャ・コアは、テクスチャ・エンジンに関する前処理を実行することを特徴とする、請求項22または23に記載の装置。
- 前記ALUコアは、算術論理演算を実行し、前記初等関数コアは、多項式近似を実行することなく超越初等関数計算し、前記論理コアは、論理演算、ビット演算、データバッファ管理演算を実行し、前記テクスチャ・コアは、テクスチャ・エンジンに関する前処理を実行することを特徴とする、請求項26に記載の無線装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/677,362 US7685409B2 (en) | 2007-02-21 | 2007-02-21 | On-demand multi-thread multimedia processor |
US11/677,362 | 2007-02-21 | ||
PCT/US2008/054620 WO2008103854A1 (en) | 2007-02-21 | 2008-02-21 | On-demand multi-thread multimedia processor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010519652A JP2010519652A (ja) | 2010-06-03 |
JP2010519652A5 JP2010519652A5 (ja) | 2012-11-22 |
JP5149311B2 true JP5149311B2 (ja) | 2013-02-20 |
Family
ID=39535482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009551017A Active JP5149311B2 (ja) | 2007-02-21 | 2008-02-21 | オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ |
Country Status (10)
Country | Link |
---|---|
US (1) | US7685409B2 (ja) |
EP (1) | EP2126690B1 (ja) |
JP (1) | JP5149311B2 (ja) |
KR (1) | KR101118486B1 (ja) |
CN (1) | CN101627367B (ja) |
BR (1) | BRPI0807951B1 (ja) |
CA (1) | CA2676184C (ja) |
RU (1) | RU2425412C2 (ja) |
TW (1) | TWI367453B (ja) |
WO (1) | WO2008103854A1 (ja) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8276164B2 (en) | 2007-05-03 | 2012-09-25 | Apple Inc. | Data parallel computing on multiple processors |
US8341611B2 (en) | 2007-04-11 | 2012-12-25 | Apple Inc. | Application interface on multiple processors |
US8286196B2 (en) | 2007-05-03 | 2012-10-09 | Apple Inc. | Parallel runtime execution on multiple processors |
US8108633B2 (en) * | 2007-04-11 | 2012-01-31 | Apple Inc. | Shared stream memory on multiple processors |
EP3413198A1 (en) | 2007-04-11 | 2018-12-12 | Apple Inc. | Data parallel computing on multiple processors |
US11836506B2 (en) | 2007-04-11 | 2023-12-05 | Apple Inc. | Parallel runtime execution on multiple processors |
JP2008299610A (ja) * | 2007-05-31 | 2008-12-11 | Toshiba Corp | マルチプロセッサ |
TWI386814B (zh) * | 2007-12-31 | 2013-02-21 | Ind Tech Res Inst | 具動態工作管理能力之多處理器界面及其程式載卸方法 |
US8947460B2 (en) | 2008-04-22 | 2015-02-03 | Htc Corporation | Method and apparatus for operating graphic menu bar and recording medium using the same |
US8286198B2 (en) | 2008-06-06 | 2012-10-09 | Apple Inc. | Application programming interfaces for data parallel computing on multiple processors |
US8225325B2 (en) | 2008-06-06 | 2012-07-17 | Apple Inc. | Multi-dimensional thread grouping for multiple processors |
US9013498B1 (en) * | 2008-12-19 | 2015-04-21 | Nvidia Corporation | Determining a working set of texture maps |
US8819258B2 (en) * | 2009-05-07 | 2014-08-26 | International Business Machines Corporation | Architecture for building multi-media streaming applications |
KR20110116553A (ko) * | 2010-04-19 | 2011-10-26 | 삼성전자주식회사 | 미디어 프로세싱 애플리케이션 실행 장치 및 방법 |
CN101901167A (zh) * | 2010-07-22 | 2010-12-01 | 网御神州科技(北京)有限公司 | 一种多cpu架构下的多网络安全审计方法和系统 |
CN101937368A (zh) * | 2010-08-31 | 2011-01-05 | 苏州阊亦宏环保科技有限公司 | 一种面向云计算的数据中心管理系统 |
US8762644B2 (en) * | 2010-10-15 | 2014-06-24 | Qualcomm Incorporated | Low-power audio decoding and playback using cached images |
KR101359717B1 (ko) | 2010-11-08 | 2014-02-07 | 한국전자통신연구원 | 에너지 타일 프로세서 |
US8775836B2 (en) * | 2010-12-23 | 2014-07-08 | Intel Corporation | Method, apparatus and system to save processor state for efficient transition between processor power states |
WO2012087566A2 (en) * | 2010-12-23 | 2012-06-28 | Intel Corporation | Method, apparatus and system to save processor state for efficient transition between processor power states |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
GB2487355B (en) | 2011-01-13 | 2020-03-25 | Advanced Risc Mach Ltd | Processing apparatus, trace unit and diagnostic apparatus |
US9201689B2 (en) * | 2011-04-22 | 2015-12-01 | Cray Inc. | Software emulation of massive hardware threading for tolerating remote memory references |
US10061618B2 (en) * | 2011-06-16 | 2018-08-28 | Imagination Technologies Limited | Scheduling heterogenous computation on multithreaded processors |
US8935491B2 (en) * | 2011-07-15 | 2015-01-13 | Throughputer, Inc. | Memory architecture for dynamically allocated manycore processor |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
TWI454905B (zh) | 2011-09-30 | 2014-10-01 | Intel Corp | 在多核心平台中之受限制的啓動技術 |
KR101881019B1 (ko) * | 2011-10-26 | 2018-07-24 | 삼성전자 주식회사 | 휴대 단말기의 전원절약 장치 및 방법 |
WO2013149374A1 (zh) * | 2012-04-01 | 2013-10-10 | 华为技术有限公司 | 媒体处理系统和处理媒体业务的方法 |
RU2490696C1 (ru) * | 2012-07-20 | 2013-08-20 | Открытое акционерное общество "КОНСТРУКТОРСКОЕ БЮРО "КОРУНД-М" (ОАО КБ "КОРУНД-М") | Устройство детектирования и корректирования ошибок с функцией самотестирования памяти |
US9082078B2 (en) * | 2012-07-27 | 2015-07-14 | The Intellisis Corporation | Neural processing engine and architecture using the same |
US9465655B2 (en) | 2012-11-28 | 2016-10-11 | Htc Corporation | Method for managing threads using executing time scheduling technique and electronic device using the same method |
CN103853605B (zh) * | 2012-11-28 | 2017-06-09 | 宏达国际电子股份有限公司 | 线程管理方法及其电子装置 |
US9185057B2 (en) | 2012-12-05 | 2015-11-10 | The Intellisis Corporation | Smart memory |
US9697006B2 (en) * | 2012-12-19 | 2017-07-04 | Nvidia Corporation | Technique for performing memory access operations via texture hardware |
US10007323B2 (en) | 2012-12-26 | 2018-06-26 | Intel Corporation | Platform power consumption reduction via power state switching |
US10437591B2 (en) | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US9396012B2 (en) * | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
US9606818B2 (en) | 2013-03-14 | 2017-03-28 | Qualcomm Incorporated | Systems and methods of executing multiple hypervisors using multiple sets of processors |
US10114756B2 (en) | 2013-03-14 | 2018-10-30 | Qualcomm Incorporated | Externally programmable memory management unit |
US9471318B2 (en) * | 2013-03-15 | 2016-10-18 | International Business Machines Corporation | System management and instruction counting |
GB2516435A (en) * | 2013-04-05 | 2015-01-28 | Continental Automotive Systems | Embedded memory management scheme for real-time applications |
JP6094356B2 (ja) * | 2013-04-22 | 2017-03-15 | 富士通株式会社 | 演算処理装置 |
RU2538920C2 (ru) * | 2013-05-06 | 2015-01-10 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Способ распределения задач сервером вычислительной системы, машиночитаемый носитель информации и система для реализации способа |
US20140379725A1 (en) * | 2013-06-19 | 2014-12-25 | Microsoft Corporation | On demand parallelism for columnstore index build |
CN104521180B (zh) * | 2013-07-01 | 2017-11-24 | 华为技术有限公司 | 基于统一通信的视频会议呼叫方法、设备和系统 |
US20150077635A1 (en) * | 2013-09-18 | 2015-03-19 | Htc Corporation | Method for outputting multiple multimedia tracks along multiple processing paths from a portable electronic device |
US9223574B2 (en) * | 2014-03-27 | 2015-12-29 | International Business Machines Corporation | Start virtual execution instruction for dispatching multiple threads in a computer |
US9542221B2 (en) * | 2014-05-22 | 2017-01-10 | Oracle International Corporation | Dynamic co-scheduling of hardware contexts for parallel runtime systems on shared machines |
US9507655B2 (en) * | 2014-10-31 | 2016-11-29 | AppDynamics, Inc. | Tracking asynchronous entry points for an application |
US9552327B2 (en) | 2015-01-29 | 2017-01-24 | Knuedge Incorporated | Memory controller for a network on a chip device |
US10061531B2 (en) | 2015-01-29 | 2018-08-28 | Knuedge Incorporated | Uniform system wide addressing for a computing system |
US10489197B2 (en) | 2015-06-01 | 2019-11-26 | Samsung Electronics Co., Ltd. | Highly efficient inexact computing storage device |
US10067878B2 (en) | 2015-09-23 | 2018-09-04 | Hanan Potash | Processor with logical mentor |
US9977693B2 (en) | 2015-09-23 | 2018-05-22 | Hanan Potash | Processor that uses plural form information |
US10140122B2 (en) * | 2015-09-23 | 2018-11-27 | Hanan Potash | Computer processor with operand/variable-mapped namespace |
US10095641B2 (en) | 2015-09-23 | 2018-10-09 | Hanan Potash | Processor with frames/bins structure in local high speed memory |
US10061511B2 (en) | 2015-09-23 | 2018-08-28 | Hanan Potash | Computing device with frames/bins structure, mentor layer and plural operand processing |
US9900260B2 (en) | 2015-12-10 | 2018-02-20 | Arm Limited | Efficient support for variable width data channels in an interconnect network |
US10157133B2 (en) | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US20170185516A1 (en) * | 2015-12-28 | 2017-06-29 | Arm Limited | Snoop optimization for multi-ported nodes of a data processing system |
US10027583B2 (en) | 2016-03-22 | 2018-07-17 | Knuedge Incorporated | Chained packet sequences in a network on a chip architecture |
US11093286B2 (en) | 2016-04-26 | 2021-08-17 | Hanan Potash | Computing device with resource manager and civilware tier |
US10346049B2 (en) | 2016-04-29 | 2019-07-09 | Friday Harbor Llc | Distributed contiguous reads in a network on a chip architecture |
US9990292B2 (en) | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
US10565024B2 (en) * | 2016-10-19 | 2020-02-18 | Oracle International Corporation | Generic concurrency restriction |
US10209887B2 (en) | 2016-12-20 | 2019-02-19 | Texas Instruments Incorporated | Streaming engine with fetch ahead hysteresis |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
US10409614B2 (en) * | 2017-04-24 | 2019-09-10 | Intel Corporation | Instructions having support for floating point and integer data types in the same register |
US10783011B2 (en) * | 2017-09-21 | 2020-09-22 | Qualcomm Incorporated | Deadlock free resource management in block based computing architectures |
GB201717303D0 (en) | 2017-10-20 | 2017-12-06 | Graphcore Ltd | Scheduling tasks in a multi-threaded processor |
US10606641B2 (en) | 2017-10-20 | 2020-03-31 | Graphcore Limited | Scheduling tasks in a multi-threaded processor |
US10642737B2 (en) * | 2018-02-23 | 2020-05-05 | Microsoft Technology Licensing, Llc | Logging cache influxes by request to a higher-level cache |
US11513837B2 (en) * | 2018-05-07 | 2022-11-29 | Micron Technology, Inc. | Thread commencement and completion using work descriptor packets in a system having a self-scheduling processor and a hybrid threading fabric |
US11100604B2 (en) * | 2019-01-31 | 2021-08-24 | Advanced Micro Devices, Inc. | Multiple application cooperative frame-based GPU scheduling |
CN110704368B (zh) * | 2019-09-25 | 2020-11-06 | 支付宝(杭州)信息技术有限公司 | 基于fpga的安全智能合约处理器的高效运算方法及装置 |
CN114968358A (zh) * | 2020-10-21 | 2022-08-30 | 上海壁仞智能科技有限公司 | 配置向量运算系统中的协作线程束的装置和方法 |
US20220263691A1 (en) * | 2021-02-16 | 2022-08-18 | Nvidia Corporation | Technique to perform demodulation of wireless communications signal data |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10506492A (ja) * | 1995-07-21 | 1998-06-23 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 高性能密度を有するマルチメディアプロセッサアーキテクチャ |
GB2311882B (en) * | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
US5966734A (en) * | 1996-10-18 | 1999-10-12 | Samsung Electronics Co., Ltd. | Resizable and relocatable memory scratch pad as a cache slice |
US6092175A (en) | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6041400A (en) * | 1998-10-26 | 2000-03-21 | Sony Corporation | Distributed extensible processing architecture for digital signal processing applications |
US6507903B1 (en) * | 2000-06-20 | 2003-01-14 | International Business Machines Corporation | High performance non-blocking parallel storage manager for parallel software executing on coordinates |
US7111294B2 (en) * | 2001-01-16 | 2006-09-19 | Microsoft Corporation | Thread-specific heaps |
JP2004157636A (ja) * | 2002-11-05 | 2004-06-03 | Renesas Technology Corp | データ処理装置 |
US7185215B2 (en) * | 2003-02-24 | 2007-02-27 | International Business Machines Corporation | Machine code builder derived power consumption reduction |
KR100591755B1 (ko) | 2003-07-22 | 2006-06-22 | 삼성전자주식회사 | 복수의 스레드를 동시에 처리하는 장치 및 방법 |
US7239322B2 (en) * | 2003-09-29 | 2007-07-03 | Ati Technologies Inc | Multi-thread graphic processing system |
JP2005182791A (ja) * | 2003-12-12 | 2005-07-07 | Sharp Corp | 汎用組込みプロセッサ |
US7386747B2 (en) | 2005-05-10 | 2008-06-10 | Qualcomm Incorporated | Method and system for reducing power consumption of a programmable processor |
-
2007
- 2007-02-21 US US11/677,362 patent/US7685409B2/en active Active
-
2008
- 2008-02-21 CA CA2676184A patent/CA2676184C/en active Active
- 2008-02-21 BR BRPI0807951-0A patent/BRPI0807951B1/pt active IP Right Grant
- 2008-02-21 KR KR1020097019527A patent/KR101118486B1/ko active IP Right Grant
- 2008-02-21 JP JP2009551017A patent/JP5149311B2/ja active Active
- 2008-02-21 RU RU2009135022/08A patent/RU2425412C2/ru active
- 2008-02-21 CN CN200880005385.3A patent/CN101627367B/zh active Active
- 2008-02-21 WO PCT/US2008/054620 patent/WO2008103854A1/en active Application Filing
- 2008-02-21 EP EP08730426.7A patent/EP2126690B1/en active Active
- 2008-02-22 TW TW097106177A patent/TWI367453B/zh active
Also Published As
Publication number | Publication date |
---|---|
US7685409B2 (en) | 2010-03-23 |
BRPI0807951B1 (pt) | 2019-05-14 |
CN101627367A (zh) | 2010-01-13 |
RU2009135022A (ru) | 2011-04-10 |
US20080201716A1 (en) | 2008-08-21 |
KR20090115211A (ko) | 2009-11-04 |
EP2126690A1 (en) | 2009-12-02 |
EP2126690B1 (en) | 2014-04-02 |
CA2676184C (en) | 2014-12-23 |
WO2008103854A1 (en) | 2008-08-28 |
TW200842757A (en) | 2008-11-01 |
TWI367453B (en) | 2012-07-01 |
CA2676184A1 (en) | 2008-08-28 |
CN101627367B (zh) | 2016-04-27 |
KR101118486B1 (ko) | 2012-03-13 |
JP2010519652A (ja) | 2010-06-03 |
BRPI0807951A2 (pt) | 2014-06-03 |
RU2425412C2 (ru) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5149311B2 (ja) | オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ | |
US8345053B2 (en) | Graphics processors with parallel scheduling and execution of threads | |
US9575807B2 (en) | Processing accelerator with queue threads and methods therefor | |
US8035650B2 (en) | Tiled cache for multiple software programs | |
EP2024819B1 (en) | Graphics processor with arithmetic and elementary function units | |
US10217183B2 (en) | System, method, and computer program product for simultaneous execution of compute and graphics workloads | |
US7805589B2 (en) | Relative address generation | |
WO2018063480A1 (en) | Graphics processor register renaming mechanism | |
WO2017155610A1 (en) | Method and apparatus for efficient submission of workload to a high performance graphics sub-system | |
US7876329B2 (en) | Systems and methods for managing texture data in a computer | |
US9171525B2 (en) | Graphics processing unit with a texture return buffer and a texture queue | |
US9165396B2 (en) | Graphics processing unit with a texture return buffer and a texture queue | |
EP4198749A1 (en) | De-prioritizing speculative code lines in on-chip caches | |
WO2024001699A1 (zh) | 一种着色器输入数据的处理方法和图形处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120104 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120703 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20121002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121003 |
|
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: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5149311 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |