JPH0769792B2 - 命令例外検出装置 - Google Patents

命令例外検出装置

Info

Publication number
JPH0769792B2
JPH0769792B2 JP1181110A JP18111089A JPH0769792B2 JP H0769792 B2 JPH0769792 B2 JP H0769792B2 JP 1181110 A JP1181110 A JP 1181110A JP 18111089 A JP18111089 A JP 18111089A JP H0769792 B2 JPH0769792 B2 JP H0769792B2
Authority
JP
Japan
Prior art keywords
instruction
decoded
undefined
decoding
field
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
JP1181110A
Other languages
English (en)
Other versions
JPH0344739A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1181110A priority Critical patent/JPH0769792B2/ja
Publication of JPH0344739A publication Critical patent/JPH0344739A/ja
Publication of JPH0769792B2 publication Critical patent/JPH0769792B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明はプロセッサの命令解読およびマイクロ命令発行
において未定義命令の検出、特権命令実行違反検出等を
行う命令例外検出装置に関するものである。
従来の技術 従来の命令例外検出装置としては、例えば特開昭59-737
号公報に示されている。
第10図はこの従来の命令例外検出装置の構成図を示すも
のであり、100は命令デコーダである。101は初期アドレ
ス発生装置である。102はアドレス選択回路である。103
はマイクロアドレスレジスタである。104はマイクロプ
ログラム記憶装置である。105はマイクロ命令レジスタ
である。
以上のように構成された従来の命令例外検出装置におい
て、以下、動作を説明する。ここで、命令デコーダ100
および初期アドレス発生装置101には定義済の命令に関
する情報のみを格納する。命令が未定義命令の場合に
は、命令デコーダ100においてどのアンド項も非選択と
なり(どの定義済命令にも該当しないため)、初期アド
レス発生装置101からは、アドレス0が出力される。こ
れよりマイクロプログラム記憶装置104のアドレス0の
内容が選択され、未定義命令処理ルーチンが起動され
る。
発明が解決しようとする課題 しかしながら上記のような構成では、命令デコーダおよ
び初期アドレス発生装置をPLA等で実現した場合、多重
選択を用いてアドレス等を生成する場合には、未定義命
令であっても一部のアンド項が選択されアドレス0が出
力されない。(命令デコーダおよび初期アドレス発生装
置をPLAで実現することは従来例にも述べられてい
る。)例えば、複数命令に共通なフィールドであるアド
レシングモード指定フィールドを、命令のオペレーショ
ンフィールドとは独立に解読した場合、未定義命令であ
っても、共通なフィールドは解読され一部のアンド項が
選択される。(この現象をPLAによるゴーストと称す
る)よって、未定義命令検出をアドレス0の場合とする
と、命令解読方法が固定されPLAのターム数(アンド項
およびそのアンド項に対応するオア項をまとめてターム
と称する)は増大してしまう。またPLAの特徴である多
重選択の効果が減少してしまう。
また、使用を禁止したアドレシングモード(禁止アドレ
シングモードと称する)を有する定義済命令を解読した
場合、ベースとなる初期アドレスは命令のオペレーショ
ンフィールドのみによって生成されるため、初期アドレ
ス発生装置からは"0"以外のアドレスが出力され、禁止
アドレシングモード検出が不可能となる。例えば、レジ
スタ間接アドレシングモードは使用が許され、レジスタ
相対間接アドレシングモードは使用が禁止されている命
令を解読する場合、一部のマイクロ命令が異なるだけ
で、アドレスはオペレーションによって決定されるた
め、全く同じアドレスが発生することになる。
一方、以上の問題点を解決する方法として、未定義命令
に対しても初期アドレスを必ず出力し、マイクロプログ
ラム記憶装置に未定義命令処理ルーチン分岐用のマイク
ロ命令を割り付ける方法がある。しかし、全ての未定義
命令に対応すると命令解読装置、初期アドレス発生装置
およびマイクロプログラム記憶装置の大型化を引き起こ
してしまう。
以上のように、従来の命令例外検出装置は命令解読装置
の大型化、複雑化、それによる解読時間の増大、つまり
速度の低下、また命令解読方法の柔軟性の低下などの問
題を有していた。
未定義命令検出方法としては特開昭62-70937号公報に示
されている方法があるが原理的には同じである。
本発明はかかる点に鑑み、小型かつ高速で、解読方法が
簡単であり、命令および機能変更の容易な命令例外検出
装置を提供することを目的とする。
課題を解決するための手段 請求項1記載の発明は、命令の基本動作を指定するフィ
ールドを他のフィールドとは独立に解読し、基本動作を
指定するフィールドのビットパターンが命令として定義
されていない場合には未定義命令であることを示すデー
タを、基本動作を指定するフィールドのビットパターン
が命令として定義されかつ付随動作を有する場合には基
本動作が許可している付随動作を示すデータを、基本動
作を指定するフィールドのビットパターンが命令として
定義されかつ付随動作を持たない場合には基本動作は付
随動作を持たないことを示すデータを出力し、付随動作
を指定するフィールドを他のフィールドとは独立に解読
し、指定されている付随動作を示すデータを出力する命
令解読手段と、命令解読手段で解読中の命令が有効もし
くは無効であることを示すデータを管理する命令解読制
御手段と、命令解読制御手段より出力されるデータは解
読中の命令が有効であることを示している場合には、命
令解読制御手段より出力されるデータより未定義済命令
であることを検出する未定義命令検出手段を備えた命令
例外検出装置である。
請求項2記載の発明は、命令の基本動作を指定するフィ
ールドを他のフィールドとは独立に解読し、基本動作を
指定するフィールドのビットパターンが命令として定義
されていない場合には未定義命令であることを示すデー
タを、基本動作を指定するフィールドのビットパターン
が命令として定義されかつ付随動作を有する場合には基
本動作が許可している付随動作を示すデータを、基本動
作を指定するフィールドのビットパターンが命令として
定義されかつ付随動作を持たない場合には基本動作は付
随動作を持たないことを示すデータを出力し、付随動作
を指定するフィールドを他のフィールドとは独立に解読
し、指定されている付随動作を示すデータを出力する命
令解読手段と、命令解読手段で解読中の命令が有効もし
くは無効であることを示すデータを管理する命令解読制
御手段と、命令解読制御手段より出力されるデータは解
読中の命令が有効であることを示している場合には、命
令解読制御手段より出力されるデータより未定義済命令
であることを検出する未定義命令検出手段マイクロプロ
グラムを格納する制御メモリを備えた例外検出装置であ
る。
作用 請求項1記載の発明は前記した手段により、命令解読手
段において命令を解読し、命令解読制御手段より出力さ
れるデータは解読中の命令が有効であることを示し、か
つ命令解読手段より出力されるデータは解読中の命令が
未定義命令であることを示す場合には命令が未定義命令
であることを検出し、命令解読制御手段より出力される
データは解読中の命令が有効であることを示し、かつ命
令解読手段より出力されるデータは解読中の命令が付随
動作を有する定義済命令であることを示す場合には、命
令の基本動作が許可している付随動作を示すデータと命
令で指定されている付随動作を示すデータより許可され
ていない付随動作の組合せが発生する場合には命令が未
定義命令であることを検出する。
請求項2記載の発明は前記した手段により、命令解読手
段において命令を解読し、命令解読制御手段より出力さ
れるデータは解読中の命令が有効であることを示し、か
つ命令解読手段より出力されるデータは解読中の命令が
未定義命令であることを示す場合には命令が未定義命令
であることを検出し、命令解読制御手段より出力される
データは解読中の命令が有効であることを示し、かつ命
令解読手段より出力されるデータは解読中の命令が付随
動作を有する定義済命令であることを示す場合には、命
令の基本動作が許可している付随動作を示すデータと命
令で指定されている付随動作を示すデータより許可され
ていない付随動作の組合せが発生する場合には命令が未
定義命令であることを検出する、および、命令解読手段
において命令を解読し、命令が定義済命令であることが
判断され、命令解読手段の出力するアドレスより制御メ
モリに格納されている未定義命令処理マイクロルーチン
を起動する、ことより未定義命令を検出する。
実施例 第1図は本発明の命令例外検出装置の構成図である。第
1図において1は、命令解読PLAへの入力を一時保持す
る命令レジスタである。2は、命令を解読し、制御メモ
リの初期アドレス(100ビット)、マイクロ命令、命令
の使用可能なアドレシングモードを示すデータ(4ビッ
ト)(可能アドレシングモードデータと称する)、解読
中の命令が指定するアドレシングモードを示すデータ
(2ビット)(指定アドレシングモードデータと称す
る)、および定義済命令または未定義命令を示すデータ
(1ビット)(バリッドデータと称する)を出力する命
令解読PLA、3は、制御メモリのアドレスを生成する制
御メモリアドレス生成回路、4は、マイクロプログラム
を格納している制御メモリ(アドレスは10ビットとす
る)、5は、制御メモリ4が出力するマイクロ命令を一
時保持するマイクロ命令レジスタ、6は、解読済の命令
が未定義もしくは定義済であることを判断する未定義命
令検出回路、7は、命令解読PLA2が出力する命令の使用
可能なアドレシングモードを示すデータ、および解読中
の命令が指定するアドレシングモードを示すデータより
禁止アドレシングモードの使用を検出する禁止アドレシ
ングモード検出回路、8は、現在解読中の命令が有効も
しくは無効であるか(ここで用いている「有効」および
「無効」とは、命令の定義済、未定義を表す意味ではな
く、命令の定義済、未定義を問わず命令として扱って良
いのかどうかを表す。命令として扱うことに意味がない
命令を「無効な命令」と称する。)の管理と、現在プロ
ッセサが特権状態で動作しているか否かを管理する命令
解読制御回路、第2図は、本実施例で用いる16ビットを
解読単位とする命令フォーマットである。簡単化のため
に次の2種類のフォーマットを用いる。10Aは、6ビッ
トのオペレーション指定部、4ビットのレジスタ直接モ
ード指定部、6ビットのアドレシングモード指定部を有
する命令フォーマットである。10Bは、10ビットのオペ
レーション指定部、6ビットのアドレシングモード指定
部を有する命令フォーマットである。10Cは、16ビット
のオペレーション指定部のみを持ち、アドレシングモー
ド指定を持たない命令フォーマットである。第3図の20
は、本実施例で用いる命令とビットパターンの一覧であ
る。簡単化のために説明に用いる命令のみを記述する。
第4図の30は、本実施例で用いる命令のアドレシングモ
ードとビットパターンの一覧である。簡単化のために用
いるアドレシングモードはレジスタ間接アドレシングモ
ード((Rn))、即値アドレシングモード(Imm)、レ
ジスタ直接アドレシングモード(Rn)の3種類とする。
第5図の40は、命令解読PLA2が出力する、命令に対して
使用可能であるアドレシングモードと、その命令が特権
命令(プロセッサが特権状態で動作しているときのみ実
行可能な命令。非特権状態で特権命令を実行しようとす
ると特権命令違反例外が発生する)であるか否か、を示
すデータフィールドのビットパターンである。例えば、
ある非特権命令に対して使用可能なアドレシングモード
が、ImmとRnならば、フィールドには“0110"を出力す
る。アドレシングモードを持たない命令の場合には、
“0000"を出力する。また、ある特権命令に対して使用
可能なアドレシングモードが、(Rn)ならば、フィール
ドには“1001"を出力する。アドレシングモードを持た
ない命令の場合には、“1000"を出力する。第6図の50
は、命令解読PLA2が出力する、解読中の命令が有するア
ドレシングモードを示すデータフィールドのビットパタ
ーンである。例えば、解読中の命令のアドレシングモー
ド指定部が(Rn)ならば“01"を出力する。アドレシン
グモードのビットパターンにない場合にはアドレシング
モードなしとして“00"を出力する。第7図の60は、禁
止アドレシングモード検出回路7で用いる禁止アドレシ
ングモードの使用を検出するパターンの一覧表である。
禁止アドレシングモードの検出には特権命令であるか否
かは関係ないので、0ビット目はDON'T CARE LOGIC(値
が0もしくは1でも動作に影響しないこと)を表す*と
している。第8図の70は、本実施例で用いる命令解読PL
A2に格納するデータである。71〜85は命令解読PLA2の各
ターム(項)に対応する。ここでは本実施例で説明する
のに必要なタームのみを記述する。なお、マイクロ命令
については本実施例には関係しないのでここでは値は記
述しない。第9図の90は本実施例で用いる制御メモリ4
に格納するマイクロプログラムである。91〜96は各アド
レスに対応するマイクロ命令である。
データで記述すると意味が不明確となるため、マイクロ
命令の意味を記述する。
以上のように構成された本実施例の命令例外検出装置に
ついて、 (A)先ず、定義済命令A“OR R5,R9"(ビットパター
ン“001001 0101 001001")を解読する動作について説
明する。
(A1)命令レジスタ1に一時保持され、命令解読PLA2に
入力される。
(A2)命令解読PLA2においてターム71,74,77,79が選択
され、 制御メモリアドレスフィールド=“0010100110"(74,7
7,79) 可能アドレシングモードデータフィールド=“0101"(7
4,77) 指定アドレシングモードデータフィールド=“11"(7
9) バリッドデータフィールド=“1"(71) が出力される。選択されるタームは第8図より明らかで
ある。
(A3)命令解読制御回路8は、命令解読PLA2の入力命令
が有効な命令と判断していると仮定する。よって命令解
読PLA2の全出力フィールドも有効である。
(A4)未定義命令検出回路6は、命令解読PLA2出力のバ
リッドデータフィールド=1であること、および、命令
解読制御回路6が命令解読PLA2の入力命令が有効な命令
と判断していることにより、入力命令は定義済命令と判
断する。
(A5)禁止アドレシングモード検出回路7は、命令解読
PLA2出力の可能アドレシングモードデータフィールド=
0101であること、命令解読PLA2出力の指定アドレシング
モードデータフィールド=11であること、および、未定
義命令検出回路6が、命令解読PLA2の入力命令が定義済
命令と判断していることより、禁止アドレシングモード
ではないことを判断する。禁止アドレシングモードの使
用を検出するパターンの一覧表60において、禁止アドレ
シングモード検出の項が“0"になっていることより明ら
かである。また、この命令は特権命令でないことより、
特権命令実行違反の検出は行う必要がない。
(A6)制御メモリアドレス生成回路3は、入力命令が定
義済命令であること、禁止アドレシングモードでないこ
と、および、特権命令実行違反も起こしてないことよ
り、命令解読PLA2の出力アドレスを制御メモリ4用のア
ドレスとして生成する。
(A7)制御用メモリ4はアドレス“0010100110"に対応
するマイクロ命令(OR命令処理)91を発行する。
(A8)マイクロ命令をマイクロ命令レジスタ5に一時保
持し、プロセッサの実行ユニット等に対して発行する。
実行ユニットおよび引き続き行なわれる動作について
は、本実施例とは直接関係ないので説明は省略する。
(B)次に、未定義命令B(ビットパターン“110101 0
010 001010")を解読する動作について説明する。
(B1)命令レジスタ1に一時保持され、命令解読PLA2に
入力される。
(B2)命令解読PLA2においてターム79のみが選択され、 制御メモリアドレスフィールド=“0000000010"(79) 可能アドレシングモードデータフィールド=“0000"
(−) 指定アドレシングモードデータフィールド=“11"(7
9) バリッドデータフィールド=“0"(−) が出力される。選択されるタームは第8図より明らかで
ある。
(B3)命令解読制御回路8は、命令解読PLA2の入力命令
が有効な命令と判断していると仮定する。よって命令解
読PLA2の全出力フィールドも有効である。
(B4)未定義命令検出回路6は、命令解読PLA2出力のバ
リッドデータフィールド=0であること、および、命令
解読制御回路8が命令解読PLA2の入力命令が有効な命令
と判断していることより、入力命令は未定義命令と判断
する。
(B5)禁止アドレシングモード検出回路7は、既に未定
義命令検出回路6が、命令解読PLA2の入力命令が未定義
命令と判断していることより、禁止アドレシングモード
検出、および、特権命令実行違反の検出は行う必要がな
い。
(B6)制御メモリアドレス生成回路3は、未定義命令検
出回路6が入力命令が未定義命令であると判断している
ことより、命令例外処理ルーチンの先頭アドレス“1111
110000"を制御メモリ4用のアドレスとして生成する。
本実施例では、未定義命令例外は命令例外の1つとして
処理される。
(B7)制御用メモリ4はアドレス“1111110000"に対応
するマイクロ命令(命令例外処理)96を発行する。
(B8)マイクロ命令をマイクロ命令レジスタ5に一時保
持し、プロセッサの実行ユニット等に対して発行する。
実行ユニットおよび引き続き行なわれる命令例外処理動
作については、本実施例とは直接関係ないので説明は省
略する。
未定義命令Bを解読すると命令例外が検出される。
(C)続いて、未定義命令C(ビットパターン“001011
0101 001001")を解読する動作について説明する。
(C1)命令レジスタ1に一時保持され、命令解読PLA2に
入力される。
(C2)命令解読PLA2においてターム71,74,75,77,79が選
択され、 制御メモリアドレスフィールド=“0010101110"(74,7
5,77,79) 可能アドレシングモードデータフィールド=“0101"(7
4,77) 指定アドレシングモードデータフィールド=“11"(7
9) バリッドデータフィールド=“1"(71) が出力される。選択されるタームは第8図より明らかで
ある。
(C3)命令解読制御回路8は、命令解読PLA2の入力命令
が有効な命令と判断していると仮定する。よって命令解
読PLA2の全出力フィールドも有効である。
(C4)未定義命令検出回路6は、命令解読PLA2出力のバ
リッドデータフィールド=1であること、および、命令
解読制御回路8が命令解読PLA2の入力命令が有効な命令
と判断していることより、入力命令は定義済命令と判断
する。
(C5)禁止アドレシングモード検出回路7は、命令解読
PLA2出力の可能アドレシングモードデータフィールド=
0101であること、命令解読PLA2出力の指定アドレシング
モードデータフィールド=11であること、および、未定
義命令検出回路6が、命令解読PLA2の入力命令が定義済
命令と判断していることより、禁止アドレシングモード
ではないことを判断する。禁止アドレシングモードの使
用を検出するパターンの一覧表60において、禁止アドレ
シングモード検出の項が“0"なっていることより明らか
である。また、この命令は特権命令でないことより、特
権命令実行違反の検出は行う必要がない。
(C6)制御メモリアドレス生成回路3は、入力命令が定
義済命令であること、禁止アドレシングモードでないこ
と、および、特権命令実行違反も起こしてないことよ
り、命令解読PLA2の出力アドレスを制御メモリ4用のア
ドレスとして生成する。
(C7)制御用メモリ4はアドレス“0010101110"に対応
するマイクロ命令(命令例外処理ルーチンへの分岐命
令)94を発行する。
(C8)マイクロ命令をマイクロ命令レジスタ5に一時保
持し、プロセッサの実行ユニット等に対して発行する。
実行ユニットおよび引き続き行なわれる命令例外処理動
作については、本実施例とは直接関係ないので説明は省
略する。
未定義命令Cを解読すると命令例外が検出される。
(D)続いて、定義済命令D“POP #5(Imm)”(ビ
ットパターン“101000 0001 010001")を解読する動作
について説明する。
(D1)命令レジスタ1に一時保持され、命令解読PLA2に
入力される。
(D2)命令解読PLA2においてターム72,81,84が選択さ
れ、 制御メモリアドレスフィールド=“0100000111"(81,8
4) 可能アドレシングモードデータフィールド=“0101"(8
4) 指定アドレシングモードデータフィールド=“10"(8
1) バリッドデータフィールド=“1"(72) が出力される。選択されるタームは第8図より明らかで
ある。
(D3)命令解読制御回路8は、命令解読PLA2の入力命令
が有効な命令と判断していると仮定する。よって命令解
読PLA2の全出力フィールドも有効である。
(D4)未定義命令検出回路6は、命令解読PLA2出力のバ
リッドデータフィールド=1であること、および、命令
解読制御回路15が命令解読PLA2の入力命令が有効な命令
と判断していることより、入力命令は定義済命令と判断
する。
(D5)禁止アドレシングモード検出回路7は、命令解読
PLA2出力の可能アドレシングモードデータフィールド=
0101であること、命令解読PLA2出力の指定アドレシング
モードデータフィールド=10であること、および、未定
義命令検出回路6が、命令解読PLA2の入力命令が定義済
命令と判断していることより、禁止アドレシングモード
であることを判断する。禁止アドレシングモードの使用
を検出するパターンの一覧表60において、禁止アドレシ
ングモード検出の項が“1"になっていることより明らか
である。また、この命令は特権命令でないことより、特
権命令実行違反の検出は行う必要がない。
(D6)制御メモリアドレス生成回路3は、入力命令が定
義済命令であること、禁止アドレシングモードであるこ
とより、命令例外処理ルーチンの先頭アドレス“111111
0000"を制御メモリ4用のアドレスとして生成する。本
実施例では、禁止アドレシンギモード発生例外は命令例
外の1つとして処理される。
(D7)制御用メモリ4はアドレス“1111110000"に対応
するマイクロ命令(命令例外処理)96を発行する。
(D8)マイクロ命令をマイクロ命令レジスタ5に一時保
持し、プロセッサの実行ユニット等に対して発行する。
実行ユニットおよび引き続き行なわれる命令例外処理動
作については、本実施例とは直接関係ないので説明は省
略する。
禁止アドレシングモードを有する定義済命令Dを解読す
ると命令例外(禁止アドレシングモード例外)が検出さ
れる。
(E)続いて、特権命令E“LPSW R6"(ビットパター
ン"101000 0010 000110")を解読する動作について説明
する。
(E1)命令レジスタ1に一時保持され、命令解読PLA2に
入力される。
(E2)命令解読PLA2においてターム72,79,85が選択さ
れ、 制御メモリアドレスフィールド=“0100001010"(79,8
5) 可能アドレシングモードデータフィールド=“1111"(8
5) 指定アドレシングモードデータフィールド=“11"(7
9) バリッドデータフィールド=“1"(72) が出力される。選択されるタームは第8図より明らかで
ある。
(E3)命令解読制御回路8は、命令解読PLA2の入力命令
が有効な命令と判断していると仮定する。よって命令解
読PLA2の全出力フィールドも有効である。
(E4)未定義命令検出回路6は、命令解読PLA2出力のバ
リッドデータフィールド=1であること、および、命令
解読制御回路8が命令解読PLA2の入力命令が有効な命令
と判断していることにより、入力命令は定義済命令と判
断する。
(E5)禁止アドレシングモード検出回路7は、命令解読
PLA2出力の可能アドレシングモードデータフィールド=
1111であること、命令解読PLA2出力の指定アドレシング
モードデータフィールド=11であること、および、未定
義命令検出回路6が、命令解読PLA2の入力命令が定義済
命令と判断していることより、禁止アドレシングモード
でないことを判断する。禁止アドレシングモードの使用
を検出するパターンの一覧表60において、禁止アドレシ
ングモード検出の項が“0"になっていることより明らか
である。また、この命令は特権命令より、特権命令実行
違反の検出を行なう。命令解読制御回路8が管理してい
るプロセッサの状態は“非特権状態”であることより、
特権命令は実行させることができない。よって、禁止ア
ドレシングモード検出回路7において特権命令実行違反
が検出される。
(E6)制御メモリアドレス生成回路3は、入力命令が定
義済命令であること、特権命令実行違反が検出されたこ
とより、命令例外処理ルーチンの先頭アドレス“111111
0000"を制御メモリ4用のアドレスとして生成する。本
実施例では、特権命令実行違反は命令例外の1つとして
処理される。
(E7)制御用メモリ4はアドレス“1111110000"に対応
するマイクロ命令(命令例外処理)96を発行する。
(E8)マイクロ命令をマイクロ命令レジスタ5に一時保
持し、プロセッサの実行ユニット等に対して発行する。
実行ユニットおよび引き続き行なわれる命令例外処理動
作については、本実施例とは直接関係ないので説明は省
略する。
プロセッサが非特権状態の時に特権命令Eを解読すると
命令例外(特権命令実行違反)が検出される。
以上のように本実施例によれば、 (B)命令の未定義、定義済を示すバリッドデータフィ
ールドを持つ命令解読PLAと、バリッドデータフィール
ドより解読命令の未定義、定義済を判断する未定義命令
検出回路を設けることにより、次の効果が得られる。
(B1)多重選択を使用した解読方法および、出力データ
生成方法においても、容易にバリッドデータフィールド
を生成でき、未定義命令の検出を行なえる。
(B2)命令解読PLAおよび、制御メモリは定義済命令を
解読するための最低限の容量しか必要としない。
(B3)バリッドデータフィールドを命令のオペレーショ
ン指定フィールドの一部を用いて生成することにより、
命令解読PLAの容量の削減、命令のビットパターンの変
更に対する修正の容易化、命令の追加削除に対する修正
の容易化が行なえる。
(C)バリッドデータフィールドを持つ命令解読PLA
と、バリッドデータフィールドより解読命令の未定義、
定義済を判断する未定義命令検出回路による未定義命令
検出と、未定義命令に対して命令例外処理ルーチンへの
分岐マイクロ命令を記述した制御メモリを用いた未定義
命令検出を同時に行なうことにより、次の効果が得られ
る。
(C1)ビットパターンの連続している定義済命令に対す
る制御メモリのアドレス生成は、本実施例のような命令
の一部のフィールドをそのままアドレスとする方法が、
一般的である。このうち一部のパターンのみ未定義命令
の場合は、制御メモリにおいて未定義命令の検出を行な
うことにより、解読の簡単化、容量の削減が行なえる。
ミクロ的には、制御メモリの若干量の増大が要求される
が、それ以上に命令解読PLAの容量の削減が行なえ、全
体としてはハードウェア量は減少する。
(C2)命令の追加等は、一般には、一部のみ未定義であ
るパターンに割り付けられることが多いが、そのような
追加に対しても、制御メモリに既に記述された命令例外
処理ルーチンへの分岐命令を本来のマイクロ命令に変更
するだけで対応でき、命令解読PLAの変更も伴わない。
このように変更に対して、簡単に対応でき、かつ変更に
伴う容量の増加も最低限のもので対処可能である。ま
た、一般には、PLAの変更よりもROMの変更のほうが、ハ
ードウェア作成および、検証からも容易であることは、
周知の事実である。
(D)命令のオペレーションフィールドを他のフィール
ドとは独立に解読し決定される可能アドレシングモード
フィールドと、命令のアドレシングモードを他のフィー
ルドとは独立に解読し決定される指定アドレシングモー
ドフィールドを持つ命令解読PLAと、可能アドレシング
モードフィールドと、指定アドレシングモードフィール
ドを比較し、禁止アドレシングモードを検出する禁止ア
ドレシングモード検出回路を設け、指定アドレシングモ
ードが可能アドレシングモードに含まれない場合には、
禁止アドレシングモード例外を発生することにより、次
の効果が得られる。
(D1)命令解読PLAにおいて、オペレーションフィール
ドとアドレシングモードを組合せて解読することによ
り、禁止アドレシングモードを検出しようとすると命令
解読PLAの複雑化、容量増大を招いてしまう。本実施例
に用いた命令セットにおいて、組合せによる解読を行な
うと、3種類のアドレシングモードによる単純計算でも
約3倍の増大となる。
(D2)本実施例の“CPSTRING"のようにアドレシングモ
ードを持たない命令が存在しても、可能アドレシングモ
ードデータに“アドレシングモードなし”の項目を設け
ることにより、簡単に対応できる。
することができる。
(E)命令のオペレーションフィールドを他のフィール
ドとは独立に解読し特権命令または非特権命令であるこ
とを表す可能アドレシングモードフィールドを持つ命令
解読PLAと、プロセッサの状態を管理している命令解読
制御回路を設け、プロセッサが非特権状態にも拘らず、
命令解読PLAにおいて特権命令解読時には特権命令実行
違反を発生することにより、次の効果が得られる。
(E1)命令解読および、命令実行と独立に特権命令実行
違反の検出を行なえるので、実行速度に対するオーバー
ヘッドが生じない。
(E2)特権命令か非特権命令の識別を命令解読PLAで行
なっているので、命令の仕様変更に対して用意に変更可
能である。
(E3)禁止アドレシングモードの検出に使用する可能ア
ドレシングモードフィールドの一部のパターンを利用す
るので、命令解読PLAの容量増加は極端に少ない。(可
能アドレシングモードフィールドの未使用パターンを利
用すれば、命令解読PLAの容量増加は発生しない。) なお、実際には可能アドレシングモードデータのパター
ン数種類に限定されており、アドレシングモードの増加
によってパターン数は指数関数的には増加しない。(本
実施例では簡単化のためにアドレシングモード毎に1ビ
ット設けてある。) また、命令解読PLA2において、1ビットのバリッドデー
タフィールドを設けてあるが、これは未定義命令検出の
高速化のためであり、可能アドレシングモードデータの
“0000"を未定義命令に割当てれば(従来“0000"に割当
てられていたものは変更となるが)、独立にバリッドデ
ータフィールドを設けてなくても容易に実現できる。
また、特権命令の個数は、通常全命令の1割未満であ
り、可能アドレシングモードの種類は限られていること
より、特権命令か非特権命令の区別をするために可能ア
ドレシングモードデータのパターンを2倍用意する必要
はない。(本実施例では簡単化のために、使用可能なア
ドレシングモードを指定するフィールドと、対象命令が
特権命令であるか否かを表すフィールドを独立に設けて
ある。)よって、PLAの出力フィールドは実現可能なビ
ット長で表される。
また、本実施例において、制御メモリ等はROM(Read On
ly Memory)によって、未定義命令検出回路、禁止アド
レシングモード検出回路および、制御メモリアドレス生
成回路等は若干量の組合せ回路で実現できる。これは、
マイクロプロセッサ等においても実現が容易であるこ
と、マイクロプログラム制御に簡単に取り入れ可能なこ
とを考えると大きな長所である。
発明の効果 以上説明したように、本発明によれば、命令解読装置が
小型かつ高速であり、命令解読方法が簡単であり、命令
の追加変更にも容易に対応可能である命令例外検出装置
を得ることができ、その実用的効果は大きい。
【図面の簡単な説明】
第1図は本発明の一実施例の命令例外検出装置の構成
図、第2図は同実施例で用いる命令フォーマットの説明
図、第3図は同実施例で用いる命令とビットパターンの
説明図、第4図は同実施例で用いる命令のアドレシング
モードとビットパターンの説明図、第5図は同実施例で
用いる命令解読PLAが出力する可能アドレシングモード
フィールドの説明図、第6図は同実施例で用いる命令解
読PLAが出力する命令で指定されたアドレシングモード
フィールドの説明図、第7図は同実施例で用いる禁止ア
ドレシングモード検出の説明図、第8図は同実施例で用
いる命令解読PLAに格納するタームの説明図、第9図は
同実施例で用いる制御メモリに格納するマイクロプログ
ラムの説明図、第10図は従来の命令例外検出装置の構成
図である。 2……命令解読PLA、3……制御メモリアドレス生成回
路、4……制御メモリ、6……未定義命令検出回路、7
……禁止アドレシングモード検出回路、8……命令解読
制御回路。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】命令の基本動作を指定する複数のフィール
    ドと、前記基本動作に付随する複数の動作で、かつ基本
    動作と独立で任意に組合せることが可能な付随動作のう
    ちから一つの付随動作を指定する複数のフィールドから
    なる命令において、前記基本動作を指定するフィールド
    を他のフィールドとは独立に解読し、前記基本動作を指
    定するフィールドのビットパターンが命令として定義さ
    れていない場合には未定義命令であることを示すデータ
    を、前記基本動作を指定するフィールドのビットパター
    ンが命令として定義されかつ付随動作を有する場合には
    前記基本動作が許可している付随動作を示すデータを、
    前記基本動作を指定するフィールドのビットパターンが
    命令として定義されかつ付随動作を持たない場合には前
    記基本動作は付随動作を持たないことを示すデータを出
    力し、前記付随動作を指定するフィールドを他のフィー
    ルドとは独立に解読し、指定されている付随動作を示す
    データを出力する命令解読手段と、前記命令解読手段で
    解読中の命令が有効もしくは無効であることを示すデー
    タを管理する命令解読制御手段と、前記命令解読制御手
    段より出力されるデータは解読中の命令が有効であるこ
    とを示し、かつ前記命令解読手段より出力されるデータ
    は解読中の命令が未定義命令であることを示す場合には
    命令が未定義命令であることを検出し、前記命令解読制
    御手段より出力されるデータは解読中の命令が有効であ
    ることを示し、かつ前記命令解読手段より出力されるデ
    ータは解読中の命令が付随動作を有する定義済命令であ
    ることを示す場合には、命令の基本動作が許可している
    付随動作を示すデータと命令で指定されている付随動作
    を示すデータより許可されていない付随動作の組合せが
    発生する場合には命令が未定義命令であることを検出
    し、前記命令解読制御手段より出力されるデータは解読
    中の命令が有効であることを示し、かつ前記命令解読手
    段より出力されるデータは解読中の命令が付随動作を持
    たない定義済命令であることを示す場合には、指定され
    ている付随動作を示すデータにかかわらず定義済命令で
    あることを検出する未定義命令検出手段を備えたことを
    特徴とする命令例外検出装置。
  2. 【請求項2】命令の基本動作を指定する複数のフィール
    ドと、前記基本動作に付随する複数の動作で、かつ基本
    動作と独立で任意に組合せることが可能な付随動作のう
    ちから一つの付随動作を指定する複数のフィールドから
    なる命令において、前記基本動作を指定するフィールド
    を他のフィールドとは独立に解読し、前記基本動作を指
    定するフィールドのビットパターンが命令として定義さ
    れていない場合には未定義命令であることを示すデータ
    を、前記基本動作を指定するフィールドのビットパター
    ンが命令として定義されかつ付随動作を有する場合には
    前記基本動作が許可している付随動作を示すデータを、
    前記基本動作を指定するフィールドのビットパターンが
    命令として定義されかつ付随動作を持たない場合には前
    記基本動作は付随動作を持たないことを示すデータを出
    力し、前記付随動作を指定するフィールドを他のフィー
    ルドとは独立に解読し、指定されている付随動作を示す
    データを出力する命令解読手段と、前記命令解読手段で
    解読中の命令が有効もしくは無効であることを示すデー
    タを管理する命令解読制御手段と、前記命令解読制御手
    段より出力されるデータは解読中の命令が有効であるこ
    とを示し、かつ前記命令解読手段より出力されるデータ
    は解読中の命令が未定義命令であることを示す場合には
    命令が未定義命令であることを検出し、前記命令解読制
    御手段より出力されるデータは解読中の命令が有効であ
    ることを示し、かつ前記命令解読手段より出力されるデ
    ータは解読中の命令が付随動作を有する定義済命令であ
    ることを示す場合には、命令の基本動作が許可している
    付随動作を示すデータと命令で指定されている付随動作
    を示すデータより許可されていない付随動作の組合せが
    発生する場合には命令が未定義命令であることを検出
    し、前記命令解読制御手段より出力されるデータは解読
    中の命令が有効であることを示し、かつ前記命令解読手
    段より出力されるデータは解読中の命令が付随動作を持
    たない定義済命令であることを示す場合には、指定され
    ている付随動作を示すデータにかかわらず定義済命令で
    あることを検出する未定義命令検出手段と、マイクロプ
    ログラムを格納する制御メモリを備え、前記命令解読手
    段の出力されるデータおよび前記命令解読制御手段より
    出力される前記命令が有効であることを示すデータより
    前記未定義命令検出手段が未定義命令を検出する、およ
    び、前記命令解読手段において命令を解読し、前記命令
    が定義済命令であることが判断され、前記命令解読手段
    の出力するアドレスより制御メモリに格納されている未
    定義命令処理マイクロルーチンを起動する、ことより未
    定義命令検出を行うことを特徴とする命令例外検出装
    置。
