JPH04329436A - 中央演算処理装置 - Google Patents

中央演算処理装置

Info

Publication number
JPH04329436A
JPH04329436A JP3126695A JP12669591A JPH04329436A JP H04329436 A JPH04329436 A JP H04329436A JP 3126695 A JP3126695 A JP 3126695A JP 12669591 A JP12669591 A JP 12669591A JP H04329436 A JPH04329436 A JP H04329436A
Authority
JP
Japan
Prior art keywords
instruction
data
program
output
circuit
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
JP3126695A
Other languages
English (en)
Inventor
Tomohisa Ishikawa
智久 石川
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP3126695A priority Critical patent/JPH04329436A/ja
Publication of JPH04329436A publication Critical patent/JPH04329436A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央演算処理装置に係
り、詳細には即値データ(immediate dat
a)をプログラムメモリ中に配置可能にした中央演算処
理装置に関する。
【0002】
【従来の技術】命令は一般に0〜3個のオペランドおよ
び0〜1個の次命令を指定することができる。CPUは
、命令実行時にこれらの指定に従ってオペランドおよび
次命令の存在する位置、即ち、アドレスを決定する必要
がある。また、命令のオペランド部がオペランドそのも
のである場合、これを即値データ(以下、即値という)
と呼び、定数オペランドとして用いる。従来のCPUに
おいては命令オペランドとメモリを特定するために数値
化された小量のデータ(オペランド)とにより構成され
、大量のデータは外部ROMとしてCPUのプログラム
メモリのアドレッシング空間とは別のアドレッシング回
路により供給される。CPUは外部のアドレッシング回
路を命令によって個別に制御し、外部ROMからのデー
タは所定のバスを通して演算用RAMに格納される。
【0003】プログラムメモリが1アドレスにオペコー
ド、オペランド1、オペランド2のデジタルコードを出
力する固定長固定サイクル命令であるとすると、即値を
演算時に1回だけ使用する場合は上記命令に含ませてし
まうことができる。例えば、<mov  R0  50
H>(R0というRAMの一部に即値50Hを格納する
)命令がプログラムメモリから出力された場合、その命
令のオペコードがオペレーションデコーダを通して解読
されオペレーションデコーダからmov(ムーブ)制御
を行うための信号が出力されるとともに、オペランド1
がRAMアドレス制御回路を通してRAMの格納アドレ
スを指定し、オペランド2が所定ビット(例えば、8ビ
ット)の即値を直接バス、セレクタ及びALUを通して
演算用RAMのデータ入力に入力することによってRA
Mの所定領域R0に50Hという即値が入力される。こ
の例では命令の中に存在するため制御用の即値しか使用
されない。一般に、データメモリ(電子楽器等に用いた
場合では周波数テーブル、伴奏データ等)は大量である
ため上述したようにプログラムメモリ内に即値データと
して存在させることはできず、外部にデータメモリ(外
部ROM)を設けてこのデータメモリからデータを取込
む必要がある。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の中央演算処理装置にあっては、外部のデータ
メモリからデータを取込む構成となっていたため、専用
のデータメモリ及びそのアドレッシング回路が必要とな
るばかりか演算用RAMにデータを格納するまでに非常
に時間がかかるため高速処理ができないという問題点が
あった。すなわち、上記データメモリは、プログラムメ
モリからの指示を受けて演算用RAMからのアドレスデ
ータを出力ラッチに格納することによってアドレスが与
えられ、これによって初めてデータメモリからデータが
読み出されることとなり、読み出されたデータは所定の
セレクタ及びALUを通して演算用RAMに格納される
。従来の電子楽器用カスタムCPUなどではすべてこの
方法によりボードにアドレス16〜22ビットをセット
してデータメモリのアクセスを行っている。このため、
従来では、(I)データメモリ及びそのアドレッシング
回路が別に必要となる、(II)高速に即値が得られず
、処理時間がかかりすぎる、(III)大量データ処理
が困難になり、大量データ処理が必要な電子楽器用CP
Uとしての速度のボトルネックとなりつつある、(IV
)メモリ単位の下落に伴って大量データ処理が行われる
傾向にあり、上記不具合がより拡大しつつある、という
問題があった。そこで本発明は、プログラムメモリ領域
にデータメモリ領域を配置可能として専用のデータメモ
リ及びそのアドレッシング回路を不要にするとともに、
処理速度を大幅に向上させることができる中央演算処理
装置を提供することを目的としている。
【0005】
【課題を解決するための手段】本発明は、複数の命令か
らなる所定のプログラムを記憶するプログラム記憶手段
と、前記プログラム記憶手段をアドレッシングして命令
を読出すアドレッシング手段と、演算用データを書込み
読出し可能な演算データ記憶手段と、前記プログラム記
憶手段から出力される命令に含まれるオペコードを解読
する命令解読手段と、前記プログラム記憶手段から出力
される命令に含まれるオペランドを用いて前記演算デー
タ記憶手段をアドレッシングして演算用データを書込み
又は読出しする演算データアドレッシング手段と、前記
命令解読手段の解読結果に従って前記演算データ記憶手
段に対する演算を実行する演算手段と、を備えた中央演
算処理装置において、前記プログラム記憶手段にさらに
即値データを転送する機能を有する第1の転送命令及び
、前記命令解読手段から所定の制御信号を出力させる第
2の転送命令を記憶させ、前記制御手段を遅延させて遅
延制御信号を出力する遅延手段とを設け、前記命令解読
手段は、前記遅延手段から出力された遅延制御信号によ
り即値データ転送後の所定数の命令の実行を停止するよ
うに制御するようにしている。
【0006】
【作用】本発明では、プログラム記憶手段に即値データ
を転送する機能を有する第1の転送命令と、命令解読手
段から所定の制御信号を出力させる第2の転送命令とが
記憶されている。そして、遅延手段により制御信号が遅
延され、プログラム記憶手段から出力されたオペコード
及び遅延手段から出力された遅延制御信号により即値デ
ータ転送後の所定数の命令のみ実行を停止するように制
御される。すなわち、即値データの転送が行われると遅
延制御信号によりその後の所定数の命令が無効となるよ
うに制御される。従って、無条件分岐命令等を用いるこ
となくプログラムの作成ができ、少ない命令でデータテ
ーブル参照が実現可能になる。
【0007】
【実施例】以下、本発明を図面に基づいて説明する。
【0008】原理説明 先ず、本発明の基本原理について説明する。図1及び図
2はデータテーブルを参照して転送命令を実行するプロ
グラムのリストを示す図であり、図1は従来のプログラ
ムリストを、図2は本発明にかかる中央演算処理装置の
プログラムリストを示している。ここで、データテーブ
ルは6byteのデータテーブルとし、オペコード,オ
ペランド1,オペランド2はHEX表現で表されている
ものとする。
【0009】また、プログラムはオペコードが6bit
1オペランド1,オペランド2が8bitであり、命令
が22bit1stepの固定長固定サイクル命令であ
るとすると、従来の命令による動作は図1のリストに示
すようなものとなる。すなわち、図1に示すように、先
ずアドレスAで<mov r0 rs>命令が出力され
ると、演算用RAM(後述)のr0(オペランド1)に
r5(オペランド2)の内容を転送し、<sh 1 r
0>命令により演算用RAMのr0を1bit左シフト
してr0に転送する。そして、<brr r0>命令を
実行する。ここで、brrは、プログラムカウンタ(P
C)相対分岐(ブランチ)命令であり、この場合はPC
に現在のPC値=A+2+1にレジスタr0の値(02
H)を加算した値を格納することによってA+2+1+
2=A+5のアドレスに分岐する動作を行う(図1ア参
照)。すなわち、<brrr0>命令はその時のレジス
タr0の値を足したアドレスに分岐させる命令であり、
プログラムメモリ上の即値データであるr0の値で分岐
先を指定できるため、外部のデータメモリ等から即値デ
ータを読込む必要はなく処理速度の点で非常に好適であ
る。
【0010】<dmvi 3210H>命令は、即値転
送命令であり、即値であるオペランド1,2の値(ここ
では210H)を16bitのLMレジスタ(後述)に
転送する命令である。なお、図1のリスト中△印はデー
タであることを示している。
【0011】<br end>命令は、無条件分岐であ
り、endはそのラベルを示す。同様に、<br en
d>命令で図1イに示すように無条件分岐する。
【0012】<dmvi BA98H>命令では即値B
A98Hを16bitのレジスタLMにセットするもの
であるが、この場合は図1イに示すアドレスA+6番地
の無条件分岐により実行されない。
【0013】<dmov r2,3 LM>命令はLM
レジスタの16bitデータ7654Hをレジスタr2
,r3にデータ転送する命令であり、これによってLM
の内容が内部のレジスタr2,r3に読み込まれる。
【0014】以上のように、上記リストの例ではA番地
のr5を1にセットしておけばアドレスA+5番地の2
byteデータがr2,r3にセットされる。また、r
5=0にするとA+3番地の即値データがr2,r3に
転送され、r5=1にするとA+7番地の即値データが
r2,r3に転送されるテーブル参照プログラムとなっ
ている。
【0015】ところで、上記即値転送命令<dmvi>
を用いて即値データを転送することによって即値データ
をプログラムメモリ上に配置可能となり、これによって
外部のデータメモリからのデータの取込みが減少すると
ともにデータテーブルアクセスがプログラム命令と同時
に行えるようになって処理速度が高められることとなる
。しかし、即値データにより分岐先を指定するために相
対分岐命令<brr ro>の他に無条件分岐命令<b
rr end>が必要となり(この<brr end>
がないと、適当なアドレス番地に分岐できない場合があ
る)、図1に示すようにプログラムステップ数が増えて
しまい効率よいプログラム作成が困難であるという問題
点があった。
【0016】そこで本発明に係る中央演算処理装置では
図2のプログラムリストに示すように<dmvi>命令
と同様に2byteの即値をLMレジスタに転送し、次
の命令の動作を無効にする(いわゆるNOPにする)d
mvis命令を設けることにより、<br end>命
令を不要にして図2のプログラムリストで図1のプログ
ラムリストと同様の動作をさせるようにする。すなわち
、図2に示すように、先ずアドレスAの<mov r0
 r5>命令により演算用RAMのr0にr5の内容を
