JPH0690665B2 - オペランドアクセス制御方式 - Google Patents
オペランドアクセス制御方式Info
- Publication number
- JPH0690665B2 JPH0690665B2 JP854088A JP854088A JPH0690665B2 JP H0690665 B2 JPH0690665 B2 JP H0690665B2 JP 854088 A JP854088 A JP 854088A JP 854088 A JP854088 A JP 854088A JP H0690665 B2 JPH0690665 B2 JP H0690665B2
- Authority
- JP
- Japan
- Prior art keywords
- microprogram
- misaligned
- memory
- operand
- address
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は電子計算機内部の制御方式に関し、特にメモリ
オペランドのアクセス方式に関するものである。
オペランドのアクセス方式に関するものである。
近年マイクロコンピュータは性能向上のためメモリのバ
ス幅を1バイトから2バイトへ、また2バイトから4バ
イトへというように拡大してきた。メモリは、その構成
の容易さとアクセス性能を良くするため、例えばバス幅
が4バイトの場合に1メモリサイクルで実行できるに
は、4バイトアクセスの場合はアドレスの下2ビットが
00である必要があり、2バイトアドレスの場合はアドレ
スの下1ビットが0である必要がある。
ス幅を1バイトから2バイトへ、また2バイトから4バ
イトへというように拡大してきた。メモリは、その構成
の容易さとアクセス性能を良くするため、例えばバス幅
が4バイトの場合に1メモリサイクルで実行できるに
は、4バイトアクセスの場合はアドレスの下2ビットが
00である必要があり、2バイトアドレスの場合はアドレ
スの下1ビットが0である必要がある。
一方、マイクロコンピュータで動作するソフトウェアで
は、あらゆる処理要求に応えるため、1バイト、2バイ
ト、4バイトのように命令毎にオペランドのバイト長を
変えることができるようになっており、さらに、プログ
ラムの作成の容易化のため、バウンダリの制限を無くし
ているものが多い。例えばメモリバス幅が4バイトでア
ドレスの下2ビットが01の4バイトをアクセスするに
は、2度のメモリサイクルを起動する必要がある。この
ようなアクセスをミスアラインドアクセスと呼ぶ。ミス
アラインドアクセスはアドレス計算の結果そうであるこ
とが判明するため、従来は、ミスアラインドとなること
を想定して、メモリサイクルを起動するマイクロプログ
ラムを2命令実行させるか、マイクロプログラムは1命
令でもメモリサイクルは2回出る様にメモリアクセスの
制御回路にシーケンス機能を持たせる方法が採られて来
た。
は、あらゆる処理要求に応えるため、1バイト、2バイ
ト、4バイトのように命令毎にオペランドのバイト長を
変えることができるようになっており、さらに、プログ
ラムの作成の容易化のため、バウンダリの制限を無くし
ているものが多い。例えばメモリバス幅が4バイトでア
ドレスの下2ビットが01の4バイトをアクセスするに
は、2度のメモリサイクルを起動する必要がある。この
ようなアクセスをミスアラインドアクセスと呼ぶ。ミス
アラインドアクセスはアドレス計算の結果そうであるこ
とが判明するため、従来は、ミスアラインドとなること
を想定して、メモリサイクルを起動するマイクロプログ
ラムを2命令実行させるか、マイクロプログラムは1命
令でもメモリサイクルは2回出る様にメモリアクセスの
制御回路にシーケンス機能を持たせる方法が採られて来
た。
しかしながら、前者後者共に次のような欠点を有してい
た。まず前者の方式では、ミスアラインドアクセスでな
い場合でも2ステップのマイクロプログラムを実行させ
るため、性能の低下を来たし、またマイクロプログラム
の容量も増大するという欠点を有していた。次に後者の
方式では、メモリアクセスの制御回路が複雑となり、そ
の結果トランジスタ数の増加や動作周波数の低下を来す
という欠点があった。
た。まず前者の方式では、ミスアラインドアクセスでな
い場合でも2ステップのマイクロプログラムを実行させ
るため、性能の低下を来たし、またマイクロプログラム
の容量も増大するという欠点を有していた。次に後者の
方式では、メモリアクセスの制御回路が複雑となり、そ
の結果トランジスタ数の増加や動作周波数の低下を来す
という欠点があった。
このような課題を解決するために本発明によるオペラン
ドアクセス制御方式は、ミスアラインドアクセスを指示
するマイクロプログラムが実行されたことを検出する検
出手段と、上記マイクロプログラムに2度目のメモリサ
イクルを指示するミスアラインド処理用マイクロプログ
ラムを生成して挿入し実行させる実行手段とを設けるよ
うにしたものである。
ドアクセス制御方式は、ミスアラインドアクセスを指示
するマイクロプログラムが実行されたことを検出する検
出手段と、上記マイクロプログラムに2度目のメモリサ
イクルを指示するミスアラインド処理用マイクロプログ
ラムを生成して挿入し実行させる実行手段とを設けるよ
うにしたものである。
本発明によるオペランドアクセス制御方式においては、
比較的小量のハードウェアでオペランドのミスアライン
ドアクセスを実現することができる。
比較的小量のハードウェアでオペランドのミスアライン
ドアクセスを実現することができる。
第1図は本発明によるオペランドアクセス制御方式の一
実施例が適用されたマイクロプログラム制御型の32ビッ
トマイクロプロセッサのブロック系統図であり、本実施
例を説明し易いように簡略化したものである。同図にお
いて、1はマイクロプログラムメモリ、2〜4はミスア
ラインド処理用マイクロプログラムメモリ、5はマルチ
プレクサ、6はマイクロPC(マイクロプログラムカウン
タ)、7は実行手段としての次命令選択回路、8はマイ
クロプログラムレジスタ、9はデコーダ、10はALU、11
はアドレスレジスタ、12は定数レジスタ、13は検出手段
としてのミスアラインド検出回路である。
実施例が適用されたマイクロプログラム制御型の32ビッ
トマイクロプロセッサのブロック系統図であり、本実施
例を説明し易いように簡略化したものである。同図にお
いて、1はマイクロプログラムメモリ、2〜4はミスア
ラインド処理用マイクロプログラムメモリ、5はマルチ
プレクサ、6はマイクロPC(マイクロプログラムカウン
タ)、7は実行手段としての次命令選択回路、8はマイ
クロプログラムレジスタ、9はデコーダ、10はALU、11
はアドレスレジスタ、12は定数レジスタ、13は検出手段
としてのミスアラインド検出回路である。
説明の都合上、マイクロプログラムのフェッチに1クロ
ック、デコードおよび実行並びにマイクロプログラムの
アドレス更新に1クロックを要するものとし、それぞれ
がシーケンシャルに進むとする。
ック、デコードおよび実行並びにマイクロプログラムの
アドレス更新に1クロックを要するものとし、それぞれ
がシーケンシャルに進むとする。
マイクロプログラムは通常マイクロプログラムメモリ1
から与えられ、マルチプレクサ5を通ってマイクロプロ
グラムレジスタ8にロードされる。この動作をマイクロ
プログラムのフェッチと呼ぶ。マイクロプログラムレジ
スタ8に格納されたマイクロプログラムは、デコーダ9
により必要な情報が抽出され、ALU10などに指示を出
す。また、そのマイクロプログラムがジャンプ命令でな
い限り、マイクロPC6の値をインクリメントする。この
動作をマイクロプログラムの実行と呼ぶ。マイクロPC6
には次にフェッチすべきマイクロプログラムのアドレス
を保持するようにし、上述のようなフェッチと実行を繰
り返すのが通常の動作である。
から与えられ、マルチプレクサ5を通ってマイクロプロ
グラムレジスタ8にロードされる。この動作をマイクロ
プログラムのフェッチと呼ぶ。マイクロプログラムレジ
スタ8に格納されたマイクロプログラムは、デコーダ9
により必要な情報が抽出され、ALU10などに指示を出
す。また、そのマイクロプログラムがジャンプ命令でな
い限り、マイクロPC6の値をインクリメントする。この
動作をマイクロプログラムの実行と呼ぶ。マイクロPC6
には次にフェッチすべきマイクロプログラムのアドレス
を保持するようにし、上述のようなフェッチと実行を繰
り返すのが通常の動作である。
オペランドの読出しを伴う場合は第2図に示すフローチ
ャートのような流れで処理が行なわれる。まず、手順10
1にてアドレス計算が行なわれ、メモリ読出しが起動さ
れる。アドレス計算の結果はアドレスレジスタ11に格納
される。手順101によるメモリ読出しにおいてはミスア
ラインドであるか否かがミスアラインド検出回路13によ
り検出される。すなわち、オペランドバイト長信号aと
アドレスレジスタ11の下2ビットbとから、表1の真理
値表に従って、判定結果としてのミスアラインド信号d
を出力する。また、手順101のマイクロプログラムがミ
スアラインドを起こす可能性があり、次に手順102すな
わちの命令(ミスアラインド処理マイクロプログラム
メモリ2の命令)を要する可能性があることをデコーダ
9で次命令選択信号cとして抽出する。次命令選択回路
7は表2に示すようにマルチプレクサ5の選択信号eお
よびマイクロPC6のインクリメント信号fを生成する。
このように、手順101のうしろに、ミスアラインドアク
セスの場合にのみ手順102が生成される。手順102では、
アドレスレジスタ11の内容に定数レジスタ12から“4"を
出力することによって、アドレス計算を行ない、メモリ
の読出しを起動する。手順103では、手順101と手順102
によって読み出されたオペランドのマージ結果を用いて
一般の計算機と同様に演算を行なう。なお、オペランド
のマージ方法は公知である。
ャートのような流れで処理が行なわれる。まず、手順10
1にてアドレス計算が行なわれ、メモリ読出しが起動さ
れる。アドレス計算の結果はアドレスレジスタ11に格納
される。手順101によるメモリ読出しにおいてはミスア
ラインドであるか否かがミスアラインド検出回路13によ
り検出される。すなわち、オペランドバイト長信号aと
アドレスレジスタ11の下2ビットbとから、表1の真理
値表に従って、判定結果としてのミスアラインド信号d
を出力する。また、手順101のマイクロプログラムがミ
スアラインドを起こす可能性があり、次に手順102すな
わちの命令(ミスアラインド処理マイクロプログラム
メモリ2の命令)を要する可能性があることをデコーダ
9で次命令選択信号cとして抽出する。次命令選択回路
7は表2に示すようにマルチプレクサ5の選択信号eお
よびマイクロPC6のインクリメント信号fを生成する。
このように、手順101のうしろに、ミスアラインドアク
セスの場合にのみ手順102が生成される。手順102では、
アドレスレジスタ11の内容に定数レジスタ12から“4"を
出力することによって、アドレス計算を行ない、メモリ
の読出しを起動する。手順103では、手順101と手順102
によって読み出されたオペランドのマージ結果を用いて
一般の計算機と同様に演算を行なう。なお、オペランド
のマージ方法は公知である。
オペランドの書込みを伴う場合は第3図に示すフローチ
ャートのような流れで処理が行なわれる。まず、手順10
4にてアドレス計算が行なわれ、書込アドレスの保持が
行なわれる。アドレス計算の結果はアドレスレジスタ11
に格納される。第2図の手順と同様に、手順104による
メモリへの書込みはミスアラインドであるか否かがミス
アラインド検出回路13により検出される。また、次命令
選択信号cにより、ミスアラインドである場合は手順10
4の次にの命令(ミスアラインド処理用マイクロプロ
グラムメモリ3の命令)を要することを次命令選択回路
7に伝える。この動作により、ミスアラインドである場
合のみ手順105が生成される。一般の計算機と同様に手
順106によりプロセッサ内で演算が行なわれた後、手順1
07で演算結果がメモリ1に書き込まれるが、アドレスレ
ジスタ11の下2ビットbに残っているアドレスとオペラ
ンドバイト長信号aからミスアラインドであるか否かを
ミスアラインド検出回路13によって判定され、そうであ
る場合のみの命令(ミスアラインド処理用マイクロプ
ログラムメモリ4の命令)が次に実行され、2度のメモ
リサイクルが起動される。
ャートのような流れで処理が行なわれる。まず、手順10
4にてアドレス計算が行なわれ、書込アドレスの保持が
行なわれる。アドレス計算の結果はアドレスレジスタ11
に格納される。第2図の手順と同様に、手順104による
メモリへの書込みはミスアラインドであるか否かがミス
アラインド検出回路13により検出される。また、次命令
選択信号cにより、ミスアラインドである場合は手順10
4の次にの命令(ミスアラインド処理用マイクロプロ
グラムメモリ3の命令)を要することを次命令選択回路
7に伝える。この動作により、ミスアラインドである場
合のみ手順105が生成される。一般の計算機と同様に手
順106によりプロセッサ内で演算が行なわれた後、手順1
07で演算結果がメモリ1に書き込まれるが、アドレスレ
ジスタ11の下2ビットbに残っているアドレスとオペラ
ンドバイト長信号aからミスアラインドであるか否かを
ミスアラインド検出回路13によって判定され、そうであ
る場合のみの命令(ミスアラインド処理用マイクロプ
ログラムメモリ4の命令)が次に実行され、2度のメモ
リサイクルが起動される。
以上説明したように本発明によるオペランドアクセス制
御方式は、ミスアラインドアクセスを検出する検出手段
と、ミスアラインドが検出された時には2度目のメモリ
サイクルを起動し、ミスアラインドのときに必要となる
ミスアラインド処理用マイクロプログラムを生成し、こ
れをマイクロプログラムに挿入して実行させる実行手段
とを設けたことにより、比較的小量のハードウェアでオ
ペランドのミスアラインドアクセスを実現することがで
き、しかも、ミスアラインドでない場合の性能を低下さ
せないという効果がある。
御方式は、ミスアラインドアクセスを検出する検出手段
と、ミスアラインドが検出された時には2度目のメモリ
サイクルを起動し、ミスアラインドのときに必要となる
ミスアラインド処理用マイクロプログラムを生成し、こ
れをマイクロプログラムに挿入して実行させる実行手段
とを設けたことにより、比較的小量のハードウェアでオ
ペランドのミスアラインドアクセスを実現することがで
き、しかも、ミスアラインドでない場合の性能を低下さ
せないという効果がある。
第1図は本発明に係わるオペランドアクセス制御方式の
一実施例が適用されたマイクロプロセッサのブロック系
統図、第2図および第3図は第1図のブロック系統にお
けるメモリ読出しおよびメモリ書込みの動作を説明する
ためのフローチャートである。 1……マイクロプログラムメモリ、2〜4……ミスアラ
インド処理用マイクロプログラムメモリ、5……マルチ
プレクサ、6……マイクロPC、7……次命令選択回路、
8……マイクロプログラムレジスタ、9……デコーダ、
10……ALU、11……アドレスレジスタ、12……定数レジ
スタ、13……ミスアラインド検出回路。
一実施例が適用されたマイクロプロセッサのブロック系
統図、第2図および第3図は第1図のブロック系統にお
けるメモリ読出しおよびメモリ書込みの動作を説明する
ためのフローチャートである。 1……マイクロプログラムメモリ、2〜4……ミスアラ
インド処理用マイクロプログラムメモリ、5……マルチ
プレクサ、6……マイクロPC、7……次命令選択回路、
8……マイクロプログラムレジスタ、9……デコーダ、
10……ALU、11……アドレスレジスタ、12……定数レジ
スタ、13……ミスアラインド検出回路。
Claims (1)
- 【請求項1】マイクロプログラムメモリに格納されたマ
イクロプログラムの指示により読出しオペランドのアド
レス計算およびフェッチ並びに書込みオペランドのアド
レス計算およびアドレスの保持を行なう電子計算機にお
けるオペランドアクセス制御方式において、ミスアライ
ンドであり2度のメモリサイクルを必要とするマイクロ
プログラムが実行されたことを検出する検出手段と、前
記マイクロプログラムのうしろに2度目のメモリサイク
ルを指示するミスアラインド処理用マイクロプログラム
を生成してこれを前記マイクロプログラムに挿入して実
行させる実行手段とを有し、ミスアラインドであるか否
かにかかわらず前記マイクロプログラムメモリからは同
じマイクロプログラムを与えることによりオペランドを
アクセスすることを特徴とするオペランドアクセス制御
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP854088A JPH0690665B2 (ja) | 1988-01-20 | 1988-01-20 | オペランドアクセス制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP854088A JPH0690665B2 (ja) | 1988-01-20 | 1988-01-20 | オペランドアクセス制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01184534A JPH01184534A (ja) | 1989-07-24 |
JPH0690665B2 true JPH0690665B2 (ja) | 1994-11-14 |
Family
ID=11695986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP854088A Expired - Fee Related JPH0690665B2 (ja) | 1988-01-20 | 1988-01-20 | オペランドアクセス制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0690665B2 (ja) |
-
1988
- 1988-01-20 JP JP854088A patent/JPH0690665B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH01184534A (ja) | 1989-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI541658B (zh) | 資料處理裝置及半導體積體電路裝置 | |
US7356717B2 (en) | Information processing apparatus with central processing unit and main memory having power saving mode, and power saving controlling method | |
US4954943A (en) | Data processing system | |
US5574887A (en) | Apparatus and method for emulation routine pointer prefetch | |
JP2001525568A (ja) | 命令デコーダ | |
US6615339B1 (en) | VLIW processor accepting branching to any instruction in an instruction word set to be executed consecutively | |
US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
US6189093B1 (en) | System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register | |
KR0163179B1 (ko) | 데이타 프로세서 | |
CA2003004C (en) | Apparatus and method for executing a conditional branch instruction | |
JPH07120284B2 (ja) | データ処理装置 | |
US6044455A (en) | Central processing unit adapted for pipeline process | |
JP2847316B2 (ja) | プロセッサ | |
JPH0690665B2 (ja) | オペランドアクセス制御方式 | |
US5187782A (en) | Data processing system | |
US5463747A (en) | Microprogram data processor processing operand address calculation and instruction execution with common hardware | |
JPS62197831A (ja) | デ−タ処理装置 | |
JP2721611B2 (ja) | プログラマブルコントローラ | |
JPH028330B2 (ja) | ||
JP2721610B2 (ja) | プログラマブルコントローラ | |
JP3057732B2 (ja) | 情報処理装置 | |
JPS5955546A (ja) | フア−ムウエア処理装置 | |
JPS63206834A (ja) | 命令制御におけるエラ−検出処理方式 | |
JPH0827717B2 (ja) | ミスアライメント処理方式 | |
JPH0795288B2 (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |