JPH05233271A - データプロセッサ - Google Patents

データプロセッサ

Info

Publication number
JPH05233271A
JPH05233271A JP4033156A JP3315692A JPH05233271A JP H05233271 A JPH05233271 A JP H05233271A JP 4033156 A JP4033156 A JP 4033156A JP 3315692 A JP3315692 A JP 3315692A JP H05233271 A JPH05233271 A JP H05233271A
Authority
JP
Japan
Prior art keywords
instruction
output
decoder
unit
rom
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
Application number
JP4033156A
Other languages
English (en)
Other versions
JP3497516B2 (ja
Inventor
Fumio Arakawa
文男 荒川
Susumu Narita
進 成田
Kunio Uchiyama
邦男 内山
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP03315692A priority Critical patent/JP3497516B2/ja
Priority to KR1019930001903A priority patent/KR100266424B1/ko
Publication of JPH05233271A publication Critical patent/JPH05233271A/ja
Priority to US08/266,900 priority patent/US5394558A/en
Application granted granted Critical
Publication of JP3497516B2 publication Critical patent/JP3497516B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】基本命令と高機能命令の双方ともに効率的に処
理するデータプロセッサを提供すること。 【構成】二つの基本命令が命令デコーダ21、22に供
給されると、マイクロROM30は使用されず、命令デ
コーダ21、22のデコード出力により命令実行部5
1、52は二つの基本命令を同時に実行する。高機能命
令が一方の命令デコーダ21に供給されると、1回目の
処理に際してマイクロROM30のマイクロ命令は使用
されず、一方の命令実行部51は一方の命令デコーダ2
1の出力を選択して処理を実行し、2回目の処理に際し
てマイクロROM30のマイクロ命令を選択して一方の
命令実行部51は処理を実行する。 【効果】基本命令実行時にはマイクロROMを使用する
必要がなくなり、基本命令分のROM容量、ROM面積
ならび消費電力が削減される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロプロセッサ等の
データプロセッサに関し、特に命令実行部を1回だけ使
用して処理できる基本命令と命令実行部を2回以上使用
して処理する必要のある高機能命令との双方を含む命令
セットを処理するデータプロセッサにおいて、複数の基
本命令の同時実行可能とするとともに、基本命令と高機
能命令の双方ともに高速に実行するための有効な方式に
関する。
【0002】
【従来の技術】従来より、基本命令と高機能命令との双
方を含む命令セットを処理する公知のマイクロプロセッ
サとしては「BYTE November 1989pp323-338」記載の8
0486、「日経エレクトロニクス1990.1.8(no.490)pp
177-186」記載のi960CA等がある。
【0003】このマイクロプロセッサ80486の構成
は、図7に示すように、命令フェッチ部10、命令デコ
ーダ20、マイクロプログラムROM30、アドレス計
算部120、および命令実行部50からなる。この構成
において、命令に含まれるとともにデコードされるべき
部分である命令コード60が命令フェッチ部10から命
令デコーダ20へ送られ、次にデコードすべき命令のコ
ード位置を指定する次命令コード位置指定信号70が命
令デコーダ20から命令フェッチ部10へ送られ、命令
のデコード結果の一部であるROMアドレス100が命
令デコーダ20からマイクロプログラムROM30へ送
られ、命令実行部制御信号110がマイクロプログラム
ROM30から命令実行部50へ送られ、命令のデコー
ド結果の他の一部であるアドレス計算部制御信号130
が命令デコーダ20からアドレス計算部120へ送ら
れ、メモリアクセスアドレス140がアドレス計算部1
20から命令実行部50へ送られている。
【0004】また、このマイクロプロセッサ80486
は図4に示すように、プリフェッチPF、第1デコード
D1、第2デコードD2、実行EX、ライトバックWB
の5段のパイプラインステージを持つ。プリフェッチス
テージPFでは、命令フェッチ部10が図示しないメイ
ンメモリもしくはキャッシュメモリから命令をフェッチ
して命令フェッチ部10の内部のプリフェッチキューに
格納する一方、命令デコーダ20からの次命令コード位
置指定信号70に従って命令フェッチ部10は次にデコ
ードされる命令コード60を命令デコーダ20に供給す
る。第1デコードステージD1では、命令デコーダ20
が命令フェッチ部10から供給された命令コード60を
デコードして、命令のデコード結果として命令のROM
アドレス100とアドレス計算部制御信号130とを生
成する。第2デコードステージD2では、命令デコーダ
20からのROMアドレス100によってROMを検索
し命令実行部制御信号110を生成すると同時に、アド
レス計算部制御信号130に基づいてアドレス計算部1
20でメモリアクセスアドレス140を生成する。実行
ステージEXでは、命令実行部制御信号110に基づい
て命令実行部50の図示されていない論理演算部(AL
U)は演算を実行したり、もしくはメモリアクセスアド
レス140に基づいて命令実行部50の図示されていな
いメモリアクセス回路はメモリアクセス等を行う。この
メモリアクセス時には、アドレス計算部120からのメ
モリアクセスアドレス140を使用して直ちにメモリア
クセスを開始する。ライトバックステージWBでは実行
ステージでの演算結果またはメモリフェッチデータを図
示されていないレジスタファイルに格納する。このよう
に公知のマイクロプロセッサ80486では、常にアド
レス計算以外の制御信号はマイクロプログラムROM3
0の出力から生成している。
【0005】一方、他の公知のマイクロプロセッサi9
60CAは、高機能命令のみをマイクロプログラムRO
Mの出力制御によって実行している。すなわち、高機能
命令を基本命令に分解したマイクロプログラムがROM
に格納されており、高機能命令の処理は命令コードの代
わりにROM出力を実行することにより実現している。
このマイクロプロセッサi960CAの構成は、図8に
示すように、命令フェッチ部10、命令デコーダ20、
マイクロプログラムROM30、命令デコーダ入力選択
部150、および命令実行部50からなる。命令コード
60が命令フェッチ部10から命令デコーダ入力選択部
150へ送られ、ROM出力90がマイクロプログラム
ROM30から命令デコーダ入力選択部150へ送ら
れ、命令デコーダ入力160が命令デコーダ入力選択部
150から命令デコーダ20へ送られ、次命令コード位
置指定信号70が命令デコーダ20から命令フェッチ部
10へ送られ、ROMアドレス100が命令デコーダ2
0からマイクロプログラムROM30へ送られ、命令デ
コーダ入力選択信号170が命令デコーダ20から命令
デコーダ入力選択部150へ送られ、命令実行部制御信
号110が命令デコーダ20から命令実行部50へ送ら
れている。
【0006】また、このマイクロプロセッサi960C
Aは、図5に示すように、プリフェッチPF、デコード
ID、実行EXの3段のパイプラインステージを持つ。
プリフェッチステージPFでは、基本命令を実行してい
る間は、命令フェッチ部10が命令コード60をフェッ
チしてプリフェッチキューに格納する一方、命令デコー
ダ20からの次命令コード位置指定信号70に従って命
令コード60が命令デコーダ入力選択部150を介して
命令デコーダ20に供給される。高機能命令を実行して
いる間は、マイクロプログラムROM30の読み出しを
行い、ROM出力90が命令デコーダ入力選択部150
を通して命令デコーダ20に供給される。デコードステ
ージIDでは、命令デコーダ20は命令フェッチ部10
からの命令コード60またはマイクロプログラムROM
30からのROM出力90をデコードして命令実行部制
御信号110を生成すると同時に、デコードした命令が
高機能命令であった場合は、ROMアドレス100を生
成し、命令デコーダ入力選択信号170をROM出力選
択側に変更する。実行ステージEXでは命令実行部制御
信号110に基づいて命令実行部50は演算、メモリア
クセス等を行う。
【0007】
【発明が解決しようとする課題】上述したように、公知
のマイクロプロセッサ80486は、全ての命令につい
て、アドレス計算以外の制御信号はROM出力から生成
している。このようなマイクロプロセッサでは、全ての
命令についてマイクロプログラムが必要となるため、R
OM容量が増大し、これに伴ってROMの面積および消
費電力が大きくなり、動作速度が遅くなると言う問題を
有する。また、常にROMが動作しているため、プロセ
ッサ全体に占めるROMの消費電力が大きくなる。プロ
セッサの集積度および動作周波数が高まるにつれて、プ
ロセッサの消費電力も増大しており、これを抑制する必
要がある。このため、ROMの消費電力を抑制する必要
がある。さらに、複数命令を同時実行する場合、例え
ば、同様の構成で2命令同時実行を行うプロセッサを構
成すると、図2に示すようになる。図2のような構成に
すると、それぞれの命令に対してROMが必要となるた
め、2命令同時実行のために命令デコーダだけでなく、
ROMも2重化する必要がある。また、高機能命令を2
つの命令実行部を両方使用して実行しようとすると、2
つの独立したROMを用いて制御する必要があると言う
問題を有する。
【0008】また上述したように、公知のマイクロプロ
セッサi960CAは基本命令はROMを使用せずに実
行する一方、高機能命令を実行する際にROMを使用し
ている。高機能命令の実行開始時には、図9に示すよう
にROM読み出しのオーバヘッドが入るため、パイプラ
インに1サイクルの空きができる。例えば、2、3サイ
クルで終了する高機能命令の場合、このパイプラインの
空きによる性能低下は無視できない。さらに、複数命令
を同時実行する場合、例えば、高機能命令とその次の命
令が同時にデコーダに供給された場合、高機能命令の次
の命令は、プリフェッチからやり直す必要がある。この
ため、命令デコーダはデコードした命令が基本命令か高
機能命令かによって、命令プリフェッチ部に出力する次
命令位置指定信号を代える必要がある。このような方式
の場合、基本命令と高機能命令の区別に命令コードのフ
ルデコードが必要なプロセッサでは、次命令位置指定信
号の生成に時間がかかってしまう。そして、命令デコー
ダへの命令コード供給のサイクル時間が増大し性能が低
下する。
【0009】従って、本発明の目的とするところは、命
令実行部を1回だけ使用して実行できる基本命令と命令
実行部を2回以上使用して実行する必要の有る高機能命
令との双方を効率的に実行するとともに、マイクロプロ
グラムROMの容量を低減することな可能なデータプロ
セッサを提供することにある。
【0010】
【課題を解決するための手段】命令実行部制御信号を命
令デコーダ出力とマイクロプログラムROM出力とから
選択して生成することにより、命令実行部制御信号を、
有る場合は命令デコーダ出力のみから、また他の場合
は、一部または全部をマイクロプログラムROM出力か
ら、他を命令デコーダ出力から生成することを可能にす
る。
【0011】さらに、命令デコーダおよび命令実行部と
を複数個にし、1つのマイクロプログラムROMから複
数個の命令実行部を制御する信号を出力し、命令実行部
制御信号を複数の命令デコーダ出力と1つのマイクロプ
ログラムROM出力とから選択して生成することによ
り、命令実行部制御信号を、有る場合は命令デコーダ出
力のみから、また他の場合は、一部または全部をマイク
ロプログラムROM出力から、他を命令デコーダ出力か
ら生成することを可能にする。
【0012】
【作用】上記解決手段により、命令実行部を1回だけ使
用して処理できる基本命令は、命令デコーダ出力のみか
ら生成した命令実行部制御信号によって命令実行部を制
御して実行し、命令実行部を2回以上使用して処理する
必要のある高機能命令は、1回目は命令デコーダ出力の
みから生成した命令実行部制御信号によって、2回目以
降は一部または全部をマイクロプログラムROM出力か
ら、他を命令デコーダ出力から生成した命令実行部制御
信号によって、命令実行部を制御して実行する。この結
果、基本命令実行時にはROMを使用する必要がなくな
り、基本命令分のROM容量の削減、ならびに、これに
伴うROMの面積および消費電力の削減と動作速度の向
上が図れる。また、プログラムにおける出現頻度の高い
基本命令実行時にROMが動作しないため、プロセッサ
全体の平均の消費電力も小さくなる。
【0013】さらに、単一のROMで基本命令の複数命
令同時実行と、高機能命令の2回目以降の処理に命令実
行部全体を使用した高速実行が可能となる。
【0014】
【実施例】図6は本発明の基本的な実施例によるマイク
ロプロセッサの構成図であり、このマイクロプロセッサ
は命令フェッチ部10、命令デコーダ20、マイクロプ
ログラムROM30、制御信号選択部40、および命令
実行部50からなる。命令フェッチ部10は図示されて
いないメインメモリもしくはキャッシュメモリから命令
をプリフェッチし、命令コード60が命令フェッチ部1
0から命令デコーダ20へ送られる。特に、命令デコー
ダ20からの次命令コード位置指定信号70に従って命
令フェッチ部10は、次にデコードされるべき命令コー
ド60を命令デコーダ20へ供給する。命令デコーダ2
0による命令のデコード結果である命令デコーダ出力8
0が制御信号選択部40へ送られる一方、マイクロプロ
グラムROM30からのマイクロプログラムROM出力
90が制御信号選択部40へ送られる。また、制御信号
選択部40からのROMアドレス100がマイクロプロ
グラムROM30へ送られ、制御信号選択部40からの
命令実行部制御信号110が命令実行部50へ送られて
いる。
【0015】図6に示す本実施例のマイクロプロセッサ
は図3に示すように、命令フェッチI、命令デコード
D、演算E、メモリアクセスA、およびレジスタストア
Sの5段のパイプラインステージを有するものである。
【0016】命令フェッチステージIでは命令フェッチ
部10が処理を行い、命令デコードステージDでは、命
令デコーダ20とマイクロプログラムROM30と制御
信号選択部40とを用いて命令実行制御信号110を生
成することができ、そして、演算E、メモリアクセス
A、およびレジスタストアSのそれぞれのステージでは
命令実行部50を用いて演算、メモリアクセスもしくは
レジスタストアの処理が実行される。命令実行部50を
1回だけ使用して処理できる基本命令は、5段のパイプ
ラインステージを1回ずつ動作させて処理する。一方、
命令実行部50を2回以上使用して処理する必要のある
高機能命令は、各ステージを2回以上動作させて処理す
る。
【0017】まず、基本命令処理時のパイプライン動作
を、より詳細に説明する。命令フェッチステージIで
は、メインメモリもしくはキャッシュメモリから命令を
命令フェッチ部10がフェッチして内部のプリフェッチ
キューに格納する一方、次命令コード位置指定信号70
に従って命令フェッチ部10は次にデコードされるべき
命令コード60を命令デコーダ20へ供給する。このよ
うに、命令フェッチ部10にはプリフェッチキューがあ
り、ここにあらかじめ命令コードをフェッチして保持す
るとの並行して、次命令コード位置指定信号70に従っ
て命令コード60を命令デコーダ20へ供給する。命令
フェッチステージと同時に実行している命令デコーダ2
0での前命令の命令デコードステージの前半で次命令コ
ード位置指定信号70が生成されて命令フェッチ部10
に供給されるため、プリフェッチキューからの命令コー
ド60の選択は命令フェッチステージIの後半で行われ
ている。
【0018】命令デコードステージDでは、命令デコー
ダ20が、まずステージの前半で命令コード60をデコ
ードして命令長を判断し、次命令コード位置指定信号7
0を生成する。さらに、命令デコーダ20は命令デコー
ダ出力80を生成して制御信号選択部40に供給する。
そして、制御信号選択部40が命令デコーダ出力80を
ROMアドレス100および命令実行部制御信号110
として選択し、それぞれマイクロプログラムROM30
および命令実行部50へ供給する。ただし、基本命令処
理時にマイクロプログラムROM30に供給されるRO
Mアドレス100は、マイクロプログラムROM30を
動作させないので、マイクロプログラムROM出力90
が生成されない。
【0019】演算ステージEでは、命令デコーダ出力8
0である命令実行部制御信号110に基づいて、命令実
行部50がアドレス計算、演算、分岐判定等を行う。ま
た、命令実行部制御信号110のうち、メモリアクセス
およびレジスタストアの制御情報を1サイクル保持す
る。
【0020】メモリアクセスステージAでは、命令実行
部50が演算ステージEの間に保持していたメモリアク
セスの制御情報に基づいて、データフェッチ、データス
トア、またはデータ保持を行う。データフェッチまたは
データストアのためのアドレスは、演算ステージEにお
いてアドレス計算によって求められている。また、デー
タ保持とは、メモリアクセスを必要としないレジスタ間
演算命令等を処理する際に、演算ステージで得られた結
果を次のレジスタストアステージSまで保持しておくこ
とである。また、演算ステージFの間に保持していたレ
ジスタストアの制御情報をさらに1サイクル保持する。
【0021】レジスタストアステージSでは、命令実行
部50が、メモリアクセスステージAの間に保持してい
たレジスタストアの制御情報に基づいて、メモリアクセ
スステージAでフェッチまたは保持しておいたデータを
レジスタに格納する。
【0022】次に、高機能命令の処理時のパイプライン
動作を、より詳細に説明する。先に説明したように、高
機能命令の実行のためには、命令実行部50を2回以上
使用する必要が有る。従って、命令フェッチステージ
I、デコードステージD、演算ステージE、メモリアク
セスステージA、レジスタストアステージSの各ステー
ジでの高機能命令の実行のための第1ステップの処理
は、基本命令の場合と同一であり、マイクロプログラム
ROM30を動作させることなく、マイクロプログラム
ROM出力90を命令の実行のために使用することはな
い。
【0023】また、演算ステージE、メモリアクセスス
テージA、およびレジスタストアステージSのそれぞれ
における第2ステップ以降の処理は、基本命令の場合と
同一である。
【0024】第2ステップ以降の命令フェッチステージ
Iでは、命令デコーダ20が次命令コード位置指定信号
70を実行中の高機能命令の次の命令に保つことによっ
て、命令フェッチ部10が命令コード60として次命令
を出力し続けるようにする。また、命令プリフェッチキ
ューに空きのある場合は命令フェッチを行って空きをな
くす。
【0025】第2ステップ以降の命令デコードステージ
Dでは、マイクロプログラムROM30を動作させる一
方、命令デコーダ20は動作させず、命令デコーダ出力
80としては第1ステップのデコード結果を保持し、出
力し続ける。マイクロプログラムROM30の検索アド
レスとしては、1ステップ前に制御信号選択部40が選
択した非動作中のマイクロプログラムROM30のRO
Mアドレス100を使用する。すなわち、上記第1のス
テップで非動作中のマイクロプログラムROM30の出
力90には第1ステップで命令実行部50を制御するた
めのマイクロ命令は含まれていないが、第2ステップ以
降で命令実行部50を制御するためのマイクロ命令が格
納された場所を示す次マイクロ命令アドレスが含まれて
いる。この次マイクロ命令アドレス90をマイクロプロ
グラムROM30の検索アドレス100とすることで、
命令実行部50を制御するためのマイクロ命令をROM
出力90から読み出すことができる。そして、制御信号
選択部40はマイクロプログラムROM出力90をRO
Mアドレス100および命令実行部制御信号110とし
て選択し、それぞれマイクロプログラムROM30およ
び命令実行部50へ供給する。但し、命令実行部制御信
号110のうち、命令で自由に設定できるレジスタ番
号、オペランドサイズ等の情報は、命令デコーダ出力8
0を選択するようにする。これは、命令で自由に設定で
きる情報にマイクロプログラムROM出力90を使用す
ると、これらの値が異なるだけでマイクロプログラムを
変えることになってしまい、マイクロプログラムROM
30容量の増大につながるためである。この時に選択す
る命令デコーダ出力80としては、第1ステップから出
力し続けている命令デコーダ出力80を使用する。尚、
命令セットの種類によっては、命令で自由に設定できる
情報を第1ステップで使用しないで、第2ステップ以降
で使用することも考えられる。このような命令セットの
マイクロプロセッサを実現するためには、命令デコーダ
出力80として命令で自由に設定できて第2ステップ以
降で使用する情報を出力しておき、第2ステップ以降で
これを選択する。
【0026】命令デコーダ出力80およびマイクロプロ
グラムROM出力90から一方を選択する制御信号選択
部40における制御は、以下のように行う。命令デコー
ダ出力80およびマイクロプログラムROM出力90と
して最終ステップ指示信号を持たせ、基本命令の場合は
命令デコーダ出力80で最終ステップ指示信号を出力さ
せ、高機能命令の場合は最終ステップのマイクロプログ
ラムROM出力90でこの最終ステップ指示信号を出力
させる。制御信号選択部40で選択した信号に最終ステ
ップ指示信号がアサートされたら、次の命令デコードス
テージDで命令デコーダ20を動作させて、制御信号選
択部40は命令デコーダ20の命令デコード結果である
出力80をROMアドレス100および命令実行部制御
信号110として選択する。アサートされない場合は、
マイクロプログラムROM出力90を選択する。最終ス
テップ指示信号の選択も、これと同一条件で行う。
【0027】上記方式により、基本命令の実行時にはマ
イクロプログラムROM30を使用する必要がなくな
り、基本命令に関してマイクロプログラムROM30の
容量を削減でき、また、これに伴ってマイクロプログラ
ムROM30の面積および消費電力の削減と動作速度の
向上が図れる。さらに、命令デコーダ20およびマイク
ロプログラムROM30は常にどちらか一方が動作する
ため、消費電力を削減することができる。
【0028】図1は複数の命令を同時実行を行うことの
可能な本発明の具体的な実施例によるマイクロプロセッ
サの構成図であり、このマイクロプロセッサは命令フェ
ッチ部10、第1命令デコーダ21、第2命令デコーダ
22、次命令コード位置指定信号生成部23、マイクロ
プログラムROM30、制御信号選択部40、第1命令
実行部51および第2命令実行部52からなる。
【0029】第1命令コード61と第2命令コード62
とが並行して、命令フェッチ部10から第1命令デコー
ダ21と第2命令デコーダ22へ供給される。第1命令
デコーダ21と第2命令デコーダ22での命令デコード
結果から判別される第1命令長71と第2命令長72
が、第1命令デコーダ21および第2命令デコーダ22
から次命令コード位置指定信号生成部23へそれぞれ供
給される。その結果、次命令コード位置指定信号70が
次命令コード位置指定信号生成部23から命令フェッチ
部10へ供給される。第1命令デコーダ21および第2
命令デコーダ22から第1命令デコーダ出力81および
第2命令デコーダ出力82がそれぞれ制御信号選択部4
0へ供給される一方、マイクロプログラムROM30か
らマイクロプログラムROM出力90が制御信号選択部
40へ供給される。また、制御信号選択部40からRO
Mアドレス100がマイクロプログラムROM30へ供
給され、また第1命令実行部制御信号111および第2
命令実行部制御信号112がそれぞれ第1命令実行部5
1および第2命令実行部52へ供給される。
【0030】図1のマイクロプロセッサのパイプライン
のステージは、図6のマイクロプロセッサと同一で、図
3に示すように、命令フェッチI、命令デコードD、演
算E、メモリアクセスA、およびレジスタストアSの5
段である。命令フェッチステージIは命令フェッチ部1
0を用い、命令デコードステージDは第1命令デコーダ
21と第2命令デコーダ22と次命令コード位置指定信
号生成部23とマイクロプログラムROM30と制御信
号選択部40とを用いて第1命令実行部制御信号111
および第2命令実行部制御信号112を生成することが
でき、そして、演算E、メモリアクセスA、およびレジ
スタストアステージSは第1命令実行部51および第2
命令実行部52を用いて演算、メモリアクセスもしくは
レジスタストアの処理が実行される。第1命令実行部5
1または第2命令実行部52を1回だけ使用して処理で
きる基本命令は、5段のパイプラインステージを1回ず
つ動作させて処理する。一方、上記基本命令以外の命
令、すなわち高機能命令は、各ステージを2回以上動作
させて処理する。
【0031】まず、2つの基本命令を並行に処理する時
のパイプライン動作を、より詳細に説明する。命令フェ
ッチステージIでは、命令フェッチ部10が第1命令コ
ード61および第2命令コード62をそれぞれ第1命令
デコーダ21および第2命令デコーダ22に並行して供
給する。命令フェッチ部10にはプリフェッチキューが
あり、ここにあらかじめ命令コードをフェッチして保持
しておき、次命令コード位置指定信号70に従って第1
命令コード61を第1命令デコーダ21へ供給し、第1
命令コード61の次のコードを第2命令コード62とし
て第2命令デコーダ22へ供給する。ここで言う次のコ
ードとは、第1命令コード61が最小命令長であった場
合の第1命令コード61の次の命令コードである。した
がって、第1命令コード61が最小命令長でない場合
は、第2命令コード62は第1命令コード61の拡張部
となっている。次命令コード位置指定信号70は、命令
フェッチステージと同時に実行している前命令の命令デ
コードステージの前半で生成されて、命令フェッチ部1
0に供給されるため、プリフェッチキューからの第1命
令コード61および第2命令コード62の選択は命令フ
ェッチステージの後半で行われている。
【0032】命令デコードステージDでは、まずステー
ジの前半で、第1命令デコーダ21および第2命令デコ
ーダ22がそれぞれ第1命令コード61および第2命令
コード62をデコードすることにより第1命令長71お
よび第2命令長72を次命令コード位置指定信号生成部
23へ供給する。従って、次命令コード位置指定信号生
成部23で第1命令長71および第2命令長72から次
命令コード位置指定信号70を生成する。さらに、第1
命令デコーダ21および第2命令デコーダ22が第1命
令デコーダ出力81および第2命令デコーダ出力82を
それぞれ生成して、制御信号選択部40に供給する。そ
して、二つの基本命令が第1命令デコーダ21と第2命
令デコーダ22とによって並行にデコードされた場合
は、制御信号選択部40がROMアドレス100として
第1命令デコーダ出力81と第2命令デコーダ出力82
のいずれか一方を選択してマイクロプログラムROM3
0へ供給する一方、第1命令実行部制御信号111およ
び第2命令実行部制御信号112として第1命令デコー
ダ出力81および第2命令デコーダ出力82をそれぞれ
選択して第1命令実行部51および第2命令実行部52
へ供給する。尚、この時に供給されるROMアドレス1
00によって、マイクロプログラムROM30は非動作
となる。
【0033】尚、第1命令長71が最小命令長でない場
合は、第2命令コード62は第1命令コード61の拡張
部であって真の命令コードではないので、第2命令デコ
ーダ22から生成された第2命令長72および第2命令
デコーダ出力82は意味のない情報になっている。この
ため、第1命令長71から次命令コード位置指定信号生
成部23は正しい次命令コード位置指定信号70を生成
する。また、この時に第2命令デコーダ出力82を無効
化して、意味のない情報によってプロセッサが誤動作し
ないようにする。一方、第1命令長71が最小命令長の
場合は第2命令コード62は命令コードであり、第2命
令長72および第2命令デコーダ出力82は正しい。こ
のため、次命令コード位置指定信号生成部23は第2命
令長72から次命令コード位置指定信号70を生成し、
第2命令デコーダ出力82は無効化されない。
【0034】演算E、メモリアクセスA、およびレジス
タストアSのステージでは、第1命令実行部51および
第2命令実行部52がそれぞれ第1命令実行部制御信号
111および第2命令実行部制御信号112に従って、
図6のプロセッサの命令実行部50が命令実行部制御信
号110に従って行う動作と同様な動作を行う。
【0035】上記処理フローによりマイクロプログラム
ROM30のROM出力90を使用せずに、第1命令デ
コーダ出力81および第2命令デコーダ出力82を用い
て第1命令実行部51および第2命令実行部52が基本
命令の2命令同時実行を行うことができる。
【0036】次に、高機能命令処理時のパイプライン動
作を、より詳細に説明する。各ステージでの高機能命令
の実行のための第1ステップの処理は基本命令の場合と
ほぼ同一で、命令フェッチ部10から高機能命令が第1
命令デコーダ21と第2命令デコーダ22の一方の命令
デコーダ(例えば21)に供給された場合に、高機能命
令の1回目の処理に際して、信号選択部40はマイクロ
プログラムROM30の出力90のマイクロ命令を選択
することなく、上記一方の命令デコーダ(例えば21)
の出力を選択することによって、信号選択部40の出力
から得られる上記一方の命令デコーダ(例えば21)の
出力(例えば81)に従って第1命令実行部51と第2
命令実行部52の一方の命令実行部(例えば51)は1
回目の処理を実行するものであるが、次の点が異なる。
すなわち、第1命令コード61が高機能命令であり、第
2命令コード62が命令コードである場合に、第1命令
コード61の処理が終了するまで第2命令デコーダ出力
82を無効化する。これは以下の理由による。まず、第
2命令コード62が基本命令の場合、無効化しなけれ
ば、第1命令コード61より先に第2命令コード62の
処理が終了してしまうためである。一方、特に第2命令
コード62も同様に高機能命令の場合、第2ステップ以
降の処理が第1命令コード61の処理とマイクロプログ
ラムROM30で重なってしまうためである。従って、
第2ステップ以降の処理では、第1命令実行部51と第
2命令実行部52は2つの高機能命令を同時に実行する
ことはできない。
【0037】高機能命令の2回目の処理に際して、信号
選択部40はマイクロプログラムROM30の出力90
のマイクロ命令を選択することによって、信号選択部4
0の出力から得られるマイクロ命令に従って上記一方の
命令実行部(例えば51)は2回目の処理を実行するも
のである。
【0038】すなわち、第2ステップ以降の命令フェッ
チステージIでは、次命令コード位置指定信号生成部2
3が次命令コード位置指定信号70を実行中の高機能命
令の次の命令に保つことによって、命令フェッチ部10
が第1命令コード61および第2命令コード62とし
て、それぞれ次命令コードおよび次命令コードが最小命
令長の場合の次々命令コードを出力し続けるようにす
る。また、命令プリフェッチキューに空きのある場合は
命令フェッチを行って空きをなくす。
【0039】第2ステップ以降の命令デコードステージ
Dでは、マイクロプログラムROM30を動作させる一
方、第1命令デコーダ21および第2命令デコーダ22
は動作させずに、第1命令デコーダ出力81および第2
命令デコーダ出力82としては第1ステップのそれぞれ
のデコード結果を保持し、出力し続ける。マイクロプロ
グラムROM30の検索アドレスとしては、図6の実施
例と全く同様に1ステップ前に制御信号選択部40が選
択したROMアドレス100を使用する。そして、制御
信号選択部40はマイクロプログラムROM出力90の
次マイクロ命令アドレスをROMアドレス100として
選択してマイクロプログラムROM30へ供給する一
方、マイクロプログラムROM出力90のマイクロ命令
を第1命令実行部制御信号111と第2命令実行部制御
信号112のいずれかとして選択して第1命令実行部5
1と第2命令実行部52のいずれかへ供給する。いずれ
を選択し、いずれに供給するかは、高機能命令を第1命
令デコーダ21および第2命令デコーダ22のどちらで
デコードしたかによる。但し、図6の実施例と同様に第
1命令実行部制御信号111および第2命令実行部制御
信号112のうち命令で自由に設定できる情報は、第1
命令デコーダ出力81または第2命令デコーダ出力82
を選択することも可能にする。第1命令デコーダ出力8
1および第2命令デコーダ出力82のどちらを選択する
かは、やはり高機能命令を第1命令デコーダ21および
第2命令デコーダ22のどちらでデコードしたかによ
る。
【0040】第1命令デコーダ出力81と第2命令デコ
ーダ出力82とマイクロプログラムROM出力90との
中から一つを選択する制御信号選択部40における制御
は、以下のように行う。第1命令デコーダ出力81、第
2命令デコーダ出力82、およびマイクロプログラムR
OM出力90の中に最終ステップ指示信号を持たせる。
すなわち、基本命令の場合は第1命令デコーダ出力81
または第2命令デコーダ出力82で最終ステップ指示信
号を出力させ、高機能命令の場合は最終ステップのマイ
クロ命令のマイクロプログラムROM出力90で最終ス
テップ指示信号を出力させる。
【0041】また、マイクロプログラムROM出力90
の中に最終ステップが第1命令実行部51のみを使用し
て終了するか、第2命令実行部52も使用して終了する
かを示す終了モード信号を持たせ、高機能命令の最終ス
テップのマイクロプログラムROM出力90でこの終了
モード信号を出力することもできる。
【0042】第2命令デコーダ出力82を高機能命令の
第1命令コード61の処理が終了するまで無効化してい
ない時に、前ステップで制御信号選択部40で選択した
信号に最終ステップ指示信号がアサートされた場合、第
1命令コード61の最終処理が終了する前に、命令デコ
ードステージで第1命令デコーダ21および第2命令デ
コーダ22を動作させ、このデコードの間に第1命令コ
ード61の最終処理を第1命令実行部51で実行すると
ともに、先にデコードされている第2命令デコーダ出力
82に従って第2命令実行部52で処理を実行すること
もできる。このように、第1命令デコーダ21および第
2命令デコーダ22の動作によって第1命令デコーダ出
力81が有効でかつ高機能命令であると判明した場合
は、ROMアドレスおよ最終ステップ指示信号としては
第1命令デコーダ出力81を選択する。一方、最終ステ
ップ指示信号がアサートされない場合は、第1命令デコ
ーダ21および第2命令デコーダ22を動作させずに、
マイクロプログラムROM30を動作させて、ROMア
ドレス100、第1命令実行部制御信号111、第2命
令実行部制御信号112および最終ステップ指示信号と
してマイクロプログラムROM出力90を選択するもの
である。
【0043】第2命令デコーダ出力82を第1命令コー
ド61の処理が終了するまで無効化している時に、マイ
クロプログラムROM出力90の最終ステップ指示信号
がアサートされて、終了モード信号が第1命令実行部5
1のみの使用を示している場合は、第1命令実行部制御
信号111としてマイクロプログラムROM出力90を
選択する一方、第2命令実行部制御信号112、ROM
アドレス100および最終ステップ指示信号として第2
命令デコーダ出力82を選択し、第2命令デコーダ出力
82を有効にし、次の命令デコードステージで第1命令
デコーダ21および第2命令デコーダ22を動作させ
る。一方、最終ステップ指示信号がアサートされて、終
了モード信号が第2命令実行部52も使用することを示
している場合は、ROMアドレス100、第1命令実行
部制御信号111、第2命令実行部制御信号112、お
よび最終ステップ指示信号として、マイクロプログラム
ROM出力90を選択し、次の命令デコードステージで
は第1命令デコーダ21および第2命令デコーダ22を
動作させずに、第1命令デコーダ出力81を無効化して
第2命令デコーダ出力82を有効にする。
【0044】上記処理により、基本命令のみの実行中は
第1命令デコーダ出力81および第2命令デコーダ出力
82を選択し、高機能命令をデコードするとマイクロプ
ログラムROM出力90を選択し、高機能命令の処理を
終了すると再び第1命令デコーダ出力81および第2命
令デコーダ出力82を選択するように制御することがで
きる。さらに、第1命令デコーダ21で高機能命令をデ
コードし、第2命令デコーダ22のデコードに成功した
場合に、高機能命令の最終ステップの処理と同時に、第
2命令デコーダ22でデコードした命令の処理を行うこ
とができる。
【0045】演算、メモリアクセス、およびレジスタス
トアステージの第2ステップ以降の処理は基本命令の場
合と同一である。
【0046】上記実施例による方式によって、単一のマ
イクロプログラムROM30による基本命令の2命令同
時実行と、第1命令実行部51および第2命令実行部5
2の双方を使用することによる高機能命令の高速化が図
れる。さらに、マイクロプログラムROM30の面積お
よび消費電力の削減と動作速度の向上が可能となる。
【0047】
【発明の効果】本発明により単一のマイクロプログラム
ROMによる基本命令の複数命令同時実行と、複数の命
令実行部を使用することによる高機能命令の高速化が可
能となる。また、基本命令実行時にはマイクロプログラ
ムROMを使用する必要がなくなり、基本命令分のRO
M容量の削減、ならびに、これに伴うROMの面積およ
び消費電力の削減と動作速度の向上が可能となる。さら
に、命令デコーダおよびマイクロプログラムROMは常
にどちらか一方が動作することになるため消費電力を削
減することができる。
【図面の簡単な説明】
【図1】本発明の具体的な実施例による2命令同時実行
が可能なマイクロプロセッサの構成図である。
【図2】従来技術に従って2命令同時実行を可能とした
マイクロプロセッサの構成図である。
【図3】本発明の実施例によるマイクロプロセッサのパ
イプライン構成を説明する図である。
【図4】図2の従来技術によるマイクロプロセッサのパ
イプライン構成を説明する図である。
【図5】図8の従来技術によるマイクロプロセッサのパ
イプライン構成を説明する図である。
【図6】本発明の基本的な実施例によるマイクロプロセ
ッサの構成図である。
【図7】従来技術によるマイクロプロセッサの構成図で
ある。
【図8】他の従来技術によるマイクロプロセッサの構成
図である。
【図9】図8の従来技術によるマイクロプロセッサで高
機能命令を行う際のパイプライン構成を説明する図であ
る。
【符号の説明】
10…命令フェッチ部、21…第1命令デコーダ、22
…第2命令デコーダ、23…次命令コード位置指定信号
生成部、30…マイクロプログラムROM、40…制御
信号選択部、51…第1命令実行部、52…第2命令実
行部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】命令フェッチ部と、命令デコーダと、マイ
    クロプログラムROMと、上記命令デコーダの出力と上
    記マイクロプログラムROMの出力とが入力される信号
    選択部と、上記信号選択部の出力によって制御される命
    令実行部とを具備してなり、 上記命令実行部を1回使用することにより処理される基
    本命令の実行に際して、上記信号選択部は上記マイクロ
    プログラムROMの上記出力のマイクロ命令を選択する
    ことなく、上記命令デコーダの上記出力を選択すること
    によって、上記信号選択部の上記出力に従って上記命令
    実行部は上記基本命令を実行し、 上記命令実行部を2回使用することにより処理される高
    機能命令の1回目の処理に際して、上記信号選択部は上
    記マイクロプログラムROMの上記出力のマイクロ命令
    を選択することなく、上記命令デコーダの上記出力を選
    択することによって、上記信号選択部の上記出力から得
    られる上記命令デコーダの上記出力に従って上記命令実
    行部は上記1回目の処理を実行し、 上記高機能命令の2回目の処理に際して、上記信号選択
    部は上記マイクロプログラムROMの上記出力のマイク
    ロ命令を選択することによって、上記信号選択部の上記
    出力から得られる上記マイクロ命令に従って上記命令実
    行部は上記2回目の処理を実行することを特徴とするデ
    ータプロセッサ。
  2. 【請求項2】上記命令デコーダから供給される次命令コ
    ード位置指定信号に従って上記命令フェッチ部はデコー
    ドされるべき命令コードを上記命令デコーダに供給する
    ことを特徴とする請求項1記載のデータプロセッサ。
  3. 【請求項3】上記マイクロプログラムROMの上記出力
    に含まれる次マイクロ命令アドレスは検索アドレスとし
    て上記信号選択部を介して上記マイクロプログラムRO
    Mに供給されることを特徴とする請求項1または請求項
    2記載のデータプロセッサ。
  4. 【請求項4】命令フェッチ部と、第1命令デコーダと、
    第2命令デコーダと、マイクロプログラムROMと、上
    記第1命令デコーダの出力と上記第2命令デコーダの出
    力と上記マイクロプログラムROMの出力とが入力され
    る信号選択部と、上記信号選択部の第1出力によって制
    御される第1命令実行部と、上記信号選択部の第2出力
    によって制御される第2命令実行部とを具備してなり、 上記命令フェッチ部から二つの基本命令が上記第1命令
    デコーダと第2命令デコーダに供給された際に、上記信
    号選択部は上記マイクロプログラムROMの上記出力の
    マイクロ命令を選択することなく、上記第1命令デコー
    ダの上記出力と上記第2命令デコーダの上記出力とを上
    記第1出力と上記第2出力とにそれぞれ出力することに
    よって、上記信号選択部の上記第1出力と上記第2出力
    とに従って上記第1命令実行部と上記第2命令実行部と
    は上記二つの基本命令を実行し、 上記命令フェッチ部から高機能命令が上記第1命令デコ
    ーダと第2命令デコーダの一方の命令デコーダに供給さ
    れた場合に、上記高機能命令の1回目の処理に際して、
    上記信号選択部は上記マイクロプログラムROMの上記
    出力のマイクロ命令を選択することなく、上記一方の命
    令デコーダの出力を選択することによって、上記信号選
    択部の上記出力から得られる上記一方の命令デコーダの
    上記出力に従って上記第1命令実行部と上記第2命令実
    行部の一方の命令実行部は上記1回目の処理を実行し、 上記高機能命令の2回目の処理に際して、上記信号選択
    部は上記マイクロプログラムROMの上記出力のマイク
    ロ命令を選択することによって、上記信号選択部の上記
    出力から得られる上記マイクロ命令に従って上記一方の
    命令実行部は上記2回目の処理を実行することを特徴と
    するデータプロセッサ。
  5. 【請求項5】上記高機能命令の2回目の処理に際しての
    上記マイクロプログラムROMの上記マイクロ命令の最
    終ステップの上記一方の命令実行部における処理と同時
    に、他方の命令デコーダの出力に従って他方の命令実行
    部は処理を実行することを特徴とする請求項4記載のデ
    ータプロセッサ。
JP03315692A 1992-02-20 1992-02-20 データプロセッサ Expired - Lifetime JP3497516B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP03315692A JP3497516B2 (ja) 1992-02-20 1992-02-20 データプロセッサ
KR1019930001903A KR100266424B1 (ko) 1992-02-20 1993-02-12 롬(rom)용량을 저감한 데이타 프로세서
US08/266,900 US5394558A (en) 1992-02-20 1994-07-01 Data processor having an execution unit controlled by an instruction decoder and a microprogram ROM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03315692A JP3497516B2 (ja) 1992-02-20 1992-02-20 データプロセッサ

Publications (2)

Publication Number Publication Date
JPH05233271A true JPH05233271A (ja) 1993-09-10
JP3497516B2 JP3497516B2 (ja) 2004-02-16

Family

ID=12378710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03315692A Expired - Lifetime JP3497516B2 (ja) 1992-02-20 1992-02-20 データプロセッサ

Country Status (3)

Country Link
US (1) US5394558A (ja)
JP (1) JP3497516B2 (ja)
KR (1) KR100266424B1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3058986B2 (ja) * 1992-04-02 2000-07-04 ダイヤセミコンシステムズ株式会社 コンピュータシステムの節電制御装置
US5644769A (en) * 1993-06-14 1997-07-01 Matsushita Electric Industrial Co., Ltd. System for optimizing program by virtually executing the instruction prior to actual execution of the program to invalidate unnecessary instructions
US5931941A (en) * 1995-04-28 1999-08-03 Lsi Logic Corporation Interface for a modularized computational unit to a CPU
US5687340A (en) * 1995-05-16 1997-11-11 Hewlett-Packard Company Reduced area floating point processor control logic utilizing a decoder between a control unit and the FPU
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5872947A (en) * 1995-10-24 1999-02-16 Advanced Micro Devices, Inc. Instruction classification circuit configured to classify instructions into a plurality of instruction types prior to decoding said instructions
US6223485B1 (en) 1996-06-07 2001-05-01 Herman Miller, Inc. Wall panel system
US6167665B1 (en) 1996-06-07 2001-01-02 Herman Miller, Inc. Corner post for a wall panel system
US6049863A (en) * 1996-07-24 2000-04-11 Advanced Micro Devices, Inc. Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor
US5867680A (en) * 1996-07-24 1999-02-02 Advanced Micro Devices, Inc. Microprocessor configured to simultaneously dispatch microcode and directly-decoded instructions
US5991884A (en) * 1996-09-30 1999-11-23 Intel Corporation Method for reducing peak power in dispatching instructions to multiple execution units
EP0926596B1 (en) * 1997-12-23 2007-09-05 Texas Instruments Inc. Processor and method for reducing its power usage
GB2353541B (en) 1999-06-04 2003-10-15 Miller Herman Inc Stackable wall panel system
CA2310548A1 (en) 1999-06-04 2000-12-04 Herman Miller, Inc. Stackable wall panel system
US6438664B1 (en) 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
US6729085B2 (en) 2001-02-09 2004-05-04 Herman Miller, Inc. Wall panel system
US7711926B2 (en) * 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing
US6834353B2 (en) 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US6751914B2 (en) * 2002-03-01 2004-06-22 Steelcase Development Corporation Post and beam furniture system
US7204417B2 (en) * 2004-11-03 2007-04-17 The Code Corporation Graphical code reader that is configured for efficient decoder management
US8560810B2 (en) * 2009-08-14 2013-10-15 Via Technologies, Inc. Microprocessor with microtranslator and tail microcode instruction for fast execution of complex macroinstructions having both memory and register forms
WO2013132767A1 (ja) 2012-03-09 2013-09-12 パナソニック株式会社 プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58106636A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd パイプライン演算装置
US4519033A (en) * 1982-08-02 1985-05-21 Motorola, Inc. Control state sequencer
US4574344A (en) * 1983-09-29 1986-03-04 Tandem Computers Incorporated Entry control store for enhanced CPU pipeline performance
US4812972A (en) * 1984-06-20 1989-03-14 Convex Computer Corporation Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions
US5202967A (en) * 1988-08-09 1993-04-13 Matsushita Electric Industrial Co., Ltd. Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
EP0388735A3 (en) * 1989-03-10 1993-01-13 Nec Corporation Microprogram controller having fixed-instruction generator and microprogram memory

Also Published As

Publication number Publication date
JP3497516B2 (ja) 2004-02-16
KR100266424B1 (ko) 2000-09-15
KR930018368A (ko) 1993-09-21
US5394558A (en) 1995-02-28

Similar Documents

Publication Publication Date Title
JP3497516B2 (ja) データプロセッサ
US6256726B1 (en) Data processor for the parallel processing of a plurality of instructions
US4954943A (en) Data processing system
JPH03129433A (ja) 並列処理装置および並列処理方法
JPS62235658A (ja) キヤツシユ・メモリ制御方式
EP3695317B1 (en) Zero latency prefetching in caches
JP2000222206A (ja) データ処理装置
JP2001525568A (ja) 命令デコーダ
US6687808B2 (en) Data processor using indirect register addressing
JP2003525476A (ja) プログラムの命令を実行するための装置及び方法
US5961632A (en) Microprocessor with circuits, systems, and methods for selecting alternative pipeline instruction paths based on instruction leading codes
EP0297943B1 (en) Microcode reading control system
US20060095746A1 (en) Branch predictor, processor and branch prediction method
JP2006522398A (ja) パイプライン型命令プロセッサにおけるバイパスの使用
EP1499956B1 (en) Method and apparatus for swapping the contents of address registers
JP2538053B2 (ja) 制御装置
US6044455A (en) Central processing unit adapted for pipeline process
US5983344A (en) Combining ALU and memory storage micro instructions by using an address latch to maintain an address calculated by a first micro instruction
JP2007500404A (ja) 命令整列の方法および装置
US5187782A (en) Data processing system
JP2848727B2 (ja) 並列演算処理装置
US5895497A (en) Microprocessor with pipelining, memory size evaluation, micro-op code and tags
JPH0651984A (ja) マイクロプロセッサ
JP3147884B2 (ja) 記憶装置及び情報処理装置
US7281121B2 (en) Pipeline processing device and interrupt processing method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031118

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 9