転送し、<brr r0>命令でプログラムカウンタ(
PC)において現在のPC値(PC+1)にレジスタr
0の値(r0=01H)を加算した値のアドレスA+3
に分岐する動作を行う(図2ア参照)。
【0017】<dmvis 3210H>命令は、即値
をレジスタLMに転送し、かつ、次の命令の動作を無効
にする機能を有する即値転送命令であり、前記16bi
t即値転送命令<dmvi>にスキップ(skip)を
付加した命令に相当する。なお、このアドレスA+2番
地の<dmvis 3210H>命令はこのプログラム
リストでは図2アに示す分岐命令によりA+3番地に分
岐されるため実行されない。また、図2のリスト中△印
はデータであることを示している。
【0018】<dmvis 7654H>命令では、即
値7654HをLMにセットし、次の<dmvis B
A98H>を無処理とし時間のみ費やすようにアドレス
カウンタの値を+1更新してPCからA+5をプログラ
ムメモリに与えるようにする(図2イ参照)。<dmo
v r23 LM>命令によりLM値をレジスタr2,
r3に転送する(図2ウ参照)。
【0019】以上は、r0=1の場合の例であるが、同
様にr0=0の場合は<dmvis 7654H>命令
<dmvi BA98H>命令がNOPになり、またr
0=2の場合は<dmvi BA98H>命令が実行さ
れてr23=BA98Hとなる。このように、図2のプ
ログラムリストで図1のプログラムリストと同様の動作
をさせることができるようになるため、プログラムステ
ップ数を大幅に減少させることができる。また、データ
がプログラムメモリに直接格納されるので従来のように
外部のデータメモリからデータを読み出してくる処理が
なくなりコストが低減されるとともに処理速度が格段に
向上する。
【0020】一実施例 以下、上記基本原理に基づいて実施例を説明する。図3
〜図8は本発明に係る中央演算処理装置の一実施例を示
す図であり、固定長固定サイクル命令を実行する中央演
算処理装置に適用した例である。
【0021】先ず、構成を説明する。図3は中央演算処
理装置の全体構成図である。図3において、11は固定
長サイクル命令を実行可能な中央演算処理装置(CPU
)、12はCPU11にデータを供給する外部データメ
モリであり、CPU11は、基本クロックCK1,CK
2および制御信号MOV,BRR,DMVI,DMOV
を基に各部を制御するクロック信号P1,P2,P3,
P4,P5,T1(図7参照)を生成するクロック回路
21と、制御信号MOV,BRR,DMVI,DMOV
を基に各ゲートを制御する信号C1,C2,C3,C4
,C5,C6(図7参照)を生成するデータ制御回路2
2と、オペコード、オペランド1,オペランド2が1ア
ドレスに存在する固定長固定サイクル命令に基づくプロ
グラムを記憶するプログラムメモリ23と、プログラム
メモリ23から出力される命令に含まれるオペコードを
解読して各部に制御信号MOV,BRR,DMVI,D
MOV等(図4参照)を出力するオペレーション(イン
ストラクション)デコーダ24(図4)と、オペレーシ
ョンデコーダ24からの出力信号SKIPに基づいて即
値データ転送後の次の1命令の実行を止める命令信号B
NOPを出力するNOP回路25と(図6)、演算のた
めのデータを書込み読出し可能な演算用RAM26と、
プログラムメモリ23から出力される命令に含まれるオ
ペランド1を用いて演算用RAM26をアドレッシング
する演算用RAMアドレス制御回路27と、オペレーシ
ョンデコーダ24の解読結果に従って演算用RAM26
に対する演算を実行する演算回路28と、プログラムメ
モリ22をアドレッシングするプログラムカウンタ(P
C)29と、データを一時的に保持するラッチ(LM)
30と、データメモリ12に出力されるアドレスデータ
をラッチするラッチ(L3)31とにより構成されてお
り、これら各部はゲート回路32〜36を有するバス3
7により接続されている。
【0022】演算回路28は、演算用RAM26から読
出された演算データをラッチするラッチ(L1)41,
(L2)42と、ラッチ(L2)42の出力とバス37
を通して入力されたデータ(例えば、ラッチLMに格納
された即値データ、データメモリ12から読出されたデ
ータ)とを制御信号C2に従って選択するセレクタ(S
1)43と、ラッチ(L1)41の出力及びセレクタ(
S1)43で選択された出力を基にオペレーションデコ
ーダ24による解読結果(デコード信号)に従って所定
の演算を実行し、その結果を演算用RAM26に出力す
るALU(arithmetic  logical 
 unit)44とから構成されている。
