KR101006030B1 - Simd 병렬성의 자동 선택을 가진 마이크로프로세서 - Google Patents
Simd 병렬성의 자동 선택을 가진 마이크로프로세서 Download PDFInfo
- Publication number
- KR101006030B1 KR101006030B1 KR1020087000668A KR20087000668A KR101006030B1 KR 101006030 B1 KR101006030 B1 KR 101006030B1 KR 1020087000668 A KR1020087000668 A KR 1020087000668A KR 20087000668 A KR20087000668 A KR 20087000668A KR 101006030 B1 KR101006030 B1 KR 101006030B1
- Authority
- KR
- South Korea
- Prior art keywords
- instructions
- instruction
- delete delete
- data
- processing mode
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 159
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 7
- 230000007613 environmental effect Effects 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 230000009849 deactivation Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- 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
-
- 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/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
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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/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
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Description
Claims (44)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 병렬 데이터 프로세서에서 상기 병렬 데이터 프로세서의 동작의 병렬성을 제어하는 방법으로서,명령 대기열 (queue) 에 있는 복수의 명령들의 각각에 관련된 폭 데이터를 식별하기 위해 상기 명령 대기열에 액세스하는 단계;상기 폭 데이터를 평가하는 단계;상기 복수의 명령들의 상기 폭 데이터에 적어도 부분적으로 기초하여 프로세싱 모드를 결정하는 단계로서, 상기 복수의 명령들의 각각의 명령을 선택적으로 확장하기 전에 상기 프로세싱 모드가 결정되는, 프로세싱 모드 결정 단계;상기 프로세싱 모드에 기초하여 명령 실행 유닛을 선택적으로 디스에이블링하는 단계; 및제 1 데이터 폭에 대응하는 상기 복수의 명령들의 각각의 명령을 제 2 데이터 폭에 대응하는 다수의 명령들로 선택적으로 확장하기 위해 상기 프로세싱 모드에 기초하여 명령 확장 소자를 제어하는 단계로서, 상기 제 2 데이터 폭은 상기 제 1 데이터 폭보다 작은, 명령 확장 소자 제어 단계를 포함하고,상기 명령 실행 유닛을 선택적으로 디스에이블링하는 단계는, 상기 명령 실행 유닛에서 프로세싱되기 위해 대기하는, 상기 제 1 데이터 폭에 대응하는 취급중인 (in-flight) 명령들이 없는 경우를 결정하기 위해 상기 명령 실행 유닛을 모니터링하는 단계 및 상기 결정에 기초하여 상기 명령 실행 유닛을 선택적으로 디스에이블링하는 단계를 포함하는, 병렬성 제어 방법.
- 제 31 항에 있어서,상기 폭 데이터를 평가하는 단계는 제 1 데이터 폭에 대응하는 복수의 명령들의 개수를 식별하는 제 1 개수 또는 제 2 데이터 폭에 대응하는 복수의 명령들의 개수를 식별하는 제 2 개수를 사용하여 비율을 결정하는 단계를 포함하고, 상기 제 2 데이터 폭은 상기 제 1 데이터 폭보다 작으며, 상기 비율은 상기 제 1 수를 상기 복수의 명령들의 총 수로 나눈 비율 또는 상기 제 2 수를 상기 복수의 명령들의 총 수로 나눈 비율을 포함하는, 병렬성 제어 방법.
- 제 31 항에 있어서,상기 명령 확장 소자는 모드 플래그에 응답하고, 상기 명령 확장 소자를 제어하는 단계는 상기 모드 플래그의 값을 설정하는 단계를 포함하는, 병렬성 제어 방법.
- 제 31 항에 있어서,상기 프로세싱 모드에 기초하여 상기 명령 실행 유닛을 선택적으로 디스에이블링하는 단계 이후에:현재 명령 대기열의 각각의 명령에 관련된 폭 데이터를 식별하기 위해 상기 명령 대기열에 다시 액세스하는 단계;상기 명령 대기열 내의, 상기 제 1 데이터 폭에 대응하는 명령 각각의 제 3 개수 또는 상기 명령 대기열 내의, 상기 제 2 데이터 폭에 대응하는 명령 각각의 제 4 개수를 사용하여 제 2 비율을 결정하는 단계로서, 상기 제 2 비율은 상기 제 3 개수를 상기 복수의 명령들의 총 수로 나눈 비율 또는 상기 제 4 개수를 상기 복수의 명령들의 총 수로 나눈 비율을 포함하는, 제 2 비율 결정 단계; 및상기 제 2 비율에 기초하여 상기 명령 실행 유닛을 선택적으로 이네이블링하는 단계를 더 포함하는, 병렬성 제어 방법.
- 제 34 항에 있어서,상기 명령 대기열은 8 개의 명령들을 저장하도록 구성되고, 제 1 명령 임계값은 상기 명령 대기열 내의 모든 8 개의 명령들 중 제 1 데이터 폭에 대응하는 하나 이상의 명령들에 대응하며, 제 2 명령 임계값은 상기 명령 대기열 내의 모든 8 개의 명령들 중 제 1 데이터 폭에 대응하는 2 개 이상의 명령들에 대응하며, 상기 제 2 명령 임계값은 상기 제 1 명령 임계값보다 큰, 병렬성 제어 방법.
- 제 1 데이터 폭에 대응하는 제 1 명령들 및 제 2 데이터 폭에 대응하는 제 2 명령들을 포함하는 명령들을 대기시키도록 구성되는 선입선출 (first-in-first-out) 버퍼를 포함하는 명령 대기열로서, 상기 제 2 데이터 폭은 상기 제 1 데이터 폭보다 작은, 명령 대기열;상기 제 1 명령들의 각각을 상기 제 2 데이터 폭에 대응하는 다수의 명령들로 선택적으로 확장하도록 구성되는 명령 확장 소자;상기 명령 대기열 내의 명령들을 실행할 수 있는 제 1 명령 실행 유닛;상기 명령 대기열 내의 명령들을 실행할 수 있는 제 2 명령 실행 유닛; 및상기 명령 대기열 및 상기 명령 확장 소자에 연결된 제어 로직으로서, 상기 제어 로직은, 상기 명령 대기열 내의 제 1 명령들의 제 1 개수 또는 상기 명령 대기열 내의 제 2 명령들의 제 2 개수를 사용하는 비율에 기초하여 상기 명령 확장 소자의 동작을 제어하도록 구성되며, 상기 비율은 상기 제 1 개수를 상기 명령들의 총 수로 나눈 비율 또는 상기 제 2 개수를 상기 명령들의 총 수로 나눈 비율을 포함하는, 제어 로직을 포함하고,상기 제어 로직은 프로세싱 모드에 기초하여 상기 제 2 명령 실행 유닛에 명령들이 수신되는 것을 선택적으로 차단하도록 구성되고, 상기 프로세싱 모드는 상기 비율에 적어도 부분적으로 기초하여 결정되며, 상기 제 2 명령 실행 유닛에서 프로세싱되기 위해 대기하는, 상기 제 1 데이터 폭에 대응하는 취급중인 (in-flight) 명령들이 없는 경우를 결정하기 위해 상기 제 2 명령 실행 유닛을 모니터링하고, 상기 결정에 기초하여 상기 제 2 명령 실행 유닛을 선택적으로 디스에이블링하는, 병렬 데이터 프로세서.
- 제 36 항에 있어서,상기 제어 로직은 제 1 프로세싱 모드로부터 제 2 프로세싱 모드로의 전환을 결정하기 위해 제 1 명령 임계값을 사용하도록 구성되고,상기 제어 로직은 상기 제 2 프로세싱 모드로부터 상기 제 1 프로세싱 모드로의 전환을 결정하기 위해 제 2 명령 임계값을 사용하도록 또한 구성되며,상기 제 1 명령 임계값은 상기 제 2 명령 임계값과 상이한, 병렬 데이터 프로세서.
- 제 36 항에 있어서,상기 제어 로직은 온도 신호값에 또한 기초하여 상기 프로세싱 모드를 결정하도록 구성되는, 병렬 데이터 프로세서.
- 제 38 항에 있어서,상기 제어 로직은 제 1 프로세싱 모드로부터 제 2 프로세싱 모드로의 전환을 결정하기 위해 제 1 명령 임계값 및 제 1 온도 임계값을 사용하도록 구성되고,상기 제어 로직은 상기 제 2 프로세싱 모드로부터 상기 제 1 프로세싱 모드로의 전환을 결정하기 위해 제 2 명령 임계값 및 제 2 온도 임계값을 또한 사용하도록 구성되는, 병렬 데이터 프로세서.
- 제 39 항에 있어서,상기 제 1 명령 임계값은 상기 제 2 명령 임계값보다 작고, 상기 제 2 온도 임계값은 상기 제 1 온도 임계값보다 작은, 병렬 데이터 프로세서.
- 제 39 항에 있어서,상기 제어 로직은 상기 제 1 프로세싱 모드 또는 제 2 프로세싱 모드를 표시하기 위해 비트 값을 설정하고,상기 명령 확장 소자는 상기 비트 값에 응답하여 상기 제 1 명령들을 상기 제 2 데이터 폭에 대응하는 다수의 명령들로 선택적으로 확장하는, 병렬 데이터 프로세서.
- 병렬 데이터 프로세서에서 상기 병렬 데이터 프로세서의 동작의 병렬성을 제어하는 방법으로서,선입선출 (first-in-first-out) 버퍼를 포함하는 명령 대기열 내의 제 1 데이터 폭에 대응하는 제 1 수의 명령들 및 제 2 데이터 폭에 대응하는 제 2 수의 명령들을 수신하는 단계;제 1 명령 임계값에 대한 상기 제 1 수의 명령들의 비교에 기초하여 제 1 프로세싱 모드로부터 제 2 프로세싱 모드로 전환하는 단계;상기 제 1 수의 명령들의 각각을 상기 제 2 데이터 폭에 대응하는 다수의 확장된 명령들로 확장하는 단계;상기 제 2 수의 명령들의 각각 및 상기 복수의 확장된 명령들의 각각이 상기 제 1 데이터 폭이 아닌 상기 제 2 데이터 폭을 갖는 데이터를 프로세싱하는 제 1 명령 실행 유닛에서 연속적으로 실행되도록, 상기 제 2 수의 명령들의 각각 및 상기 복수의 확장된 명령들의 각각을 전송하는 단계;제 2 명령 실행 유닛의 전력을 감소시키는 단계로서, 상기 제 1 프로세싱 모드로부터 상기 제 2 프로세싱 모드로 전환하는 단계는 상기 제 2 실행 유닛의 전력을 감소시키는 단계 이전에 모든 취급중인 (in-flight) 명령들이 실행될 때까지 상기 제 2 명령 실행 유닛을 모니터링하는 단계를 포함하는, 제 2 명령 실행 유닛의 전력을 감소시키는 단계;상기 명령 대기열 내의 상기 제 1 데이터 폭에 대응하는 제 3 수의 명령들 및 상기 제 2 데이터 폭에 대응하는 제 4 수의 명령들을 수신하는 단계; 및제 2 명령 임계값에 대한 상기 제 3 수의 명령들의 비교에 기초하여 상기 제 2 프로세싱 모드로부터 상기 제 1 프로세싱 모드로 전환하는 단계를 포함하는, 병렬성 제어 방법.
- 제 42 항에 있어서,상기 제 2 명령 임계값은 상기 제 1 명령 임계값보다 큰, 병렬성 제어 방법.
- 제 42 항에 있어서,상기 제 2 프로세싱 모드로부터 상기 제 1 프로세싱 모드로 전환하는 단계 이후에:상기 제 1 데이터 폭을 달성하기 위해 제 2 명령 실행 유닛과 병렬로 상기 제 1 명령 실행 유닛에서 상기 제 1 수의 명령들을 실행하는 단계; 및상기 제 2 명령 실행 유닛이 아닌 상기 제 1 명령 실행 유닛에서 상기 제 2 수의 명령들을 실행하는 단계를 더 포함하는, 병렬성 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/150,729 US7836284B2 (en) | 2005-06-09 | 2005-06-09 | Microprocessor with automatic selection of processing parallelism mode based on width data of instructions |
US11/150,729 | 2005-06-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080021773A KR20080021773A (ko) | 2008-03-07 |
KR101006030B1 true KR101006030B1 (ko) | 2011-01-06 |
Family
ID=37525522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087000668A KR101006030B1 (ko) | 2005-06-09 | 2006-05-25 | Simd 병렬성의 자동 선택을 가진 마이크로프로세서 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7836284B2 (ko) |
EP (2) | EP1894091B1 (ko) |
JP (1) | JP5074389B2 (ko) |
KR (1) | KR101006030B1 (ko) |
CN (1) | CN100595730C (ko) |
AT (1) | ATE504038T1 (ko) |
DE (1) | DE602006021019D1 (ko) |
ES (2) | ES2360816T3 (ko) |
IL (1) | IL187805A0 (ko) |
MX (1) | MX2007015555A (ko) |
WO (1) | WO2006135554A2 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7694114B2 (en) | 2005-06-09 | 2010-04-06 | Qualcomm Incorporated | Software selectable adjustment of SIMD parallelism |
US8024394B2 (en) * | 2006-02-06 | 2011-09-20 | Via Technologies, Inc. | Dual mode floating point multiply accumulate unit |
US8049760B2 (en) * | 2006-02-06 | 2011-11-01 | Via Technologies, Inc. | System and method for vector computations in arithmetic logic units (ALUs) |
US7836316B2 (en) * | 2006-03-28 | 2010-11-16 | Intel Corporation | Conserving power in processing systems |
US8345053B2 (en) * | 2006-09-21 | 2013-01-01 | Qualcomm Incorporated | Graphics processors with parallel scheduling and execution of threads |
US9135017B2 (en) * | 2007-01-16 | 2015-09-15 | Ati Technologies Ulc | Configurable shader ALU units |
US8108845B2 (en) * | 2007-02-14 | 2012-01-31 | The Mathworks, Inc. | Parallel programming computing system to dynamically allocate program portions |
US7868479B2 (en) * | 2007-06-27 | 2011-01-11 | Qualcomm Incorporated | Power gating for multimedia processing power management |
US8325184B2 (en) * | 2007-09-14 | 2012-12-04 | Qualcomm Incorporated | Fragment shader bypass in a graphics processing unit, and apparatus and method thereof |
US8335501B1 (en) * | 2007-11-21 | 2012-12-18 | At&T Mobility Ii Llc | Controlling functions of mobile communications devices |
JP4996654B2 (ja) * | 2009-08-18 | 2012-08-08 | 株式会社東芝 | プロセッサ |
US9501705B2 (en) | 2009-12-15 | 2016-11-22 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in a pattern recognition processor |
US8504855B2 (en) | 2010-01-11 | 2013-08-06 | Qualcomm Incorporated | Domain specific language, compiler and JIT for dynamic power management |
US9235251B2 (en) * | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
CN103080899B (zh) * | 2010-07-13 | 2016-07-06 | 超威半导体公司 | 图形处理器中simd单元的动态启用和禁用 |
CN101969402B (zh) * | 2010-10-18 | 2012-05-23 | 浪潮集团山东通用软件有限公司 | 基于并行处理的数据交换方法 |
US20120216011A1 (en) * | 2011-02-18 | 2012-08-23 | Darryl Gove | Apparatus and method of single-instruction, multiple-data vector operation masking |
GB2505818B (en) * | 2011-06-16 | 2016-02-10 | Imagination Tech Ltd | Graphics processor with non-blocking concurrent architecture |
US9009451B2 (en) * | 2011-10-31 | 2015-04-14 | Apple Inc. | Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle |
US9691360B2 (en) * | 2012-02-21 | 2017-06-27 | Apple Inc. | Alpha channel power savings in graphics unit |
CN103513958B (zh) * | 2012-06-27 | 2017-01-25 | 上海芯豪微电子有限公司 | 高性能指令缓存系统和方法 |
US10732689B2 (en) | 2013-07-09 | 2020-08-04 | Texas Instruments Incorporated | Controlling the number of powered vector lanes via a register field |
US10175981B2 (en) * | 2013-07-09 | 2019-01-08 | Texas Instruments Incorporated | Method to control the number of active vector lanes for power efficiency |
GB2539038B (en) * | 2015-06-05 | 2020-12-23 | Advanced Risc Mach Ltd | Processing pipeline with first and second processing modes having different performance or energy consumption characteristics |
US9841997B2 (en) * | 2015-06-25 | 2017-12-12 | Intel Corporation | Method and apparatus for execution mode selection |
US10334334B2 (en) * | 2016-07-22 | 2019-06-25 | Intel Corporation | Storage sled and techniques for a data center |
WO2018228399A1 (zh) * | 2017-06-13 | 2018-12-20 | 上海寒武纪信息科技有限公司 | 运算装置和方法 |
US11493967B2 (en) * | 2018-06-01 | 2022-11-08 | Interdigital Madison Patent Holdings, Sas | Thermal shutdown with hysteresis |
US11307860B1 (en) | 2019-11-22 | 2022-04-19 | Blaize, Inc. | Iterating group sum of multiple accumulate operations |
US10996960B1 (en) * | 2019-11-22 | 2021-05-04 | Blaize, Inc. | Iterating single instruction, multiple-data (SIMD) instructions |
US11029958B1 (en) * | 2019-12-28 | 2021-06-08 | Intel Corporation | Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10171635A (ja) | 1996-10-09 | 1998-06-26 | N T T Data Tsushin Kk | 分散環境におけるソフトウエア資源を管理するシステムと方法 |
US20040254965A1 (en) * | 2001-03-02 | 2004-12-16 | Eric Giernalczyk | Apparatus for variable word length computing in an array processor |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581516A (en) * | 1995-07-07 | 1996-12-03 | The United States Of America As Represented By The Secretary Of The Navy | Low power transmitter providing selectable waveform generation |
US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
JP2000047872A (ja) * | 1998-08-03 | 2000-02-18 | Hitachi Ltd | 低消費電力動作機能を備えたマイクロプロセッサ |
JP2000259579A (ja) * | 1999-03-11 | 2000-09-22 | Hitachi Ltd | 半導体集積回路 |
JP2000322259A (ja) * | 1999-05-11 | 2000-11-24 | Hitachi Ltd | データ処理装置 |
WO2000079405A1 (fr) * | 1999-06-21 | 2000-12-28 | Hitachi, Ltd. | Processeur de donnees |
JP2002366351A (ja) * | 2001-06-06 | 2002-12-20 | Nec Corp | スーパースカラ・プロセッサ |
US6839828B2 (en) * | 2001-08-14 | 2005-01-04 | International Business Machines Corporation | SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode |
US20030088799A1 (en) | 2001-11-05 | 2003-05-08 | Bodas Devadatta V. | Method and apparatus for regulation of electrical component temperature and power consumption rate through bus width reconfiguration |
US7328261B2 (en) * | 2001-11-21 | 2008-02-05 | Clearcube Technology, Inc. | Distributed resource manager |
US6986023B2 (en) * | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
US7694164B2 (en) | 2002-09-20 | 2010-04-06 | Intel Corporation | Operating system-independent method and system of determining CPU utilization |
US6879928B2 (en) * | 2003-01-16 | 2005-04-12 | International Business Machines Corporation | Method and apparatus to dynamically recalibrate VLSI chip thermal sensors through software control |
US7120784B2 (en) | 2003-04-28 | 2006-10-10 | International Business Machines Corporation | Thread-specific branch prediction by logically splitting branch history tables and predicted target address cache in a simultaneous multithreading processing environment |
JP2004362086A (ja) * | 2003-06-03 | 2004-12-24 | Matsushita Electric Ind Co Ltd | 情報処理装置および機械語プログラム変換装置 |
US20050149701A1 (en) | 2003-12-24 | 2005-07-07 | Inching Chen | Method, apparatus and system for pair-wise minimum and minimum mask instructions |
US20050240699A1 (en) * | 2004-03-31 | 2005-10-27 | Yoder Michael E | Safe process deactivation |
US20050283593A1 (en) * | 2004-06-18 | 2005-12-22 | Vladimir Vasekin | Loop end prediction |
US20060123422A1 (en) * | 2004-12-02 | 2006-06-08 | International Business Machines Corporation | Processor packing in an SMP server to conserve energy |
-
2005
- 2005-06-09 US US11/150,729 patent/US7836284B2/en active Active
-
2006
- 2006-05-25 CN CN200680026469A patent/CN100595730C/zh not_active Expired - Fee Related
- 2006-05-25 EP EP06771403A patent/EP1894091B1/en active Active
- 2006-05-25 MX MX2007015555A patent/MX2007015555A/es active IP Right Grant
- 2006-05-25 ES ES06771403T patent/ES2360816T3/es active Active
- 2006-05-25 EP EP10192125A patent/EP2290527B1/en active Active
- 2006-05-25 DE DE602006021019T patent/DE602006021019D1/de active Active
- 2006-05-25 WO PCT/US2006/020614 patent/WO2006135554A2/en active Application Filing
- 2006-05-25 AT AT06771403T patent/ATE504038T1/de not_active IP Right Cessation
- 2006-05-25 ES ES10192125T patent/ES2389946T3/es active Active
- 2006-05-25 JP JP2008515749A patent/JP5074389B2/ja not_active Expired - Fee Related
- 2006-05-25 KR KR1020087000668A patent/KR101006030B1/ko active IP Right Grant
-
2007
- 2007-12-02 IL IL187805A patent/IL187805A0/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10171635A (ja) | 1996-10-09 | 1998-06-26 | N T T Data Tsushin Kk | 分散環境におけるソフトウエア資源を管理するシステムと方法 |
US20040254965A1 (en) * | 2001-03-02 | 2004-12-16 | Eric Giernalczyk | Apparatus for variable word length computing in an array processor |
Also Published As
Publication number | Publication date |
---|---|
MX2007015555A (es) | 2008-02-21 |
DE602006021019D1 (de) | 2011-05-12 |
EP1894091A2 (en) | 2008-03-05 |
EP2290527B1 (en) | 2012-07-18 |
US20060282826A1 (en) | 2006-12-14 |
WO2006135554A3 (en) | 2007-12-13 |
IL187805A0 (en) | 2008-08-07 |
ES2360816T3 (es) | 2011-06-09 |
EP2290527A3 (en) | 2011-03-16 |
EP2290527A2 (en) | 2011-03-02 |
JP5074389B2 (ja) | 2012-11-14 |
CN101228504A (zh) | 2008-07-23 |
ATE504038T1 (de) | 2011-04-15 |
CN100595730C (zh) | 2010-03-24 |
ES2389946T3 (es) | 2012-11-05 |
WO2006135554A2 (en) | 2006-12-21 |
EP1894091A4 (en) | 2008-08-13 |
KR20080021773A (ko) | 2008-03-07 |
US7836284B2 (en) | 2010-11-16 |
JP2008544350A (ja) | 2008-12-04 |
EP1894091B1 (en) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101006030B1 (ko) | Simd 병렬성의 자동 선택을 가진 마이크로프로세서 | |
US8799627B2 (en) | Software selectable adjustment of SIMD parallelism | |
CN106155265B (zh) | 有功率效率的处理器体系结构 | |
US8650426B2 (en) | System and method for controlling central processing unit power in a virtualized system | |
US10423216B2 (en) | Asymmetric multi-core processor with native switching mechanism | |
US5887179A (en) | System power saving means and method | |
US20050223256A1 (en) | Method for implementing thermal and power management in a processor and/or apparatus and/or system employing the same | |
US20150046729A1 (en) | Semiconductor apparatus and control method therof | |
JP2006502488A (ja) | 省電力vliwプロセッサ | |
US20160162293A1 (en) | Asymmetric processor with cores that support different isa instruction subsets | |
JP2007249986A (ja) | ハードウェア制御のパワー管理機能を備えたコンピュータ・システム | |
US20020112193A1 (en) | Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile | |
KR100500227B1 (ko) | 프로세서 아이들 상태 | |
US20020104032A1 (en) | Method for reducing power consumption using variable frequency clocks | |
GB2506169A (en) | Limiting task context restore if a flag indicates task processing is disabled | |
US20040117677A1 (en) | Throttle of an integrated device | |
US8671288B2 (en) | Processor with power control via instruction issuance | |
CN107667344B (zh) | 可变长度指令处理模式 | |
KR20040101344A (ko) | 마이크로프로세서, 인스트럭션 시퀀스 발생 방법 및 이를구현한 프로그램 디바이스 | |
JPH08241145A (ja) | データ処理装置の低消費電力化方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141128 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150930 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161125 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170929 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190924 Year of fee payment: 10 |