JPH11119997A - Liw命令実行方法、スカラプロセッサ及びliwプロセッサ - Google Patents

Liw命令実行方法、スカラプロセッサ及びliwプロセッサ

Info

Publication number
JPH11119997A
JPH11119997A JP28474397A JP28474397A JPH11119997A JP H11119997 A JPH11119997 A JP H11119997A JP 28474397 A JP28474397 A JP 28474397A JP 28474397 A JP28474397 A JP 28474397A JP H11119997 A JPH11119997 A JP H11119997A
Authority
JP
Japan
Prior art keywords
instruction
microinstruction
liw
tag
stored
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.)
Withdrawn
Application number
JP28474397A
Other languages
English (en)
Inventor
Atsushi Sakurai
厚 桜井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP28474397A priority Critical patent/JPH11119997A/ja
Publication of JPH11119997A publication Critical patent/JPH11119997A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】LIW命令実行方法に関し、LIW命令の互換
性を確保することができるLIWプロセッサ及びスカラ
プロセッサをシリーズ品として構成することができるよ
うにする。 【解決手段】LIW命令11内のマイクロ命令12、1
3に命令の並列性を示すタグ14、15を付加してLI
W命令を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、LIW(Long I
nstruction Word)命令実行方法、マイクロ命令を1個
づつ実行するスカラプロセッサ及び複数のマイクロ命令
を並列実行するLIWプロセッサに関する。
【0002】
【従来の技術】図13は従来のLIWプロセッサの一例
を示す概念図である。図13中、1はLIW命令、2、
3はLIW命令1を構成するマイクロ命令、4はマイク
ロ命令2について演算実行又はアドレス生成を行う演算
器、5はマイクロ命令3について演算実行を行う演算
器、6は演算器4からの演算結果又はデータメモリから
のロード結果及び演算器5からの演算結果をLIW命令
1の実行結果として格納するレジスタである。
【0003】即ち、図13に示す従来のLIWプロセッ
サは、2マイクロ命令からなるLIW命令内の2マイク
ロ命令を並列実行できるように構成されたものであり、
マイクロ命令2についての演算実行又はアドレス生成を
演算器4で行うと共に、マイクロ命令3についての演算
実行を演算器5で行い、演算器4からの演算結果又はデ
ータメモリからのロード結果及び演算器5からの演算結
果をLIW命令1の実行結果として同時にレジスタ6に
格納するというものである。
【0004】
【発明が解決しようとする課題】図13に示す従来のL
IWプロセッサにおいては、マイクロ命令2、3はそれ
ぞれ演算器4、5に対応づけられており、このため、例
えば、LIW命令1を従来のスカラプロセッサで実行し
ようとすると、意図しない実行結果が発生してしまう場
合がある。
【0005】例えば、マイクロ命令2が「r0+r1→
r2」、マイクロ命令3が「r2−r3→r4」である
場合において、これを図13に示す従来のLIWプロセ
ッサで実行する場合には、マイクロ命令3における「r
2」は、マイクロ命令2の実行前のレジスタr2の値で
ある。
【0006】しかし、これを従来のスカラプロセッサで
実行する場合において、マイクロ命令2→マイクロ命令
3の順序でLIW命令1を実行した場合、マイクロ命令
3における「r2」は、マイクロ命令2の実行後のレジ
スタr2の値となってしまい、マイクロ命令3の実行後
のレジスタr4の値は、図13に示す従来のLIWプロ
セッサでマイクロ命令3を実行した場合のレジスタr4
の値と異なってしまう。
【0007】また、例えば、4マイクロ命令からなるL
IW命令内の4マイクロ命令を並列実行することができ
るLIWプロセッサを開発した場合、4マイクロ命令か
らなるLIW命令を命令発行数を2とする図13に示す
従来のLIWプロセッサで実行すると、意図しない実行
結果が発生してしまう場合があることは、2マイクロ命
令からなるLIW命令をスカラプロセッサで実行する場
合と同様である。
【0008】このように図13に示す従来のLIWプロ
セッサは、上位機種との間に命令の互換性がなく、性能
向上のために上位機種を開発すると、命令フォーマット
が異なるために既存のプログラムが動作しなくなるばか
りか、コンパイラ等の言語も開発し直しとなってしまう
と共に、スカラプロセッサとの間にも命令の互換性がな
いという問題点があった。
【0009】また、図13に示す従来のLIWプロセッ
サにおいては、ハザードが存在する場合、パイプライン
・インタロックをNOP(無操作)命令を実行すること
により行っていた。
【0010】たとえば、Aマイクロ命令とBマイクロ命
令との間に依存関係がある場合、図14に示すように、
先行して実行するLIW命令8を「Aマイクロ命令+N
OPマイクロ命令」とし、LIW命令8の後に実行する
LIW命令9を「NOPマイクロ命令+Bマイクロ命
令」として、Aマイクロ命令及びBマイクロ命令を実行
していた。
【0011】この結果、LIW命令8、9を従来のスラ
カプロセッサで実行しようとすると、命令デコーダにお
いて、マイクロ命令2→NOP命令→NOP命令→マイ
クロ命令3の順に命令をデコードしなければならず、命
令実行効率が悪くなるという問題点があった。
【0012】本発明は、かかる点に鑑み、LIW命令の
互換性を確保することができるLIWプロセッサ及びス
カラプロセッサ、あるいは、LIW命令の互換性を確保
することができる命令発行数を異にする複数機種のLI
Wプロセッサ、あるいは、LIW命令の互換性を確保す
ることができる命令発行数を異にする複数機種のLIW
プロセッサ及びスカラプロセッサをシリーズ品として構
成することができるようにしたLIW命令実行方法を提
供することを第1の目的とする。
【0013】また、本発明は、LIWプロセッサとの間
におけるLIW命令の互換性を確保することができるよ
うにしたスカラプロセッサを提供することを第2の目的
とし、LIWプロセッサとの間における命令の互換性を
確保することができ、しかも、命令実行効率を高めるこ
とができるようにしたスカラプロセッサを提供すること
を第3の目的とする。
【0014】更に、本発明は、最上位機種との間におけ
るLIW命令の互換性を確保することができるようにし
たLIWプロセッサを提供することを第4の目的とす
る。
【0015】
【課題を解決するための手段】本発明中、第1の発明
は、LIW命令実行方法の発明であり、LIW命令内の
マイクロ命令に命令の並列性を示すタグを付加してLI
W命令を実行するというものである。
【0016】本発明中、第1の発明によれば、LIW命
令内のマイクロ命令に命令の並列性を示すタグを付加す
るとしているので、下位機種のLIWプロセッサ及びス
カラプロセッサは、命令の並列性を示すタグを認識する
ことにより、LIW命令内のマイクロ命令の実行順序及
びLIW命令のつなぎ目を知ることができる。
【0017】したがって、LIW命令の互換性を確保す
ることができるLIWプロセッサ及びスカラプロセッ
サ、あるいは、LIW命令の互換性を確保できる命令発
行数を異にする複数機種のLIWプロセッサ、あるい
は、LIW命令の互換性を確保することができる命令発
行数を異にする複数機種のLIWプロセッサ及びスカラ
プロセッサをシリーズ品として構成することができる。
【0018】本発明中、第2の発明は、スカラプロセッ
サの発明であり、命令の並列性を示すタグを付加したマ
イクロ命令からなるLIW命令内のマイクロ命令を命令
の並列性を示すタグを認識して1個づつ実行し、LIW
命令内の全マイクロ命令の実行結果を同時にレジスタに
書き込む手段を備えているというものである。
【0019】本発明中、第2の発明によれば、LIW命
令の実行結果をレジスタに書き込むまでの間、LIW命
令の並列性を維持することができるので、LIWプロセ
ッサとの間におけるLIW命令の互換性を確保すること
ができるスカラプロセッサを構成することができる。
【0020】本発明中、第3の発明は、第2の発明にお
いて、LIW命令内のマイクロ命令がNOP命令である
か否かを判断し、NOP命令以外のマイクロ命令のみを
命令デコーダに供給する手段を備えているというもので
ある。
【0021】本発明中、第3の発明によれば、LIW命
令の実行結果をレジスタに書き込むまでの間、LIW命
令の並列性を維持することができるので、LIWプロセ
ッサとの間におけるLIW命令の互換性を確保すること
ができ、しかも、NOP動作を行う必要がないので、命
令実行効率を高めることができる。
【0022】本発明中、第4の発明は、LIWプロセッ
サの発明であり、命令の並列性を示すタグを付加したマ
イクロ命令からなるLIW命令内のマイクロ命令を命令
の並列性を示すタグを認識して一部づつ、かつ、複数個
づつ並列実行し、LIW命令内の全マイクロ命令の実行
結果を同時にレジスタに書き込む手段を備えているとい
うものである。
【0023】本発明中、第4の発明によれば、LIW命
令の実行結果をレジスタに書き込むまでの間、LIW命
令の並列性を維持することができるので、最上位機種と
の間におけるLIW命令の互換性を確保することができ
るLIWプロセッサを構成することができる。
【0024】
【発明の実施の形態】
本発明のスカラプロセッサの第1実施形態・・図1〜図
3 本発明のスカラプロセッサの第1実施形態は、図1に示
すような命令発行数を2とするLIWプロセッサを上位
機種とするシリーズ品の下位機種となるものである。
【0025】図1中、11は2マイクロ命令からなるL
IW命令であり、12はLIW命令11中、左側に存在
するマイクロ命令(以下、Lマイクロ命令という)、1
3はLIW命令中、右側に存在するマイクロ命令(以
下、Rマイクロ命令という)である。
【0026】また、14はLマイクロ命令12に付加さ
れたタグ(以下、Lタグという)であり、Lマイクロ命
令12がLIW命令11内の左側に存在し、Rマイクロ
命令13と並列性を有するマイクロ命令であることを示
すものである。
【0027】また、15はRマイクロ命令13に付加さ
れたタグ(以下、Rタグという)であり、Rマイクロ命
令13がLIW命令11内の右側に存在し、Lマイクロ
命令12と並列関係にあるマイクロ命令であることを示
すものである。
【0028】また、16はLマイクロ命令12について
演算実行又はアドレス生成を行う演算器、17はRマイ
クロ命令13について演算実行を行う演算器、18は演
算器16の演算結果又はデータメモリからのロード結果
及び演算器17の演算結果をLIW命令11の実行結果
として格納するレジスタである。
【0029】即ち、図1に示すLIWプロセッサは、2
マイクロ命令からなるLIW命令内の2マイクロ命令を
並列実行できるように構成されたものであり、Lマイク
ロ命令12についての演算実行又はアドレス生成を演算
器16で行うと共に、Rマイクロ命令13についての演
算実行を演算器17で行い、演算器16の演算結果又は
データメモリからのロード結果及び演算器17の演算結
果をLIW命令11の実行結果として同時にレジスタ1
8に格納するというものである。
【0030】図2は本発明のスカラプロセッサの第1実
施形態の要部を示す回路図であり、図2中、20はパイ
プライン制御を行うパイプライン制御系、21はパイプ
ライン制御系20に制御されて命令の実行を行う命令実
行系である。
【0031】パイプライン制御系20において、22は
外部の命令メモリから読み出した命令を格納する命令レ
ジスタであり、23は1マイクロ命令を格納するマイク
ロ命令格納部、24はマイクロ命令格納部23に格納さ
れるマイクロ命令に付加されているタグを格納するタグ
格納部である。
【0032】また、25は命令レジスタ22のマイクロ
命令格納部23に格納されたマイクロ命令をデコードす
る命令デコーダ、26は命令レジスタ22のタグ格納部
24に格納されたタグをデコードするタグデコーダであ
る。
【0033】また、LDはタグデコーダ26から出力さ
れるLタグ14をデコードしてなるLタグデコード信
号、RDはタグデコーダ26から出力されるRタグ15
をデコードしてなるRタグデコード信号である。
【0034】また、27はタグデコーダ26から出力さ
れるLタグデコード信号LD、Rタグデコード信号RD
及び命令デコーダ25から出力される命令デコード信号
をラッチするパイプライン・レジスタ、LEはパイプラ
イン・レジスタ27から出力される、Lタグデコード信
号LDを1サイクル遅延してなる実行制御信号、REは
パイプライン・レジスタ27から出力される、Rタグデ
コード信号RDを1サイクル遅延してなる実行制御信号
である。
【0035】また、28は実行制御信号LE、REを格
納するパイプライン・レジスタ、LMはパイプライン・
レジスタ28から出力される、実行制御信号LEを1サ
イクル遅延してなるメモリ・アクセス制御信号、RMは
パイプライン・レジスタ28から出力される、実行制御
信号REを1サイクル遅延してなるメモリ・アクセス制
御信号である。
【0036】また、29はメモリ・アクセス制御信号L
M、RMを格納するパイプライン・レジスタ、LWRは
パイプライン・レジスタ29から出力される、メモリ・
アクセス制御信号LMを1サイクル遅延してなる書き込
み保留制御信号、RWはパイプライン・レジスタ29か
ら出力される、メモリ・アクセス制御信号RMを1サイ
クル遅延してなる書き込み制御信号である。
【0037】また、30は書き込み保留制御信号LWR
を格納するパイプライン・レジスタ、LWはパイプライ
ン・レジスタ30から出力される、書き込み保留制御信
号LWRを1サイクル遅延してなる書き込み制御信号で
ある。
【0038】また、命令実行系21において、31はマ
イクロ命令について演算実行又はアドレス生成を行う演
算器、32は演算器31から出力される演算結果又はア
ドレスを格納する演算器出力バッファである。
【0039】また、33は演算器出力バッファ32に格
納されている演算器31の演算結果又は演算器出力バッ
ファ32に格納されているアドレスに基づいてメモリ・
アクセスされた外部のデータメモリ34からのロード結
果をマイクロ命令の実行結果として格納する実行結果用
バッファである。
【0040】また、35は実行結果用バッファ33から
出力される実行結果を書き込み保留制御信号LWRに制
御されて格納するレジスタライトバッファ、36はレジ
スタライトバッファ35から出力される実行結果を書き
込み制御信号LWに制御されて格納するレジスタ、37
は実行結果用バッファ33から出力される実行結果を書
き込み制御信号RWに制御されて格納するレジスタであ
る。
【0041】なお、Fは命令フェッチ・ステージ、Dは
命令デコード・ステージ、Eは実行・ステージ、Mはメ
モリ・アクセス・ステージ、WRは書き込み保留・ステ
ージ、Wはレジスタ書き込み・ステージを示している。
【0042】図3は本発明のスカラプロセッサの第1実
施形態の動作を説明するためのタイミングチャートであ
り、図3(A)はLマイクロ命令12及びRマイクロ命
令13のパイプライン上の処理状態、図3(B)はLマ
イクロ命令12についてのLLタグデコード信号LD、
実行制御信号LE、メモリ・アクセス制御信号LM、書
き込み保留制御信号LWR及び書き込み制御信号LW、
図3(C)はRマイクロ命令13についてのRタグデコ
ード信号RD、実行制御信号RE、メモリ・アクセス制
御信号RM及び書き込み制御信号RWを示している。
【0043】即ち、本発明のスカラプロセッサの第1実
施形態においては、まず、サイクル1において、Lマイ
クロ命令12及びLタグ14が命令メモリから読み出さ
れ、Lマイクロ命令12は命令レジスタ22のマイクロ
命令格納部23に格納され、Lタグ14は命令レジスタ
22のタグ格納部24に格納される。
【0044】次に、サイクル2になると、命令デコーダ
25において、Lマイクロ命令12がデコードされ、命
令デコード信号がパイプライン・レジスタ27に格納さ
れると共に、タグデコーダ26において、Lタグ14が
デコードされ、Lタグデコード信号LDがパイプライン
・レジスタ27に格納される。
【0045】また、サイクル2においては、Rマイクロ
命令13及びRタグ15が命令メモリから読み出され、
Rマイクロ命令13は命令レジスタ22のマイクロ命令
格納部23に格納され、Rタグ15は命令レジスタ22
のタグ格納部24に格納される。
【0046】次に、サイクル3になると、パイプライン
・レジスタ27から実行制御信号LEが出力されるの
で、演算器31において、Lマイクロ命令12について
の演算実行又はアドレス生成が行われ、演算結果又は生
成されたアドレスが演算器出力バッファ32に格納され
る。
【0047】また、サイクル3においては、命令デコー
ダ25において、Rマイクロ命令13がデコードされ、
命令デコード信号がパイプライン・レジスタ27に格納
されると共に、タグデコーダ26において、Rタグ15
がデコードされ、Rタグデコード信号RDがパイプライ
ン・レジスタ27に格納される。
【0048】次に、サイクル4になると、パイプライン
・レジスタ28からメモリ・アクセス制御信号LMが出
力されるので、演算器出力バッファ32の格納内容が演
算結果の場合には、その演算結果がLマイクロ命令12
の実行結果として実行結果用バッファ33に格納され、
演算器出力バッファ32の格納内容がアドレスの場合に
は、データメモリ34に対するアクセスが行われ、デー
タメモリ34からのロード結果がLマイクロ命令12の
実行結果として実行結果用バッファ33に格納される。
【0049】また、サイクル4においては、パイプライ
ン・レジスタ27から実行制御信号REが出力されるの
で、演算器31において、Rマイクロ命令13について
演算実行又はアドレス生成が行われ、演算結果又は生成
されたアドレスが演算記出力バッファ32に格納され
る。
【0050】次に、サイクル5になると、パイプライン
・レジスタ29から書き込み保留制御信号LWRが出力
されるので、実行結果用バッファ33に格納されている
Lマイクロ命令12の実行結果がレジスタライトバッフ
ァ35に格納される。
【0051】また、サイクル5においては、パイプライ
ン・レジスタ28からメモリ・アクセス制御信号RMが
出力されるので、演算器出力バッファ32の格納内容が
演算結果の場合には、その演算結果がRマイクロ命令1
3の実行結果として実行結果用バッファ33に格納さ
れ、演算器出力バッファ32の格納内容がアドレスの場
合には、データメモリ34に対するアクセスが行われ、
データメモリ34からのロード結果がRマイクロ命令1
3の実行結果として実行結果用バッファ33に格納され
る。
【0052】次に、サイクル6になると、パイプライン
・レジスタ30から書き込み制御信号LWが出力される
と共に、パイプライン・レジスタ29から書き込み制御
信号RWが出力されるので、レジスタライトバッファ3
5に格納されているLマイクロ命令12の実行結果がレ
ジスタ36に格納されると共に、実行結果用バッファ3
3に格納されているRマイクロ命令13の実行結果がレ
ジスタ37に格納される。
【0053】なお、本発明のスカラプロセッサの第1実
施形態においては、実行制御信号LEは、演算器出力バ
ッファ32の格納内容を演算器31に与えるバイパスを
無効とするバイパス無効信号として使用される。
【0054】このように、本発明のスカラプロセッサの
第1実施形態によれば、LIW命令11を構成するLマ
イクロ命令12及びRマイクロ命令13は、パイプライ
ン制御されて順に実行されるが、Lマイクロ命令12の
実行結果及びRマイクロ命令13の演算結果は、それぞ
れ、レジスタ36、37に同時に書き込まれるので、L
IW命令11を構成するLマイクロ命令12とRマイク
ロ命令13との並列性を維持することができ、したがっ
て、上位機種である図1に示すLIWプロセッサとの間
におけるLIW命令11の互換性を確保することができ
る。
【0055】本発明のLIWプロセッサの一実施形態・
・図4〜図6 本発明のLIWプロセッサの第1実施形態は、図4に示
すような命令発行数を4とするLIWプロセッサを最上
位機種とするシリーズ品の中位機種となるものである。
【0056】図4中、39は4マイクロ命令からなるL
IW命令であり、40はLIW命令39中、1番左側に
存在するマイクロ命令(以下、LLマイクロ命令とい
う)、41はLIW命令39中、LLマイクロ命令40
の右側に存在するマイクロ命令(以下、LRマイクロ命
令という)である。
【0057】また、42はLIW命令39中、1番右側
に存在するマイクロ命令の左側に存在するマイクロ命令
(以下、RLマイクロ命令という)、43はLIW命令
39中、1番右側に存在するマイクロ命令(以下、RR
マイクロ命令という)である。
【0058】また、44はLLマイクロ命令40に付加
されたタグ(以下、LLタグという)であり、LLマイ
クロ命令40がLIW命令39内の1番左側に存在し、
LRマイクロ命令41、RLマイクロ命令42及びRR
マイクロ命令43と並列性を有するマイクロ命令である
ことを示している。
【0059】また、45はLRマイクロ命令41に付加
されたタグ(以下、LRタグという)であり、LRマイ
クロ命令41がLLマイクロ命令40の右側に存在し、
LLマイクロ命令40、RLマイクロ命令42及びRR
マイクロ命令43と並列性を有するマイクロ命令である
ことを示している。
【0060】また、46はRLマイクロ命令42に付加
されたタグ(以下、RLタグという)であり、RLマイ
クロ命令42がLRマイクロ命令41の右側に存在し、
LLマイクロ命令40、LRマイクロ命令41及びRR
マイクロ命令43と並列性を有するマイクロ命令である
ことを示している。
【0061】また、47はRRマイクロ命令43に付加
されたタグ(以下、RRタグという)であり、RRマイ
クロ命令43がRLマイクロ命令42の右側に存在し、
LLマイクロ命令40、LRマイクロ命令41及びRL
マイクロ命令42と並列性を有するマイクロ命令である
ことを示している。
【0062】また、48はLLマイクロ命令40につい
て演算実行又はアドレス生成を行う演算器、49はLR
マイクロ命令41について演算実行を行う演算器、50
はRLマイクロ命令42について演算実行を行う演算
器、51はRRマイクロ命令43について演算実行を行
う演算器である。
【0063】また、52は演算器48からの演算結果又
はデータメモリからのロード結果及び演算器49、5
0、51からの演算結果をLIW命令39の実行結果と
して格納するレジスタである。
【0064】即ち、図4に示すLIWプロセッサは、4
マイクロ命令からなるLIW命令内の4マイクロ命令を
並列実行できるように構成されたものであり、LLマイ
クロ命令40についての演算実行又はアドレス生成及び
LRマイクロ命令41、RLマイクロ命令42、RRマ
イクロ命令43についての演算実行をそれぞれ演算器4
8、49、50、51で並列的に行い、演算器48から
の演算結果又はデータメモリからのロード結果及び演算
器49、50、51からの演算結果をLIW命令39の
実行結果として同時にレジスタ52に格納するというも
のである。
【0065】図5は本発明のLIWプロセッサの一実施
形態の要部を示す回路図であり、図5中、54はパイプ
ライン制御を行うパイプライン制御系、55はパイプラ
イン制御系54に制御されて命令の実行を行う命令実行
系である。
【0066】パイプライン制御系54において、56は
命令メモリから読み出した命令を格納する命令レジスタ
であり、57はLLマイクロ命令40又はRLマイクロ
命令42を格納するマイクロ命令格納部、58はLRマ
イクロ命令41又はRRマイクロ命令43を格納するマ
イクロ命令格納部、59はマイクロ命令格納部57に格
納されるLLマイクロ命令40に付加されているLLタ
グ44又はRLマイクロ命令42に付加されているRL
タグ46を格納するタグ格納部である。
【0067】また、60は命令レジスタ56のマイクロ
命令格納部57に格納されたマイクロ命令をデコードす
る命令デコーダ、61は命令レジスタ56のマイクロ命
令格納部58に格納されたマイクロ命令をデコードする
命令デコーダ、62は命令レジスタ56のタグ格納部5
9に格納されたタグをデコードするタグデコーダであ
る。
【0068】また、LLDはタグデコーダ62から出力
されるLLタグ44をデコードしてなるLLタグデコー
ド信号、RLDはタグデコーダ62から出力されるRL
タグ46をデコードしてなるRLタグデコード信号であ
る。
【0069】また、63はLLタグデコード信号LLD
又はRLタグデコード信号RLD及び命令デコーダ6
0、61から出力される命令デコード信号をラッチする
パイプライン・レジスタ、LLEはパイプライン・レジ
スタ63から出力される、LLタグデコード信号LLD
を1サイクル遅延してなる実行制御信号、RLEはパイ
プライン・レジスタ63から出力される、RLタグデコ
ード信号RLDを1サイクル遅延してなる実行制御信号
である。
【0070】また、64は実行制御信号LLD、RLD
を格納するパイプライン・レジスタ、LLMはパイプラ
イン・レジスタ64から出力される、実行制御信号LL
Eを1サイクル遅延してなるメモリ・アクセス制御信
号、RLMはパイプライン・レジスタ64から出力され
る、実行制御信号RLEを1サイクル遅延してなるメモ
リ・アクセス制御信号である。
【0071】また、65はメモリ・アクセス制御信号L
LM、RLMを格納するパイプライン・レジスタ、LL
WRはパイプライン・レジスタ65から出力される、メ
モリ・アクセス制御信号LLMを1サイクル遅延してな
る書き込み保留制御信号、RLWはパイプライン・レジ
スタ65から出力される、メモリ・アクセス制御信号R
LMを1サイクル遅延してなる書き込み制御信号であ
る。
【0072】また、66は書き込み保留制御信号LLW
Rを格納するパイプライン・レジスタ、LLWはパイプ
ライン・レジスタ66から出力される、書き込み保留制
御信号LLWRを1サイクル遅延してなる書き込み制御
信号である。
【0073】また、命令実行系55において、67はL
Lマイクロ命令40についての演算実行又はアドレス生
成及びRLマイクロ命令42についての演算実行を行う
演算器、68は演算器67から出力される演算結果又は
アドレスを格納する演算器出力バッファである。
【0074】また、69はLRマイクロ命令41又はR
Rマイクロ命令43についての演算実行を行う演算器、
70は演算器69から出力される演算結果を格納する演
算器出力バッファである。
【0075】また、71は演算器出力バッファ68に格
納されている演算器67からの演算結果又は演算器出力
バッファ68に格納されているアドレスに基づいてメモ
リ・アクセスされた外部のデータメモリ72からのロー
ド結果及び演算器出力バッファ70に格納されている演
算器69の演算結果を格納する実行結果用バッファであ
る。
【0076】また、73は実行結果用バッファ71から
出力される実行結果を書き込み保留制御信号LLWRに
制御されて格納するレジスタライトバッファ、74はレ
ジスタライトバッファ73から出力される実行結果を書
き込み制御信号LLWに制御されて格納するレジスタ、
75は実行結果用バッファ71から出力される実行結果
を書き込み制御信号RLWに制御されて格納するレジス
タである。
【0077】図6は本発明のLIWプロセッサの一実施
形態の動作を説明するためのタイミングチャートであ
り、図6(A)はLLマイクロ命令40、LRマイクロ
命令41、RLマイクロ命令42、RRマイクロ命令4
3についてのパイプライン上の状態、図6(B)はLL
マイクロ命令40についてのLLタグデコード信号LL
D、実行制御信号LLE、メモリ・アクセス制御信号L
LM、書き込み保留制御信号LLWR、書き込み制御信
号LLW、図6(C)はRLマイクロ命令42について
のRLタグデコード信号RLD、実行制御信号RLE、
メモリ・アクセス制御信号RLM、書き込み制御信号R
LWを示している。
【0078】即ち、本発明のLIWプロセッサの一実施
形態においては、まず、サイクル1において、LLマイ
クロ命令40、LRマイクロ命令41及びLLタグ44
が命令メモリから読み出され、LLマイクロ命令40は
命令レジスタ56のマイクロ命令格納部57に格納さ
れ、LRマイクロ命令41は命令レジスタ56のマイク
ロ命令格納部58に格納され、LLタグ44は命令レジ
スタ56のタグ格納部59に格納される。
【0079】次に、サイクル2になると、命令デコーダ
60において、LLマイクロ命令40がデコードされ、
その命令デコード信号がパイプライン・レジスタ63に
格納され、命令デコーダ61において、LRマイクロ命
令41がデコードされ、その命令デコード信号がパイプ
ライン・レジスタ63に格納され、タグデコーダ62に
おいて、LLタグ44がデコードされ、LLタグデコー
ド信号LLDがパイプライン・レジスタ63に格納され
る。
【0080】また、サイクル2においては、RLマイク
ロ命令42、RRマイクロ命令43及びRLタグ46が
命令メモリから読み出され、RLマイクロ命令42は命
令レジスタ56のマイクロ命令格納部57に格納され、
RRマイクロ命令43は命令レジスタ56のマイクロ命
令格納部58に格納され、RLタグ46は命令レジスタ
56のタグ格納部62に格納される。
【0081】次に、サイクル3になると、パイプライン
・レジスタ63から実行制御信号LLEが出力されるの
で、演算器67において、LLマイクロ命令40につい
ての演算実行又はアドレス生成が行われ、演算結果又は
生成されたアドレスが演算器出力バッファ68に格納さ
れ、その演算器69において、LRマイクロ命令41に
ついて演算実行が行われ、その演算結果が演算器出力バ
ッファ70に格納される。
【0082】また、サイクル3においては、命令デコー
ダ61において、RLマイクロ命令42がデコードさ
れ、その命令デコード信号がパイプライン・レジスタ6
3に格納され、命令デコーダ61において、RRマイク
ロ命令43がデコードされ、その命令デコード信号がパ
イプライン・レジスタ63に格納され、タグデコーダ6
2において、RLタグ46がデコードされ、RLタグデ
コード信号RLDがパイプライン・レジスタ63に格納
される。
【0083】次に、サイクル4になると、パイプライン
・レジスタ64からメモリ・アクセス制御信号LLMが
出力されるので、演算器出力バッファ68の格納内容が
演算結果の場合には、その演算結果がLLマイクロ命令
40の実行結果として実行結果用バッファ71に格納さ
れ、演算器出力バッファ68の格納内容がアドレスの場
合には、データメモリ72に対するアクセスが行われ、
データメモリ72からのロード結果がLLマイクロ命令
40の実行結果として実行結果用バッファ71に格納さ
れると共に、演算器出力バッファ70に格納されている
演算器69からの演算結果がLRマイクロ命令41の実
行結果として実行結果用バッファ71に格納される。
【0084】また、サイクル4においては、パイプライ
ン・レジスタ63から実行制御信号RLEが出力される
ので、演算器67において、RLマイクロ命令42につ
いての演算実行が行われ、その演算結果が演算器出力バ
ッファ68に格納されると共に、演算器69において、
RRマイクロ命令43についての演算実行が行われ、そ
の演算結果が演算器出力バッファ70に格納される。
【0085】次に、サイクル5になると、パイプライン
・レジスタ65から書き込み保留制御信号LLWRが出
力されるので、実行結果用バッファ71に格納されてい
るLLマイクロ命令40の実行結果及びLRマイクロ命
令41の実行結果がレジスタライトバッファ73に格納
される。
【0086】また、サイクル5においては、パイプライ
ン・レジスタ64からメモリ・アクセス制御信号RLM
が出力されるので、演算器出力バッファ68に格納され
ている演算器67の演算結果がRLマイクロ命令42の
実行結果として実行結果用バッファ71に格納されると
共に、演算器出力バッファ70に格納されている演算器
69の演算結果がRRマイクロ命令43の実行結果とし
て実行結果用バッファ71に格納される。
【0087】次に、サイクル6になると、パイプライン
・レジスタ66から書き込み制御信号LLWが出力され
ると共に、パイプライン・レジスタ65から書き込み制
御信号RLWが出力されるので、レジスタライトバッフ
ァ73に格納されているLLマイクロ命令40の実行結
果及びLRマイクロ命令41の実行結果がレジスタ74
に格納されると共に、実行結果用バッファ71に格納さ
れているRLマイクロ命令42の実行結果及びRRマイ
クロ命令43の実行結果がレジスタ75に格納される。
【0088】なお、本発明のLIWプロセッサの一実施
形態においては、実行制御信号LLEは、演算器出力バ
ッファ68の格納内容を演算器67に与えるバイパス及
び演算器出力バッファ70の格納内容を演算器69に与
えるバイパスを無効とするバイパス無効信号として使用
される。
【0089】このように、本発明のLIWプロセッサの
一実施形態によれば、LIW命令39を構成するLLマ
イクロ命令40及びLRマイクロ命令41と、RLマイ
クロ命令42及びRRマイクロ命令43とは、それぞ
れ、パイプライン制御されて並列実行されるが、LLマ
イクロ命令40及びLRマイクロ命令41の実行結果
と、RLマイクロ命令42及びRRマイクロ命令43の
実行結果は、それぞれ、レジスタ74、75に同時に書
き込まれるので、LIW命令39を構成するLLマイク
ロ命令40と、LRマイクロ命令41と、RLマイクロ
命令42と、RRマイクロ命令43との並列性を維持す
ることができ、したがって、最上位機種である図4に示
すLIWプロセッサとの間におけるLIW命令39の互
換性を確保することができる。
【0090】本発明のスカラプロセッサの第2実施形態
・・図7〜図9 図7及び図8は本発明のスカラプロセッサの第2実施形
態の要部を分図して示す回路図であり、本発明のスカラ
プロセッサの第2実施形態は、図4に示す命令発行数を
4とするLIWプロセッサを最上位機種とするシリーズ
品の最下位機種となるものである。
【0091】図7、図8において、76はパイプライン
制御を行うパイプライン制御系、77はパイプライン制
御系76に制御されて命令の実行を行う命令実行系であ
る。
【0092】パイプライン制御系76において、78は
命令メモリから読み出した命令を格納する命令レジスタ
であり、79は1マイクロ命令を格納するマイクロ命令
格納部、80はマイクロ命令格納部79に格納されるマ
イクロ命令に付加されているタグを格納するタグ格納部
である。
【0093】また、81は命令レジスタ78のマイクロ
命令格納部79に格納されたマイクロ命令をデコードす
る命令デコーダ、82は命令レジスタ78のタグ格納部
80に格納されたタグをデコードするタグデコーダであ
る。
【0094】また、LLDはタグデコーダ82から出力
されるLLタグ44をデコードしてなるLLタグデコー
ド信号、LRDはタグデコーダ82から出力されるLR
タグ45をデコードしてなるLRタグデコード信号、R
LDはタグデコーダ82から出力されるRLタグ46を
デコードしてなるRLタグデコード信号、RRDはタグ
デコーダ82から出力されるRRタグ47をデコードし
てなるRRタグデコード信号である。
【0095】また、83はタグデコーダ82から出力さ
れるLLタグデコード信号LLD、LRタグデコード信
号LRD、RLタグデコード信号RLD、RRタグデコ
ード信号RRD及び命令デコーダ81から出力される命
令デコード信号をラッチするパイプライン・レジスタで
ある。
【0096】また、LLEはパイプライン・レジスタ8
3から出力される、LLタグデコード信号LLDを1サ
イクル遅延してなる実行制御信号、LREはパイプライ
ン・レジスタ83から出力される、LRタグデコード信
号RLDを1サイクル遅延してなる実行制御信号であ
る。
【0097】また、RLEはパイプライン・レジスタ8
3から出力される、RLタグデコード信号RLDを1サ
イクル遅延してなる実行制御信号、RREはパイプライ
ン・レジスタ83から出力される、RRタグデコード信
号RRDを1サイクル遅延してなる実行制御信号であ
る。
【0098】また、84は実行制御信号LLE、LR
E、RLE、RREを格納するパイプライン・レジス
タ、LLMはパイプライン・レジスタ84から出力され
る、実行制御信号LLEを1サイクル遅延してなるメモ
リ・アクセス制御信号、LRMはパイプライン・レジス
タ84から出力される、実行制御信号LREを1サイク
ル遅延してなるメモリ・アクセス制御信号である。
【0099】また、RLMはパイプライン・レジスタ8
4から出力される、実行制御信号RLEを1サイクル遅
延してなるメモリ・アクセス制御信号、RRMはパイプ
ライン・レジスタ84から出力される、実行制御信号R
REを1サイクル遅延してなるメモリ・アクセス制御信
号である。
【0100】また、85はメモリ・アクセス制御信号L
LM、LRM、RLM、RRMを格納するパイプライン
・レジスタ、LLWR1はパイプライン・レジスタ85
から出力される、メモリ・アクセス制御信号LLMを1
サイクル遅延してなる書き込み保留制御信号、LRWR
1はパイプライン・レジスタ85から出力される、メモ
リ・アクセス制御信号LRMを1サイクル遅延してなる
書き込み保留制御信号である。
【0101】また、RLWRはパイプライン・レジスタ
85から出力される、メモリ・アクセス制御信号RLM
を1サイクル遅延してなる書き込み保留制御信号、RR
Wはパイプライン・レジスタ85から出力される、メモ
リ・アクセス制御信号RRMを1サイクル遅延してなる
書き込み制御信号である。
【0102】また、86は書き込み保留制御信号LLW
R1、LRWR1、RLWRを格納するパイプライン・
レジスタ、LLWR2はパイプライン・レジスタ86か
ら出力される、書き込み保留制御信号LLWR1を1サ
イクル遅延してなる書き込み保留制御信号である。
【0103】また、LRWR2はパイプライン・レジス
タ86から出力される、書き込み保留制御信号LLWR
1を1サイクル遅延してなる書き込み保留制御信号、R
LWはパイプライン・レジスタ86から出力される、書
き込み保留制御信号RLWRを1サイクル遅延してなる
書き込み制御信号である。
【0104】また、87は書き込み保留制御信号LLW
R2、LRWR2を格納するパイプライン・レジスタ、
LLWR3はパイプライン・レジスタ87から出力され
る、書き込み保留制御信号LLWR2を1サイクル遅延
してなる書き込み保留制御信号、LRWはパイプライン
・レジスタ87から出力される、書き込み保留制御信号
LRWR2を1サイクル遅延してなる書き込み制御信号
である。
【0105】また、88は書き込み保留制御信号LLW
R3を格納するパイプライン・レジスタ、LLWはパイ
プライン・レジスタ88から出力される、書き込み保留
制御信号LLWR3を1サイクル遅延してなる書き込み
制御信号である。
【0106】また、命令実行系77において、89はマ
イクロ命令について演算実行又はアドレス生成を行う演
算器、90は演算器89から出力される演算結果又はア
ドレスを格納する演算器出力バッファである。
【0107】また、91は演算器出力バッファ90に格
納されている演算器89の演算結果又は演算器出力バッ
ファ90に格納されているアドレスに基づいてメモリ・
アクセスされた外部のデータメモリ92からのロード結
果を格納するマイクロ命令の実行結果として格納する実
行結果用バッファである。
【0108】また、93は実行結果用バッファ91から
出力される実行結果を書き込み保留制御信号LLWR1
に制御されて格納するレジスタライトバッファ、94は
レジスタライトバッファ93から出力される実行結果を
書き込み制御信号LLWに制御されて格納するレジスタ
である。
【0109】また、95は実行結果用バッファ91から
出力される実行結果を書き込み保留制御信号LRWR1
に制御されて格納するレジスタライトバッファ、96は
レジスタライトバッファ95から出力される実行結果を
書き込み制御信号LRWに制御されて格納するレジスタ
である。
【0110】また、97は実行結果用バッファ91から
出力される実行結果を書き込み保留制御信号RLWRに
制御されて格納するレジスタライトバッファ、98はレ
ジスタライトバッファ97から出力される実行結果を書
き込み制御信号RLWに制御されて格納するレジスタで
ある。
【0111】また、99は実行結果用バッファ91から
出力される実行結果を書き込み制御信号RRWに制御さ
れて格納するレジスタである。
【0112】図9は本発明のスカラプロセッサの第2実
施形態の動作を説明するためのタイミングチャートであ
り、図9(A)はLLマイクロ命令40、LRマイクロ
命令41、RLマイクロ命令42、RRマイクロ命令4
3についてのパイプライン上の状態を示している。
【0113】また、図9(B)はLLマイクロ命令40
についてのLLタグデコード信号LLD、実行制御信号
LLE、メモリ・アクセス制御信号LLM、書き込み保
留制御信号LLWR1、LLWR2、LLWR3、書き
込み制御信号LLWを示している。
【0114】また、図9(C)はLRマイクロ命令41
についてのLRタグデコード信号LRD、実行制御信号
LRE、メモリ・アクセス制御信号LRM、書き込み保
留制御信号LRWR1、LRWR2、書き込み制御信号
LRWを示している。
【0115】また、図9(D)はRLマイクロ命令42
についてのRLタグデコード信号RLD、実行制御信号
RLE、メモリ・アクセス制御信号RLM、書き込み保
留制御信号RLWR、書き込み制御信号RLWを示して
いる。
【0116】また、図9(E)はRRマイクロ命令43
についてのRRタグデコード信号RRD、実行制御信号
RRE、メモリ・アクセス制御信号RRM、書き込み制
御信号RRWを示している。
【0117】即ち、本発明のスカラプロセッサの第2実
施形態においては、まず、サイクル1において、LLマ
イクロ命令40及びLLタグ44が命令メモリから読み
出され、LLマイクロ命令40は命令レジスタ78のマ
イクロ命令格納部79に格納され、LLタグ44は命令
レジスタ78のタグ格納部80に格納される。
【0118】次に、サイクル2になると、命令デコーダ
81において、LLマイクロ命令40がデコードされ、
命令デコード信号がパイプライン・レジスタ83に格納
され、タグデコーダ82において、LLタグ44がデコ
ードされ、LLタグデコード信号LLDがパイプライン
・レジスタ83に格納される。
【0119】また、サイクル2においては、LRマイク
ロ命令41及びLRタグ45が命令メモリから読み出さ
れ、LRマイクロ命令41は命令レジスタ78のマイク
ロ命令格納部79に格納され、LRタグ45は命令レジ
スタ78のタグ格納部80に格納される。
【0120】次に、サイクル3になると、パイプライン
・レジスタ83から実行制御信号LLEが出力されるの
で、演算器89において、LLマイクロ命令40につい
ての演算実行又はアドレス生成が行われ、演算結果又は
生成されたアドレスが演算器出力バッファ90に格納さ
れる。
【0121】また、サイクル3においては、命令デコー
ダ81において、LRマイクロ命令41がデコードさ
れ、命令デコード信号がパイプライン・レジスタ83に
格納され、タグデコーダ82において、LRタグ45が
デコードされ、LRタグデコード信号LRDがパイプラ
イン・レジスタ83に格納される。
【0122】また、サイクル3においては、RLマイク
ロ命令42及びRLタグ46が命令メモリから読み出さ
れ、RLマイクロ命令42は命令レジスタ78のマイク
ロ命令格納部79に格納され、RLタグ46は命令レジ
スタ78のタグ格納部80に格納される。
【0123】次に、サイクル4になると、パイプライン
・レジスタ84からメモリ・アクセス制御信号LLMが
出力されるので、演算器出力バッファ90の格納内容が
演算結果の場合には、その演算結果がLLマイクロ命令
40の実行結果として実行結果用バッファ91に格納さ
れ、演算器出力バッファ90の格納内容がアドレスの場
合には、データメモリ92に対するアクセスが行われ、
データメモリ92からのロード結果がLLマイクロ命令
40の実行結果として実行結果用バッファ91に格納さ
れる。
【0124】また、サイクル4においては、パイプライ
ン・レジスタ83から実行制御信号LREが出力される
ので、演算器89において、LRマイクロ命令41につ
いての演算実行が行われ、演算結果が演算器出力バッフ
ァ90に格納される。
【0125】また、サイクル4においては、命令デコー
ダ81において、RLマイクロ命令42がデコードさ
れ、命令デコード信号がパイプライン・レジスタ83に
格納されると共に、タグデコーダ82において、RLタ
グ46がデコードされ、RLタグデコード信号RLDが
パイプライン・レジスタ83に格納される。
【0126】また、サイクル4においては、RRマイク
ロ命令43及びRRタグ47が命令メモリから読み出さ
れ、RRマイクロ命令43は命令レジスタ78のマイク
ロ命令格納部79に格納され、RRタグ47は命令レジ
スタ78のタグ格納部80に格納される。
【0127】次に、サイクル5になると、パイプライン
・レジスタ85から書き込み保留制御信号LLWR1が
出力されるので、実行結果用バッファ91に格納されて
いるLLマイクロ命令40の実行結果がレジスタライト
バッファ93に格納される。
【0128】また、サイクル5においては、パイプライ
ン・レジスタ84からメモリ・アクセス制御信号LRM
が出力されるので、演算器出力バッファ90に格納され
ている演算器89の演算結果がLRマイクロ命令41の
実行結果として実行結果用バッファ91に格納される。
【0129】また、サイクル5においては、パイプライ
ン・レジスタ83から実行制御信号RLEが出力される
ので、演算器89において、RLマイクロ命令42につ
いての演算実行が行われ、演算結果が演算器出力バッフ
ァ90に格納される。
【0130】また、サイクル5においては、命令デコー
ダ81において、RRマイクロ命令43がデコードさ
れ、命令デコード信号がパイプライン・レジスタ83に
格納され、タグデコーダ82において、RRタグ47が
デコードされ、RRタグデコード信号RRDがパイプラ
イン・レジスタ83に格納される。
【0131】次に、サイクル6になると、パイプライン
・レジスタ85から書き込み保留制御信号LRWR1が
出力されるので、実行結果用バッファ91に格納されて
いるLRマイクロ命令41の実行結果がレジスタライト
バッファ95に格納される。
【0132】また、サイクル6においては、パイプライ
ン・レジスタ84からメモリ・アクセス制御信号RLM
が出力されるので、演算器出力バッファ90に格納され
ている演算器89の演算結果がRLマイクロ命令42の
実行結果として実行結果用バッファ91に格納される。
【0133】また、サイクル6においては、パイプライ
ン・レジスタ83から実行制御信号RREが出力される
ので、演算器89において、RRマイクロ命令43につ
いての演算実行が行われ、演算結果が演算器出力バッフ
ァ90に格納される。
【0134】次に、サイクル7になると、パイプライン
・レジスタ85から書き込み保留制御信号RLWRが出
力されるので、実行結果用バッファ91に格納されてい
るRLマイクロ命令42の実行結果がレジスタライトバ
ッファ97に格納される。
【0135】また、サイクル7においては、パイプライ
ン・レジスタ84からメモリ・アクセス制御信号RRM
が出力されるので、演算器出力バッファ90に格納され
ている演算器89の演算結果がRRマイクロ命令43の
実行結果として実行結果用バッファ91に格納される。
【0136】次に、サイクル8になると、パイプライン
・レジスタ88、87、86、85から書き込み制御信
号LLW、LRW、RLW、RRWが出力されるので、
レジスタライトバッファ93、95、97及び実行結果
用バッファ91に格納されているLLマイクロ命令40
の実行結果、LRマイクロ命令41の実行結果、RLマ
イクロ命令42の実行結果、RRマイクロ命令43の実
行結果がそれぞれレジスタ94、96、98、99に同
時に格納される。
【0137】なお、本発明のスカラプロセッサの第2実
施形態においては、実行制御信号LLE、LRE、RL
Eが演算器出力バッファ90の格納内容を演算器89に
与えるバイパスを無効とするバイパス無効信号として使
用される。
【0138】このように、本発明のスカラプロセッサの
第2実施形態によれば、LIW命令39を構成するLL
マイクロ命令40、LRマイクロ命令41、RLマイク
ロ命令42及びRRマイクロ命令43は、パイプライン
制御されて順に実行されるが、LLマイクロ命令40、
LRマイクロ命令41、RLマイクロ命令42及びRR
マイクロ命令43の実行結果は、それぞれ、レジスタ9
4、96、98、99に同時に書き込まれるので、LI
W命令39を構成するLLマイクロ命令40、LRマイ
クロ命令41、RLマイクロ命令42及びRRマイクロ
命令43の並列性を維持することができ、したがって、
最上位機種である図4に示すLIWプロセッサとの間に
おけるLIW命令39の互換性を確保することができ
る。
【0139】本発明のスカラプロセッサの第3実施形態
・・図10〜図12図10は本発明のスカラプロセッサ
の第3実施形態の要部を命令メモリと共に示す回路図で
ある。図10中、101は命令メモリ、102は本発明
のスカラプロセッサの第3実施形態であり、本発明のス
カラプロセッサの第3実施形態102は、図1に示すL
IWプロセッサの下位機種となるものである。
【0140】命令メモリ101は、命令の並列性を示す
タグを付加された2個のマイクロ命令からなるLIW命
令、即ち、Lタグを付加されたLマイクロ命令及びRタ
グを付加されたRマイクロ命令からなるLIW命令を格
納するものである。
【0141】また、本発明のスカラプロセッサの第3実
施形態102において、103は命令メモリ101から
読み出された命令を格納する命令レジスタであり、10
4はLタグ格納部、105はLマイクロ命令格納部、1
06はRタグ格納部、107はRマイクロ命令格納部で
ある。
【0142】また、108は命令レジスタ103に格納
されたLIW命令のうち、Lマイクロ命令をプリデコー
ドし、Lマイクロ命令がNOP命令であるか否かを判断
するプリデコーダである。
【0143】また、109はプリデコーダ108の出力
によってオン、オフが制御されるスイッチ手段であり、
Lマイクロ命令がNOP命令以外の場合にはオンとさ
れ、Lタグ及びLマイクロ命令を通過させ、Lマイクロ
命令がNOP命令の場合にはオフとされ、Lタグ及びL
マイクロ命令を通過させないというものである。
【0144】また、110は命令レジスタ103に格納
されたLIW命令のうち、Rマイクロ命令をプリデコー
ドし、Rマイクロ命令がNOP命令であるか否かを判断
するプリデコーダである。
【0145】また、111はプリデコーダ110の出力
によってオン、オフが制御されるスイッチ手段であり、
Rマイクロ命令がNOP命令以外の場合にはオンとさ
れ、Rタグ及びRマイクロ命令を通過させ、Rマイクロ
命令がNOP命令の場合にはオフとされ、Rタグ及びR
マイクロ命令を通過させないというものである。
【0146】また、112はスイッチ手段109、11
1を通過してくるマイクロ命令の順に、かつ、同一ワー
ド内ではLタグを付加されたLマイクロ命令、Rタグを
付加されたRマイクロ命令の順に選択するセレクタ、1
13はセレクタ112から出力されるタグ及びマイクロ
命令を格納する命令キューである。
【0147】また、本発明のスカラプロセッサの第3実
施形態においては、NOP命令を命令キュー113に伝
送しない場合において、NOP命令がRマイクロ命令の
場合には、同一ワード内のLマイクロ命令に付加されて
いるLタグをRタグに変更して命令キュー113に格納
するように制御される。その他については、図2に示す
本発明のスカラプロセッサの第1実施形態と同様に構成
されている。
【0148】図11は本発明のスカラプロセッサの第3
実施形態の動作を説明するための図であり、命令メモリ
101に格納されているマイクロ命令と、命令キュー1
13に格納されるマイクロ命令との関係を示しており、
命令メモリ101のアドレスXにLタグが付加されたA
マイクロ命令及びRタグが付加されたBマイクロ命令が
格納され、アドレスX+2にLタグが付加されたCマイ
クロ命令及びRタグが付加されたDマイクロ命令が格納
されている場合を例にしている。
【0149】この場合、まず、Lタグが付加されたAマ
イクロ命令及びRタグが付加されたBマイクロ命令が命
令レジスタ103に格納され、これらAマイクロ命令、
Bマイクロ命令がプリデコード108、110でプリデ
コードされ、これらAマイクロ命令、Bマイクロ命令の
命令キュー113への伝送、非伝送が行われる。
【0150】次に、Lタグが付加されたCマイクロ命令
及びRタグが付加されたDマイクロ命令が命令レジスタ
103に格納され、これらCマイクロ命令、Dマイクロ
命令がプリデコード108、110でプリデコードさ
れ、これらAマイクロ命令、Bマイクロ命令の命令キュ
ー113への伝送、非伝送が行われる。
【0151】ここに、図11(A)に示すように、Aマ
イクロ命令及びDマイクロ命令がNOP命令以外の命
令、Bマイクロ命令及びCマイクロ命令がNOP命令の
場合には、Lタグが付加されたAマイクロ命令及びRタ
グが付加されたDマイクロ命令が命令キュー113に順
に格納され、Bマイクロ命令及びCマイクロ命令は、命
令キュー113には格納されない。なお、この場合、A
マイクロ命令のLタグはRタグに変更されて命令キュー
113に格納され、このRタグはアドレス更新タグとし
ても使用されることになる。
【0152】また、図11(B)に示すように、Bマイ
クロ命令及びDマイクロ命令がNOP命令以外の命令、
Aマイクロ命令及びCマイクロ命令がNOP命令の場合
には、Rタグが付加されたBマイクロ命令及びRタグが
付加されたDマイクロ命令が順に命令キュー113に格
納され、Aマイクロ命令及びCマイクロ命令は、命令キ
ュー113には格納されない。
【0153】また、図11(C)に示すように、Bマイ
クロ命令及びCマイクロ命令がNOP命令以外の命令、
Aマイクロ命令及びDマイクロ命令がNOP命令の場合
には、Rタグが付加されたBマイクロ命令及びLタグが
付加されたCマイクロ命令が順に命令キュー113に格
納され、Aマイクロ命令及びDマイクロ命令は、命令キ
ュー113には格納されない。なお、この場合、Cマイ
クロ命令のLタグはRタグに変更されて命令キュー11
3に格納され、このRタグはアドレス更新タグとしても
使用されることになる。
【0154】また、図11(D)に示すように、Aマイ
クロ命令及びCマイクロ命令がNOP命令以外の命令、
Bマイクロ命令及びDマイクロ命令がNOP命令の場合
には、Lタグが付加されたAマイクロ命令及びLタグが
付加されたCマイクロ命令が順に命令キュー113に格
納され、Bマイクロ命令及びDマイクロ命令は、命令キ
ュー113には格納されない。なお、この場合、Aマイ
クロ命令のLタグ及びCマイクロ命令のLタグはRタグ
に変更されて命令キュー113に格納され、このRタグ
はアドレス更新タグとしても使用されることになる。
【0155】なお、従来のスカラプロセッサによれば、
命令キュー113には、図12に示すように、NOP命
令か否かに関わらず、Aマイクロ命令、Bマイクロ命
令、Cマイクロ命令及びDマイクロ命令が順に格納され
ることになる。
【0156】したがって、本発明のスカラプロセッサの
第3実施形態によれば、本発明のスカラプロセッサの第
1実施形態と同様に、LIW命令11を構成するLマイ
クロ命令12とRマイクロ命令13との並列性を維持
し、上位機種である図1に示すLIWプロセッサとの間
におけるLIW命令11の互換性を確保することがで
き、しかも、NOP命令を命令デコーダ25に供給しな
いようにすることができるので、命令実行効率を高める
ことができる。
【0157】なお、本発明のスカラプロセッサの第3実
施形態によれば、命令レジスタ103は、2マイクロ命
令及び対応するタグを格納するようにした場合について
説明したが、1マイクロ命令及び対応するタグのみを格
納するように構成し、プリデコーダ等も1個を設けるよ
うに構成しても良い。
【0158】
【発明の効果】本発明中、第1の発明(請求項1記載の
LIW命令実行方法)によれば、LIW命令内のマイク
ロ命令に命令の並列性を示すタグを付加するとしている
ので、LIW命令の互換性を確保できるLIWプロセッ
サ及びスカラプロセッサ、あるいは、LIW命令の互換
性を確保できる命令発行数を異にする複数機種のLIW
プロセッサ、あるいは、LIW命令の互換性を確保でき
る命令発行数を異にする複数機種のLIWプロセッサ及
びスカラプロセッサをシリーズ品として構成することが
できる。
【0159】本発明中、第2の発明(請求項2記載のス
カラプロセッサ)によれば、LIW命令の実行結果をレ
ジスタに書き込むまでの間、LIW命令の並列性を維持
することができるので、LIWプロセッサとの間におけ
るLIW命令の互換性を確保することができるスカラプ
ロセッサを構成することができる。
【0160】本発明中、第3の発明(請求項3記載のス
カラプロセッサ)によれば、LIW命令の実行結果をレ
ジスタに書き込むまでの間、LIW命令の並列性を維持
することができるので、LIWプロセッサとの間におけ
るLIW命令の互換性を確保することができ、しかも、
NOP動作を行う必要がないので、命令実行効率を高め
ることができる。
【0161】本発明中、第4の発明(請求項4記載のL
IWプロセッサ)は、LIW命令の実行結果をレジスタ
に書き込むまでの間、LIW命令の並列性を維持するこ
とができるので、最上位機種との間におけるLIW命令
の互換性を確保することができるLIWプロセッサを構
成することができる。
【図面の簡単な説明】
【図1】本発明のスカラプロセッサの第1実施形態の上
位機種であるLIWプロセッサを示す概念図である。
【図2】本発明のスカラプロセッサの第1実施形態の要
部を示す回路図である。
【図3】本発明のスカラプロセッサの第1実施形態の動
作を説明するためのタイミングチャートである。
【図4】本発明のLIWプロセッサの一実施形態の上位
機種であるLIWプロセッサを示す概念図である。
【図5】本発明のLIWプロセッサの一実施形態の要部
を示す回路図である。
【図6】本発明のLIWプロセッサの一実施形態の動作
を説明するためのタイミングチャートである。
【図7】本発明のスカラプロセッサの第2実施形態の要
部を分図して示す回路図である。
【図8】本発明のスカラプロセッサの第2実施形態の要
部を分図して示す回路図である。
【図9】本発明のスカラプロセッサの第2実施形態の動
作を説明するためのタイミングチャートである。
【図10】本発明のスカラプロセッサの第3実施形態の
要部を命令メモリと共に示す回路図である。
【図11】本発明のスカラプロセッサの第3実施形態の
動作を説明するための図である。
【図12】従来のスカラプロセッサの動作を説明するた
めの図である。
【図13】従来のLIWプロセッサの一例を示す概念図
である。
【図14】従来のスカラプロセッサが有する問題点を説
明するための図である。
【符号の説明】
16、17 演算器

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】LIW命令内のマイクロ命令に命令の並列
    性を示すタグを付加して前記LIW命令を実行すること
    を特徴とするLIW命令実行方法。
  2. 【請求項2】命令の並列性を示すタグを付加したマイク
    ロ命令からなるLIW命令内のマイクロ命令を前記タグ
    を認識して1個づつ実行し、前記LIW命令内の全マイ
    クロ命令の実行結果を同時にレジスタに書き込む手段を
    備えていることを特徴とするスカラプロセッサ。
  3. 【請求項3】前記LIW命令内のマイクロ命令がNOP
    命令であるか否かを判断し、NOP命令以外のマイクロ
    命令のみを命令デコーダに供給する手段を備えているこ
    とを特徴とする請求項2記載のスカラプロセッサ。
  4. 【請求項4】命令の並列性を示すタグを付加したマイク
    ロ命令からなるLIW命令内のマイクロ命令を前記タグ
    を認識して一部づつ、かつ、複数個づつ並列実行し、前
    記LIW命令内の全マイクロ命令の実行結果を同時にレ
    ジスタに書き込む手段を備えていることを特徴とするL
    IWプロセッサ。