【0023】また、プログラムカウンタ(PC)29は
、次に読出す命令が入っているメモリのアドレスを保持
し命令実行により+1ずつインクリメントするもので、
図示しないスタックカウンタのアドレスの増減により分
岐命令の次の命令のアドレス(復帰後アドレス)を格納
するスタックメモリ等とともにプログラムメモリ23を
アドレッシングするアドレッシング回路としての機能を
有する。
【0024】図4はオペレーションデコーダ24の構成
をシンボリックに表現した構成図である。オペレーショ
ンデコーダ24は例えばNAND  ROMにより構成
されており、図4に示すように命令コードBNOP,O
P0〜OP5をROM中のマイクロプログラムの所定命
令SUB,SHL,Br,Brr,Mov,DMVI,
SKIPにコード変換するマッピングアレイとして構成
されている。すなわち、オペレーションデコーダ24は
16bitの即値転送命令<dmvis>を実現するた
めのインストラクションデコーダであり、本実施例では
プログラムメモリ23のオペコード(例えば、6bit
)を64種類の命令にデコードする機能を持ち、それぞ
れの命令に相当する出力(mov,ADD,…)が出力
される従来のデコード回路に加えて、さらにBNOP入
力、SKIP出力が追加される構成となっている。ここ
で、BNOPは図4に示すようにSKIP以外の全ての
命令ラインとAND条件になっているため、BNOPが
「L」レベルである場合にはSKIP出力以外の出力は
全て「L」となる。 その結果のいずれの命令も実行されないようにCPU1
1全体が動作する。また、DMVI出力は<dmvi>
命令及び<dmvis>命令時にBNOP=Hであれば
ともに「H」となる出力である。BNOP=1,BNO
P=0における上記デコード動作は図5により示されて
いる。
【0025】図6はNOP回路25の回路構成図である
。この図において、NOP回路25は、オペレーション
デコーダ24で解読されたSKIP命令と図8に示すよ
うなクロックCKc,CK2に同期してラッチし1命令
サイクル遅延させる遅延用ラッチ61と、遅延用ラッチ
61の出力を反転してBNOP信号として出力するイン
バータ62とにより構成されている。このような構成に
より、上記オペレーションデコーダ24からSKIP命
令が入力されるとBNOP信号が出力される。従って、
上記BNOPが出力されると図4のオペレーションデコ
ーダ24の構成から明らかなように次の命令は停止され
(命令が無視される)アドレスカウンタだけが更新され
る。
【0026】次に、本実施例の動作を説明する。 CPU11の各部の動作 次に、図7及び図8のタイミングチャートを参照しなが
らCPU11の各部の動作を説明する。ここで図7は図
2のプログラムリストを実行したときの各部のタイミン
グチャートを示し、図8はNOP回路25のタイミング
チャートを示す。CPU11は、図7に示すように基本
クロックCK2の3サイクルで1命令が実行されるMO
V,DMVISと、例外的に6サイクルで1命令となる
BRR,DMOV等がある。
【0027】先ず、プログラムカウンタ(PC)29に
より所定のアドレスが指定されるとプログラムメモリ2
3から22bit固定長データが出力され、具体的には
図7に示すように上位6bitがオペコード(A1)と
してオペレーションデコーダ24に、次の8bitがオ
ペランド1(A2)、下位8bitがオペランド2(A
3)としてバス37を通してRAMアドレス制御回路2
7に出力される。オペレーションデコーダ24はプログ
ラムメモリ23から出力される命令に含まれるオペコー
ドを解読し、解読結果に基づいて制御信号MOV,DM
VI,DMOVを各部回路に供給する。演算回路28は
、オペレーションデコーダ24の解読結果に従って演算
用RAM26に対する演算を実行し、その演算結果を演
算用RAM26に出力する。
【0028】また、図3に示すようにバス37にはアド
レスをデータ出力として演算回路28に供給するための
ラッチ(LM)30が設けられている。すなわち、プロ
グラムメモリ23からオペランド1,オペランド2とし
て出力されるのはアドレスを指定するデータであり、こ
れを直接演算回路28に供給することはできないので上
記ラッチ(LM)30を設けてアドレスデータを一時的
に退避させておくようにする。
【0029】ラッチ(LM)30にラッチされたデータ
は以下のようにして演算回路28に移される。例えば、
図7に示すようにオペコードA1による<mov>によ
ってr5に格納されているデータをr0に移す命令がな
され、次いでオペランドA2<r0>によってラッチ(
LM)30とバス37との間のゲート(C5−1)33
を開き、同時に、バス37上におけるデータの衝突を防
止するためのゲート(C1)32を閉じる。
【0030】ラッチ(LM)30でラッチされたデータ
を演算回路28に読み込むためには、先ず演算回路28
のセレクタ(S1)43に入力される制御信号C2を制
御する必要がある。具体的には図7に示すようにゲート
(C1)32に入力される制御信号C1を立下げるとと
もに、制御信号C2を立上げることによってラッチ(L
M)30からのデータをセレクタ(S1)43で選択さ
せるようにする。また、オペランドA1による命令は<
mov>であるから、ALU44は制御信号MOVが入
力されるとALU44の入力端子Bに入力されたセレク
タ(S1)43のデータだけを通過させて(入力端子A
に入力されるデータは無視)演算用RAM26に出力す
る。このときのデータの流れが図7のL1で示されてお
り、上記通過させるということはラッチ(L1)41か
ら“0”を出力することに相当する。また、セレクタ(
S1)43からALU44に出力されるデータは図7の
S1で示される。この図に示すようにALU44はデー
タr5をそのまま演算用RAM26に出していることに
なる。そして、図6のP6に示すように演算用RAM2
4はP2というタイミングでオペランド1で指定された
r0にアドレスr0が送り込まれる。上述したラッチ(
LM)30からのデータの取出し動作は実際には8bi
t処理により行われるため同様の処理がLM0,LM1
(LM0,LM1は16bitラッチLMの8bit単
位の名称)に分けて2回行われる。
【0031】以上、図7のタイミングチャートに従って
3サイクル1命令で実行されるMOVの動作を例に採り
説明したが、6サイクル1命令で実行されるのBRRと
DMVIS動作の特徴部分を示せば次のようなものであ
る。
【0032】CPU11の即値転送動作図7のA1に示
すように基本クロックCK2の1番目のサイクルに同期
して立上がるクロックT1 に対応してプログラムメモ
リ23から<brr r0>命令が出力され、次いで図
7のC2に示すクロックC2に従ってレジスタr0を信
号A4で指定する。また、このときのプログラムカウン
タ(PC)29の値は(PC+1)である。ここで、指
定されたレジスタr0には前の<mov r0,r5>
命令でr5の内容が格納されているが、このレジスタr
0に格納されている内容r5を図7のDOUTに示すよ
うに演算用RAM26のDOUTに出力させる。信号A
4でレジスタr0が指定されると同時に図7のC4に示
すタイミングでゲート(C4)35を開きプログラムカ
ウンタ(PC)29の値をバス37及びセレクタ(S1
)を通してALU44に出力する。ALU44はPCの
値(PC+2)とクロックP1によってセットされたラ
ッチ(L1)41の内容(この場合はr5)を足して演
算用RAM26のDINにr0として入力し、演算用R
AM26はDOUTからゲート(C3)34及びバス3
7を介してプログラムカウンタ(PC)29に戻す。す
なわち、レジスタr0に格納されているr5の内容をク
ロックP1のタイミングでラッチ(L1)41にラッチ
させるとともに、プログラムカウンタ(PC)29の値
をセレクタ(S1)を通してALU44に入力し、AL
U44はこれらの値をレジスタr0に格納して図7のA
1に示す<brr r0>命令のうちの最初の3サイク
ルの処理が終わる。そして、後半の3サイクルでr0の
値を読出すとともに、その値をゲート(C3)34を介
して図7のP5に示すようにクロックP5のタイミング
でプログラムカウンタ(PC)29に戻すことによって
アドレスカウンタの値が加算される。
【0033】一方、図6に示すNOP回路25はオペレ
ーションデコーダ24からのSKIP出力を1オペレー
ションサイクル遅らせるディレイ回路であり、その出力
BNOPラインはオペレーションデコーダ24のBNO
P入力に接続されている。また、図2に示したリストの
プログラムの動きはNOP回路25上では図8のタイミ
ングチャートで示される。図8に示すように<dmvi
s 76545H>命令実行時にはDMVISKIP出
力が「H」となり「7654」の即値をラッチ(LM)
30に転送するとともに、SKIP信号はNOP回路2
5に入力される。
【0034】次いで、プログラムメモリ23は<dmv
is BA98H>を出力する。そのとき、NOP回路
25の出力が「H」、BNOP信号が「L」となるので
DMVIS出力は本来の「H」レベルが「L」レベルと
なり転送動作を行わない。この場合、他の動作も全て行
わない。このとき、SKIP出力は「L」となるため次
の命令でのNOP処理は行われない。次いで、プログラ
ムメモリ23は<dmov r2,3 LM>命令を出
力し、通常の処理が実行されることになる。
【0035】以上説明したように、本実施例では固定長
固定サイクル命令に基づくプログラムを記憶するプログ
ラムメモリ23と、プログラムメモリ23をアドレッシ
ングするプログラムカウンタ(PC)29と、プログラ
ムメモリ23から出力される命令に含まれるオペコード
を解読して各部に制御信号を出力するオペレーションデ
コーダ24と、オペレーションデコーダ24からの出力
信号SKIPに基づいて転送後の次の命令の実行を止め
る命令信号BNOPを出力するNOP回路25と、演算
のためのデータを書込み読出し可能な演算用RAM26
と、プログラムメモリ23から出力される命令に含まれ
るオペランドを用いて演算用RAM26をアドレッシン
グする演算用RAMアドレス制御回路27と、オペレー
ションデコーダ24の解読結果に従って演算用RAM2
6に対する演算を実行する演算回路28とを設け、オペ
レーションデコーダ24は、NOP回路25から出力さ
れたBNOPにより転送機能を含む次の全ての命令機能
を停止するように制御する機能を備えているので、デー
タテーブル参照が少ない命令でできるようになりプログ
ラムステップ数を大幅に削減することができ、能率よい
プログラム作成が可能になる。また、即値の転送命令が
プログラムメモリに大量に配置可能となり、データテー
ブル・アクセスがプログラム命令と同時にできるように
なるため、処理速度を飛躍的に向上させることができる
。さらに、専用の外部データメモリやそのアドレッシン
グ回路を不要にすることができコスト低減を図ることが
できるとともに、この上述した機能を達成するための回
路もきわめて少なく従来のカスタムCPUへも非常に容
易に応用可能である。
【0036】なお、本実施例では固定サイクル命令が3
サイクル命令のCPUに適用した例であるが、他のサイ
クル命令でも良いことは勿論である。また、上記CPU
11,オペレーションデコーダ24やNOP回路25等
を構成する部材の数、種類などは上述した実施例に限ら
れるものではなく、例えばレジスタ等を増やすようにし
てもよいことは言うまでもない。
【0037】
【発明の効果】本発明によれば、即値データを転送する
機能を有する第1の転送命令及び、前記命令解読手段か
ら所定の制御信号を出力させる第2の転送命令をプログ
ラム記憶手段に記憶させ、さらに制御信号を遅延させて
遅延制御信号を出力する遅延手段とを設け、命令解読手
段は、遅延手段から出力された遅延制御信号により即値
データ転送後の所定数の命令の実行を停止するように制
御しているので、データテーブル参照を少ない命令で実
行可能にしてプログラムステップ数を大幅に削減するこ
とができ、また、プログラムメモリの一部にデータ領域
を設けることが可能となり専用のデータメモリやそのア
ドレッシング回路を不要とすることができることから、
従来方式の別データROMアクセスに比べ、アドレス用
のラッチデータ処理が不要のため、非常に高速に即値が
得られる。
【図面の簡単な説明】
【図1】従来の中央演算処理装置のプログラムリストを
示す図である。
【図2】中央演算処理装置のプログラムリストを示す図
である。
【図3】中央演算処理装置の全体構成図である。
【図4】中央演算処理装置のオペレーションデコーダの
構成図である。
【図5】中央演算処理装置のオペレーションデコーダの
動作を説明するための図である。
【図6】中央演算処理装置のNOP回路の回路図である
【図7】中央演算処理装置のタイミングチャートである
【図8】中央演算処理装置のNOP回路のタイミングチ
ャートである。
【符号の説明】
11  CPU 12  データメモリ 21  クロック回路 22  データ制御回路 23  プログラムメモリ 24  オペレーションデコーダ 25  NOP回路 26  演算用RAM 27  演算用RAMアドレス制御回路28  演算回
路 29  プログラムカウンタ(PC) 30  ラッチ(LM) 32〜36  ゲート回路 37  バス 41  ラッチ(L1) 42  ラッチ(L2) 43  セレクタ(S1) 44  ALU 61  遅延用ラッチ 62  インバータ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の命令からなる所定のプログラムを
    記憶するプログラム記憶手段と、前記プログラム記憶手
    段をアドレッシングして命令を読出すアドレッシング手
    段と、演算用データを書込み読出し可能な演算データ記
    憶手段と、前記プログラム記憶手段から出力される命令
    に含まれるオペコードを解読する命令解読手段と、前記
    プログラム記憶手段から出力される命令に含まれるオペ
    ランドを用いて前記演算データ記憶手段をアドレッシン
    グして演算用データを書込み又は読出しする演算データ
    アドレッシング手段と、前記命令解読手段の解読結果に
    従って前記演算データ記憶手段に対する演算を実行する
    演算手段と、を備えた中央演算処理装置において、前記
    プログラム記憶手段にさらに即値データを転送する機能
    を有する第1の転送命令及び、前記命令解読手段から所
    定の制御信号を出力させる第2の転送命令を記憶させ、
    前記制御手段を遅延させて遅延制御信号を出力する遅延
    手段とを設け、前記命令解読手段は、前記遅延手段から
    出力された遅延制御信号により即値データ転送後の所定
    数の命令の実行を停止するように制御したことを特徴と
    する中央演算処理装置。
JP3126695A 1991-04-30 1991-04-30 中央演算処理装置 Pending JPH04329436A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3126695A JPH04329436A (ja) 1991-04-30 1991-04-30 中央演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3126695A JPH04329436A (ja) 1991-04-30 1991-04-30 中央演算処理装置

Publications (1)

Publication Number Publication Date
JPH04329436A true JPH04329436A (ja) 1992-11-18

Family

ID=14941563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3126695A Pending JPH04329436A (ja) 1991-04-30 1991-04-30 中央演算処理装置

Country Status (1)

Country Link
JP (1) JPH04329436A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154829A (en) * 1997-10-20 2000-11-28 Matsushita Electric Industrial Co., Ltd. Cascaded arithmetic pipeline data processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154829A (en) * 1997-10-20 2000-11-28 Matsushita Electric Industrial Co., Ltd. Cascaded arithmetic pipeline data processor

Similar Documents

Publication Publication Date Title
KR940009094B1 (ko) 데이타처리 시스템
US4539635A (en) Pipelined digital processor arranged for conditional operation
KR100385495B1 (ko) 워드정렬브랜치타겟을가지는처리시스템
JPH06332695A (ja) データ処理装置及びその制御回路
JPH02140830A (ja) 高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置
US6542989B2 (en) Single instruction having op code and stack control field
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
US5581720A (en) Apparatus and method for updating information in a microcode instruction
US6230238B1 (en) Method and apparatus for accessing misaligned data from memory in an efficient manner
JPH08212075A (ja) 情報処理装置
JP2690406B2 (ja) プロセッサおよびデータ処理システム
US5151993A (en) Data processor performing operation on data having length shorter than one-word length
US6564312B1 (en) Data processor comprising an arithmetic logic unit
EP0898226B1 (en) Data processor with register file and additional substitute result register
JPH04329436A (ja) 中央演算処理装置
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
JPH02235289A (ja) 自己刻時レジスターファイル
CN114115997B (zh) 面向处理器的数据传送指令实现方法及系统
EP0915416B1 (en) System for allowing a two word instruction to be executed in a single cycle and method therefor
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JPH02157939A (ja) 命令処理方法及び命令処理装置
JP2901247B2 (ja) 掃出し制御方式
JPS6155130B2 (ja)
JP2738683B2 (ja) データ処理装置
JPH04314131A (ja) 中央演算処理装置