JPH0281133A - アドレス生成機構 - Google Patents
アドレス生成機構Info
- Publication number
- JPH0281133A JPH0281133A JP23207088A JP23207088A JPH0281133A JP H0281133 A JPH0281133 A JP H0281133A JP 23207088 A JP23207088 A JP 23207088A JP 23207088 A JP23207088 A JP 23207088A JP H0281133 A JPH0281133 A JP H0281133A
- Authority
- JP
- Japan
- Prior art keywords
- address
- microinstruction
- bits
- program counter
- branch
- 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.)
- Pending
Links
- 230000006870 function Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はアドレス生成機構に関し、特に電子計算機のマ
イクロプロセッサにおけるアドレス生成機構に関する。
イクロプロセッサにおけるアドレス生成機構に関する。
従来、マイクロプロセッサにおけるマイクロプログラム
の実行においてブランチマイクロ命令の実行が指示され
ると、ブランチ先の命令〈ブランチ先マイクロ命令)が
格納されているメモリアドレス(以下、単にアドレスと
いう)の算出(生成)が加算器の使用によってベースア
ドレスとオフセントとが加算されることにより行われ、
その加算結果である目的アドレス(次に実行すべきブラ
ンチ先マイクロ命令のアドレス)がプログラムカウンタ
に格納された後にその目的アドレスによりブランチ先マ
イクロ命令に係るメモリアクセス(メインメモリに対す
るアクセス)が行われるのが通常であった。
の実行においてブランチマイクロ命令の実行が指示され
ると、ブランチ先の命令〈ブランチ先マイクロ命令)が
格納されているメモリアドレス(以下、単にアドレスと
いう)の算出(生成)が加算器の使用によってベースア
ドレスとオフセントとが加算されることにより行われ、
その加算結果である目的アドレス(次に実行すべきブラ
ンチ先マイクロ命令のアドレス)がプログラムカウンタ
に格納された後にその目的アドレスによりブランチ先マ
イクロ命令に係るメモリアクセス(メインメモリに対す
るアクセス)が行われるのが通常であった。
第3図は、このようなブランチマイクロ命令の実行に適
用される従来のアドレス生成機構の一例を示すブロック
図である。
用される従来のアドレス生成機構の一例を示すブロック
図である。
このアドレス生成機構を使用したマイクロプログラムの
実行においては、ブランチマイクロ命令の実行が指示さ
れるとベースアドレスレジスタ31内のベースアドレス
とオフセントレジスタ32内のオフセットとが加算器3
3によって加算されてアドレス生成が行われる。
実行においては、ブランチマイクロ命令の実行が指示さ
れるとベースアドレスレジスタ31内のベースアドレス
とオフセントレジスタ32内のオフセットとが加算器3
3によって加算されてアドレス生成が行われる。
この加算結果(目的アドレス)は、16ビソトブログラ
ムカウンタ34(本例ではメインメモリのアドレスは1
6ビツトで記されるものとする)に格納された後にメイ
ンメモリに出力される(メモリアクセスが行われる)。
ムカウンタ34(本例ではメインメモリのアドレスは1
6ビツトで記されるものとする)に格納された後にメイ
ンメモリに出力される(メモリアクセスが行われる)。
上述した従来のマイクロプロセッサのマイクロプログラ
ムの実行におけるブランチマイクロ命令の実行の際のア
ドレス生成(従来のアドレス生成機構)では、そのブラ
ンチマイクロ命令の実行が指示される毎(通常、マイク
ロプログラムにおけるブランチマイクロ命令の使用関度
はかなり高い)にブランチ先マイクロ命令が格納されて
いるアドレスを算出するために加算器によるアドレス計
算が行われているので、アドレス生成のために多くの時
間を要するという欠点がある。
ムの実行におけるブランチマイクロ命令の実行の際のア
ドレス生成(従来のアドレス生成機構)では、そのブラ
ンチマイクロ命令の実行が指示される毎(通常、マイク
ロプログラムにおけるブランチマイクロ命令の使用関度
はかなり高い)にブランチ先マイクロ命令が格納されて
いるアドレスを算出するために加算器によるアドレス計
算が行われているので、アドレス生成のために多くの時
間を要するという欠点がある。
本発明の目的は、上述の点に鑑み、メモリアクセスのた
めのアドレス生成に要する時間を短縮することができる
アドレス生成機構を提供することにある。
めのアドレス生成に要する時間を短縮することができる
アドレス生成機構を提供することにある。
本発明のアドレス生成機構は、マイクロプログラムによ
りIIJ御されるマイクロプロセッサにおいて、次に実
行すべきマイクロ命令のアドレスの上位ビットおよび下
位ビットを格納するプログラムカウンタと、高速ブラン
チマイクロ命令のデコード時にその高速ブランチマイク
ロ命令の実行時のブランチ先のアドレスの下位ビットを
格納するアドレスレジスタと、高速ブランチマイクロ命
令の実行時に前記プログラムカウンタ内のアドレスの上
位ビットと前記アドレスレジスタ内の内容とをマージす
ることにより目的アドレスを生成しその目的アドレスを
メインメモリに出力するとともに前記プログラムカウン
タにその目的アドレスを格納するマージ機構とを有する
。
りIIJ御されるマイクロプロセッサにおいて、次に実
行すべきマイクロ命令のアドレスの上位ビットおよび下
位ビットを格納するプログラムカウンタと、高速ブラン
チマイクロ命令のデコード時にその高速ブランチマイク
ロ命令の実行時のブランチ先のアドレスの下位ビットを
格納するアドレスレジスタと、高速ブランチマイクロ命
令の実行時に前記プログラムカウンタ内のアドレスの上
位ビットと前記アドレスレジスタ内の内容とをマージす
ることにより目的アドレスを生成しその目的アドレスを
メインメモリに出力するとともに前記プログラムカウン
タにその目的アドレスを格納するマージ機構とを有する
。
本発明のアドレス生成機構では、プログラムカウンタが
次に実行すべきマイクロ命令のアドレスの上位ビットお
よび下位ビットを格納し、アドレスレジスタが高速ブラ
ンチマイクロ命令のデコード時にその高速ブランチマイ
クロ命令の実行時のブランチ先のアドレスの下位ビット
を格納し、マージ機構が高速ブランチマイクロ命令の実
行時にプログラムカウンタ内のアドレスの上位ビットと
アドレスレジスタ内の内容とをマージすることにより目
的アドレスを生成しその目的アドレスをメインメモリに
出力するとともにプログラムカウンタにその目的アドレ
スを格納する。
次に実行すべきマイクロ命令のアドレスの上位ビットお
よび下位ビットを格納し、アドレスレジスタが高速ブラ
ンチマイクロ命令のデコード時にその高速ブランチマイ
クロ命令の実行時のブランチ先のアドレスの下位ビット
を格納し、マージ機構が高速ブランチマイクロ命令の実
行時にプログラムカウンタ内のアドレスの上位ビットと
アドレスレジスタ内の内容とをマージすることにより目
的アドレスを生成しその目的アドレスをメインメモリに
出力するとともにプログラムカウンタにその目的アドレ
スを格納する。
次に、本発明について図面を参照して説明する。
第1図は、本発明のアドレス生成機構の一実施例の構成
を示すブロック図である0本実施例のアドレス生成機構
は、ベースアドレスレジスタlと、オフセントレジスタ
2と、加算器3と、16ビソトブログラムカウンタ4と
、アドレスレジスタ7と、マルチプレクサ(セレクタ)
8とを含んで構成されている。
を示すブロック図である0本実施例のアドレス生成機構
は、ベースアドレスレジスタlと、オフセントレジスタ
2と、加算器3と、16ビソトブログラムカウンタ4と
、アドレスレジスタ7と、マルチプレクサ(セレクタ)
8とを含んで構成されている。
16とントプログラムカウンタ4は、プログラムカウン
タ上位12ビツト5(次に実行すべきマイクロ命令のア
ドレスの上位ビット、本実施例では上位12ビツトとす
る)と、プログラムカウンタ下位4ビツト6(次に実行
すべきマイクロ命令のアドレスの下位ビット、本実施例
では下位4ピツトとする)とから構成されている(16
ビツトプログラムカウンタ4とメインメモリとの間のバ
スは、プログラムカウンタ上位12ビツト5に対応する
バスとプログラムカウンタ下位4ビツト6に対応するバ
スとに分割されており、プログラムカウンタ下位4ビツ
ト6に対応するバスにはマルチプレクサ8が介在してい
る。また、マルチプレクサ8の出力側からプログラムカ
ウンタ下位4ビツト6に向かうバスが存在する0以上の
バスについては図示しないが、図中の各構成要素間の矢
線がそれらに対応している)。
タ上位12ビツト5(次に実行すべきマイクロ命令のア
ドレスの上位ビット、本実施例では上位12ビツトとす
る)と、プログラムカウンタ下位4ビツト6(次に実行
すべきマイクロ命令のアドレスの下位ビット、本実施例
では下位4ピツトとする)とから構成されている(16
ビツトプログラムカウンタ4とメインメモリとの間のバ
スは、プログラムカウンタ上位12ビツト5に対応する
バスとプログラムカウンタ下位4ビツト6に対応するバ
スとに分割されており、プログラムカウンタ下位4ビツ
ト6に対応するバスにはマルチプレクサ8が介在してい
る。また、マルチプレクサ8の出力側からプログラムカ
ウンタ下位4ビツト6に向かうバスが存在する0以上の
バスについては図示しないが、図中の各構成要素間の矢
線がそれらに対応している)。
なお、マルチプレクサ8.プログラムカウンタ上位12
ビツト5に対応するバス、プログラムカウンタ下位4ビ
ツト6に対応するバス(マルチプレクサ80入力側も出
力側も含む)、アドレスレジスタ7とマルチプレクサ8
との間のバスおよびマルチプレクサ8の出力側からプロ
グラムカウンタ下位4ビツト6に向かうバスによりマー
ジ機構が構成されている。
ビツト5に対応するバス、プログラムカウンタ下位4ビ
ツト6に対応するバス(マルチプレクサ80入力側も出
力側も含む)、アドレスレジスタ7とマルチプレクサ8
との間のバスおよびマルチプレクサ8の出力側からプロ
グラムカウンタ下位4ビツト6に向かうバスによりマー
ジ機構が構成されている。
第2図は、本実施例のアドレス生成機構を有するマイク
ロプロセッサにおいて実行されるマイクロプログラムが
格納されているメインメモリの一例の一部を示す図であ
る(本実施例では説明の筒易化のためにメインメモリの
アドレスは16ビツトで記されるものとする)、このメ
インメモリは、ro 106J番地(高速ブランチマイ
クロ命令22が指示するブランチ先、なお、番地数は1
6進数で示す)にブランチ先マイクロ命令21を格納し
ており、ro10EJ番地に高速ブランチマイクロ命令
22を格納している。
ロプロセッサにおいて実行されるマイクロプログラムが
格納されているメインメモリの一例の一部を示す図であ
る(本実施例では説明の筒易化のためにメインメモリの
アドレスは16ビツトで記されるものとする)、このメ
インメモリは、ro 106J番地(高速ブランチマイ
クロ命令22が指示するブランチ先、なお、番地数は1
6進数で示す)にブランチ先マイクロ命令21を格納し
ており、ro10EJ番地に高速ブランチマイクロ命令
22を格納している。
次に、このように構成された本実施例のアドレス生成機
構の動作について説明する。
構の動作について説明する。
マイクロプログラムの実行において普通のブランチマイ
クロ命令(従来から使用されているブランチマイクロ命
令)の実行が指示される場合には、ベースアドレスレジ
スタ1内のベースアドレスとオフセントレジスタ2内の
オフセットとが加算器3によって加算され、加算結果の
目的アドレス(次に実行すべきブランチ先マイクロ命令
のアドレス)が16ビントプログラムカウンタ4に格納
される。
クロ命令(従来から使用されているブランチマイクロ命
令)の実行が指示される場合には、ベースアドレスレジ
スタ1内のベースアドレスとオフセントレジスタ2内の
オフセットとが加算器3によって加算され、加算結果の
目的アドレス(次に実行すべきブランチ先マイクロ命令
のアドレス)が16ビントプログラムカウンタ4に格納
される。
次に、16ビソトブログラムカウンタ4内のプログラム
カウンタ下位4ビツト6がマルチプレクサ8により選択
され(この選択は’[illのブランチマイクロ命令を
認識したデコーダ(図示せず)からの指示に基づいて行
われる)、このプログラムカウンタ下位4ビツト6とプ
ログラムカウンタ上位12ビツト5とがマージされたア
ドレス(目的アドレス)がメモリアクセスのためにメイ
ンメモリに出力される。
カウンタ下位4ビツト6がマルチプレクサ8により選択
され(この選択は’[illのブランチマイクロ命令を
認識したデコーダ(図示せず)からの指示に基づいて行
われる)、このプログラムカウンタ下位4ビツト6とプ
ログラムカウンタ上位12ビツト5とがマージされたア
ドレス(目的アドレス)がメモリアクセスのためにメイ
ンメモリに出力される。
これに対して、メインメモリ内のr010EJ番地の高
速ブランチマイクロ命令22の実行が指示される場合に
は、そのデコード時に高速ブランチマイクロ命令22に
情報として含まれているブランチ先(メインメモリ内の
ro 106J番地のブランチ先マイクロ命令21)の
アドレスの下位4ビツト(2進数のrolloJ)がア
ドレスレジスタ7にデコーダによって格納される。
速ブランチマイクロ命令22の実行が指示される場合に
は、そのデコード時に高速ブランチマイクロ命令22に
情報として含まれているブランチ先(メインメモリ内の
ro 106J番地のブランチ先マイクロ命令21)の
アドレスの下位4ビツト(2進数のrolloJ)がア
ドレスレジスタ7にデコーダによって格納される。
この格納に基づいて、高速ブランチマイクロ命令22の
実行時には、マルチプレクサ8によりアドレスレジスタ
7の内容(ブランチ先のアドレスの下位4ビツト)が選
択され(この選択は高速ブランチマイクロ命令22を認
識したデコーダからの指示に基づいて行われる)、この
内容とプログラムカウンタ上位12ビツト5とがマージ
されたアドレス(次に実行すべきブランチ先マイクロ命
令21のアドレスである目的アドレスのro 106J
番地)がメモリアクセスのためにメインメモリに出力さ
れる。
実行時には、マルチプレクサ8によりアドレスレジスタ
7の内容(ブランチ先のアドレスの下位4ビツト)が選
択され(この選択は高速ブランチマイクロ命令22を認
識したデコーダからの指示に基づいて行われる)、この
内容とプログラムカウンタ上位12ビツト5とがマージ
されたアドレス(次に実行すべきブランチ先マイクロ命
令21のアドレスである目的アドレスのro 106J
番地)がメモリアクセスのためにメインメモリに出力さ
れる。
それとともに、マルチプレクサ8の出力の4ビツト(2
進数のrolloJ)はプログラムカウンタ下位4ビツ
ト6として16ビントプログラムカウンタ4に格納され
る(これにより、16ビソトプログラムカウンタ4内の
アドレスは次に実行すべきブランチ先マイクロ命令21
のアドレスである「0106J番地になる)。
進数のrolloJ)はプログラムカウンタ下位4ビツ
ト6として16ビントプログラムカウンタ4に格納され
る(これにより、16ビソトプログラムカウンタ4内の
アドレスは次に実行すべきブランチ先マイクロ命令21
のアドレスである「0106J番地になる)。
上述の動作により、加算器3を用いたアドレス計算を行
わずにアドレス生成を行うことができ、ブランチを高速
に実行することができる。
わずにアドレス生成を行うことができ、ブランチを高速
に実行することができる。
ただし、本実施例においてはアドレスレジスタ7が4ビ
ツト構成に設定されているので、高速ブランチマイクロ
命令のブランチ先のアドレスはその高速ブランチマイク
ロ命令を含む16バイトバウンダリ内に限定される(例
えば、第2図中の高速ブランチマイクロ命令22のブラ
ンチ先は、高速ブランチマイクロ命令22のアドレスの
上位12ビツト(16進数のro 10J )を共通に
するroloo」〜ro10FJ番地のバウンダリ内に
限定される、なお、このバウンダリ外へのブランチにつ
いては普通のブランチ先マイクロ命令が使用される)、
シかし、アドレスレジスタ7の構成ピッlを増加してブ
ランチ先のバウンダリを拡大することができることはい
うまでもない。
ツト構成に設定されているので、高速ブランチマイクロ
命令のブランチ先のアドレスはその高速ブランチマイク
ロ命令を含む16バイトバウンダリ内に限定される(例
えば、第2図中の高速ブランチマイクロ命令22のブラ
ンチ先は、高速ブランチマイクロ命令22のアドレスの
上位12ビツト(16進数のro 10J )を共通に
するroloo」〜ro10FJ番地のバウンダリ内に
限定される、なお、このバウンダリ外へのブランチにつ
いては普通のブランチ先マイクロ命令が使用される)、
シかし、アドレスレジスタ7の構成ピッlを増加してブ
ランチ先のバウンダリを拡大することができることはい
うまでもない。
以上説明したように本発明は、マイクロプログラムによ
り制御が行われるマイクロプロセッサにおいて、プログ
ラムカウンタ(次に実行すべきマイクロ命令のアドレス
の上位ビットおよび下位ビットを格納するプログラムカ
ウンタ)、アドレスレジスタおよびマージ機構を設け、
高速ブランチマイクロ命令を実行することにより、加算
器を用いたアドレス計算を省略することができ、メモリ
アクセスのためのアドレス生成に要する時間の短縮が可
能になり、マイクロプログラムの処理の高速化を図るこ
とができるという効果がある。
り制御が行われるマイクロプロセッサにおいて、プログ
ラムカウンタ(次に実行すべきマイクロ命令のアドレス
の上位ビットおよび下位ビットを格納するプログラムカ
ウンタ)、アドレスレジスタおよびマージ機構を設け、
高速ブランチマイクロ命令を実行することにより、加算
器を用いたアドレス計算を省略することができ、メモリ
アクセスのためのアドレス生成に要する時間の短縮が可
能になり、マイクロプログラムの処理の高速化を図るこ
とができるという効果がある。
第1図は本発明の一実施例の構成を示すブロック図、
第2図は第1図に示すアドレス生成機構が使用されて実
行されるマイクロプログラムが格納すれているメインメ
モリの一例の一部を示す図、第3図は従来のアドレス生
成機構の構成の一例を示すブロック図である。 図において、 1・・・ベースアドレスレジスタ、 2・・・オフセントレジスタ、 3・・・加算器、 4・・・16ビツトブログラムカウンタ、5・・・プロ
グラムカウンタ上位12ビツト、6・・・プログラムカ
ウンタ下位4ビツト、7・・・アドレスレジスタ、 8・・・マルチプレクサ、 21・・・ブランチ先マイクロ命令、 22・・・高速ブランチマイクロ命令である。
行されるマイクロプログラムが格納すれているメインメ
モリの一例の一部を示す図、第3図は従来のアドレス生
成機構の構成の一例を示すブロック図である。 図において、 1・・・ベースアドレスレジスタ、 2・・・オフセントレジスタ、 3・・・加算器、 4・・・16ビツトブログラムカウンタ、5・・・プロ
グラムカウンタ上位12ビツト、6・・・プログラムカ
ウンタ下位4ビツト、7・・・アドレスレジスタ、 8・・・マルチプレクサ、 21・・・ブランチ先マイクロ命令、 22・・・高速ブランチマイクロ命令である。
Claims (1)
- 【特許請求の範囲】 マイクロプログラムにより制御されるマイクロプロセッ
サにおいて、 次に実行すべきマイクロ命令のアドレスの上位ビットお
よび下位ビットを格納するプログラムカウンタと、 高速ブランチマイクロ命令のデコード時にその高速ブラ
ンチマイクロ命令の実行時のブランチ先のアドレスの下
位ビットを格納するアドレスレジスタと、 高速ブランチマイクロ命令の実行時に前記プログラムカ
ウンタ内のアドレスの上位ビットと前記アドレスレジス
タ内の内容とをマージすることにより目的アドレスを生
成しその目的アドレスをメインメモリに出力するととも
に前記プログラムカウンタにその目的アドレスを格納す
るマージ機構を有することを特徴とするアドレス生成機
構。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23207088A JPH0281133A (ja) | 1988-09-16 | 1988-09-16 | アドレス生成機構 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23207088A JPH0281133A (ja) | 1988-09-16 | 1988-09-16 | アドレス生成機構 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0281133A true JPH0281133A (ja) | 1990-03-22 |
Family
ID=16933517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23207088A Pending JPH0281133A (ja) | 1988-09-16 | 1988-09-16 | アドレス生成機構 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0281133A (ja) |
-
1988
- 1988-09-16 JP JP23207088A patent/JPH0281133A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4631663A (en) | Macroinstruction execution in a microprogram-controlled processor | |
JPS5960652A (ja) | デ−タ処理装置 | |
US4876646A (en) | Data processor having multilevel address translation tables | |
JPH0241053B2 (ja) | ||
JPH0248931B2 (ja) | ||
US4677582A (en) | Operation processing apparatus | |
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
JP2551167B2 (ja) | マイクロコンピュータ | |
JPS6137654B2 (ja) | ||
JPH0281133A (ja) | アドレス生成機構 | |
JPS63111535A (ja) | デ−タ処理装置 | |
JPH09305401A (ja) | コンピュータ及びコンパイラ | |
JP2570846B2 (ja) | 先取り制御ユニット | |
JP2731618B2 (ja) | エミュレータ | |
JP3392413B2 (ja) | 2レベルマイクロ制御方式及び方法 | |
JPS6188334A (ja) | 除算回路 | |
JPS59188900A (ja) | デ−タ処理装置 | |
JPS6129940A (ja) | 演算装置 | |
JPH01120628A (ja) | データ処理装置 | |
JPH0221331A (ja) | マイクロコンピュータのプログラム制御方式 | |
JPS63271567A (ja) | 非対称密結合マルチプロセツサシステム | |
JPS6053895B2 (ja) | 情報処理装置 | |
JPS63245526A (ja) | 情報処理装置 | |
JPS6028014B2 (ja) | マイクロプロセツサ | |
JPH02204828A (ja) | 演算処理装置 |