JP2001236226A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JP2001236226A JP2001236226A JP2001006832A JP2001006832A JP2001236226A JP 2001236226 A JP2001236226 A JP 2001236226A JP 2001006832 A JP2001006832 A JP 2001006832A JP 2001006832 A JP2001006832 A JP 2001006832A JP 2001236226 A JP2001236226 A JP 2001236226A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- block
- profile
- microprocessor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000005192 partition Methods 0.000 claims description 64
- 238000000638 solvent extraction Methods 0.000 claims description 21
- 230000002401 inhibitory effect Effects 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 26
- 238000012544 monitoring process Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 12
- 230000003252 repetitive effect Effects 0.000 description 9
- 101100206185 Arabidopsis thaliana TCP18 gene Proteins 0.000 description 7
- 101100206195 Arabidopsis thaliana TCP2 gene Proteins 0.000 description 7
- 101100004651 Schizosaccharomyces pombe (strain 972 / ATCC 24843) brc1 gene Proteins 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 239000012535 impurity Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 102100036822 Ankyrin repeat and KH domain-containing protein 1 Human genes 0.000 description 1
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 1
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 1
- 102100039558 Galectin-3 Human genes 0.000 description 1
- 101000928335 Homo sapiens Ankyrin repeat and KH domain-containing protein 1 Proteins 0.000 description 1
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 1
- 101000619805 Homo sapiens Peroxiredoxin-5, mitochondrial Proteins 0.000 description 1
- 101150115300 MAC1 gene Proteins 0.000 description 1
- 101150051246 MAC2 gene Proteins 0.000 description 1
- 208000002193 Pain Diseases 0.000 description 1
- 102100022078 Peroxiredoxin-5, mitochondrial Human genes 0.000 description 1
- 208000003251 Pruritus Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003870 depth resolved spectroscopy Methods 0.000 description 1
- 208000009743 drug hypersensitivity syndrome Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- 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
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- 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, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
-
- 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
Abstract
プロセッサを含むディジタル・システムで、電力消費を
さらに減少するための、ディジタル・システムの操作方
法を提供する。 【解決手段】 マイクロプロセッサ(100)の一部を
複数個の区画に区画分けする。一連の命令がマイクロプ
ロセッサの命令パイプライン内で実行される(140
4、1406)。局所繰返し命令に応答して(140
6)一連の命令内の命令のブロックが繰返し実行される
(1416、1422)。命令のブロックは最初の命令
と最後の命令とを有する。命令のブロックを実行する前
のアセンブリ段階(1410)か、又は監視回路による
ループの第1繰返し時(1412)のどちらかで、複数
個の区画の内少なくとも1つが命令のブロックを実行す
るのに必要ないことの決定が行なわれる。電力消散を減
少するために命令のブロックの繰返し実行時に少なくと
も一つの識別された区画の動作が禁止される(141
4)。
Description
ロプロセッサに関係し、特に専用ではないが、プログラ
ム流れを繰返すよう設定可能なマイクロプロセッサに関
係している。
が公知であり、中でもマイクロプロセッサは1例であ
る。例えば、ディジタル信号プロセッサ(DSP)は、
特にモバイル処理応用のような特定の応用に広範囲に使
用されている。DSPは、関連する応用の性能を最適化
するよう標準的に構成され、これを実施するためより特
殊化された実行装置と命令組を使用している。専用では
ないが、特にモバイル電気通信応用のような応用例で
は、電力消費を出来る限り低くしつつDSP性能をさら
に増強して提供することが望ましい。
グラム・メモリに記憶されたマシン読取り可能命令は、
プロセッサが演算又は機能を実行するためプロセッサに
より連続的に実行される。マシン読取り可能命令の列は
「プログラム」と呼ばれる。プログラム命令は連続的に
実行されるのが標準であるが、ある種の命令はプログラ
ム順序を中断させ、プログラム流れが命令のブロックを
繰返すことを可能とする。このような命令ブロックの繰
返しは「ルーピング」として知られ、命令のブロックは
「ループ」又は「ブロック」として知られている。
サは、非活動時にクロックが低下する、又はある種の周
辺装置を不要の時にオフにする低電力モードを備える。
割込みが発生して全動作を再開するまでプロセッサは
「アイドル」モード又は「スリープ」モードに入る。
タル・システムと、例えば専用ではないが、ディジタル
信号プロセッサのようなマイクロプロセッサによる電力
消費をさらに減少するための、ディジタル・システムの
操作方法を開示する。
サを含むディジタル・システムを操作する方法を開示す
る。マイクロプロセッサの一部が複数個の区画に区分さ
れる。マイクロプロセッサはマイクロプロセッサの命令
パイプライン内で一連の命令を実行し、一連の命令内の
命令のブロックを繰返し実行する。複数個の区画の内の
少なくとも1つが命令のブロックを実行するために必要
ないことが決定される。電力消散を減少するため、命令
のブロックが繰返し実行されている間不要な区画の動作
は禁止される。
画を示す繰返しプロファイル・パラメータが与えられ
る。繰返しプロファイル・パラメータは命令のブロック
の前に実行される命令により与えられることが望まし
い。繰返しプロファイル・パラメータは、命令のブロッ
クの最初の繰返しの実行を監視し、これにより繰返しプ
ロファイル・パラメータを得ることにより決定してもよ
い。内部ループと外部ループに別々の繰返しプロファイ
ル・パラメータを与えてもよい。
ての区画が付勢されるよう区画禁止をマスクし、ISR
の実行を完了した後命令のブロックの繰返し実行に復帰
した時区画禁止のアンマスクを発生させる割込みが命令
のブロックの実行時に与えられることが望ましい。
け可能であり、命令のブロックの実行時に部分的に禁止
される。例えば、命令デコーダは命令の群に従って区画
分けされる。命令レジスタは各種の命令長に従って区画
分けされる。命令パイプラインは並列命令実行に従って
区画分けされる。マイクロプロセッサの一部はデータ型
式に従って区画分けされる。アドレス発生回路はアドレ
ス・モードに従って区画分けされる。命令のブロックの
実行時に不要な場合、状態回路は禁止される。
プログラムをアセンブルする方法も開示される。一連の
命令は、最初の命令と最後の命令を含む命令の繰返し可
能なブロックを有する。各命令の項目がその命令を含む
命令群を定義する群パターンを含むように、選択したマ
イクロプロセッサにより実行可能な各命令に対して項目
を有する命令表が作成される。ソースコードは一連の命
令に変換され、プロローグ命令と関係する命令の繰返し
ブロックに対して最初の命令と最後の命令が決定され
る。命令のブロック中の各命令を表す命令表から選択さ
れた複数個の群パターンを組合せて繰返しプロファイル
・パラメータを形成し、繰返しプロファイル・パラメー
タは一連の命令のプロローグ命令に関係付けられる。
区画分けは、命令ループの実行時に1つ以上のデコーダ
区画をアイドルのままにすることを可能とする。結果と
して、マイクロプロセッサによる電力消費の対応した減
少がある。
な、携帯装置での使用に特に適している。標準的にこれ
らの無線通信装置は、液晶表示又はTFT表示部のよう
な表示部と、通信装置へデータを入力するキーパッド又
はキーボードを含むユーザー・インターフェースを含
む。さらに、無線通信装置はまた、無線電話網等と無線
通信するアンテナも含む。一例として、添付図面に図示
した例示実施例を参照として、本発明を詳細に説明す
る。
積回路(ASIC)に実装された、ディジタル信号プロ
セッサ(DSP)に特定の応用を見出すが、これらの教
示はその他の形式のマイクロプロセッサにも応用例を見
出してもよい。
P」)であるマイクロプロセッサ10のブロック線図で
ある。明瞭にするため、図1は本願の教示に適切なマイ
クロプロセッサ10の部分のみを図示している。DSP
の一般的構成の詳細は公知であり、他で容易に見出され
るであろう。例えば、フレデリック・ボートー他に発行
された米国特許第5,072,418号はDSPを詳細に記載し
ている。ゲーリー・スウォボダ他に発行された米国特許
第5,329,471号はDSPを如何に検査しエミュレートす
るかを詳細に記載している。本願により開示される実施
例に適切なマイクロプロセッサ10の部分の詳細は、マ
イクロプロセッサ技術の当業者がこれらを作成し使用可
能とするよう以下に十分詳細に説明されている。
プの実行時に1つ以上の区画がアイドルのままでいるこ
とを可能とする。結果として、マイクロプロセッサによ
る電力消費に対応する減少がある。それ故、開示の実施
例は、無線通信装置のような携帯装置の使用に特に適し
ている。本教示の特徴から恩恵を受けるいくつかの例示
システムは、米国特許第5,072,418号、特に米国特許第
5,072,418号の図2−18と関連して説明される。電力
消費を減少するため本教示の特徴を含むマイクロプロセ
ッサは、米国特許第5,072,418号に記載されたシステム
をさらに改良するために使用可能である。前記のシステ
ムは、以下には限定されないが、産業プロセス制御。自
動車システム、モーター制御、ロボット制御システム、
衛星電気通信システム、エコー抑止システム、モデム、
ビデオ映像システム、音声認識システム、暗号化付きボ
コーダ・モデム・システム、等を含む。
4付きの移動電話のような、移動電気通信装置で本教示
の特徴を使用するディジタル・システムの例示実装を図
示する。本教示の特徴を実施したディジタル信号プロセ
ッサ10は、適切な場合にはキーボード・アダプタ(図
示せず)を介してキーボード12に、また適切な場合に
は表示アダプタ(図示せず)を介して表示部14に、さ
らに無線周波数(RF)回路16に接続された集積回路
40にパッケージ化される。RF回路16はアンテナ1
8に接続される。集積回路40は表面実装用の複数個の
接点を有する。しかしながら、集積回路はその他の構
成、例えば零挿入力ソケットに取付けるための回路の底
面の複数個のピン、又は実際任意のその他の適切な構成
を含み得る。
テクチャを以下に説明する。
ロセッサ10は中央処理装置(CPU)100とプロセ
ッサ・バックプレーン20を含む。本実施例では、プロ
セッサは応用特定集積回路(ASIC)に実装されたデ
ィジタル信号プロセッサ(DSP)である。
プロセッサ・コア102とプロセッサ・コア102をプ
ロセッサ・コア外部のメモリ装置とインターフェースす
るメモリ・インターフェース、又は管理装置104を含
む。
クロプロセッサのメモリ管理装置104が接続されるバ
ックプレーン・バス22を含む。バックプレーン・バス
22には、命令キャッシュ・メモリ24、周辺装置26
及び外部インターフェース28も接続される。
構成及び/又は異なる技術を使用してもよいことも認め
られる。例えば、CPU100単独でプロセッサ10を
構成し、プロセッサ・バックプレーン20をこれから分
離することも可能である。例えば、CPU100は、バ
ックプレーン・バス22、周辺及び外部インターフェー
スをサポートするバックプレーン20から分離して取付
けたDSPも可能である。例えば、マイクロプロセッサ
100はDSP以外のマイクロプロセッサも可能で、A
SIC以外の技術で実装することも可能である。処理エ
ンジンを含むマイクロプロセッサ、又はプロセッサは1
個以上の集積回路に実装可能である。
を図示する。図示したように、処理コア102は4つの
要素、すなわち命令バッファ装置(I装置)106と3
個の実行装置とを含む。実行装置は、命令バッファ装置
(I装置)106からデコードされた命令を実行し、プ
ログラム流れを制御監視する、プログラム流れ装置(P
装置)108、アドレス・データ流れ装置(A装置)1
10及びデータ計算装置(D装置)112である。
装置110及びD装置112をさらに詳細に図示し、処
理コア102の各種要素を接続するバス構造を示す。P
装置108は、例えば、ループ制御回路、GoTo/分
岐制御回路および繰返しカウンタ・レジスタや割込みマ
スク、フラッグ又はベクトル・レジスタのようなプログ
ラム流れを制御し監視する各種のレジスタを含む。P装
置108は汎用データ書込みバス(EB、FB)13
0、132、データ読取りバス(CB、DB)134、
136及びアドレス定数バス(KAB)142に結合さ
れる。さらに、P装置108はCSR、ACB及びRG
Dとラベル付けした各種のバスを介してA装置110と
D装置112内の副装置に結合される。
装置110はレジスタファイル30、データアドレス発
生副装置(DAGEN)32及び算術論理装置(AL
U)34を含む。A装置レジスタファイル30は各種の
レジスタを含み、この中には16ビット・ポインタ・レ
ジスタ(AR0−AR7)とアドレス発生と共にデータ
流れにも使用してもよいデータ・レジスタ(DR0−D
R3)がある。さらに、レジスタファイルは16ビット
環状バッファ・レジスタと7ビット・データページ・レ
ジスタを含む。汎用バス(EB、FB、CB、DB)1
30、132、134、136と共に、データ定数バス
140とアドレス定数バス142がA装置レジスタファ
イル30に結合される。A装置レジスタファイル30
は、各々反対方向に動作する単方向バス144と146
によりA装置DAGEN装置32に結合される。DAG
EN装置32は、例えばマイクロプロセッサ100内の
アドレス発生を制御し監視する16ビットX/Yレジス
タと係数及びスタックポインタ・レジスタを含む。
D、OR及びXOR論理演算のようなALUと標準的に
関係する機能と共にシフタ機能を含むALU34も含
む。ALU34も汎用バス(EB、DB)130、13
6と命令定数データバス(KDB)140に結合され
る。A装置ALUはP装置108レジスタファイルから
レジスタ内容を受取るPDAバスによりP装置108に
結合される。ALU34はまたアドレス及びデータ・レ
ジスタ内容を受取るためバスRGAとRGBにより、か
つレジスタファイル30のアドレス及びデータ・レジス
タを転送するためバスRGDによりA装置レジスタファ
イル30にも結合される。
ジスタファイル36、D装置ALU38、D装置シフタ
40及び2個の乗算及びアキュムレート装置(MAC
1、MAC2)42と44を含む。D装置レジスタファ
イル36、D装置ALU38及びD装置シフタ40はバ
ス(EB、FB、CB、DB及びKDB)130、13
2、134、136及び140に結合され、MAC装置
42と44はバス(CB、DB、KDB)134、13
6、140とデータ読取りバス(BB)144に結合さ
れる。D装置レジスタファイル36は40ビット・アキ
ュムレータ(AC0−AC3)と16ビット転移レジス
タを含む。D装置112は40ビット・アキュムレータ
に加えてソース又は目的地レジスタとしてA装置110
中の16ビット・ポインタ及びデータレジスタも利用可
能である。D装置レジスタファイル36はアキュムレー
タ書込みバス(ACW0、ACW1)146、148を
通してD装置ALU38とMAC1&2 42、44か
ら、及びアキュムレータ書込みバス(ACW1)148
を通してD装置シフタ40からデータを受取る。データ
はアキュムレータ読取りバス(ACR0、ACR1)1
50、152を通してD装置レジスタファイル・アキュ
ムレータからD装置ALU38、D装置シフタ40及び
MAC1&2 42、44へ読取られる。D装置ALU
38とD装置シフタ40もEFC、DRB、DR2及び
ACBとラベル付けした各種のバスを介してA装置10
8の副装置に結合される。
ファ・キュー(IBQ)502を含む命令バッファ装置
106が図示されている。IBQ502は8ビット・バ
イト506に論理的に分割される、32X16ビット・
レジスタ504を含む。命令は32ビット・プログラム
・バス(PB)122を介してIBQ502に到着す
る。命令は局所書込みプログラム・カウンタ(LWP
C)532により指示された位置へ32ビット・サイク
ルでフェッチされる。LWPC532はP装置108に
位置するレジスタに含まれる。P装置108は又局所読
取りプログラム・カウンタ(LRPC)536レジス
タ、及び書込みプログラム・カウンタ(WPC)530
と読取りプログラム・カウンタ(RPC)534レジス
タも含む。LRPC536は命令デコーダ512と51
4にロードされる次ぎの命令又は複数命令のIBQ50
2中の位置を指す。すなわち、LRPC534はデコー
ダ512、514に現在ディスパッチされている命令の
IBQ502中の位置を指す。WPCはパイプライン用
の命令コードの次ぎの4バイトの開始のプログラム・メ
モリ中のアドレスを指す。IBQへの各フェッチに対し
て、命令境界に係らずプログラム命令からの次ぎの4バ
イトがフェッチされる。RPC534はデコーダ512
と514に現在ディスパッチされている命令のプログラ
ム・メモリ中のアドレスを指す。
スタ522にロードされ、それからマルチプレクサ52
0と521を介して48ビット・バス516を通して命
令デコーダ512、514にロードされる。命令は48
ビット以外を含む語に形成してもよく、本教示は上述し
た特定の実施例に限定されないことは通常の当業者には
明らかである。
命令、デコーダ当り1つをロード可能である。命令の組
合せは、48ビット・バス上に適合する、任意の形式の
組合せ、8、16、24、32、40及び48ビットで
よい。1命令のみが1サイクル時にロード可能である場
合、デコーダ1、512がデコーダ2、514に優先し
てロードされる。次いで各命令は、これを実行し、命令
又は演算が実行されるべきデータをアクセスするために
各機能装置に転送される。命令デコーダに渡される前
に、命令はバイト境界に整合される。整合はそのデコー
ド時に前の命令に得られた形式を基にして行なわれる。
バイト境界による命令の整合と関係する多重化はマルチ
プレクサ520と521で実行される。
イプラインを通して命令を実行し、その各段を以下に図
6を参照して説明する。
H(P0)段202で、この段ではメモリ・インターフ
ェース又はメモリ管理装置104のアドレスバス(PA
B)118上のアドレスをアサートすることにより次ぎ
のプログラム・メモリ位置がアドレスされる。
は、プログラム・メモリが読取られ、I装置106はメ
モリ管理装置104からPBバス122を介して充填さ
れる。
パイプラインは割込可能で連続プログラム流れを切断
し、例えば分岐命令に対してプログラム・メモリ中の他
の命令を指すことが可能であるという点で、PRE−F
ETCHとFETCH段はパイプライン段の残りから分
離している。
6で命令バッファの次ぎの命令がデコーダ512/51
4にディスパッチされ、ここで命令はデコードされその
命令を実行する実行装置、例えばP装置108、A装置
110又はD装置112へディスパッチされる。デコー
ド段206は、命令の種類を指示する第1部分、命令の
形式を指示する第2部分及び命令のアドレシング・モー
ドを指示する第3部分を含む命令の少なくとも1部をデ
コードする段階を含む。
であり、ここで命令に使用されるデータのアドレスが計
算されるか、又は命令がプログラム分岐又はジャンプを
必要とする場合、新たなプログラム・アドレスが計算さ
れる。各計算は各々A装置又はP装置108で発生す
る。
りオペランドのアドレスが出力され、Xmem間接アド
レシング・モードによりDAGEN Xオペレータでア
ドレスが発生されたメモリ・オペランドが次いで間接ア
ドレスされたXメモリ(Xmem)から読み出される。
5)段212で、ここでYmem間接アドレシング・モ
ードによりDAGEN Yオペレータで、又は係数アド
レス・モードによりDAGEN Cオペレータでアドレ
スが発生された、メモリ・オペランドが読取られる。命
令の結果を書込むべきメモリ位置のアドレスが出力され
る。
Y路で、書込みオペランドはX路でも発生可能である。
どちらかで命令が実行される実行EXEC(P6)段2
14がある。次いで結果はデータ・レジスタ又はアキュ
ムレータに記憶されるか、又は読取り/変更/書込み又
はストア命令でメモリに書込まれる。さらに、EXEC
段時にアキュムレータのデータにシフト演算が実行され
る。
理を図7を参照して以下に説明する。図7から分かるよ
うに、第1命令302に対して、連続するパイプライン
段が時間期間T1−T7上で発生する。各時間期間はプロ
セッサ・マシン・クロックのクロック・サイクルであ
る。期間T2に第2命令がパイプラインに入ることが可
能である、何故なら前の命令は今や次ぎのパイプライン
段へ移動しているからである。命令3、306に対し
て、PRE−FETCH段202は時間T3で発生す
る。7段パイプラインの図7から分かるように、全体で
7命令が同時に処理されてもよい。7命令302−31
4全てに対して、図7はこれら全てが時間T7で処理中
であることを示す。このような構造は命令の処理にある
形式の並列性を付与する。
ット・アドレスバス114と両方向16ビット・データ
バス116とを介して外部メモリ装置(図示せず)に結
合されているメモリ管理装置104を含む。さらに、メ
モリ管理装置104は24ビット・アドレスバス118
と32ビット両方向データバス120とを介してプログ
ラム記憶メモリ(図示せず)に結合される。メモリ管理
装置104はまた32ビット・プログラム読取りバス
(PB)122を介してプロセッサ・コア102のI装
置106にも結合される。P装置108、A装置110
及びD装置112はデータ読取り及びデータ書込みバス
と対応するアドレスバスとを介してメモリ管理装置10
4に結合される。P装置108はさらにプログラム・ア
ドレスバス128にも結合される。
ラム・アドレスバス128、2本の16ビット・データ
書込みバス(EB、FB)130、132、及び2本の
16ビット・データ読取りバス(CB、DB)134、
136によりメモリ管理装置104に結合される。A装
置110は2本の24ビット・データ書込みアドレスバ
ス(EAB、FAB)160、162、2本の16ビッ
ト・データ書込みバス(EB、FB)130,132、
3本のデータ読取りアドレスバス(BAB、VAB、D
AB)164、166、168及び2本の16ビット・
データ読取りバス(CB、DB)134、136を介し
てメモリ管理装置104に結合される。D装置112は
2本のデータ書込みバス(EB、FB)130,132
と3本のデータ読取りバス(BB、CB、DB)14
4、134、136とを介してメモリ管理装置104に
結合される。
124でI装置106からP装置108へ命令の引渡し
を表している。さらに、図8は126と128で各々I
装置106からA装置110へ、そしてD装置112へ
のデータの引渡しを表している。
る。
通して繰り返しルーピングを提供する、局所繰返し命令
に応答するよう設定される。局所繰返し命令は16ビッ
ト命令で、演算コード;並列付勢ビット;及びオフセッ
ト(6ビット)を含む。演算コードは局所命令として命
令を定義し、マイクロプロセッサにオフセットと演算コ
ード拡張を期待するよう促す。記載した実施例では、オ
フセットは55の最大値を有する。しかしながら、これ
はループ寸法が55バイトに限定されることを意味しな
い。実際、このオフセットはブロック繰返し終了アドレ
スと開始アドレスとの間の差を指定し、開始アドレスは
第1命令又は命令対のアドレスであり、終了アドレスは
最後の命令又は命令対の最後の命令のアドレスである。
それ故、最大ループ寸法は(55+「最終命令の寸
法」)となり、これは61バイト以下である。他の実施
例では、例えば、異なる寸法の命令バッファ・キューに
従って、オフセット及びループ寸法を大きく又は小さく
してもよい。
デコードされると、局所ループの開始アドレス、すなわ
ち局所ループ命令アドレス後のアドレスが、例えばP装
置108に配置されているブロック繰返し開始アドレス
0(RSA0)レジスタに記憶される。ループの最初の通
過後に、読取りプログラム・カウント(RPC)はルー
プに再入するためRSA0の内容をロードされる。局所
ループの最後の命令の位置はオフセットを用いて計算さ
れ、その位置は、例えばP装置108にこれも配置して
もよいブロック繰返し終了アドレス0(REA0)に記憶
される。2個の繰返し開始アドレス・レジスタと2個の
繰返し終了アドレス・レジスタ(RSA 0550、RS
A1551、REA0、REA1)がネストされたループ
用に提供される。2より大きいネスト・レベルに対して
は、先行する開始/終了アドレスはスタックレジスタに
プッシュされる。これら4個のレジスタに加えて、ブロ
ック繰返し制御回路も2個のブロック繰返しカウント
(BRC0/BRC1)レジスタと関係する制御回路と
を含む。
ループの集中的繰返しに起因する相当量のプロセッサ実
行サイクルを生じる。本実施例では、これらのループの
大部分は、コードが命令バッファから直接実行され外部
メモリからのフェッチは減勢されている「局所繰返し」
として管理可能である。これは図18を参照してより詳
細に説明される。これらの局所繰返しループはアルゴリ
ズムの性質により駆動される限定数の命令を含むため、
電力消費を最小化するために全機能装置又は機能装置の
1つ以上の区画又は制御回路を選択的に減勢する機会が
ある。これは、コンパイル/アセンブリ過程時又はマイ
クロプロセッサ内で回路を監視することによるループの
第1繰返し時に、命令のブロック繰返し本体をプロファ
イルすることにより実施可能である。
所繰返し命令とIBQ内に完全には適合不可能であるブ
ロック用の一般ブロック繰返し命令の両方を有する。大
きな繰返しブロックはハードウェア・リソースの限定さ
れた組を使用する可能性が小さいため、繰返しループ・
プロファイリングは局所繰返し命令と関係する。しかし
ながら、本発明の特徴は、局所繰返しそれ自体を含ま
ず、例えば一般ブロック繰返し命令のみを有する実施例
にも有用である。そのような実施例では、例えばブロッ
ク長を決定し短いブロックのみに繰返しプロファイリン
グを起動するよう検査を実施可能である。
時、ブロック内の命令の解析を基に繰返しプロファイル
・パラメータが形成され、即時オペランドとして局所ブ
ロック命令に添付される。標準的には、減勢可能である
選択区画を指定するために余分な1バイトで十分であ
る。
施する時、命令のブロックの第1繰り返しの実行から命
令のそのブロックを実行するのに必要なハードウェア・
リソースが決定される。次いで第2から最後の繰返しま
で不用なハードウェアと関係する制御デコード論理部が
減勢、又は禁止可能である。
である。本発明の特徴は、命令デコーダが命令群を基に
多数の区画に区画分け可能である点である。例えば、図
9では5命令群、901−905の命令組900が図示
されている。繰返しブロック内で使用される命令に応じ
て、1つ以上の命令群が表示されなくともよい。例え
ば、第1繰返しループ時には、命令のブロックは群90
2と904内のみの命令から構成される。群901、9
03と905内の命令は使用されない。それ故、デコー
ドされる必要のないこれらの未使用命令群又はアドレシ
ング・モードと関係するデコード論理部は、それ故命令
のこの第1ブロックの繰返し実行時に減勢される。以後
の繰返しループは、異なる命令群が表示されない命令の
ブロックを有することもある。これらの異なる未使用命
令群と関係する異なるデコード論理部はそれ故以後の命
令のブロックの繰返し実行時に減勢される。この方式
は、デコード・ハードウェアにより見られる動的な命令
組を最小に保持しつつ、柔軟性とコード寸法最適化をコ
ード化する大規模DSP命令組のトレードオフを可能と
する。
しループ内で使用を許可されていない、goto、call、sw
itch、intr(ソフトウェア割込み)、trap、reset、及
びidleを含む、制御流れ命令の組が定義される。局所ル
ープでは本質的に不正である制御流れ命令はループの実
行時にはデコードされる必要はない。それ故、この命令
組を別の区画に配置するよう命令デコード・ハードウェ
アを区画分けすることにより、ブロック繰返しプロファ
イル・パラメータに係らず局所繰返しループ実行時に相
当量のゲートを停止可能である。
ファイル・パラメータのサポートを提供しない;しかし
ながら、命令がパイプライン中で実行される間命令デコ
ーダの残りの部分が命令のブロックをデコードしている
間、命令のブロックを繰返し実行する段階時に命令の本
質的に禁止されている群に対応する命令デコーダの区画
の動作を禁止することにより、電力消費を減少できる。
し命令に添付される繰返しプロファイル・パラメータの
命令コード化を図示する。
プロファイル・パラメータに責任を負わない。このパラ
メータは、プログラマからの助け又は指令なしで、本実
施例のアセンブラにより、又は別の実施例ではハードウ
ェアを監視することにより決定される。
可能であることを認識するであろう。本実施例では、繰
返しプロファイル・パラメータは繰返し局所命令に添付
される。しかしながら、当業者は、繰返しプロファイル
・パラメータは繰返しループのプロローグ命令として動
作する任意の命令に添付又は関係してもよいことを認め
る。例えば、他の実施例では繰返しプロファイル・パラ
メータは、関係繰返しループの実行の前に実行用のアセ
ンブラによりマシン読取り可能命令ストリームに挿入さ
れるロード命令により渡される。
ロセッサ100の命令実行パイプラインをさらに詳細に
図示するブロック線図である。本実施例の命令デコーダ
は階層的である。命令デコードの第1レベルはDECO
DEパイプライン段と関係し、区画802a−e、と5
12により表される。命令デコードの第2レベルはAD
DRESSパイプライン段と関係し、区画810a−
c、812a−c、820a−c及び822a−cを有
する命令デコード・ハードウェア808により表され
る。各命令デコーダ区画は命令群と関係する。図9に図
示した命令群と図10に図示した区画は図解用に簡略化
されている。本発明の各種の実施例は本明細書で図示す
るものより多少の命令群とデコーダ区画を有してもよ
い。
22に受取られ次いでデコードされる。DECODEパ
イプライン段でデコーダ512により抽出された命令形
式は命令#1/命令#2境界と制御マルチプレクサ52
1を定義する。命令#1と命令#2は次いで、ADDR
ESS段の各形式に従って別々の命令レジスタ805、
806にロードされることにより分離される。DECO
DE段で、制御流れ命令は区画802aによりデコード
され、繰返し命令は区画802bによりデコードされ、
ソフト・デュアル命令は区画802cによりデコードさ
れ、アドレス・モードは区画802dによりデコードさ
れ、そしてスタック・ポインタ制御命令は区画802e
によりデコードされる。
レベル命令デコーダ808は、命令対を処理するのにど
のデータ装置リソースが必要であるかを決定する。デー
タ装置38,40、及び42が命令対を処理するのに必
要である。データ装置38、40および42が図解用に
与えられている。各種の実施例は追加の又は少ないデー
タ装置を有してもよい。電力消費を減少するため現在の
命令対実行に不用であると決定されたデータ装置は停止
される。これは、制御ハードウェア831、832、及
び/又は833のクロックをゲートすることにより前の
データ・オペランド選択と前の演算制御を保持すること
で実行され、従って不用な装置内では信号転移は発生し
ない。READパイプライン段の不用な装置と関係する
局所デコード・ハードウェアも停止される。
が前記装置と関係する命令群内にある場合、局所繰返し
プロファイリング方式は、与えられたループ実行に不用
であるデータ・リソースの予想を可能とし、各段階のデ
コードを避けられる。繰返し局所命令の即時オペランド
として与えられた繰返しプロファイル・パラメータは繰
返しプロファイル・レジスタ800に記憶される。それ
故、命令デコーダ808内の識別された区画は関係ルー
プの繰返し実行時に繰返しプロファイル・パラメータに
応答して禁止される。
リング方式はまたDECODEパイプライン段のデコー
ド・ハードウェアの選択された区画の停止も可能とす
る。しかしながら、上述したように、局所繰返し本体内
では不正である全ての制御流れ(goto、call、…)はデ
コードする必要はない。それ故、繰返しプロファイル・
パラメータが与えられているかどうかに係らず、区画8
02cの関係ハードウェアは全ループ実行時に停止可能
である。
た局所ループ繰返し又は単一の繰返し命令を含むかどう
か決定可能である。ネストがない時、「局所繰返し&繰
り返し」デコードと関係するハードウェア区画802b
は全ループ実行時に停止可能である。
インタ関連命令(push()、pop()…)を含むかどうか決
定可能である。スタックポインタ関連命令がない場合、
「push()・pop()族」デコードと関係するハードウェア
区画802eは全ループ実行時に停止可能である。
ュアル又はビルトイン・デュアル命令を含むかどうか決
定可能である。命令抽出ハードウェアとアドレス発生器
制御はこの静的構成を利用してゲート活動ハードウェア
区画802cを減少可能である。
800とプロファイル・マスク1101を含む、プロセ
ッサのブロック繰返し制御回路1100をより詳細に図
示するブロック線図である。繰返しプロファイル・レジ
スタ800は繰返し局所命令により与えられる繰返しプ
ロファイル・パラメータをロードされる。ループ・ネス
ティングの場合、2つのオプションが可能である。第1
オプションでは、プロファイルは外部及び内部ループの
両方により必要とされるリソースに従って決定される。
第2オプションでは、外部ループと内部ループがそれ自
体のプロファイルを有し、レジスタ800はマスク11
01に含まれるマルチプレクサ又はその他の手段により
選択可能な2つのレジスタを含む。次いでプロファイル
は有限ステートマシン(FSM)1104によりスタッ
クとして管理される。プロファイルはブロック繰返しの
能動レベルに従って切替えられる。この方式は良好なグ
ラニュラリティ(granularity)を与えるが、余分なハ
ードウェアを必要とする。
と、又はループ実行が割込まれた場合直ちにFSM11
04に応答してプロファイルはマスク1101によりマ
スクされる。割込みサービス・ルーチン(ISR)から
の復帰時に、プロファイルはアンマスクされ能動とな
る。これによりISR時には全命令組が能動に設定され
る。
の動作を禁止するためにマスク回路1101からのプロ
ファイル信号1110a−nがマイクロプロセッサの各
種ハードウェア区画に与えられる。例えば、プロファイ
ル信号1110aは命令デコーダ区画1102cに与え
られる。同様に、マスク1101からのその他のプロフ
ァイル信号はDECODE段のその他の区画に与えられ
る。1102bのようなある種の区画は、常に付勢され
ている必要があり、プロファイル信号には応答しない。
上述したように、制御流れ区画802aのようなある種
の区画は、デコード区画802bからのデコード信号1
111により指示される、局所ループが実行されている
時は常にプロファイル・パラメータに係らず減勢され
る。FSM1104からの禁止信号1112はデコード
信号1111に応答してアサートされる。
ァイル・パラメータ・ビットにより定義されるグラニュ
ラリティと整合する。禁止、又は停止は、デコード論理
の第1段(特別なゲート又は特別な入力)上の各プロフ
ァイル信号の特別な信号入力により処理される。この停
止制御はループ実行時の静的信号として見ることが可能
である。これは不用な転移又はグリッチの論理を通した
伝播を避ける。プロファイル情報は他の実施例では、従
来の設計ではこれがゲート化クロック付勢信号の速度路
を発生するであろうクロック制御によりDフリップフロ
ップ(DFF)又はラッチを停止するよう使用されても
よい。
ジスタ1120はデコーダ808のADDRESS段区
画のプロファイル信号のタイミングを保持する。ADD
R段で実施される停止は特別な制御なしに読取り段デコ
ーダ区画へ伝播される。また、各種のプロファイル信号
は、ゲート1140のような論理ゲートにより組合され
て、プロファイル信号の組合せと入替を作成して各種の
ハードウェア区画を禁止してもよい。
タ522を含む、プロセッサのブロック繰返し制御回路
をさらに詳細に図示する本発明の他の実施例のブロック
線図である。繰返しプロファイル・レジスタ1200は
繰返し局所命令により与えられる繰返しプロファイル・
パラメータをロードされる。命令のブロックの局所繰返
しの実行が開始されると直ちにFSM1204に応答し
てマスク1201によりプロファイルはアンマスクされ
る。命令のブロックの局所繰返しが完了すると、又はル
ープ実行が割込まれた場合に直ちにFSM1204に応
答してプロファイルはマスク1201によりマスクされ
る。
れたプロファイル・パラメータはループ本体の最大長命
令形式を識別可能である。命令レジスタはいくつかの区
画1230−1235に区画分けされる。次いでハード
ウェアは不用な命令レジスタ区画を選択的に禁止して命
令レジスタ寸法をしかるべく調節可能である。クロック
信号IRLOADは命令レジスタ522にマルチプレク
サ520により命令バッファ(図5を参照)から選択さ
れた新たな命令をロードする。ゲート1220−122
3の各々は、クロック信号IRLOADと組合されたマ
スク1201を介してパラメータ・レジスタ1200か
らプロファイル信号を受信し、命令のブロックの繰返し
実行時に命令レジスタ522の選択区画のローディング
を禁止する。例えば、与えられたブロック繰返しで実行
される全命令の最大長が5バイトであると決定された場
合、クロック信号IRLOADがANDゲート1220
を通過することを禁止され、これにより命令レジスタ区
画1230のクロックを禁止するようにして、与えられ
たブロックの実行時にプロファイル信号1210aを低
にアサートさせる繰返しプロファイル・パラメータによ
り区画1230が禁止される。同様に、最大命令形式が
4バイトであるものと決定された場合、命令の関連ブロ
ックの繰返し実行時にプロファイル信号1210aとプ
ロファイル信号1210bの両方が低にアサートされて
区画1230と1231のクロックが禁止される。ブロ
ックは少なくとも2バイト命令を常に有しているため、
区画1234と1235は関係する禁止回路を有しな
い。当業者は、ANDゲート以外の手段を使用して、繰
返しプロファイル・パラメータに応答して選択した区画
を禁止可能であると理解できるであろう。
で、繰返しプロファイル・パラメータにより指示された
最大長命令形式に応答してマルチプレクサ520を区画
分けし選択区画を禁止可能である。
プログラムを書く人間が繰返しプロファイル・パラメー
タに責任を負わなくともよい点である。このパラメータ
は本実施例のアセンブラにより、又は別の実施例ではハ
ードウェアを監視することにより、プログラマからの助
け又は指令なしで決定される。図11と図12の実施例
を組合せ、1250に指示するように、プロファイル・
パラメータ・レジスタからのプロファイル信号の適切な
選択と接続により、単一の繰返しプロファイル・パラメ
ータが命令デコーダの選択区画とまた命令レジスタの選
択区画も禁止するようにしてもよい。
返しループによるプロセッサ100の動作を図示するタ
イミング図である。ループのネスティングの場合、2つ
のオプションが可能である:(1)外部及び内部ループ
の両方により必要とされるリソースに従って単一の複合
プロファイルが決定される、(2)外部ループと内部ル
ープがそれ自体のプロファイルを有する。プロファイル
は次いでスタックとして管理される。プロファイルはブ
ロック繰返しの能動レベルに従って切替えられる。第2
オプションは良好なグラニュラリティを与えるが、余分
なハードウェアを必要とする。再び図11を参照する
と、2個のプロファイル・レジスタ、PROFILE0
とPROFILE1が本実施例の800内に含まれる。
マスク1101はMASK0とMASK1を含む。11
01内のマルチプレクサ回路(図示せず)はFSM11
04に応答して動作して、一方がアンマスクされた時に
プロファイル信号1110a−nに選択されたプロファ
イル・パラメータを与える。
0は、第1オプションを使用して、ネストされたループ
時のプロファイル信号1110a−n(図11上)又は
1210a−n(図12上)の動作を図示する。内部及
び外部ループ両方を表す複合繰返しプロファイルが決定
され、外部ループと関係するプロローグ命令によりプロ
ファイル・レジスタに記憶される。前述したように、プ
ロローグ命令は時間スロット1310時にデコードされ
たループ命令であるか、又は例えばストア命令でもよ
い。内部ループの繰返し命令がプロファイル・パラメー
タを与える場合、これは無視される。ブロックの最初の
命令が実行を開始する時刻1311までプロファイルは
マスクされたままである。ネストされたループの実行の
全時間1304の間複合プロファイルはアンマスクされ
たままである。時間1312で、外部ループの最後の繰
返しが実行される。時刻1313で、最後の繰返しの最
後の命令が実行され、時間スロット1306に指示する
ように、プロファイルが再びマスクされる。
しの動作を表し、この場合時間スロット1304は命令
のブロックの繰返し実行を表し、時間スロット1312
は命令のブロックの最後の繰返しを表す。
0は、第2オプションを使用した、ネストされたループ
時のプロファイル信号1110a−n(図11上)又は
1210a−n(図12上)の動作を図示する。外部ル
ープを表す第1繰り返しプロファイルが決定され、外部
ループと関係するプロローグ命令によりプロファイル・
レジスタPROFILE0に記憶される。内部ループを
表す第2繰り返しプロファイルが決定され、内部ループ
と関係するプロローグ命令によりプロファイル・レジス
タPROFILE1に記憶される。前述したように、プ
ロローグ命令は時間スロット1350と1314時にデ
コードされた内部及び外部ループ命令でもよいし、又は
例えばストア命令でもよい。外部ループの最初の命令が
実行を開始する時間1311までプロファイルはマスク
されたままである。時間スロット1343と1345に
より図示する、外部ループの実行時には第1プロファイ
ルはアンマスクされたままである。時間1315で、内
部ループの最初の命令が実行を開始し、時間スロット1
344による図示される、内部ループの実行時にFSM
1104により第2プロファイルが選択される。実行は
内部ループから外部ループへ移動し、又逆も同様であ
り、対応するプロファイルはFSM1104により選択
される。時間線1340は明瞭にするため内部ループの
単一繰返しのみを図示しているが、当業者は内部及び外
部ループの複数繰返しが標準的には発生することを理解
できる。時間1316時に、内部ループの最後の繰返し
が実行される。時間1352時に、外部ループの最後の
繰返しが実施される。時間1313で、最後の繰返しの
最終命令が実行され、時間スロット1346に指示する
ように、プロファイルは再びマスクされる。
を用いたプロセッサ100での命令のブロックを繰返し
実行する際に関係する各段階を図示する流れ図である。
段階1400では、命令列の連続実行が実施されてい
る。「連続」という用語はジャンプ、分岐、呼出し、復
帰、等を含んでもよいことを理解すべきである。段階1
402で、未決のループと関係するプロローグ命令によ
りブロック繰返し制御回路が初期化される。これは例え
ば、ブロック繰返しカウント・レジスタのロードを含
む。これはまた繰返しプロファイル・レジスタのロード
を含んでもよい。段階1204と1206で、繰返し命
令がデコードされるまで連続実行が実施される。望まし
い実施例では、繰返し命令は、繰返して実行されるべき
命令の関連ブロックに対して決定された繰返しプロファ
イル・パラメータを与える。段階1408で、繰返しブ
ロック実行時には本質的に禁止される命令群に対応する
命令デコーダの区画が禁止される。
いない場合、段階1412時に監視回路が命令のブロッ
クの第1繰返しの実行を監視し、プロセッサのどの区画
が残りの繰返しに不用であるかを決定する。どちらの場
合でも、命令のブロックの実行に不用であるものと決定
されたその他のハードウェア区画と共に、段階1414
で命令デコーダの不用な区画が禁止される。命令のブロ
ックは段階1416、1418及び1422を繰返しル
ープすることにより実行される。段階1418で割込み
が検出された場合、ISRの実行時にはプロファイルは
マスクされるためISRは禁止された回路なしで実行可
能である。ISRからの復帰時にプロファイルは再びア
ンマスクされ、不用な区画を禁止するよう動作する。
返しが検査される。最後の繰返しを完了した後、プロフ
ァイルはマスクされ、段階1426で禁止回路区画なし
で連続実行が再開される。
ロックの実行時にプロファイルを決定する監視回路を図
示するブロック線図である。回路1500はプロセッサ
100のハードウェアの一部の区画を表す;これは本実
施例では命令デコーダの区画であるが、他の実施例では
例えば命令レジスタのようなプロセッサの他の部分の区
画を表してもよい。区画1500は命令レジスタ150
2から信号を受け取り、区画1500による活動を表す
1つ以上の出力信号を与える。監視回路1520は命令
のブロックの第1繰返し時に信号1510を監視する。
命令のブロック内に含まれる1つ以上の命令の間区画1
500が能動である場合、監視回路1520はこれに従
って設定される。繰返しの終了時に、プロファイル・レ
ジスタ1530は監視回路1520に従って設定され
る。命令のブロックの残りの繰返しの間、命令のブロッ
クの最初の繰返し時に区画1500が使用されなかった
場合、プロファイル信号1531に応答して、ANDゲ
ート1532は区画1500を通る信号の伝播を禁止
し、これにより電力消費を減少させる。当業者は、AN
Dゲート1532は区画1500を禁止する回路の単な
る代表であることを認識可能である。本発明の特徴を実
施するため禁止回路の各種の実施例が当業者により容易
に得られる。
の実行時に図15の監視回路の動作を図示するタイミン
グ図である。時間スロット1600時に、命令のブロッ
クの第1繰返しが実行される。図16は3個のハードウ
ェア区画、簡単のため、1620の装置x、1621の
装置y、及び1622の装置zの動作を図示する。16
20と1621の影付き領域は、第1繰返し時に装置x
と装置yは命令のブロック中の1つ以上の命令により使
用されたことを示す。しかしながら、1622の影なし
は、第1繰返し時に装置zは使用されていないことを示
す。それ故、第1繰返しの終了時に監視回路の設定は、
装置xと装置yは必要であるが、装置zは不用であるこ
とを決定する。時間1612に、繰返しプロファイル・
レジスタは監視回路に応答してプロファイル・パラメー
タにより設定される。時間スロット1602により示さ
れる命令のブロックの残りの繰返し時には、プロファイ
ル・パラメータに応答して装置zは禁止されて電力消費
を減少させる。
力消費を減少するため区画分け可能で命令のブロックの
繰返し実行時に選択的に禁止可能なプロセッサ100の
いくつかのその他の部分がある。例えば、1実施例で
は、ループ本体がADDRESSパイプライン・スロッ
トの初期化又はレジスタファイルのスワップを実行する
命令を含むかどうかプロファイルは指示可能である。全
ループ実行時に関係するハードウェア(図示せず)は停
止可能である。
ポインタと関係する命令を含むかどうかプロファイルは
指示可能である。全ループ実行時に関係するハードウェ
ア(図示せず)は停止可能である。
10に含まれる3個の内2個のアドレス発生器のみを必
要とする場合、不用なアドレス発生器は停止可能であ
る。
を気にしない場合、状態更新回路(図示せず)はブロッ
ク繰返しの実行時に禁止可能である。
に命令並列性が利用不能であると決定された場合、命令
レジスタ806と全ての関係制御回路が禁止可能であ
る。同様に、例えば、サイクル当り6から8命令がディ
スパッチ可能であるVLIWアーキテクチャでは、命令
のブロックの繰返し実行時には前記並列性は必ずしも完
全に利用可能ではない。局所繰返しプロファイルは実行
必要性に従ってハードウェアを調節する手段を有利に提
供可能である。例えば、ループ内で並列命令の最大数が
4である場合、プロファイルは不用なハードウェアを停
止するためループ実行の前にこの情報を渡すことが可能
である。
る。プロセッサは異なるデータ型式:8ビット、16ビ
ット、及びデュアル16ビットをサポートする。その他
の実施例は例えば浮動小数点をサポートしてもよい。デ
ータ路は切片として区画分けされ、命令のブロックによ
り必要とされるデータ路区画のみが命令のブロックの繰
返し実行時に能動となり得る。
クの実行時にどの区画が必要とされるかを決定すること
により繰返しプロファイル・パラメータを形成する際に
関係する各種の段階を図示する流れ図である。段階17
00では、初期アセンブリ・タスクが実行される。本明
細書で使用するように、用語「アセンブラ」は、例えば
コンパイルと増分コンパイルを含む、人間が読取り可能
なプログラムをマシン読取り可能命令列に変換する任意
の手段を意味する。アセンブラ動作は一般的に公知であ
り本明細書ではこれ以上説明しない。段階1702で、
各マシン読取り可能命令実行可能形式に対して項目を有
する表が作成される。各項目は関係する命令の実行にど
の選択可能なハードウェア区画が必要であるかを指示す
るパターンを含む。例えば、パターンは命令デコーダの
区画に対応する特定の命令群を指示してもよい。パター
ンは選択されたプロセッサとそのプロセッサによりサポ
ートされるハードウェア区画分けに応じて、命令長、ア
ドレス・モード、等を指示してもよい。
ンブリ技術を使用してソースコードは一連のマシン読取
り可能命令に変換される。段階1706と1708で、
各マシン読取り可能命令を検査してこれが繰返し命令で
あるかどうかを決定する。繰返し命令が捜し出される
と、段階1710で繰返し命令と関係する命令のブロッ
クの最初の命令が識別され、最初の命令の群パターンが
アクセスされ初期プロファイル・パラメータとして使用
される。段階1712と1714で、ブロックの各以後
の命令が検査され、各々と関係する群パターンが初期繰
返しプロファイル・パラメータと組合される。命令のブ
ロックの最後の命令が検査され、その群パターンがプロ
ファイル・パラメータに含まれると、プロファイル・パ
ラメータは命令のブロックと関係するプロローグ命令に
関係付けられる。望ましい実施例では、プロファイル・
パラメータは表2に示されるように繰返し命令に添付さ
れる。
命令が完全に処理されるまで処理は続行し、命令の追加
ブロックと関係するプロファイル・パラメータが形成さ
れる。段階1720で既知のアセンブリ技術を使用し
て、アセンブリ処理は完了する。完了したアセンブリ処
理は、命令の各繰返し可能ブロックが添付繰返しプロフ
ァイル・パラメータ付きの繰返し命令のような、プロロ
ーグ命令を有する一連のマシン読み取り可能命令を与え
る。
望ましい実施例の局所ループ命令流れがさらに詳細に説
明されている。局所ループ繰返しは、第1パイプライン
・スロット602のDECODE段に示したブロック繰
返しカウント(BRC0/BRC1)を局所ループの繰
返し数で初期化することにより設定され、次いで次ぎの
スロット604で局所ループ命令(RPTL)自体がデ
コードされる。BRC0(又はBRC1)がゼロでない
場合BRC0/BRC1はループの最後の命令の各繰返
しで減算される。オプションとして最大繰返し値を定義
し、カウンタをゼロに初期化することにより局所ループ
繰返しを増加に設定してもよいことは当業者には明らか
である。この時カウンタはループの最後の命令の各繰返
しで増分可能である。減分又は増分は1以外のステップ
でもよい。スロット602と604で、プログラム・カ
ウンタは値「PC」へ4バイトだけ増加し、さらに2命
令語がIBQ502にフェッチされ、従ってスロット6
02、604当り2命令語がIBQ502にフェッチさ
れる。スロット602ではIBQ502で利用可能な語
504の数は2で、図18のCountとラベル付けし
て示されている。IBQ502で利用可能な語数はLR
PC536とLWPC532との間の差により与えられ
る、何故ならこれらは現在ディスパッチされている命令
とIBQ502に次ぎの命令を書込む位置を各々指して
いるからである。本発明の目的上、BRC0/BRC1
を初期化する命令は例えば1語16ビット命令であり、
BRC0/BRC1=DAxは並列性を含んでいないた
め、16ビット初期化命令のみがスロット602で第1
又は第2命令デコーダ512、514にディスパッチさ
れる。
C」へ4だけ増加し、さらに2x16ビット命令語50
4がIBQ502にフェッチされる。IBQ502で利
用可能な命令語504の数は今や3である、何故なら前
のスロット602ではBRC0/BRC1を初期化する
1語命令のみがディスパッチされたからである。
で開始し、ここで命令L0、L1の第1並列対がデコーダ
512、514にディスパッチされる。IBQ502で
利用可能である命令語504の数は今や4である。これ
は、本実施例では局所ループ命令は16ビット命令のみ
であり、それ故前のスロット604で1語504のみが
デコーダ512にディスパッチされたからである。
は出来る限り並列に実行される。本例では、ループの本
体を含む全命令は並列に実行可能であるものと仮定す
る。これはループの本体の第1パス時に2つの不用スロ
ット、610、612を生じるが、残りの繰返しに高速
度を生じる。
行可能であり、全体で48ビットを含み、従って3命令
語504が各デコード段でデコーダ512、514にデ
ィスパッチされる。繰返しブロックの開始、サイクル6
06では、2つの命令L0とL1がデコーダにディスパッ
チされ、LRPC536とLWPC532との間の差は
4である。サイクル608で、さらに2命令語がIBQ
にフェッチされるが、3語がディスパッチされる。
って3語を移動し、LWPC532はIBQ502に沿
って次ぎのフェッチ位置へ2語を移動する。従って、L
WPC532とLRPC536との間の差は次ぎのスロ
ット608用に3へ1つだけ減少される。再び、次ぎの
2命令L2、L3は並列に実行可能であり、全体で48ビ
ットを含むものと仮定すると、LRPC532は次ぎの
スロット610用にIBQ502に沿って3語を移動す
る。プログラム・プリフェッチは1スロット、この場合
はスロット608に対して停止していて、それ故このス
ロットでは命令語はIBQ502にロードされない。従
って、スロット610ではLRPC536とLWPC5
32は同じIBQ502アドレスを指し、Count=
0である。IBQ502のディスパッチ用に利用可能ビ
ットがないため、スロット610はデコード用に不用な
スロットである。しかしながら、スロット610時に2
命令語がIBQ502にフェッチされLWPC532を
IBQに沿って2語だけ移動し、それ故スロット612
用に利用可能な2命令語がある。しかしながら、次ぎの
2命令、L4、L5が48ビットを含む並列命令である場
合、スロット612ではディスパッチがなく、さらに不
用なスロットがある。
用可能な全体で4命令語504があり、48ビットを含
む命令L4、L5がデコーダ512、514にディスパッ
チされる。スロット614の間にさらに2命令語504
がIBQ502にフェッチされる。WPCはここで2x
命令語504の16パケットだけ増加され、従ってIB
Q502はいっぱいで、全てのループ本体がフェッチさ
れる。従って、理解出来るように、スロット616のW
PCカウントはプリフェッチでPC+16に留まり、し
かし別の2語504がスロット614のプリフェッチか
ら生じてIBQ502にフェッチされる。
502にフェッチされて、IBQには利用可能な32語
がある。これはIBQ502の最大寸法であり、従って
ループのさらなる繰返しを形成する以後のスロット61
8、620ではフェッチはオフされる。
を避けるようIBQ502に注ぎ足すため、スロット6
26でフェッチはオンに切換わる。
最後の繰返しを除いて、パイプライン・フェッチ段はな
い。従って、プログラム・メモリアクセスはない。より
少ないプログラム・メモリアクセスが実施されるため、
従来のループと比較してこれはループ時に電力消費を減
少させる。
ロプロセッサは、全てが命令バッファ・キュー502に
収められる命令の組による繰返しループを与える局所繰
返し命令に応答するよう構成される。再び図5を参照す
ると、IBQ502は64バイト長であり32x16ビ
ット語に構成される。命令はIBQ502に一時に2語
づつフェッチされる。さらに、命令デコーダ制御器はパ
イプラインの各デコード段に対して命令デコーダ512
と514に6プログラムコード・バイトまでのパケット
を読取る。ループの開始と終了、すなわち最初と最後の
命令は、IBQ502にフェッチされたプログラムコー
ドの4バイト・パケット内の任意のバイト境界に該当し
てよい。従って、開始(最初)及び終了(最後)命令は
必ずしもIBQ502の先頭と底部とに共終結する必要
はない。例えば、局所ループ命令が4プログラムコード
のパケットの境界上の2バイトに跨っている場合、4プ
ログラムコードの両方のパケットをIBQ502に保持
しなければならない。これを考慮に入れるため、局所ル
ープ命令オフセットは最大55バイトである。
体のプログラムコードはIBQ502にロードされ通常
のように実行される。しかしながら、以降の繰返しに対
しては、フェッチが再開始される最後の繰返しまで、フ
ェッチは生じない。
を最大化するためにマイクロプロセッサはIBQ502
で命令語を整合するよう設定される。命令語の整合は局
所ループの開始及び終了命令を出来る限りIBQ502
の各境界に近接して配置するよう動作してもよい。アセ
ンブラの実施例はIBQ502での命令の整合を設定し
て局所ループのブロック寸法を最大化する。
0の製造は、半導体基盤に各種の不純物を打ち込み、基
盤内の選択深さまで不純物を拡散させてトランジスタ素
子を形成する複数段階を含む。不純物の配置を制御する
ためマスクが形成される。電導材と絶縁材の複数層が蒸
着され各素子を相互接続するためにエッチングされる。
これらの段階はクリーンルーム環境で実行される。
分は検査に関係する。ウェファ形式の間に、個々の素子
にバイアスをかけて動作状態にし、基本動作機能性のプ
ローブ検査を行なう。ウェファは次いで、裸のダイとし
て販売されるか又はパッケージされてもよい別々のダイ
スに分離される。パッケージ後、完成した部品は動作状
態にバイアスされて動作機能性を検査される。
機能の全体ゲート数を減少するために本明細書で開示し
た回路と組合されるその他の回路を含んでもよい。当業
者はゲート最小化の技術を熟知しているため、このよう
な実施例の詳細は本明細書では説明しない。
ラミングを提供する、プログラム可能なディジタル信号
プロセッサ(DSP)であるプロセッサを説明して来
た。アーキテクチャと命令組は、純粋な制御タスクと共
に、無線電話のような、DSPアルゴリズムの低電力消
費と高効率実行用に最適化されている。プロセッサは命
令バッファ装置と、命令バッファ装置によりデコードさ
れた命令を実行するデータ計算装置とを含む。命令は、
暗黙の並列性に応答して又はユーザー定義の並列性に応
答して、並列的に実行可能である。
区画分けは命令ループの実行時に1つ以上のデコーダ区
画をアイドルのままにすることを可能とする。結果とし
て、マイクロプロセッサによる電力消費の対応する減少
がある。都合のよいことに、プロセッサのその他の部分
の区画分けと選択区画の動作の禁止はプロセッサの電力
消費をさらに減少する。
更を行なってもよいことが当業者には明白である。例え
ば、ループの本体を含む命令は完全な48ビット並列命
令である必要はなく、又は全く並列命令である必要もな
い。さらに、ループはIBQの全てを引き受ける必要は
なく、上述したものより小さくともよい。他の実施例で
は、IBQは設けられない。別の実施例では、命令デコ
ーダは多数のパイプライン段上で区画分けされてもよい
し、又は1つのパイプライン段内に完全に含まれてもよ
い。
ステムを操作する方法が提供され、この方法は、マイク
ロプロセッサの一部を複数個の区画に区画分けする段階
と;マイクロプロセッサの命令パイプライン内の一連の
命令を実行する段階と;一連の命令内の命令のブロック
を繰返し実行する段階と、ここでブロックは最初の命令
と最後の命令とを有し;複数個の区画の内の少なくとも
1つが命令のブロックを実行するのに必要ないことを決
定する段階と;命令のブロックを繰返し実行する段階時
に少なくとも一つの区画の動作を禁止する段階と、を含
み、これにより電力消散を減少する。
階は、異なる命令長に従ってマクロプロセッサの命令レ
ジスタを区画分けする段階を含み;決定する段階は、命
令のブロック内の命令の最大命令長を決定する段階を含
み;禁止する段階は、決定した最大命令長に従って1つ
以上の命令レジスタ区画のロードを禁止する段階を含
む。
階は、並列命令実行に従って命令パイプラインを区画分
けする段階を含み;決定する段階は、命令のブロック内
の命令の最大命令並列性を決定する段階を含み;禁止す
る段階は、1つ以上の並列命令実行区画を禁止する段階
を含む。
階は、データ型式に従ってマイクロプロセッサの一部を
区画分けする段階を含み;決定する段階は、命令のブロ
ック内で使用されない1つ以上のデータ型式を決定する
段階を含み;禁止する段階は、1つ以上のデータ型式区
画を禁止する段階を含む。
は、命令のブロック内で状態回路の更新が必要とされな
いことを決定する段階を含み;禁止する段階は、状態回
路の更新を禁止する段階を含む。
階は、アドレスモードに従ってマイクロプロセッサのア
ドレス発生回路を複数個の区画に区画分けする段階を含
み;決定する段階は、命令のブロック内で使用されない
1つ以上のアドレスモードを決定する段階を含み;禁止
する段階は、1つ以上のアドレス発生区画を禁止する段
階を含む。
は、命令のブロックの最初の繰返しの実行をまず監視
し、これにより繰返しプロファイル・パラメータを得る
段階をさらに含む。
イル・パラメータを記憶する段階は、内部ループを表す
第1繰返しプロファイル・パラメータを記憶する段階と
外部ループを表す第2繰返しプロファイル・パラメータ
を記憶する段階とを含み;禁止する段階は、内部ループ
の実行時にはマイクロプロセッサの第1区画の動作を禁
止する段階と、外部ループの実行時にはマイクロプロセ
ッサの第2区画の動作を禁止する段階とを含む。
を繰返し実行する段階に割込んで割込みサービス・ルー
チン(ISR)を実行する段階と;マイクロプロセッサ
の全区画がISRの実行時には付勢されるよう区画禁止
をマスクする段階と;ISRの実行を完了した後に命令
のブロックの繰返し実行に復帰する時区画禁止をアンマ
スクする段階と、を含む。
クする段階は、繰返しプロファイル・パラメータをマス
クする段階を含む。
ッサ内の電力管理の他の技術と組合せてプロセッサの電
力消費をさらに減少させてもよい。例えば、ループ中の
命令によって機能装置が使用されない場合各種の機能装
置をループ実行時に待機モードに置いてもよい。
明と関係するかどうか、又は本発明により指摘された任
意の又は全ての問題を緩和するかどうかに係らず、明示
的に又は暗黙に又は一般化されてここに開示した新規の
特徴又は機能の組合せを含む。
れた」、「接続された」及び「接続」は、別の要素が電
気的接続路にある場合も含む、電気的接続を意味する。
「関係する」は、関係するポートにより制御されている
メモリ・リソースのような、制御関係を意味する。用
語、アサート、アサーション、デアサート、デアサーシ
ョン、ニゲート及びニゲーションは、アクティブ・ハイ
及びアクティブ・ローの混合を取扱う時に混乱を避ける
ために使用される。アサートとアサーションは、信号が
アクティブとなっている、又は論理的に真であることを
指示するために使用される。デアサート、デアサーショ
ン、ニゲート及びニゲーションは、信号が非アクティブ
となっている、又は論理的に偽であることを指示するた
めに使用される。
たが、この説明は限定的な意味で解釈される意図のもの
ではない。本発明のその他の各種の実施例はこの説明か
ら当業者には明らかである。例えば、本明細書で記述し
たように、プロセッサの各種部分を区画の組に区画分け
可能である。与えられた実施例では、1組以上の区画を
与えて、単一の又は複数繰返しプロファイル・パラメー
タにより制御可能である。
る。 (1)ディジタル・システムを操作する方法において、
マイクロプロセッサの一部を複数個の区画に区画分けす
る段階と、マイクロプロセッサの命令パイプライン内で
一連の命令を実行する段階と、一連の命令内の命令のブ
ロックを繰返し実行する段階であって、ブロックは最初
の命令と最後の命令とを有する、前記実行する段階と、
複数個の区画の内の少なくとも1つが命令のブロックを
実行するのに必要ないことを決定する段階と、命令のブ
ロックを繰返し実行する段階時に少なくとも1つの区画
の動作を禁止し、これにより電力消散を減少する段階
と、を含むディジタル・システムを操作する方法。 (2)第1項記載の方法において、決定する段階は、命
令のブロックを実行するために必要とされない少なくと
も1つの区画を指示する繰返しプロファイル・パラメー
タを記憶する段階を含む方法。 (3)第1項及至第2項のいずれか記載の方法におい
て、(イ)区画分けする段階は、命令デコーダの各区画
が命令群と関係付けられるように、命令デコーダを複数
個の区画に区画分けする段階を含み、(ロ)決定する段
階は、命令のブロック内に含まれない少なくとも第1群
の命令を指示する繰返しプロファイル・パラメータを記
憶する段階を含み、(ハ)命令デコーダの一部の動作を
禁止する段階は、第1群の命令に対応する命令デコーダ
の区画の動作を禁止する段階をさらに含む、方法。 (4)第1項及至第3項のいずれか記載の方法におい
て、禁止する段階は、パイプラインの第1段と関係する
命令デコーダの第1区画を禁止する段階と命令パイプラ
インの第2段と関係する命令デコーダの第2区画を禁止
する段階とを含む方法。 (5)第1項及至第4項のいずれか記載の方法におい
て、(イ)区画分けする段階は、命令デコーダの各区画
が命令群と関係付けられるように、命令デコーダを複数
個の区画に区画分けする段階を含み、(ロ)決定する段
階は、命令のブロックの繰返し実行時に実行されること
を本質的に禁止されている命令群を識別する段階を含
み、(ハ)禁止する段階は、命令のブロックを繰返し実
行する段階時に命令の禁止群に対応する命令デコーダの
区画の動作を禁止する段階を含み、その間命令デコーダ
の残りの部分は命令がパイプライン中で実行される間命
令のブロックをデコードする、方法。 (6)第1項及至第5項のいずれか記載の方法におい
て、決定する段階は、命令のブロックを繰返し実行する
段階の前にプロローグ命令と関係するパラメータとして
繰返しプロファイル・パラメータを最初に受取る段階を
さらに含む方法。
コード・プログラムをアセンブルして命令のブロック、
プロローグ命令及び関係する繰返しプロファイル・パラ
メータを含む一連の命令を作成する段階をさらに含み、
アセンブルする段階は、(イ)各命令の項目がその命令
を含む命令群を定義する群パターンを含むように、選択
されたマイクロプロセッサにより実行可能な各命令に対
して項目を有する命令表を作成する段階と、(ロ)ソー
スコードを一連の命令に変換する段階と、(ハ)プロロ
ーグ命令と関係する命令の繰返しブロックの最初の命令
と最後の命令を決定する段階と、(ニ)命令のブロック
中の各命令を表す命令表から選択された複数個の群パタ
ーンを組合せて、繰返しプロファイル・パラメータを形
成する段階と、(ホ)繰返しプロファイル・パラメータ
をプロローグ命令と関係付ける段階と、を含む方法。
ード・プログラムをアセンブルする方法において、一連
の命令は最初の命令と最後の命令を含む命令の繰返しブ
ロックを有し、各命令の項目がその命令を含む命令群を
定義する群パターンを含むように、選択されたマイクロ
プロセッサにより実行可能な各命令に対して項目を有す
る命令表を作成する段階と、ソースコードを一連の命令
に変換する段階と、第1プロローグ命令と関係する命令
の第1繰返しブロックの最初の命令と最後の命令を決定
する段階と、命令の第1ブロック中の各命令を表す命令
表から選択された複数個の群パターンを組合せて、第1
繰返しプロファイル・パラメータを形成する段階と、第
1繰返しプロファイル・パラメータを一連の命令中の第
1プロローグ命令と関係付ける段階と、を含む方法。 (9)第8項記載の方法において、第2プロローグ命令
と関係する命令の第2繰返しブロックの最初の命令と最
後の命令を決定する段階と、命令の第2ブロック中の各
命令を表す命令表から選択された複数個の群パターンを
組合せて、第2繰返しプロファイル・パラメータを形成
する段階と、第2繰返しプロファイル・パラメータを一
連の命令中の第2プロローグ命令と関係付ける段階と、
を含む方法。 (10)マイクロプロセッサを含むディジタル・システ
ムにおいて、マイクロプロセッサは、ディスパッチされ
た命令を実行する複数個の段を有するパイプラインと、
命令をデコードする命令デコーダであって、パイプライ
ンに制御可能に接続されており、命令デコーダは各複数
個の命令群に従って複数個の区画に区画分けされてい
て、区画の少なくとも一つは禁止入力を有する、前記命
令デコーダと、プロローグ命令に応答して命令のブロッ
クの繰返し実行を開始するブロック繰返し制御回路であ
って、前記ブロックは最初の命令と最後の命令を含む前
記ブロック繰返し制御回路と、を含み、命令デコーダは
ある種の命令群をデコードするよう動作可能であり、さ
らにブロック繰返し回路に応答して少なくとも一つの命
令群のデコードを禁止するよう動作可能であり、これに
より命令のブロックの繰返し実行時に命令デコーダによ
り消費される電力を減少する、ディジタル・システム。
テムにおいて、ブロック繰返し制御回路は、繰返しプロ
ファイル・パラメータを受取るように接続された繰返し
プロファイル回路であって、繰返しプロファイル回路の
出力は少なくとも1つの命令デコーダ区画の付勢入力に
接続されている前記繰返しプロファイル回路と、をさら
に含み、命令デコーダはある種の命令群をデコードする
よう動作可能であり、さらに繰返しプロファイル回路の
第1繰返しプロファイル・パラメータに応答して少なく
とも一つの命令群のデコードを禁止するよう動作可能で
ある、ディジタル・システム。 (12)第10項又は第11項記載のディジタル・シス
テムにおいて、命令デコーダの第1部分はパイプライン
の第1段と関係し、命令デコーダの第2部分はパイプラ
インの第2段と関係するように、命令デコーダは階層的
であり、命令デコーダの第1部分の少なくとも第1命令
デコーダ区画は繰返しプロファイル回路の第1出力に接
続された第1禁止入力を有し、命令デコーダの第2部分
の少なくとも第2命令デコーダ区画は繰返しプロファイ
ル回路の第2出力に接続された第2禁止入力を有する、
ディジタル・システム。 (13)第10項及至第12項のいずれか記載のディジ
タル・システムにおいて、繰返しプロファイル回路は命
令のブロックのプロローグ命令により与えられる繰返し
プロファイル・パラメータを受取るように接続されてい
るディジタル・システム。 (14)第10項及至第13項のいずれか記載のディジ
タル・システムにおいて、繰返しプロファイル回路は、
命令デコーダに結合された監視回路により与えられる繰
り返しプロファイル・パラメータを受取るように接続さ
れ、監視回路は命令の第1ブロックの第1繰返し時に命
令デコーダを監視するよう動作可能であり、これにより
命令の第1ブロック内に含まれない少なくとも第1群の
命令を指示する第1繰返しプロファイル・パラメータを
得るように動作可能である、ディジタル・システム。
記載のディジタル・システムにおいて、命令デコーダ
は、内部ループの実行時に第1命令群のデコードを禁止
し、外部ループの実行時に第2命令群のデコードを禁止
するよう動作可能であるように、繰返しプロファイル回
路は内部ループと外部ループを表す2つの繰返しプロフ
ァイル・パラメータを受取るように動作可能であるディ
ジタル・システム。 (16)第10項及至第15項のいずれか記載のディジ
タル・システムにおいて、実行装置へのディスパッチの
前にそこへ転送された命令のブロックを一時的に記憶す
る命令バッファと、をさらに含み、パイプラインは転送
用のプログラム・メモリから命令バッファへ命令をフェ
ッチする命令フェッチ段を含み、ブロック繰返し制御回
路はプログラム・メモリから命令バッファへ命令のブロ
ックの最終命令のフェッチ後、命令フェッチ段を禁止す
るよう動作可能である、ディジタル・システム。 (17)第10項及至第16項のいずれか記載のディジ
タル・システムにおいて、命令デコーダによりデコード
される前に各命令を保持する命令レジスタと、をさらに
含み、命令レジスタは命令のブロックの実行時に繰返し
プロファイル回路に応答して部分的に禁止されるよう動
作可能である、ディジタル・システム。 (18)第17項記載のディジタル・システムにおい
て、前記命令は可変長であるディジタル・システム。 (19)第10項及至第18項のいずれか記載のディジ
タル・システムにおいて、前記システムはセルラ電話を
含み、これは、キーボード・アダプタを介してプロセッ
サに接続された一体化キーボードと、表示アダプタを介
してプロセッサに接続された、表示部と、プロセッサに
接続された無線周波数(RF)回路と、RF回路に接続
されたアンテナと、を含むディジタル・システム。
個の区画に区画分けされているマイクロプロセッサとマ
イクロプロセッサの操作方法が提供される。一連の命令
がマイクロプロセッサの命令パイプライン内で実行され
る(1404、1406)。局所繰返し命令に応答して
(1406)一連の命令内の命令のブロックが繰返し実
行される(1416、1422)。命令のブロックを実
行する前(1410)か、又はループの第1繰返し時
(1412)のどちらかで、複数個の区画の内少なくと
も1つは命令のブロックを実行するのに必要ないことの
決定が行なわれる。電力消散を減少するために命令のブ
ロックの繰返し実行時に少なくとも一つの識別された区
画の動作が禁止される(1414)。
概略ブロック線図。
ーダ制御器の概略線図。
図。
サのコアの概略図。
命令実行パイプラインをさらに詳細に図示したブロック
線図。
命令実行パイプラインをさらに詳細に図示したブロック
線図。
む、プロセッサのブロック繰返し制御回路をさらに詳細
に図示するブロック線図。
セッサのブロック繰返し制御回路をさらに詳細に図示し
た別の実施例のブロック線図。
時の繰返しプロファイルの動作を図示するタイミング
図。
ロセッサでの命令のブロックを繰返し実行する際に関係
する各種の段階を図示する流れ図。
プロファイルを決定する監視回路を図示するブロック線
図。
図15の監視回路の動作を図示するタイミング図。
するかを決定することによりアセンブラによって繰返し
プロファイル・パラメータを形成する際に関係する各種
の段階を図示する流れ図。
ループ命令の実行を図示するタイミング図。
Claims (3)
- 【請求項1】 ディジタル・システムを操作する方法に
おいて、 マイクロプロセッサの一部を複数個の区画に区画分けす
る段階と、 マイクロプロセッサの命令パイプライン内で一連の命令
を実行する段階と、 一連の命令内の命令のブロックを繰返し実行する段階で
あって、ブロックは最初の命令と最後の命令とを有す
る、前記実行する段階と、 複数個の区画の内の少なくとも1つが命令のブロックを
実行するのに必要ないことを決定する段階と、 命令のブロックを繰返し実行する段階時に少なくとも1
つの区画の動作を禁止し、これにより電力消散を減少す
る段階と、を含むディジタル・システムを操作する方
法。 - 【請求項2】 一連の命令を作成するためソースコード
・プログラムをアセンブルする方法において、一連の命
令は最初の命令と最後の命令を含む命令の繰返しブロッ
クを有し、 各命令の項目がその命令を含む命令群を定義する群パタ
ーンを含むように、選択されたマイクロプロセッサによ
り実行可能な各命令に対して項目を有する命令表を作成
する段階と、 ソースコードを一連の命令に変換する段階と、 第1プロローグ命令と関係する命令の第1繰返しブロッ
クの最初の命令と最後の命令を決定する段階と、 命令の第1ブロック中の各命令を表す命令表から選択さ
れた複数個の群パターンを組合せて、第1繰返しプロフ
ァイル・パラメータを形成する段階と、 第1繰返しプロファイル・パラメータを一連の命令中の
第1プロローグ命令と関係付ける段階と、を含む方法。 - 【請求項3】 マイクロプロセッサを含むディジタル・
システムにおいて、マイクロプロセッサは、 ディスパッチされた命令を実行する複数個の段を有する
パイプラインと、 命令をデコードする命令デコーダであって、パイプライ
ンに制御可能に接続されており、命令デコーダは各複数
個の命令群に従って複数個の区画に区画分けされてい
て、区画の少なくとも一つは禁止入力を有する、前記命
令デコーダと、 プロローグ命令に応答して命令のブロックの繰返し実行
を開始するブロック繰返し制御回路であって、前記ブロ
ックは最初の命令と最後の命令を含む前記ブロック繰返
し制御回路と、を含み、 命令デコーダはある種の命令群をデコードするよう動作
可能であり、さらにブロック繰返し回路に応答して少な
くとも一つの命令群のデコードを禁止するよう動作可能
であり、これにより命令のブロックの繰返し実行時に命
令デコーダにより消費される電力を減少する、ディジタ
ル・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00400091.5 | 2000-01-14 | ||
EP00400091A EP1117031B1 (en) | 2000-01-14 | 2000-01-14 | Microprocessor with reduced power-consumption. |
US09/716,645 US6795930B1 (en) | 2000-01-14 | 2000-11-20 | Microprocessor with selected partitions disabled during block repeat |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001236226A true JP2001236226A (ja) | 2001-08-31 |
JP5133476B2 JP5133476B2 (ja) | 2013-01-30 |
Family
ID=33454274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001006832A Expired - Fee Related JP5133476B2 (ja) | 2000-01-14 | 2001-01-15 | マイクロプロセッサ |
Country Status (4)
Country | Link |
---|---|
US (1) | US6795930B1 (ja) |
EP (1) | EP1117031B1 (ja) |
JP (1) | JP5133476B2 (ja) |
AT (1) | ATE366958T1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009501961A (ja) * | 2005-04-04 | 2009-01-22 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 予測的なプロセッサコンポーネントサスペンドのためのシステム及びその方法 |
JP2009032257A (ja) * | 2001-12-13 | 2009-02-12 | Quicksilver Technologies Inc | 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ |
JP2011204208A (ja) * | 2010-03-26 | 2011-10-13 | Fujitsu Ltd | マルチコアプロセッサ |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898718B2 (en) * | 2001-09-28 | 2005-05-24 | Intel Corporation | Method and apparatus to monitor performance of a process |
GB2382672B (en) * | 2001-10-31 | 2005-10-05 | Alphamosaic Ltd | Repeated instruction execution |
US7305567B1 (en) * | 2002-03-01 | 2007-12-04 | Cavium Networks, In. | Decoupled architecture for data ciphering operations |
KR20040101344A (ko) * | 2002-04-19 | 2004-12-02 | 인터내셔널 비지네스 머신즈 코포레이션 | 마이크로프로세서, 인스트럭션 시퀀스 발생 방법 및 이를구현한 프로그램 디바이스 |
DE10221529A1 (de) * | 2002-05-14 | 2003-12-04 | Systemonic Ag | Verfahren zum gesteuerten Abschalten von Datenverarbeitungseinheiten |
EP1363179A1 (en) | 2002-05-17 | 2003-11-19 | STMicroelectronics S.A. | Architecture for controlling dissipated power in a system on a chip and related system |
US7146515B2 (en) * | 2002-06-20 | 2006-12-05 | International Business Machines Corporation | System and method for selectively executing a reboot request after a reset to power on state for a particular partition in a logically partitioned system |
AU2003267692A1 (en) * | 2002-10-11 | 2004-05-04 | Koninklijke Philips Electronics N.V. | Vliw processor with power saving |
US8276135B2 (en) * | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US7120804B2 (en) * | 2002-12-23 | 2006-10-10 | Intel Corporation | Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency |
US7194601B2 (en) * | 2003-04-03 | 2007-03-20 | Via-Cyrix, Inc | Low-power decode circuitry and method for a processor having multiple decoders |
US7539876B2 (en) * | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7519833B2 (en) * | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7529367B2 (en) * | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7925891B2 (en) * | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US8060755B2 (en) * | 2003-04-18 | 2011-11-15 | Via Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine |
US7532722B2 (en) * | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US7900055B2 (en) * | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7844053B2 (en) * | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7542566B2 (en) * | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US7529368B2 (en) * | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions |
US7536560B2 (en) * | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
US7502943B2 (en) * | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7039820B2 (en) * | 2003-04-24 | 2006-05-02 | International Business Machines Corporation | Method for detecting and powering off unused I/O slots in a computer system |
US7197655B2 (en) * | 2003-06-26 | 2007-03-27 | International Business Machines Corporation | Lowered PU power usage method and apparatus |
US7167989B2 (en) * | 2003-10-14 | 2007-01-23 | Intel Corporation | Processor and methods to reduce power consumption of processor components |
US7246219B2 (en) * | 2003-12-23 | 2007-07-17 | Intel Corporation | Methods and apparatus to control functional blocks within a processor |
EP1600845A1 (en) * | 2004-05-28 | 2005-11-30 | STMicroelectronics Limited | Processor with power saving circuitry |
US20060101256A1 (en) * | 2004-10-20 | 2006-05-11 | Dwyer Michael K | Looping instructions for a single instruction, multiple data execution engine |
US7669042B2 (en) * | 2005-02-17 | 2010-02-23 | Samsung Electronics Co., Ltd. | Pipeline controller for context-based operation reconfigurable instruction set processor |
US9582060B2 (en) * | 2006-08-31 | 2017-02-28 | Advanced Silicon Technologies Llc | Battery-powered device with reduced power consumption based on an application profile data |
US7804435B2 (en) * | 2006-08-31 | 2010-09-28 | Ati Technologies Ulc | Video decoder with reduced power consumption and method thereof |
FR2930355B1 (fr) * | 2008-04-18 | 2013-01-18 | Commissariat Energie Atomique | Procede de gestion de la consommation d'energie pour les systemes multiprocesseurs. |
US9280344B2 (en) * | 2012-09-27 | 2016-03-08 | Texas Instruments Incorporated | Repeated execution of instruction with field indicating trigger event, additional instruction, or trigger signal destination |
WO2014190263A2 (en) | 2013-05-24 | 2014-11-27 | Coherent Logix, Incorporated | Memory-network processor with programmable optimizations |
US9361027B1 (en) * | 2014-12-16 | 2016-06-07 | Texas Instruments Incorporated | System and method for fast modification of register content |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04293124A (ja) * | 1991-03-20 | 1992-10-16 | Hitachi Ltd | データ処理プロセッサ |
JPH07160585A (ja) * | 1993-12-13 | 1995-06-23 | Hitachi Ltd | 低電力データ処理装置 |
JPH09114660A (ja) * | 1995-10-18 | 1997-05-02 | Hitachi Ltd | データ処理装置 |
JPH10326129A (ja) * | 1997-05-23 | 1998-12-08 | Mitsubishi Electric Corp | 半導体装置 |
JP2000276351A (ja) * | 1998-10-06 | 2000-10-06 | Texas Instr Inc <Ti> | ローカル命令ルーピングを有するプロセッサ |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6145354A (ja) * | 1984-08-10 | 1986-03-05 | Nec Corp | マイクロプロセツサ |
JP2510591B2 (ja) * | 1987-06-12 | 1996-06-26 | 株式会社日立製作所 | 命令処理装置 |
JPH0328911A (ja) | 1989-06-26 | 1991-02-07 | Mitsubishi Electric Corp | マイクロプロセッサ |
US5167024A (en) | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
US5185868A (en) * | 1990-01-16 | 1993-02-09 | Advanced Micro Devices, Inc. | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy |
JP2762670B2 (ja) * | 1990-03-30 | 1998-06-04 | 松下電器産業株式会社 | データ処理装置 |
JP3529805B2 (ja) * | 1992-03-27 | 2004-05-24 | ナショナル・セミコンダクター・コーポレイション | ハードウェア制御パワー管理機能と選択可能な入出力制御ピンとを有するマイクロプロセッサ |
US5392437A (en) | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5603037A (en) | 1993-04-23 | 1997-02-11 | Intel Corporation | Clock disable circuit for translation buffer |
JPH07311758A (ja) * | 1994-05-16 | 1995-11-28 | Seiko Instr Inc | 半導体集積回路及びこれを用いた携帯電子機器 |
US5754436A (en) | 1994-12-22 | 1998-05-19 | Texas Instruments Incorporated | Adaptive power management processes, circuits and systems |
JP3520611B2 (ja) * | 1995-07-06 | 2004-04-19 | 株式会社日立製作所 | プロセッサの制御方法 |
US5996083A (en) | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
US5920724A (en) * | 1996-03-28 | 1999-07-06 | Intel Corporation | Software pipelining a hyperblock loop |
US5887179A (en) * | 1996-06-11 | 1999-03-23 | Motorola, Inc. | System power saving means and method |
WO1998006040A1 (en) * | 1996-08-07 | 1998-02-12 | Sun Microsystems, Inc. | Architectural support for software pipelining of nested loops |
US5742781A (en) | 1996-08-09 | 1998-04-21 | Hitachi America, Ltd. | Decoded instruction buffer apparatus and method for reducing power consumption in a digital signal processor |
US5880981A (en) | 1996-08-12 | 1999-03-09 | Hitachi America, Ltd. | Method and apparatus for reducing the power consumption in a programmable digital signal processor |
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
-
2000
- 2000-01-14 AT AT00400091T patent/ATE366958T1/de not_active IP Right Cessation
- 2000-01-14 EP EP00400091A patent/EP1117031B1/en not_active Expired - Lifetime
- 2000-11-20 US US09/716,645 patent/US6795930B1/en not_active Expired - Lifetime
-
2001
- 2001-01-15 JP JP2001006832A patent/JP5133476B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04293124A (ja) * | 1991-03-20 | 1992-10-16 | Hitachi Ltd | データ処理プロセッサ |
JPH07160585A (ja) * | 1993-12-13 | 1995-06-23 | Hitachi Ltd | 低電力データ処理装置 |
JPH09114660A (ja) * | 1995-10-18 | 1997-05-02 | Hitachi Ltd | データ処理装置 |
JPH10326129A (ja) * | 1997-05-23 | 1998-12-08 | Mitsubishi Electric Corp | 半導体装置 |
JP2000276351A (ja) * | 1998-10-06 | 2000-10-06 | Texas Instr Inc <Ti> | ローカル命令ルーピングを有するプロセッサ |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032257A (ja) * | 2001-12-13 | 2009-02-12 | Quicksilver Technologies Inc | 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ |
JP2009501961A (ja) * | 2005-04-04 | 2009-01-22 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 予測的なプロセッサコンポーネントサスペンドのためのシステム及びその方法 |
JP2011204208A (ja) * | 2010-03-26 | 2011-10-13 | Fujitsu Ltd | マルチコアプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
US6795930B1 (en) | 2004-09-21 |
EP1117031B1 (en) | 2007-07-11 |
JP5133476B2 (ja) | 2013-01-30 |
ATE366958T1 (de) | 2007-08-15 |
EP1117031A1 (en) | 2001-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5133476B2 (ja) | マイクロプロセッサ | |
US6507921B1 (en) | Trace fifo management | |
US6279100B1 (en) | Local stall control method and structure in a microprocessor | |
US6810475B1 (en) | Processor with pipeline conflict resolution using distributed arbitration and shadow registers | |
US7490228B2 (en) | Processor with register dirty bit tracking for efficient context switch | |
EP1102163A2 (en) | Microprocessor with improved instruction set architecture | |
WO2000033183A9 (en) | Method and structure for local stall control in a microprocessor | |
EP1869536A2 (en) | Apparatus and method for automatic low power mode invocation in a multi-threaded processor | |
US7117342B2 (en) | Implicitly derived register specifiers in a processor | |
EP1160662A1 (en) | Processor with pointer tracking to eliminate redundant memory fetches | |
US20010042187A1 (en) | Variable issue-width vliw processor | |
US6615338B1 (en) | Clustered architecture in a VLIW processor | |
US6986028B2 (en) | Repeat block with zero cycle overhead nesting | |
JP2009032257A (ja) | 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ | |
US7996660B2 (en) | Software controlled CPU pipeline protection | |
JP2000284973A (ja) | 二重割込みベクトル・マッピング装置とその操作方法 | |
US6889320B1 (en) | Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter | |
JP2001202241A (ja) | 実行パケットが2以上の取出しパケットをスパンするマイクロプロセッサを備えるディジタル処理システム及び同システムの操作方法 | |
US7039790B1 (en) | Very long instruction word microprocessor with execution packet spanning two or more fetch packets with pre-dispatch instruction selection from two latches according to instruction bit | |
EP0992897A2 (en) | Stack pointer management | |
US7290153B2 (en) | System, method, and apparatus for reducing power consumption in a microprocessor | |
WO2002057893A2 (en) | Method and apparatus for reducing power consuption in a digital processor | |
EP0992902A2 (en) | Dual interrupt vector mapping | |
Oh et al. | AE32000: an embedded microprocessor core | |
JP2000276352A (ja) | パイプライン保護 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110218 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110517 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110523 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110617 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120406 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120705 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120710 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120803 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120808 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120905 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121005 |
|
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: 20121102 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151116 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5133476 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 |
|
LAPS | Cancellation because of no payment of annual fees |