JP3488815B2 - アドレス記憶回路 - Google Patents

アドレス記憶回路

Info

Publication number
JP3488815B2
JP3488815B2 JP28040497A JP28040497A JP3488815B2 JP 3488815 B2 JP3488815 B2 JP 3488815B2 JP 28040497 A JP28040497 A JP 28040497A JP 28040497 A JP28040497 A JP 28040497A JP 3488815 B2 JP3488815 B2 JP 3488815B2
Authority
JP
Japan
Prior art keywords
address
execution
fetch
latch
signal
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.)
Expired - Fee Related
Application number
JP28040497A
Other languages
English (en)
Other versions
JPH11119994A (ja
Inventor
修 中島
裕 藤巻
泰生 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP28040497A priority Critical patent/JP3488815B2/ja
Publication of JPH11119994A publication Critical patent/JPH11119994A/ja
Application granted granted Critical
Publication of JP3488815B2 publication Critical patent/JP3488815B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、複数の命令が格納
されてなるメモリ上の、現在実行中の命令が格納された
アドレスを指標する実行アドレスと、そのメモリ上の、
先読みのためのアドレスを指標するフェッチアドレスと
を順次書き換えながら記憶するアドレス記憶回路に関す
る。 【0002】 【従来の技術】一般にマイクロプロセッサは、命令の実
行を円滑に行うために、あらかじめその命令をメモリか
ら先読みするいわゆるフェッチを行っており、マイクロ
プロセッサには、フェッチによってメモリから先読みさ
れた命令が順次記憶される命令キューが備えられてい
る。この命令キューに記憶される命令の最大数は、一般
に命令キューの容量と呼ばれており、命令キューの容量
は通常10ワード分あるいは20ワード分といった程度
である。 【0003】この場合、現在実行中の命令のメモリ上の
位置を表す実行アドレスと、フェッチが行われる命令の
メモリ上の位置を表すフェッチアドレスとは、命令キュ
ーに記憶されている命令の数だけずれている。このアド
レスのずれは一定しておらず、そのため、従来よりマイ
クロプロセッサには、実行アドレスおよびフェッチアド
レスそれぞれを記憶するための実行アドレスレジスタお
よびフェッチアドレスレジスタを有するアドレス記憶回
路が備えられている。 【0004】図7は従来のアドレス記憶回路を示す回路
図である。このアドレス記憶回路には、フェッチアドレ
スレジスタを構成するフリップフロップ110と、実行
アドレスレジスタを構成するフリップフロップ120
と、フェッチアドレスレジスタ用の加算器131と、実
行アドレスレジスタ用の加算器132と、2つのマルチ
プレクサ141,142が備えられており、フリップフ
ロップ110,120の出力は、マルチプレクサ14
1,142を制御するX信号が「0」になっているとき
にマルチプレクサ141,142を介してフェッチアド
レスおよび実行アドレスとして外部に出力される。ま
た、フェッチアドレスおよび実行アドレスは、それぞれ
加算器131,132を経由してそれぞれフリップフロ
ップ110,120にフィードバックされる。フェッチ
アドレスレジスタおよび実行アドレスレジスタは、この
フィードバックによるアドレスの暴走を防止するために
フリップフロップによって構成されている。フェッチア
ドレスレジスタ用の加算器131は、命令のフェッチが
行われる度にフェッチアドレスに「1」を加算し、実行
アドレスレジスタ用の加算器132は、命令が実行され
る度に実行アドレスに「1」を加算する。また、各加算
器131,132は、上記以外の場合には各アドレスに
「0」を加算することによって各アドレスの値を維持す
る。 【0005】実行アドレスに分岐が生じた場合にはマル
チプレクサ141,142を制御するX信号が「1」に
なって分岐先アドレスがマルチプレクサ141,142
を介してフェッチアドレスおよび実行アドレスとして外
部に出力される。この分岐先アドレスは、各加算器13
1,132によって「1」が加算された後各フリップフ
ロップ110,120に入力される。 【0006】 【発明が解決しようとする課題】上記説明のように、従
来技術では、高々10アドレスあるいは20アドレス程
度の差しか生じない2つのアドレスの全ビットをそれぞ
れ独立に順次書き換え、それぞれ独立に記憶しており、
これら2つのアドレスは通常24ビット程度のビット幅
を有するため、アドレス記憶回路の回路規模は比較的大
きな規模となっている。また近年、マイクロプロセッサ
のアドレス幅が拡大されるのに伴って、アドレス記憶回
路の回路規模がますます増大しており、この回路規模を
削減することが重要となっている。 【0007】本発明は、上記事情に鑑み、従来よりも小
さい回路規模で実行アドレスとフェッチアドレスを記憶
することができるアドレス記憶回路を提供することを目
的とする。 【0008】 【課題を解決するための手段】上記目的を達成する本発
明のアドレス記憶回路は、複数の命令が格納されてなる
メモリ上の、現在実行中の命令が格納されたアドレスを
指標する実行アドレスと、メモリ上の、先読みのための
アドレスを指標するフェッチアドレスとを順次書き換え
ながら記憶するアドレス記憶回路において、実行アドレ
スのうちの所定の下位ビット部分を順次書き換えながら
記憶する実行フリップフロップと、フェッチアドレスの
うちの、上記下位ビット部分のビット幅と同じビット幅
分の下位ビット部分を順次書き換えながら記憶するフェ
ッチフリップフロップと、フェッチアドレスのうちの、
下位ビット部分を除く上位ビット部分を順次書き換えな
がら記憶するフェッチラッチと、実行アドレスのうち
の、下位ビット部分を除く上位ビット部分が更新される
タイミングでフェッチラッチの出力を取り込んで記憶す
る実行ラッチと、フェッチラッチの出力と実行ラッチの
出力とのうちの一方の出力を選択するマルチプレクサと
を備えたことを特徴とするアドレス記憶回路。 【0009】 【発明の実施の形態】以下、本発明の実施形態について
説明する。図1は、本発明のアドレス記憶回路の一実施
形態を示す図である。この実施形態は命令キューの容量
が10ワード分である場合の実施形態である。このアド
レス記憶回路は図1(a)に示す下位ビット用の記憶回
路と図1(b)に示す上位ビット用の記憶回路に分かれ
ており、下位ビット用の記憶回路の構成は従来技術の記
憶回路と同様である。即ち、下位ビット用の記憶回路に
は、フリップフロップで構成されたフェッチアドレスレ
ジスタ10と、フリップフロップで構成された実行アド
レスレジスタ20と、マルチプレクサ31,32と、加
算器41,42が備えられている。下位ビット用の記憶
回路の動作は従来技術の記憶回路の動作と同じであるの
で重複説明は省略する。この下位ビット用の記憶回路に
よってフェッチアドレスおよび実行アドレスそれぞれの
最下位ビットから4ビット分が記憶される。 【0010】この4ビットというビット数は命令キュー
の容量に基づいて決定され、ビット数をnとしたときに
2のn乗が命令キューの容量を超えるようなビット数で
あればよい。但し、下位ビット用の記憶回路は従来技術
の記憶回路と同じ構成であるので、下位ビット用の記憶
回路の規模はできるだけ小さくするのが望ましく、従っ
て、下位ビット用の記憶回路によって記憶されるビット
数は、2のビット数乗が命令キューの容量を超えるよう
なビット数の最小値であることが望ましい。即ち、命令
キューの容量が10ワードならば4ビットが望ましく、
20ワードならば5ビット、5ワードならば3ビットが
望ましい。 【0011】上位ビット用の記憶回路には、フェッチア
ドレスの上位20ビットの部分を記憶するためのフェッ
チラッチ50と、実行アドレスの上位20ビットの部分
を記憶するための実行ラッチ60が備えられており、フ
ェッチラッチ50の出力が実行ラッチ60に入力され、
実行ラッチ60の出力が実行アドレスの上位20ビット
の部分を示す。また、フェッチラッチ50の出力と実行
ラッチ60の出力はマルチプレクサ70に入力され、制
御信号であるY信号によっていずれかの出力が選択され
る。マルチプレクサ70によって選択された出力は、従
来技術同様に、分岐先アドレスの上位20ビットの部分
とともにマルチプレクサ33に入力され、制御信号であ
るX信号によっていずれかの入力が選択される。このX
信号によって選択された入力がフェッチアドレスの上位
20ビットの部分として出力される。また、出力された
フェッチアドレスの上位20ビットの部分は、加算器4
3を経てフェッチラッチ50にフィードバックされる。 【0012】実行ラッチ60への入力の取り込みを制御
する信号PCGと、フェッチラッチ50への入力の取り
込みを制御する信号FCGは、通常はいずれも”L”状
態であり、フェッチラッチ50と実行ラッチ60には入
力が取り込まれないようになっており、必要に応じて”
H”状態となって入力の取り込みが行われる。また、加
算器43は、分岐を生じるような命令が実行されない限
り、フェッチアドレスの上位20ビットの部分に「1」
を加算する。この結果、フェッチラッチ50への入力は
フェッチアドレスの上位20ビットの部分に「1」が加
算された値を示すこととなる。従って、信号FCGが”
H”状態となった場合にはフェッチラッチ50の値が
「1」歩進されることとなる。信号PCGが”H”状態
となった場合にはフェッチラッチ50の出力が実行ラッ
チ60に取り込まれるので実行ラッチ60の出力とフェ
ッチラッチ50の出力が一致することとなる。このよう
に両ラッチの出力が互いに一致している場合には、Y信
号は「1」になり、フェッチアドレスの上位20ビット
の部分として実行ラッチ60の出力が選択される。これ
に対して、両ラッチの出力が互いに一致していない場合
には、Y信号は「0」になり、フェッチアドレスの上位
20ビットの部分としてフェッチラッチ50の出力が選
択される。この場合に、仮に、信号FCGが”H”状態
になると、上記で説明したフィードバックの経路を止め
るものがなくなって無限ループが生じ、加算器43を通
過する度に「1」が加算されるためにアドレスの値が暴
走することとなるが、後述するように、この場合には信
号FCGは”H”状態にならないようにアドレス記憶回
路が動作する。この結果、フリップフロップを用いてア
ドレスを記憶する必要がなくなる。 【0013】以下、タイミングチャートを用いて図1に
示すアドレス記憶回路の動作を説明する。図2は、実行
アドレスが連続的に増加する場合の信号等の変化を示す
タイミングチャートである。本実施形態では、タイミン
グチャートの最上段に示すクロック信号CLKに基づい
て、互いにオーバラップを生じないように2相のクロッ
ク信号CK1,CK2が生成され、これらのクロック信
号CK1,CK2に従ってアドレス記憶回路の動作が制
御される。 【0014】図2には、クロック周期毎にフェッチが行
われ、命令の実行もクロック周期毎に行われる場合が示
されており、フェッチアドレスレジスタに記憶されてい
る値FCLも実行アドレスレジスタに記憶されている値
PCLも、クロック信号CK1の立ち上がりに同期して
更新されて1アドレスずつ増加する。ここで、フェッチ
アドレスレジスタおよび実行アドレスレジスタそれぞれ
に記憶されている値FCL、PCLは2進数表示で示さ
れており、2進数表示であることを明示するために値の
後ろに記号「b」が付されている。これに対して、図1
(b)に示すフェッチラッチ50および実行ラッチ60
それぞれに記憶されている値FCH、PCHは16進数
表示で示されており、16進数表示であることを明示す
るために値の後ろに記号「h」が付されている。 【0015】信号FCGは、フェッチアドレスレジスタ
に記憶されている値FCLが「1111b」である場合
にフェッチが行われると、クロック信号CK2に同期し
てクロック信号CK2の1パルス分だけ”H”状態にな
り入力を取り込む。これは、図1(a)に示すフェッチ
アドレスレジスタ10から繰り上がりが生じたことに相
当する。この結果、フェッチラッチ50に記憶されてい
る値FCHが「1h」増加する。この場合の「1h」と
は、1アドレスの意味ではなく、アドレスの上位20ビ
ットのうちの最下位のビットを単位とする「1h」の意
味である。従ってこの「1h」はアドレス単位で考えれ
ば「10000b」アドレス分ということになる。 【0016】図1(a)に示すフェッチアドレスレジス
タ10からの繰り上がりは当然ながら実行アドレスレジ
スタ20からの繰り上がりと同時に発生するか、あるい
は繰り上がりに先行して発生することとなる。また、上
記説明のように、命令キューの容量に基づいて下位ビッ
ト用の記憶回路に記憶されるビット数が決められている
ため、命令キューの容量分だけ実行アドレスとフェッチ
アドレスとの差が生じてもフェッチラッチ50に記憶さ
れている値FCHと実行ラッチ60に記憶されている値
PCHとの間の差は高々「1h」であり「2h」以上の
差が生じることはあり得ない。そこで、実行アドレスレ
ジスタ20に記憶されている値PCLが「0000b」
になった場合、即ち、実行アドレスレジスタ20からの
繰り上がりが発生した場合には、信号PCGがクロック
信号CK1に同期してクロック信号CK1の1パルス分
だけ”H”状態になることにより実行ラッチ60にフェ
ッチラッチ50の出力が取り込まれ、実行ラッチ60に
記憶されている値PCHがフェッチラッチ50に記憶さ
れている値FCHと等しくなる。これによって、実行ラ
ッチ60に記憶されている値PCHに「1h」が加算さ
れることと同じ結果となり、従来技術と比較して加算器
が1つ省略されることとなる。 【0017】また、Y信号は、信号FCGが”H”状態
になった直後のクロック信号CK1の立ち上がりに同期
して「0」となり、信号PCGが”H”状態になると同
時に「1」となるが、上記説明のように、信号FCGは
フェッチアドレスレジスタ10からの繰り上がりが発生
した場合に”H”状態になり、信号PCGは実行アドレ
スレジスタ20からの繰り上がりが発生した場合に”
H”状態になるので、信号FCGが一旦”H”状態にな
った後、信号PCGが”H”状態になる前に再度信号F
CGが”H”状態になることはあり得ない。 【0018】結局、フェッチラッチ50に記憶されてい
る値FCHと実行ラッチ60に記憶されている値PCH
とが互いに一致している場合には、フェッチラッチ50
と実行ラッチ60によってフリップフロップが構成され
ることとなり、また、値FCHと値PCHとが一致しな
い場合には、信号FCGが”H”状態になることがあり
得ないのでフェッチラッチ50に入力は取り込まれな
い。このため、フェッチアドレスの上位20ビットの部
分が加算器を経てフィードバックされる回路構成となっ
ていても上述したようなアドレスの暴走が生じない。ま
た、従来技術と比較すると、フリップフロップは不要で
あってラッチで済むこととなり、また、図7に示すよう
にフリップフロップはマスターラッチおよびスレーブラ
ッチで構成されているので回路規模が削減されることと
なる。 【0019】次に、実行アドレスに分岐が生じる場合の
動作について説明する。実行アドレスに分岐が生じる場
合には、図1に示すマルチプレクサ31,32,33に
入力されるX信号が「1」になって外部から入力される
分岐先のアドレスがフェッチアドレスとして出力され、
そのアドレスが示すメモリ上の位置から命令が読み込ま
れる。このメモリから読み込まれた命令はそのまま実行
されるので、分岐時には実行アドレスとフェッチアドレ
スとの間に差は原理的に生じない。このためマイクロプ
ロセッサは、実行アドレスに分岐が生じる場合にはフェ
ッチアドレスである分岐先のアドレスのみに基づいて動
作を行い、実行アドレスを無視する。そこで、図1
(b)に示す上位ビット用の記憶回路においては従来技
術とは違って、実行ラッチ60の後にマルチプレクサが
設けられておらず、分岐時であっても実行ラッチの出力
が実行アドレスの上位20ビットの部分として出力され
る。 【0020】実行アドレスに分岐が生じる場合にアドレ
ス記憶回路には、次にフェッチや実行が行われる際に必
要とされるフェッチアドレスや実行アドレスが記憶され
なければならないので、図1(a)に示す下位ビット用
の記憶回路においては、分岐先のアドレスの下位4ビッ
トの部分に各加算器41,42で「1」加算された値
を、フェッチアドレスレジスタ10および実行アドレス
レジスタ20それぞれに取り込む必要があり、この取込
み用に実行アドレスレジスタ20の後にもマルチプレク
サ32が設けられている。図1(b)に示す上位ビット
用の記憶回路においては、分岐先のアドレスの上位20
ビットの部分はマルチプレクサ33および加算器43経
由でフェッチラッチ50に取り込まれ、フェッチラッチ
50の出力が実行ラッチ60に取り込まれるので、1つ
のマルチプレクサ33によってフェッチラッチ50およ
び実行ラッチ60それぞれに分岐先のアドレスの上位2
0ビットの部分を取り込むことができる。 【0021】図3は、実行アドレスに分岐が生じる場合
の信号等の変化を示すタイミングチャートである。実行
アドレスの分岐を生じる命令が実行されると、X信号が
クロック信号CK1の立ち上がりに同期して「1」にな
り、その状態が2クロック周期維持された後に、クロッ
ク信号CK1の立ち上がりに同期して「0」になり、こ
れによって、上記説明のようにフェッチアドレスとし
て、外部から入力された分岐先のアドレスBが選択され
て出力される。つまり、X信号が「1」になるとまず、
クロック信号CK1に同期してフェッチアドレスレジス
タおよび実行アドレスレジスタそれぞれに、分岐先のア
ドレスBの下位4ビットの部分に「1」が加算された値
が取り込まれ、フェッチアドレスレジスタ10および実
行アドレスレジスタ20それぞれに記憶されている値F
CL、PCLが変更される。また、X信号が「1」にな
ると信号FCGがクロック信号CK2に同期して1パル
ス分だけ”H”状態になり、X信号が「1」である間
は、加算器43は分岐先のアドレスBの上位20ビット
の部分に「0h」を加算する。この結果、分岐先のアド
レスBの上位20ビットの部分がフェッチラッチ50に
取り込まれ、フェッチラッチ50に記憶されている値F
CHが変更される。但し、分岐先のアドレスBの下位4
ビットの部分が「1111b」である場合には、フェッ
チアドレスレジスタ10からの繰り上がりが発生するの
で、加算器43は分岐先のアドレスBの上位20ビット
の部分に「1h」を加算し、フェッチラッチ50に記憶
されている値FCHは、分岐先のアドレスBの上位20
ビットの部分に「1h」が加算された値となる。信号F
CGの直後のクロック信号CK1に同期して1パルス分
だけ信号PCGが”H”状態となり、実行ラッチ60に
記憶されている値PCHはフェッチラッチ50に記憶さ
れている値FCHと等しくなる。なお、Y信号について
は図3に示されていないが、図2同様に信号FCGおよ
び信号PCGに従って変化し、その結果、分岐時には常
に「0」にリセットされることとなる。 【0022】図4は、2アドレス分の命令が1回でフェ
ッチされる場合の信号等の変化を示すタイミングチャー
トである。2アドレス分の命令が1回でフェッチされる
場合の動作は、実行アドレスに分岐を生じない命令が実
行されている間は、図2で説明した動作とほぼ同様であ
るので重複説明は省略する。図2で説明した動作と相違
する点は、フェッチアドレスレジスタに記憶されている
値FCLが「1111b」または「1110b」になっ
ているときにフェッチが行われると、フェッチアドレス
レジスタ10からの繰り上がりが発生し、信号FCG
が”H”状態となる点だけである。 【0023】実行アドレスに分岐を生じる命令が実行さ
れる場合には、図3の場合と同様に、信号FCGがクロ
ック信号CK2に同期して”H”状態となり、信号PC
Gがクロック信号CK1に同期して”H”状態となる。
また、図3の場合とは異なり、加算器43はX信号が
「1」になってから1クロック周期目だけ分岐先のアド
レスBの上位20ビット分に「0h」を加算し、2クロ
ック周期目以降は「1h」を加算する。なお、分岐先の
アドレスBの下位4ビットの部分が「1111b」であ
る場合には図3の場合と同様に、X信号が「1」になっ
てから1クロック周期目でも、加算器43は分岐先のア
ドレスBの上位20ビットの部分に「1h」を加算す
る。また、分岐先のアドレスBの下位4ビットの部分が
「1110b」である場合には、X信号が「1」になっ
てから2クロック周期目に、再度クロック信号CK2に
同期して信号FCGが”H”状態となり、フェッチラッ
チ50に記憶されている値FCHが「1h」歩進され
る。このような動作になる理由は、分岐先のアドレスB
の下位4ビットの部分が「1110b」である場合に
は、フェッチラッチ50に記憶される値FCHは、フェ
ッチアドレスレジスタ10からの繰り上がりが発生する
ので分岐先のアドレスBの上位20ビットの部分に「1
h」が加算された値となる必要があるのに対して、実行
ラッチ60に記憶される値PCHは、分岐先のアドレス
Bの次のアドレスの実行がまだ終わっておらず実行アド
レスレジスタ20からの繰り上がりが発生しないので、
分岐先のアドレスの上位20ビットの部分そのままであ
ることが必要だからである。 【0024】以上説明したように、本実施形態のアドレ
ス記憶回路は従来技術のアドレス記憶回路よりも小さな
回路規模であるが、本実施形態のアドレス記憶回路によ
って実行アドレスおよびフェッチアドレスは正しく記憶
される。図5は、本発明のアドレス記憶回路の他の実施
形態における上位ビット用の記憶回路を示す図である。 【0025】本実施形態における下位ビット用の記憶回
路は図1(a)に示す下位ビット用の記憶回路と同じで
あるので説明は省略する。本実施形態における上位ビッ
ト用の記憶回路と、図1(b)に示す上位ビット用の記
憶回路とを比較すると、図1(b)に示すマルチプレク
サ33がなく、フェッチラッチ50と実行ラッチ60と
の間にマルチプレクサ34が備えられている点が相違す
る。このマルチプレクサ34にはフェッチラッチ50の
出力と分岐先のアドレスの上位20ビットの部分が入力
されZ信号に従って選択される。 【0026】上記以外の点では、この上位ビット用の記
憶回路と、図1(b)に示す上位ビット用の記憶回路は
全く同じ構成であるので同一の符号を付して重複説明は
省略する。また、実行アドレスに分岐を生じない命令が
実行されている間はZ信号は「0」であり、この場合の
動作は図1(b)に示す上位ビット用の記憶回路と全く
同じであるので説明は省略する。 【0027】図6は、実行アドレスに分岐が生じる場合
の、図5に示す回路における信号等の変化を示すタイミ
ングチャートである。図6には、図4の場合同様に、1
回で2アドレス分の命令がフェッチされる場合が示され
ているが、1回に1アドレス分の命令がフェッチされる
場合にも以下の動作は全く同様に行われる。 【0028】実行アドレスに分岐が生じる命令が実行さ
れた場合には、クロック信号CK1の立ち上がりに同期
してZ信号が「1」になり、その次のクロック信号CK
1の立ち上がりに同期してZ信号が「0」になる。つま
り、図3および図4の場合には、分岐先のアドレスがマ
ルチプレクサによって2クロック周期の間選択されてい
るのに対して、図6の場合には、分岐先のアドレスがマ
ルチプレクサによって選択されるのは1クロック周期の
間だけであり、その分だけ動作に要する時間が短縮され
ている。また、Y信号は信号PCGおよび信号FCGと
は独立に、Z信号が「1」になるのに同期して「0」と
なり、Z信号が「0」になるのに同期して「1」にな
る。なお、図6には、Y信号が「0」である時に分岐命
令が発生した場合が示されているが、Y信号が「1」で
ある時に分岐命令が発生した場合であっても上記と同様
に、Z信号が「1」になるのに同期してY信号が「0」
になり、Z信号が「0」になるのに同期してY信号が
「1」になる。 【0029】Z信号が「1」になった直後のクロック信
号CK2に同期して信号FCGと信号PCGが”H”状
態になり、実行ラッチ60には分岐先のアドレスBの上
位20ビットの部分がそのまま取り込まれる。また、Z
信号が「1」である間はY信号が「0」となっており、
かつ、加算器43により分岐先のアドレスBの上位20
ビットの部分に「0h」が加算されるのでフェッチラッ
チ50には、分岐先のアドレスBの上位20ビットの部
分が取り込まれる。この結果、フェッチラッチ50に記
憶されている値FCHおよび実行ラッチ60に記憶され
ている値PCHそれぞれが変更される。但し、分岐先の
アドレスBの下位4ビットの部分が「1111b」およ
び「1110b」である場合には(1回に1アドレス分
をフェッチする場合は「1111b」である場合に)加
算器43は、分岐先のアドレスBの上位20ビットの部
分に「1h」を加算し、その値がフェッチラッチ50に
取り込まれる。 【0030】以上説明した動作によって本実施形態で
は、1クロック周期の間で、分岐先のアドレスBにそれ
ぞれ対応した実行アドレスおよびフェッチアドレスが取
り込まれる。 【0031】 【発明の効果】以上説明したように、本発明のアドレス
記憶回路によれば、従来よりも小さい回路規模で実行ア
ドレスとフェッチアドレスを記憶することができる
【図面の簡単な説明】 【図1】本発明のアドレス記憶回路の一実施形態を示す
図である。 【図2】実行アドレスが連続的に増加する場合の信号等
の変化を示すタイミングチャートである。 【図3】実行アドレスに分岐が生じる場合の信号等の変
化を示すタイミングチャートである。 【図4】2アドレス分の命令が1回でフェッチされる場
合の信号等の変化を示すタイミングチャートである。 【図5】本発明のアドレス記憶回路の他の実施形態にお
ける上位ビット用の記憶回路を示す図である。 【図6】実行アドレスに分岐が生じる場合の信号等の変
化を示すタイミングチャートである。 【図7】従来のアドレス記憶回路の1ビット分を示す回
路図である。 【符号の説明】 10 フェッチアドレスレジスタ 20 実行アドレスレジスタ 31,32,33,34,70,141,142 マ
ルチプレクサ 41,42,43,131,132 加算器 50 フェッチラッチ 60 実行ラッチ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−343134(JP,A) 特開 昭63−149734(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/38

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 複数の命令が格納されてなるメモリ上
    の、現在実行中の命令が格納されたアドレスを指標する
    実行アドレスと、前記メモリ上の、先読みのためのアド
    レスを指標するフェッチアドレスとを順次書き換えなが
    ら記憶するアドレス記憶回路において、 前記実行アドレスのうちの所定の下位ビット部分を順次
    書き換えながら記憶する実行フリップフロップと、 前記フェッチアドレスのうちの、前記下位ビット部分の
    ビット幅と同じビット幅分の下位ビット部分を順次書き
    換えながら記憶するフェッチフリップフロップと、 前記フェッチアドレスのうちの、前記下位ビット部分を
    除く上位ビット部分を順次書き換えながら記憶するフェ
    ッチラッチと、 前記実行アドレスのうちの、前記下位ビット部分を除く
    上位ビット部分が更新されるタイミングで前記フェッチ
    ラッチの出力を取り込んで記憶する実行ラッチと、 前記フェッチラッチの出力と前記実行ラッチの出力との
    うちの一方の出力を選択するマルチプレクサとを備えた
    ことを特徴とするアドレス記憶回路。
JP28040497A 1997-10-14 1997-10-14 アドレス記憶回路 Expired - Fee Related JP3488815B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28040497A JP3488815B2 (ja) 1997-10-14 1997-10-14 アドレス記憶回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28040497A JP3488815B2 (ja) 1997-10-14 1997-10-14 アドレス記憶回路

Publications (2)

Publication Number Publication Date
JPH11119994A JPH11119994A (ja) 1999-04-30
JP3488815B2 true JP3488815B2 (ja) 2004-01-19

Family

ID=17624568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28040497A Expired - Fee Related JP3488815B2 (ja) 1997-10-14 1997-10-14 アドレス記憶回路

Country Status (1)

Country Link
JP (1) JP3488815B2 (ja)

Also Published As

Publication number Publication date
JPH11119994A (ja) 1999-04-30

Similar Documents

Publication Publication Date Title
US4097920A (en) Hardware control for repeating program loops in electronic computers
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US5459847A (en) Program counter mechanism having selector for selecting up-to-date instruction prefetch address based upon carry signal of adder which adds instruction size and LSB portion of address register
JPH07168753A (ja) モジュロ加算回路およびその動作方法
US6073228A (en) Modulo address generator for generating an updated address
EP1193594B1 (en) Register renaming apparatus and processor
JPS6030973B2 (ja) 高速パタ−ン発生器
JP2000322235A (ja) 情報処理装置
JP3488815B2 (ja) アドレス記憶回路
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
US20080229063A1 (en) Processor Array with Separate Serial Module
JP2003241960A (ja) プロセッサ、該プロセッサにおける演算命令処理方法及び演算制御方法
JP2006065788A (ja) リコンフィギュラブル回路を備えた処理装置
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
US6148386A (en) Address generator circuity for a circular buffer
EP0867804A2 (en) Triangular addressing
JP2901247B2 (ja) 掃出し制御方式
JPH03269728A (ja) パイプライン計算機における命令実行制御方式
JPH05143447A (ja) デイジタルプロセツサ及びその制御方法
JPH04148372A (ja) ハッシュ値算出処理方式
JP3124361B2 (ja) メモリデータロード装置
JP3073738B2 (ja) パイプライン回路合成方法
JP2792351B2 (ja) プログラム開発支援装置
JPH0855027A (ja) レジスタファイルを有するパイプラインプロセッサ
JP3366235B2 (ja) データ読み出し制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031021

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081031

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081031

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101031

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees