JPH0827717B2 - ミスアライメント処理方式 - Google Patents

ミスアライメント処理方式

Info

Publication number
JPH0827717B2
JPH0827717B2 JP5566789A JP5566789A JPH0827717B2 JP H0827717 B2 JPH0827717 B2 JP H0827717B2 JP 5566789 A JP5566789 A JP 5566789A JP 5566789 A JP5566789 A JP 5566789A JP H0827717 B2 JPH0827717 B2 JP H0827717B2
Authority
JP
Japan
Prior art keywords
instruction
misalignment
signal line
address
update
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
JP5566789A
Other languages
English (en)
Other versions
JPH02234227A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP5566789A priority Critical patent/JPH0827717B2/ja
Publication of JPH02234227A publication Critical patent/JPH02234227A/ja
Publication of JPH0827717B2 publication Critical patent/JPH0827717B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機におけるミスアライメント処理方式
に関する。
〔従来の技術〕
主記憶等の外部素子をアクセスする命令が、その外部
素子のバウンダリをまたぐ領域に対するものであると
き、ミスアライメントが発生したという。即ち、1回の
バスアクセスにより書き込み,読み出し得る単位が4バ
イト境界から始まる外部素子と32ビットプロセッサとを
想定した場合、外部素子アクセス命令のオペランドアド
レスの下位2ビットが「1」,「2」または「3」であ
る4バイトアクセス,前記2ビットが「2」または
「3」である3バイトアクセス,前記2ビットが「3」
である2バイトアクセスについては、ミスアライメント
が発生し、その外部素子アクセス命令を処理する為には
2回のバスアクセスが必要となる。
このようなミスアライメントの発生し得る計算機で
は、ミスアライメントの発生を検出する検出回路をハー
ドウェア的に有し、またその検出回路でミスアライメン
トの発生が検出されたときは2回のバスアクセスを行っ
てからミスアライメントを発生させた命令の次に本来実
行すべき命令が実行されるようなミスアライメント処理
を行う仕組みが組み込まれている。そして、従来、この
種のミスアライメント処理は第3図に示すようにしてソ
フトウェア制御によって実現されていた。
第3図は、命令のフェッチ,デコード,実行をパイプ
ライン方式で実行するプロセッサのタイムチャートであ
り、f11が外部素子アクセス命令、f12はミスアライメン
ト発生か否かを条件として、ブランチする命令、f2はミ
スアライメントが発生しなかった場合に命令f11の次に
本来実行すべき命令、f3は命令f2の次に実行すべき命
令、命令f11′,f12′,f13′は命令f11がミスアライメ
ントを発生させたことによりフェッチされることとなっ
た命令である。また、d,eはその添字と同一の添字を付
けた命令fのデコードステージ,実行ステージを示し、
NOPはノーオペレーションである。
今、第3図に示すように、メインルーチン中に記述さ
れた命令f11,f12,f2がその順でフェッチされ、命令f
11が実行ステージe11にあるサイクルT13でミスアライメ
ントが発生したとすると、その検出信号により命令f12
のデコードステージd12にてミスアライメント処理ルー
チンの命令アドレスが生成され、またこのときフェッチ
された命令f2に対しNOP化が施される。そして、次のサ
イクルT14において、上記デコードステージd12で生成さ
れた命令アドレスに従ってミスアライメント処理命令f
11′がフェッチされ、続くサイクルT15においてメイン
ルーチンへのリターン命令f12′がフェッチされると共
に命令f11′がデコードされ、次のサイクルT16において
ミスアライメント処理命令f11′が実行されて2回目の
バスアクセス即ち命令f11のアクセスした外部素子の次
のバウンダリへのアクセスが行われる。また同サイクル
T16の命令f12′にかかるデコードステージd12′にてメ
インルーチンへ復帰する命令アドレスが生成され、それ
に従って次のサイクルT17でメインルーチンの命令f2
再フェッチされ、実行がメインルーチンに戻される。な
お、命令f12′のフェッチと命令f2の再フェッチの間に
1サイクル空きが生じるので、NOP命令である命令f13
をダミーでフェッチする動作が行われる。
〔発明が解決しようとする課題〕
ミスアライメントの発生に対して従来は上述した如き
処理により対処していたが、 ソフトウェア制御によるミスアライメント処理ルー
チンへの分岐およびメインルーチンへの復帰を行うの
で、処理に長い時間がかかる。
パイプライン制御によって先取りしていた命令
(f2)をNOP化しなければならず、また再フェッチしな
ければならないので、より一層処理時間が長くなる。
メインルーチン中に命令f12を挿入したり、ミスア
ライメント処理ルーチンを準備する如く、ミスアライメ
ントの発生を考慮してソフトウェアを作成する必要があ
る。
等の問題点があった。
本発明はこのような従来の問題点を解消したものであ
り、その目的は、ミスアライメントの発生をソフトウェ
アで考慮する必要がないと共に先取りした命令をNOP化
する必要もなく、更に高速に処理を済ますことのできる
ミスアライメント処理方式を提供することにある。
〔課題を解決するための手段〕
本発明のミスアライメント処理方式は、上記の目的を
達成するために、命令のフェッチ,デコード,実行をパ
イプライン方式で処理するプロセッサにおいて、ミスア
ライメントの発生時、命令の更新を中断させる命令更新
制御手段と、ミスアライメントの発生したオペランドア
ドレスに一定値を加算したオペランドアドレスを生成す
る加算器とを備え、この加算器で生成されたオペランド
アドレスと前記命令更新制御手段による中断によって時
間延長せしめられたプロセッサの動作制御信号とで外部
素子の次のバウンダリをアクセスし、その後に前記命令
の更新を再開させるようにしている。
〔作用〕
外部素子をアクセスする命令の実行ステージにおいて
ミスアライメントが発生すると、命令更新制御手段が命
令の更新を中断せしめると共に加算器がそのミスアライ
メントの発生したオペランドアドレスに一定値を加算し
て次のバウンダリのオペランドアドレスを生成し、この
生成されたオペランドアドレスと前記命令更新制御手段
による中断によって時間延長せしめられたプロセッサの
動作制御信号(これはミスアライメントを発生した命令
の実行ステージにおける動作制御信号と同じになる)と
で外部素子の次のバウンダリがアクセスされ、その後に
命令の更新が再開され、先取りされていた後続の命令が
処理される。
〔実施例〕
次に、本発明の実施例について図面を参照して詳細に
説明する。
第1図は本発明の一実施例のブロック図であり、命令
のフェッチ,デコード,実行をパイプライン方式で処理
するプロセッサ内に設けられたハードウェアのうち、本
発明のミスアライメント処理方式に関連する部分のみを
示している。同図に含まれる各要素は次のような構成な
いし機能を有する。
・2−1セレクタ1 信号線100から加わるアドレスと信号線101を介して加
算器4から加わるアドレスとを入力とし、信号線103を
通じて加わるフラグ3の保持値が論理値“0"のときは信
号線100のアドレスを信号線102に出力し、論理値“1"の
ときは信号線101のアドレスを信号線102に出力する2入
力1出力のセレクタである。
・ミスアライメント検出回路2 信号線102より加わるアドレスに基づいてミスアライ
メントが発生したか否かを検出し、ミスアライメントの
発生を検出した場合、信号線104のレベルを例えば論理
値“1"にする。
・フラグ3 クロックの立下がりで、ゲート10の出力につながる信
号線105上の論理値を保持し、その保持した論理値を信
号線103を介して2−1セレクタ1およびゲート10に入
力する。
・ゲート10 ミスアライメント検出回路2の出力のマスク用のゲー
トである。このゲート10の機能はミスアライメント検出
回路2内に組み込むことも当然可能である。
・アドレス格納レジスタ5 信号線102を介して2−1セレクタ1からバス11にア
ドレスが出力されると、そのアドレスを信号線106を通
じて入力し、保持するレジスタである。
・バス11 図示しない主記憶などの外部素子につながり、アクセ
スにかかるアドレスを伝達するバスである。
・加算器4 信号線107を介してアドレス格納レジスタ5から供給
されるアドレスと、信号線108を介して入力される一定
値とを加算し、その加算値を信号線101を通じて2−1
セレクタ1に入力する加算器である。ここで、一定値と
は、ミスアライメントの発生したオペランドアドレスと
次のバウンダリのオペランドアドレスとの差に見合った
値であり、32ビットプロセッサのとき+4,16ビットプロ
セッサのとき+2となる。
・命令レジスタ9 外部素子からフェッチされた命令が信号線109を通じ
て入力されるレジスタである。
・デコーダ8 信号線110を介して命令レジスタ9の命令を入力して
デコードするデコーダである。
・制御レジスタ7 デコーダ8の出力を信号線112を通じて入力するレジ
スタであり、その保持内容は、プロセッサの動作制御信
号として信号線113を通じて各部に供給される。
・命令更新制御回路6 ゲート10の出力を信号線105を介して入力し、そのレ
ベルが論理値“1"であると命令の更新を中断せしめる信
号を信号線114に出力する回路である。信号線114にその
種の信号が出力されると、命令レジスタ9への新たな命
令の格納は行われず、デコーダ8は現在の出力を保持
し、制御レジスタ7は現在出力しているプロセッサの動
作制御信号をその後も送出し続ける。
第2図は第1図のタイムチャートであり、以下、この
タイムチャートに従って第1図の実施例の動作を説明す
る。なお、第2図において、f1は外部素子アクセス命
令、f2,f3は命令f1に続いてフェッチされた命令であ
り、d,eはその添字と同一の添字を付けた命令fのデコ
ードステージ,実行ステージを示し、e1′はミスアライ
メント発生時に生成せしめられた実行ステージである。
今、第2図に示すように、命令f1,f2,f3がその順で
フェッチされ、命令f1の実行ステージe1が始まったサイ
クルT3に至ると、制御レジスタ7から命令f1のデコード
結果に応じた動作制御信号が各部に供給され、またその
命令f1のアドレス情報で決定されたオペランドアドレス
が信号線100,2−1セレクタ1,信号線102を介してバス11
に出力され、外部素子のそのオペランドアドレスで指定
された領域がアクセスされる。この時点で命令f1がミス
アライメントを発生しなければ即ちミスアライメント検
出回路2がミスアライメントの発生を検出しなければ、
ゲート105の出力は論理値“0"であり、フラグ3は論理
値“0"を保持したままとなる。また命令更新制御回路6
も命令の更新を中断せしめることはない。このため、次
のサイクルでは命令f2の実行ステージが開始されること
になる。
しかし、命令f1の実行ステージe1でミスアライメント
が発生すると、それを検出したミスアライメント検出回
路2の出力が論理値“1"となり、フラグ3の保持値がそ
の時点では論理値“0"なので、第2図に示すようにゲー
ト10の出力が論理値“1"となる。この結果、命令更新制
御回路6は命令の更新を中断せしめる。またフラグ3に
は次のクロックの立下がりで論理値“1"がセットされ
る。
次のサイクルT4においては、2−1セレクタ1が加算
器4側を選択することになるため、アドレス格納レジス
タ5が保持していた命令f1にかかるオペランドアドレス
に一定値を加算したオペランドアドレスが2−1セレク
タ1,信号線102を介してバス11に出力される。一方、制
御レジスタ7は命令の更新が中断されている為に命令f1
にかかる動作制御信号を継続して出力し続けている。こ
のため、サイクルT4における実行ステージe1′では、命
令f1と同じように外部素子に対するアクセスが実行さ
れ、且つそのアクセス対象は命令f1のアクセスしたバウ
ンダリの次のバウンダリとなる。なお、このときもミス
アライメント検出回路2でミスアライメントが検出され
るが、フラグ3の出力が論理値“1"になっているので、
ミスアライメント検出回路2の出力がゲート10でマスク
され、再度フラグ3がセットされたり、命令更新制御回
路6がなおも命令の更新を中断せしめることはない。こ
の結果、次のサイクルT5では命令f2の実行ステージe2
開始される。
このように本実施例ではミスアライメントにかかる処
理がハードウェアによって実行される。第2図と第3図
とを比較してわかるように、本実施例では従来に比べて
4クロック程度、処理速度を向上することができる。
〔発明の効果〕
以上説明したように、本発明のミスアライメント処理
方式においては、ミスアライメントの発生時、ミスアラ
イメントを発生させたオペランドアドレスに一定値を加
算することにより2回目のバスアクセスにかかるオペラ
ンドアドレスを生成すると共にそれにかかるプロセッサ
の動作制御信号はミスアライメントを発生した命令に基
づいて生成されていた動作制御信号を期間延長すること
により生成して外部素子の次のバウンダリをアクセス
し、その後に命令の更新を再開させるものであり、 ソフトウェア制御によるミスアライメント処理ルー
チンへの分岐およびメインルーチンへの復帰等が不要に
なるので、その分処理時間が短くなる。
パイプライン制御によって先取りしていた命令をNO
P化する必要がないので、より一層処理時間が短縮され
る。
ミスアライメントの発生を考慮してソフトウェアを
作成する必要がない。
等の効果を得ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、 第2図は第1図のタイムチャートおよび、 第3図は従来のミスアライメント処理方式のタイムチャ
ートである。 図において、 1…2−1セレクタ 2…ミスアライメント検出回路 3…フラグ 4…加算器 5…アドレス格納レジスタ 6…命令更新制御回路 7…制御レジスタ 8…デコーダ 9…命令レジスタ 10…ゲート 11…バス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】命令のフェッチ,デコード,実行をパイプ
    ライン方式で処理するプロセッサにおいて、 ミスアライメントの発生時、命令の更新を中断させる命
    令更新制御手段と、 ミスアライメントの発生したオペランドアドレスに一定
    値を加算したオペランドアドレスを生成する加算器とを
    備え、 該加算器で生成されたオペランドアドレスと前記命令更
    新制御手段による中断によって時間延長せしめられたプ
    ロセッサの動作制御信号とで外部素子の次のバウンダリ
    をアクセスし、その後に前記命令の更新を再開させるよ
    うにしたことを特徴とするミスアライメント処理方式。
