JPS63234322A - プロセツサ - Google Patents

プロセツサ

Info

Publication number
JPS63234322A
JPS63234322A JP6586687A JP6586687A JPS63234322A JP S63234322 A JPS63234322 A JP S63234322A JP 6586687 A JP6586687 A JP 6586687A JP 6586687 A JP6586687 A JP 6586687A JP S63234322 A JPS63234322 A JP S63234322A
Authority
JP
Japan
Prior art keywords
instruction
data
register
field
microprogram
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
JP6586687A
Other languages
English (en)
Inventor
Miyuki Nagata
永田 みゆき
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 JP6586687A priority Critical patent/JPS63234322A/ja
Publication of JPS63234322A publication Critical patent/JPS63234322A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) この発明は、データ幅を可変長で処理する命令を、同一
のマイグロブログラムによって実行処理するようにした
プロセッサに関する。
(従来の技術) マイクロプログラム方式によって命令の実行処理が行な
われるマイクロプロセッサにおいては、ユーザが指定し
たレジスタ内に格納されているデータを可変長のビット
幅で処理する場合がある。
このような場合に、従来にあっては、ユーザから与えら
れるユーザ命令(la械話語命令によって所定のマイク
ロプログラムを指定する内部命令の命令フィールドにデ
ータ幅を指定する情報を格納して、レジスタを指定する
フィールドにはデータ幅を指定するフィールドは設けら
れていなかった。
このため、データ幅の拡張あるいは縮少命令では、内部
命令の命令フィールドに格納されたデータ幅を指定する
情報にしたがって、データ幅を拡張あるいは縮少してい
た。
例えば、「32ビツトのデータを格納する汎用レジスタ
Aの下位16ピツトのデータを取り出し、これを32ピ
ツト幅にサイン拡張(サインビットとなる15ビツト目
を拡張)して、32ビツトの汎用レジスタ已に格納する
」という処理を行なう場合に、汎用レジスタの指定は内
部命令のレジスタ指定フィールドによって間接指定して
、指定されたレジス゛りに格納されているオペランドデ
ータの有効なビット幅及び拡張のモードはマイクロ命令
で直接指定していた。すなわち、内部命令によって指定
されたレジスタAから下位16ビツトのオペランドデー
タが読出され、マイクロ命令で指定されたビット幅で最
上位ビット(15ビツト目)が拡張されて、汎用レジス
タBに格納されていた。
また、[汎用レジスタAの下位8ビツトを取り出し、7
ビツト目をサイン拡張した32ビツトのデータを汎用レ
ジスタBに格納する」という処理を行なう場合には、オ
ペランドデータの有効なビット幅が前述した処理とは異
なるだめに、8ビツトのデータの最上位ビットをサイン
拡張するというマイクロ命令を別に用意する必要があっ
た。
(発明が解決しようとする問題点) 上述したように、従来にあっては、指定したレジスタ内
のデータのビット幅を可変長として処理する例えばデー
タ幅の拡張あるいは縮少命令を実行する場合には、レジ
スタ内のデータの有効なビット幅及び拡張あるいは縮少
モードは、マイクロ命令で直接指定されていた。このた
め、処理内容は同一であっても、処理するデータのデー
タ幅が異なる場合には、データ幅毎にマイクロプログラ
ムを個別に用意しなければならず、マイクロプログラム
が増大するという問題があった。また、このマイクロプ
ログラムの増大により、容量の大きなマイクロプログラ
ム格納装置が必要になり、さらには、マイクロプログラ
ムのアクセスに時間がかかるという問題を招いていた。
そこで、この発明は、上記に鑑みてなされたものであり
、その目的とするところは、データ幅を可変長で処理す
るマイクロプログラムを共通化して、処理効率の向上を
図ったプロセッサを提供することにある。
[発明の構成] (問題点を解決するための手段) 上記目的を達成するために、この発明は、外部から供給
されるデータ幅を可変長で処理する命令を、可変処理の
内容が異なるそれぞれの命令に応じて、データの幅及び
入出力領域と可変処理の内容とをそれぞれ指定する指定
情報を備えた内部命令に変換する解読部と、この内部命
令の指定情報にもとづいて、データの入出力が行なわれ
るデータ格納部と、前記内部命令の指定情報にしたがっ
て前記データ格納部とのデータの入出力及びデータ幅の
可変処理をマイクロプログラムによって行なう命令実行
部とから構成される。
(作用) この発明のプロセッサにあっては、データ幅を可変長で
処理する命令を、内部命令の指定情報によりデータの幅
及び入出力領域と可変処理内容を指定して、マイクロプ
ログラムによって実行処理している。
(実施例) 以下図面を用いてこの発明の一実施例を説明する。
第1図はこの発明の一実施例に係るプロセッサの構成を
示すブロック図である。このプロセッサはマイクロプロ
グラム制御によって命令の実行処理を行なうものである
第1図において、プロセッサは、命令デコード部1.内
部命令レジスタ3.マイクロプログラム格納部5.マイ
クロ命令レジスタ7を有している。
命令デコード部1は、外部から与えられるユーザ命令(
機械語命令)を解読して、このユーザ命令がプロセッサ
内で実行される命令形式の内部命令に変換するものであ
る。
ここで、第2図を参照して、この内部命令の構成を説明
する。
第2図は内部命令の構成を示す図である。内部命令は、
オペレーション(OP)フィールド、ソースレジスタ(
SREG)フィールド、ディスティネーションレジスタ
(DREG)フィールド。
11値(IMM)フィールド、 変位(D l5P)フ
ィールド、セグメント(SEG)フィールドから構成さ
れる装置 OPフィールドは、ユーザ命令の処理内容及び後述する
演惇器(ALU)の演算と、演算を行なうオペランドデ
ータのビット幅を指定する情報が格納される領域である
。また、このOPフィールドは、内部命令に対応してマ
イクロプログラム格納部3に格納されているマイクロプ
ログラムの先頭アドレスを示す情報が格納される領域で
ある。
5REGフイールドは、ソースとなるソースレジスタを
指定する情報と、ソースレジスタ内に格納されたデータ
の有効なビット幅及び拡張のモードを指定する情報が格
納される領域である。
DREGフィールドは、ディスティネーションとなるレ
ジスタを指定する情報と、ディスティネーションレジス
タ内に格納されたデータの有効なビット幅及び拡張のモ
ードを指定する情報が格納される領域である。
1MMフィールドは、数値データを格納する領域であり
、DISPフィールドは、メモリアドレスの変位を表わ
す情報を格納する領域であり、SEGフィールドは、セ
グメント(データ領域、命令コード領域、スタック領域
)の区別を表わす情報を格納する領域である。
ここで、第1図に戻って、このように構成された内部命
令は、命令デコード部1からこの命令デコード部1に接
続されている内部命令レジスタ3に供給されて格納され
る。また、内部命令を構成づるOPフィールドに格納さ
れた情報はマイクロプログラム格納部5に供給される。
マイクロプログラム格納部5は、内部命令に対応したマ
イクロ命令を格納するものであり、命令デコード部1か
ら出力される内部命令のOPフィールドの情報にしたが
って、内部命令に対応したマイクロ命令が読出される。
読出されたマイクロ命令は、マイクロプログラム格納部
5に接続されたマイクロ命令レジスタ7に格納される。
ここで、第3図を参照して、マイクロプログラム格納部
5から読出されるマイクロ命令のフォーマットを説明す
る。
第3図はマイクロ命令のフォーマットを示す図である。
マイクロ゛命令は、オペレーション(○P)フィールド
、バス1コントロールフイールド、バス2コントロール
フイールド、エンド(E)フィールドから構成されてい
る。
OPフィールドは、ALUの動作と演算のビット幅を指
定する情報を格納する領域である。
バス1コントロールフイールドは、SR1フィールドと
DR1フィールドとの2つのサブフィールドで構成され
ている。SR1フィールドは、ソースレジスタを指定し
、DR1フィールドはディスティネーションレジスタを
指定する情報を格納する領域である。例えば、バス1を
用いてデータをレジスタAからレジスタBへ転送するに
は、SR1フィールドでレジスタAを、DR1フィール
ドでレジスタBを指定すればよい。
バス2コントロールフイールドは、バス1コントロール
フイールドと同様に、SR2フィールドとDR2フィー
ルドとの2つのサブフィールドで構成されており、SR
2フィールドはソースレジスタあるいはALUを、DR
2フィールドはディスティネーションレジスタを指定す
る情報を格納する領域である。例えば、バス2を用いて
、ALUの演算結果をレジスタAに転送する場合には、
SR2フィールドでALUを、DR2フィールドでレジ
スタAを指定すればよい。
Eフィールドは、1つのユーザ命令に対応した一連のマ
イクロプログラムの終了を制御する情報を格納する領域
であり、このEフィールドに“終了”の指定があると、
次のユーザ命令が取り込まれる。
第1図に戻って、プロセッサは、さらに、マイクロデコ
ード部9.セレクタ11.汎用レジスタ群13を有して
いる。
マイクロデコード部9は、マイクロプログラム格納部5
から読出されてマイクロ命令レジスタ7に格納されたマ
イクロ命令を解読するものである。
マイクロ命令が解読されると、マイクロ命令に応じた制
御信号がセレクタ11に供給される。
セレクタ11は、解読されたマイクロ命令に応じてマイ
クロデコード部9から供給される制御信号によって、直
接指定あるいは間接指定を選択するものである。すなわ
ち、マイクロ命令レジスタ7に格納されたマイクロ命令
のSRIフィールドに、ユーザが指定したソースレジス
タを間接的に指定するというYSコードが格納されてい
ると、このYSコードはマイクロデコード部9によって
解読され、このYSコードに対応した制御信号により、
セレクタ11は間接指定を選択する。このように、SR
Iフィールドによって、間接指定が選択されると、内部
命令の5REGフイールドの情報がセレクタ11を介し
て汎用レジスタ13に供給される、。
さらに、マイクロ命令のSR2フィールドに、YSコー
ドが格納されている場合にも、セレクタ11は間接指定
を選択して、内部命令の5REGフイールドの情報がセ
レクタ11を介して汎用レジスタ13に供給される。
また、マイクロ命令のDR2フィールドに、ディスティ
ネーションレジスタを間接的に指定するというYDコー
ドが格納されていると、このYDコードに対応した1I
J111信号によって、セレクタ11は間接指定を選択
する。DR2フィールドによって間接指定が選択される
と、内部命令のDREGフィールドの情報がセレクタ1
1を介して汎用レジスタ13に供給される。
さらにまた、マイクロ命令のSR2フィールドにALU
を直接指定するALUコードが格納されている場合には
、セレクタ11は直接指定を選択して、SR2フィール
ドに格納されたALUコードがALUに供給される。
汎用レジスタ群13は、オペランドデータ等を格納した
各種のレジスタで構成されており、ソースあるいはディ
スティネーションとなるレジスタは、内部命令の5RE
GフイールドあるいはDREGフィールドの情報によっ
て、この汎用レジスタ群13の中から選択される。
第2図は第1図に示したプロセッサにおけるデータの拡
張命令を実行する命令実行部の構成を示すブロック図で
ある。この命令実行部は、上述した汎用レジスタ13.
データ拡張部15.演算器(ALU)17.ASLレジ
スタ19.ADLレジスタ21.バス1及びバス2を有
している。
データ拡張部15は、汎用レジスタ群13の中から選択
されたレジスタに格納され読出された所定ビット幅のデ
ータを拡張(ゼロ拡張、サイン拡張)するものである。
拡張されたデータは32ビツト幅のデータの転送路とな
るバス1あるいはバス2に供給される。
すなわち、データ拡張部15は、内部命令の5REGフ
イールドによって汎用レジスタ13の中から選択された
レジスタから読出され、5REGフイールドによって指
定されたビット幅のデータを、5REGフイールドの拡
張モードに応じて、32ビツトに拡張してバス1あるい
はバス2に供給する。
この時に、拡張モードがゼロ拡張の場合には、“0”を
拡張して、サイン拡張の場合には最上位ビットを拡張し
て32ビツトにする。また、マイクロ命令のSR1フィ
ールドのYSコードによって5REGフイールドが間接
指定されると、拡張されたデータはバス1に読出され、
SR2フィールドのYSコードによって5REGフイー
ルドが間接指定されると、拡張されたデータはバス2に
読出される。
ALLJ17は、バス1あるいはバス2からAsLレジ
スタ19に与えられて一時的保持されたデータと、バス
1あるいはバス2からADLレジスタ21に与えられて
一時的に保持されたデータの各種演算動作を行なうもの
である。このALUI7の演算結果はバス2に出力され
る。
すなわち、マイクロ命令のSR2フィールドにALUコ
ードが格納されていると、セレクタ11により直接指定
が選択され、ALUコードがALLJ17に供給されて
、ALtJ17の演算結果がバス2に出力される。バス
2に出力された演算結果は、マイクロ命令のDR2フィ
ールドに格納されたYDコードによって選択された内部
命令のDREGフィールドで指定されレジスタに、DR
EGフィールドで指定されたビット幅だけ格納される。
この時に、DREGフィールドの拡張モードにかかわら
ず、格納されるレジスタ中の指定されたビット幅以外の
ビットは不変とする。
以上説明したように、この発明の実施例は構成されてお
り、次にこの実施例の作用を説明する。
まずはじめに、汎用レジスタ群13中のレジスタAに格
納されている32ビツトのデータのうち、下位16ビツ
トを32ビツトにサイン拡張して、汎用レジスタ群13
中のレジスタBに格納するというユーザ命令■の実行処
理について説明する。
このようなユーザ命令■が命令デコード部1により解読
されると、このユーザ命令■に対応した内部命令が内部
命令レジスタ3に格納される。この内部命令は、その5
REGフイールドに、レジスタAの下位16ビツトのサ
イン拡張を示す情報(例えばAREGAWというコード
)が格納される。これに、内部命令のDREGフィール
ドに、サイン拡張された32ビツトのデータのレジスタ
Bへの格納を示す情報が格納される。
また、内部命令のOPフィールドによって、内部命令に
対応したマイクロプログラムがマイクロプログラム格納
部2から読出されて、マイクロ命令レジスタ7に格納さ
れる。このマイクロ71コグラムは、 −、Y S 、 A S L 、 ++、 −、−MO
VE、++、−+、ALU、YD、ENDで表わされる
。ここで、□は無指定とする。
第1ステツプのマイクロ命令では、SR1フィールドの
YS指定によって、内部命令の5REGフイールドが間
接指定される。これによって、レジスタAから格納され
たデータのうち下位16ビツトが読出されて、データ拡
張部に与えられ、32ビツトにサイン拡張されてバス1
に読み出される。この読出されたデータは、DR1フィ
ールドのASL指定によって、ASLレジスタ19に格
納される。
次に、第2ステツプのマイクロ命令では、そのOPフィ
ールドのMOVS指定によってASLレジスタ19に格
納されたデータをALU17を通しそのままバス2に出
力される。そして、SR2フィールドのALU指定によ
ってバス2上に出力されたALU17の出力を選択し、
DR2フィールドのYD指定によって、内部命令のDR
EGフィールドが間接指定されて、バス2に出力された
データの32ビツトすべてがレジスタBに格納される。
このようにして、ユーザ命令■が処理される。
次に、汎用レジスタ群13の中のレジスタAに格納され
た32ビツトのデータのうち、下位8ビツトを32ビツ
トにサイン拡張して、汎用レジスタ群13中のレジスタ
Bに格納するというユーザ命令■の実行処理について説
明する。
このようなユーザ命令■が命令デコード部1により解読
されると、このユーザ命令■に対応した内部命令が内部
命令レジスタ3に格納される。この内部命令には、その
5REGフイールドに、レジスタAの下位8ビツトのサ
イン拡張を示す情報(例えばAREGABというコード
)が格納される。さらに、内部命令のDREGフィール
ドに、サイン拡張された32ビツトのデータのレジスタ
Bへの格納を示す情報が格納される。
これにより、この内部命令に対応したマイクロプログラ
ムは、拡張されるデータを格納したレジスタ及び拡張さ
れるデータのビット幅と拡張モードが、内部命令の5R
EGフイールド及びDREGフィールドによって指定さ
れるので、上述したマイクロプログラムと同様のマイク
ロプログラムとなる。
したがって、ユーザ命令■とユーザ命令■とは同じマイ
クロプログラムで実行処理することができるようになり
、マイクロプログラムが共通化できる。なお、この実施
例では、データの拡張の場合について説明したが、これ
に限定されるものではなく、レジスタ内のデータを可変
長のビット幅で処理する例えば縮少の場合にあっても、
同様にマイクロプログラムを共通化できることは勿論で
ある。
[発明の効果] 以上説明したように、この発明によれば、データ幅を可
変長で処理する命令を、内部命令の指定情報によりデー
タの幅及び入出力領域と可変処理の一内容を指定して、
マイクロプログラムによって実行処理しているので、デ
ータの幅及び入出力領域と可変処理の内容が異なる命令
を、同一のマイクロプログラムで実行処理することがで
きる。この結果、データ幅を可変長で処理する命令を実
行処理するマイクロプログラムを共通化して、処理効率
を向上させることができるようになる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るプロセッサの構成を
示すブロック図、第2図は内部命令の構成を示す図、第
3図はマイクロ命令の構成を示す図、v154図は第1
図のプロセッサの命令実行部の構成を示すブロック図で
ある。 (図の主要な部分を表わす符号の説明)1・・・命令デ
コード部 5・・・マイクロプログラム格納部 13・・・汎用レジスタ鮮 15・・・データ格納部 17・・・演算器

Claims (1)

  1. 【特許請求の範囲】 外部から供給されるデータ幅を可変長で処理する命令を
    、可変処理の内容が異なるそれぞれの命令に応じて、デ
    ータの幅及び入出力領域と可変処理の内容とをそれぞれ
    指定する指定情報を備えた内部命令に変換する解読部と
    、 この内部命令の指定情報にもとづいて、データの入出力
    が行なわれるデータ格納部と、 前記内部命令の指定情報にしたがつて前記データ格納部
    とのデータの入出力及びデータ幅の可変処理をマイクロ
    プログラムによつて行なう命令実行部と、 を有することを特徴とするプロセッサ。
JP6586687A 1987-03-23 1987-03-23 プロセツサ Pending JPS63234322A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6586687A JPS63234322A (ja) 1987-03-23 1987-03-23 プロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6586687A JPS63234322A (ja) 1987-03-23 1987-03-23 プロセツサ

Publications (1)

Publication Number Publication Date
JPS63234322A true JPS63234322A (ja) 1988-09-29

Family

ID=13299345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6586687A Pending JPS63234322A (ja) 1987-03-23 1987-03-23 プロセツサ

Country Status (1)

Country Link
JP (1) JPS63234322A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013542500A (ja) * 2010-09-24 2013-11-21 アーム・リミテッド 次命令タイプフィールド

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013542500A (ja) * 2010-09-24 2013-11-21 アーム・リミテッド 次命令タイプフィールド
US9977675B2 (en) 2010-09-24 2018-05-22 Arm Limited Next-instruction-type-field

Similar Documents

Publication Publication Date Title
KR100266337B1 (ko) 정보처리회로,반도체집적회로장치,마이크로컴퓨터,및전자기기
KR940009094B1 (ko) 데이타처리 시스템
JPH04172533A (ja) 電子計算機
JPH06332792A (ja) データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路
US4833640A (en) Register bank change including register to register transfer in a data processing system
US5682531A (en) Central processing unit
JPS62197830A (ja) デ−タ処理システム
US6687808B2 (en) Data processor using indirect register addressing
US4347566A (en) Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
EP0317473A2 (en) Microcode branch based upon operand length and alignment
JP2609618B2 (ja) データ処理装置
JPS6212529B2 (ja)
JPH0523447B2 (ja)
JPS63234322A (ja) プロセツサ
JP3504355B2 (ja) プロセッサ
JPH0377137A (ja) 情報処理装置
JPH0218729B2 (ja)
JPH0340422B2 (ja)
JP2000112754A (ja) データ処理装置
JP3643270B2 (ja) データ処理装置
JPH02204833A (ja) 計算機システム
JP2878250B2 (ja) データ処理装置
JP3041308B2 (ja) データ処理装置
JPH0713757A (ja) データ処理装置
JPS63293638A (ja) データ処理装置