JP3511691B2 - 演算処理装置 - Google Patents
演算処理装置Info
- Publication number
- JP3511691B2 JP3511691B2 JP26464094A JP26464094A JP3511691B2 JP 3511691 B2 JP3511691 B2 JP 3511691B2 JP 26464094 A JP26464094 A JP 26464094A JP 26464094 A JP26464094 A JP 26464094A JP 3511691 B2 JP3511691 B2 JP 3511691B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction set
- instruction
- speed
- program
- switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
ピュータ(RISC)と高機能命令セットコンピュータ
(CISC)とを共存させた演算処理装置に関する。 【0002】 【従来の技術】従来より、マイクロプロセッサやディジ
タル・シグナル・プロセッサ(DSP)等の演算処理装
置として、RISC型とCISC型とが知られている。
RISC型の演算処理装置は、少数の単純な命令セット
を用いて、細分化された実行ステップにより処理を実行
するもので、個々の実行サイクルの短縮化と高速パイプ
ライン処理とにより実行速度を高めたものである。この
種の装置は、VLSI技術の発展と共に、より一層の高
速化が図られている。これに対し、CISC型の演算処
理装置は、高機能命令セットを用い、低速クロックにお
いても実行効率が高く、電力に対するパフォーマンスが
良いという利点がある。 【0003】 【発明が解決しようとする課題】しかしながら、上述し
た従来の演算処理装置のうちRISC型のシステムで
は、高級言語とマシン語との間のセマンティックギャッ
プが大きく、アセンブラによる煩雑なプログラミングを
必要とするという問題がある。また、プログラミングの
効率化を図るためには最適化コンパイラに頼らざるを得
ず、所望する性能を引き出すことが難しい。更に、RI
SC型のシステムでは、パイプライン処理を前提として
いるため、プログラムに分岐を多く含む場合の実行効率
が低下するという問題点もある。一方、従来のCISC
型のシステムでは、高機能命令セットを使用してプログ
ラミングの負担を軽減した分だけ、マクロ命令からミク
ロ命令を生成するハードウェアの負担が増し、実行クロ
ックをあまり速くすることができないという問題点があ
る。 【0004】この発明は、このような問題点に鑑みなさ
れたもので、実行する処理の内容に応じて、最適なプロ
グラミング、処理及び処理速度を選択することができる
演算処理装置を提供することを目的とする。 【0005】 【課題を解決するための手段】この発明に係る演算処理
装置は、細分化された実行ステップにより処理を実行す
るための少数の単純な命令セットである縮小命令セット
で記述された高速処理プログラムと複数のミクロ命令を
生成するマクロ命令からなる高機能命令セットで記述さ
れた低速処理プログラムとが速度切替命令を境として共
存するプログラム及びこのプログラムによって処理され
るデータを記憶する記憶手段と、この記憶手段から読み
出された前記速度切替命令に従って実行クロックの周波
数を切替える実行クロック切替手段と、前記実行クロッ
クに従って前記記憶手段から順次命令セットを読み出す
命令セット読出し手段と、この命令セット読出し手段に
よって読み出された命令セットのうち前記縮小命令セッ
トを解読して第1の制御信号を出力する第1の命令解読
手段と、前記命令セット読出し手段によって読み出され
た命令セットのうち前記高機能命令セットを入力し入力
された高機能命令セットに対応するミクロ命令の先頭ア
ドレスを生成するマッピング部と、このマッピング部で
生成された先頭アドレスに基づいてミクロ命令指定のた
めのアドレスを順次生成するアドレス選択部と、このア
ドレス選択部で順次生成されたアドレスを入力して第2
の制御信号を出力する第2の命令解読手段と、前記記憶
手段から読み出された前記速度切替命令に従って前記第
1又は第2の命令解読手段から出力される前記第1又は
第2の制御信号に基づいて前記命令セット読出し手段に
よって前記記憶手段から読み出された命令セットを前記
第1の命令解読手段に供給するか前記マッピング部へ供
給するかを切替える命令解読切替手段と、前記第1の制
御信号に従ってパイプライン処理に基づく演算処理を実
行すると共に、前記第2の制御信号に従って前記記憶手
段からダイレクトにデータを取り込む演算処理を実行す
る演算手段とを備えたことを特徴とする。 【0006】 【作用】この発明によれば、縮小命令セットで記述され
た高速処理プログラムと高機能命令セットで記述された
低速処理プログラムとを、速度切替命令を境として記憶
手段に記憶しておくと、速度切替命令が読み出され実行
された時点から実行クロックが切替えられると共に、第
1及び第2の命令解読手段が切替えられる。この結果、
高速プログラム実行中には、高速の実行クロックに従っ
て縮小命令セットが読み出され、第1の命令解読手段か
らの第1制御信号に従って、演算手段がパイプライン処
理に基づく演算処理を実行する。また、速度切替命令に
よってプログラムが高速プログラムから低速プログラム
に切替えられると、低速の実行クロックに従って高機能
命令セットが読み出され、第2の命令解読手段からの第
2の制御信号に従って、演算手段が記憶手段からダイレ
クトにデータを取り込む演算処理を実行する。 【0007】実行クロックは、縮小命令セットの実行時
と高機能命令セットの実行時のそれぞれにおいて、最も
効率的に処理が行われるように、その速度を切替えるこ
とができるため、各プログラムの実行効率は十分に高め
られることになる。また、クロック及び命令セットの切
替は、プログラム中で行うことができるので、プログラ
マは自由なタイミングで容易に命令セットを切替えるこ
とができる。 【0008】従って、この発明によれば、例えば、分岐
が少なく高速性を必要とする処理については、縮小命令
セットで高速プログラムを記述しておき、分岐が多く高
速性を必要としない処理については、高機能命令セット
で低速プログラムを記述しておくというように、処理の
内容に応じて効率的なプログラミングと効率的な処理を
選択することができる。 【0009】 【実施例】以下、図面を参照して、この発明の実施例を
説明する。図1は、この発明の一実施例に係る演算処理
装置のブロック図である。主メモリ1には、縮小命令セ
ットで記述された高速プログラムと高機能命令セットで
記述された低速プログラムとが速度切替命令を境として
共存するプログラム、及びこのプログラムによって処理
されるデータが記憶されている。主メモリ1から読み出
される命令セットの読出しアドレスは、プログラムカウ
ンタ(PC)2からアドレスバス3を介して主メモリ1
に与えられる。主メモリ1から読み出された命令セット
は、データバス4を介して命令レジスタ(IR)5にフ
ェッチされる。命令レジスタ5にフェッチされた命令セ
ットは、選択回路6によってRISC用デコーダ7及び
マッピング部8のいずれか一方に供給される。いずれに
供給されるかは、R/Cレジスタ9に格納されたR/C
フラグの値により決定されるが、縮小命令セットはRI
SC用デコーダ7に、また高機能命令セットはマッピン
グ部8に供給される。 【0010】RISC用デコーダ7に縮小命令セットが
供給されると、デコーダ7は命令セットを解読して第1
の制御信号C1を出力する。一方、マッピング部8に高
機能命令セットが供給されると、マッピング部8は、供
給されたマクロ命令である高機能命令セットから対応す
るミクロ命令の先頭アドレスを出力する。この先頭アド
レスは、アドレス選択部10に供給され、ここでミクロ
命令指定のためのアドレスが順次生成される。このアド
レスはCISCデコーダ11に供給され、第2の制御信
号C2が生成される。RISCデコーダ7に低速切替命
令が供給されると、RISCデコーダ7は、R/Cレジ
スタ9のR/Cフラグを低速モードに書き換える。ま
た、CISCデコーダ11に高速切替命令が供給される
と、CISCデコーダ11は、R/Cレジスタ9のR/
Cフラグを高速モードに書き換える。 【0011】一方、主メモリ1から読み出されたデータ
は、データバス4を介してレジスタ(REGA,REG
B)12,13及び選択回路14,15の各一方の入力
端子に供給される。レジスタ12,13の出力は、選択
回路14,15の各他方の入力端子に供給される。選択
回路14,15は、R/Cフラグが低速モードに設定さ
れている場合には、主メモリ1からの直接出力を選択
し、R/Cフラグが高速モードに設定されている場合に
は、レジスタ12,13の出力を選択する。選択回路1
4,15の出力は、演算手段として例えば乗算器16に
入力される。乗算器16の出力は、レジスタ(REG
C)17に格納され、更にデータバス4を介して主メモ
リ1に書き込まれるようになっている。 【0012】このシステムの実行サイクルの基準となる
マスタークロックφは、選択回路18の一方の入力端に
供給されると共に、分周回路19を介して選択回路18
の他方の入力端に供給されている。選択回路18は、R
/Cフラグが低速モードに設定されている場合には、分
周回路19の出力を選択し、R/Cフラグが高速モード
に設定されている場合には、マスタークロックφをその
まま選択する。選択回路18の出力が実行サイクルを決
定する実行クロックφ′となり、各部に供給される。 【0013】次に、このシステムの動作について説明す
る。図2は、主メモリ1に記憶されるプログラムの一例
を概略的に示す図である。このプログラムは、低速プロ
グラム21、高速プログラム22、及び低速プログラム
23をこの順に配置させたものである。低速プログラム
21,23は、高機能命令セットによって記述され、高
速プログラム22は、縮小命令セットによって記述され
ている。低速プログラム21の最終行には、高機能命令
セットで高速切替命令が記述されている。また、高速プ
ログラム22の最終行には、縮小命令セットで低速切替
命令が記述されている。 【0014】図3は、これら命令セットのより具体的な
記述例を示したもので、メモリデータの乗算プログラム
を縮小命令セットと高機能命令セットでそれぞれ記述し
た例である。図3(a)に示すように、縮小命令セット
でメモリデータの乗算プログラムを記述すると、主メ
モリ1のアドレスAD1のデータをレジスタ(REG
A)12に格納するMOV命令、主メモリ1のアドレ
スAD2のデータをレジスタ(REGB)13に格納す
るMOV命令、REGA12とREGB13とを乗算
してレジスタ(REGC)17に格納するMULT命令
−の3つの命令セットを記述する必要がある。これに対
し、同図(b)に示すように、高機能命令セットでメモ
リデータの乗算プログラムを記述すると、主メモリ1の
アドレスAD1のデータと、主メモリ1のアドレスAD
2のデータとを乗算してREGC17に格納するMUL
T命令の1つで足りる。 【0015】いま、システムが低速モードに設定されて
いるとすると、実行クロックφ′は、マスタークロック
φをn分周した低速クロックとなる。なお、分周比1/
nについては、低速モードで最大の処理効率を上げられ
る値、例えば1/2に設定する。この低速クロックに従
って主メモリ1から各命令セットが命令レジスタ5にフ
ェッチされる。命令レジスタ5にフェッチされた命令セ
ットは、CISC用デコーダ11によってデコードされ
る。低速モードでは、乗算器16の入力に直接データバ
ス4上のデータを供給することができるので、選択回路
14,15はデータバス4側を選択する。この場合、乗
算器16には、2回に分けて主メモリ1のデータがセッ
トされることになる。低速プログラムの実行中に、高速
切替命令が与えられると、CISC用デコーダ11は、
R/Cレジスタ9のR/Cフラグを高速モードに切替え
る。 【0016】R/Cフラグが高速モードに切替えられる
と、実行クロックφ′はマスタークロックと同じ速度の
高速クロックとなり、選択回路6によりRISC用デコ
ーダ7がアクティブになる。従って、命令セットは、高
速で命令レジスタ5にフェッチされ、RISC用デコー
ダ7でデコードされる。なお、このモードでは、命令セ
ットのフェッチ、デコード、演算、メモリアクセス等の
各ステージがパイプライン化されることにより、高速化
が図られる。また、このモードでは、主メモリ1から乗
算器16にダイレクトにデータを供給することが速度的
に不可能であるため、選択回路14,15は、レジスタ
12,13側を選択し、主メモリ1からのデータは、一
旦レジスタ12,13に格納されることになる。レジス
タ12,13と乗算器16との間もパイプライン化され
ることにより、乗算のサイクルは1サイクルで足りるこ
とになる。 【0017】なお、以上のシステムでは、乗算器での乗
算処理を例にとって、この発明を説明したが、ALU
(算術論理ユニット)等、他の演算処理部においても同
様の切替動作が行われることはいうまでもない。 【0018】 【発明の効果】以上述べたように、この発明によれば、
速度切替命令を境として高速プログラムと低速プログラ
ムとを共存させ、高速プログラム実行中には、高速の実
行クロックに従ってパイプライン処理に基づく演算処理
が実行され、速度切替命令に従ってプログラムが高速プ
ログラムから低速プログラムに切替えられると、低速の
実行クロックに従って記憶手段からダイレクトにデータ
を取り込む演算処理を実行するので、処理の内容に応じ
て効率的なプログラミングと効率的な処理及び処理時間
を簡単に選択することができる。
成を示すブロック図である。 【図2】 同システムにおける主メモリに記憶されるプ
ログラムの例を示す図である。 【図3】 縮小命令セットと高機能命令セットによるメ
モリ乗算処理の記述例を示す図である。 【符号の説明】 1…主メモリ、2…プログラムカウンタ、3…アドレス
バス、4…データバス、5…命令レジスタ、6,14,
15,18…選択回路、7…RISC用デコーダ、8…
マッピング部、9…R/Cレジスタ、10…アドレス選
択部、11…CISC用デコーダ、12,13,17…
レジスタ、19…分周回路。
Claims (1)
- (57)【特許請求の範囲】 【請求項1】 細分化された実行ステップにより処理を
実行するための少数の単純な命令セットである縮小命令
セットで記述された高速処理プログラムと複数のミクロ
命令を生成するマクロ命令からなる高機能命令セットで
記述された低速処理プログラムとが速度切替命令を境と
して共存するプログラム及びこのプログラムによって処
理されるデータを記憶する記憶手段と、 この記憶手段から読み出された前記速度切替命令に従っ
て実行クロックの周波数を切替える実行クロック切替手
段と、 前記実行クロックに従って前記記憶手段から順次命令セ
ットを読み出す命令セット読出し手段と、 この命令セット読出し手段によって読み出された命令セ
ットのうち前記縮小命令セットを解読して第1の制御信
号を出力する第1の命令解読手段と、 前記命令セット読出し手段によって読み出された命令セ
ットのうち前記高機能命令セットを入力し入力された高
機能命令セットに対応するミクロ命令の先頭アドレスを
生成するマッピング部と、 このマッピング部で生成された先頭アドレスに基づいて
ミクロ命令指定のためのアドレスを順次生成するアドレ
ス選択部と、 このアドレス選択部で順次生成されたアドレスを入力し
て 第2の制御信号を出力する第2の命令解読手段と、 前記記憶手段から読み出された前記速度切替命令に従っ
て前記第1又は第2の命令解読手段から出力される前記
第1又は第2の制御信号に基づいて前記命令セット読出
し手段によって前記記憶手段から読み出された命令セッ
トを前記第1の命令解読手段に供給するか前記マッピン
グ部へ供給するかを切替える命令解読切替手段と、 前記第1の制御信号に従ってパイプライン処理に基づく
演算処理を実行すると共に、前記第2の制御信号に従っ
て前記記憶手段からダイレクトにデータを取り込む演算
処理を実行する演算手段とを備えたことを特徴とする演
算処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26464094A JP3511691B2 (ja) | 1994-10-04 | 1994-10-04 | 演算処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26464094A JP3511691B2 (ja) | 1994-10-04 | 1994-10-04 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08106383A JPH08106383A (ja) | 1996-04-23 |
JP3511691B2 true JP3511691B2 (ja) | 2004-03-29 |
Family
ID=17406167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26464094A Expired - Fee Related JP3511691B2 (ja) | 1994-10-04 | 1994-10-04 | 演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3511691B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2002088913A1 (ja) * | 2001-04-27 | 2004-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation | プロセッサの動作速度を制御するための方法および装置 |
JP3805314B2 (ja) | 2003-02-27 | 2006-08-02 | Necエレクトロニクス株式会社 | プロセッサ |
-
1994
- 1994-10-04 JP JP26464094A patent/JP3511691B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08106383A (ja) | 1996-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
JPH1091443A (ja) | 情報処理回路、マイクロコンピュータ及び電子機器 | |
US5041968A (en) | Reduced instruction set computer (RISC) type microprocessor executing instruction functions indicating data location for arithmetic operations and result location | |
US20050138327A1 (en) | VLIW digital signal processor for achieving improved binary translation | |
JP3781519B2 (ja) | プロセッサの命令制御機構 | |
US6012138A (en) | Dynamically variable length CPU pipeline for efficiently executing two instruction sets | |
JP4073721B2 (ja) | データ処理装置 | |
US5909588A (en) | Processor architecture with divisional signal in instruction decode for parallel storing of variable bit-width results in separate memory locations | |
JPH03233630A (ja) | 情報処理装置 | |
JP3511691B2 (ja) | 演算処理装置 | |
JP4800582B2 (ja) | 演算処理装置 | |
JP2538053B2 (ja) | 制御装置 | |
JP2752076B2 (ja) | プログラマブル・コントローラ | |
JPH0683615A (ja) | 命令セットエミュレーションを行う計算機 | |
US6502181B1 (en) | Method and apparatus for an enhanced processor | |
JP3570287B2 (ja) | マイクロコンピュータ | |
JPH1091430A (ja) | 命令解読装置 | |
JPH04104350A (ja) | マイクロプロセッサ | |
JP3019818B2 (ja) | データ処理方法 | |
JP2583506B2 (ja) | データ処理装置 | |
JP3729142B2 (ja) | 並列演算処理装置 | |
US6934728B2 (en) | Euclidean distance instructions | |
JP3147884B2 (ja) | 記憶装置及び情報処理装置 | |
JP2000029696A (ja) | プロセッサおよびパイプライン処理制御方法 | |
JP2000003279A (ja) | Vliwプロセッサ、プログラム生成装置、および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031229 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080116 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080116 Year of fee payment: 4 |
|
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: 20090116 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100116 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110116 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |