JPH06149563A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH06149563A
JPH06149563A JP4296002A JP29600292A JPH06149563A JP H06149563 A JPH06149563 A JP H06149563A JP 4296002 A JP4296002 A JP 4296002A JP 29600292 A JP29600292 A JP 29600292A JP H06149563 A JPH06149563 A JP H06149563A
Authority
JP
Japan
Prior art keywords
instruction
decoding
storage means
code
data
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
Application number
JP4296002A
Other languages
English (en)
Inventor
Motoaki Koyama
元昭 児山
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4296002A priority Critical patent/JPH06149563A/ja
Publication of JPH06149563A publication Critical patent/JPH06149563A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】従来のプログラム内蔵型のデータ処理装置より
処理能力が高く、開発期間が短く、フレキシビリティに
富み、汎用性を有し、開発コストを下げたデータ処理装
置を提供することを目的とする。 【構成】インストラクションデコーダにおけるデコード
方法を決定するための少なくとも1つのデコード用デー
タを保持する記憶回路を設けることによって、前記イン
ストラクションデコーダはインストラクションレジスタ
から入力される命令をデコードする際に、前記記憶回路
から前記データを取り込み、その少なくとも1つのデコ
ード用データに基づいてまたはその少なくとも1つのデ
コード用データと前記入力した命令に含まれるオペコー
ドとに基づいてデコード方法を決定する。前記記憶装置
の内容は、デコード用データの変更命令によって書き替
えるか、本システムの外部から書き替えるか、あるいは
予め固定される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、記憶装置に貯えられた
命令に従って動作するデータ処理装置に関する。
【0002】
【従来の技術】一般に、データ処理装置は布線論理で処
理を行う布線論理型装置と、予め処理内容すなわちプロ
グラムを記憶装置に貯えておき、そのプログラムに従っ
て処理を行うプログラム内蔵型装置の2つに大きく分け
られる。
【0003】布線論理型のデータ処理装置の中で集積回
路に関しては、製品毎に全て作り直すフルカスタムIC
と、IC製造工程の一部を標準品として用意することで
開発期間を前者より短くしたセミカスタムICがある。
これらのICは所望の処理に適した回路構成で並列処理
を行えるため高速処理性能が得られる。さらに、ある処
理を一定時間で実行すればよいときは、クロックを遅く
して消費電力を小さくできる。しかし、その半面、処理
内容を固定しているために異なった処理を実行させるこ
とはできず、その際は新たな開発つまり配線、タイミン
グ設計のし直しおよびICの製造が必要となる。
【0004】一方、プログラム内蔵型のデータ処理装置
の中で集積回路に関しては、MCU(Micro Control
ler Unit )や近年ディジタル信号処理の分野などで頻
繁に用いられてきているDSP(Digital Signal P
rocessor)などがある。MCUまたはDSPなどは、プ
ログラムを書き替えるだけで所望の処理を実行できるの
が大きな利点である。また、汎用性を有する量産品であ
るために低コストである。しかしそのように汎用性があ
る半面、処理において無駄な動作が発生しており、その
分処理速度が低下するのは避けられない。ここで、前記
各種集積回路の特質を前記各項目について表1に示す。
矢印の方向が望ましい方向を示す。
【0005】表1のように各特質の間にはトレードオフ
の関係が存在し、従って、アプリケーションの開発にお
いて前記各種集積回路のうちのいずれを採用するかを決
定するときに、それぞれの開発期間、フレキシビリテ
ィ、演算処理能力、コストについて総合的に評価するこ
とが重要である。
【0006】
【表1】
【0007】しかし、その際あまり選択の余地がないこ
とも少なくない。例えば、単位時間内に大量の演算が必
要な場合はカスタムICを採用せざるを得えない。従っ
て、この場合には高いコストが不可避となる。また、フ
レキシビリティあるいは低コストを必要とする場合はM
PUなどを採用することになり、演算処理能力がある程
度犠牲とならざるを得ない。すなわち、短期間かつ低コ
ストで、フレキシビリティに富み、複雑で大量の演算量
を必要としたアプリケーションを開発するのは困難であ
った。従って、前記評価点のいずれの観点からも十分に
要求を満たすICを開発、提供することは非常に重要な
ことである。
【0008】表1のいずれの項目においても中程度に位
置するDSPは、そのような視点から、用途あるいは分
野をある程度特定化した上で、フレキシビリティと比較
的高い処理能力との両方を同時に確保することを特徴と
したものである。
【0009】従来のDSPの中にはマイクロプログラム
方式を取るものがある。ユーザインターフェースとして
のプログラムコードは単一でもそれを複数マシンサイク
ルとして展開するマイクロプログラムROMを用意する
ことで、ユーザプログラムコードの互換性を保ち、かつ
複合命令を単一コードで表わせることでユーザによるプ
ログラムの保守性を保てるという利点や、命令体系を変
更する場合、マイクロコードを変更するだけで良いとい
う利点がある。しかし、この方式のものではマシンサイ
クル数が増加するために高速処理は困難であった。
【0010】また、水平プログラム型と呼ばれるタイプ
のDSPがある。この型のものは、内部にデータバスと
プログラムバスを有し、メモリの内容の積和演算を並列
処理して、高速処理が行えるようになっている。しか
し、命令セットは有限の命令群に分けられ、ハードウェ
アの制御線をデコードし易いように各命令にはプログラ
ムメモリデータビット幅の中の所定のビットフィールド
が固定的に割り付けられており、所望の並列動作機能が
当該DSPに含まれない場合は実際に存在する適当な命
令を逐次処理で実行して対処せざるを得ないので途端に
性能の低下が生じてしまう。さらに、所定の性能の確保
が必要な場合に、望まれる並列動作機能を含むように当
該DSPの仕様を若干変更して所望のDSPの開発を行
おうとしても、前記固定的に割り付けられたビットフィ
ールドの再設計の必要性のためにその開発は容易ではな
かった。
【0011】また、単一マシンサイクルでの全ハードウ
ェアの並列動作を可能にして性能を向上させることが考
えられるが、実際には常に全ハードウェア性能を並列動
作させることは少ないため、全命令ビット中で有効に使
われているビットは少なく、ハードウェアの無駄が大き
い。従って、このことを考慮し、ハードウェア的に並列
可能な全機能を一命令中に納めることをやめ、頻繁に用
いられる機能を適宜組み合わせて有限語長に納めること
が多い。この場合は積和演算以外の処理にとっては必ず
しも最適化がなされた構造ではなく、十分に性能が引き
出せていたとは言えない。
【0012】このように、DSPにおいても、開発期
間、フレキシビリティ、演算処理能力、コストのどの点
からもともに要求を満たすICを十分に提供していると
は言えないのが現状である。
【0013】
【発明が解決しようとする課題】この発明は、上記問題
を考慮してなされたもので、従来のプログラム内蔵型の
データ処理装置より処理能力が高く、開発期間が短く、
フレキシビリティに富み、汎用性を有し、開発コストを
下げたデータ処理装置を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明は、DSPにおい
ては同一のオペレーションコードを有する命令が連続し
て実行される傾向にあることに着目してなされたもので
ある。
【0015】本発明における課題解決のための第1の手
段は、命令列を格納するための第1の記憶手段と、次に
実行すべき命令が格納されている前記第1の記憶手段の
アドレスを示すためのアドレス指示手段と、前記アドレ
ス指示手段により前記第1の記憶手段から与えられる前
記命令を保持するための第2の記憶手段と、前記第2の
記憶手段に保持されている命令の復号方法に関連する復
号用コードを保持するための第3の記憶手段と、命令の
復号方法が固定されていない復号手段であって、前記第
3の記憶手段から復号用コードを入力し、その復号用コ
ードに基づいて復号方法を決定し、前記第2の記憶手段
から命令を入力し、前記命令を復号し、前記命令に関連
する制御信号を出力するための復号手段とを有すること
を特徴とする。
【0016】本発明における課題解決のための第2の手
段は、命令列を格納するための第1の記憶手段と、次に
実行すべき命令が格納されている前記第1の記憶手段の
アドレスを示すためのアドレス指示手段と、前記アドレ
ス指示手段により前記第1の記憶手段から与えられる前
記命令を保持するための第2の記憶手段と、前記第2の
記憶手段に保持されている命令の復号方法に関連する復
号用コードを保持するための第3の記憶手段と、命令の
復号方法が固定されていない復号手段であって、前記第
3の記憶手段から復号用コードを入力しおよび前記第2
の記憶手段から命令を入力し、その復号用コードと命令
自体とに基づいて復号方法を決定し、前記命令を復号
し、前記命令に関連する制御信号を出力するための復号
手段とを有することを特徴とする。
【0017】本発明における課題解決のための第3の手
段は、命令列を格納するための第1の記憶手段と、次に
実行すべき命令が格納されている前記第1の記憶手段の
アドレスを示すためのアドレス指示手段と、前記アドレ
ス指示手段により前記第1の記憶手段から与えられる前
記命令を保持するための第2の記憶手段と、前記第2の
記憶手段に保持されている命令の復号方法に関連する第
1および第2の復号用コードを保持するための第3の記
憶手段と、命令の復号方法が固定されていない復号手段
であって、前記第3の記憶手段から第1および第2の復
号用コードを入力し、それらの復号用コードに基づいて
復号方法を決定し、前記第2の記憶手段から命令を入力
し、前記命令を復号し、前記命令に関連する制御信号を
出力するための復号手段とを有することを特徴とするデ
ータ処理装置。
【0018】
【作用】本発明においては、インストラクションデコー
ダにおけるデコード方法を決定するための少なくとも1
つのデコード用データを保持する記憶回路を設けること
によって、前記インストラクションデコーダはインスト
ラクションレジスタから入力される命令をデコードする
際に、前記記憶回路から少なくとも1つのデコード用デ
ータを取り込み、その少なくとも1つのデコード用デー
タに基づいてまたはその少なくとも1つのデコード用デ
ータと前記入力した命令に含まれるオペコードとに基づ
いてデコード方法を変更する。
【0019】前記記憶装置の内容を変えることで、各ビ
ットフィールドとハードウェアの制御線を自由に組み替
えることにより、単一命令中に並列制御できる機能ブロ
ック種の組み合わせを自由に変えることができる。従っ
て、従来よりも大きな汎用性、フレキシビリティー、高
速性、さらに設計変更の容易性を与える。前記記憶装置
の内容は、デコード用データの変更命令によって書き替
えるか、本システムの外部から書き替えるか、あるいは
予め固定される。
【0020】命令をオペランドのみにより構成し、オペ
コードを前記記憶装置に保持させ、オペコードが変わる
ときのみオペコード変更命令を実行させるように構成す
ると、従来のオペコードとオペランドとからなる命令を
用いた構成に比べて、メモリの容量を小さくでき、コス
トダウンおよびチップサイズの小形化による高速化が可
能となる。
【0021】また、予め複数の命令セットを用意してお
き、その命令セットの番号に前記デコード用データのう
ちの1つのデータを対応させ、そのデータを設定するこ
とにより、前記複数の命令セットのうちいずれかの命令
セットを用いるかを適宜設定するように構成すれば、ア
プリケーションにより適宜命令セットを選択できる。
【0022】
【実施例】以下本発明における実施例を図面を参照しな
がら説明する。なお、説明の簡潔化のためにそれぞれ同
一部分については同一符号を付して説明を省略する。ま
た、以下の説明においては、命令という語句はいわゆる
実行の単位であるインストラクションを示し、前記命令
中に含まれ並列処理される個々の命令のことは制御とい
う。
【0023】図1は本発明に係るデータ処理装置の第1
の実施例の構成を示すブロック図である。インストラク
ションメモリ(以下IMEMという)4には、命令の列
からなるプログラムが記憶されている。
【0024】まず、このIMEM4に格納される命令の
構成を説明する。従来の命令は図2の命令70のように
命令の種類を判別するためのオペコードとそのオペコー
ドで示された操作を施す対象を指定するオペランドとか
ら構成されるが、DSPでのプログラムの実行において
は同じオペコードの命令が連続して実行される傾向にあ
り、その連続する同一オペコードの情報としての冗長性
に着目し、本発明の第1の実施例では、命令を図2の命
令72のようにオペランドのみより構成し、分離された
オペコードは、図1の記憶装置20に格納し、次に実行
すべき命令のオペコードが変わるときのみ、その情報を
与え、前記記憶装置20のデータを更新する構成を導入
した。
【0025】図3に本実施例における3つ命令例を示
す。図3の命令中のオペランドは各被制御部に対する制
御を指定する。A体系の命令74は即値IDをメモリに
転送する制御(DST)であり、B体系の命令76はA
LU(Arithmetic Logic
【0026】Unit )動作制御、AAU(データメモリ
アドレッシング)動作制御、DPR(Data Pipeline
Register )0、DPR1へのデータ転送制御DT1、
ACCからDT2フィールドで指定されるレジスタメモ
リへのデータ転送DT2を同時に指定する命令であり、
C体系の命令78はシーケンス制御(サブルーチンコー
ル等)SQM、前記AAU、汎用バス転送DT2を同時
に指定する命令である。
【0027】なお、この他のフィールドの組み合わせも
可能である。また、上記A,B,Cの3通りより多い命
令体系でも少ない命令体系でも差し支えない。さらに、
シーケンス制御(リターン等)RTM、パラレル入出力
制御PIO(Parallel Inputand Output )などの他
の制御を適宜組み込んでもよいし、命令ビットに空きが
あっても差し支えない。また、命令長はまったく任意で
ある。
【0028】さらに、オペコードを分離し記憶装置20
に格納する構造を用いるために、前記命令セットに加え
て以下のようなオペコード変更命令を導入した。オペコ
ード変更命令は前記記憶装置20にセットされているデ
ータすなわちオペコードをある体系に対応するデータか
ら他の体系に対応するデータに変更するための命令であ
る。例えば、図4に示すインストラクションメモリマッ
プ24aのように、A体系の命令60aがいくつか連続
して実行され、次にB体系の命令60bがいくつか連続
して実行され、最後にC体系の命令60cがいくつか連
続して実行されるとする。A体系の命令に対応するオペ
コードは最初のA体系の命令の実行直前に前記記憶装置
20にセットされ以後保持される。オペコード変更命令
X56aは、前記記憶装置20にセットされているデー
タすなわちオペコードをB体系の命令に対応するデ−タ
に書き替えるために、前記連続するA体系の最後の命令
と連続するB体系の最初の命令との間に挿入される。オ
ペコード変更命令Y56bも同様に、前記記憶装置20
にセットされているデータすなわちオペコードをC体系
の命令に対応するデ−タに書き替える。なお、プログラ
ムにおいて一番始めに実行される命令に対するオペコー
ドの設定に関しては、前記記憶装置20の初期値を固定
してもよいし、初期値設定用の命令をさらに導入しても
よいし、また前記オペコード変更命令を共用してもよ
い。
【0029】次に、図1の構成および動作について説明
する。アドレスレジスタ2は、前記IMEM4に記憶さ
れているプログラムに関し、次に実行すべき命令が格納
されているアドレスを指し示す。インストラクションレ
ジスタ(以下IREGという)6は、アドレスレジスタ
2によってアドレスを指定されるIMEM4の出力デー
タつまり次に実行すべき(前述のようなオペランドのみ
の)命令あるいは前記オペコード変更命令のいずれかを
貯える。インストラクションデコーダ(以下IDECと
いう)8aは、前記IREG6よりデコードすべき前記
命令を入力し、所定のデコード方法で前記命令をデコー
ドする。ここで、前記IDEC8a自体には、命令のデ
コード方法が固定されておらず、前述した記憶装置20
に保持されているデコード用データつまりオペコード2
2を入力し、そのデータに基づいてデコード方法を決定
する。例えば、命令を構成するビットの所定の位置(つ
まりオペランド)と、ハードウェアの制御線との割り付
けの対応を前記デコード用データにより所定のパターン
に切替えらる交換装置を用いて行う構成を取ってもよ
い。そして、前記決定したデコード方法で前記入力した
命令をデコードし、その命令に関連する被制御部10へ
の制御信号12を出力する。例えば、記憶装置20から
与えられたデータが、当該オペランドはC体系の命令で
あることを示しているときは、前記SQM、AAU、D
T2の3つの制御に対する各被制御部にそれぞれ制御信
号を出力する。
【0030】ここで、前記IDEC8aが前記入力され
た命令はオペコード変更命令であることを前記命令のフ
ラグなどにより検出した場合、前記IDEC8aは書き
込み装置23に対する制御線に制御信号14を出力し、
前記書き込み装置23を動作させ、前記記憶装置20に
記憶されているデータつまりオペコードを書き替えさせ
る。例えば、前記オペコード変更命令が図4のペコード
変更命令X56aであるとき、前記記憶装置20に記憶
されているデータつまりオペコードをB体系の命令に対
応するデータに変更する。以後、IDEC8aに入力さ
れる命令はB体系の命令であると認識されてデコードさ
れる。
【0031】このように構成すると、従来の図2の命令
70を用いた構成に比べて、同じ命令体系で図3の命令
72のような構成をとった場合、IMEMのビット幅が
従来のオペコードのビット幅分だけ少なくてすむ。以上
のような実施例のデータ処理装置では、IMEMのビッ
ト幅を小さくしたためメモリ総ビット数を減らすことが
できる。従来の命令においてオペコードのビットの占め
る割合が高いほど、また、IMEM4に格納する命令数
が多いほど、メモリ削減の効果は大きい。まず、メモリ
の容量を小さくできると、コストダウンが可能となる。
次に、それによってチップサイズが小さくなるので、ク
ロックを早くすることができ、処理の高速化が可能とな
る。また、メモリの容量が同じである場合には、従来の
オペコードに割り当てられていたビットフィールドに新
たに他のオペランドを追加できるので、従来よりも並列
実行できる命令の数が増し、設計の自由度の向上および
高機能を与える。
【0032】また、従来のようにハードウェアの制御線
をデコードし易いように各命令のデータビットの中の所
定のビットフィールドに固定的に割り付けるのではな
く、前記記憶装置20の内容を変えることで、各ビット
フィールドとハードウェアの制御線を自由に組み替える
ことができるので、単一命令中に並列制御できる機能ブ
ロック種の組み合わせを自由に変えることができ、従来
よりも大きなフレキシビリティーを与える。
【0033】また、従来は、並列処理できる命令のすべ
ての組み合わせを実行できる命令を用意することは難し
く、従って、並列処理させたいすべての命令を含む命令
が用意されていないことも多く、例えば、AとCの機能
を実現させたいとき、AとBを並列処理できる命令と、
AとCを並列処理できる命令との2つしか予め用意され
ていない場合に前記2つの命令の順次処理が必要であっ
たことと比較すると、同じ命令ビット長で並列処理可能
で且つ並列処理させたい機能を同一命令令中で行えるの
で高速処理が行える。特にループ処理中で同一命令を繰
り返し用いる場合、回数が大きいほど効果が大きい。
【0034】さらに、システムを開発する際に、効率的
な命令ビット構成を持つ命令を容易に選択/追加するこ
とができ、加えてあるアプリケーションでは並列処理を
行わせる必要のない機能の組み合わせを持つ命令構成を
除くことで、無駄な命令セットを除去でき、また、必要
な命令種が少ないアプリケーション用にはIMEMの容
量を小さくすることが可能である。当然、システムのマ
イナーチェンジも容易である。次に、本発明における第
2の実施例について説明する。図5は本発明の第2の実
施例の構成を示すブロック図である。
【0035】構成図は図1と同様であり、IDEC8b
以外のブロックの動作も図1と同様であるので、同一部
分については同一符号を付して説明を簡略化し、IDE
C8bに関する動作および命令構成のみ説明する。
【0036】図6は本発明の第2の実施例における命令
のビット構成例である。ここでは、記憶装置20に保持
されるデータをOPREGとする。図6で示される命令
構成ではOPREGの値によって命令系が3つに分かれ
る。もちろん、2つでも、3つ以上でも差し支えない。
OPREG=1および2のときの命令82aおよび命令
82bは図3と同様にオペコードのないオペランドのみ
の構成であり、前記OPREGの値がオペコードを与え
る。一方、OPREG=0のときはオペコード1〜オペ
コード4の4種類のオペコードを持つ命令80a、命令
80b、命令80cおよび命令80dからなる従来と同
様の命令体系となる。つまり、前記OPREGの値に
は、命令がオペランドのみからなるか、オペコードおよ
びオペランドからなるかを示す情報が含まれており、O
PREG=1および2のときは、さらにデコード方法を
示す情報が含まれている。
【0037】このような命令を用いて、例えば、図7に
示すインストラクションメモリマップ24bのようなプ
ログラムが組まれる。ここで、D体系の命令62aが連
続して実行され、次にF体系の命令62bが連続して実
行され、最後にE体系の命令62cが連続して実行され
るとする。D体系の命令に対応するオペコードは最初の
D体系の命令の実行直前に前記記憶装置20にセットさ
れ、以後D体系の命令が連続する間保持される。オペコ
ード変更命令U58aは、前記記憶装置20にセットさ
れているデータすなわちオペコードをF体系の命令に対
応するデ−タに書き替えるために、前記連続するD体系
の最後の命令と連続するF体系の最初の命令との間に挿
入される。オペコード変更命令V58bも同様に、前記
記憶装置20にセットされているデータすなわちオペコ
ードをE体系の命令に対応するデ−タに書き替える。
【0038】つぎに、IDEC8bを以下のように動作
させる。IDEC8bは、IREG6よりデコードすべ
き命令を入力し、所定のデコード方法で前記命令をデコ
ードする。ここで、前記IDEC8aは、前述した記憶
装置20に保持されているデコード用データ22を入力
し、そのデータすなわちOPREGの値に基づいてデコ
ード方法を決定する。OPREG=1の場合は、そのO
PREGの値“1“に対応するデコード方法でつまりD
体系の命令としてデコードする。オペコード変更命令U
によりOPREG=0となった場合は、以後オペコード
が変更されるまで前記入力した命令はオペコードを有す
ることを示しており、その命令に含まれるオペコード例
えば命令80aではオペコード1によりデコードする。
オペコード変更命令UによりOPREG=2となった場
合は、同様にE体系の命令としてデコードする。そし
て、関連する制御信号を出力する。
【0039】上記構成をとると次のような利点がある。
すべてオペランドのみの命令で構成した場合に同一オペ
コードが連続せずに入れ替わるときはかえってオペコー
ド変更命令の実行分むだが生ずることになるので、その
ような入れ替わることが避けられない場合は、連続実行
する確率の高い命令には、命令82aあるいは命令82
bのようにオペランドのみよりなる命令を割り当て、オ
ペコード分の余分ビットのない構成を取り、また、連続
実行する確率が低く頻繁にオペコードが入れ替わる確率
の高い命令には、命令80a〜80dのようにオペコー
ドおよびオペランドからなる命令を割り当てることによ
り、それ自身が持つオペコードによってデコードする。
これによって、むだなオペコード変更命令の発生を回避
することができ、さらなる高速化ができる。
【0040】もちろん、OPREGの割り当てを0と1
の他に00と11等、異なる符号化方法で符号化しても
よい。また、オペコードの数も上記は4種類であるが、
それ以上でもそれ以下でも差し支えない。オペコード1
として1ビット0を、オペコード2に対して3ビット1
10を、オペコード3に対して2ビット10を、オペコ
ード4に対して3ビット111のようにハフマン符号な
どの可変長のコードを付与してもよいし、同じ4種類に
対して00、01、10、11の様に等しく2ビットの
バイナリコードを与えてもよい。また、並列同時制御す
る組み合わせ、命令のビット長も適宜選択可能である。
【0041】図8は、本発明の第3の実施例の構成を示
すブロック図である。アドレスレジスタ2、IMEM
4、IREG6については図1および5と同様であり、
同一符号を付して説明を簡略化する。
【0042】本実施例では、IDEC8cのデコード方
法を決定するデータ22をプログラムでは変更できなく
し、記憶装置30に固定する。データの固定方法15と
しては、ROMによる書き込みやジャンパ線、ディップ
スイッチによる固定、半導体集積回路のアルミ配線、P
LD等いずれの方法でも可能である。
【0043】まず、予め図9に示すような、図6と同様
にオペコードを有する4つの命令群80a〜dおよび全
並列可能機能ブロック制御フィールドをそなえた命令8
4を構成しておく。
【0044】つぎに、IDEC8cを以下のように動作
させる。IDEC8cは、IREG6よりデコードすべ
き命令を入力し、所定のデコード方法で前記命令をデコ
ードする。ここで、前記IDEC8cは、前述した記憶
装置30に保持されているデコード用データ22を入力
し、そのデータすなわちOPREGの値に基づいてデコ
ード方法を決定する。OPREG=0である場合は、前
記入力した命令はオペコードを有することを示してお
り、そのオペコード例えば命令80aではオペコード1
によりデコードする。OPREG=1の場合は、そのO
PREGの値“1“に対応するデコード方法でデコード
する。そして、関連する制御信号を出力する。
【0045】上記構成を取ると、使用する際にOPRE
Gの値を固定することによって、従来と同様のすべての
命令がオペコードを有するシステムあるいは全並列可能
機能ブロック制御フィールドをそなえた命令のシステム
のいずれかとして使用することができる。
【0046】前記記憶装置20のデータつまりOPRE
Gは、使用者の都合に応じて適宜設定、変更できるよう
にしてもよい。例えば、IMEMアドレス空間が許容容
量の範囲内に収まる場合は命令84を用いることがで
き、データ処理能力は大きくなるので有効である。ま
た、メーカーの方が出荷前に設定してもよい。この場
合、1種のICを複数種類の製品として販売することが
できるので、コストなどの面から有利である。
【0047】また、データ処理装置の中でIMEMの語
長と、記憶装置の内容を変えるだけで、所望の並列可能
フィールドの組み合わせと、命令体系の組み合わせを作
れるため、異なったアプリケーションに適した同時並列
処理可能フィールドの組み合わせのデータ処理装置を短
い開発期間で製造できるという利点がある。
【0048】上記記憶装置20の実現方法としては、R
OM(Read Only Memory )、E2 PROM(Elect
rical Erasable Programmable ROM)、PLD(P
rogrammable Logic Device )、半導体集積回路にお
けるアルミ配線によるデータ記述等で実現可能である。
【0049】本発明のおける第4の実施例は、IDEC
と記憶装置以外の部分は第1または第2の実施例と同一
構成、同一動作であり説明を省略する。本実施例におい
ては前記IDECのデコード用データを保持する記憶装
置に第1のデータおよび第2のデータを持たせる。ここ
では、前記IDECは前記記憶装置の第1のデータおよ
び第2のデータを基にデコード方法を決定する。そし
て、そのデコード方法によってIREGより入力した命
令をデコードし、関連する制御信号を出力する。前記第
1のデータは前述したいずれかの実施例のようにデコー
ド方法を決定するためのデータとして用いる。さらに、
それに対応する命令セットを複数用意し、前記第2のデ
ータが複数用意された命令セットのうちどの命令セット
を用いるかを指定するように構成してもよい。前記記憶
装置の第2のデータは、アプリケーションに応じて使用
者がダイナミックに用いてもよいし、適宜設定、変更で
きるようにしてもよい。また、メーカーの方が出荷前に
設定してもよい。この場合、1種のICを複数種類の製
品として販売することができるので、コストなどの面か
ら有利である。
【0050】また、データ処理装置の中でIMEMの語
長と、記憶装置の内容を変えるだけで、所望の並列可能
フィールドの組み合わせと、命令体系の組み合わせを作
れるため、異なったアプリケーションに適した同時並列
処理可能フィールドの組み合わせのデータ処理装置を短
い開発期間で製造できるという利点がある。
【0051】上記記憶装置の第2のデータを予め固定す
る場合は、ROM(Read Only Memory )、E2 PR
OM(Electrical Erasable Programmable RO
M)、PLD(Programmable Logic Derice )、半
導体集積回路におけるアルミ配線によるデータ記述等で
実現可能である。図10は、本発明の第5の実施例の構
成を示すブロック図である。図1と同一部分については
同一符号を付し説明を省略する。
【0052】この装置においては、IMEM4のインス
トラクションメモリマップは、例えば図12のインスト
ラクションメモリマップ24cのように構成する。つま
り、アドレスレジスタ2のビット構成68aの上位2ビ
ットによって命令の体系が識別されるように、ジャンプ
命令を用いて各命令が配置される。図12では前記アド
レスの上位ビットが00のエリアがG体系の命令64a
に対応し、上位ビットが01、10、11のエリアがそ
れぞれH、I、J体系の命令64a、b、cに対応す
る。
【0053】記憶装置21はアドレスレジスタの上位ビ
ットをアドレスとするメモリ空間を有しており、前記ア
ドレスレジスタの上位ビットにより示された記憶装置2
1のアドレスに記憶されているデコード用データがID
EC8dに与えられる。前記IDEC8dはそのデコー
ド用データによってデコード方法を決定し、IREG6
より入力した命令をデコードし、関連する制御信号を出
力する。
【0054】このような構成とすると前記4種の命令体
系をOPCODE変換命令を使う代わりに、ページ間の
ジャンプ命令で代用できるという利点がある。なお、記
憶装置へのビット割り当てを命令系により可変長にし
て、各命令系へのメモリマップ割り当てを均等ではなく
適宜容量を設定してもよい。
【0055】図11は、本発明の第6の実施例の構成を
示すブロック図である。図10と同一部分については同
一符号を付し説明を省略する。この装置においても、I
MEM4のインストラクションメモリマップは図12の
インストラクションメモリマップ24cのような構成に
する。つまり、IMEM4のアドレス68bの上位2ビ
ットによって命令の体系が識別されるように、ジャンプ
命令を用いて各命令が配置される。図12では前記アド
レスの上位ビットが00のエリアがG体系の命令64a
に対応し、上位ビットが01、10、11のエリアがそ
れぞれH、I、J体系の命令64a、b、cに対応す
る。
【0056】ここで、アドレスレジスタはIDEC8e
のためのデコード用データの記憶装置としての部分を兼
ねた構成となっている。そして、アドレスレジスタの上
位ビットのデータが直接IDEC8dに与えられる。前
記IDEC8dはそのデコード用データによってデコー
ド方法を決定し、IREG6より入力した命令をデコー
ドし、関連する制御信号を出力する。このような構成に
しても前記4種の命令体系をオペコード変換命令を使う
代わりに、ページ間のジャンプ命令で代用できるという
利点がある。なお、記憶装置へのビット割り当てを命令
系により可変長にして、各命令系へのメモリマップ割り
当てを均等ではなく適宜容量を設定してもよい。
【0057】図13に、本発明に係るインストラクショ
ンデコーダ(以下デコード回路という)の第1の実施例
の構成を示す。デコード回路16は、復号すべき命令を
構成するオペランドを入力する端子と、各被制御部に対
する制御に関連する回路に連結する出力端子と、記憶装
置20に保持されている復号用データおよび復号すべき
命令がオペコードを含むときはそのオペコードも用いて
決定されたパターンに従って各入力端子と各出力端子と
を連結する交換装置とを用いたビットフィールド位置交
換素子として構成してもよい。
【0058】次に、前記デコード回路16の動作を以下
に示す。まず、前記デコード回路16は記憶装置20か
ら復号用データを入力し、IREG6に保持されている
命令がオペコードを含んでいるかいないかが分かる。前
記命令がオペコードを含んでいる場合はそのオペコード
17により、含んでいない場合は前記復号用データ22
により、前記入力端子の交換パターンを決定する。その
交換パターンにより各オペランドは次のように出力端子
に導かれる。すなわち、前記命令における第1のオペラ
ンド18a〜dがそれぞれ第1〜第4被制御部に対する
制御に関連する場合、前記第1のオペランド18aは第
1の制御信号に関連する出力端子19aに、第2〜第4
のオペランド18b〜dはそれぞれ第2〜第4の制御信
号に関連する出力端子19b〜dに出力される。また、
そのときに使用されなかった4つの端子19b、c、
g、hには無印信号を出力させる。命令におけるフィー
ルドビットはそれぞれ等しい幅でなくてもよい。また、
フィールドビットがすべて等しい幅の構成の場合は回路
が簡単になる利点がある。さらに、信号線はそれぞれ1
本で示されているが、複数本の制御線群でも差し支えな
い。
【0059】次に、図14に本発明におけるデコード回
路の第2の実施例の構成を示す。これは、m種の制御群
28のうちからn種の制御群26を選択してIMEMビ
ットフィールドに組み込みフィールドアロケーション回
路を用いて構成されたものである。n種の入力IN
(1)〜IN(n)26は、それぞれの信号線と接点を
有する出力OUT(1)〜OUT(m)28のいずれか
の信号線に伝えられ、出力される。図14では、IN
(x),OUT(y)の信号線はそれぞれ1本で示され
ているが、複数本の制御線群でも差し支えない。図14
の構成はPLD等で集積化してもよい。
【0060】図15は、本発明に係る装置をIC化する
場合の構成例を示す図である。IMEM4、記憶装置2
0の内容を本データ処理装置の外から書き替えられる構
成となっている。それぞれの枠94、96、98は、半
導体集積回路で同一チップに載せる場合を示す。枠94
の範囲すなわちIREJ6およびIDEC8fを同一チ
ップに載せて、アプリケーションによってIMEM4の
メモリ空間のみ変更してもよい。また、枠96の範囲を
同一チップに載せて、アプリケーションによって記憶装
置をROMによる書き込みやジャンパ線、ディップスイ
ッチによる固定、半導体集積回路のアルミ配線、PLD
等のいずれかの方法を選択してもよい。さらに、枠98
の範囲を同一チップに載せて、アプリケーションによっ
て、IMEM4、記憶装置20を命令セットで変更して
もよい。この場合、例えば浮動小数点体系の命令セット
と固定小数点体系の命令セットのように、互いに排他的
な命令セットでのアプリケーションでは、各々、不必要
なデコーダフィールドを命令中に持たせなくてもよく、
IMEMのビットを有効に利用できる利点がある。な
お、本発明は上述した各実施例に限定されるものではな
く、その要旨を逸脱しない範囲で、種々変形して実施す
ることができる。
【0061】
【発明の効果】本発明においては、インストラクション
デコーダはインストラクションレジスタから入力される
命令をデコードする際に、記憶回路から少なくとも1つ
のデコード用データを取り込み、そのデコード用データ
によってデコード方法を決定する。前記記憶装置の内容
は、デコード用データの変更命令によって書き替える
か、本システムの外部から書き替えるか、あるいは予め
固定される。このように構成した場合次のような効果が
ある。
【0062】まず、前記記憶装置の内容を変えること
で、各ビットフィールドとハードウェアの制御線を自由
に組み替えることにより、単一命令中に並列制御できる
機能ブロック種の組み合わせを自由に変えることができ
るので、従来よりも大きな汎用性、フレキシビリティ
ー、高速性、さらに設計変更の容易性を与える。
【0063】次に、命令をオペランドのみにより構成
し、オペコードを前記記憶装置に保持させ、オペコード
が変わるときのみオペコード変更命令を実行させるよう
に構成すると従来のオペコードとオペランドとからなる
命令を用いた構成に比べて、メモリの容量を小さくで
き、コストダウンが可能となり、また、それによってチ
ップサイズが小さくなるので、クロックを早くすること
ができ、処理の高速化が可能となる。
【0064】加えて、予め複数の命令セットを用意して
おき、その命令セットの番号に前記デコード用データの
うちの1つのデータを対応させ、そのデータを設定する
ことにより、前記複数の命令セットのうちいずれかの命
令セットを用いるかを適宜設定するように構成すれば、
アプリケーションにより使用者が命令セットを選択でき
る高機能なICを提供することができ、メーカーが前記
データを出荷前に設定すれば、同一のICを多種のIC
として提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の構成を示すブロック図
である。
【図2】2つの型の命令のビット構成を比較した図であ
る。
【図3】図1の装置における命令のビット構成例を示す
図である。
【図4】図1の装置におけるインストラクションメモリ
マップ例を示す図である。
【図5】本発明の第2の実施例の構成を示すブロック図
である。
【図6】図5の装置における命令のビット構成例を示す
図である。
【図7】図5の装置におけるインストラクションメモリ
マップ例を示す図である。
【図8】本発明の第3の実施例の構成を示すブロック図
である。
【図9】図8の装置における命令のビット構成例を示す
図である。
【図10】本発明の第5の実施例の構成を示すブロック
図である。
【図11】本発明の第6の実施例の構成を示すブロック
図である。
【図12】図10および図11の装置におけるインスト
ラクションメモリマップ例を示す図である。
【図13】本発明におけるデコード回路の第1の実施例
の構成を示す図である。
【図14】本発明におけるデコード回路の第2の実施例
の構成を示す図である。
【図15】本発明に係る装置をIC化する場合の構成例
を示す図である。
【符号の説明】
2…アドレスレジスタ、4…インストラクションメモ
リ、6…インストラクションレジスタ、8a〜8f…イ
ンストラクションデコーダ、10…被制御部、12…制
御信号群、14…制御信号、15…データ書き込み、1
6…デコード回路、17…命令中のオペコード、18a
〜h…命令中の第1のオペランド〜オペランド4、19
a〜h…各被制御部への第1の制御信号〜第8の制御信
号、20、21…記憶装置、22…デコード用データ、
23…書き込み装置、24a〜24c…インストラクシ
ョンメモリマップ、26…入力IN(1)〜IN
(n)、28…出力OUT(1)〜OUT(m)、30
…記憶装置、56a…オペコード変更命令X、56b…
オペコード変更命令Y、58a…オペコード変更命令
U、58b…オペコード変更命令V、60a…A体系の
命令の列、60b…B体系の命令の列、60c…C体系
の命令の列、62a…D体系の命令の列、62b…E体
系の命令の列、62c…F体系の命令の列、64a…G
体系の命令の列、64b…H体系の命令の列、64c…
I体系の命令の列、64d…J体系の命令の列、68
a,68b…アドレスデータのビット構成、70…第1
の型の命令のビット構成、72…第2の型の命令のビッ
ト構成、74…A体系の命令のビット構成、76…B体
系の命令のビット構成、78…C体系の命令のビット構
成、80a…F体系のうちの第1の命令のビット構成、
80b…F体系のうちの第2の命令のビット構成、80
c…F体系のうちの第3の命令のビット構成、80d…
F体系のうちの第4の命令のビット構成、82a…D体
系の命令のビット構成、82b…E体系の命令のビット
構成、84…第7の命令のビット構成、94…第1の型
の同一構成範囲、96…第2の型の同一構成範囲、98
…第3の型の同一構成範囲。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】命令列を格納するための第1の記憶手段
    と、 次に実行すべき命令が格納されている前記第1の記憶手
    段のアドレスを示すためのアドレス指示手段と、 前記アドレス指示手段により前記第1の記憶手段から与
    えられる前記命令を保持するための第2の記憶手段と、 前記第2の記憶手段に保持されている命令の復号方法に
    関連する復号用コードを保持するための第3の記憶手段
    と、 命令の復号方法が固定されていない復号手段であって、
    前記第3の記憶手段から復号用コードを入力し、その復
    号用コードに基づいて復号方法を決定し、前記第2の記
    憶手段から命令を入力し、前記命令を復号し、前記命令
    に関連する制御信号を出力するための復号手段とを有す
    ることを特徴とするデータ処理装置。
  2. 【請求項2】命令列を格納するための第1の記憶手段
    と、 次に実行すべき命令が格納されている前記第1の記憶手
    段のアドレスを示すためのアドレス指示手段と、 前記アドレス指示手段により前記第1の記憶手段から与
    えられる前記命令を保持するための第2の記憶手段と、 前記第2の記憶手段に保持されている命令の復号方法に
    関連する復号用コードを保持するための第3の記憶手段
    と、 命令の復号方法が固定されていない復号手段であって、
    前記第3の記憶手段から復号用コードを入力しおよび前
    記第2の記憶手段から命令を入力し、その復号用コード
    と命令自体とに基づいて復号方法を決定し、前記命令を
    復号し、前記命令に関連する制御信号を出力するための
    復号手段とを有することを特徴とするデータ処理装置。
  3. 【請求項3】前記命令列は前記復号用コードを書き替え
    るための書替命令を含み、前記装置は、前記書替命令に
    応答して前記復号用コードを書き替えるための書替手段
    をさらに有することを特徴とする請求項1または2に記
    載の装置。
  4. 【請求項4】前記命令列の各命令はオペランドのみより
    なり、前記復号用コードは前記オペランドのみよりなる
    命令に関連する命令コードであり、 前記命令列は前記復号用コードを書き替えるための書替
    命令を含み、前記装置は、前記書替命令に応答して前記
    命令コードを書き替えるための書替手段をさらに有する
    ことを特徴とする請求項1に記載の装置。
  5. 【請求項5】前記命令列の各命令はそれぞれオペランド
    のみよりなる命令または命令コードおよびオペランドよ
    りなる命令のいずれかよりなり、 前記命令列は前記復号用コードを書き替えるための書替
    命令を含み、前記装置は、前記書替命令に応答して前記
    復号用コードを書き替えるための書替手段をさらに有
    し、 前記復号用コードは、関連する命令がオペランドのみよ
    りなる命令であるかまたはオペランドおよび命令コード
    よりなる命令であるかを示す情報を含み、前記復号手段
    は、前記命令がオペランドのみよりなる命令である場合
    に前記復号用コードのみに基づいて復号方法を決定し、
    前記命令がオペランドおよび命令コードよりなる命令で
    ある場合に前記復号用コードと前記命令コードとに基づ
    いて復号方法を決定することを特徴とする請求項2に記
    載のデータ処理装置。
  6. 【請求項6】前記アドレス指示手段が保持するアドレス
    データのうちの所定部分のデータに応答して前記命令コ
    ードを逐次あるいは変更があるときのみ書き替えるため
    の書替手段をさらに有することを特徴とする請求項1ま
    たは2に記載の装置。
  7. 【請求項7】前記復号用コードは前記装置の外部から設
    定されることを特徴とする請求項1または2に記載の装
    置。
  8. 【請求項8】前記第3の記憶手段は読み出し専用の記憶
    手段であって、前記復号用コードは予め選択されたデー
    タに固定されることを特徴とする請求項2に記載の装
    置。
  9. 【請求項9】前記第3の記憶手段は再書き込みが可能な
    読み出し専用の記憶手段であって、前記復号用コードは
    予め選択されたデータに固定され、さらに随時前記固定
    された復号用コードは変更および再固定されることを特
    徴とする請求項2に記載の装置。
  10. 【請求項10】前記復号手段は前記第3の記憶手段から
    前記復号用データを入力する代わりに、前記アドレスデ
    ータのうちの所定部分のデータを復号用データとして入
    力し、前記復号方法を決定することを特徴とする請求項
    1または2に記載の装置。
  11. 【請求項11】命令列を格納するための第1の記憶手段
    と、 次に実行すべき命令が格納されている前記第1の記憶手
    段のアドレスを示すためのアドレス指示手段と、 前記アドレス指示手段により前記第1の記憶手段から与
    えられる前記命令を保持するための第2の記憶手段と、 前記第2の記憶手段に保持されている命令の復号方法に
    関連する第1および第2の復号用コードを保持するため
    の第3の記憶手段と、 命令の復号方法が固定されていない復号手段であって、
    前記第3の記憶手段から第1および第2の復号用コード
    を入力し、それらの復号用コードに基づいて復号方法を
    決定し、前記第2の記憶手段から命令を入力し、前記命
    令を復号し、前記命令に関連する制御信号を出力するた
    めの復号手段とを有することを特徴とするデータ処理装
    置。
  12. 【請求項12】前記命令列は、前記第1の復号用コード
    を書き替えるための書替命令を含み、前記装置は、前記
    書替命令に応答して前記復号用コードを書き替えるため
    の書替手段をさらに有することを特徴とする請求項11
    に記載の装置。
  13. 【請求項13】前記第2の復号用コードは予め選択され
    たデータに固定されることを特徴とする請求項11また
    は12に記載の装置。
  14. 【請求項14】前記第1の記憶手段はインストラクショ
    ンメモリまたはプログラムカウンタであり、前記第2の
    記憶手段はインストラクションレジスタであり、前記ア
    ドレス指示手段はアドレスレジスタであり、前記復号手
    段はインストラクションデコーダであることを特徴とす
    る請求項1ないし13のいずれか1項に記載の装置。