JP5566789A 1989-03-08 1989-03-08 ミスアライメント処理方式 Expired - Fee Related JPH0827717B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5566789A JPH0827717B2 (ja) 1989-03-08 1989-03-08 ミスアライメント処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5566789A JPH0827717B2 (ja) 1989-03-08 1989-03-08 ミスアライメント処理方式

Publications (2)

Publication Number Publication Date
JPH02234227A JPH02234227A (ja) 1990-09-17
JPH0827717B2 true JPH0827717B2 (ja) 1996-03-21

Family

ID=13005211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5566789A Expired - Fee Related JPH0827717B2 (ja) 1989-03-08 1989-03-08 ミスアライメント処理方式

Country Status (1)

Country Link
JP (1) JPH0827717B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69616718T4 (de) * 1995-05-26 2003-02-20 National Semiconductor Corp., Santa Clara Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten

Also Published As

Publication number Publication date
JPH02234227A (ja) 1990-09-17

Similar Documents

Publication Publication Date Title
US4954943A (en) Data processing system
JP2003085000A (ja) トレース情報生成装置およびその方法
JP3130446B2 (ja) プログラム変換装置及びプロセッサ
EP0378415A2 (en) Multiple instruction dispatch mechanism
KR0163179B1 (ko) 데이타 프로세서
JPH07120284B2 (ja) データ処理装置
JPS6250934A (ja) 処理装置の割込制御方式
JPH0827717B2 (ja) ミスアライメント処理方式
JPH10124312A (ja) 中央処理装置
EP0633521B1 (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
US5187782A (en) Data processing system
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
JP2532560B2 (ja) 高機能な例外処理を行うデ―タ処理装置
JP2944563B2 (ja) パイプライン型情報処理装置
JPH0212429A (ja) ディレイド・ジャンプ対応機能付情報処理装置
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP2979108B2 (ja) データ処理装置における非同期処理の同期化方式
JPS63293638A (ja) データ処理装置
JP2636074B2 (ja) マイクロプロセッサ
JP3116444B2 (ja) 半導体計算装置および電子機器
JP2835179B2 (ja) 並列処理計算機
JPS63247833A (ja) 条件分岐命令制御方法
JPH0424731B2 (ja)
JPS6255738A (ja) プログラムカウンタトレ−ス機構をもつデ−タ処理装置
JPS61112240A (ja) デ−タ処理装置

Legal Events

Date Code Title Description
S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees