JPH02173823A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH02173823A JPH02173823A JP63331765A JP33176588A JPH02173823A JP H02173823 A JPH02173823 A JP H02173823A JP 63331765 A JP63331765 A JP 63331765A JP 33176588 A JP33176588 A JP 33176588A JP H02173823 A JPH02173823 A JP H02173823A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- code
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマイクロプログラムにより命令の実行が制御さ
れるデータ処理装置に関する。
れるデータ処理装置に関する。
従来のデータ処理装置において、オペランドサイズ指定
、 ALUオペレーシヲン指定等のために命令コード
からある特定のビットフィールド(以下、パラメータと
称す)を切出し、これを命令実行部に与えることにより
その命令を実行するものが知られている。そのようなデ
ータ処理装置の一例として、tlsP Na 4.31
2,034の発明について以下に説明する。
、 ALUオペレーシヲン指定等のために命令コード
からある特定のビットフィールド(以下、パラメータと
称す)を切出し、これを命令実行部に与えることにより
その命令を実行するものが知られている。そのようなデ
ータ処理装置の一例として、tlsP Na 4.31
2,034の発明について以下に説明する。
まず、上述の従来のデータ処理装置の構成を第34図の
ブロック図に示す。
ブロック図に示す。
図中、71は命令レジスタであり、次に実行するべき命
令コードをラッチしている。72は命令デコーダであり
、具体的にはPLA(Programmable Lo
gicArry)にて構成されている。この命令デコー
ダ72は、命令レジスタ71から与えられる命令をデコ
ードし、マイクロエントリアドレスを出力する。73は
マイクロエントリアドレスラッチであり、命令デコーダ
72から与えられるマイクロエントリアドレスをラッチ
する。74はマイクロROMであり、マイクロエントリ
アドレスラッチ73から与えられるマイクロエントリア
ドレスにて指定されるマイクロ命令を出力する。75は
マイクロ命令レジスタであり、マイクロROM74から
出力されるマイクロ命令をラッチする。76はパラメー
タラッチであり、命令レジスタにラッチされている命令
コードから切出されたビットフィールドをパラメータと
してラッチする。77はマルチプレクサであり、マイク
ロ命令レジスタ75またはパラメータラッチ76の出力
のいずれかを選択する。78はALUであり、マルチプ
レクサ77の出力に従ってALU演算を実行する。
令コードをラッチしている。72は命令デコーダであり
、具体的にはPLA(Programmable Lo
gicArry)にて構成されている。この命令デコー
ダ72は、命令レジスタ71から与えられる命令をデコ
ードし、マイクロエントリアドレスを出力する。73は
マイクロエントリアドレスラッチであり、命令デコーダ
72から与えられるマイクロエントリアドレスをラッチ
する。74はマイクロROMであり、マイクロエントリ
アドレスラッチ73から与えられるマイクロエントリア
ドレスにて指定されるマイクロ命令を出力する。75は
マイクロ命令レジスタであり、マイクロROM74から
出力されるマイクロ命令をラッチする。76はパラメー
タラッチであり、命令レジスタにラッチされている命令
コードから切出されたビットフィールドをパラメータと
してラッチする。77はマルチプレクサであり、マイク
ロ命令レジスタ75またはパラメータラッチ76の出力
のいずれかを選択する。78はALUであり、マルチプ
レクサ77の出力に従ってALU演算を実行する。
79はマルチプレクサ77及びALU78にて構成され
るデータ演算部である。
るデータ演算部である。
このような従来のデータ処理装置の動作は以下の如くで
ある。
ある。
加算、減算、論理積、論理和、排他的論理和等のALU
を使用する命令が命令レジスタ71から出力されると、
これが命令デコーダ72でデコードされ、演算を実行す
るために使用するマイクロプログラムのエントリアドレ
スがマイクロエントリアドレスラフチア3にラッチされ
る。このマイクロエントリアドレスラッチ73にラッチ
されているマイクロエントリアドレスで指定されたマイ
クロ命令がマイクロROM74から読み出され、マイク
ロ命令レジスタ75にラッチされる。
を使用する命令が命令レジスタ71から出力されると、
これが命令デコーダ72でデコードされ、演算を実行す
るために使用するマイクロプログラムのエントリアドレ
スがマイクロエントリアドレスラフチア3にラッチされ
る。このマイクロエントリアドレスラッチ73にラッチ
されているマイクロエントリアドレスで指定されたマイ
クロ命令がマイクロROM74から読み出され、マイク
ロ命令レジスタ75にラッチされる。
一方、命令レジスタ71にラッチされてる命令コードか
らは実際のALtl演算に必要なパラメータが切出され
、パラメータラッチ76にランチされる。
らは実際のALtl演算に必要なパラメータが切出され
、パラメータラッチ76にランチされる。
マイクロ命令レジスタ75にラッチされている情報の内
のALUオペレーションを指定するフィールドと、パラ
メータラフチア6にラッチされている情報とをマルチプ
レクサ77によりマルチプレクサして得られた情報がA
LU7Bに与えられ、これに基づいて具体的なALU演
算がデータ演算部79で行われる。
のALUオペレーションを指定するフィールドと、パラ
メータラフチア6にラッチされている情報とをマルチプ
レクサ77によりマルチプレクサして得られた情報がA
LU7Bに与えられ、これに基づいて具体的なALU演
算がデータ演算部79で行われる。
このようにして、異なる^Ltl演算を行うべき命令を
同一のマイクロ命令で処理し得るように構成することに
より、マイクロRO?lのサイズを削減している。
同一のマイクロ命令で処理し得るように構成することに
より、マイクロRO?lのサイズを削減している。
(発明が解決しようとする課題〕
従来のデータ処理装置は以上のように構成されているの
で、一つの命令が種々のフォーマットを持つような命令
セットを処理する場合、同一の命令でも各命令フォーマ
ットによってピント割付けが異なるため、切出されるパ
ラメータが異なる。
で、一つの命令が種々のフォーマットを持つような命令
セットを処理する場合、同一の命令でも各命令フォーマ
ットによってピント割付けが異なるため、切出されるパ
ラメータが異なる。
従って、各フォーマット別にマイクロプログラムのエン
トリアドレスを設定しておく必要があり、マイクロI?
OMのサイズが大きくなるという問題点があった。
トリアドレスを設定しておく必要があり、マイクロI?
OMのサイズが大きくなるという問題点があった。
このような事情から、本発明は、一つの命令が複数のフ
ォーマットを有するような命令セントの命令を処理する
場合にも、一つの同一のマイクロ命令で処理可能なデー
タ処理装置の提供を目的とする。
ォーマットを有するような命令セントの命令を処理する
場合にも、一つの同一のマイクロ命令で処理可能なデー
タ処理装置の提供を目的とする。
本発明のデータ処理装置では、実行されるべき命令の命
令コードから切出されたパラメータ (ピントフィール
ド)と前記命令を命令デコーダでデコードした結果得ら
れたパラメータ (ビットフィールド)とを選択1合成
して命令実行手段に対する実行制御情報、即ちオペレー
ション指定用パラメータを生成する手段を備えている。
令コードから切出されたパラメータ (ピントフィール
ド)と前記命令を命令デコーダでデコードした結果得ら
れたパラメータ (ビットフィールド)とを選択1合成
して命令実行手段に対する実行制御情報、即ちオペレー
ション指定用パラメータを生成する手段を備えている。
本発明のデータ処理装置では、命令コードから切出され
たパラメータ (ビットフィールド)と命令デコーダか
ら出力されたパラメータ (ビットフィールド)とを選
択5合成して、オペレーション指定用パラメータが生成
され、このオペレーション指定用パラメータの指示によ
り、演算が実行さ〔発明の実施例〕 以下、本発明をその実施例を示す図面に基づいて詳述す
る。
たパラメータ (ビットフィールド)と命令デコーダか
ら出力されたパラメータ (ビットフィールド)とを選
択5合成して、オペレーション指定用パラメータが生成
され、このオペレーション指定用パラメータの指示によ
り、演算が実行さ〔発明の実施例〕 以下、本発明をその実施例を示す図面に基づいて詳述す
る。
(1)「本発明のデータ処理装置の命令フォーマット」
本発明のデータ処理装置の命令は16ビツト単位で可変
長となっており、奇数バイト長の命令は使用しない。
本発明のデータ処理装置の命令は16ビツト単位で可変
長となっており、奇数バイト長の命令は使用しない。
本発明のデータ処理装置では高頻度命令を短いフォーマ
ットとする目的で特に工夫された命令フォーマット体系
を有する。例えば、2オペランド命令に関しては基本的
に“4バイト+拡張部”の構成を有して総てのアドレッ
シングモードが利用可能な一般形フオーマットと、使用
頻度の高い命令及びアドレッシングモードのみが使用可
能な短縮形フォーマットの2つのフォーマットとがある
。
ットとする目的で特に工夫された命令フォーマット体系
を有する。例えば、2オペランド命令に関しては基本的
に“4バイト+拡張部”の構成を有して総てのアドレッ
シングモードが利用可能な一般形フオーマットと、使用
頻度の高い命令及びアドレッシングモードのみが使用可
能な短縮形フォーマットの2つのフォーマットとがある
。
本発明のデータ処理装置の命令フォーマット中に現われ
る記号の意味は次の通りである。
る記号の意味は次の通りである。
−二オペレーションコードが入る部分
#;リテラルまたは即値が入る部分
Ea:8ミニ8ビツト形のアドレッシングモードでオペ
ランドを指定する部分 Sl+:6ビツトの短縮形のアドレッシングモードでオ
ペランドを指定する部分 Rn:レジスタ上のオペランドをレジスタ番号で指定す
る部分 フォーマットは、第9図に示す如く右側がLSB側で且
つ高いアドレスになっている。アドレスNとアドレスN
+1の2バイトを見ないと命令フォーマットが判別でき
ないようになっているが、これは前述の如く、命令が必
ず16ビツト(2バイト)単位でフェッチ及びデコード
されることを前提としているためである。
ランドを指定する部分 Sl+:6ビツトの短縮形のアドレッシングモードでオ
ペランドを指定する部分 Rn:レジスタ上のオペランドをレジスタ番号で指定す
る部分 フォーマットは、第9図に示す如く右側がLSB側で且
つ高いアドレスになっている。アドレスNとアドレスN
+1の2バイトを見ないと命令フォーマットが判別でき
ないようになっているが、これは前述の如く、命令が必
ず16ビツト(2バイト)単位でフェッチ及びデコード
されることを前提としているためである。
本発明のデータ処理装置では、いずれのフォーマットの
場合も、各オペランドのEaまたはshの拡張部は必ず
そのHaまたはshの基本部を含むハーフワードの直後
に位置される。これは、命令により暗黙に指定される即
値データあるいは命令の拡張部に優先する。従って、4
バイト以上の命令では、Eaの拡張部によって命令のオ
ペレーションコードが分断される場合がある。
場合も、各オペランドのEaまたはshの拡張部は必ず
そのHaまたはshの基本部を含むハーフワードの直後
に位置される。これは、命令により暗黙に指定される即
値データあるいは命令の拡張部に優先する。従って、4
バイト以上の命令では、Eaの拡張部によって命令のオ
ペレーションコードが分断される場合がある。
また後述する如く、多段間接モードによってEaの拡張
部に更に拡張部が付く場合にも、次の命令オペレーショ
ンコードよりもそちらの方が優先される。例えば、第1
ハーフワードにEalを含み、第2ハーフワードにEa
2を含み、第3ハーフワードまである6バイト命令の場
合を考える。Eatに多段間接モードを使用したため、
普通の拡張部の他に多段間接モードの拡張部も付くもの
とすると、実際の命令ピントパターンは、命令の第1ハ
ーフワード(Ealの基本部を含む)+ Ealの拡張
部、Ealの多段間接モード拡張部、命令の第2ハーフ
ワード(Ea2の基本部を含む)+ Ealの拡張部、
命令の第3ハーフワードの順となる。
部に更に拡張部が付く場合にも、次の命令オペレーショ
ンコードよりもそちらの方が優先される。例えば、第1
ハーフワードにEalを含み、第2ハーフワードにEa
2を含み、第3ハーフワードまである6バイト命令の場
合を考える。Eatに多段間接モードを使用したため、
普通の拡張部の他に多段間接モードの拡張部も付くもの
とすると、実際の命令ピントパターンは、命令の第1ハ
ーフワード(Ealの基本部を含む)+ Ealの拡張
部、Ealの多段間接モード拡張部、命令の第2ハーフ
ワード(Ea2の基本部を含む)+ Ealの拡張部、
命令の第3ハーフワードの順となる。
(1,1) r短縮形2オペランド命令」第10図から
第13図は2オペランド命令の短縮形フォーマットを示
す模式図である。
第13図は2オペランド命令の短縮形フォーマットを示
す模式図である。
第10図はメモリーレジスタ間演算命令のフォーマント
を示す模式図である。このフォーマットには、ソースオ
ペランド側がメモリとなるL−formatと、デステ
ィネーションオペランド側がメモリとなるS−form
atとがある。
を示す模式図である。このフォーマットには、ソースオ
ペランド側がメモリとなるL−formatと、デステ
ィネーションオペランド側がメモリとなるS−form
atとがある。
L−formatでは、shはソースオペランドの指定
フィールドを、Rnはデスティネーションオペランドの
レジスタの指定フィールドを、RRはshのオペランド
サイズの指定をそれぞれ表す。レジスタ上に位置された
デスティネーションオペランドのサイズは32ビツトに
固定されている。レジスタ側とメモリ側とのサイズが異
なり、ソース側のサイズが小さい場合に符号拡張が行な
われる。
フィールドを、Rnはデスティネーションオペランドの
レジスタの指定フィールドを、RRはshのオペランド
サイズの指定をそれぞれ表す。レジスタ上に位置された
デスティネーションオペランドのサイズは32ビツトに
固定されている。レジスタ側とメモリ側とのサイズが異
なり、ソース側のサイズが小さい場合に符号拡張が行な
われる。
S−formatでは、Shはデスティネーションオペ
ランドの指定フィールドを、Rnはソースオペランドの
レジスタ指定フィールドを、RRはshのオペランドサ
イズの指定をそれぞれ表す、レジスタ上に位置されたソ
ースオペランドのサイズは32ビツトに固定されている
。レジスタ側とメモリ側とのサイズが異なり、ソース側
のサイズが大きい場合にオーバフローした部分の切捨て
とオーバフローチエツクが行なわれる。
ランドの指定フィールドを、Rnはソースオペランドの
レジスタ指定フィールドを、RRはshのオペランドサ
イズの指定をそれぞれ表す、レジスタ上に位置されたソ
ースオペランドのサイズは32ビツトに固定されている
。レジスタ側とメモリ側とのサイズが異なり、ソース側
のサイズが大きい場合にオーバフローした部分の切捨て
とオーバフローチエツクが行なわれる。
第11図はレジスターレジスタ間演算命令のフォーマッ
ト(R4or+1at)を示す模式図である。Rnはデ
スティネーションレジスタの指定フィールド、RIll
はソースレジスタの指定フィールドである。オペランド
サイズは32ビツトのみである。
ト(R4or+1at)を示す模式図である。Rnはデ
スティネーションレジスタの指定フィールド、RIll
はソースレジスタの指定フィールドである。オペランド
サイズは32ビツトのみである。
第12図はリテラル−メモリ間演算命令のフォーマット
(Q−format)を示す模式図である。間はデイス
テイネ−シランオペランドサイズの指定フィールド、I
IHよリテラルによるソースオペランドの指定フィール
ド、shはデスティネーションオペランドの指定フィー
ルドである。
(Q−format)を示す模式図である。間はデイス
テイネ−シランオペランドサイズの指定フィールド、I
IHよリテラルによるソースオペランドの指定フィール
ド、shはデスティネーションオペランドの指定フィー
ルドである。
第13図は即値−メそり間演算命令のフォーマ・ノ)
(Lforo+at)を示す模式図である。問はオペラ
ンドサイズの指定フィールド(ソース、ディスティネー
ションで共通)、Shはデスティネーションオペランド
の指定フィールドであるm 14or+satの即値の
サイズはデスティネーション側のオペランドのサイズと
共通に8.16.32ビツトとなり、ゼロ拡張及び符号
拡張は行なわれない。
(Lforo+at)を示す模式図である。問はオペラ
ンドサイズの指定フィールド(ソース、ディスティネー
ションで共通)、Shはデスティネーションオペランド
の指定フィールドであるm 14or+satの即値の
サイズはデスティネーション側のオペランドのサイズと
共通に8.16.32ビツトとなり、ゼロ拡張及び符号
拡張は行なわれない。
(1,2) r−船形1オペランド命令」第14図は1
オペランド命令の一船形フオーマフ) (G14orm
at)を示す模式図である。 MMはオペランドサイズ
の指定フィールドである。一部のGl−format命
令では、Eaの拡張部以外にも拡張部がある。また、問
を使用しない命令もある。
オペランド命令の一船形フオーマフ) (G14orm
at)を示す模式図である。 MMはオペランドサイズ
の指定フィールドである。一部のGl−format命
令では、Eaの拡張部以外にも拡張部がある。また、問
を使用しない命令もある。
(1,3) r−船形2オペランド命令」第15図から
第17図は2オペランド命令の一船形フオーマントを示
す模式図である。このフォーマットに含まれるのは、8
ピントで指定する一船形アドレッシングモードのオペラ
ンドが最大2つ存在する命令である。オペランドの総数
自体は3つ以上になる場合がある。
第17図は2オペランド命令の一船形フオーマントを示
す模式図である。このフォーマットに含まれるのは、8
ピントで指定する一船形アドレッシングモードのオペラ
ンドが最大2つ存在する命令である。オペランドの総数
自体は3つ以上になる場合がある。
第15図は第1オペランドがメモリ読み出しを必要とす
る命令のフォーマツ) (G−forIIlat)を示
す模式図である。EaMはデスティネーションオペラン
ドの指定フィールド、開はデスティネーションオペラン
ドサイズの指定フィールド、EaRはソースオペランド
指定フィールド、RRはソースオペランドサイズの指定
フィールドである。一部のG−format命令では、
EaMあるいはEaRの拡張部以外にも拡張部がある。
る命令のフォーマツ) (G−forIIlat)を示
す模式図である。EaMはデスティネーションオペラン
ドの指定フィールド、開はデスティネーションオペラン
ドサイズの指定フィールド、EaRはソースオペランド
指定フィールド、RRはソースオペランドサイズの指定
フィールドである。一部のG−format命令では、
EaMあるいはEaRの拡張部以外にも拡張部がある。
第16図は第1オペランドが8ビフト即値の命令のフォ
ーマント(E−format)を示す模式図である。
ーマント(E−format)を示す模式図である。
EaMはデスティネーションオペランドの指定フィール
ド、問はデスティネーションオペランドサイズの指定フ
ィールド、■・・・はソースオペランド値である。
ド、問はデスティネーションオペランドサイズの指定フ
ィールド、■・・・はソースオペランド値である。
E−formatとI−formatとは機能的には類
似しているが、考え方の点では太き(違っている。具体
的には、E−formatはあくまでも2オペランド−
船形(G−format)の派生形であり、ソースオペ
ランドのサイズが8ビツト固定、ディスティネーション
オペランドのサイズが8 /16/32ビットからの選
択となっている。つまり、E−formatは異種サイ
ズ間の演算を前提とし、デスティネーションオペランド
のサイズに合わせて8ビツトのソースオペランドがゼロ
拡張または符号拡張される。一方、I−formatは
、特に転送命令及び比較命令で頻度の多い即値のパター
ンを短縮形にしたものであり、ソースオペランドとディ
スティネーションオペランドのサイズが等しい。
似しているが、考え方の点では太き(違っている。具体
的には、E−formatはあくまでも2オペランド−
船形(G−format)の派生形であり、ソースオペ
ランドのサイズが8ビツト固定、ディスティネーション
オペランドのサイズが8 /16/32ビットからの選
択となっている。つまり、E−formatは異種サイ
ズ間の演算を前提とし、デスティネーションオペランド
のサイズに合わせて8ビツトのソースオペランドがゼロ
拡張または符号拡張される。一方、I−formatは
、特に転送命令及び比較命令で頻度の多い即値のパター
ンを短縮形にしたものであり、ソースオペランドとディ
スティネーションオペランドのサイズが等しい。
第17図は、第1オペランドがアドレス計算のみの命令
のフォーマント(GA−format)を示す模式図で
ある。EaWはデスティネーションオペランドの指定フ
ィールド、四はデスティネーションオペランドサイズの
指定フィールド、EaAはソースオペランドの指定フィ
ールドである。ソースオペランドとしては実行アドレス
の計算結果自体が使用される。
のフォーマント(GA−format)を示す模式図で
ある。EaWはデスティネーションオペランドの指定フ
ィールド、四はデスティネーションオペランドサイズの
指定フィールド、EaAはソースオペランドの指定フィ
ールドである。ソースオペランドとしては実行アドレス
の計算結果自体が使用される。
第18図は、ショートブランチ命令のフォーマントを示
す模式図である。 CCCCはブランチ条件指定フィー
ルド、disp:8はジャンプ先との変位指定フィール
ドであり、本発明のデータ処理装置では8ビツトで変位
を指定する場合には、ビットパター(1,4) rアド
レッシングモード」本発明のデータ処理装置のアトレン
ジングモード指定方法には、レジスタを含めて6ビツト
で指定する短縮形と、8ビツトで指定する一般形とがあ
る。
す模式図である。 CCCCはブランチ条件指定フィー
ルド、disp:8はジャンプ先との変位指定フィール
ドであり、本発明のデータ処理装置では8ビツトで変位
を指定する場合には、ビットパター(1,4) rアド
レッシングモード」本発明のデータ処理装置のアトレン
ジングモード指定方法には、レジスタを含めて6ビツト
で指定する短縮形と、8ビツトで指定する一般形とがあ
る。
未定義のアドレッシングモードが指定された場合、ある
いは意味的に考えて明らかに不適当なアドレッシングモ
ードの組み合わせが指定された場合には、未定義命令が
実行された場合同様に予約命令例外が発生され、例外処
理が起動される。
いは意味的に考えて明らかに不適当なアドレッシングモ
ードの組み合わせが指定された場合には、未定義命令が
実行された場合同様に予約命令例外が発生され、例外処
理が起動される。
これに8亥当するのは、デスティネーションが即値モー
ドの場合、アドレス計算を伴うべきアドレッシングモー
ド指定フィールドで即値モードを使用した場合等である
。
ドの場合、アドレス計算を伴うべきアドレッシングモー
ド指定フィールドで即値モードを使用した場合等である
。
フォーマットの図中で使われる記号の意味は次の通りで
ある。
ある。
Rn:レジスタ指定
mea+ EA : EAで示されるアドレスのメモリ
内容(Sh):6ビツトの短縮形アドレッシングモード
での指定方法 (Ea):8ビツトの一船形アドレフシングモードでの
指定方法 フォーマントの図において破線にて囲繞された部分は拡
張部を示す。
内容(Sh):6ビツトの短縮形アドレッシングモード
での指定方法 (Ea):8ビツトの一船形アドレフシングモードでの
指定方法 フォーマントの図において破線にて囲繞された部分は拡
張部を示す。
(1,4,1) r基本アドレッシングモード」本発
明のデータ処理装置は様々なアドレッシングモードをサ
ポートする。それらの内、本発明のデータ処理装置でサ
ポートする基本アドレッシングモードには、レジスタ直
接モード、レジスタ間接モード、レジスタ相対間接モー
ド、即値モード、絶対モード、PC(プログラムカウン
タ)相対間接モード、スタックポツプモード及びスタッ
クブツシュモードがある。
明のデータ処理装置は様々なアドレッシングモードをサ
ポートする。それらの内、本発明のデータ処理装置でサ
ポートする基本アドレッシングモードには、レジスタ直
接モード、レジスタ間接モード、レジスタ相対間接モー
ド、即値モード、絶対モード、PC(プログラムカウン
タ)相対間接モード、スタックポツプモード及びスタッ
クブツシュモードがある。
レジスタ直接モードはレジスタの内容をそのままオペラ
ンドとする。フォーマントの模式図を第19図に示す。
ンドとする。フォーマントの模式図を第19図に示す。
Rnは汎用レジスタの番号を示す。
レジスタ間接モードはレジスタの内容をアドレスとする
メモリの内容をオペランドとする。フォーマットの模式
図を第20図に示す。Rnは汎用レジスタの番号を示す
。
メモリの内容をオペランドとする。フォーマットの模式
図を第20図に示す。Rnは汎用レジスタの番号を示す
。
レジスタ相対間接モードはディスプレースメント値が1
6ビツトであるか32ビツトであるかにより2種類があ
る。それぞれ、レジスタの内容に16ピントまたは32
ビツトのディスプレースメント値を加えた値をアドレス
とするメモリの内容をオペランドとする。フォーマント
の模式図を第20図に示す。Rnは汎用レジスタの番号
を示す。disp : 16とdisp : 32とは
それぞれ各々16ビントのディスプレースメント値また
は32ビツトのディスプレースメント値を示す。ディス
プレースメント値は符号付きとして扱う。
6ビツトであるか32ビツトであるかにより2種類があ
る。それぞれ、レジスタの内容に16ピントまたは32
ビツトのディスプレースメント値を加えた値をアドレス
とするメモリの内容をオペランドとする。フォーマント
の模式図を第20図に示す。Rnは汎用レジスタの番号
を示す。disp : 16とdisp : 32とは
それぞれ各々16ビントのディスプレースメント値また
は32ビツトのディスプレースメント値を示す。ディス
プレースメント値は符号付きとして扱う。
即値モードは命令コード中で指定されるビットパターン
をそのまま2進数と見なしてオペランドとする。フォー
マントの模式図を第22図に示す。
をそのまま2進数と見なしてオペランドとする。フォー
マントの模式図を第22図に示す。
1m5−dataは即値を示す、 imm−dataの
サイズは、オペランドサイズとして命令中で指定される
。
サイズは、オペランドサイズとして命令中で指定される
。
絶対モードはアドレス値が16ビツトで示されるか32
ピントで示されるかにより2種類ある。それぞれ、命令
コード中で指定される16ビツトまたは32ビツトのビ
ットパターンをアドレスとするメモリの内容をオペラン
ドとする。フォーマットの模式図を第23図に示す。a
bs:16とabs:32とはそれぞれ16ビツトまた
は32ビツトのアドレス値を示す。
ピントで示されるかにより2種類ある。それぞれ、命令
コード中で指定される16ビツトまたは32ビツトのビ
ットパターンをアドレスとするメモリの内容をオペラン
ドとする。フォーマットの模式図を第23図に示す。a
bs:16とabs:32とはそれぞれ16ビツトまた
は32ビツトのアドレス値を示す。
abs :16でアドレスが示される時は指定されたア
ドレス値を32ビツトに符号拡張する。
ドレス値を32ビツトに符号拡張する。
PC相対間接モードはディスプレースメント値が16ビ
ツトか32ビツトかにより2種類ある。それぞれ、プロ
グラムカウンタの内容に16ビツトまたは32ビツトの
ディスプレースメント値を加えた値をアドレスとするメ
モリの内容をオペランドとする。
ツトか32ビツトかにより2種類ある。それぞれ、プロ
グラムカウンタの内容に16ビツトまたは32ビツトの
ディスプレースメント値を加えた値をアドレスとするメ
モリの内容をオペランドとする。
フォーマットの模式図を第24図に示す。disp :
16とdisp : 32とはそれぞれ16ビントの
ディスプレースメント値または32ビツトのディスプレ
ースメント値を示す。ディスプレースメント値は符号付
きとして扱う。PC相対間接モードにおいて、参照され
るプログラムカウンタの値はそのオペランドを含む命令
の先頭アドレスである。多段間接アドレッシングモード
においてプログラムカウンタの値が参照される場合にも
、同じように命令の先頭のアドレスをPC相対の基準値
として使用する。
16とdisp : 32とはそれぞれ16ビントの
ディスプレースメント値または32ビツトのディスプレ
ースメント値を示す。ディスプレースメント値は符号付
きとして扱う。PC相対間接モードにおいて、参照され
るプログラムカウンタの値はそのオペランドを含む命令
の先頭アドレスである。多段間接アドレッシングモード
においてプログラムカウンタの値が参照される場合にも
、同じように命令の先頭のアドレスをPC相対の基準値
として使用する。
スタックポツプモードはスタソクポ・インク(SP)の
内容をアドレスとするメモリの内容をオペランドとする
。オペランドアクセス後、スタックポインタをオペラン
ドサイズだけインクリメントする。
内容をアドレスとするメモリの内容をオペランドとする
。オペランドアクセス後、スタックポインタをオペラン
ドサイズだけインクリメントする。
例えば、32ビツトデータを扱う場合には、オペランド
アクセス後にSPが+4だけ更新(インクリメント)さ
れる、B、Hのサイズのオペランドに対するスタックポ
ツプモードの指定も可能であり、それぞれSPが+1.
+2だけ更新(インクリメント)される、フォーマット
の模式図を第25図に示す。オペランドに対しスタック
ポツプモードが意味を持たないものに関しては予約命令
例外が発生される。
アクセス後にSPが+4だけ更新(インクリメント)さ
れる、B、Hのサイズのオペランドに対するスタックポ
ツプモードの指定も可能であり、それぞれSPが+1.
+2だけ更新(インクリメント)される、フォーマット
の模式図を第25図に示す。オペランドに対しスタック
ポツプモードが意味を持たないものに関しては予約命令
例外が発生される。
具体的に予約命令例外となるのは、writeオペラン
ド、read−modHy−wri teオペランドに
対するスタックポツプモード指定である。
ド、read−modHy−wri teオペランドに
対するスタックポツプモード指定である。
スタックブツシュモードはスタックポインタの内容をオ
ペランドサイズだけデクリメントした内容をアドレスと
するメモリの内容をオペランドとする。スタックブツシ
ュモードでは、オペランドアクセス前にスタックポイン
タがデクリメントされる0例えば、32ビツトデータを
扱う場合には、オペランドアクセス前にSPが−4だけ
更新(デクリメント)される、B、Hのサイズのオペラ
ンドに対するスタックブツシュモードの指定も可能であ
り、それぞれSPが−1,−2だけ更新(デクリメント
)される。フォーマットの模式図を第26図に示す。オ
ペランドに対してスタックブツシュモードが意味を持た
ないものに関しては、予約命令例外が発生される。具体
的に予約命令例外となるのは、readオペランド、r
ead−modify−writeオペランドに対すス
タックブツシュモード指定である。
ペランドサイズだけデクリメントした内容をアドレスと
するメモリの内容をオペランドとする。スタックブツシ
ュモードでは、オペランドアクセス前にスタックポイン
タがデクリメントされる0例えば、32ビツトデータを
扱う場合には、オペランドアクセス前にSPが−4だけ
更新(デクリメント)される、B、Hのサイズのオペラ
ンドに対するスタックブツシュモードの指定も可能であ
り、それぞれSPが−1,−2だけ更新(デクリメント
)される。フォーマットの模式図を第26図に示す。オ
ペランドに対してスタックブツシュモードが意味を持た
ないものに関しては、予約命令例外が発生される。具体
的に予約命令例外となるのは、readオペランド、r
ead−modify−writeオペランドに対すス
タックブツシュモード指定である。
(1,4,2) r多段間接アドレッシングモード」如
何に複雑なアドレッシングも、基本的には加算と間接参
照の組み合わせに分解される。従って、加算と間接参照
のオペレーションをアドレッシングのプリミティブとし
て与えておき、それを任意に組み合わせることができれ
ば、如何なる複雑なアドレッシングモードをも実現可能
となる0本発明のデータ処理装置の多段間接アドレッシ
ングモードはこの様な考え方に基づいたアドレッシング
モードである。複雑なアドレッシングモードはモジュー
ル間のデータ参照あるいはAl (人工知能)言語の処
理系に特に有用である。
何に複雑なアドレッシングも、基本的には加算と間接参
照の組み合わせに分解される。従って、加算と間接参照
のオペレーションをアドレッシングのプリミティブとし
て与えておき、それを任意に組み合わせることができれ
ば、如何なる複雑なアドレッシングモードをも実現可能
となる0本発明のデータ処理装置の多段間接アドレッシ
ングモードはこの様な考え方に基づいたアドレッシング
モードである。複雑なアドレッシングモードはモジュー
ル間のデータ参照あるいはAl (人工知能)言語の処
理系に特に有用である。
多段間接アドレッシングモードを指定する場合、基本ア
ドレッシングモード指定フィールドでは、レジスタベー
ス多段間接モード、PCベース多段間接モード、絶対ベ
ース多段間接モードの3種類の指定方法の内のいずれか
1つを指定する。
ドレッシングモード指定フィールドでは、レジスタベー
ス多段間接モード、PCベース多段間接モード、絶対ベ
ース多段間接モードの3種類の指定方法の内のいずれか
1つを指定する。
レジスタペース多段間1妄モードはレジスタの値を拡張
する多段間接アドレッシングのベース値とするアドレッ
シングモードである。フォーマントの模式図を第27閣
に示す。Rnは汎用レジスタの番号を示す。
する多段間接アドレッシングのベース値とするアドレッ
シングモードである。フォーマントの模式図を第27閣
に示す。Rnは汎用レジスタの番号を示す。
PCベース多段間接モードはプログラムカウンタの値を
拡張する多段間接アドレッシングのベース値とするアド
レッシングモードである。フォーマットの模式図を第2
8図に示す。
拡張する多段間接アドレッシングのベース値とするアド
レッシングモードである。フォーマットの模式図を第2
8図に示す。
絶対ベース多段間接モードはゼロを拡張する多段間接ア
ドレッシングのベース値とするアドレッシングモードで
ある。フォーマントの模式図を第29図に示す。
ドレッシングのベース値とするアドレッシングモードで
ある。フォーマントの模式図を第29図に示す。
拡張する多段間接モード指定フィールドは16ビツトを
単位としており、これを任意回反復する。
単位としており、これを任意回反復する。
1段の多段間接モードにより、ディスプレースメントの
加算、インデクスレジスタのスケーリング(Xll X
2. X4. X8)と加算、メモリの間接参照を行な
う。多段間接モードのフォーマットの模式図を第30図
に示す。各フィールドは以下に示す意味を持つ。
加算、インデクスレジスタのスケーリング(Xll X
2. X4. X8)と加算、メモリの間接参照を行な
う。多段間接モードのフォーマットの模式図を第30図
に示す。各フィールドは以下に示す意味を持つ。
E=O
E=1
:多段間接モード継続
ニアドレス計算終了
tmp ==> address of opera
ndr・0 :メモリ間接参照なし tIIip+disp+Rx*5cale==>tmp
I・1 ;メモリ間接参照あり memtamp+disp+Rx*5cale==>t
mpM=O: <Rx>をインデクスとして使用台=
1 :特殊なインデクス <Rx>=Oインデクス値を加算しな い (Rx=O) <RX>・1 プログラムカウンタをインデクス(直
として使用 (Rx=PC) <Rx>g2〜 reserved o=o:多段間接モード中の4ビツトのフィールドd4
の値を4倍してディスプレースメント値とし、これを加
算する d4は符号付きとして扱い、オペラン ドのサイズとは関係なく必ず4倍して 使用する D・1 :多段間接モードの拡張部で指定されたdis
px(16/32ビツト)をディスプレースメント値と
し、これを加算する 拡張部のサイズはd4フィールドで指 定する d4=0001 dispxは16ビソトd4=0
010 dispxは32ビットxX:インデクス
のスケール(scale=1/2/4/8)プログラム
カウンタに対してX2. X4; X 8のスケーリン
グを行なった場合には、その段の処理終了後の中間値(
tIIlp)として不定値が入る。この多段間接モード
によって得られる実効アドレスは予測できない値となる
が、例外は発生しない。プログラムカウンタに対するス
ケーリングの指定は行なってはいけない。
ndr・0 :メモリ間接参照なし tIIip+disp+Rx*5cale==>tmp
I・1 ;メモリ間接参照あり memtamp+disp+Rx*5cale==>t
mpM=O: <Rx>をインデクスとして使用台=
1 :特殊なインデクス <Rx>=Oインデクス値を加算しな い (Rx=O) <RX>・1 プログラムカウンタをインデクス(直
として使用 (Rx=PC) <Rx>g2〜 reserved o=o:多段間接モード中の4ビツトのフィールドd4
の値を4倍してディスプレースメント値とし、これを加
算する d4は符号付きとして扱い、オペラン ドのサイズとは関係なく必ず4倍して 使用する D・1 :多段間接モードの拡張部で指定されたdis
px(16/32ビツト)をディスプレースメント値と
し、これを加算する 拡張部のサイズはd4フィールドで指 定する d4=0001 dispxは16ビソトd4=0
010 dispxは32ビットxX:インデクス
のスケール(scale=1/2/4/8)プログラム
カウンタに対してX2. X4; X 8のスケーリン
グを行なった場合には、その段の処理終了後の中間値(
tIIlp)として不定値が入る。この多段間接モード
によって得られる実効アドレスは予測できない値となる
が、例外は発生しない。プログラムカウンタに対するス
ケーリングの指定は行なってはいけない。
多段間接モードによる命令フォーマットのバリエーショ
ンを第31図、第32図に示す。
ンを第31図、第32図に示す。
第31図は、多段間接モードが継続するか終了するかの
バリエーションを示す。
バリエーションを示す。
第32図は、ディスプレースメントのサイズのバリエー
ションを示す。
ションを示す。
任意段数の多段間接モードが利用できれば、コンパイラ
の中で段数による場合分けが不要になるので、コンパイ
ラの負担が軽減されるというメリットがある。多段の間
接参照の頻度が非常に少ないとしても、コンパイラとし
ては必ず正しいコードを発生できなければならないから
である。このため、フォーマット上では任意の段数が可
能になっている。
の中で段数による場合分けが不要になるので、コンパイ
ラの負担が軽減されるというメリットがある。多段の間
接参照の頻度が非常に少ないとしても、コンパイラとし
ては必ず正しいコードを発生できなければならないから
である。このため、フォーマット上では任意の段数が可
能になっている。
(1,5) r例外処理」
本発明のデータ処理装置はソフトウェア負荷の軽減のた
め豊富な例外処理機能を有する。本発明のデータ処理装
置では、例外処理は命令処理を再実行するもの(例外)
、命令処理を完了するもの(トラップ)及び割込の3種
類に分けて名称をつけている。また本発明のデータ処理
装置では、この3種の例外処理とシステム障害とを総称
してBITと称する。
め豊富な例外処理機能を有する。本発明のデータ処理装
置では、例外処理は命令処理を再実行するもの(例外)
、命令処理を完了するもの(トラップ)及び割込の3種
類に分けて名称をつけている。また本発明のデータ処理
装置では、この3種の例外処理とシステム障害とを総称
してBITと称する。
(2)「機能ブロックの構成」
第1図は本発明のデータ処理装置の構成を示すブロック
図である。
図である。
本発明のデータ処理装置の内部を機能的に大きく分ける
と、命令フェッチ部51.命令デコード部52、 PC
計算部53.オペランドアドレス計算部54゜マイクロ
ROM部55.データ演算部56.外部バスインターフ
ェイス部57に分かれる。
と、命令フェッチ部51.命令デコード部52、 PC
計算部53.オペランドアドレス計算部54゜マイクロ
ROM部55.データ演算部56.外部バスインターフ
ェイス部57に分かれる。
第1図では、その他にCPU外部にアドレスを出力する
ためのアドレス出力回路58と、CPU外部とデータを
人出力するためのデータ人出力回路59とを他の機能ブ
ロック部と分けて示した。
ためのアドレス出力回路58と、CPU外部とデータを
人出力するためのデータ人出力回路59とを他の機能ブ
ロック部と分けて示した。
(2,1)r命令フェッチ部」
命令フェッチ部51にはブランチバッファ、命令キュー
とその制御部等があり、次にフェッチすべき命令のアド
レスを決定してブランチバッファあるいはCPU外部の
メモリから命令をフェッチする。
とその制御部等があり、次にフェッチすべき命令のアド
レスを決定してブランチバッファあるいはCPU外部の
メモリから命令をフェッチする。
またブランチバッファへの命令登録をも行う。
ブランチバッファは小規模であるためセレクティブキャ
ッシュとして動作する。ブランチバッファの動作の詳細
は特開昭63−56731号に開示されている。
ッシュとして動作する。ブランチバッファの動作の詳細
は特開昭63−56731号に開示されている。
次にフェッチすべき命令のアドレスは、命令キューに入
力すべき命令のアドレスとして専用のカウンタにて計算
される。分岐あるいはジャンプが発生した場合には、新
たな命令のアドレスがpc計算部53あるいはデータ演
算部56から転送されてくる。
力すべき命令のアドレスとして専用のカウンタにて計算
される。分岐あるいはジャンプが発生した場合には、新
たな命令のアドレスがpc計算部53あるいはデータ演
算部56から転送されてくる。
CPU外部のメモリから命令をフェッチする場合は、外
部バスインターフェイス部57を通して、フェッチすべ
き命令のアドレスをアドレス出力回路58からCPU外
部へ出力し、データ入出力回路59から命令コードをフ
ェッチする。そして、バッファリングした命令コードの
内、次にデコードすべき命令コードを命令デコード部5
2に出力する。
部バスインターフェイス部57を通して、フェッチすべ
き命令のアドレスをアドレス出力回路58からCPU外
部へ出力し、データ入出力回路59から命令コードをフ
ェッチする。そして、バッファリングした命令コードの
内、次にデコードすべき命令コードを命令デコード部5
2に出力する。
(2,2) r命令デコード部」
命令デコード部52では基本的には16ビツト(ハーフ
ワード)単位で命令コードをデコードする。
ワード)単位で命令コードをデコードする。
このブロックには第1ハーフワードに含まれるオペレー
ションコードをデコードするFHWデコーダ、第2.第
3ハーフワードに含まれるオペレーションコードをデコ
ードするNFH−デコーダ、アドレッシングモードをデ
コードするアドレッシングモードデコーダが含まれる。
ションコードをデコードするFHWデコーダ、第2.第
3ハーフワードに含まれるオペレーションコードをデコ
ードするNFH−デコーダ、アドレッシングモードをデ
コードするアドレッシングモードデコーダが含まれる。
これらF)IWデコワー、NF)IWデコワー、アドレ
ッシングモードデコーダを纏めて第1デコーダ303と
いう。
ッシングモードデコーダを纏めて第1デコーダ303と
いう。
PHWデコーダあるいはNFIIWデコーダの出力を更
にデコードして、マイクロROMのエントリアドレスを
計算する第2デコーダ305、条件分岐命令の分岐予測
を行う分岐予測機構、オペランドアドレス計算の際のパ
イプラインコンフリクトをチエツクするアドレス計算コ
ンフリクトチエツク機構も含まれる。
にデコードして、マイクロROMのエントリアドレスを
計算する第2デコーダ305、条件分岐命令の分岐予測
を行う分岐予測機構、オペランドアドレス計算の際のパ
イプラインコンフリクトをチエツクするアドレス計算コ
ンフリクトチエツク機構も含まれる。
命令デコード部52は命令フェッチ部51から入力され
た命令コードを2クロツク(lステップ)につきO〜6
バイトずつデコードする。デコード結果の内、データ演
算部56での演算に関する情報がマイクロROM部55
に、オペランドアドレス計算に関係する情報がオペラン
ドアドレス計算部54に、PC計算に関係する情報がp
c計算部53にそれぞれ出力される。
た命令コードを2クロツク(lステップ)につきO〜6
バイトずつデコードする。デコード結果の内、データ演
算部56での演算に関する情報がマイクロROM部55
に、オペランドアドレス計算に関係する情報がオペラン
ドアドレス計算部54に、PC計算に関係する情報がp
c計算部53にそれぞれ出力される。
(2,3) rマイクロROM部」
マイクロROM部55には、主にデータ演算部56を制
御するマイクロプログラムが格納されているマイクロR
OM 、マイクロシーケンサ、マイクロ命令デコーダ等
が含まれる。マイクロ命令はマイクロROMから2クロ
フク(1ステツプ)に1度読出される。
御するマイクロプログラムが格納されているマイクロR
OM 、マイクロシーケンサ、マイクロ命令デコーダ等
が含まれる。マイクロ命令はマイクロROMから2クロ
フク(1ステツプ)に1度読出される。
マイクロシーケンサはマイクロプログラムで示されるシ
ーケンス処理の他に、例外、割込及びトラップ(この3
つを合わせてBITと称する)の処理をハードウェア的
に受付ける。またマイクロROM部55はストアバッフ
ァの管理も行う。マイクロROM部55には命令コード
に依存しない割込みあるいは演算実行結果によるフラッ
グ情報と、第2デコーダ305の出力等の命令デコード
部の出力が入力される。マイクロデコーダの出力は主に
データ演算部56に対して出力されるが、ジャンプ命令
の実行による他の先行処理中止情報等の一部の情報は他
のブロックへも出力される。
ーケンス処理の他に、例外、割込及びトラップ(この3
つを合わせてBITと称する)の処理をハードウェア的
に受付ける。またマイクロROM部55はストアバッフ
ァの管理も行う。マイクロROM部55には命令コード
に依存しない割込みあるいは演算実行結果によるフラッ
グ情報と、第2デコーダ305の出力等の命令デコード
部の出力が入力される。マイクロデコーダの出力は主に
データ演算部56に対して出力されるが、ジャンプ命令
の実行による他の先行処理中止情報等の一部の情報は他
のブロックへも出力される。
(2,4)rオペランドアドレス計算部」オペランドア
ドレス計算部54は命令デコード部52のアドレスデコ
ーダ等から出力されたオペランドアドレス計算に関係す
る情報によりハードワイヤード制御される。このブロッ
クではオペランドのアドレス計算に関するほとんどの処
理が行われる。メモリ間接アドレシングのためのメモリ
アクセスのアドレス及びオペランドアドレスがメモリに
マツプされたI10領域に入るか否かのチエツクも行わ
れる。
ドレス計算部54は命令デコード部52のアドレスデコ
ーダ等から出力されたオペランドアドレス計算に関係す
る情報によりハードワイヤード制御される。このブロッ
クではオペランドのアドレス計算に関するほとんどの処
理が行われる。メモリ間接アドレシングのためのメモリ
アクセスのアドレス及びオペランドアドレスがメモリに
マツプされたI10領域に入るか否かのチエツクも行わ
れる。
アドレス計算結果は外部バスインターフェイス部57に
送られる。アドレス計算に必要な汎用レジスタ及びプロ
グラムカウンタの値はデータ演算部より入力される。
送られる。アドレス計算に必要な汎用レジスタ及びプロ
グラムカウンタの値はデータ演算部より入力される。
メモリ間接アドレッシングを行う際は外部バスインター
フェイス部57を通してアドレス出力回路58からCP
U外部へ参照すべきメモリアドレスを出力し、データ入
出力部59から人力された間接アドレス値を命令デコー
ド部52を通してフェッチする。
フェイス部57を通してアドレス出力回路58からCP
U外部へ参照すべきメモリアドレスを出力し、データ入
出力部59から人力された間接アドレス値を命令デコー
ド部52を通してフェッチする。
(2,5) rPC計算部」
pc計算部53は命令デコード部52から出力されるP
C計算に関係する情報によりハードワイヤードに制御さ
れ、命令のpc値を計算する。本発明のデータ処理装置
は可変長命令セットを有しており、命令をデコードしな
ければその命令の長さが判らない。このため、PC計算
部53は命令デコード部52から出力される命令長をデ
コード中の命令のpc値に加算することにより次の命令
のpc値を作り出す。
C計算に関係する情報によりハードワイヤードに制御さ
れ、命令のpc値を計算する。本発明のデータ処理装置
は可変長命令セットを有しており、命令をデコードしな
ければその命令の長さが判らない。このため、PC計算
部53は命令デコード部52から出力される命令長をデ
コード中の命令のpc値に加算することにより次の命令
のpc値を作り出す。
また、命令デコード部52が分岐命令をデコードしてデ
コード段階での分岐を指示した場合は、命令長の代わり
に分岐変位を分岐命令のpc値に加算することにより分
岐先命令のpc値を計算する。分岐命令に対して命令デ
コード段階で分岐を行うことを本発明のデータ処理装置
ではプIJ’ブランチと称する。
コード段階での分岐を指示した場合は、命令長の代わり
に分岐変位を分岐命令のpc値に加算することにより分
岐先命令のpc値を計算する。分岐命令に対して命令デ
コード段階で分岐を行うことを本発明のデータ処理装置
ではプIJ’ブランチと称する。
このプリブランチの手法については特開昭63=596
30号及び特開昭63−55639号に詳しく開示され
ている。
30号及び特開昭63−55639号に詳しく開示され
ている。
pc計算部53の計算結果は各命令のpc(if!とじ
て命令のデコード結果と共に出力される他、プリブラン
チ時には、次にデコードすべき命令のアドレスとして命
令フェッチ部51へ出力される。また、次に命令デコー
ド部52でデコードされる命令の分岐予測のためのアド
レスにも使用される。
て命令のデコード結果と共に出力される他、プリブラン
チ時には、次にデコードすべき命令のアドレスとして命
令フェッチ部51へ出力される。また、次に命令デコー
ド部52でデコードされる命令の分岐予測のためのアド
レスにも使用される。
分岐予測の手法については特開昭63−175934号
に詳しく開示されている。
に詳しく開示されている。
(2,6) rデータ演算部」
データ演算部56はマイクロプログラムにより制flさ
れ、マイクロROM部55の出力情報に従って各命令の
機能を実現するに必要な演算をレジスタと演算器で実行
する。演算対象となるオペランドがアドレスあるいは即
値である場合は、オペランドアドレス計算部オペランド
アドレス計算部54で計算されたアドレスあるいは即値
を外部バスインタフェイス部57を通過させて得る。ま
た、演算対象となるオペランドがCPU外部のメモリに
ある場合は、アドレス計算部54で計算されたアドレス
をバスインクフェイス部がアドレス出力回路58から出
力して、CPu外部のメモリからフェッチしたオペラン
ドをデータ入出力回路59から得る。
れ、マイクロROM部55の出力情報に従って各命令の
機能を実現するに必要な演算をレジスタと演算器で実行
する。演算対象となるオペランドがアドレスあるいは即
値である場合は、オペランドアドレス計算部オペランド
アドレス計算部54で計算されたアドレスあるいは即値
を外部バスインタフェイス部57を通過させて得る。ま
た、演算対象となるオペランドがCPU外部のメモリに
ある場合は、アドレス計算部54で計算されたアドレス
をバスインクフェイス部がアドレス出力回路58から出
力して、CPu外部のメモリからフェッチしたオペラン
ドをデータ入出力回路59から得る。
演算器としてはALU、バレルシフタ、プライオリティ
エンコーダあるいはカウンタ、シフトレジスタなどがあ
る。レジスタと主な演算器の間は3バスで結合されてお
り、1つのレジスタ間演算を指示する1マイクロ命令を
2クロツク(lステップ)で処理する。
エンコーダあるいはカウンタ、シフトレジスタなどがあ
る。レジスタと主な演算器の間は3バスで結合されてお
り、1つのレジスタ間演算を指示する1マイクロ命令を
2クロツク(lステップ)で処理する。
データ演算時にCPU外部のメモリをアクセスする必要
がある場合は、マイクロプログラムの指示により外部バ
スインターフェイス部57を通してアドレス出力回路5
日からアドレスをCPU外部に出力し、データ入出力回
路59を通して目的のデータをフェッチする。
がある場合は、マイクロプログラムの指示により外部バ
スインターフェイス部57を通してアドレス出力回路5
日からアドレスをCPU外部に出力し、データ入出力回
路59を通して目的のデータをフェッチする。
CPU外部のメモリにデータをストアする場合は、外部
バスインターフェイス部57を通してアドレス出力回路
58よりアドレスを出力すると同時に、デ・−タ入出力
回路59からデータをCPU外部に出力する。オペラン
ドストアを効率的に行うため、データ演算部56には4
バイトのストアバッファが備えられている。
バスインターフェイス部57を通してアドレス出力回路
58よりアドレスを出力すると同時に、デ・−タ入出力
回路59からデータをCPU外部に出力する。オペラン
ドストアを効率的に行うため、データ演算部56には4
バイトのストアバッファが備えられている。
ジャンプ命令の処理あるいは例外処理等を行って新たな
命令アドレスをデータ演算部56が得た場合は、これを
命令フェッチ部51とpc計算部53へ出力する。
命令アドレスをデータ演算部56が得た場合は、これを
命令フェッチ部51とpc計算部53へ出力する。
(2,7) r外部バスインターフェイス部」外部バス
インターフェイス部57は本発明のデータ処理装置の外
部バスでの通信を制御する。メモリのアクセスはすべて
クロック同期で行われ、最/J12クロフクサイクル(
1ステツプ)で行うことができる。
インターフェイス部57は本発明のデータ処理装置の外
部バスでの通信を制御する。メモリのアクセスはすべて
クロック同期で行われ、最/J12クロフクサイクル(
1ステツプ)で行うことができる。
メモリに対するアクセス要求は命令フェッチ部51、オ
ペランドアドレス計算部54及びデータ演算部56から
独立に生じる。外部バスインクフェイス部57はこれら
のメモリアクセス要求を調停する。
ペランドアドレス計算部54及びデータ演算部56から
独立に生じる。外部バスインクフェイス部57はこれら
のメモリアクセス要求を調停する。
更にメモリとCPUとを結ぶデータバスサイズである3
2ビツト(1ワード)の整置境界を跨ぐメモリ番地にあ
るデータのアクセスは、このブロック内で自動的にワー
ド境界を跨ぐことを検知して2回のメモリアクセスに分
解して行う。
2ビツト(1ワード)の整置境界を跨ぐメモリ番地にあ
るデータのアクセスは、このブロック内で自動的にワー
ド境界を跨ぐことを検知して2回のメモリアクセスに分
解して行う。
ブリフェッチするオペランドとストアするオペランドと
が重なる場合のコンフリクト防止処理及びストアオペラ
ンドからフェッチオペランドへの(3)「パイプライン
機構」 本発明のデータ処理装置のパイプライン処理機能は第2
図に模式的に示される如くである。
が重なる場合のコンフリクト防止処理及びストアオペラ
ンドからフェッチオペランドへの(3)「パイプライン
機構」 本発明のデータ処理装置のパイプライン処理機能は第2
図に模式的に示される如くである。
命令のブリフェッチを行う命令フェッチステージ(IF
ステージ)31.命令のデコードを行うデコードステー
ジ(0ステージ)32.オペランドのアドレス計算を行
うオペランドアドレス計算ステージ(Aステージ)33
.マイクロROMアクセス(特にRステージ36と称す
)を行う部分とオペランドのブリフェッチ(特にOFス
テージ37と称す)を行う部分とからなるオペランドフ
ェッチステージ(Fステージ)34、命令を実行する実
行ステージ(Eステージ)35の5段構成をパイプライ
ン処理の基本とする。
ステージ)31.命令のデコードを行うデコードステー
ジ(0ステージ)32.オペランドのアドレス計算を行
うオペランドアドレス計算ステージ(Aステージ)33
.マイクロROMアクセス(特にRステージ36と称す
)を行う部分とオペランドのブリフェッチ(特にOFス
テージ37と称す)を行う部分とからなるオペランドフ
ェッチステージ(Fステージ)34、命令を実行する実
行ステージ(Eステージ)35の5段構成をパイプライ
ン処理の基本とする。
Eステージ35では1段のストアバッファがある他、高
機能命令の一部は命令の実行自体をパイプライン化する
ため、実際には5段以上のパイプライン処理効果がある
。
機能命令の一部は命令の実行自体をパイプライン化する
ため、実際には5段以上のパイプライン処理効果がある
。
各ステージは他のステージとは独立に動作し、理論上は
5つのステージが完全に独立動作する。
5つのステージが完全に独立動作する。
各ステージは1回の処理を最小2クロック(1ステツプ
)で行うことができる。従って理想的には2クロツク(
1ステツプ)毎に次々とパイプライン処理が進行する。
)で行うことができる。従って理想的には2クロツク(
1ステツプ)毎に次々とパイプライン処理が進行する。
本発明のデータ処理装置には、メモリーメモリ間演算あ
るいはメモリ間接アドレッシング等の如く1回の基本パ
イプライン処理のみでは処理し得ない命令もあるが、本
発明のデータ処理装置はこれらの処理に対してもなるべ
く均衡のとれたパイプライン処理が行える様に設計され
ている。複数のメモリオペランドを持つ命令に対しては
メモリオペランドの数に基づいてデコード段階で複数の
パイプライン処理単位(ステップコード)に分解してパ
イプライン処理を行う。
るいはメモリ間接アドレッシング等の如く1回の基本パ
イプライン処理のみでは処理し得ない命令もあるが、本
発明のデータ処理装置はこれらの処理に対してもなるべ
く均衡のとれたパイプライン処理が行える様に設計され
ている。複数のメモリオペランドを持つ命令に対しては
メモリオペランドの数に基づいてデコード段階で複数の
パイプライン処理単位(ステップコード)に分解してパ
イプライン処理を行う。
パイプライン処理単位の分解方法に関しては特開昭63
−89932号に詳しく開示されている。
−89932号に詳しく開示されている。
!Fステージ31からDステージ32に渡される情報は
、命令コード40そのものである。Dステージ32から
Aステージ33に渡される情報は、命令で指定された演
算に関するもの(Dコード41と称す)と、オペランド
のアドレス計算に関係するもの(Aコード42と称す)
との2つがある。
、命令コード40そのものである。Dステージ32から
Aステージ33に渡される情報は、命令で指定された演
算に関するもの(Dコード41と称す)と、オペランド
のアドレス計算に関係するもの(Aコード42と称す)
との2つがある。
Aステージ33からFステージ34に渡される情報はマ
イクロプログラムのエントリアドレスあるいはマイクロ
プログラムのパラメータ等を含むRコード43と、オペ
ランドのアドレスとアクセス方法指示情報等を含むFコ
ード44との2つである。
イクロプログラムのエントリアドレスあるいはマイクロ
プログラムのパラメータ等を含むRコード43と、オペ
ランドのアドレスとアクセス方法指示情報等を含むFコ
ード44との2つである。
Fステージ34からEステージ35に渡される情報は、
演算制御情報とリテラル等を含むEコード45と、オペ
ランドあるいはオペランドアドレス等を含むSコード4
6との2つである。
演算制御情報とリテラル等を含むEコード45と、オペ
ランドあるいはオペランドアドレス等を含むSコード4
6との2つである。
Eステージ35以外のステージで検出されたBITは、
そのコードがEステージ35に到達する迄はBIT処理
を起動しない、Eステージ35で処理されている命令の
みが実行段階の命令であり、IFステージ31からFス
テージ34までの間で処理されている命令はまだ実行段
階に至っていないからである。従って、Eステージ35
以外で検出されたBITは、それが検出されたことがス
テップコード中に記録されて次のステージに伝えられる
のみである。
そのコードがEステージ35に到達する迄はBIT処理
を起動しない、Eステージ35で処理されている命令の
みが実行段階の命令であり、IFステージ31からFス
テージ34までの間で処理されている命令はまだ実行段
階に至っていないからである。従って、Eステージ35
以外で検出されたBITは、それが検出されたことがス
テップコード中に記録されて次のステージに伝えられる
のみである。
(3,1)rパイプライン処理単位」
(3,1,1) r命令コードフィールドの分類」本発
明のデータ処理装置のパイプライン処理単位は命令セン
トのフォーマントの特徴を利用して決定されている。
明のデータ処理装置のパイプライン処理単位は命令セン
トのフォーマントの特徴を利用して決定されている。
(1)節で述べた如く、本発明のデータ処理装置の命令
は2バイト単位の可変長命令であり、基本的には“2バ
イトの命令基本部子〇〜4バイトのアドレシング拡張部
“を1〜3回反復することにより命令が構成されている
。
は2バイト単位の可変長命令であり、基本的には“2バ
イトの命令基本部子〇〜4バイトのアドレシング拡張部
“を1〜3回反復することにより命令が構成されている
。
命令基本部には多くの場合、オペレーションコード部と
アドレッシングモード指定部とがあり、インデックスア
トレジソングあるいはメモリ間接アドレッシングが必要
な場合にはアドレッシング拡張部の代わりに“2バイト
の多段間接モード指定部子0〜4バイトのアドレッシン
グ拡張部“が任意催行(。また、命令により2または4
バイトの命令固有の拡張部が最後に付く。
アドレッシングモード指定部とがあり、インデックスア
トレジソングあるいはメモリ間接アドレッシングが必要
な場合にはアドレッシング拡張部の代わりに“2バイト
の多段間接モード指定部子0〜4バイトのアドレッシン
グ拡張部“が任意催行(。また、命令により2または4
バイトの命令固有の拡張部が最後に付く。
命令基本部には命令のオペレーションコード、基本アド
レッシングモード、リテラルなどが含まれる。アドレッ
シング拡張部はディスプレースメント、絶対アドレス、
即値、分岐命令の変位のいずれかである。命令固有の拡
張部にはレジスタマツプ、I−format命令の即値
指定等がある。第33図は、本発明のデータ処理装置の
基本的命令フォーマットの特徴を示す模式図である。
レッシングモード、リテラルなどが含まれる。アドレッ
シング拡張部はディスプレースメント、絶対アドレス、
即値、分岐命令の変位のいずれかである。命令固有の拡
張部にはレジスタマツプ、I−format命令の即値
指定等がある。第33図は、本発明のデータ処理装置の
基本的命令フォーマットの特徴を示す模式図である。
(3,1,2) rステップコードへの命令の分解」本
発明のデータ処理装置では、上記の命令フォーマントの
特徴を生かしたパイプライン処理を行う。
発明のデータ処理装置では、上記の命令フォーマントの
特徴を生かしたパイプライン処理を行う。
Dステージ32では″′2バイトの命令基本部+0〜4
バイトのアドレッシング拡張部”、“多段間接モード指
定部子アドレッシング拡張部”又は命令固有の拡張部を
1つのデコード単位として処理する。
バイトのアドレッシング拡張部”、“多段間接モード指
定部子アドレッシング拡張部”又は命令固有の拡張部を
1つのデコード単位として処理する。
各回のデコード結果をステップコードと称し、Aステー
ジ33以降ではこのステップコードをパイプライン処理
の単位としている。ステップコードの数は命令毎に固有
であり、多段間接モード指定を行わない場合は、1つの
命令は最小1個、最大3個のステップコードに分かれる
。多段間接モード指定が行われた場合はそれだけステッ
プコードが増加する。但し、これは後で述べる様にデコ
ード段階のみである。
ジ33以降ではこのステップコードをパイプライン処理
の単位としている。ステップコードの数は命令毎に固有
であり、多段間接モード指定を行わない場合は、1つの
命令は最小1個、最大3個のステップコードに分かれる
。多段間接モード指定が行われた場合はそれだけステッ
プコードが増加する。但し、これは後で述べる様にデコ
ード段階のみである。
(3,1,3) rプログラムカウンタの管理」本発明
のデータ処理装置のパイプライン上に存在するステップ
コードは全て別命令に対するものである可能性があり、
このためプログラムカウンタの値はステップコード毎に
管理される。全てのステップコードは、そのステップコ
ードのもとになった命令のプログラムカウンタ値を有す
る。ステップコードに付属してパイプラインの各ステー
ジを流れるプログラムカウンタ値はステッププログラム
カウンタ(SPC)と称する。SPCはパイプラインス
テージ間を次々と受は渡されていく。
のデータ処理装置のパイプライン上に存在するステップ
コードは全て別命令に対するものである可能性があり、
このためプログラムカウンタの値はステップコード毎に
管理される。全てのステップコードは、そのステップコ
ードのもとになった命令のプログラムカウンタ値を有す
る。ステップコードに付属してパイプラインの各ステー
ジを流れるプログラムカウンタ値はステッププログラム
カウンタ(SPC)と称する。SPCはパイプラインス
テージ間を次々と受は渡されていく。
(3,2) r各パイプラインステージの処理」各パイ
プラインステージの入出カステップコードには第2図に
示したように便宜上名前が付けられている。また、ステ
ップコードはオペレーションコードに関する処理を行い
、マイクロプログラムのエントリアドレス及びEステー
ジ35に対するパラメータなどになる系列とEステージ
35のマイクロ命令に対するオペランドになる系列との
2系列がある。
プラインステージの入出カステップコードには第2図に
示したように便宜上名前が付けられている。また、ステ
ップコードはオペレーションコードに関する処理を行い
、マイクロプログラムのエントリアドレス及びEステー
ジ35に対するパラメータなどになる系列とEステージ
35のマイクロ命令に対するオペランドになる系列との
2系列がある。
(3,2,1) r命令フェッチステージ」命令フェッ
チステージ(IPステージ)31は命令をメモリあるい
はブランチバッファからフェッチして命令キューに入力
し、Dステージ32に対して命令コードを出力する。命
令キューの入力は整置された4バイト単位で行う。メモ
リから命令をフェッチする場合は、整置された4バイト
につき最小2クロック(1ステツプ)を要する。ブラン
チバッファがヒツトした場合は、整置された4バイトに
つき1クロツクでフェッチ可能である。命令キューの出
力単位は2バイト毎に可変であり、2クロツクの間に最
大6バイトまで出力できる。また、分岐の直後には命令
キューをバイパスして命令基本部2バイトを直接命令デ
コーダに転送することも可能である。
チステージ(IPステージ)31は命令をメモリあるい
はブランチバッファからフェッチして命令キューに入力
し、Dステージ32に対して命令コードを出力する。命
令キューの入力は整置された4バイト単位で行う。メモ
リから命令をフェッチする場合は、整置された4バイト
につき最小2クロック(1ステツプ)を要する。ブラン
チバッファがヒツトした場合は、整置された4バイトに
つき1クロツクでフェッチ可能である。命令キューの出
力単位は2バイト毎に可変であり、2クロツクの間に最
大6バイトまで出力できる。また、分岐の直後には命令
キューをバイパスして命令基本部2バイトを直接命令デ
コーダに転送することも可能である。
ブランチバッファへの命令の登録及びクリア等の制御、
ブリフェッチ先の命令のアドレスの管理や命令キューの
制御もIFステージ31で行う。
ブリフェッチ先の命令のアドレスの管理や命令キューの
制御もIFステージ31で行う。
IPステージ31で検出するBITには、命令をメモリ
からフェッチする際のバスアクセス例外あるいはメモリ
保護違反などによるアドレス変換例外がある。
からフェッチする際のバスアクセス例外あるいはメモリ
保護違反などによるアドレス変換例外がある。
(3,2,2) r命令デコードステージ」命令デコー
ドステージ(Dステージ)32はIPステージ31から
入力された命令コードをデコードする。
ドステージ(Dステージ)32はIPステージ31から
入力された命令コードをデコードする。
デコードは、命令デコード部52のFH−デコーダ、N
FHWデコーダ及びアドレッシングモードデコーダを合
わせた第1デコーダ92を使用して、2クロツク(lス
テップ)単位に1度行ない、1回のデコード処理で、O
〜6バイトの命令コードを消費する(RUT命令の復帰
先アドレスを含むステンプコードの出力処理などでは命
令コードを消費しない)。
FHWデコーダ及びアドレッシングモードデコーダを合
わせた第1デコーダ92を使用して、2クロツク(lス
テップ)単位に1度行ない、1回のデコード処理で、O
〜6バイトの命令コードを消費する(RUT命令の復帰
先アドレスを含むステンプコードの出力処理などでは命
令コードを消費しない)。
1回のデコードでAステージ33に対してアドレス計算
情報としてのAコード42である制御コードとアドレス
修飾情報と、オペレーションコードの中間デコード結果
としてのDコード41である制御コードと8ビツトのリ
テラル情報とを出力する。
情報としてのAコード42である制御コードとアドレス
修飾情報と、オペレーションコードの中間デコード結果
としてのDコード41である制御コードと8ビツトのリ
テラル情報とを出力する。
Dステージ32では、各命令のpc計算部53の制御、
分岐予測処理、プリブランチ命令に対するプリブランチ
処理、命令キューからの命令コード出力処理をも行う。
分岐予測処理、プリブランチ命令に対するプリブランチ
処理、命令キューからの命令コード出力処理をも行う。
Dステージ32で検出するBITには、予約命令例外及
びプリブランチ時の奇数アドレスジャンプトラップがあ
る。また、IFステージ31より転送されてきた各種E
ITはステップコード内にエンコードする処理をしてA
ステージ33に転送する。
びプリブランチ時の奇数アドレスジャンプトラップがあ
る。また、IFステージ31より転送されてきた各種E
ITはステップコード内にエンコードする処理をしてA
ステージ33に転送する。
(3,2,3) rオペランドアドレス計算ステージ」
オペランドアドレス計算ステージ(Aステージ)33は
処理機能が大きく2つに分かれる。1つは命令デコード
部52の第2デコーダ96を使用してオペレーションコ
ードの後段デコードを行う処理で、他方はオペランドア
ドレス計算部54でオペランドアドレスの計算を行う処
理である。
オペランドアドレス計算ステージ(Aステージ)33は
処理機能が大きく2つに分かれる。1つは命令デコード
部52の第2デコーダ96を使用してオペレーションコ
ードの後段デコードを行う処理で、他方はオペランドア
ドレス計算部54でオペランドアドレスの計算を行う処
理である。
オペレーションコードの後段デコード処理はDコード4
1を入力とし、レジスタ、メモリの書込み予約及びマイ
クロプログラムのエントリアドレスとマイクロプログラ
ムに対するパラメータなどを含むRコード43の出力を
行う。なお、レジスタあるいはメモリの書込み予約は、
アドレス計算で参照したレジスタやメモリの内容がパイ
プライン上を先行する命令で書換えられることにより誤
ったアドレス計算が行われるのを防ぐためのものである
。レジスタあるいはメモリの書込み予約はデッドロック
を避けるため、ステップコード毎ではなく命令毎に行う
。
1を入力とし、レジスタ、メモリの書込み予約及びマイ
クロプログラムのエントリアドレスとマイクロプログラ
ムに対するパラメータなどを含むRコード43の出力を
行う。なお、レジスタあるいはメモリの書込み予約は、
アドレス計算で参照したレジスタやメモリの内容がパイ
プライン上を先行する命令で書換えられることにより誤
ったアドレス計算が行われるのを防ぐためのものである
。レジスタあるいはメモリの書込み予約はデッドロック
を避けるため、ステップコード毎ではなく命令毎に行う
。
レジスタ及びメモリへの書込み予約については特願昭6
2−144394号で詳しく述べられている。
2−144394号で詳しく述べられている。
オペランドアドレス計算処理はAコード42を入力とし
、Aコード42に従いオペランドアドレス計算部54で
加算あるいはメモリ間接参照を組合わせてアドレス計算
を行い、その計算結果をFコード44として出力する。
、Aコード42に従いオペランドアドレス計算部54で
加算あるいはメモリ間接参照を組合わせてアドレス計算
を行い、その計算結果をFコード44として出力する。
この際、アドレス計算に伴うレジスタ及びメモリの読出
し時にコンフリクトチエツクを行い、先行命令がレジス
タあるいはメモリに書込み処理を終了していないためコ
ンフリクトが指示されれば、先行命令がEステージ35
で書込み処理を終了するまで待つ。また、オペランドア
ドレス及びメモリ間接参照のアドレスがメモリにマツプ
されたl108N域に入るか否かのチエツクも行う。
し時にコンフリクトチエツクを行い、先行命令がレジス
タあるいはメモリに書込み処理を終了していないためコ
ンフリクトが指示されれば、先行命令がEステージ35
で書込み処理を終了するまで待つ。また、オペランドア
ドレス及びメモリ間接参照のアドレスがメモリにマツプ
されたl108N域に入るか否かのチエツクも行う。
Aステージ33で検出するBITには予約命令例外、特
権命令例外、バスアクセス例外、アドレス変換例外、メ
モリ間接アドレッシングの時のオペランドブレイクポイ
ントヒツトによるデバングトランプがある。Dコード4
1又はAコード42自体がEITを起こしたことを示し
ていれば、Aステージ33はそのコードに対してアドレ
ス計算処理をせず、そのEITをRコード43及びFコ
ード44に伝える。
権命令例外、バスアクセス例外、アドレス変換例外、メ
モリ間接アドレッシングの時のオペランドブレイクポイ
ントヒツトによるデバングトランプがある。Dコード4
1又はAコード42自体がEITを起こしたことを示し
ていれば、Aステージ33はそのコードに対してアドレ
ス計算処理をせず、そのEITをRコード43及びFコ
ード44に伝える。
(3,2,4) rマイクロl?OMアクセスステージ
」オペランドフェッチステージ(Fステージ)34も処
理が大きく2つに分かれる。一方はマイクロlio?1
のアクセス処理であり、特にRステージ36と称する。
」オペランドフェッチステージ(Fステージ)34も処
理が大きく2つに分かれる。一方はマイクロlio?1
のアクセス処理であり、特にRステージ36と称する。
他方はオペランドプリフェッチ処理であり、特にOFス
テージ37と称する。Rステージ36とOFステージ3
7とは必ずしも同時に動作するわけではなく、メモリア
クセス権が獲得できるか否か等に依存して独立に動作す
る。
テージ37と称する。Rステージ36とOFステージ3
7とは必ずしも同時に動作するわけではなく、メモリア
クセス権が獲得できるか否か等に依存して独立に動作す
る。
Rステージ36の処理であるマイクロROMアクセ入処
理は、Rコード43に対して次のEステージ35での実
行に使用する実行制御コードであるEコード45を生成
するためのマイクロROMアクセスとマイクロ命令デコ
ード処理である。1つのRコード43に対する処理が2
つ以上のマイクロプログラムステップに分解される場合
、マイクロRO?IはEステージ35で使用され、次の
Rコード43はマイクロROMアクセス待ちになる。R
コード34に対するマイクロROMアクセスが行われる
のは、その前のEステージ35での最後のマイクロ命令
実行の時である。本発明のデータ処理装置では、はとん
どの基本命令は1マイクロプログラムステツプで行われ
るため、実際にはRコード43に対するマイクロROM
アクセスが次々と行われることが多い。
理は、Rコード43に対して次のEステージ35での実
行に使用する実行制御コードであるEコード45を生成
するためのマイクロROMアクセスとマイクロ命令デコ
ード処理である。1つのRコード43に対する処理が2
つ以上のマイクロプログラムステップに分解される場合
、マイクロRO?IはEステージ35で使用され、次の
Rコード43はマイクロROMアクセス待ちになる。R
コード34に対するマイクロROMアクセスが行われる
のは、その前のEステージ35での最後のマイクロ命令
実行の時である。本発明のデータ処理装置では、はとん
どの基本命令は1マイクロプログラムステツプで行われ
るため、実際にはRコード43に対するマイクロROM
アクセスが次々と行われることが多い。
Rステージ36で新たに検出するEITはない。Rコー
ド43が命令処理再実行型のEITを示している時は、
そのEIT処理に対するマイクロプログラムが実行され
るので、Rステージ36はそのRコード43に従ったマ
イクロ命令をフェッチする。Rコード43が奇数アドレ
スジャンプトラップを示している場合、Rステージ36
はそれをEコード45によって伝える。これはプリブラ
ンチに対するもので、Eステージ35ではそのEコード
45で分岐が生じなければそのプリブランチを有効とし
て奇数アドレスジャンプトラップを発生する。
ド43が命令処理再実行型のEITを示している時は、
そのEIT処理に対するマイクロプログラムが実行され
るので、Rステージ36はそのRコード43に従ったマ
イクロ命令をフェッチする。Rコード43が奇数アドレ
スジャンプトラップを示している場合、Rステージ36
はそれをEコード45によって伝える。これはプリブラ
ンチに対するもので、Eステージ35ではそのEコード
45で分岐が生じなければそのプリブランチを有効とし
て奇数アドレスジャンプトラップを発生する。
(3,2,5) rオペランドフェッチステージ」オペ
ランドフェッチステージ(OFステージ)37はFステ
ージ34で行う上記の2つの処理の内のオペランドプリ
フェッチ処理を行う。
ランドフェッチステージ(OFステージ)37はFステ
ージ34で行う上記の2つの処理の内のオペランドプリ
フェッチ処理を行う。
オペランドプリフェッチはFコード44を入力とし、フ
ェッチしたオペランドとそのアドレスをSコード46と
して出力する。1つのFコード44ではワード境界を跨
いでも良いが4バイト以下のオペランドストアチを指定
する。Fコード44にはオペランドのアクセスを行うか
否かの指定も含まれており、Aステージ33で計算した
オペランドアドレス自体あるいは即値をEステージ35
に転送する場合にはオペランドプリフェッチは行わず、
Fコード44の内容をSコード46として転送する。プ
リフェッチしようとするオペランドと、Eステージ35
が書込み処理を行おうとするオペランドとが一致する場
合は、オペランドプリフェッチはメモリがら行わずバイ
パスして行う。また、l10IJI域に対してはオペラ
ンドプリフェッチを遅延させ、先行命令がすべて完了す
るまで待ってオペランドフェッチを行う。
ェッチしたオペランドとそのアドレスをSコード46と
して出力する。1つのFコード44ではワード境界を跨
いでも良いが4バイト以下のオペランドストアチを指定
する。Fコード44にはオペランドのアクセスを行うか
否かの指定も含まれており、Aステージ33で計算した
オペランドアドレス自体あるいは即値をEステージ35
に転送する場合にはオペランドプリフェッチは行わず、
Fコード44の内容をSコード46として転送する。プ
リフェッチしようとするオペランドと、Eステージ35
が書込み処理を行おうとするオペランドとが一致する場
合は、オペランドプリフェッチはメモリがら行わずバイ
パスして行う。また、l10IJI域に対してはオペラ
ンドプリフェッチを遅延させ、先行命令がすべて完了す
るまで待ってオペランドフェッチを行う。
OFステージ37で検出されるBITには、バスアクセ
ス例外、アドレス変換例外、オペランドプリフェッチに
対するブレイクポイントヒントによるデバッグトラップ
がある。Fコード44がデバッグトラップ以外のBIT
を示している時は、それをSコード46に転送し、オペ
ランドプリフェッチは行わない。Fコード44がデバッ
グトラップを示している時は、そのFコード44に対し
てHITを示していない場合と同じ処理をすると共にデ
バッグトラップをSコード46に伝える。
ス例外、アドレス変換例外、オペランドプリフェッチに
対するブレイクポイントヒントによるデバッグトラップ
がある。Fコード44がデバッグトラップ以外のBIT
を示している時は、それをSコード46に転送し、オペ
ランドプリフェッチは行わない。Fコード44がデバッ
グトラップを示している時は、そのFコード44に対し
てHITを示していない場合と同じ処理をすると共にデ
バッグトラップをSコード46に伝える。
(3,2,6) r実行ステージ」
実行ステージ(Eステージ)35はEコード45及びS
コード46を入力として動作する。このEステージ35
が命令を実行するステージであり、Fステージ34以前
のステージで行われた処理は全てEステージ35のため
の前処理である。Eステージ35でジャンプ命令が実行
されたり、あるいはEFT処理が起動されたりした場合
は、IFステージ31がらFステージ34までの処理は
全て無効化される。Eステージ35はマイクロプログラ
ムにより制御され、Rコード45に示されたマイクロプ
ログラムのエントリアドレスからの一連のマイクロプロ
グラムを実行することにより命令を実行する。
コード46を入力として動作する。このEステージ35
が命令を実行するステージであり、Fステージ34以前
のステージで行われた処理は全てEステージ35のため
の前処理である。Eステージ35でジャンプ命令が実行
されたり、あるいはEFT処理が起動されたりした場合
は、IFステージ31がらFステージ34までの処理は
全て無効化される。Eステージ35はマイクロプログラ
ムにより制御され、Rコード45に示されたマイクロプ
ログラムのエントリアドレスからの一連のマイクロプロ
グラムを実行することにより命令を実行する。
マイクロROMの読み出しとマイクロ命令の実行とはパ
イプライン化されて行われる。従ってマイクロプログラ
ムで分岐が起きた場合は、1マイクロステツプの空きが
できる。また、Eステージ35はデータ演算部56にあ
るストアバッファを利用して、4バイト以内のオペラン
ドストアと次のマイクロ命令実行をパイプライン処理す
ることもできる。
イプライン化されて行われる。従ってマイクロプログラ
ムで分岐が起きた場合は、1マイクロステツプの空きが
できる。また、Eステージ35はデータ演算部56にあ
るストアバッファを利用して、4バイト以内のオペラン
ドストアと次のマイクロ命令実行をパイプライン処理す
ることもできる。
Eステージ35では、Aステージ33で行ったレジスタ
及びメモリに対する書込み予約をオペランドの書き込み
後に解除する。
及びメモリに対する書込み予約をオペランドの書き込み
後に解除する。
また、条件分岐命令がEステージ35で分岐を発した場
合は、その条件分岐命令に対する分岐予測が誤っていた
のであるから、分岐履歴の書換えを行う。
合は、その条件分岐命令に対する分岐予測が誤っていた
のであるから、分岐履歴の書換えを行う。
Eステージ35で検出されるEITには、バスアクセス
例外、アドレス変換例外、デバッグトラップ、奇数アド
レスジャンプトラップ、予約機能例外、不正オペランド
例外、予約スタックフォーマット例外、ゼロ除算トラッ
プ、無条件トラップ、条件トラップ、遅延コンテキスト
トラップ、外部割込、遅延割込、リセット割込、システ
ム障害がある。
例外、アドレス変換例外、デバッグトラップ、奇数アド
レスジャンプトラップ、予約機能例外、不正オペランド
例外、予約スタックフォーマット例外、ゼロ除算トラッ
プ、無条件トラップ、条件トラップ、遅延コンテキスト
トラップ、外部割込、遅延割込、リセット割込、システ
ム障害がある。
Eステージ35で検出されたEITは全てEIT処理さ
れるが、Eステージ35以前のIFステージ31からF
ステージ34の間で検出され、Rコード43あるいはS
コード46に反映されているBITは必ずしもEIT処
理されるとは限らない、 IFステージ31がらFステ
ージ34の間で検出されたが、先行の命令がEステージ
35でジャンプ命令が実行されたなどの原因でEステー
ジ35まで到達しなかったBITは全てキャンセルされ
る。そのBITを起こした命令はそもそも実行されなか
ったことになる。
れるが、Eステージ35以前のIFステージ31からF
ステージ34の間で検出され、Rコード43あるいはS
コード46に反映されているBITは必ずしもEIT処
理されるとは限らない、 IFステージ31がらFステ
ージ34の間で検出されたが、先行の命令がEステージ
35でジャンプ命令が実行されたなどの原因でEステー
ジ35まで到達しなかったBITは全てキャンセルされ
る。そのBITを起こした命令はそもそも実行されなか
ったことになる。
外部割込及び遅延割込は命令の切れ目でEステージ35
に直接受は付けられ、マイクロプログラムにより必要な
処理が実行される。その他の各種BITの処理はマイク
ロプログラムにより行われる。
に直接受は付けられ、マイクロプログラムにより必要な
処理が実行される。その他の各種BITの処理はマイク
ロプログラムにより行われる。
(3,3) r各パイプラインステージの状態制御」パ
イプラインの各ステージは入力ラッチと出力ラッチとを
有し、他のステージとは独立に動作することを基本とす
る。各ステージは1つ前に行った処理が終わり、その処
理結果を出力ラッチから次のステージの入力ラッチに転
送し、自分のステージの入力ランチに次の処理に必要な
入力信号がすべて揃えば次の処理を開始する。
イプラインの各ステージは入力ラッチと出力ラッチとを
有し、他のステージとは独立に動作することを基本とす
る。各ステージは1つ前に行った処理が終わり、その処
理結果を出力ラッチから次のステージの入力ラッチに転
送し、自分のステージの入力ランチに次の処理に必要な
入力信号がすべて揃えば次の処理を開始する。
つまり各ステージは、1つ前段のステージから出力され
てくる次の処理に対する入力信号が全て有効となり、今
の処理結果を後段のステージの入力ラッチに転送して出
力ラッチが空になると次の処理を開始する。
てくる次の処理に対する入力信号が全て有効となり、今
の処理結果を後段のステージの入力ラッチに転送して出
力ラッチが空になると次の処理を開始する。
各ステージが動作を開始する1つ前のクロックタイミン
グで入力信号が全て揃っている必要がある。入力信号が
揃っていない場合、そのステージは待ち状態(入力待ち
)になる、出力ランチから次のステージの入力ランチへ
の転送を行う場合には次のステージの入力ラッチが空き
状態になっている必要があり、次のステージの入力ラン
チが空きでない場合もパイプラインステージは待ち状態
(出力待ち)になる、必要なメモリアクセス権が獲得で
きなかったり、処理しているメモリアクセスにウェイト
が挿入されたり、その他のパイプラインコンフリクトが
生じると各ステージの処理自体(4)「パラメータ生成
処理」 本発明に係るデータ処理装置において、ALU、バレル
シフタ等のオペレーションを指定したり、あるいはフラ
グのマスクを指定したりするパラメータ(以下、オペレ
ーション指定パラメータと称する)がどのように生成さ
れ、命令実行手段であるデータ演算部56に渡されるか
について以下に説明する。
グで入力信号が全て揃っている必要がある。入力信号が
揃っていない場合、そのステージは待ち状態(入力待ち
)になる、出力ランチから次のステージの入力ランチへ
の転送を行う場合には次のステージの入力ラッチが空き
状態になっている必要があり、次のステージの入力ラン
チが空きでない場合もパイプラインステージは待ち状態
(出力待ち)になる、必要なメモリアクセス権が獲得で
きなかったり、処理しているメモリアクセスにウェイト
が挿入されたり、その他のパイプラインコンフリクトが
生じると各ステージの処理自体(4)「パラメータ生成
処理」 本発明に係るデータ処理装置において、ALU、バレル
シフタ等のオペレーションを指定したり、あるいはフラ
グのマスクを指定したりするパラメータ(以下、オペレ
ーション指定パラメータと称する)がどのように生成さ
れ、命令実行手段であるデータ演算部56に渡されるか
について以下に説明する。
第5図は本発明のデータ処理装置の命令セットの内の一
例として、)IOV、ADD、SUB、AND、OR,
X0R(7)各^LU演算命令にについて、パラメータ
及びマスクされるフラグに関する情報及びオペレーショ
ンの内容を示す表である。
例として、)IOV、ADD、SUB、AND、OR,
X0R(7)各^LU演算命令にについて、パラメータ
及びマスクされるフラグに関する情報及びオペレーショ
ンの内容を示す表である。
これらの命令は総て同一マイクロ命令により処理され、
詳細なオペレーションの指示はオペレーション指定パラ
メータにより行われる。なお、第5図の表中、′*“は
Don’ t Careを、 m″はマスク(但し、フ
ラグは変化しない)を、またフラグはFがジェネラルを
、Xがキャリーを、■がオーバフローを、Lがローを、
MがMSBを、Zがゼロをそれぞれ表す。
詳細なオペレーションの指示はオペレーション指定パラ
メータにより行われる。なお、第5図の表中、′*“は
Don’ t Careを、 m″はマスク(但し、フ
ラグは変化しない)を、またフラグはFがジェネラルを
、Xがキャリーを、■がオーバフローを、Lがローを、
MがMSBを、Zがゼロをそれぞれ表す。
本発明のデータ処理装置のより詳細な構成を第3図のブ
ロック図に示す。
ロック図に示す。
第3図において、51は命令フェッチ部であり、具体的
には命令キューにて構成され、第2図のIFステージ3
1に相当する。
には命令キューにて構成され、第2図のIFステージ3
1に相当する。
92は、命令デコード用PLA(Programmab
le LogicArray)にて構成されている第1
デコーダである。
le LogicArray)にて構成されている第1
デコーダである。
この第1デコーダ92は、命令フェッチ部51から与え
られる命令コードをデコードしてDコード41を構成す
る中間コード93を生成すると共に、パラメータ切出し
回路94に与えられるパラメータ切出し制御信号EXT
CNTを出力する。
られる命令コードをデコードしてDコード41を構成す
る中間コード93を生成すると共に、パラメータ切出し
回路94に与えられるパラメータ切出し制御信号EXT
CNTを出力する。
パラメータ切出し回路94は、命令フェッチ部51から
命令コードの一部が与えられ、これから第1デコーダ9
2から与えられるパラメータ切出し制御信号EXTCN
Tに従ってパラメータ (第2のビットフィールド)を
切出す。
命令コードの一部が与えられ、これから第1デコーダ9
2から与えられるパラメータ切出し制御信号EXTCN
Tに従ってパラメータ (第2のビットフィールド)を
切出す。
なお、第1デコーダ92とパラメータ切出し回路94と
で命令デコード部52を構成し、第2図のDステージ3
2に相当する。
で命令デコード部52を構成し、第2図のDステージ3
2に相当する。
41はDコードであり、第1デコーダ92から出力され
た中間コード93及びパラメータ切出し回路94から出
力されたパラメータをラッチするパラメータラッチ95
にて構成される。
た中間コード93及びパラメータ切出し回路94から出
力されたパラメータをラッチするパラメータラッチ95
にて構成される。
96は、第1デコーダ92と同様に命令デコード用PL
A(Programmable Logic Arra
y)にて構成されている第2デコーダである。この第2
デコーダ96は、Dコード41が与えられ、これをデコ
ードした結果をマイクロエントリアドレスラッチ98及
びオペレーション指定パラメータ生成回路99に与える
。
A(Programmable Logic Arra
y)にて構成されている第2デコーダである。この第2
デコーダ96は、Dコード41が与えられ、これをデコ
ードした結果をマイクロエントリアドレスラッチ98及
びオペレーション指定パラメータ生成回路99に与える
。
オペレーション指定パラメータ生成回路99は、第2デ
コーダ96から与えられるPARMCNT信号及びPA
RM信号(第1のビットフィールド)、更にパラメータ
ラッチ95から与えられる信号PARM−Dとからオペ
レーション指定パラメータPARM−12を生成してオ
ペレーション指定パラメータラッチ100へ出力する。
コーダ96から与えられるPARMCNT信号及びPA
RM信号(第1のビットフィールド)、更にパラメータ
ラッチ95から与えられる信号PARM−Dとからオペ
レーション指定パラメータPARM−12を生成してオ
ペレーション指定パラメータラッチ100へ出力する。
この第2デコーダ96とオペレーションパラメータ生成
回路99とによりオペランドアドレス計算部54が構成
され、第2図のAステージ33に相当する。
回路99とによりオペランドアドレス計算部54が構成
され、第2図のAステージ33に相当する。
マイクロエントリアドレスラッチ98及びオペレージロ
ン指定パラメータラッチ100にそれぞれラッチされて
いる内容はRコード43を構成する。
ン指定パラメータラッチ100にそれぞれラッチされて
いる内容はRコード43を構成する。
104は次マイクロアドレス選択回路であり、マイクロ
エントリアドレスランチ98にランチされているマイク
ロエントリアドレスが与えられることにより、次に必要
なマイクロアドレスをマイクロROM55から読出して
マイクロ命令レジスタ106に記憶させる。
エントリアドレスランチ98にランチされているマイク
ロエントリアドレスが与えられることにより、次に必要
なマイクロアドレスをマイクロROM55から読出して
マイクロ命令レジスタ106に記憶させる。
マイクロ命令レジスタ106は、その記憶内容であるマ
イクロ命令をマイクロ命令デコーダ107に与えると共
に、その一部を次マイクロアドレス選択回路104へ戻
す。
イクロ命令をマイクロ命令デコーダ107に与えると共
に、その一部を次マイクロアドレス選択回路104へ戻
す。
マイクロ命令デコーダ107は、マイクロ命令レジスタ
106から与えられるマイクロ命令のデコード結果とオ
ペレーション指定パラメータランチ1o。
106から与えられるマイクロ命令のデコード結果とオ
ペレーション指定パラメータランチ1o。
から与えられるオペレーション措定パラメータとからE
コード45を生成して出力する。
コード45を生成して出力する。
以上の次マイクロアドレス選択回路1o4.マイクロR
OM55.マイクロ命令レジスタ106及びマイクロ命
令デコーダ107が第2図のRステージ36に相当する
。
OM55.マイクロ命令レジスタ106及びマイクロ命
令デコーダ107が第2図のRステージ36に相当する
。
Eコード45はデータ演算部56に与えられる。
そして、データ演算部56では命令フェッチ部51にフ
ェッチされた命令がEコード45に従って実行される。
ェッチされた命令がEコード45に従って実行される。
このような本発明のデータ処理装置の動作について以下
に説明する。
に説明する。
命令フェッチ部51から命令コードが出力されて、命令
デコード部52内の第1デコーダ92によりデコードさ
れると、そのデコード結果から中間コード93及びパラ
メータ切出し制御信号EXTCNTが生成される。
デコード部52内の第1デコーダ92によりデコードさ
れると、そのデコード結果から中間コード93及びパラ
メータ切出し制御信号EXTCNTが生成される。
一方、命令フェッチ部51から出力された命令コードの
一部がパラメータ切出し回路94により切出され、その
結果がパラメータラッチ95にラッチされる。パラメー
タ切出し回路94によりいずれのビットが切出されるか
は、第1デコーダ92がら出力されるパラメータ切出し
制御信号EXTCNTにより制御される。
一部がパラメータ切出し回路94により切出され、その
結果がパラメータラッチ95にラッチされる。パラメー
タ切出し回路94によりいずれのビットが切出されるか
は、第1デコーダ92がら出力されるパラメータ切出し
制御信号EXTCNTにより制御される。
第6図は、パラメータ切出し制御信号EXTCNTとこ
れに応じて切出されるパラメータとの関係を示す一覧表
である。
れに応じて切出されるパラメータとの関係を示す一覧表
である。
この第6図の表において、Do。〜I)+sは、命令フ
ェッチ部51から出力された16ビツトの命令コードで
あり、この16ビツトの内から6ビツトのパラメータが
パラメータ切出し制御信号EXTCNTの制御により第
6図の表に示す如く切出される。但し、1iXTCNT
信号が’100’である場合には、前回ラッチしている
情報をそのまま保持し、書換えは行わない。
ェッチ部51から出力された16ビツトの命令コードで
あり、この16ビツトの内から6ビツトのパラメータが
パラメータ切出し制御信号EXTCNTの制御により第
6図の表に示す如く切出される。但し、1iXTCNT
信号が’100’である場合には、前回ラッチしている
情報をそのまま保持し、書換えは行わない。
中間コード93とパラメータラッチ95との内容はDコ
ード41としてAステージ33に送られる。また、中間
コード93とパラメータラッチ95との内容は第2デコ
ーダ96によりデコードされ、マイクロエントリアドレ
スが生成される。このマイクロエントリアドレスは、マ
イクロエントリアドレスランチ98にラッチされる。
ード41としてAステージ33に送られる。また、中間
コード93とパラメータラッチ95との内容は第2デコ
ーダ96によりデコードされ、マイクロエントリアドレ
スが生成される。このマイクロエントリアドレスは、マ
イクロエントリアドレスランチ98にラッチされる。
一方、第2デコーダ96の出力結果の一部とパラメータ
ラッチ95の内容とからオペレーション指定パラメータ
生成回路99によりオペレーション指定パラメータが生
成され、その結果がオペレーション指定パラメータラン
チ100にラッチされる。
ラッチ95の内容とからオペレーション指定パラメータ
生成回路99によりオペレーション指定パラメータが生
成され、その結果がオペレーション指定パラメータラン
チ100にラッチされる。
マイクロエントリアドレスラッチ98の内容とオペレー
ション指定パラメータラッチ100の内容とはRコード
43としてRステージ36に送られる。
ション指定パラメータラッチ100の内容とはRコード
43としてRステージ36に送られる。
オペレーション指定パラメータ生成回路99について以
下に詳述する。第8図はオペレーション指定パラメータ
生成回路99の構成を示すブロック図である。
下に詳述する。第8図はオペレーション指定パラメータ
生成回路99の構成を示すブロック図である。
オペレーション指定パラメータ生成回路99では、パラ
メータラッチ95のラッチ内容PAll?I−[1と、
第2デコーダ96から出力される5ビツトのPARM信
号82及び1ビツトのPARMCNT信号86とが入力
され、オペレーション指定パラメータPARM−R85
が生成される。PARM信号82の内、第Oビットから
第2ビツトまでの3ビツトはそのままPARM−R信号
85となる。
メータラッチ95のラッチ内容PAll?I−[1と、
第2デコーダ96から出力される5ビツトのPARM信
号82及び1ビツトのPARMCNT信号86とが入力
され、オペレーション指定パラメータPARM−R85
が生成される。PARM信号82の内、第Oビットから
第2ビツトまでの3ビツトはそのままPARM−R信号
85となる。
一方、PAR阿CNT信号86がl”である場合は、D
コード41のパラメータラッチ95の出力であるPAR
M−D信号84の第2ビツトと第3ビツトとがPARM
−R信号85の下位2ピントとなり、PARMCNT信
号86が“0”である場合は、PARM信号82の第3
ビツトと第4ビツトとがPARM−R信号85の下位2
ビツトとなる0両者の選択はPARTICNT信号86
により制御されるマルチプレクサ(MLIX)83で行
われる。
コード41のパラメータラッチ95の出力であるPAR
M−D信号84の第2ビツトと第3ビツトとがPARM
−R信号85の下位2ピントとなり、PARMCNT信
号86が“0”である場合は、PARM信号82の第3
ビツトと第4ビツトとがPARM−R信号85の下位2
ビツトとなる0両者の選択はPARTICNT信号86
により制御されるマルチプレクサ(MLIX)83で行
われる。
このようにしてPARM−R信号85が生成される。こ
れが第3図に示すRコード43中のオペレーション指定
パラメータラッチ100の内容となる。
れが第3図に示すRコード43中のオペレーション指定
パラメータラッチ100の内容となる。
次マイクロアドレス選択回路104はマイクロエントリ
アドレスラッチ98の内容に従って、マイクロROM5
5からマイクロ命令を読出す。読出されたマイクロ命令
はマイクロ命令レジスタ106にランチされる。このラ
ッチされたマイクロ命令レジスタ106の内容はマイク
ロデコーダ107へ渡される。
アドレスラッチ98の内容に従って、マイクロROM5
5からマイクロ命令を読出す。読出されたマイクロ命令
はマイクロ命令レジスタ106にランチされる。このラ
ッチされたマイクロ命令レジスタ106の内容はマイク
ロデコーダ107へ渡される。
また、マイクロ命令レジスタ106にラッチされている
マイクロ命令の一部は次マイクロアドレス選択回路10
4に戻され、次に読出されるマイクロ命令アドレスを決
定するのに用いられる。
マイクロ命令の一部は次マイクロアドレス選択回路10
4に戻され、次に読出されるマイクロ命令アドレスを決
定するのに用いられる。
マイクロ命令デコーダ107へは、オペレーション指定
パラメータラッチ100の内容も渡される。
パラメータラッチ100の内容も渡される。
マイクロ命令デコーダ107は、マイクロ命令レジスタ
106の内容とオペレーション指定パラメータラッチ1
00の内容とをデコードする。このデコード結果はデー
タ演算部56の制御信号群であるEコード45になる。
106の内容とオペレーション指定パラメータラッチ1
00の内容とをデコードする。このデコード結果はデー
タ演算部56の制御信号群であるEコード45になる。
Eコード45はデータ演算部56に渡され、これに従っ
てデータ演算部56において演算が行われる。
てデータ演算部56において演算が行われる。
第5図に、−例としてMOV命令(転送)、 AD[+
命令(加算)、 SOB命令(減算)、 AND命令(
論理積)。
命令(加算)、 SOB命令(減算)、 AND命令(
論理積)。
OR命令(論理和)+ XOR命令(排他的論理和)の
オペレーション指定パラメータと6つのフラグ(Fフラ
グ、Xフラグ、Vフラグ、しフラグJフラグ、Zフラグ
)に対するマスク情報及びALIIでのオペレーシッン
情報の一覧表を示す。
オペレーション指定パラメータと6つのフラグ(Fフラ
グ、Xフラグ、Vフラグ、しフラグJフラグ、Zフラグ
)に対するマスク情報及びALIIでのオペレーシッン
情報の一覧表を示す。
これらの命令はすべて同一のマイクロ命令によって実行
される。^LUでのオペレーション指定及び演算結果に
対してフラグを変化させるが否かの指定は、オペレーシ
ョン指定パラメータにより行われる。
される。^LUでのオペレーション指定及び演算結果に
対してフラグを変化させるが否かの指定は、オペレーシ
ョン指定パラメータにより行われる。
オペレーション指定パラメータ生成の手順について、M
OV命令を一例として以下に説明する。
OV命令を一例として以下に説明する。
第4図にフォーマットが異なる3種のMOV命令のビッ
ト割付けを示す。
ト割付けを示す。
門OV:G、 MOV:Q MOV:LはそれぞれG
−format Qformat、 L−forma
tのMOV命令である。各フォーマットによってビット
割付けが大きく異なっている。
−format Qformat、 L−forma
tのMOV命令である。各フォーマットによってビット
割付けが大きく異なっている。
第7図に、各命令処理時のEXTCNT信号、パラメー
タラッチ95にラッチされるDコード41のパラメータ
値、第2デコーダ96から出力されるPARM信号82
及びPARMCNT信号86の一覧表を示す。
タラッチ95にラッチされるDコード41のパラメータ
値、第2デコーダ96から出力されるPARM信号82
及びPARMCNT信号86の一覧表を示す。
MOV:G命令では、命令コードの一部と第2デコーダ
96から出力されるPARM(8号82とが合成されて
オペレーション指定パラメータが生成され、MOV:(
1命令及びMOV:L命令ではPARM(8号82のみ
でオペレーション指定パラメータが生成される。このよ
うに、ピント割付けが異なる3種のフォーマントの命令
で同一のオペレーション指定パラメータ(”10010
”)が指定され、同一のマイクロ命令で処理される。
96から出力されるPARM(8号82とが合成されて
オペレーション指定パラメータが生成され、MOV:(
1命令及びMOV:L命令ではPARM(8号82のみ
でオペレーション指定パラメータが生成される。このよ
うに、ピント割付けが異なる3種のフォーマントの命令
で同一のオペレーション指定パラメータ(”10010
”)が指定され、同一のマイクロ命令で処理される。
ここでは、MOV命令を一例として挙げたが、その他の
多くの命令についても同様の処理が行える。
多くの命令についても同様の処理が行える。
従ってマイクロROM55の容量、換言すれば面積を大
幅に削減することができる。
幅に削減することができる。
また、オペレーション指定パラメータ生成回路99では
上述の如く、命令コードの一部をパラメータにすること
が出来るようになっている。AND命令、 OR命令、
XOR命令を例に挙げて説明する。
上述の如く、命令コードの一部をパラメータにすること
が出来るようになっている。AND命令、 OR命令、
XOR命令を例に挙げて説明する。
これらの命令は上述のように、同一のマイクロ命令によ
り実行することが出来る。また、AND命令、 OR命
令及びXOR命令は、命令コードの内のほとんどのビッ
トパターンが同一で、2ビツトだけが異なっている。そ
の2ビツトのフィールドがAND命令では“00“に、
OR命令では°01”に、XOR命令では“10”にな
っている。
り実行することが出来る。また、AND命令、 OR命
令及びXOR命令は、命令コードの内のほとんどのビッ
トパターンが同一で、2ビツトだけが異なっている。そ
の2ビツトのフィールドがAND命令では“00“に、
OR命令では°01”に、XOR命令では“10”にな
っている。
従って、第5図に示したように、この2ビツトの値をオ
ペレーションパラメータ生成回路99によりオペレーシ
ョン指定パラメータの下位2ビツトとして書換えれば、
3種の命令を第2デコーダ96の同一の積項線でデコー
ドすることができる。換言すれば、ADD命令とSUB
命令、あるいはその他の命令で同様の処理を行うことが
可能である。これにより、命令コードの一部をパラメー
タとすることにより第2デコーダ96の面積を削減する
ことができる。
ペレーションパラメータ生成回路99によりオペレーシ
ョン指定パラメータの下位2ビツトとして書換えれば、
3種の命令を第2デコーダ96の同一の積項線でデコー
ドすることができる。換言すれば、ADD命令とSUB
命令、あるいはその他の命令で同様の処理を行うことが
可能である。これにより、命令コードの一部をパラメー
タとすることにより第2デコーダ96の面積を削減する
ことができる。
なお上記実施例では、命令のデコードを第1デコーダ9
2と第2デコーダ96との2段階で行っているため、命
令を実行する命令実行手段(データ演算部56)と、命
令実行手段により実行されるべき機械語命令の命令コー
ドをデコードし、その結果に応じて第1のビットフィー
ルドを生成する命令デコード手段(第1デコーダ92)
と、命令コードの一部あるいは全部を第2のビットフィ
ールドとして切出す切出し手段(パラメータ切出し回路
94)と、命令デコード手段により生成された第1のビ
ットフィールドと、切出し手段により切出された第2の
ビットフィールドとの内のいずれか一方を選択し、命令
実行手段に対する実行制御情報となるパラメータの一部
または全部として出力するパラメータ生成手段(オペレ
ーション指定パラメータ生成回路99)とを備える構成
としている。
2と第2デコーダ96との2段階で行っているため、命
令を実行する命令実行手段(データ演算部56)と、命
令実行手段により実行されるべき機械語命令の命令コー
ドをデコードし、その結果に応じて第1のビットフィー
ルドを生成する命令デコード手段(第1デコーダ92)
と、命令コードの一部あるいは全部を第2のビットフィ
ールドとして切出す切出し手段(パラメータ切出し回路
94)と、命令デコード手段により生成された第1のビ
ットフィールドと、切出し手段により切出された第2の
ビットフィールドとの内のいずれか一方を選択し、命令
実行手段に対する実行制御情報となるパラメータの一部
または全部として出力するパラメータ生成手段(オペレ
ーション指定パラメータ生成回路99)とを備える構成
としている。
しかし、これは本発明のデータ処理装置が上述の如く、
命令のデコードを第1デコーダ92と第2デコーダ96
との2段階で行っているためであり、命令のデコードを
1段階で行う一般的な構成のデータ処理装置にも本発明
は適用可能である。その場合には、命令を実行する命令
実行手段(データ演算部56)と、命令実行手段により
実行されるべき機械語命令の命令コードをデコードし、
その結果に応じてビットフィールドを生成する命令デコ
ード手段(第1デコーダ92)と、前記命令デコード手
段により生成されたビットフィールドと前記命令コード
の一部とのいずれか一方を選択し、前記命令実行手段に
対する実行制御情報となるパラメータの一部または全部
として出力するパラメータ生成手段(オペレーション指
定パラメータ生成回路99)とを備える構成とすればよ
い。
命令のデコードを第1デコーダ92と第2デコーダ96
との2段階で行っているためであり、命令のデコードを
1段階で行う一般的な構成のデータ処理装置にも本発明
は適用可能である。その場合には、命令を実行する命令
実行手段(データ演算部56)と、命令実行手段により
実行されるべき機械語命令の命令コードをデコードし、
その結果に応じてビットフィールドを生成する命令デコ
ード手段(第1デコーダ92)と、前記命令デコード手
段により生成されたビットフィールドと前記命令コード
の一部とのいずれか一方を選択し、前記命令実行手段に
対する実行制御情報となるパラメータの一部または全部
として出力するパラメータ生成手段(オペレーション指
定パラメータ生成回路99)とを備える構成とすればよ
い。
また、上記実施例では一旦りコードパラメータPARM
−Dを生成してからオペレーション指定パラメータの生
成を行っているが、命令コードからオベレーション指定
パラメータの一部を直接生成するようにしてもよい。
−Dを生成してからオペレーション指定パラメータの生
成を行っているが、命令コードからオベレーション指定
パラメータの一部を直接生成するようにしてもよい。
また、上記実施例では、パラメータの一部がデコーダ出
力に固定されているが、パラメータの総てを命令コード
から切出したパラメータと命令デコード結果の選択結果
とにより設定するようにしてもよい。
力に固定されているが、パラメータの総てを命令コード
から切出したパラメータと命令デコード結果の選択結果
とにより設定するようにしてもよい。
また、オペレージ目ン指定パラメータについて、デコー
ド結果と命令コードとの複数の組合せパターンを予め設
定しておいて、それを選択できるようにしてもよい。
ド結果と命令コードとの複数の組合せパターンを予め設
定しておいて、それを選択できるようにしてもよい。
また、上記実施例では^LUのオペレーション指定及び
フラグマスクの指定をオペレーション指定パラメータで
行っているが、バレルシフタ等の他の演算器のオペレー
ション指定あるいはサイズの指定をオペレーション指定
パラメータを用いて行ってもよい。
フラグマスクの指定をオペレーション指定パラメータで
行っているが、バレルシフタ等の他の演算器のオペレー
ション指定あるいはサイズの指定をオペレーション指定
パラメータを用いて行ってもよい。
以上に詳述した如く、本発明のデータ処理装置では、命
令コードから切出したパラメータと命令をデコードした
結果とを選択1合成してオペレーション指定パラメータ
を生成することにより、命令フォーマントが異なる同一
の命令に対して同一のマイクロプログラムで演算実行が
可能となるので、マイクロROM及びデコーダのサイズ
を削減することが可能になる。
令コードから切出したパラメータと命令をデコードした
結果とを選択1合成してオペレーション指定パラメータ
を生成することにより、命令フォーマントが異なる同一
の命令に対して同一のマイクロプログラムで演算実行が
可能となるので、マイクロROM及びデコーダのサイズ
を削減することが可能になる。
第1図は本発明に係るデータ処理装置の全体構成を示す
ブロック図、第2図は本発明のデータ処理装置のパイプ
ラインステージの概要を示す模式図、第3図は本発明の
データ処理装置のより詳細な構成を示すブロック図、第
4図は本発明のデータ処理装置のMOV命令の命令コー
ドを示す模式図、第5図は本発明のデータ処理装置の命
令のパラメータ等の情報を示す模式図、第6図は本発明
のデータ処理装置のDコードパラメータを示す模式図、
第7図は本発明のデータ処理装置の3種のフォーマント
のMOV命令のDコードを示す模式図、第8図は本発明
のデータ処理装置のオペレーション指定パラメータ生成
部の構成を示すブロック図、第9図は本発明のデータ処
理装置のメモリ上での命令コードのビット配列を示す模
式図、第10図がら第18図は本発明のデータ処理装置
の命令フォーマントを示す模式図、第19図がら第32
図は本発明のデータ処理装置のアドレッシングモードを
説明するための模式図、第33図は本発明のデータ処理
装置の命令フォーマットの特徴を示す模式図、第34図
は従来のデータ処理装置の構成を示す模式図である。 56・・・データ演算部 92・・・第1デコーダ9
4・・・パラメータ切出し回路 99・・・オペレー
ション指定パラメータ生成回路 なお、各図中同一符号は同−又は相当部分を示す。
ブロック図、第2図は本発明のデータ処理装置のパイプ
ラインステージの概要を示す模式図、第3図は本発明の
データ処理装置のより詳細な構成を示すブロック図、第
4図は本発明のデータ処理装置のMOV命令の命令コー
ドを示す模式図、第5図は本発明のデータ処理装置の命
令のパラメータ等の情報を示す模式図、第6図は本発明
のデータ処理装置のDコードパラメータを示す模式図、
第7図は本発明のデータ処理装置の3種のフォーマント
のMOV命令のDコードを示す模式図、第8図は本発明
のデータ処理装置のオペレーション指定パラメータ生成
部の構成を示すブロック図、第9図は本発明のデータ処
理装置のメモリ上での命令コードのビット配列を示す模
式図、第10図がら第18図は本発明のデータ処理装置
の命令フォーマントを示す模式図、第19図がら第32
図は本発明のデータ処理装置のアドレッシングモードを
説明するための模式図、第33図は本発明のデータ処理
装置の命令フォーマットの特徴を示す模式図、第34図
は従来のデータ処理装置の構成を示す模式図である。 56・・・データ演算部 92・・・第1デコーダ9
4・・・パラメータ切出し回路 99・・・オペレー
ション指定パラメータ生成回路 なお、各図中同一符号は同−又は相当部分を示す。
Claims (2)
- (1)命令を実行する命令実行手段と、 該命令実行手段により実行されるべき機械 語の命令コードをデコードし、その結果に応じてビット
フィールドを生成する命令デコード手段と、 前記命令デコード手段により生成されたビ ットフィールドと前記命令コードの一部とのいずれか一
方を選択し、前記命令実行手段に対する実行制御情報と
なるパラメータの一部又は全部として出力するパラメー
タ生成手段と を備えたことを特徴とするデータ処理装置。 - (2)命令を実行する命令実行手段と、 該命令実行手段により実行されるべき機械 語の命令コードをデコードし、その結果に応じて第1の
ビットフィールドを生成する命令デコード手段と、 前記命令コードの一部又はは全部を第2の ビットフィールドとして切出す切出し手段と、前記命令
デコード手段により生成された第 1のビットフィールドと、前記切出し手段により切出さ
れた第2のビットフィールドとの内のいずれか一方を選
択し、前記命令実行手段に対する実行制御情報となるパ
ラメータの一部又は全部として出力するパラメータ生成
手段と を備えたことを特徴とするデータ処理装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63331765A JPH0810428B2 (ja) | 1988-12-26 | 1988-12-26 | データ処理装置 |
| US07/457,413 US5220656A (en) | 1988-12-26 | 1989-12-26 | System for selecting control parameter for microinstruction execution unit using parameters and parameter selection signal decoded from instruction |
| US07/954,096 US5321821A (en) | 1988-12-26 | 1992-09-29 | System for processing parameters in instructions of different format to execute the instructions using same microinstructions |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63331765A JPH0810428B2 (ja) | 1988-12-26 | 1988-12-26 | データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02173823A true JPH02173823A (ja) | 1990-07-05 |
| JPH0810428B2 JPH0810428B2 (ja) | 1996-01-31 |
Family
ID=18247371
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63331765A Expired - Lifetime JPH0810428B2 (ja) | 1988-12-26 | 1988-12-26 | データ処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US5220656A (ja) |
| JP (1) | JPH0810428B2 (ja) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04255028A (ja) * | 1991-02-06 | 1992-09-10 | Sharp Corp | マイクロプロセッサ |
| KR950009687B1 (ko) * | 1992-06-30 | 1995-08-26 | 삼성항공산업주식회사 | 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치 |
| US5542058A (en) * | 1992-07-06 | 1996-07-30 | Digital Equipment Corporation | Pipelined computer with operand context queue to simplify context-dependent execution flow |
| JPH0683618A (ja) * | 1992-08-31 | 1994-03-25 | Nec Corp | フラグ制御回路 |
| US5408674A (en) * | 1992-12-23 | 1995-04-18 | Amdahl Corporation | System for checking the validity of two byte operation code by mapping two byte operation codes into control memory in order to reduce memory size |
| US5479626A (en) * | 1993-07-26 | 1995-12-26 | Rockwell International Corporation | Signal processor contexts with elemental and reserved group addressing |
| US5559974A (en) * | 1994-03-01 | 1996-09-24 | Intel Corporation | Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation |
| US6128720A (en) * | 1994-12-29 | 2000-10-03 | International Business Machines Corporation | Distributed processing array with component processors performing customized interpretation of instructions |
| JP2931890B2 (ja) * | 1995-07-12 | 1999-08-09 | 三菱電機株式会社 | データ処理装置 |
| US5740420A (en) * | 1995-10-26 | 1998-04-14 | Advanced Micro Devices, Inc. | System and method for compiling and executing sequences of macro and micro instructions |
| US5958046A (en) * | 1996-11-26 | 1999-09-28 | Texas Instruments Incorporated | Microprocessor with reduced microcode space requirements due to improved branch target microaddress circuits, systems, and methods |
| US5918031A (en) * | 1996-12-18 | 1999-06-29 | Intel Corporation | Computer utilizing special micro-operations for encoding of multiple variant code flows |
| US5896522A (en) * | 1996-12-31 | 1999-04-20 | Unisys Corporation | Selective emulation interpretation using transformed instructions |
| US6446190B1 (en) * | 1998-03-12 | 2002-09-03 | Bops, Inc. | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor |
| USRE41012E1 (en) | 1998-03-12 | 2009-11-24 | Altera Corporation | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor |
| US6581154B1 (en) * | 1999-02-17 | 2003-06-17 | Intel Corporation | Expanding microcode associated with full and partial width macroinstructions |
| US7376814B1 (en) | 1999-09-07 | 2008-05-20 | Nxp B.V. | Method for forming variable length instructions in a processing system |
| US7711763B2 (en) * | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
| US7181484B2 (en) * | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
| US7162621B2 (en) | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
| US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
| GB2399899B (en) | 2003-03-27 | 2005-06-22 | Micron Technology Inc | Active memory command engine and method |
| US7698539B1 (en) * | 2003-07-16 | 2010-04-13 | Banning John P | System and method of instruction modification |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5927351A (ja) * | 1982-08-06 | 1984-02-13 | Hitachi Ltd | デ−タ処理装置 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4558411A (en) * | 1969-05-19 | 1985-12-10 | Burroughs Corp. | Polymorphic programmable units employing plural levels of sub-instruction sets |
| US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
| US3889242A (en) * | 1971-10-04 | 1975-06-10 | Burroughs Corp | Modifiable computer function decoder |
| US3794979A (en) * | 1973-03-02 | 1974-02-26 | Ibm | Microprogrammed control unit with means for reversing and complementing microinstructions |
| US4312034A (en) * | 1979-05-21 | 1982-01-19 | Motorola, Inc. | ALU and Condition code control unit for data processor |
| US4384324A (en) * | 1980-05-06 | 1983-05-17 | Burroughs Corporation | Microprogrammed digital data processing system employing tasking at a microinstruction level |
| JPS58203554A (ja) * | 1982-05-21 | 1983-11-28 | Toshiba Corp | 演算処理装置 |
| US4589067A (en) * | 1983-05-27 | 1986-05-13 | Analogic Corporation | Full floating point vector processor with dynamically configurable multifunction pipelined ALU |
| JPS60105044A (ja) * | 1983-11-11 | 1985-06-10 | Fujitsu Ltd | マイクロプログラム制御方式 |
| US4691278A (en) * | 1984-04-23 | 1987-09-01 | Nec Corporation | Data processor executing microprograms according to a plurality of system architectures |
| GB8421066D0 (en) * | 1984-08-18 | 1984-09-19 | Int Computers Ltd | Microprogram control |
| JPS6224326A (ja) * | 1985-07-24 | 1987-02-02 | Hitachi Ltd | デ−タ処理装置 |
| JPS62165242A (ja) * | 1986-01-17 | 1987-07-21 | Toshiba Corp | プロセツサ |
| JPH07120278B2 (ja) * | 1988-07-04 | 1995-12-20 | 三菱電機株式会社 | データ処理装置 |
-
1988
- 1988-12-26 JP JP63331765A patent/JPH0810428B2/ja not_active Expired - Lifetime
-
1989
- 1989-12-26 US US07/457,413 patent/US5220656A/en not_active Expired - Fee Related
-
1992
- 1992-09-29 US US07/954,096 patent/US5321821A/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5927351A (ja) * | 1982-08-06 | 1984-02-13 | Hitachi Ltd | デ−タ処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5220656A (en) | 1993-06-15 |
| US5321821A (en) | 1994-06-14 |
| JPH0810428B2 (ja) | 1996-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02173823A (ja) | データ処理装置 | |
| US5129068A (en) | Operand address calculation in a pipeline processor by decomposing the operand specifier into sequential step codes | |
| JPH035835A (ja) | マイクロプロセッサ | |
| US5313644A (en) | System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word | |
| US4945511A (en) | Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions | |
| JPH03158928A (ja) | データ処理装置 | |
| JPH01214932A (ja) | データ処理装置 | |
| JPH035836A (ja) | マイクロプロセッサ | |
| JPH0391029A (ja) | データ処理装置 | |
| JP3716604B2 (ja) | 情報処理装置 | |
| US5269008A (en) | Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer | |
| JPH0769806B2 (ja) | データ処理装置 | |
| JP2504235B2 (ja) | デ―タ処理装置 | |
| JP2522048B2 (ja) | マイクロプロセッサ及びそれを使用したデ―タ処理装置 | |
| JPH0225932A (ja) | データ処理装置 | |
| JPH0218621A (ja) | データ処理装置 | |
| JPH0290325A (ja) | データ処理装置 | |
| JP2532560B2 (ja) | 高機能な例外処理を行うデ―タ処理装置 | |
| JPH0298734A (ja) | データ処理装置 | |
| JPH0769802B2 (ja) | データ処理装置 | |
| JPH0769808B2 (ja) | データ処理装置 | |
| JPH035833A (ja) | マイクロプロセッサ | |
| JPH01214933A (ja) | データ処理装置 | |
| JPH0573294A (ja) | マイクロプロセツサ | |
| JPH0769803B2 (ja) | データ処理装置 |