JP2002229778A - 高速ディスプレースメント付きpc相対分岐方式 - Google Patents
高速ディスプレースメント付きpc相対分岐方式Info
- Publication number
- JP2002229778A JP2002229778A JP2001026253A JP2001026253A JP2002229778A JP 2002229778 A JP2002229778 A JP 2002229778A JP 2001026253 A JP2001026253 A JP 2001026253A JP 2001026253 A JP2001026253 A JP 2001026253A JP 2002229778 A JP2002229778 A JP 2002229778A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- disp
- cache
- bit
- 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
- 238000006073 displacement reaction Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 title description 4
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 230000008901 benefit Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 1
- 238000010586 diagram 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 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/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
-
- 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/324—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
-
- 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/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
新規命令を追加することなく,ディスプレースメント付
きPC相対分岐命令の動作を高速化する。 【解決手段】命令語をキャッシュもしくはバッファに格
納する前にあらかじめ分岐先アドレス計算の下位部分を
行い,命令語のディスプレースメント部分及び該キャッ
シュもしくは該バッファに追加されたビットに計算結果
を書き込み,命令実行時は該キャッシュもしくは該バッ
ファに格納された計算結果を利用して分岐先アドレスの
下位部分の計算を省略することで分岐先アドレス計算を
高速化する。
Description
央処理装置に用いられるプロセッサに属する。特にプロ
セッサに用いられているディスプレースメント付きPC
相対分岐命令に関する。
と命令語に埋め込まれた定数(即値と呼ぶ)を実行時に
加算し,その値を分岐先のアドレスとする分岐命令を備
えたプロセッサが存在する。特にレジスタとして現在実
行中の命令アドレスを示すプログラムカウンタ(PC)
を用いた場合,分岐命令の位置からの相対位置を指定す
ることができる。プログラムの配置アドレスに関わらず
常に同じ位置へ分岐を行うことができるため,様々なプ
ロセッサにおいて採用されている。ここで,分岐命令の
命令語中の即値をディスプレースメント(以下disp
と略す)と呼び,前述の命令をディスプレースメント付
きPC相対分岐命令(以下PC+disp分岐命令と略
す)と呼ぶ。例えばこれは「SH7750プログラミン
グマニュアル」,日立製作所,1998のpp.10−
22に記載されているBRA命令などが該当する。PC
+disp分岐命令の実行には,(1)dispを多く
の場合符号拡張しPCとビット幅をそろえPCの値と符
号拡張したdispを加算して分岐先アドレスを計算,
(2)求まった値をアドレスとして命令をフェッチする
という2段階の動作がある。符号拡張とはある幅mビッ
トを持った符号付き2進整数を幅n(>m)ビットの符
号付き2進整数に変換することを指し,変換元の整数を
変換先の下位mビットにコピーし,さらに変換元の最上
位ビット,すなわち符号ビットを変換先の上位n−mビ
ットそれぞれにコピーすることにより実現できる。ここ
で(1)のアドレス計算の一例を図1に示す。111は
実行する命令のアドレス,すなわちPCの値であり32
ビットである。112はPC+disp分岐命令の命令
語であり,下位12ビットがdispである。命令語1
12のフォーマットを図2に示す。201は命令オペコ
ードであり,PC+disp分岐命令の場合命令オペコ
ード201は4ビットである。202および203はd
ispの一部であり,上位1ビットを202,下位11
ビットを203とした204は12ビット符号付きのd
ispの値となる。すなわち202はdispの符号ビ
ットである。分岐先アドレス114は,命令語112中
の204を32ビット符号拡張した113と111を3
2ビット加算器121で加算することにより得られる。
PC+disp分岐命令では分岐先アドレスを計算する
ために,本質的にnビットの加算処理が必要である。n
ビットの加算処理にはオーダlognの時間が必要とな
り,従来プロセッサでは本加算処理時間は不可避なもの
と考えられていた。“Micro Processor Report,” Sept
ember 13, 1999, pp.12-15, 22によると,上記加算処理
時間を削減するためサンマイクロシステムズのMAJC
アーキテクチャではPC+disp分岐命令の代わりに
セミアブソリュート分岐(以下SemiABS分岐と略
す)命令を採用している。セミアブソリュート分岐命令
ではアドレスのビットの一部分を絶対アドレスで指定す
る。図3にSemiABS分岐命令でのアドレス計算方
法を示す。311はPC+disp分岐命令と同様にP
Cの値である。312はSemiABS分岐命令の命令
語であり,図4にSemiABS分岐命令の命令フォー
マットを示す。401は命令オペコード及び分岐先アド
レス計算に用いるオペランド以外のオペランド部分であ
る。402及び403が分岐先アドレス計算に用いるオ
ペランド部分であり,命令語311の下位12ビット部
分が403,その上位2ビットが402となっている。
分岐先アドレス314の計算については,下位2ビット
は”00”(定数)とし,その上位の12ビット部分は
命令語312中の403がそのまま入る。上位18ビッ
ト部分については,命令語312中の402を18ビッ
ト符号拡張した313と311を18ビット加算器32
1で加算し,出力とする。SemiABS分岐ではPC
+disp分岐と比較して分岐先アドレス計算に必要と
なる加算器の桁数が少なくて済むため,遅延時間を短く
押さえることができ,動作周波数の向上が期待できる。
特に命令キャッシュを具備するプロセッサの場合,Se
miABS分岐では高速化が可能となる。分岐命令の実
行においては分岐先アドレス計算の次に命令キャッシュ
へのアクセスが必要となるが,通常キャッシュの動作は
(1)アドレスのうちインデックス部となる部分をキャ
ッシュアレイに入力し対応するタグ部とデータを読み出
し,(2)アドレスのタグ部と対応する部分と(1)で
出力されたタグ部を比較し,一致する場合キャッシュヒ
ットとしてデータを出力するという2段階に分かれてい
る。すなわちキャッシュへのインデックス部入力は,タ
グ部の入力よりもタイミング上先に行う必要がある。ま
た,アドレスのうちインデックス部となる部分は,通常
はアドレスの下位部分に配置されている。SemiAB
S分岐では分岐先アドレスの下位部分は加算を行うこと
なくそのまま出力されるため,インデックス部のビット
範囲が加算されないビット範囲に含まれる時,分岐先ア
ドレスの上位部分の計算の完了を待たずに並列にキャッ
シュアレイのアクセスを開始することができ,分岐命令
の実行が全体として高速化される。
速な分岐を実現するために,PC+disp分岐の代わ
りに新しいSemiABS分岐を導入している。しか
し,SemiABS分岐論理方式を採用する新たなプロ
セッサではSemiABS分岐を採用していない命令に
よって書かれたプログラムを実行できない,すなわち,
既存のPC+disp分岐命令を有するプロセッサ上で
動作するオブジェクトコードにはSemiABS分岐命
令が含まれていないため,高速化の恩恵を受けることが
できない。また,SemiABS分岐では分岐先アドレ
スの一部分を絶対アドレスで指定する必要があるため,
コンパイル時に分岐先アドレスの範囲に収まっているか
どうかが判定できない,コンパイル後のオブジェクトコ
ードがリロケータブルにならない,という弊害がある。
リロケータブルとは,オブジェクトコードの配置アドレ
スに関わらず,そのオブジェクトコードが実行可能であ
ることを指す。本発明が解決しようとする課題の1つ
は,以上の問題に鑑みプロセッサの命令セットを新規に
用意,または既存の命令セットに命令を追加することな
く,PC+disp分岐命令の動作を高速化することで
ある。また,PC+disp分岐命令を削除する必要が
ないため,上記に示した弊害についても発生しない。
シュもしくはバッファに一時的に格納し,命令の実行時
はキャッシュもしくはバッファに一時的に格納されてい
る命令語を読み出して実行するプロセッサに適用するも
のである。
バッファに格納する時にPC+dispアドレッシング
命令であるかどうかを判定し,PC+dispアドレッ
シング命令である場合にはキャッシュもしくはバッファ
への格納前にあらかじめPC+dispの計算の下位部
分を行い,命令語のdisp部分とキャッシュもしくは
バッファに追加されたビットに計算結果を書き込む。該
PC+dispアドレッシング命令をキャッシュもしく
はバッファから読み出して実行する時にはPC+dis
p計算の下位部分はあらかじめ計算された結果をそのま
ま出力し,下位アドレス部分の計算を省略することによ
り,PC+disp分岐命令のアドレス計算に要する時
間を削減する。以上が本発明の手段である。
す。 (実施例1)図5及び図6は本発明を最も単純な形で実
現した例である。図5は命令フェッチ部,すなわち主記
憶から読み出した命令語を命令キャッシュに格納する部
分である。511は主記憶から読み出した命令語であ
り,命令フォーマットは図2の112と同等である。本
実施例のプロセッサではアドレスは32ビットである。
512は命令が格納されている主記憶上のアドレスであ
り,幅は32ビットである。また,アドレス512は命
令語511の実行時のPCの値に等しい。
命令語511と同じ幅をもっており,命令キャッシュ5
01内に複数のエントリが存在する。515は514と
1対1で対応しており,幅は1ビットである。回路ブロ
ック502は命令語511とアドレス512を入力と
し,出力が命令キャッシュ501内の514及び515
に格納される。
る。命令語511内の201および202は命令キャッ
シュ501内の514の対応する部分にそのまま格納さ
れる。522はデコーダであり,命令語511内の20
1がPC+disp分岐命令かどうかを判定し,セレク
タ523の出力を切り替える。命令語511内の201
がPC+disp分岐命令以外の場合,セレクタ523
は命令語511内の203をそのまま出力し,命令キャ
ッシュ501内の514の203に対応する部分にその
まま格納される。命令語511内の201がPC+di
sp分岐命令を示している場合,命令語511内の20
3とアドレス512の下位11ビット部分を加算器51
2で加算し,得られた11ビットの結果をセレクタ52
3が出力する。命令キャッシュ501内の514の20
3に対応する部分にはこの結果が格納される。また,加
算器521の上位へのキャリービット出力は515に格
納される。図6はPC+disp分岐命令実行時の分岐
先アドレス計算部である。611はPCの値であり,命
令キャッシュ501内に格納された514と515及び
611の値を用いて,分岐先アドレス613を求める。
514内の203に対応する部分はそのまま分岐先アド
レス613の下位11ビット部分に出力される。612
は514内の202に対応する部分を21ビットに符号
拡張したものである。加算器621は612と611の
上位21ビット部分とを加算し,結果を分岐先アドレス
613の上位21ビット部分に出力する。
ispの下位11ビット部分とPCの下位11ビット部
分の加算を行い,515に下位からのキャリービット出
力を保存している。また,図6に示したPC+disp
分岐命令の実行時にはdispの上位1ビットを21ビ
ット符号拡張したものとPCの上位21ビット部分を,
515に保存された下位からのキャリービットを考慮し
て加算している。すなわち結果として算出される分岐先
アドレス613は,12ビットのdispを32ビット
に符号拡張してPCと加算した値と等しい。 (実施例2)図7,図8は本発明の別の実施例である。
図7は実施例1の図5と同じく命令フェッチ部である。
701,711,712および714は実施例1での5
01,511,512および514に相当し,回路ブロ
ック702は実施例1での回路ブロック502に対応す
る。実施例1での515に相当する部分はこの実施例に
は存在しない。デコーダ722とセレクタ723の動作
も実施例1でのデコーダ522とセレクタ523の動作
とほぼ同一であり,命令語711内のオペコード501
がPC+disp分岐命令である場合に加算器721の
出力である713を命令キャッシュ701内の714の
204に対応する部分に出力し,それ以外の場合は命令
語711内の204をそのまま714内の204に対応
する部分に出力する。加算器721は命令語711内の
204とアドレス712の下位12ビットを加算し,1
2ビットの加算結果を713に出力する。
sp分岐命令実行時の分岐先アドレス計算部である。8
11はPCであり,命令キャッシュ701内に格納され
た714及び811の値を用いて,分岐先アドレス81
2を求める。714内の204に対応する部分は,その
まま分岐先アドレス812の下位12ビット部分に出力
される。824及び825は加算器であり,それぞれ8
11の上位20ビットの値に+1,−1を加算した値を
出力する。すなわちセレクタ823は,811の上位2
0ビットの値について,+1,±0,−1した値のどれ
かを,デコーダ822の出力に従って分岐先アドレス8
12の上位20ビット部分に出力する。
03に対応する部分と811の下位11ビットを比較器
821で比較した結果(203に対応する部分の方が大
きい,もしくは等しい場合を0,逆の場合を1とす
る),(b)714内の502に対応する部分,(c)
811の下位から12ビット目が入力される。デコーダ
822の入力に対するセレクタ823の出力の対応を図
10に示す。比較器821の出力は,命令フェッチ部で
行った11ビット加算の,下位10ビット目から11ビ
ット目へのキャリービットである。このキャリービット
と714内の202に対応する部分と811の下位から
12ビット目の排他的論理和を取ると,命令語711内
の202,すなわち204の符号ビットを算出すること
ができる。
11の下位から12ビット目の値について,1ビット値
3個の加算を行いキャリービットを求めると,命令フェ
ッチ部で行った加算の,最上位ビットからのキャリービ
ットが求められる。202を20ビット符号拡張し,8
11の上位20ビット部分と,命令フェッチ部で行った
加算の最上位ビットからのキャリービットを加算すれ
ば,分岐先アドレス812は12ビットのdispを3
2ビットに符号拡張してPCと加算した値と等しくな
る。しかし,(1)202が1の場合に811の上位2
0ビットに−1を加算し,加えて(2)命令フェッチ部
で行った加算の最上位ビットからのキャリービットが1
の場合に+1を加算すれば,先ほど述べた加算と同じ動
作ができる。したがって,811の上位20ビットに対
して,202の値と命令フェッチ部で行った加算の最上
位ビットからのキャリービットが,00もしくは11の
場合はそのまま,01の場合は+1を加算,10の場合
は−1を加算すれば,先ほど述べた加算と同じ結果が得
られる。
術的思想のもとに種々の変形が可能である。例を示す
と,(1)分岐命令のみでなく,PC+dispアドレ
ッシングによるロードストア命令に実施可能である,
(2)dispの幅が一種類のみでなく8,12のよう
に複数種類あっても実施例1,2とも実施できる,とい
った変形が可能である。
第一の利点は,SemiABS分岐命令と同様,PC+
disp分岐命令の実行時の分岐先アドレス計算を高速
に処理,すなわち分岐先アドレス計算にかかる遅延時間
を短縮できることである。これにより特にパイプライン
によって命令を実行するプロセッサにおいては,分岐先
アドレスの計算を行うステージに必要となる時間を減少
させることができ,プロセッサの動作周波数向上,ある
いは処理サイクル数の削減,あるいはその両方が可能と
なる。例えば,実施例1では全アドレスが32ビット,
dispが12ビットであり従来のPC+disp分岐
論理方式の場合,PC+disp分岐命令の実行時には
32ビット加算が必要となるが,実施例1でのPC+d
isp分岐論理方式の場合では21ビット加算で済む。
全アドレスが64ビット,dispが20ビットである
とした場合では,従来のPC+disp論理方式では6
4ビット加算,実施例1では45ビット加算で済む。ま
た,実施例1に示したプロセッサにおいては,Semi
ABS分岐命令と同様に命令キャッシュへのアクセスを
早い時刻に開始することによってPC+disp分岐命
令の動作を全体的に高速化できるという第二の利点があ
る。実施例1に示したプロセッサでの第三の利点は,あ
るPC+disp分岐命令が命令キャッシュにヒットし
て繰り返し実行される場合には,分岐先アドレスの下位
部分の計算は初回実行時,すなわち命令キャッシュに格
納される時にのみ行われ,以降の実行時に重複して計算
されることを回避できる点である。図9に従来のPC+
disp分岐論理方式の場合と実施例1でのPC+di
sp分岐論理方式の場合での,タイミングチャートでの
比較を示す。901は従来のPC+disp分岐論理方
式の場合であり,911は命令キャッシュ読み出し,お
よび命令キャッシュミスヒットによる主記憶からの命令
語読み出し動作,913は911で読み出した命令語を
キャッシュに格納する動作,914は分岐先アドレスの
下位部分の加算動作,915は分岐先アドレスの上位部
分の加算と分岐先アドレス命令の命令キャッシュからの
読み出し動作である。また,912は命令キャッシュヒ
ットの場合の読み出し動作である。902は実施例1で
のPC+disp分岐論理方式の場合であり,あるPC
+disp分岐命令が命令キャッシュにヒットする状態
で繰り返し実行される場合,繰り返し回数が多いほど実
施例1でのPC+disp分岐論理方式の方が,実行に
要する時間が短縮される。
は,第一,第二及び第三の利点として挙げた効果を,既
存のPC+disp型アドレッシングを備えるプロセッ
サの命令セットに変更を加えることなく,享受できる点
である。本発明の実施例2に示したプロセッサでは,実
行時にdispの符号ビットおよび命令フェッチ時の加
算の最上位ビットからのキャリービットの再計算を行う
ため実施例1に示したプロセッサの第一の利点に相当す
る効果は実質的にはほとんど得られないが,第二,第三
および第四の利点に関しては同等に効果が得られる。ま
た,実施例2に示したプロセッサでは,主記憶から読み
出した命令語を格納するキャッシュもしくはバッファに
追加の記憶領域が不要であるという利点がある。
計算法。
計算法。
ャッシュ格納時の処理回路。
分岐命令実行時のアドレス計算回路。
ャッシュ格納時の処理回路。
分岐命令実行時のアドレス計算回路。
施例1でのPC+disp分岐論理方式の場合のタイミ
ングチャートでの比較。
23の出力対応図。
命令語,114−PC+disp命令での分岐先アドレ
ス,121−32ビット加算器。 311−PCの値,312−SemiABS分岐命令の
命令語,314−SemiABS分岐命令での分岐先ア
ドレス,321−18ビット加算器。 501−命令キャッシュ,511−PC+disp分岐
命令の命令語,512−読み出した命令の主記憶上のア
ドレス値,514−命令キャッシュ内のエントリ,51
5−514に一対一に対応する記憶領域,521−11
ビット加算器,522−デコーダ,523−セレクタ。 611−PCの値,613−分岐先アドレス,621−
21ビット加算器。 701−命令キャッシュ,711−PC+disp分岐
命令の命令語,712−読み出した命令の主記憶上のア
ドレス値,714−命令キャッシュ内のエントリ,72
1−12ビット加算器,722−デコーダ,723−セ
レクタ。 811−PCの値,812−分岐先アドレス,821−
11ビット比較器,822−デコーダ,823−セレク
タ,824,825−20ビット加算器。 901−従来のPC+disp分岐論理方式の場合のP
C+disp分岐命令動作,902−本発明の第一の実
施例でのPC+disp分岐論理方式の場合のPC+d
isp分岐命令動作,911−命令キャッシュ読み出し
及び命令キャッシュミスヒットによる主記憶からの命令
語読み出し動作,912−命令キャッシュヒット時の命
令語読み出し動作,913−911で読み出した命令語
をキャッシュに格納する動作,914−分岐先アドレス
の下位部分の加算動作,915−分岐先アドレスの上位
部分の加算と分岐先アドレス命令の命令キャッシュから
の読み出し動作。
Claims (4)
- 【請求項1】命令語を一時的に格納するキャッシュもし
くはバッファを具備し,命令実行時に命令語を該キャッ
シュもしくは該バッファから読み出すプロセッサであ
り,命令語がディスプレースメント付きPC相対アドレ
ッシングを用いる命令である場合に実効アドレスの下位
部分の計算を行い,その結果によって命令語中のディス
プレースメントの値を置き換えて該キャッシュもしくは
該バッファに格納する回路を有し,命令実行時の実効ア
ドレス計算では該キャッシュもしくは該バッファに格納
された実効アドレスの下位部分の結果を利用し,実効ア
ドレスを高速に出力することを特徴とするプロセッサ。 - 【請求項2】請求項1に記載したプロセッサであって,
命令語を一時的に格納するキャッシュもしくはバッファ
中に,命令語を格納する各エントリに1対1に対応する
追加の記憶領域を有し,命令語がディスプレースメント
付きPC相対アドレッシングを用いる命令である場合に
行う実効アドレスの下位部分の計算結果によって情報を
生成し,該記憶領域に該情報を格納することを特徴とす
るプロセッサ。 - 【請求項3】請求項1に記載したプロセッサであって,
実効アドレスが分岐先アドレスであるプロセッサ。 - 【請求項4】請求項2に記載したプロセッサであって,
実効アドレスが分岐先アドレスであるプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001026253A JP3983482B2 (ja) | 2001-02-02 | 2001-02-02 | 高速ディスプレースメント付きpc相対分岐方式 |
US10/017,198 US7003651B2 (en) | 2001-02-02 | 2001-12-18 | Program counter (PC) relative addressing mode with fast displacement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001026253A JP3983482B2 (ja) | 2001-02-02 | 2001-02-02 | 高速ディスプレースメント付きpc相対分岐方式 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002229778A true JP2002229778A (ja) | 2002-08-16 |
JP2002229778A5 JP2002229778A5 (ja) | 2006-06-08 |
JP3983482B2 JP3983482B2 (ja) | 2007-09-26 |
Family
ID=18891096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001026253A Expired - Fee Related JP3983482B2 (ja) | 2001-02-02 | 2001-02-02 | 高速ディスプレースメント付きpc相対分岐方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7003651B2 (ja) |
JP (1) | JP3983482B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836286B2 (en) | 2007-02-21 | 2010-11-16 | Renesas Electronics Corporation | Data processing system to calculate indexes into a branch target address table based on a current operating mode |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111148B1 (en) | 2002-06-27 | 2006-09-19 | Intel Corporation | Method and apparatus for compressing relative addresses |
US7010665B1 (en) * | 2002-06-27 | 2006-03-07 | Intel Corporation | Method and apparatus for decompressing relative addresses |
JP3862642B2 (ja) * | 2002-09-17 | 2006-12-27 | 株式会社日立製作所 | データ処理装置 |
US8006071B2 (en) * | 2004-03-31 | 2011-08-23 | Altera Corporation | Processors operable to allow flexible instruction alignment |
CN1329839C (zh) * | 2005-04-13 | 2007-08-01 | 柴钰 | 一种计算机cpu抗干扰的设计方法 |
US7792150B2 (en) | 2005-08-19 | 2010-09-07 | Genband Us Llc | Methods, systems, and computer program products for supporting transcoder-free operation in media gateway |
US20100161950A1 (en) * | 2008-12-24 | 2010-06-24 | Sun Microsystems, Inc. | Semi-absolute branch instructions for efficient computers |
CN103984637A (zh) * | 2013-02-07 | 2014-08-13 | 上海芯豪微电子有限公司 | 一种指令处理系统及方法 |
CN104731718A (zh) * | 2013-12-24 | 2015-06-24 | 上海芯豪微电子有限公司 | 一种缓存系统和方法 |
US10261911B2 (en) * | 2016-09-08 | 2019-04-16 | The Johns Hopkins University | Apparatus and method for computational workflow management |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608886A (en) * | 1994-08-31 | 1997-03-04 | Exponential Technology, Inc. | Block-based branch prediction using a target finder array storing target sub-addresses |
JP3599499B2 (ja) * | 1996-10-25 | 2004-12-08 | 株式会社リコー | 中央処理装置 |
US6243805B1 (en) * | 1998-08-11 | 2001-06-05 | Advanced Micro Devices, Inc. | Programming paradigm and microprocessor architecture for exact branch targeting |
US6237087B1 (en) * | 1998-09-30 | 2001-05-22 | Intel Corporation | Method and apparatus for speeding sequential access of a set-associative cache |
US6502185B1 (en) * | 2000-01-03 | 2002-12-31 | Advanced Micro Devices, Inc. | Pipeline elements which verify predecode information |
-
2001
- 2001-02-02 JP JP2001026253A patent/JP3983482B2/ja not_active Expired - Fee Related
- 2001-12-18 US US10/017,198 patent/US7003651B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836286B2 (en) | 2007-02-21 | 2010-11-16 | Renesas Electronics Corporation | Data processing system to calculate indexes into a branch target address table based on a current operating mode |
US8145889B2 (en) | 2007-02-21 | 2012-03-27 | Renesas Electronics Corporation | Data processing system with branch target addressing using upper and lower bit permutation |
Also Published As
Publication number | Publication date |
---|---|
US7003651B2 (en) | 2006-02-21 |
JP3983482B2 (ja) | 2007-09-26 |
US20020108029A1 (en) | 2002-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2816248B2 (ja) | データプロセッサ | |
US6651160B1 (en) | Register set extension for compressed instruction set | |
USRE40509E1 (en) | Methods and apparatus for abbreviated instruction sets adaptable to configurable processor architecture | |
US20010010072A1 (en) | Instruction translator translating non-native instructions for a processor into native instructions therefor, instruction memory with such translator, and data processing apparatus using them | |
US7447871B2 (en) | Data access program instruction encoding | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
US20060010304A1 (en) | Systems for loading unaligned words and methods of operating the same | |
US6687808B2 (en) | Data processor using indirect register addressing | |
US4541047A (en) | Pipelined data processing system | |
JP2002229778A (ja) | 高速ディスプレースメント付きpc相対分岐方式 | |
JPH1049369A (ja) | データ処理装置 | |
JP4228241B2 (ja) | 演算処理装置 | |
JPH07239780A (ja) | 1クロック可変長命令実行処理型命令読み込み電子計 算機 | |
JP2008204249A (ja) | データプロセッサ | |
US7631166B1 (en) | Processing instruction without operand by inferring related operation and operand address from previous instruction for extended precision computation | |
JP2002182926A (ja) | コンパイル方法及びコンピュータ読み取り可能な記録媒体 | |
JP2001216136A (ja) | 加算回路およびプロセッサ | |
JP4545777B2 (ja) | データ処理装置 | |
JP2008107913A (ja) | プログラム、ソフトウェア変換装置及びコンピュータ | |
JPH07191911A (ja) | アドレス変換装置及びマイクロプロセッサ算出方法 | |
JP2000003279A (ja) | Vliwプロセッサ、プログラム生成装置、および記録媒体 | |
JP5311008B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JPH05173778A (ja) | データ処理装置 | |
JP5263498B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP5263497B2 (ja) | 信号処理プロセッサ及び半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060411 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060411 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060411 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070122 |
|
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: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070704 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |