JPS63172339A - 命令解読装置 - Google Patents

命令解読装置

Info

Publication number
JPS63172339A
JPS63172339A JP62003305A JP330587A JPS63172339A JP S63172339 A JPS63172339 A JP S63172339A JP 62003305 A JP62003305 A JP 62003305A JP 330587 A JP330587 A JP 330587A JP S63172339 A JPS63172339 A JP S63172339A
Authority
JP
Japan
Prior art keywords
register
instruction
signal
output
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.)
Granted
Application number
JP62003305A
Other languages
English (en)
Other versions
JP2675779B2 (ja
Inventor
Hiroshi Yokouchi
横内 博
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP62003305A priority Critical patent/JP2675779B2/ja
Priority to US07/141,234 priority patent/US4958275A/en
Priority to DE3886781T priority patent/DE3886781T2/de
Priority to EP88300196A priority patent/EP0275170B1/en
Publication of JPS63172339A publication Critical patent/JPS63172339A/ja
Application granted granted Critical
Publication of JP2675779B2 publication Critical patent/JP2675779B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は可変バイト処理プロセッサの命令解読装置に関
し、特に命令の1バイト目がオペレーションコードを表
わし、2バイト目以降がオペランドアドレスを表わすプ
ロセッサの命令解読装置に関する。
(従来の技術) 従来のCPUにおいて、1バイト目がオペレーションコ
ードを表わし、2バイト目以降がオペランドアドレスを
表わし、これらが順次命令解読装置に取り込まれ、命令
が解読されて実行される。
例えばインテル礼8051型CPtJにおいては、−例
としてADDCA、data addressという命令が使用されるが、このうちA
DDC(キャリ付加算)がオペレーションコードであり
、Aが1つのオペランドアドレス、data  add
ressが他のオペランドアドレスである。このうち、
Aはアキュムレータを指すもので固定されており、da
ta addressは可変であり内部データメモリ(RAM
)の特定のアドレスや、特別レジスタを指す。
〔発明が解決しようとする問題点〕
上記のようなCPUにおいては、一方のオペランドアド
レス(例A)が固定されているため、数バイト演算を行
なうには、数命令の組合せで行なっていた。このため、
プログラムが長くなり、処理に長時間を要し、パイ1〜
効率が悪いという欠点があった。
本発明は上記の問題を解決し、処理を高速にすることが
でき、しかもバイト効率がよいCPUを提供することを
目的とする。
〔問題点を解決するための手段〕
本発明の命令解読装置は、データバスに接続されて、命
令を読込む命令レジスタと、該命令レジスタから命令を
読込んでCPU仝体を制御する第1の命令解読器で必っ
て、同一のオペレーションをCP口内部の異なるオペラ
ンドアドレスのオペランドについて順次繰返す連続実行
命令を受けたとき、連続実行モード信号を出力する第1
の命令解読器と、上記連続実行モード信号に応じて、連
続実行回数の設定値をセットされ、オペレーションの実
行毎にカウントして該カウント値が上記設定値に到達し
たときに、到達信号を出力する連続実行回数監視部と、
オペレーションの実行毎にカウントして、順次異なるア
ドレスを出力するカウンタと、上記カウンタの出力を受
【プて上記異なるオペランドアドレスのデータを順次指
定する第2の命令解読器と、上記連続実行モード信号が
出力されてから、上記到達信号が出力されるまでの間、
上記命令レジスタが上記データバスから新たな命令を読
込むのを禁止する手段とを備えたものでおる。
〔作用〕
同一オペレーションを繰返すときには、その旨の命令が
データバスから、命令レジスタを経て第1の命令解読器
に供給され、連続実行モード信号が出力される。この連
続実行モード信号が出力されると、命令レジスタ内のオ
ペレーションコードは保持され、一方第2の命令解読器
の入力側のカウンタの内容はオペレーションの実行毎に
順次変化する。その結果、第2の命令解読器は異なるオ
ペランドアドレス(データメモリおよび特別レジスタ)
を順次指定する。オペレーションの実行が設定された回
数くり返されると、連続実行回数監視部から到達信号が
発生され、命令レジスタは次の新しい命令を読込む。
〔実施例〕
第1図はこの発明による改良されたPLAを内蔵したマ
イクロプロセッサのブロック図である。
第1図において、タイミング・インターフェース信号発
生部1はマイクロプロセッサの基本タイミング信号及び
外部とのデータ授受インターフェース信号を発生する。
インバータ発振器2はマイクロプロセッサ駆動クロック
を発生する。プログラム・カウンタ3はプログラム命令
及びイミディエイト・データを指定する。内部プログラ
ム・データメモリ(ROM>4はプログラム命令及びイ
ミディエイト・データを記憶している。
テンポラリレジスタ20および21は命令の処理時に一
時的にデータを記憶する。デコーダ22はプログラム・
データから命令処理に必要な定数を発生する。演算器(
ALU>23は命令に従ってテンポラリジスタ20およ
び21の内容に対し加算(ADD)、論理和〔OR3、
排他的論理和(FOR)、論理積(AND)などの処理
を行なう。レジスタ24は演算器23で処理された各種
のフラグを記゛臆する。内部データメモリ(RAM)3
1は処理データを記憶する。レジスタ30は内部データ
・メモリ(RAM)31の指定番地データを記憶する。
ワーキングレジスタ32は命令の処理時に、一時的にデ
ータを記憶する。特別レジスタ群40は数々の機能を持
つもので、間接レジスタ、データメモリ(RAM)、I
10ポート、タイマカウンタ、タイマカウンタ制御レジ
スタ、割込み制御レジスタ、割込みフラグ等を含む。入
出力ボート50および51は、処理データの出力および
外部処理データの入力ならびに外部ROMモード時にお
ける、外部プログラムデータを指定するプログラムカウ
ンタの出力および外部プログラムデータの入力のための
ボートである。入出力ボート52〜55は、処理データ
の出力及び外部処理データの入力のためのボートである
。マイクロプロセッサの内部バスはCPUの処理データ
を伝達する。
第2図は第1図のPLA部70の詳細を示す図である。
PLA部70は、マイクロプロセッサ全体の制御信号を
発生する。これには、内部データメモリ(RAM)およ
び特別レジスタ(@RO,I10・・・5M0D>を制
御する信号が含まれる。
命令実行回数監視部100は、連続命令実行モードのと
き、命令実行回数を監視し、制御する。
このうち、レジスタ101はグー1〜102が選択され
て出力信号103が出力されるとデータバス700に出
力されている連続命令実行回数設定データを記憶する。
ゲート106は、グー1〜104が選択されて、出力信
号105が出力されると、レジスタ101の連続命令実
行回数設定データをデータバス700に出力する。ノリ
ツブフロップ109はゲート107が選択されて信号1
08が出力されると、CLOCK信号の立下りで信号1
08を取込み、レジスタ/カウンタ110の占込み信号
Bを発生する。レジスタ/カウンタ110は、古込み信
@Bが発生されるとレジスタ101の連続命令実行回数
設定データを記゛填する。このレジスタ/カウンタ11
0は、ゲート112が選択されて信、iff Qが与え
られると一1カ「クントすることにより連続命令実行の
回数をダウンカウントする。ゲート111は連続命令実
行終了を検出するもので、カウンタ110の内容が00
1−+になると、連続命令実行終了検出信号Aを出す、
この信@Aは、ゲート107,112゜113.202
6よび310に、選択信号として与えられる。フリップ
フロップ110は、ゲート113が選択され、信号11
4が出力されると、MEND−36信号で信号114を
取込み、後述のレジスタ401および404に書込み制
御信号りを供給する。
命令解読部200は、命令コードを解読して、マイクロ
プロセッサ全体を制御する信号を発生する。このうち、
命令レジスタ201は、プログラム命令データを記″l
するもので、ゲート202が選択されて出力信@203
が出力されると、データバス700の命令データを取込
んで記憶する。
第1のPLA205は、レジスタ201の内容を解読し
て、タイミング信号204との論理積(AND)を取り
、マイクロプロセッサ全体の制御信号を発生する。
レジスタ部300は、オペランドアドレス即ちデータメ
モリ(RAM)および特別レジスタ(ORO,Ilo・
・・5M0D>を指定するデータを記憶するもので、命
令ニーモニツクにJ、って指定され、データメモリおよ
び特別レジスタを指定する。
このうち、レジスタ301は、グー1〜302が選択さ
れて信@303が出力されると、データバス700に出
力されているデータメモリ(RAM>及び特別レジスタ
(@RO,I10・・・5M0D>の指定データを記憶
する。ゲート307 Gaゲート302が選択され出力
信号303が出力されると、レジスタ301のデータメ
モリ(RAM)及び特別レジスタ(@RO,I10・・
・5M0D>指定データをデータバス700に出力する
。レジスタ/カウンタ306は命令ニーモニツクモード
が選択されゲート310の出力信号311が出力される
と、レジスタ301のデータメモリ(RAM)及び特別
レジスタ(@RO,I10・・・5M0D>指定データ
を記憶するもので、このレジスタは信号Cが出力される
と+1カウン1〜する。このレジスタ/カウンタ306
の記憶データが内部データメモリ(RAM)及び特別レ
ジスタ指定データとなる。ゲート309はゲート307
が選択され信号308が出力されると、レジスタ306
のデータメモリ(RAM)及び特別レジスタ(@RO。
Ilo・・・5M0D>指定データをデータバス700
に出力する。
記′填部400はデータメモリ(RA M )及び特別
レジスタ(@RO,I10・・・5M0D>を指定する
データを記″臘する所で、命令コードに続く2バイト目
及び3バイト目のデータを記′臆する。このうち、レジ
スタ/カウンタ(レジスタ韮カウンタ)401は、命令
コードに続く2バイ1〜目の内部データメモリ(RAM
>ctjよび特別レジスタ(@RO,I10・・・5M
0D)を指定するデータを記憶するもので、ゲート40
2が選択されて信@403が出力されるとそのときのデ
ータバス700上のデータ即ら命令コードに続く2バイ
ト目のデータ(データメモリ(RA M )及び特別レ
ジスタ(@RO,I/P・・・5M0D>指定データ)
を記″lする。このレジスタは信号Cが出力されると、
+1カウントするアップカウンタとしても働く。
レジスタ/カウンタ404は、命令コードに続く3バイ
ト目の内部データメモリ(RAM)および特別レジスタ
(@RO,I/P・・・5M0L))を指定するもので
、ゲート405が選択され信号406が出力されるとそ
のときデーケバスフ00上のデータ即ち命令コードに続
く3バイト目のデータ(データメモリ(RAM)及び特
別レジスタ(◎RO,I10・・・5M0D>指定デー
タ)を記憶する。このレジスタは信号Cが出力されると
、+1カウントするアップ力「クンタとしても働く。−
このレジスタ404は、ADDCdataaddres
s  1.data  addreSS2のように2つ
のオペランドアドレスを指定可能な命令二−モニツクで
表わされる命令(任意領域のデータ間の演算)をくり返
す場合に、dataaddress  2がセットされ
、1命令実行毎に+1カラントされる。
記′臘部500はレジスタ401および404のデータ
メモリ(RAM)及び特別レジスタ(@RO,I10・
・・5M0D>指定データの選択および選択データの記
憶をする。グー1〜502はWIR3信号によりレジス
タ401及びレジスタ404のデータを選択する。レジ
スタ501はゲート503が選択され、信号504が出
力されると、レジスタ401および404のデータ即ち
データメモリ(RAM)及び特別レジスタ(@R0゜I
lo・・・5M0D>指定データのうちゲート502で
選択されたものを記憶する。
解読部600は内部データメモリ(RAM)と特別レジ
スタ(@RO,I10・・・5M0D)を制御する信号
(R/W)を発生する。ゲート601は選択信号604
により、カウンタ306の内容あるいはレジスタ501
のデータメモリ(RAM)及び特別レジスタ(@RO,
I10・・・5M0D>を指定するデータを選択して第
2のPLA602へ伝達する。
第2のPLA602は、レジスタ501およびカウンタ
306からのデータを解読して、内部データメモリ(R
AM)および特別レジスタ(@RO,I10・・・5M
0D>を操作する制御信号(R/W>を発生するもので
、レジスタ501およびカウンタ306のデータ即ちデ
ータメモリ(RAM)及び特別レジスタ(@RO,I1
0・・・5M0D>指定データのうちグー1〜601で
選択されたものを解読し、タイミング信号603との論
理積(AND)を取り、データメモリ(RAM)および
特別レジスタ(@RO,I10・・・SMOD)を制御
する信号を発生する。
次に、CP口内部データメモリ(RAM)と特別レジス
タ(@RO,I10・・・5M0D)の構成を第3図を
参照して説明する。同図においてCPUの内部データメ
モリ(RAM>31は、バンク方式で分割されている。
バンク内はレジスタRO〜7の8個で構成されており、
dataaddress ”oo−07)−ばて指定さ
れる。
データメモリ(RAM)のバンク指定は第1図のRAM
DPLレジスタ30で行なう。第3図の40は特別レジ
スタ(@RO,I10・・・5M0D>領域で、dat
a addreSS″08〜0Frll”で指定される
。特別レジスタ(@RO。
Ilo・・・5M0D>のうち081−1〜OF I−
1即ち@ARO〜7の領域は間接data  addr
ess指定レジスタで、この領域が指定されると@AR
O〜7の内容がデータメモリ(r< A M )及び特
別レジスタ(@RO,I10・・・5M0D>を指定す
る。10〜3F11の領域は特別レジスタ内のデータメ
モリ(RAM)領域となっている。
40〜0FF11の領1或I10ボート、タイマカウン
タ等の特別機能を持つレジスタ類でdataaddre
ssで指定される。
以下、第4図を参照して上記実施例の動作を説明する。
第4図において03CIはCPUの発振器クロックを示
し、CLOCKはCPU内部データメモリ(RAM)と
特別レジスタ(@RO,I10・・・5M0D>への書
込み同期クロックを示す。
BUS7〜Oは第2図のCPU内部データバス700の
データ出力状態を示す。203(WIRI>は第2図の
信号203を示す。
201 (fざEGISTER)は第2図の命令レジス
タ201の状態を示す。101 (REGISTER)
は第2図の命令実行回数指定レジスタ101の状態を示
す。110 (COUNTFR)は第2図の命令実行回
数をカウントするカウンタ110の状態を示す。A、B
、C,Dは第2図の信号A、[3,C,Dの状態を示す
。301(R[l:GISTER)は第2図のレジスタ
301の状態を示す。306 (COUNTFR)は第
2図のカウンタ306の状態を示す。403(WIR2
)は第2図の信号403を示す。
401 (COUNTER)は第2図のレジスタ401
の状態を示す。406 (WIR3)は第2図の信号4
06を示す。404 (COUNTER)は第2図のレ
ジスタ404の状態を示す。WRおよびWIR3は第2
図の信号WIRおよびW I R3を示す。501 (
REGISTER)は第2図のレジスタ501の状態を
示す。604 (SELDAR>は第2図の信号604
を示す。60’1OUTは第2図の選択回路601の出
力状態を示す。
ENABLESFRとENABLE  RAMは第2図
のPI A602から出力される特別レジスタ(@RO
,I10・・・5M0D>と内部データメモリ(RAM
)の読出し信号を示す。WRITESFRおよびWRI
TE  RAMは第2図のPLA602から出力される
特別レジスタ(@RO。
Ilo・・・5M0D>と内部データメモリ(RAM)
の書込み信号を示す。WTPRlは第1図のTPlでル
ジスタ20の書込み信号を示す。TPRlは第1図のT
PR1レジスタ20の状態を示す。
WTPR2は第1図のTPR2レジスタ21の占込み信
号を示す。TPl2は第1図の1− P R2レジスタ
21の状態を示す。ALU  MODEは第1図のAL
Uの演節モードを示す。ENABLEALUは第1図の
ALU23のデータ出力1を号を示す。WPSWは第1
図のPSW(フラグステータス)レジスタの占込み信号
を示す。CA RRYは第1図のPSWレジスタ内の主
キャリフラグでALU23の8ビツト目から出力される
キャリを示す。ACは第1図のPSW内レジしタ内の補
助キャリフラグでALU23の4ピツI〜目から出るキ
ャリを示す。ALU  CARRY  INは第1図の
ALU23のキャリ入力を示す。
5ELECTはADDCA、data address命令が第2図の命令レジスタ201に取
込まれると、第2図のPLA205から出力される信号
で、連続命令実行を示す制御信号である。OP  MO
DEは連続命令実行中の実行命令を示す。第4図のタイ
ムヂp−t〜はキャリ例のレジスタとレジスタとの加算
命令であり、命令二−モニツクはADDCA、data
addressで示され、ADDCA。
data  address命令を連続3回実行する場
合を示している。ADDCA、dataaddress
命令実行に先だって、第2図の連続命令実行設定レジス
タ101内には連続3回同じ命令を実行するので“03
 )−1”が前もってセットされる。命令二−モニツク
へで指定される第2図のレジスタ301にはOOI−1
がセットされていて、内部デーテメモリ(RAM)の“
’ OOH”番地を指定するものとする。そして、da
taaddressは “30 H”番地から始まるものとする。表1に、Aと
data  addreSSで指定される所のデータの
記憶状態を示ず。
表1 Aとdata  addressで指定される所
の記憶データ第4図の第1回目のMl −31時にFR
OM信号が出力されるとADDCA、data addressの命令コード” 35 H”が第1図の
ROM4から読出され、CPU内部バス7〜Oは“00
11010’l”となり、WIR1信号203が出力さ
れると、命令レジスタ201に“”35H”が記憶され
る。それと同時にレジスタ301の内容がカウンタ30
6に入り、カウンタ306は“’ OO)−1”になる
。選択ゲー1〜601のSEL  DAR信号602は
Ml −31からMl−83中間まで“1″となってい
るのでPLA604にはカウンタ306の内容が入力さ
れる。
MI−33に入るとP L A 602からカウンタ3
06の内容で指定されるO OHI地の内容“50 H
”が続出され、CPUバス7〜0は0101000とな
る。この時WTPR2信号がPLA205から出力され
、TPR2にデータ“50 H”が記憶される。第1回
目のMl−33時にゲート107が選択され信@108
が出力されるとフリップフロップ109にMl−33の
後縁で取込まれ信号Bが出力される。信号Bが出ツノさ
れるとレジスタ110には、レジスタ101の命令実行
回数設定データ“03 H”が取込まれる。
レジスタ110に“03 H”データが取込まれるとゲ
ート111の出力信号Aは“Omeとなりゲート107
,113.202および310の動作を禁止する。Ml
−34に入るとFROM信号が出力され、命令コードに
続く2バイト目のデータ(data  address
>”30H”がROMメモリから続出されCPU内部バ
ス7〜0は00110000となる。この時WIR2が
PLA205から出力されカラタン401およびレジス
タ501に“30 H”が記憶される。選択ゲート60
1の604[SEL  DAR]信丹はM’1−34か
らM2−33の中間まで“1″となるのでPLA602
にはレジスタ501の内容が入力される。Ml −85
に入るとPLA602から’ 30 H”番地の読出し
信号が出力され“30ト1″番地の内容゛22 H”が
読出されCPU内部バス7〜Oは“00100010”
となる。この時、PLA205からWTPRIが出力さ
れ、TPRlに“22[1”データが記憶される。
ALUのモードは加算命令実行中であるのでPLA20
5からADD信号が出力され、T P R1とTPR2
の内容を加算する。選択ゲート601の5ELDAR信
丹604はM2−34から次のMl−33の中間まで“
1″となっているのでPLA602にはカウンタ306
の内容が入力される。M2−55に入るとPLA205
からENABLE  ALU信号が出力され、TPRl
TPR2とキャリの加算結果(22f−1+ 50 H
十〇 = 72 H)が出力され、CPU内部バス7〜
Oは“’01110010”となる。この時PLA60
2からレジスタ306で指定される“OOH”番地への
書込み信号WRITE  RAMが出力され“OOH”
番地に“72 H”が記憶される。一方PLA205か
らPSW書込み信@ W P S Wが出力され主キャ
リと補助キャリをPSW24へ書込む。第1回目の加算
の結果、主キャリと補助キャリは出力されないので“O
Itとなる。M2−85の時ゲート11−2が選択され
カウンタ110゜306および401のカウントクロッ
クCが出力され、M2−35の後縁でカウンタ内容が更
新され、カウンタ110は“03 H”から“02 H
”、カウンタ306は“OOH”から“011−1 ”
そして、カウンタ401は“30 H”から“31 )
−1”となる。M2−36に入ると、ゲート113に入
力されている信号Aが“O″であるからフリップフロッ
プ116の出力信号りは“O1″となる。従って、ゲー
ト402および403は動作を停止する。
M2−86が終了すると第2回目の命令実行に入る。第
2回目のMl −81時には命令レジスタ201の書込
み信号を発生するゲート202に入力されている信号A
が“OIFであるから、レジスタ201の書込み信号2
03は出力されない。従って、命令レジスタ201には
第1回目のM’1−81時に記憶した“351−1 ”
命令コードが残り、第1回目に記憶した命令を実行する
。Ml−33に入ると、Pm2O3からレジスタ306
で指定される“’0111”番地の読出し信号ENAB
LE  RAMが出力されてを011ド。
番地の内容OA A HがCP Uバスに読出され、C
PUバス7〜Oは“10’101010”となる。
この時、PLA205からWTPR2か出力され、TP
R2は“A A H”を記憶する。Ml−34時にPL
A205からWIR2信号が出力されるが、グー1〜4
02に入力されている信号りが“O″であるからレジス
タ401の書込み信号403は出力されない。従って、
レジスタ401の内容は変化しない。WIR2信号はレ
ジスタ501の書込み信号となる。レジスタ50の前段
の選択グー1〜502のWIR3信号が“091となっ
ているので、レジスタ501にはレジスタ401の内容
“′3111”が記憶される。
Ml−35に入るとPLA602からレジスタ501の
内容で指定される“311−1 ”番地の読出し信号E
NABLESFRが出力されて、“31トド′番地の内
容“0BC11”がCPUバスに読出され、CPUバス
7〜Oは“10111100”となる。この時PLA2
05からWTPRlが出力され丁PR1に“0BC11
”が記憶される。
ALUの=E”−ドは加算命令実行中であるのでP L
 A 205からADD信号が出力されている。
M2−35に入るとPLA205から ENABLE  ALUが出力されて、TPRl。
TPR2と主キャリの加算結果(BC+AA十〇=66
)がCPUバスに出力され、CPUバス7〜Oは“01
100110”となる。この時、PLA602からレジ
スタ306で指定される“011−1 ”番地への書込
み信号WRITERAMが出力され“01H”番地に“
’ 66 H”が記憶される。一方PLA205からp
swi込み信号WPSWが出ツノされ、主キャリと補助
キャリをPSW24へ書込む。第2回目の加算を行なう
と、その結果主キャリと補助キャリが出力されるので結
果はとららも“′1″となる。M2−35時にゲート1
12が選択されカウンタ110゜306および401の
カウントクロックCが出力され、M2−35の後縁でカ
ウンタの内容が更新され、カウンタ1’IOは“02 
H”″から“’011−1”、カウンタ306は“’0
N−1”から“02 +−1”そして、カウンタ401
は“311−1 ”から“32トI″となる。
M2−36に入ると、フリップフロップ116のデータ
入力グー1−113の入力信号Aが“091であるので
、フリップフロップ116の出力信号りはひきつづき“
099となる。
M2−36が終了すると第3回目の命令実行に入る。第
3回日のMl−31時には、命令レジスタ201の書込
み信号を発生する入力ANDゲート202に入力されて
いる。信号りが“01%であるから、レジスタ201の
書込み信号203は出カされない。従って、命令レジス
タ201には第1回目のM ’I −31時に記憶した
“’ 35 )−1”命令コードが残り第1回目に記憶
した命令を実行する。
Ml−33時に入るとPI A602からレジスタ30
6で指定される“’02)1”番地の読出し信号ENA
BLE  RAMが出力されて“02 H”番地の内容
“33 H”がCPUバスに読出され、CPUバス7〜
Oは“0011001’l”となる。
この時P L A 205からWTPR2が出力され、
TPR2は“’ 33 H”を記憶する。
Ml−34時にPLA205からW!R2信号が出力さ
れるが、入力ANDゲート402に入力されている信Q
 Dが“Otpであるからレジスタ401の書込み信@
403は出力されない。従ってレジスタ401の内容は
変化しない。WIR2はレジスタ501の書込み信号と
なる。レジスタ501の前段の選択ゲート502のWI
R3信号が“Otoとなっているので、レジスタ501
にはレジスタ401の内容“’32H”が記憶される。
Ml−35に入るとPLA602からレジスタ501の
内容で指定される“32 H”番地の読出し信号ENA
BLE  SFRが出力され、“32)!”番地の内容
“55 H”が出力され、CPU内部バス7〜Oは“0
1010”101”となる。この時PLA205からW
TPR’lが出力されTPRlに“551−1 ”が記
憶される。ALUのモードは加算命令実行中で必るので
P L A 205がらADD信号が出力されている。
M2−35に入るとPIA205から [INABL  ALUが出力され、 TPRl、TPR2と主キVりの加算結果(33t−1
+551−1 +1 = 89 H)が出力され、CP
U内部バス7〜Oは“10001001”となる。この
時、PLA602からレジスタ306で指定される“’
0211”番地への書込み信号WRITE  RAMが
出力され“02[−1″番地に“891−1 ”が記憶
される。一方PLA205がらPSWの書込み信号wp
swが出力され主キャリと補助キャリをPSW24へC
込む。第3回目の加算結果主キャリと補助キャリは出力
されないので結果はどちらも“011となる。M2−3
5時カウンタ110,306および401のカウントク
ロックCが出力され、M2−35後縁でカウンタの内容
が更f7され、カウンタ110は“OI H”から“0
011”、カウンタ306は“02 )−1”から“0
311”そして、カウンタ401は“32 )−1”か
ら“3311”になる。
M 2−36に入ると命令実行回数ヂエツクカウンタ1
10の内容が“001−1 ”となるので、グーi〜1
11の“O+tチェック八へ号Aが“1″となる。ゲー
ト113の入力信QAが“1″となるのでフリップフロ
ップ116の出ツノ信号りは“1″となる。Ml −3
6が修了すると3回連続命令実行モードは終了する。
次のMl−3lに入ると命令レジスタ20’lの書込み
信号を発生するゲート202に入力されている信号Aが
“1″であるので信号203が出力され、命令レジスタ
201には次の命令が記憶され新たな命令を実行する。
表2で示すデータを連続加算実行した場合の従来CPU
処理方式と本発明の処理方式の比較を示す。
表2  データ配置表 従来CPU処理 ■CLRC←主キトりをクリアする。
■MOV  A、00  (−00H番地のデータをA
に持って来る。
■ADDCA、30(−Aと30 H番地の内容を加算
する。
■MOV  00.A  ←加算結果ヲOO)−1番地
に格納する。
■MOVA、01  ←OIH番地のデータをAに持っ
て来る。
■ADDCA、31←Aと31 H番地の内容を加算す
る。
■MOV  01.A  ←加算結果ヲO’l t−1
番地に格納する。
■MOVA、02  ←021−i番地のデータをAに
持って来る。
■ADDCA、32=−Aと32 H番地の内容を加算
する。
■MOV  02.A  ←加算結果を028%8地に
格納する。
本発明CPU処理 ■CLRC←主キャリをクリアす る。
■MOV  DAR,#OO’−DARにOOHデータ
をセットする。
■MOV  MOD、#03(−MODに連続実行回数
データ03 Hをセ ットする。
■ADDCA、30   ←−Aと30H番地の命令を
実行する。
本発明CPU処理は従来方式と比較すると従来10命令
実行のところを4命令で行なえる利点があり、しかもR
OMパイ1〜効率が良い上、処理速度が向上する利点が
ある。特にデータ転送命令(MOV  data  a
ddress  1゜data  address  
2)においては、任意領域間のブロック転送が容易に行
なえるので、割込み処理や通常処理においてスタックを
使用しなくても容易にυブルーヂンを構築することがで
きる利点もある。
以上説明したように、本発明は命令実行回数を計数する
レジスタとdata  addressを指定するレジ
スタと命令二−モニツクAで指定されるレジスタの内容
を1命令実行ごとにカウントすることにより任意の連続
バイト演昨を可能に1゛ることかできる。
また、命令二−モニツクADDCdataadress
  1.  data  address2で表わされ
る命令を連続するオペランドアドレスについて、くり返
し実行する場合には、レジスタ401および404を用
い、上記動作説明でレジスタ306,401について述
べたのと同様に、レジスタ401および404を1命令
実行毎に+1カウントすることにより、連続的にアドレ
スを作ることとすればよい。
[発明の効果〕 以上のように本発明によれば、異なるオペランドアドレ
ス(データメモリや特別レジスタ)のデータ(オペラン
ド)について同一のオペレーションをくり返して実行す
るに際して、オペレーションを命令レジスタに保持した
まま、異なるオペランドアドレスを順次指定することと
しているので、処理速度が高くなり、またバイト効率が
良くなる。
【図面の簡単な説明】
第1図は本発明一実施例のCPUを示すブロック図、 第2図は第1図のPLA部70を示すブロック図、 第3図は第1図のCPU内のデータメモリ(RAM)と
特別レジスタの配置を示す図、第4図は第1図のCPU
の動作を示すタイムチャートである。 21.22・・・テンポラリレジスタ、23・・・演算
器、31・・・データメモリ(RAM)、70・・・P
LA部、100・・・命令実行回数監視部、101・・
・命令実行回数設定レジスタ、110・・・命令実行回
数カウンタ、111・・・ゲート、200・・・命令解
読部、201・・・命令レジスタ、204・・・PLA
、300・・・レジスタ部、301・・・レジスタ、3
06,401,404・・・レジスタ/カウンタ、40
0・・・記憶部、600・・・命令解読部、602・・
・PLA。

Claims (1)

  1. 【特許請求の範囲】 1、データバスに接続されて、命令を読込む命令レジス
    タ(201)と、 該命令レジスタから命令を読込んでCPU全体を制御す
    る第1の命令解読器(204)であって、同一のオペレ
    ーションをCPU内部の異なるオペランドアドレスのオ
    ペランドについて順次繰返す連続実行命令を受けたとき
    、連続実行モード信号を出力する第1の命令解読器(2
    04)と、上記連続実行モード信号に応じて、連続実行
    回数の設定値をセットされ、オペレーションの実行毎に
    カウントして該カウント値が上記設定値に到達したとき
    に、到達信号を出力する連続実行回数監視部(100)
    と、 オペレーションの実行毎にカウントして、順次異なるア
    ドレスを出力するカウンタ(306)、(401)、(
    404)と、 上記カウンタの出力を受けて上記異なるオペランドアド
    レスのデータを順次指定する第2の命令解読器(602
    )と、 上記連続実行モード信号が出力されてから、上記到達信
    号が出力されるまでの間、上記命令レジスタ(201)
    が上記データバスから新たな命令を読込むのを禁止する
    手段(202)と を備えた命令解読装置。 2、上記連続実行回数監視部(100)は、上記データ
    バスからの命令実行回数の設定値を取込んで記憶するレ
    ジスタ(101)と、 上記レジスタから命令実行回数の設定値をセットされて
    、命令の実行毎にカウントダウンするカウンタ(110
    )と、 上記カウンタの内容が0になったとき上記到達検出信号
    を出力する手段(111)と を備えていることを特徴とする特許請求の範囲第1項記
    載の命令解読装置。
JP62003305A 1987-01-12 1987-01-12 命令解読装置 Expired - Lifetime JP2675779B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP62003305A JP2675779B2 (ja) 1987-01-12 1987-01-12 命令解読装置
US07/141,234 US4958275A (en) 1987-01-12 1988-01-06 Instruction decoder for a variable byte processor
DE3886781T DE3886781T2 (de) 1987-01-12 1988-01-12 Befehlsdekoder.
EP88300196A EP0275170B1 (en) 1987-01-12 1988-01-12 Instruction decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62003305A JP2675779B2 (ja) 1987-01-12 1987-01-12 命令解読装置

Publications (2)

Publication Number Publication Date
JPS63172339A true JPS63172339A (ja) 1988-07-16
JP2675779B2 JP2675779B2 (ja) 1997-11-12

Family

ID=11553646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62003305A Expired - Lifetime JP2675779B2 (ja) 1987-01-12 1987-01-12 命令解読装置

Country Status (4)

Country Link
US (1) US4958275A (ja)
EP (1) EP0275170B1 (ja)
JP (1) JP2675779B2 (ja)
DE (1) DE3886781T2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0770961B2 (ja) * 1988-08-12 1995-07-31 日本電気株式会社 マイクロコンピュータ
US5155820A (en) * 1989-02-21 1992-10-13 Gibson Glenn A Instruction format with designations for operand lengths of byte, half word, word, or double word encoded in address bits
US5179691A (en) * 1989-04-12 1993-01-12 Unisys Corporation N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M
US5241637A (en) * 1990-01-05 1993-08-31 Motorola, Inc. Data processor microsequencer having multiple microaddress sources and next microaddress source selection
JPH04140892A (ja) * 1990-02-05 1992-05-14 Internatl Business Mach Corp <Ibm> 制御データをエンコードする装置及び方法
JP2592979B2 (ja) * 1990-04-25 1997-03-19 株式会社東芝 信号処理用集積回路装置
JPH04293124A (ja) * 1991-03-20 1992-10-16 Hitachi Ltd データ処理プロセッサ
JP2520544B2 (ja) * 1991-09-26 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション タスクのオ―バ―ラン状態を監視する方法及びタスク実行サイクルのオ―バ―ランを検出する装置
JP2943464B2 (ja) * 1991-12-09 1999-08-30 松下電器産業株式会社 プログラム制御方法及びプログラム制御装置
US5371864A (en) * 1992-04-09 1994-12-06 International Business Machines Corporation Apparatus for concurrent multiple instruction decode in variable length instruction set computer
US5584031A (en) * 1993-11-09 1996-12-10 Motorola Inc. System and method for executing a low power delay instruction
NL9400607A (nl) * 1994-04-15 1995-11-01 Arcobel Graphics Bv Dataverwerkingscircuit, vermenigvuldigingseenheid met pijplijn, ALU en schuifregistereenheid ten gebruike bij een dataverwerkingscircuit.
US5828875A (en) * 1997-05-29 1998-10-27 Telefonaktiebolaget Lm Ericsson Unroll of instructions in a micro-controller
US6609216B1 (en) 2000-06-16 2003-08-19 International Business Machines Corporation Method for measuring performance of code sequences in a production system
JP3886870B2 (ja) * 2002-09-06 2007-02-28 株式会社ルネサステクノロジ データ処理装置
US8161461B2 (en) * 2005-03-24 2012-04-17 Hewlett-Packard Development Company, L.P. Systems and methods for evaluating code usage
US7415599B1 (en) 2005-11-01 2008-08-19 Zilog, Inc. Instruction operation and operand memory location determined based on preceding instruction operation and operand memory location
US20100023733A1 (en) * 2008-04-15 2010-01-28 Vns Portfolio Llc Microprocessor Extended Instruction Set Precision Mode

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49116932A (ja) * 1973-03-09 1974-11-08
JPS59135549A (ja) * 1983-01-21 1984-08-03 Matsushita Electric Ind Co Ltd 電子計算機装置
JPS59178544A (ja) * 1983-03-30 1984-10-09 Fujitsu Ltd メモリアクセス回路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1043358A (en) * 1962-04-02 1966-09-21 Hitachi Ltd Control system for digital computer
US3466613A (en) * 1967-01-13 1969-09-09 Ibm Instruction buffering system
US3665411A (en) * 1970-06-08 1972-05-23 Singer Co Computer
US3771141A (en) * 1971-11-08 1973-11-06 Culler Harrison Inc Data processor with parallel operations per instruction
US4118776A (en) * 1975-07-17 1978-10-03 Nippon Electric Company, Ltd. Numerically controlled machine comprising a microprogrammable computer operable with microprograms for macroinstructions and for inherent functions of the machine
US4037213A (en) * 1976-04-23 1977-07-19 International Business Machines Corporation Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US4202035A (en) * 1977-11-25 1980-05-06 Mcdonnell Douglas Corporation Modulo addressing apparatus for use in a microprocessor
US4306287A (en) * 1979-08-31 1981-12-15 Bell Telephone Laboratories, Incorporated Special address generation arrangement
GB2187577B (en) * 1986-03-07 1989-11-15 Stc Plc Digital computer systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49116932A (ja) * 1973-03-09 1974-11-08
JPS59135549A (ja) * 1983-01-21 1984-08-03 Matsushita Electric Ind Co Ltd 電子計算機装置
JPS59178544A (ja) * 1983-03-30 1984-10-09 Fujitsu Ltd メモリアクセス回路

Also Published As

Publication number Publication date
DE3886781D1 (de) 1994-02-17
EP0275170B1 (en) 1994-01-05
JP2675779B2 (ja) 1997-11-12
US4958275A (en) 1990-09-18
EP0275170A2 (en) 1988-07-20
DE3886781T2 (de) 1994-06-16
EP0275170A3 (en) 1990-04-25

Similar Documents

Publication Publication Date Title
JPS63172339A (ja) 命令解読装置
JP2003196084A (ja) リードモディファイライトユニットを有するシステム
KR100578010B1 (ko) 정보처리회로,마이크로컴퓨터및전자기기
JP2620511B2 (ja) データ・プロセッサ
JPH0527971A (ja) 情報処理装置
US4409653A (en) Method of performing a clear and wait operation with a single instruction
US5446865A (en) Processor adapted for sharing memory with more than one type of processor
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JP2006072961A (ja) 演算処理装置のメモリ回路
JPS58178464A (ja) 並列演算処理装置
US5321842A (en) Three-state driver with feedback-controlled switching
US5278959A (en) Processor usable as a bus master or a bus slave
JP3145044B2 (ja) 高速データ演算処理装置
JPH02278424A (ja) 正規化装置
GB2027238A (en) Clear and wait instruction means and method
JP2812610B2 (ja) パイプライン制御方式
JPH06103064A (ja) データ処理装置及びそのデータ処理方法
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JPH0667896A (ja) シングルチップマイクロコンピュータ
JP2924004B2 (ja) 命令コード転送方式
JP2002278753A (ja) データ処理システム
JP2536102B2 (ja) デ―タ処理装置
JPH0683640A (ja) 割込応答処理方式
JP2513806B2 (ja) 拡張ボ―ド
JPH056273A (ja) 演算処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term