JP4296002A 1992-11-05 1992-11-05 データ処理装置 Pending JPH06149563A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4296002A JPH06149563A (ja) 1992-11-05 1992-11-05 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4296002A JPH06149563A (ja) 1992-11-05 1992-11-05 データ処理装置

Publications (1)

Publication Number Publication Date
JPH06149563A true JPH06149563A (ja) 1994-05-27

Family

ID=17827862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4296002A Pending JPH06149563A (ja) 1992-11-05 1992-11-05 データ処理装置

Country Status (1)

Country Link
JP (1) JPH06149563A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536712A (ja) * 1999-01-28 2002-10-29 エーティーアイ インターナショナル エスアールエル 第2のアーキテクチャのコンピュータにおける第1のコンピュータアーキテクチャ用プログラムの実行
US7058792B2 (en) 2001-08-02 2006-06-06 Matsushita Electric Industrial Co., Ltd. Information processing apparatus and information processing method
JP2009026106A (ja) * 2007-07-20 2009-02-05 Oki Electric Ind Co Ltd 命令コード圧縮方法と命令フェッチ回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536712A (ja) * 1999-01-28 2002-10-29 エーティーアイ インターナショナル エスアールエル 第2のアーキテクチャのコンピュータにおける第1のコンピュータアーキテクチャ用プログラムの実行
US7058792B2 (en) 2001-08-02 2006-06-06 Matsushita Electric Industrial Co., Ltd. Information processing apparatus and information processing method
US7287149B2 (en) 2001-08-02 2007-10-23 Matsushita Electric Industrial Co., Ltd. Inserting decoder reconfiguration instruction for routine with limited number of instruction types recoded for reduced bit changes
JP2009026106A (ja) * 2007-07-20 2009-02-05 Oki Electric Ind Co Ltd 命令コード圧縮方法と命令フェッチ回路

