JPH01169537A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH01169537A
JPH01169537A JP33387587A JP33387587A JPH01169537A JP H01169537 A JPH01169537 A JP H01169537A JP 33387587 A JP33387587 A JP 33387587A JP 33387587 A JP33387587 A JP 33387587A JP H01169537 A JPH01169537 A JP H01169537A
Authority
JP
Japan
Prior art keywords
instruction
register
data length
contents
code
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
JP33387587A
Other languages
English (en)
Inventor
Yoshihiro Kubo
良弘 久保
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 JP33387587A priority Critical patent/JPH01169537A/ja
Publication of JPH01169537A publication Critical patent/JPH01169537A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [目次] 概要 産業上の利用分野 従来の技術 発明が解決しようとする問題点 問題点を解決するための手段(1図) 作用 実施例 一実施例 他の実施例 発明の効果 [概要] マイクロプロセッサに関し、 命令セットの数を実質的に多くし、しかも、オペレーシ
ョンコード長を短かくして処理速度を高速にすることを
目的とし、 命令コードを記憶する命令レジスタ(1)と、記憶され
た該命令コードを解読する命令デコーダと、解読結果に
基づいて命令を実行するための各種制御信号及びタイミ
ング信号を出力するコントローラと、を有するマイクロ
プロセッサにおいて、該命令によって処理すべきデータ
長を示す情報を記憶するデータ長レジスタを付設し、該
命令デコーダは、該データ長レジスタの内容を参照して
該命令レジスタの内容を解読するように構成する。
[産業上の利用分野] 本発明は処理データ長の種類を指示するデータ長レジス
タを備えたマイクロプロセッサに関する。
[従来の技術] マイクロプロセッサ(以下、MPUという。)には次の
ことが要求される。
■命令セットの数を多くして、各種処理が少ステップで
行えるようにすること。
■オペレーションコード長を短くして、オブジェクトサ
イズを小さくし、かつ、処理速度を高速にすること。
この■の要求を満たそうとすると、オペレーションコー
ド長が長くなり、■の要求に反する。また、■の要求を
満たそうとすると、命令セットの数が限定され、■の要
求に反する。
このような問題点は、特に4ビツトや8ビツト等の短語
長MPUにおいて重大である。
■の要求を満たすべく、例えば総てのオペレージタンコ
ードを1語長にすると、4ビツトM P Uの場合には
命令セットの数が16個に制限され、8ビツトMPUの
場合には256個に制限される。
本発明の目的は、上記問題点に鑑み、命令セットの数を
実質的に多くでき、しかも、オペレーションコード長を
短かくして処理速度を高速にすることができるマイクロ
プロセッサを提供することにある。
[問題点を解決するための手段] 第1図は本発明の原理説明図である。
図中、lは命令レジスタであり、命令コードを記憶する
もの、2は命令デコーダであり、該命令コードを解読す
るもの、3はコントローラであり、該解読結果に基づい
て該命令を実行するための各種制御信号及びタイミング
信号をALU、アキュームレータまたは各種レジスタ等
の構成要素に対し出力するもの、4はデータ長レジスタ
であり、該命令によって処理すべきデータ長を示す情報
を記憶するものである。データ長レジスタの内容は、例
えば専用の命令により書き換えられる。
該命令デコーダ2は、該データ長レジスタ4の内容を参
照して該命令レジスタ1の内容を解読する。
[作用] プログラム作成の際には、データ長レジスタ4の内容を
、処理すべきデータ長に応じ、イニシャライズルーチン
において、予め設定しておき、その後は、この設定値を
変更する必要が無い限り、データ長をなんら考慮するこ
となくプログラムを作成する。
このプログラムの実行の際には、例えばデータ長を設定
する命令コードが解読されると、コントローラ3からの
制御信号及びタイミング信号に基づいてデータ長レジス
タ4の内容がこの設定値に書き換えられる。その後、デ
ータ長が関係した命令、例えば転送命令、加算命令また
は減算命令等については、この設定されたデータ長のア
キュームレータ、レジスタまたはメモリが操作される。
ここで、マイクロプロセッサの処理対象としてのデータ
には、ビット、ニブル、バイト、ワード、・・・という
ように多数のデータ長のものがある。
従来のマイクロプロセッサでは、1つのオペレージコン
に対しデータ長の種類の数だけの命令を設けていたので
、同種の命令が多数存在し、実質的な命令の数は少なか
った。しかし、本発明では、このような同種の命令は1
個だけ設ければよく、そのうえ、データ長を区別するた
めのコードを命令コードの中に設ける必要がないので、
上記■及び■の要求を満足させることができる。
例えば、富士連装、型式MB89700の8ビツトワン
チツプマイクロコンピユータに本発明を適用すれば、2
56個の1バイト命令の内、44個も省略することがで
き、したがって、多バイト命令を!バイト命令にし、か
つ、従来は命令コードを割り当てることができなかった
命令を追加することもできる。しかも、このような命令
に対してもデータ長レジスタの内容との組み合わせが考
えられるので、実質的には44個よりはるかに多い1バ
イト命令を追加できることになる。
なお、−殻内に、マイクロプロセッサが適用される制御
対象や演算対象等によって、主にまたは常に8ビツトデ
ータを用いたり、主にまたは常に16ビブトデータを用
いたりするので、データ長レジスタの内容を1回設定し
ておけば、その後はほとんど書き換える必要がない。
したがって、オブジェクトサイズも小さくできる。
[実施例] (A)−実施例 第2図は本発明が適用されたワンチップマイクロコンピ
ュータの要部ブロック図である。
図中、■は命令レジスタであり、ROM5に格納された
プログラムの内、図示しないプログラムカウンタにより
指定されたアドレスの命令コードが取り出されてこれに
格納され、この命令の実行が終了するまで該命令コード
を保持するしの、2は命令デコーダであり、命令レジス
タ1に格納されている命令コードを解読するもの、3は
コントローラであり、外部から供給されるクロック信号
に基づき、命令デコーダ2による解読結果に応じて、こ
の命令の実行に必要な総ての制御信号及びタイミング信
号を各構成要素に供給するものである。
例えば命令コードが汎用レジスタR0〜R1間の転送命
令の場合には、コントローラ3はマルチプレクサ6を制
御して転送元と転送先の汎用レジスタを順次選択させる
。命令コードがストア命令の場合には、アキュームレー
タ9の内容を内部データバスDBを介しRAMl0の所
定アドレスへ格納させる。命令コードが入力命令の場合
には入出力ボート11を入力モードにし、入出力ボート
l■に取り込まれたデータを内部データバスDBを介し
アキュームレータ9へ格納させる。命令コードがアキュ
ームレータ9と汎用レジスタR0〜R?のいづれかとの
演算命令の場合には、アキュームレータ9の内容をテン
ポラリアキュームレータ12に一時格納させるとともに
、マルチプレクサ6を制御して所定の汎用レジスタを選
択させ、この汎用レジスタの内容をテンポラリレジスタ
13へ一時格納させる。次に、ALU 14を制御して
テンポラリアキュームレータ12の内容とテンポラリレ
ジスタI3の内容とを演算させ、その演算結果を内部デ
ータバスDBを介しアキュームレータ9へ格納させ、演
算結果が正であるか負であるか等に応じてフラグ15を
セットしまたはリセットする。
4はデータ長レジスタであり、オペランドのデータ長を
記憶するものである。
ここで、このワンチップマイクロコンピュータは8ビツ
トマイクロコンピユータであり、汎用レジスタアレイ7
の各々は8ビツト構成であり、アキュームレータ9、テ
ンポラリアキュームレータI2及びテンポラリレジスタ
13は16ビツト構成であるとする。また、汎用レジス
タR0〜R1はそれぞれ独立に使用することができると
ともに、汎用レジスタR0とR4、R1とR3、R1と
Rs、RsとR7をそれぞれベアにして16ビツト構成
のレジスタとしても使用できるものとする。
命令セットの中には、データ長レジスタ4の内容を書き
換える命令があり、この命令は主にイニシャライズルー
チンにおいて用いられる。この命令がROM5から取り
出されて命令レジスタ■に格納され、命令デコーダ2に
より解読されると、コントローラ3により、データ長レ
ジスタ4は命令レジスタlに書き込まれたコードに応じ
て書き換えられ、その後の処理におけるオペランドのデ
ータ長が設定される。
最も簡単な場合として、データ長レジスタ4が第3図(
A)に示す如く、1ビツトにより構成されている場合を
説明する。
このデータ長レジスタ4aが0の場合には、汎用レジス
タR0〜R7はそれぞれ独立の8ビットレジスタとして
用いられる。
データ長レジスタ4λが菫の場合には、上記の如くペア
レジスタとして用いられ、例えば汎用レジスタR0を指
定すると、RoとR4とが接続された16ビツト構成の
ベアレジスタが用いられる。
したがって、例えばアキュームレータ9と汎用レジスタ
R0との加算命令(1バイト命令)“ADD  A、R
6’がROM5から命令レジスタlに取り出された場合
には、命令デコーダ2は、データ長レジスタ4の内容が
0のときはアキュームレータ9の下位8ビツトと汎用レ
ジスタR0との加算命令であると解読してその結果をコ
ントローラ3へ供給する。コントローラ3は、アキュー
ムレータ9の下位8ビツトをテンポラリアキュームレー
タ12へ移送させ、マルチプレクサ6を制御して汎用レ
ジスタR0の内容をテンポラリレジスタI3の下位8ビ
ツトへ移送させ、次にALU14を制御してテンポラリ
アキュームレータ12の内容とテンポラリレジスタ13
の内容を加算させ、その演算結果を、内部データバスD
Bを介しアキュームレータ9へ移送させる。
また、上記lバイト命令“ADD  A、Rn”におい
て、データ長レジスタ4の値が1の場合には、命令デコ
ーダ2はアキュームレータI2と汎用レジスタペアR0
、R4との16ビツト加算命令であると解読し、その解
読結果をコントローラ3へ供給する。コントローラ3は
アキュームレータ9の全16ビツトの内容をテンポラリ
アキュームレータ12へ移送させ、マルチプレクサ6を
制御してこのベアレジスタの16ビツトの内容をテンポ
ラリレジスタ13へ移送し、ALU14を制御してテン
ポラリアキュームレータ■2の内容とテンポラリレジス
タ13の内容を加算させ、その16ビツト演算結果を、
内部データバスDBを介しアキュームレータ9へ移送さ
せる。
減算命令、比較命令、論理演算命令及び転送命令等につ
いても上記同様である。
したがって、データ長のみ異なる同種の処理は、同一の
命令コードにより行うことができ、短い命令語長を用い
て、しかも命令セットの数を実質的に増やすことができ
る。
(B)他の実施例 なお、上記の例では、汎用レジスタアレイ7の総てにつ
いてデータ長レジスタ4aの内容が影響する場合を説明
したが、例えば汎用レジスタアレイ7のうち、R0〜R
9及びR4〜R1のみがデータ長レジスタ4aの内容に
関係し、汎用レジスタR3とR7については、従来のよ
うに、異なる命令により、シングルレジスタとして用い
ることもベアレジスタとして用いることもできるように
構成してもよい。
また、第3図(B)に示す如く、データ長レジスタ4b
を4ビツトで構成し、そのビットb+(i=O〜3)が
0のときにはR1,Raftがそれぞれシングルレジス
タとして用いられ、b、がlのときにはR4とR461
とがベアレジスタとして用いられるように構成してもよ
い。
さらに、第3図(C)に示す如く、データ長レジスタ4
cの内容が“ooo”のときにはビット処理、”001
”のときにはニブル処理、“010”のときにはバイト
処理、“011°のときには2バイト処理、“100′
のときは4バイト処理・・・であると解読するように構
成してもよい。
例えばデータ長レジスタ4Cの内容が“100“で、命
令レジスタlの内容が汎用レジスタR6からRAMl0
への転送命令である場合には、命令デコーダ2は、汎用
レジスタR,、R1、Ro、R6の内容をRAMl0の
所定アドレスから4バイトにわたるアドレスへ転送させ
る命令であると解読する。
したがって、■命令で4バイトも転送でき、高速処理が
可能になる。
他の例として、データ長レジスタ4cの内容が“000
”であり、命令レジスタlの内容がアキュームレータ9
と汎用レジスタR0との論理積をとる命令である場合に
は、命令デコーダ2は、例えば、アキュームレータ9の
最下位ビットと、汎用レジスタR0の最下位ビットとの
論理積をとる命令であると解読する。このような処理は
、このワンチップマイクロコンピュータをシーケンサと
して用いる場合に有効である。
また、電卓の計算のような用い方をする場合には、デー
タ長レジスタ4Cの値を1にすることによりニブル処理
を容易に行うことができる。
すなわち、111類のワンチップマイクロコンピュータ
であっても、データ長レジスタ4の内容を書き換えるこ
とにより、各種用途に合った用い方をすることができる
また、データ長レジスタをメモリマツピングされたレジ
スタとして構成してもよい。この場合、データ長レジス
タの書き換えは通常の転送命令で実現できる。専用の命
令を設ける必要がないため、その分、他の有効な命令を
追加することが可能となる。
[発明の効果コ 本発明に係るマイクロプロセッサでは、命令レジスタの
内容とデータ長レジスタの内容との組み合わせにより命
令を解読するようになっているので、各種データ長のオ
ペランドに対し、1種のオペレーションには1つの命令
コードのみを設ければよく、実質的な命令数を極めて多
くでき、そのうえ、データ長を区別するコードを命令コ
ードに設ける必要がないのでオペレーションコードを短
くすることができ、同一サイズのROMに、より多くの
処理内容を持つプログラムを格納することが可能となり
、さらに、処理速度を高速にすることができるという優
れた効果を奏する。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の一実施例に係るワンチップマイクロコ
ンピュータの要部構成ブロック図、第3図は汎用レジス
タとデータ長レジスタとの関係を説明する図である。 図中 ■・命令レジスタ 2:命令デコーダ 3:コントローラ 4:データ長レジスタ R0〜R7:汎用レジスタ 発明の原理図 第1図

Claims (1)

  1. 【特許請求の範囲】 命令コードを記憶する命令レジスタ(1)と、記憶され
    た該命令コードを解読する命令デコーダ(2)と、 解読結果に基づいて命令を実行するための各種制御信号
    及びタイミング信号を出力するコントローラ(3)と、 を有するマイクロプロセッサにおいて、 該命令によって処理すべきデータ長を示す情報を記憶す
    るデータ長レジスタ(4)を付設し、該命令デコーダ(
    2)は、該データ長レジスタ(4)の内容を参照して該
    命令レジスタの内容を解読することを特徴とするマイク
    ロプロセッサ。
JP33387587A 1987-12-24 1987-12-24 マイクロプロセッサ Pending JPH01169537A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33387587A JPH01169537A (ja) 1987-12-24 1987-12-24 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33387587A JPH01169537A (ja) 1987-12-24 1987-12-24 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH01169537A true JPH01169537A (ja) 1989-07-04

Family

ID=18270926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33387587A Pending JPH01169537A (ja) 1987-12-24 1987-12-24 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH01169537A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104997A (ja) * 1993-10-01 1995-04-21 Matsushita Electric Ind Co Ltd データ処理装置
USRE40498E1 (en) 1993-05-27 2008-09-09 Matsushita Electric Industrial Co., Ltd. Variable address length compiler and processor improved in address management
JP2010020450A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置
JP2010020449A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE40498E1 (en) 1993-05-27 2008-09-09 Matsushita Electric Industrial Co., Ltd. Variable address length compiler and processor improved in address management
USRE41959E1 (en) 1993-05-27 2010-11-23 Panasonic Corporation Variable address length compiler and processor improved in address management
JPH07104997A (ja) * 1993-10-01 1995-04-21 Matsushita Electric Ind Co Ltd データ処理装置
JP2010020450A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置
JP2010020449A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置

Similar Documents

Publication Publication Date Title
US7725736B2 (en) Message digest instruction
EP2296087B1 (en) Microcontroller instruction set
EP0220684B1 (en) Data processing system
US20080201557A1 (en) Security Message Authentication Instruction
JP3543181B2 (ja) データ処理装置
JPH0496825A (ja) データ・プロセッサ
JPH06332695A (ja) データ処理装置及びその制御回路
JPH07120278B2 (ja) データ処理装置
US4347566A (en) Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
JPH0546383A (ja) データ処理装置
US20070101101A1 (en) Microprocessor
JPH01169537A (ja) マイクロプロセッサ
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
JP2611065B2 (ja) データ転送方式
EP0195202B1 (en) Register selection mechanism and organization of an instruction prefetch buffer
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JP4645369B2 (ja) Cpu
EP1706817B1 (en) Microcontroller with a virtual memory bank
JP3199603B2 (ja) コードサイズ縮小化マイクロプロセッサ
JPS6380333A (ja) マイクロコンピユ−タ回路
JP3515018B2 (ja) パイプライン形データ処理装置
JP2696578B2 (ja) データ処理装置
JPS6149692B2 (ja)
JP3041308B2 (ja) データ処理装置
JPH03194621A (ja) データ処理装置