JPS61143849A - プロセツサ - Google Patents
プロセツサInfo
- Publication number
- JPS61143849A JPS61143849A JP59265753A JP26575384A JPS61143849A JP S61143849 A JPS61143849 A JP S61143849A JP 59265753 A JP59265753 A JP 59265753A JP 26575384 A JP26575384 A JP 26575384A JP S61143849 A JPS61143849 A JP S61143849A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- decoder
- section
- execution
- fetch
- 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.)
- Pending
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、分岐命令の使用を減少させ、実行時間の高速
化と、プログラムステップ数の減少を実現するプロセッ
サに関するものである。
化と、プログラムステップ数の減少を実現するプロセッ
サに関するものである。
従来の技術
従来のプロセッサとしては、例えば、飯塚肇/立
古谷7美/山ロ喜教「マイクロコンビュータアーキ第2
図はこの従来のプロセッサの構成図を示すものであり、
1oは命令コードを読出す命令フェッチ部である。11
は命令コードをデコードして制御信号を生成する命令デ
コード部である。12は命令の実行を行なう命令実行部
である。命令デコード部11は、フェッチ部用デコーダ
18と、実行部用デコーダ17を持つ。フェッチ部用デ
コーダ18は、制御線16を介して命令フェッチ部1o
を制御し、実行部用デコーダ17は、制御線14を介し
て命令実行部12を制御する。命令コードは、命令フェ
ッチ部1oから命令出力線13を介してフェッチ部用デ
コーダ18および実行部用デコーダ17に与えられる。
図はこの従来のプロセッサの構成図を示すものであり、
1oは命令コードを読出す命令フェッチ部である。11
は命令コードをデコードして制御信号を生成する命令デ
コード部である。12は命令の実行を行なう命令実行部
である。命令デコード部11は、フェッチ部用デコーダ
18と、実行部用デコーダ17を持つ。フェッチ部用デ
コーダ18は、制御線16を介して命令フェッチ部1o
を制御し、実行部用デコーダ17は、制御線14を介し
て命令実行部12を制御する。命令コードは、命令フェ
ッチ部1oから命令出力線13を介してフェッチ部用デ
コーダ18および実行部用デコーダ17に与えられる。
7工ツテ部用デコータ′″I8には、命令実行部12か
ら、スティタスビット15が与えられる。
ら、スティタスビット15が与えられる。
以上のように、構成された従来のプロセンサにおいては
、条件分岐命令などの時、命令実行部12に存在するス
ティタスレジスタの内容、すなわち、ゼロフラグ、サイ
ンフラグ、オーバーフローフラ力し、分岐を行なうかど
うかの判定に用いていた0発明が解決しようとする問題
点 しかしながら上記のような構成では、状況によって違っ
た処理を行なわなければならない場合、比較命令と条件
分岐命令の組合せによって、制御の流れを頻繁に変えな
ければならない。すなわち、命令実行の局所性がなくな
り、同時に、比較命令、条件分岐命令といった本来の演
算とは関係のない命令実行によるオーバヘッドを生じる
という問題点を有していた。これらは特に、命令キュー
を持ったプロセッサ、仮想メモリをサポートしているン
ステム、パイプライン構造を持ったプロセッサで問題と
なる。
、条件分岐命令などの時、命令実行部12に存在するス
ティタスレジスタの内容、すなわち、ゼロフラグ、サイ
ンフラグ、オーバーフローフラ力し、分岐を行なうかど
うかの判定に用いていた0発明が解決しようとする問題
点 しかしながら上記のような構成では、状況によって違っ
た処理を行なわなければならない場合、比較命令と条件
分岐命令の組合せによって、制御の流れを頻繁に変えな
ければならない。すなわち、命令実行の局所性がなくな
り、同時に、比較命令、条件分岐命令といった本来の演
算とは関係のない命令実行によるオーバヘッドを生じる
という問題点を有していた。これらは特に、命令キュー
を持ったプロセッサ、仮想メモリをサポートしているン
ステム、パイプライン構造を持ったプロセッサで問題と
なる。
本発明はかかる点顛鑑み、分岐命令の使用回数を減少さ
せて命令実行の局所性を向上し、実行時間全高速化し、
同時にプログラムステップ数を減少させるプロセッサを
提供することを目的とする。
せて命令実行の局所性を向上し、実行時間全高速化し、
同時にプログラムステップ数を減少させるプロセッサを
提供することを目的とする。
問題点全解決するための手段
本発明は、命令デコード部と、前記命令デコード部に接
続された命令実行部を備え、前記命令実行部の出力を命
令デコード部の実行部用デコーダに接続したプロセッサ
である。
続された命令実行部を備え、前記命令実行部の出力を命
令デコード部の実行部用デコーダに接続したプロセッサ
である。
作 用
本発明は前記した構成により、命令実行部の出力により
、命令デコード部の出力が変化し、それによって、同一
の命令コードの実行を行なう場合でも、命令実行部の状
態によって動作が変化する。
、命令デコード部の出力が変化し、それによって、同一
の命令コードの実行を行なう場合でも、命令実行部の状
態によって動作が変化する。
このように、命令の動作自体を変化させることにより、
従来では、条件分岐を用いて違った処理を行なっていた
場合でも、条件分岐を用いずに同じ処理が行なえ、分岐
命令の使用回数が減少する。
従来では、条件分岐を用いて違った処理を行なっていた
場合でも、条件分岐を用いずに同じ処理が行なえ、分岐
命令の使用回数が減少する。
これにより、命令実行の局所性が向上し、実行時間の高
速化が実現する。同時に条件ごとに処理を記述しなくて
も良いため、プログラムステップ数の減少が実現する。
速化が実現する。同時に条件ごとに処理を記述しなくて
も良いため、プログラムステップ数の減少が実現する。
実施例
第1図は本発明の実施例におけるプロセッサの構成図を
示すものである。第1図において、1は命令コードを読
出す命令フェッチ部である02は、命令コードをデコー
ドして制御信号を生成する命令デコード部である。命令
デコード部2は、フェッチ部用デコーダ9と、実行部用
デコーダ8を持つ。フェッチ部用デコーダ9は、制御線
7を介して命令フェッチ部1を制御し、実行部用デコー
ダ8は、制御線5を介して命令実行部3を制御する。
示すものである。第1図において、1は命令コードを読
出す命令フェッチ部である02は、命令コードをデコー
ドして制御信号を生成する命令デコード部である。命令
デコード部2は、フェッチ部用デコーダ9と、実行部用
デコーダ8を持つ。フェッチ部用デコーダ9は、制御線
7を介して命令フェッチ部1を制御し、実行部用デコー
ダ8は、制御線5を介して命令実行部3を制御する。
命令コードは、命令フェッチ部1から命令出力線4を介
してフェッチ部用デコーダ9および実行部用デコーダ8
に与えられる。同様に、命令実行部3から状態信号6が
フェッチ部用デコーダ9および実行部用デコーダ8に与
えられる。以下、2つの実施例について説明する。
してフェッチ部用デコーダ9および実行部用デコーダ8
に与えられる。同様に、命令実行部3から状態信号6が
フェッチ部用デコーダ9および実行部用デコーダ8に与
えられる。以下、2つの実施例について説明する。
第3図は、第1の実施例の命令実行部の構成図を示すも
のである。19は、汎用レジスタ群であは り、2oは、ALUである。データバスHV、 Aバス
21、Bバス22の2バス構成である。23は、スティ
タスレジスタであり、その中のサインフラグ、ゼロフラ
グ、オーバーフローフラグが、状態信号6の一部として
実行部用デコーダ8に接続されている。
のである。19は、汎用レジスタ群であは り、2oは、ALUである。データバスHV、 Aバス
21、Bバス22の2バス構成である。23は、スティ
タスレジスタであり、その中のサインフラグ、ゼロフラ
グ、オーバーフローフラグが、状態信号6の一部として
実行部用デコーダ8に接続されている。
この構成において一例としてLOW命令を定義する。こ
の命令は、3オペランドを取り、ディスティネーション
フィールドと、ソースフィールドおよび転送フィールド
から成る。ディスティネーションフィールドで示した内
容は、Aバス21に出力され、ソースフィールドで示し
た内容は、Bバス22に出力される。転送フィールドは
指定したレジスタにAバスまたはBバスの内容を書込む
だめのフィールドである。機能としては、第4図に示し
たように、サイ/フラグが立っていると、ディスティネ
ーションフィールドで指定したレジスタの内容が、その
まま書込まれ、サインフラグが下りていると、ソースフ
ィールドで指定したレジスタの内容が、ディスティネー
ションフィールドで指定したレジスタに書込まれる。転
送フィールドでの転送は、サインフラグに関係なく行な
われ、なおかつスティタスレジスタ23の内容は更新さ
れない。この命令を用いると、最大値、最小値を求めた
り、ソーティングを行なう場合に有効となる。−例を第
5図に示す。これは、レジスタ0(Ro)とレジスタ1
(R1)の内容全比較して、レジスタo (Ro )に
小さい方の値を代入し、レジスタ1(R1)に大きい方
の値を代入するプログラムである。
の命令は、3オペランドを取り、ディスティネーション
フィールドと、ソースフィールドおよび転送フィールド
から成る。ディスティネーションフィールドで示した内
容は、Aバス21に出力され、ソースフィールドで示し
た内容は、Bバス22に出力される。転送フィールドは
指定したレジスタにAバスまたはBバスの内容を書込む
だめのフィールドである。機能としては、第4図に示し
たように、サイ/フラグが立っていると、ディスティネ
ーションフィールドで指定したレジスタの内容が、その
まま書込まれ、サインフラグが下りていると、ソースフ
ィールドで指定したレジスタの内容が、ディスティネー
ションフィールドで指定したレジスタに書込まれる。転
送フィールドでの転送は、サインフラグに関係なく行な
われ、なおかつスティタスレジスタ23の内容は更新さ
れない。この命令を用いると、最大値、最小値を求めた
り、ソーティングを行なう場合に有効となる。−例を第
5図に示す。これは、レジスタ0(Ro)とレジスタ1
(R1)の内容全比較して、レジスタo (Ro )に
小さい方の値を代入し、レジスタ1(R1)に大きい方
の値を代入するプログラムである。
以上のように本実施例によれば、スティタスレジスタ2
3の内容を状態信号6の一部として実行部用デコーダ8
に接続することにより、分岐命令を用いずに最大値、最
小値を求めたり、ンーティ/グを行なうことができる。
3の内容を状態信号6の一部として実行部用デコーダ8
に接続することにより、分岐命令を用いずに最大値、最
小値を求めたり、ンーティ/グを行なうことができる。
第6図は、第2の実施例の命令実行部の構成図を示すも
のである。構成は、第1の実施例と同じであるが、シフ
トレジスタ24が追加されている。
のである。構成は、第1の実施例と同じであるが、シフ
トレジスタ24が追加されている。
このシフトレジスタ24の最上位ビット(MSB)が、
状態信号6の一部として実行部用デコーダ8に接続され
ている。
状態信号6の一部として実行部用デコーダ8に接続され
ている。
この構成において、−例としてシフトレジスタ24の最
上位ビット(MSB)が立っていれば処理を行ない、下
りていれば、処理を行なわず、いずれの場合も、次の命
令のためにシフトレジスタ24の内容を1ビツト左シフ
トを行なえる命令を定義する。処理として1の加算を考
えると、シフトレジスタ24内のデータの1”が立って
いるビットの数を、条件分岐を用いずに、シフトレジス
タ24のピント幅に相当するプログラムステップ数で求
められる。他の使用法としては、たとえば画像処理など
での境界部の処理において、従来のプロセッサでは、各
条件での処理を別々にプログラムで記述し、条件分岐を
用いて対処していたが、各条件に対応したパターンをシ
フトレジスタ24に書込むことによって、必要のない処
理は行なわなくする事によって条件別のプログラムは不
要となる。
上位ビット(MSB)が立っていれば処理を行ない、下
りていれば、処理を行なわず、いずれの場合も、次の命
令のためにシフトレジスタ24の内容を1ビツト左シフ
トを行なえる命令を定義する。処理として1の加算を考
えると、シフトレジスタ24内のデータの1”が立って
いるビットの数を、条件分岐を用いずに、シフトレジス
タ24のピント幅に相当するプログラムステップ数で求
められる。他の使用法としては、たとえば画像処理など
での境界部の処理において、従来のプロセッサでは、各
条件での処理を別々にプログラムで記述し、条件分岐を
用いて対処していたが、各条件に対応したパターンをシ
フトレジスタ24に書込むことによって、必要のない処
理は行なわなくする事によって条件別のプログラムは不
要となる。
発明の詳細
な説明したように、本発明によれば、同一の命令コード
に対して、命令実行部の状態により、命令デコード部か
ら命令実行部への制御が変化し、命令の処理内容を変え
ることが可能となり、分岐命令の使用回数が減少し、こ
れによって命令実行の局所性の向上、および実行時間の
高速化を実現し、同時に条件ごとに処理を記述しなくて
も良いためプログラムステップ数の減少を実現すること
ができ、その実用的効果は大きい。
第
に対して、命令実行部の状態により、命令デコード部か
ら命令実行部への制御が変化し、命令の処理内容を変え
ることが可能となり、分岐命令の使用回数が減少し、こ
れによって命令実行の局所性の向上、および実行時間の
高速化を実現し、同時に条件ごとに処理を記述しなくて
も良いためプログラムステップ数の減少を実現すること
ができ、その実用的効果は大きい。
第
第1図は本発明における一実施例のプロセッサの構成図
、第2図は従来のプロセッサの構成図、第3図は第1図
に示したプロセッサの命令実行部の一実施例の構成図、
第4図は同実施例における一命令の機能の説明図、第6
図は同命令のプログラム例を示す図、第6図は本発明の
他の実施例のプロセッサの命令実行部の構成図である。 1・・・・・・命令フェンチ部、2・・・・・・命令デ
コード部、3・・・・・・命令実行部。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名1図 第2図 第3図 第4図 LOW Set 、 8b、 Rr IJ zF= 7 then Sa?−3aetse
sa←sb 第5図 CMP Ra、 /?1
、第2図は従来のプロセッサの構成図、第3図は第1図
に示したプロセッサの命令実行部の一実施例の構成図、
第4図は同実施例における一命令の機能の説明図、第6
図は同命令のプログラム例を示す図、第6図は本発明の
他の実施例のプロセッサの命令実行部の構成図である。 1・・・・・・命令フェンチ部、2・・・・・・命令デ
コード部、3・・・・・・命令実行部。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名1図 第2図 第3図 第4図 LOW Set 、 8b、 Rr IJ zF= 7 then Sa?−3aetse
sa←sb 第5図 CMP Ra、 /?1
Claims (1)
- 命令フェッチ部と、前記命令フェッチ部に接続された命
令デコード部と、前記命令デコード部に接続された命令
実行部を備え、前記命令実行部の出力を前記命令デコー
ド部の実行部用デコーダに接続し、前記命令実行部の出
力により前記命令デコード部の出力を変化させ前記命令
実行部に違った動作を行なわせることを特徴とすをプロ
セッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59265753A JPS61143849A (ja) | 1984-12-17 | 1984-12-17 | プロセツサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59265753A JPS61143849A (ja) | 1984-12-17 | 1984-12-17 | プロセツサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61143849A true JPS61143849A (ja) | 1986-07-01 |
Family
ID=17421529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59265753A Pending JPS61143849A (ja) | 1984-12-17 | 1984-12-17 | プロセツサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61143849A (ja) |
-
1984
- 1984-12-17 JP JP59265753A patent/JPS61143849A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0087785B1 (en) | Microprogram controlled data processing apparatus | |
KR19990044957A (ko) | 데이터 처리기에서의 후속 명령 처리에 영향을 미치는 방법 및장치 | |
JPH0561692A (ja) | マイクロプロセツサの割込み制御装置 | |
US5696709A (en) | Program controlled rounding modes | |
US5802359A (en) | Mapping processor state into a millicode addressable processor state register array | |
JPS62197830A (ja) | デ−タ処理システム | |
US4656581A (en) | Vector mask control system | |
JPS63307535A (ja) | パイプライン制御回路 | |
JPH03171231A (ja) | マイクロコンピュータシステム | |
EP0240606A2 (en) | Pipe-line processing system and microprocessor using the system | |
JP2003058381A (ja) | プログラムによる例外処理設定を可能にしたプロセッサ | |
EP2278453B1 (en) | Processor system with coprocessor | |
JP2520882B2 (ja) | デ−タ処理装置およびデ−タ処理方法 | |
JPS61143849A (ja) | プロセツサ | |
JPS6217773B2 (ja) | ||
JPH056281A (ja) | 情報処理装置 | |
US6842852B1 (en) | System and method for controlling conditional branching utilizing a control instruction having a reduced word length | |
EP0336091A2 (en) | Pipeline type microprocessor | |
JPH0377137A (ja) | 情報処理装置 | |
JPS6230455B2 (ja) | ||
JPS62150435A (ja) | デ−タ処理方式 | |
JP2843844B2 (ja) | 並列演算処理装置 | |
JPS60136873A (ja) | ベクトル処理装置 | |
JPS6149695B2 (ja) | ||
JPH04363722A (ja) | 情報処理装置 |