Similar Documents

Publication Publication Date Title
US5390307A (en) Apparatus for a multi-data store or load instruction for transferring multiple contiguous storage locations in one transfer operation
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
EP0476722B1 (en) Data processing system
US5682531A (en) Central processing unit
JPH0210452B2 (ja)
JPS62197830A (ja) デ−タ処理システム
JPH04233640A (ja) メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ
US5117488A (en) Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme
JP3781519B2 (ja) プロセッサの命令制御機構
GB2024475A (en) Memory access controller
JP2002041284A (ja) 拡張命令語縮約装置
US20060095746A1 (en) Branch predictor, processor and branch prediction method
US6542989B2 (en) Single instruction having op code and stack control field
EP1143333B1 (en) Microprocessor for supporting reduction of program codes in size
US5396610A (en) Register address specifying circuit for simultaneously accessing two registers
JPH06149563A (ja) データ処理装置
JPH11307725A (ja) 半導体集積回路
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
US5519881A (en) Priority encoder for accessing multiple registers simultaneously and a data processing system which uses it
US5604876A (en) Apparatus for handling differing data length instructions using either directly specified or indirectly specified data lengths
EP0472025A2 (en) A microprocessor
JP2007004475A (ja) プロセッサ及びプログラム実行方法
JP2004005738A5 (ja)
JP2004005738A (ja) データ処理装置及び命令セット拡張方法
US20050114626A1 (en) Very long instruction word architecture