JP28474397A 1997-10-17 1997-10-17 Liw命令実行方法、スカラプロセッサ及びliwプロセッサ Withdrawn JPH11119997A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28474397A JPH11119997A (ja) 1997-10-17 1997-10-17 Liw命令実行方法、スカラプロセッサ及びliwプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28474397A JPH11119997A (ja) 1997-10-17 1997-10-17 Liw命令実行方法、スカラプロセッサ及びliwプロセッサ

Publications (1)

Publication Number Publication Date
JPH11119997A true JPH11119997A (ja) 1999-04-30

Family

ID=17682431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28474397A Withdrawn JPH11119997A (ja) 1997-10-17 1997-10-17 Liw命令実行方法、スカラプロセッサ及びliwプロセッサ

Country Status (1)

Country Link
JP (1) JPH11119997A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304292A (ja) * 2001-04-05 2002-10-18 Fujitsu Ltd シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体
JP2009059246A (ja) * 2007-08-31 2009-03-19 Toshiba Corp マイクロプロセッサ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304292A (ja) * 2001-04-05 2002-10-18 Fujitsu Ltd シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体
JP2009059246A (ja) * 2007-08-31 2009-03-19 Toshiba Corp マイクロプロセッサ
US8131977B2 (en) 2007-08-31 2012-03-06 Kabushiki Kaisha Toshiba Microprocessor inhibiting instruction storage in cache and not decoding based on pre-analysis information to reduce power consumption

Similar Documents

Publication Publication Date Title
US5758115A (en) Interoperability with multiple instruction sets
EP0996057B1 (en) Data processor with an instruction unit having a cache and a ROM
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US4179731A (en) Microprogrammed control system
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
US4954943A (en) Data processing system
US5446849A (en) Electronic computer which executes squash branching
JP5565228B2 (ja) プロセッサ
JP3781519B2 (ja) プロセッサの命令制御機構
JPH02227730A (ja) データ処理システム
JPH01310441A (ja) データ処理装置
US8327175B2 (en) Data processing systems and methods of operating the same in which memory blocks are selectively activated in fetching program instructions
JPH11119997A (ja) Liw命令実行方法、スカラプロセッサ及びliwプロセッサ
EP3329361B1 (en) Vector operand bitsize control
US5293499A (en) Apparatus for executing a RISC store and RI instruction pair in two clock cycles
US4812989A (en) Method for executing machine language instructions
US5187782A (en) Data processing system
JP3507193B2 (ja) ロード・ストア命令処理装置
US6112300A (en) Method and apparatus for performing multi-way branching using a hardware relational table
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
JP2743947B2 (ja) マイクロプログラム制御方式
JPH0619713B2 (ja) 論理型デ−タ処理装置
JPH08106383A (ja) 演算処理装置
JPH05250156A (ja) Riscプロセッサ
JPH096613A (ja) 動的ハイパースカラ・プロセッサ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050104