JP1181110A 1989-07-12 1989-07-12 命令例外検出装置 Expired - Fee Related JPH0769792B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1181110A JPH0769792B2 (ja) 1989-07-12 1989-07-12 命令例外検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1181110A JPH0769792B2 (ja) 1989-07-12 1989-07-12 命令例外検出装置

Publications (2)

Publication Number Publication Date
JPH0344739A JPH0344739A (ja) 1991-02-26
JPH0769792B2 true JPH0769792B2 (ja) 1995-07-31

Family

ID=16095028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1181110A Expired - Fee Related JPH0769792B2 (ja) 1989-07-12 1989-07-12 命令例外検出装置

Country Status (1)

Country Link
JP (1) JPH0769792B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60193046A (ja) * 1984-03-14 1985-10-01 Fujitsu Ltd 命令例外検出方式

Also Published As

Publication number Publication date
JPH0344739A (ja) 1991-02-26

Similar Documents

Publication Publication Date Title
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
JP5646656B2 (ja) 複数の命令セットにより使用されるレジスタ間のマッピング
JPS6122331B2 (ja)
US4954943A (en) Data processing system
KR930022198A (ko) 데이타 처리 장치
US4024504A (en) Firmware loader for load time binding
JPH03171231A (ja) マイクロコンピュータシステム
JP2551167B2 (ja) マイクロコンピュータ
JPH0648461B2 (ja) マイクロプログラムの転送レジスタ指定方式
JPH0769792B2 (ja) 命令例外検出装置
JP2565495B2 (ja) デ−タ処理システム
KR20040111559A (ko) 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치
KR960011669A (ko) 중앙처리장치
JPS6161413B2 (ja)
JPH056281A (ja) 情報処理装置
EP1026581B1 (en) System and method for controlling program execution
JPH01201751A (ja) メモリー保護装置
JPH0814791B2 (ja) 処理システム
JPH05274341A (ja) ベクトル命令処理装置
JP3140028B2 (ja) サブルーチンの引数の受け渡し方式
JPH0628034B2 (ja) タグ付計算機
JP2004038521A (ja) マイクロコンピュータ
JPH06309236A (ja) メモリの不正書込み検出回路
Harris Legal Protection for Microcode and Beyond: A Discussion of the Applicability of the Semiconductor Chip Protection Act and the Copyright Laws to Microcode
JP2743947B2 (ja) マイクロプログラム制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees