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

中央演算処理装置

Info

Publication number
JPH05334076A
JPH05334076A JP4165362A JP16536292A JPH05334076A JP H05334076 A JPH05334076 A JP H05334076A JP 4165362 A JP4165362 A JP 4165362A JP 16536292 A JP16536292 A JP 16536292A JP H05334076 A JPH05334076 A JP H05334076A
Authority
JP
Japan
Prior art keywords
data
address
instruction
operand
output
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
JP4165362A
Other languages
English (en)
Inventor
Makoto Takenaka
誠 竹中
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 JP4165362A priority Critical patent/JPH05334076A/ja
Publication of JPH05334076A publication Critical patent/JPH05334076A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 命令ステップ数を増加させることなく、しか
も内部、外部RAMのいかんにかかわらず連続したデー
タを制限なく所望の領域にそっくり転送する。 【構成】 データのMOVE(移動)を行うとき、プロ
グラムROMから出力される命令に含まれるオペランド
OP1、OP2をそれぞれインクリメント回路21、2
2によって順次インクリメンし、これらのインクリメン
ト回路21、22から順次出力されるオペランドOP
1、OP2をアドレスデータとして用いて演算用RAM
をアドレッシングして演算データの書込み又は読み出し
を行う。したがって、データの移動に際して命令をデー
タ分だけ持つ必要がなく、命令ステップ数を増加させず
に、連続したデータの転送が行われる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央演算処理装置(C
PU)に係わり、特に、データを記憶した記憶装置から
データを読み出しあるいは書き込みする方式を改良した
中央演算処理装置に関する。
【0002】
【従来の技術】従来の中央演算処理装置(以下、CPU
という)においては、プログラムを記憶した記憶装置か
ら読み出される命令によりデータを記憶したレジスタあ
るいはRAMをアクセスし、演算を行うようになってい
る。これらの命令には各種あるが、その中でデータをR
AMの特定の領域から別の領域に移動させるいわゆるM
OVE命令がある。
【0003】この命令は、MOVEを示すオペコード
1、移動させるデータを記憶する領域を示すオペランド
1、および新たに移動させる領域を示すオペランド2か
らなっている場合が多い。そして、これによってRAM
に記憶されているデータの移動ができるが、特定の領域
に連続して記憶されたデータを、別の領域にそっくりそ
のまま転送する場合には、この命令をデータ分だけ持つ
必要がある。
【0004】ところが、このような方式では非常に命令
ステップ数が増加してしまい、プログラムを記憶するメ
モリ容量が増大するという欠点がある。
【0005】このような問題を解決するために、例えば
CPU内に転送用のアドレスカウンタを設け、このアド
レスカウンタの上位ビットを転送先のアドレスデータに
よって変化させて下位ビットは共用するという方式があ
る。
【0006】この方式では、例えば転送されるデータの
記憶されているアドレスを、1000(H)番地〜11
11(H)番地とすると、転送先を示すオペランドはこ
の番地に加算する値を示し、例えば、加算値が1000
(H)番地であると、転送先は2000(H)番地〜2
111(H)番地となる。
【0007】
【発明が解決しようとする課題】しかしながら、上記構
成にすれば、一命令で連続したデータを転送できるとい
う利点があるものの、転送先が限定されてしまうという
新たな欠点がある。これは、転送先がメモリマップで予
め決っており、その部分にしか退避できないからであ
る。このため、RAMの使用が制限されてしまうという
問題点があった。
【0008】また、このデータRAMが外付けである場
合、連続したデータを内部RAMとやりとりする際に、
外部RAMのデータをまず読み出してポート(por
t)端子に出力し、次いで、アドレスデータ(内部、外
部RAM共)をインクリメントして次のデータを転送す
るという動作を行わなければならない。特に、外部RA
Mの場合には、内部RAMのアドレスを指定するのとは
別の命令が必要であり(現時点では同時指定できるもの
はない)、どうしても命令ステップ数が多くなるという
という問題点があった。
【0009】そこで本発明は、命令ステップ数を増加さ
せることなく、しかも内部、外部RAMのいかんにかか
わらず連続したデータを制限なく所望の領域にそっくり
転送できる中央演算処理装置を提供することを目的とし
ている。
【0010】
【課題を解決するための手段】上記目的達成のため、本
発明による中央演算処理装置は、複数の命令からなる所
定のプログラムを記憶するプログラム記憶手段と、この
プログラム記憶手段をアドレッシングして記憶された命
令を順次読み出すためのアドレスデータを発生するアド
レッシング手段と、演算用データを書込み読み出し可能
な演算データ記憶手段と、前記プログラム記憶手段から
出力される命令に含まれるオペコードを解読する命令解
読手段と、前記プログラム記憶手段から出力される命令
に含まれるオペランドを順次インクリメントするインク
リメント手段と、このインクリメント手段から順次出力
されるオペランドを用いて前記演算データ記憶手段をア
ドレッシングして演算データを書込み又は読み出しする
演算データアドレッシング手段と、前記命令解読手段の
出力に従って前記演算データ記憶手段に対する演算を実
行する演算手段と、を備えたことを特徴とする。
【0011】また、好ましい態様として、前記プログラ
ム記憶手段に記憶されているプログラムの命令に含まれ
るオペランドは、前記演算用データ記憶手段のデータを
読み出す第1オペランドと、データを前記演算用データ
記憶手段に書き込む第2オペランドと、からなることを
特徴とする。
【0012】前記プログラム記憶手段に記憶されている
プログラムの命令に含まれるオペランドは、前記演算用
データ記憶手段のデータを読み出し書込みするアドレス
データと、インクリメント回数を表すインクリメントデ
ータとからなり、前記インクリメント手段は、前記アド
レスデータを前記インクリメントデータを表す回数分順
次インクリメントすることを特徴とする。
【0013】前記演算用データ記憶手段は、外部RAM
によって構成されていることを特徴とする。
【0014】
【作用】本発明では、例えばデータのMOVE(移動)
を行うとき、プログラム記憶手段から出力される命令に
含まれるオペランドがインクリメント手段によって順次
インクリメントされ、このインクリメント手段から順次
出力されるオペランドをアドレスデータとして用いて演
算データ記憶手段をアドレッシングして演算データの書
込み又は読み出しが行われる。
【0015】したがって、データの移動に際して命令を
データ分だけ持つ必要がなく、命令ステップ数を増加さ
せずに、連続したデータの転送が可能になる。また、転
送先に制限が加わらず、自由に所望の領域に転送でき
る。
【0016】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。第1実施例 図1は本発明に係る中央演算処理装置(CPU)の第1
実施例の概略構成を示すブロック図である。この図に示
すCPU1は大きく分けてプログラムROM2、インス
トラクションデコーダ(OPデコーダ)3、タイミング
信号発生回路4、アドレス制御回路5、演算用RAM
6、ALU7およびプログラムカウンタ(PC回路)8
を含んでいる。そして、各回路間はデータバス9によっ
て相互に接続されている。なお、データバス9における
添字はデータのビット数である。
【0017】プログラムROM(プログラム記憶手段)
2はCPU1の処理動作に必要な命令、場合によっては
データを記憶しており、アドレス端子に入力されるアド
レスデータRA0〜15に従って内部に格納された命令
を順次呼び出し、呼び出した命令を2つに分けて2つの
出力端子群から外部に出力する。
【0018】出力される命令のうち、一方の出力端子群
から出力される6ビットの命令PO16〜21はいわゆ
るオペコードであり、命令の種類を特定するものであ
る。オペコードは機械語の命令の一部で、CPU1内に
おける基本的な操作機能を表す符号(コード)である。
【0019】他方の出力端子群から出力される16ビッ
トの命令PO0〜15はいわゆるオペランドであり、演
算用RAM6のメモリを特定するための数値化されたデ
ータである。そして、これらのオペコードおよびオペラ
ンドによって命令が構成されている。
【0020】ここで、オペランドはCPU1内における
命令によって行われる操作の対象となるデータであり、
具体的には、アセンブリ言語を使用するときに必要で簡
単な規則と文法のうちの1つである。すなわち、アセン
ブリ言語で記述されるステートメント(文)は[ラベ
ル]、[命令コード]、[オペランド]、[コメント]
の4つから構成されるが、オペランドは命令コードで指
定されたメモリ番地、レジスタ名や数値を書くようにな
っている。
【0021】本実施例では、オペランドが演算用RAM
6のメモリ番地を特定するデータとなり、特にオペラン
ド1(OP1)、オペランド2(OP21)に分けてア
ドレス制御回路5に出力される。各オペランド1(OP
1)、オペランド2(OP2)はアドレスデータAD
1、AD2の何れかに対応する(図3参照)。また、本
実施例の場合、オペランド2(OP2)は演算用RAM
6のデータを読み出す第1オペランドに相当し、オペラ
ンド1(OP1)は演算用RAM6にデータを書き込む
第2オペランドに相当する。
【0022】インストラクションデコーダ(命令解読手
段)3はオペコードを受けて、どのような命令であるか
を解釈して必要な制御信号を生成し、他の回路に出力す
る。命令は、この制御信号をもとにして実行される。ま
た、インストラクションデコーダ3は、特に信号WOP
を生成してタイミング信号発生回路4に出力し、信号W
OPはMOVE命令のとき“H”レベルになる。
【0023】タイミング信号発生回路4は、基本クロッ
クΦ1、Φ2(図示略)と、インストラクションデコー
ダ3からの制御信号を受けて種々のタイミング信号CK
1、CK2、CKT1、CKT2、T1、T2、T3、
CKRO、GSC、GSAL、GFC、GFAL、R/
W、THを生成して出力する。これらのタイミング信号
は他の回路の動作のタイミングを制御するために用いら
れる。
【0024】アドレス制御回路(演算データアドレッシ
ング手段)5は、後述のインクリメント手段を含み、プ
ログラムROM2から出力される命令に含まれるオペラ
ンドを順次インクリメントするとともに、インクリメン
トされたオペランドを用いて演算用RAM6をアドレッ
シングして演算データを書込み又は読み出しするような
制御を行う。アドレス制御回路5の詳細は後述の図2に
示す。
【0025】演算用RAM(演算データ記憶手段)6
は、このアドレス制御回路5からのアドレスデータに基
づいて記憶されているデータを読み出したり、あるいは
書き込んだりする。
【0026】ALU(演算手段)7は、演算用RAM6
からのデータあるいはデータバス12を介して入力され
るデータを演算してその演算結果を演算用RAM6に出
力する。
【0027】プログラムカウンタ(アドレッシング手
段)8は、プログラムROM2に記憶されているプログ
ラム(命令)を順次読み出すためのプログラムアドレス
を出力する。
【0028】CPU1の概略構成を述べたので、次にア
ドレス制御回路5の内部構成について説明する。図2は
アドレス制御回路5の内部構成を示す図てある。この図
において、アドレス制御回路5はインクリメント回路
(インクリメンタ)21、22、ラッチ回路23〜26
およびトランスミッションゲート27〜30を含んで構
成される。
【0029】アドレス制御回路5には各種の制御信号が
入力されており、そのうちクロックCKT1、CKT
2、CKROと、制御信号GSC、GSAL、GFC、
GFALはタイミング信号発生回路4から入力されるも
のである。
【0030】ここで、上記各信号の概略を説明すると、
以下のようになる。 CK1、CK2:基本クロックCK1、CK2は互いに
位相が半周期だけずれているもので、CK2の1周期が
1サイクルとなる。なお、T1、T2、T3は命令サイ
クルの信号である。
【0031】CKT1:基本クロックCK1に同期し、
かつT1サイクルに同期するタイミングで発生し、イン
クリメント回路22の出力(アドレス)をラッチ回路2
6にラッチしてインクリメントさせる。
【0032】CKT2:基本クロックCK2に同期し、
かつT1サイクルとは別のタイミングで発生し、インク
リメント回路21の出力(アドレス)をラッチ回路24
にラッチしてインクリメントさせる。
【0033】CKRO:基本クロックCK2に同期し、
かつT1サイクルに同期するタイミングで発生し、オペ
ランド1(OP1)、オペランド2(OP2)をそれぞ
れラッチ回路23、25にラッチさせる。
【0034】GSC:通常は“L”で、MOVE命令の
開始時のT1サイクルに同期するタイミングで“H”に
なり、ラッチ回路25にラッチされたプログラムROM
2からのオペランド2(OP2)を演算用RAM6に出
力したり、インクリメント回路22に出力したりするた
めに用いられる。
【0035】GSAL:通常は“L”で、MOVE命令
の途中のT1サイクルに同期するタイミングで“H”に
なり、インクリメント回路22の出力をラッチしている
ラッチ回路26の出力を再びインクリメント回路22に
供給したり、演算用RAM6に出力したりするために用
いられる。
【0036】GFC:通常は“L”で、MOVE命令の
開始時のT1サイクル終了に同期するタイミングで
“H”になり、ラッチ回路23にラッチされたプログラ
ムROM2からのオペランド1(OP1)を演算用RA
M6に出力したり、インクリメント回路21に出力した
りするために用いられる。
【0037】GFAL:通常は“L”で、MOVE命令
の途中のT1サイクル終了に同期するタイミングで
“H”になり、インクリメント回路21の出力をラッチ
しているラッチ回路24の出力を再びインクリメント回
路21に供給したり、演算用RAM6に出力したりする
ために用いられる。
【0038】ラッチ回路23は信号CKROが“H”に
なるタイミングでプログラムROM2からのオペランド
1(OP1)をラッチし、トランスミッションゲート2
7を介して演算用RAM6にアドレスデータRAA7〜
0として出力したり、インクリメント回路21に供給し
たりする。
【0039】同様に、ラッチ回路25は信号CKROが
“H”になるタイミングでプログラムROM2からのオ
ペランド2(OP2)をラッチし、トランスミッション
ゲート29を介して演算用RAM6にアドレスデータR
AA7〜0として出力したり、インクリメント回路22
に供給したりする。
【0040】インクリメント回路(インクリメント手
段)21はラッチ回路23からトランスミッションゲー
ト27を介して入力されるオペランド1(OP1)を順
次インクリメントし、ラッチ回路24はインクリメント
回路21の出力をラッチする。ラッチ回路24の出力F
CNTはトランスミッションゲート27を介して演算用
RAM6に8ビットのアドレスデータRAA7〜0とし
て出力されるとともに、再びインクリメント回路21に
供給される。
【0041】同様に、インクリメント回路(インクリメ
ント手段)22はラッチ回路25からトランスミッショ
ンゲート29を介して入力されるオペランド2(OP
2)を順次インクリメントし、ラッチ回路26はインク
リメント回路22の出力をラッチする。ラッチ回路26
の出力SCNTはトランスミッションゲート30を介し
て演算用RAM6に8ビットのアドレスデータRAA7
〜0として出力されるとともに、再びインクリメント回
路22に供給される。
【0042】したがって、インクリメント回路21、2
2はプログラムROM2からのオペランド1(OP
1)、オペランド2(OP2)をそれぞれ順次インクリ
メントする機能を有している。
【0043】トランスミッションゲート27〜30は、
そのゲートに供給される制御信号のレベルに対応してオ
ン/オフし、アドレスデータ(ここではオペランド)の
通過を許容/遮断するものである。具体的には、トラン
スミッションゲート27はゲートに供給される信号GF
Cが“L”のときオフしてラッチ回路23とインクリメ
ント回路21(および演算用RAM6)との接続を遮断
し、信号GFCが“H”のときオンして両者を接続させ
る。
【0044】同様に、トランスミッションゲート28は
ゲートに供給される信号GFALが“L”のときオフし
てラッチ回路24とインクリメント回路21(および演
算用RAM6)との接続を遮断し、信号GFALが
“H”のときオンして両者を接続させる。
【0045】トランスミッションゲート29はゲートに
供給される信号GSCが“L”のときオフしてラッチ回
路25とインクリメント回路22(および演算用RAM
6)との接続を遮断し、信号GSCが“H”のときオン
して両者を接続させる。
【0046】トランスミッションゲート30はゲートに
供給される信号GSALが“L”のときオフしてラッチ
回路26とインクリメント回路22(および演算用RA
M6)との接続を遮断し、信号GSALが“H”のとき
オンして両者を接続させる。
【0047】次に、このCPU1の動作について説明す
る。最初に一般な動作から説明すると、まず本実施例の
場合、CPU1は図3(A)に動作のタイミングチャー
トを示すように、基本クロックCK2の6サイクルで1
命令を実行する(信号T1でみると、3ステート2サイ
クル命令)。一方、図3(B)に示す動作例は基本クロ
ックCK2の3サイクルで1命令を実行する場合(信号
T1でみると、3ステート1サイクル命令)で、参考と
してインクリメント手段を使用しない通常の1バイト転
送の動作例を示すものである。この基本クロックCK2
に対して基本クロックCK1は半周期だけ位相がずれて
いる。
【0048】図3(A)は、MOVE2命令を3ステー
ト2サイクル命令によって実行する場合のタイミングチ
ャートである。まず、プログラムカウンタ8により所定
のアドレスが指定されると、このアドレスに基づいてプ
ログラムROM2から命令が読み出されて出力される。
具体的には、読み出された命令のうちオペコードがイン
ストラクションデコーダ3に出力され、オペランドがア
ドレス制御回路5に出力される。
【0049】プログラムROM2から出力された命令に
含まれるオペコードはインストラクションデコーダ3に
よって解読され、この解読結果に基づいて必要な制御信
号が生成されて他の回路に出力される。このとき、オペ
コードOPCの解読結果は図3(A)に示すように、M
OVE2命令となり、これに応じてインストラクション
デコーダ3により信号WOPが“H”レベルに生成され
てタイミング信号発生回路4に出力される。
【0050】これにより、タイミング信号発生回路4に
おいて所望のタイミング信号CK1、CK2、CKT
1、CKT2、T1、T2、T3、CKRO、GSC、
GSAL、GFC、GFAL、R/W、THが図3
(A)に示すタイミングでレベルが変化するように生成
されて出力される。
【0051】プログラムROM2から出力された命令が
演算用RAM6に記憶されているデータを移動するMO
VE2命令であるとき、プログラムROM2からアドレ
ス制御回路5に出力されたオペランドは演算用RAM6
のメモリ番地を特定するデータとなり、例えばオペラン
ド2(OP2)は移動元のアドレスデータAD1に対応
し、オペランド1(OP1)は移動先のアドレスデータ
AD2に対応する。
【0052】アドレス制御回路5は、これらのオペラン
ド2(OP2)、オペランド1(OP1)に基づいて演
算用RAM6のデータを移動させるアドレスデータをタ
イミング信号発生回路4からのタイミングに基づいて順
次発生する。
【0053】具体的には、プログラムROM2からアド
レス制御回路5にオペランド2(OP2)、オペランド
1(OP1)が出力されると、MOVE2命令が解読さ
れるタイミングに同期して信号WOPが“H”に立ち上
がるとともに、信号CKROおよび信号GSCが共に
“H”になる。すなわち、最初の1サイクルが開始す
る。
【0054】信号CKROが“H”になることにより、
オペランド2(OP2)がラッチ回路24にラッチされ
るとともに、オペランド1(OP1)がラッチ回路23
にラッチされる。また、同時に信号GSCが“H”にな
ることにより、トランスミッションゲート29がオンす
る。
【0055】したがって、ラッチ回路24にラッチされ
たオペランド2(OP2)がトランスミッションゲート
29を通過して演算用RAM6に8ビットの移動元のア
ドレスデータAD1を示すものとして出力される。その
後、演算用RAM6では上記アドレスデータAD1をア
ドレスとして移動元のデータが読み出される。
【0056】一方、ラッチ回路24にラッチされたオペ
ランド2(OP2)はトランスミッションゲート29を
通過した後、インクリメント回路22にも供給され、イ
ンクリメント回路22によってインクリメントされる。
インクリメントしたデータはAD1+1となり、信号C
KT1が“H”に立ち上がるタイミングでラッチ回路2
6にラッチされる。ラッチ回路26にラッチされたデー
タはSCNTで表される(このときはSCNT=AD1
+1)。
【0057】次いで、最初の1サイクルが終了して次の
2サイクルに移行する。2サイクルの開始では、まず信
号GSCが“L”に立ち下がると同時に信号GFCが
“H”に立ち上がる。信号GFCが“H”になることに
より、トランスミッションゲート27がオンする。
【0058】したがって、ラッチ回路23にラッチされ
たオペランド1(OP1)がトランスミッションゲート
27を通過して演算用RAM6に8ビットの移動先のア
ドレスデータAD2を示すものとして出力される。その
後、演算用RAM6では上記8ビットのアドレスデータ
AD2をアドレスとして信号R/W(“L”アクティ
ブ)が“L”に立ち下がるタイミングで移動先のアドレ
スにデータが書き込まれる。
【0059】一方、ラッチ回路23にラッチされたオペ
ランド1(OP1)はトランスミッションゲート27を
通過した後、インクリメント回路21にも供給され、イ
ンクリメント回路21によってインクリメントされる。
インクリメントしたデータはAD2+1となり、信号C
KT2が“H”に立ち上がるタイミングでラッチ回路2
4にラッチされる。ラッチ回路24にラッチされたデー
タはFCNTで表される(このときはFCNT=AD2
+1)。
【0060】また、1サイクルが終了して次の2サイク
ルに移行するとき、信号GSALが“H”に立ち上が
り、トランスミッションゲート30がオンする。これに
より、ラッチ回路26にラッチされているアドレスデー
タSCNTがトランスミッションゲート30を通過して
演算用RAM6に8ビットの次の移動元のアドレスデー
タAD1+1を示すものとして出力され、演算用RAM
6でこのアドレスデータAD1+1をアドレスとして次
の移動元のデータが読み出される。
【0061】また、ラッチ回路26にラッチされている
アドレスデータSCNTはトランスミッションゲート3
0を通過した後、インクリメント回路22にも供給さ
れ、インクリメント回路22によってインクリメントさ
れ、インクリメントデータAD1+2となり、信号CK
T1が“H”に立ち上がるタイミングでラッチ回路26
にラッチされる。このとき、ラッチ回路26にラッチさ
れたデータSCNTはSCNT=AD1+2となる。こ
のようにして移動元のアドレスデータAD1がインクリ
メント回路22によって順次インクリメントされる。
【0062】同様に、1サイクルが終了して次の2サイ
クルに移行するとき、信号GSALが“L”に立ち下が
ると同時に信号GFALが“H”に立ち上がる。信号G
FALが“H”になることにより、トランスミッション
ゲート28がオンする。
【0063】これにより、ラッチ回路24にラッチされ
ているアドレスデータFCNTがトランスミッションゲ
ート28を通過して演算用RAM6に8ビットの次の移
動先のアドレスデータAD2+1を示すものとして出力
され、演算用RAM6でこのアドレスデータAD2+1
をアドレスとして“L”アクティブの信号R/Wに同期
して次の移動先にデータが書き込まれる。
【0064】また、ラッチ回路24にラッチされている
アドレスデータFCNTはトランスミッションゲート2
8を通過した後、インクリメント回路21にも供給さ
れ、インクリメント回路21によってインクリメントさ
れ、インクリメントデータAD2+2となり、信号CK
T2が“H”に立ち上がるタイミングでラッチ回路24
にラッチされる。このとき、ラッチ回路24にラッチさ
れたデータFCNTはFCNT=AD2+2となる。こ
のようにして移動先のアドレスデータAD2がインクリ
メント回路21によって順次インクリメントされる。
【0065】このように、データを連続して移動させる
MOVE2命令を実行するとき、プログラムROM2か
らアドレス制御回路5に出力される命令に含まれるオペ
ランド2(OP2)、オペランド1(OP1)がインク
リメント回路21、22によって順次インクリメンさ
れ、これらのインクリメント回路21、22からそれぞ
れ順次出力されるデータAD2、AD1をアドレスデー
タとして用いて演算用RAM6がアドレッシングされ、
データの読み出しおよび書込みが行われて、データの移
動が行われる。
【0066】すなわち、転送先を示すアドレスデータが
順次、最初の番地に加算されてデータの転送が行われ、
一命令で連続したデータを転送できる。
【0067】したがって、データの移動に際して命令を
連続データ分だけ持つ必要がなく、単にアドレスデータ
AD2、AD1を順次インクリメントしアドレスデータ
として演算用RAM6をアドレッシングするのみでよい
から、命令ステップ数を増加させることなく、連続した
データの移動を行うことができる。
【0068】また、転送先に制限が加わらず、例えば転
送先がメモリマップで予め決っており、その部分にしか
退避できないということがなく、したがって、RAMの
使用が制限されるという事態を避けて自由に所望の領域
に転送することができる。
【0069】次に、インクリメント手段を使用しない通
常の1バイト転送の動作例を図3(B)を参照して説明
すると、プログラムカウンタ8により所定のアドレスが
指定された場合、このアドレスに基づいてプログラムR
OM2から命令が読み出されて出力される。具体的に
は、読み出された命令のうちオペコードがインストラク
ションデコーダ3に出力され、オペランドがアドレス制
御回路5に出力される。
【0070】プログラムROM2から出力された命令に
含まれるオペコードはインストラクションデコーダ3に
よって解読され、この解読結果に基づいて必要な制御信
号が生成されて他の回路に出力される。このとき、オペ
コードOPCの解読結果は図3(B)に示すように、M
OVE1命令となり、これに応じてインストラクション
デコーダ3により信号WOPが“H”レベルに生成され
てタイミング信号発生回路4に出力される。
【0071】これにより、タイミング信号発生回路4に
おいて所望のタイミング信号CK1、CK2、CKT
1、CKT2、T1、T2、T3、CKRO、GSC、
GFC、R/W、THが図3(B)に示すタイミングで
レベルが変化するように生成されて出力される。
【0072】プログラムROM2から出力された命令が
演算用RAM6に記憶されているデータを移動するMO
VE1命令であるとき、プログラムROM2からアドレ
ス制御回路5に出力されたオペランドは演算用RAM6
のメモリ番地を特定するデータとなり、例えばオペラン
ド2(OP2)は移動元のアドレスデータAD1に対応
し、オペランド1(OP1)は移動先のアドレスデータ
AD2に対応する。
【0073】アドレス制御回路5は、これらのオペラン
ド2(OP2)、オペランド1(OP1)に基づいて演
算用RAM6のデータを移動させるアドレスデータをタ
イミング信号発生回路4からのタイミングに基づいて順
次発生する。
【0074】すなわち、プログラムROM2からアドレ
ス制御回路5にオペランド2(OP2)、オペランド1
(OP1)が出力されると、MOVE1命令が解読され
るタイミングに同期して信号WOPが“H”に立ち上が
るとともに、信号CKROおよび信号GSCが共に
“H”になる。すなわち、命令サイクルが開始する。
【0075】信号CKROが“H”になることにより、
オペランド2(OP2)がラッチ回路24にラッチされ
るとともに、オペランド1(OP1)がラッチ回路23
にラッチされる。また、同時に信号GSCが“H”にな
ることにより、トランスミッションゲート29がオンす
る。
【0076】したがって、ラッチ回路24にラッチされ
たオペランド2(OP2)がトランスミッションゲート
29を通過して演算用RAM6に8ビットの移動元のア
ドレスデータAD1を示すものとして出力される。その
後、演算用RAM6では上記アドレスデータAD1をア
ドレスとして移動元のデータが読み出される。
【0077】次いで、信号GSCが“L”に立ち下がる
と同時に信号GFCが“H”に立ち上がる。信号GFC
が“H”になることにより、トランスミッションゲート
27がオンする。
【0078】したがって、ラッチ回路23にラッチされ
たオペランド1(OP1)がトランスミッションゲート
27を通過して演算用RAM6に8ビットの移動先のア
ドレスデータAD2を示すものとして出力される。その
後、演算用RAM6では上記8ビットのアドレスデータ
AD2をアドレスとして信号R/Wが“L”に立ち下が
るタイミングで移動先のアドレスにデータが書き込まれ
る。
【0079】なお、信号GSAL、GFAL、CKT
1、CKT2のレベルは変化ぜず、データSCNT、F
CNTも使用されない。
【0080】このように、1バイトのデータを単に移動
させるMOVE1命令を実行するとき、プログラムRO
M2からアドレス制御回路5に出力される命令に含まれ
るオペランド2(OP2)、オペランド1(OP1)が
それぞれアドレスデータAD2、AD1として用いら
れ、演算用RAM6がアドレッシングされ、データの読
み出しおよび書込みが行われて、データの移動が行われ
る。
【0081】第2実施例 次に、本発明の第2実施例について説明する。図4は本
発明に係る中央演算処理装置(CPU)の第2実施例の
概略構成を示すブロック図である。この図に示すCPU
51は大きく分けてプログラムROM52、インストラ
クションデコーダ(OPデコーダ)53、アドレス制御
回路54、演算用RAM55、ALU56、プログラム
カウンタ(PC回路)57およびクロック発生回路58
を含んでいる。そして、各回路間はデータバス59によ
って相互に接続されている。なお、データバス59にお
ける添字はデータのビット数である。
【0082】プログラムROM(プログラム記憶手段)
52はCPU51の処理動作に必要な命令、場合によっ
てはデータを記憶しており、アドレス端子Aに入力され
るアドレスデータに従って内部に格納された命令を順次
呼び出し、呼び出した命令を3つに分けて3つの出力端
子群から外部に出力する。
【0083】出力される命令のうち、第1の出力端子群
から出力される6ビットの命令PO16〜21はいわゆ
るオペコードOPCであり、命令の種類を特定するもの
である。オペコードOPCは機械語の命令の一部で、C
PU51内における基本的な操作機能を表す符号(コー
ド)である。このオペコードOPCはラッチ回路61を
介してインストラクションデコーダ53に出力される。
【0084】第2の出力端子群、第3の出力端子群から
それぞれ出力される8ビットの命令PO0〜7、PO8
〜15はいわゆるオペランド1(OP1)、オペランド
2(OP2)であり、演算用RAM55のメモリを特定
するための数値化されたデータである。そして、これら
のオペコードおよび各オペランドによって命令が構成さ
れている。
【0085】本実施例では、オペランドが演算用RAM
6のメモリ番地を特定するデータとなり、特にオペラン
ド1(OP1)、オペランド2(OP21)に分けてア
ドレス制御回路54に出力される。ここで、オペランド
1(OP1)は演算用RAM55のデータを書込み読み
出しするアドレスデータAD1に相当し、オペランド2
(OP2)はアドレスデータをインクリメントするイン
クリメント回数を表すインクリメントデータSCNTに
相当する。
【0086】インストラクションデコーダ(命令解読手
段)53はオペコードを受けて、どのような命令である
かを解釈して必要な制御信号を生成し、他の回路に出力
する(第1実施例のタイミング制御回路の機能も兼用す
る)。命令は、この制御信号をもとにして実行される。
【0087】具体的には、インストラクションデコーダ
53はクロック発生回路58からのタイミング信号CK
1、CK2を受けて種々のタイミング信号CK3、CK
4、CKRO、GFC、GSC、GFA、GSA、CK
SA、CKRA、CKAD、CKI、GPC、GID、
TH、GSI、GFD、GSD、CKRAを生成して出
力する。これらのタイミング信号は他の回路の動作のタ
イミングを制御するために用いられる。
【0088】アドレス制御回路(演算データアドレッシ
ング手段)54は、後述のインクリメント手段を含み、
プログラムROM52から出力される命令に含まれるオ
ペランドを順次インクリメントするとともに、インクリ
メントされたオペランドを用いて演算用RAM55をア
ドレッシングして演算データを書込み又は読み出しする
ような制御を行う。アドレス制御回路54の詳細は後述
する。
【0089】演算用RAM(演算データ記憶手段)55
は、このアドレス制御回路54からのアドレスデータに
基づいて記憶されているデータを読み出したり、あるい
は書き込んだりする。
【0090】ALU56は、演算用RAM55からのデ
ータあるいはデータバス59を介して入力されるデータ
を演算してその演算結果を演算用RAM55に出力す
る。
【0091】プログラムカウンタ(アドレッシング手
段)57は、プログラムROM52に記憶されているプ
ログラム(命令)を順次読み出すためのプログラムアド
レスを出力するとともに、特に本実施例ではCPU51
の外部に接続されている外部メモリのデータをアクセス
するためのアドレスを作成する回路にもなる。
【0092】クロック発生回路58は基本クロックΦ
1、Φ2(図示略)を受けてタイミング信号CK1、C
K2、T1を発生し、必要な回路に供給する。
【0093】外部メモリ(演算データ記憶手段)71
は、例えば汎用のROM又はRAMによって構成され、
プログラムカウンタ57からの外部アドレスに基づいて
アクセスされ、データを書き込んだり、あるいはデータ
を読み出してデータバス59に供給する。
【0094】CPU51の概略構成を述べたので、次に
アドレス制御回路54の内部構成について説明する。ア
ドレス制御回路54はインクリメント回路(インクリメ
ンタ)81、82、ラッチ回路83〜86、比較回路
(コンパレータ)87、インバータ88、89およびト
ランスミッションゲート90〜95を含んで構成され
る。
【0095】アドレス制御回路54には各種の制御信号
が入力されており、そのうちクロックCKSA、CKR
Oと、制御信号GSC、GFC、GSA、GFAはイン
ストラクションデコーダ53から入力されるものであ
る。
【0096】ここで、上記各信号の概略を説明すると、
以下のようになる。 CK1、CK2:基本クロックCK1、CK2は互いに
位相が半周期だけずれているもので、CK2の1周期が
1サイクルとなる。なお、T1は命令サイクルの信号で
ある。
【0097】CKSA:基本クロックCK2に同期し、
かつT1サイクルの立ち下がりエッジに同期するタイミ
ングで発生し、インクリメント回路81、82の出力
(アドレス)をそれぞれラッチ回路84、86にラッチ
してインクリメントさせる。
【0098】CKRO:基本クロックCK2に同期し、
かつ命令サイクルの立ち上がりエッジに同期するタイミ
ングで発生し、オペランド1(OP1)、オペランド2
(OP2)をそれぞれラッチ回路83、85にラッチさ
せる。
【0099】GSC:通常は“L”で、“H”になると
トランスミッションゲート92をオンさせて、ラッチ回
路85にラッチされたプログラムROM52からのオペ
ランド2(OP2)を演算用RAM55に出力したり、
インクリメント回路82に出力したりするために用いら
れる。
【0100】GFC:通常は“L”で、“H”になると
トランスミッションゲート90をオンさせて、ラッチ回
路83にラッチされたプログラムROM52からのオペ
ランド1(OP1)を演算用RAM55に出力したり、
インクリメント回路81に出力したりするために用いら
れる。
【0101】GSA:通常は“L”で、“H”になると
トランスミッションゲート95をオンさせて、上記オペ
ランド2(OP2)を演算用RAM55に出力するため
に用いられる。
【0102】GFA:通常は“L”で、“H”になると
トランスミッションゲート94をオンさせて、上記オペ
ランド1(OP1)を演算用RAM55に出力するため
に用いられる。
【0103】ラッチ回路83は信号CKROが“H”に
なるタイミングでプログラムROM2からのオペランド
1(OP1)をラッチし、トランスミッションゲート9
0、94を介して演算用RAM55に8ビットのアドレ
スデータとして出力したり、トランスミッションゲート
90を介してインクリメント回路21に供給したりす
る。
【0104】同様に、ラッチ回路85は信号CKROが
“H”になるタイミングでプログラムROM2からのオ
ペランド2(OP2)をラッチし、トランスミッション
ゲート92、95を介して演算用RAM55に8ビット
のアドレスデータとして出力したり、トランスミッショ
ンゲート92を介してインクリメント回路82に供給し
たりする。
【0105】インクリメント回路(インクリメント手
段)81はラッチ回路83からトランスミッションゲー
ト90を介して入力されるオペランド1(OP1)を順
次インクリメントし(インクリメント後の出力はFCN
Tとなる)、ラッチ回路84は信号CKSAが“H”に
なるタイミングでインクリメント回路81の出力をラッ
チする。ラッチ回路84の出力はトランスミッションゲ
ート91を介して再びインクリメント回路81に供給さ
れるとともに、さらにトランスミッションゲート94を
介して演算用RAM55に8ビットのアドレスデータA
D1として出力される。
【0106】同様に、インクリメント回路(インクリメ
ント手段)82はラッチ回路85からトランスミッショ
ンゲート92を介して入力されるオペランド2(OP
2)を順次インクリメントし(インクリメント後の出力
はインクリメント回数を表すインクリメントデータSC
NTとなる)、ラッチ回路86は信号CKSAが“H”
になるタイミングでインクリメント回路82の出力をラ
ッチするとともに、リセット信号Rが“H”になるタイ
ミングでラッチ状態をリセットする。リセット処理によ
りインクリメントデータSCNTは[0]になる。
【0107】ラッチ回路86の出力はトランスミッショ
ンゲート93を介して再びインクリメント回路82に供
給される。
【0108】したがって、インクリメント回路81、8
2はプログラムROM2からのオペランド1(OP
1)、オペランド2(OP2)をそれぞれ順次インクリ
メントする機能を有している。
【0109】比較回路87はラッチ回路85の出力であ
るオペランド2(OP2)(すなわち、当初のインクリ
メントデータ)と、ラッチ回路86の出力であるインク
リメント後のデータSCNTとを比較し、その比較結果
が所定値、例えば[3]になって時点で“H”レベルと
なる信号CMPをインストラクションデコー53に出力
する。したがって、信号CMPはオペランド2(OP
2)をインクリメントした回数をカウントした結果に相
当し、その回数は[3]に限らず、他の値でもよい。要
は、比較回路87で所望のインクリメント回数がカウン
トできればよい。
【0110】インストラクションデコー53は信号CM
Pが“H”レベルになると、所定のインクリメント回数
だけアドレスデータAD1がインクリメントされたと判
断し、データの書込み読み出し命令を停止するなどの処
理を行う。
【0111】トランスミッションゲート90〜95は、
そのゲートに供給される制御信号のレベルに対応してオ
ン/オフし、アドレスデータやインクリメントデータ
(ここではオペランド)の通過を許容/遮断するもので
ある。具体的には、トランスミッションゲート90はゲ
ートに供給される信号GFCが“L”のときオフしてラ
ッチ回路83とインクリメント回路81との接続を遮断
し、信号GFCが“H”のときオンして両者を接続させ
る。
【0112】同様に、トランスミッションゲート91は
インバータ88を介してゲートに供給される信号GFC
の反転値が“L”のときオフしてラッチ回路84とイン
クリメント回路81との接続を遮断し、信号GFCの反
転値が“H”のときオンして両者を接続させる。
【0113】トランスミッションゲート94はゲートに
供給される信号GFAが“L”のときオフしてアドレス
データAD1が演算用RAM55に供給されのを阻止
し、信号GFAが“H”のときオンしてアドレスデータ
AD1が演算用RAM55に供給されるのを許容する。
【0114】一方、トランスミッションゲート92はゲ
ートに供給される信号GSCが“L”のときオフしてラ
ッチ回路85とインクリメント回路82との接続を遮断
し、信号GSCが“H”のときオンして両者を接続させ
る。
【0115】トランスミッションゲート93はインバー
タ89を介してゲートに供給される信号GSCの反転値
が“L”のときオフしてラッチ回路86とインクリメン
ト回路82との接続を遮断し、信号GSCの反転値が
“H”のときオンして両者を接続させる。
【0116】トランスミッションゲート95はゲートに
供給される信号GSAが“L”のときオフしてインクリ
メントデータSCNTが演算用RAM55に供給されの
を阻止し、信号GSAが“H”のときオンしてインクリ
メントデータSCNTが演算用RAM55に供給される
のを許容する。
【0117】次に、ALU56の周辺回路について説明
する。ALU56の周辺にはラッチ回路101、10
2、インバータ103およびトランスミッションゲート
104〜107が配置されており、これらの各回路およ
びALU56は全体として演算手段108を構成してい
る。
【0118】演算手段108には各種の制御信号が入力
されており、そのうちクロックCK3、CK4と、制御
信号TH、GSI、GSD、GFD、THはインストラ
クションデコーダ53から入力されるものである。
【0119】ここで、上記各信号の概略を説明すると、
以下のようになる。 CK3、CK4:基本クロックCK1のあるタイミング
に同期して“H”となり、演算用RAM55の出力デー
タをそれぞれラッチ回路101、102にラッチさせる
制御信号である。
【0120】GFD:通常は“L”で、“H”になると
トランスミッションゲート106をオンさせて、ラッチ
回路101にラッチされた演算用RAM55からの出力
データをデータバス59に出力するために用いられる。
【0121】GSD:通常は“L”で、“H”になると
トランスミッションゲート105をオンさせて、ラッチ
回路102にラッチされた演算用RAM55からの出力
データをデータバス59に出力するために用いられる。
【0122】GSI:通常は“L”で、このときインバ
ータ103を介してトランスミッションゲート104を
オンさせて、演算用RAM55からの出力データをAL
U56に出力するために用いられる。一方、“H”にな
るとインバータ103を介してトランスミッションゲー
ト104をオフさせて、演算用RAM55からの出力デ
ータがALU56に出力されるのを阻止するとともに、
トランスミッションゲート107をオンさせて、データ
バス59のデータをALU56に出力するために用いら
れる。
【0123】TH:通常は“L”で、このときALU5
6は通常の演算処理を行い、“H”になると、データを
単に通過(スルー)させるのみとする命令信号である。
【0124】ラッチ回路101は信号CK3が“H”に
なるタイミングで演算用RAM55からの出力データを
ラッチし、ALU56に出力したり、トランスミッショ
ンゲート106を介してデータバス59に出力したりす
る。
【0125】同様に、ラッチ回路102は信号CK4が
“H”になるタイミングで演算用RAM55からの出力
データをラッチし、トランスミッションゲート104を
介してALU56に出力したり、トランスミッションゲ
ート105を介してデータバス59に出力したりする。
【0126】トランスミッションゲート104はインバ
ータ103を介してゲートに供給される信号GSIの反
転値が“L”のときオフしてラッチ回路102とALU
56との接続を遮断し、信号GSIの反転値が“H”の
ときオンして両者を接続させる。
【0127】トランスミッションゲート107はゲート
に供給される信号GSIが“L”のときオフしてデータ
バス59とALU56との接続を遮断し、信号GSIが
“H”のときオンして両者を接続させる。
【0128】トランスミッションゲート106はゲート
に供給される信号GFDが“L”のときオフしてデータ
バス59とALU56の入力端子Aとの接続を遮断し、
信号GFDが“H”のときオンして両者を接続させる。
【0129】トランスミッションゲート105はゲート
に供給される信号GSDが“L”のときオフしてデータ
バス59とALU56の入力端子Bとの接続を遮断し、
信号GSDが“H”のときオンして両者を接続させる。
【0130】ALU56は各ラッチ回路101、102
からのデータをそれぞれ各入力端子A、Bで受け取り、
信号THが“L”のとき通常の演算を実行し、信号TH
が“H”になると、データをスルーさせて演算用RAM
55に出力する。なお、ALU56の出力データは出力
端子Fから演算用RAM55のデータ入力端子Iに供給
されるようになっている。
【0131】次に、次にプログラムカウンタ(PC回
路)57の内部構成について説明する。プログラムカウ
ンタ57はインクリメント回路(PC)111、ラッチ
回路112、113、インバータ114、115および
トランスミッションゲート116〜119を含んで構成
される。
【0132】プログラムカウンタ57には各種の制御信
号が入力されており、そのうち制御信号CKAD、CK
I、GPC、GIDはインストラクションデコーダ53
から入力されるものである。
【0133】ここで、上記各信号の概略を説明すると、
以下のようになる。 GKAD:通常は“L”で、“H”になるとラッチ回路
112にラッチ動作をさせるラッチパルスとして用いら
れる。具体的には、CK2と同位相で3発目毎に、T1
サイクル終了後に発生する。なお、例えば命令は3サイ
クルで構成され、T1〜T2〜T3(ただし、T2、T
2サイクルは図示略)を繰り返す。これにより、ラッチ
回路112にアドレスがラッチされ、プログラムROM
2にアドレスとして供給される。
【0134】CKI:基本クロックCK2と同相であ
り、通常は“L”で、“H”になるとラッチ回路113
にラッチ動作をさせるラッチパルスとして用いられる。
【0135】GPC:通常は“H”で、外部メモリ71
のアクセス時には“L”となり、トランスミッションゲ
ート116をオンさせてラッチ回路112の出力を再び
インクリメント回路111に戻す経路を作成するととも
に、インバータ114を介してトランスミッションゲー
ト117をオフさせる。
【0136】GID:通常は“H”で、外部メモリ71
のアクセス時には“L”となり、トランスミッションゲ
ート118をオフさせるとともに、インバータ115を
介してトランスミッションゲート119をオンさせ、イ
ンクリメント回路111の出力を再びラッチ回路113
に戻す経路を作成する。
【0137】ラッチ回路113はトランスミッションゲ
ート118を介して入力されるデータバス12からのデ
ータ、あるいはトランスミッションゲート119を介し
て入力されるインクリメント回路111からのデータを
ラッチし、ラッチしたデータをトランスミッションゲー
ト117を介してインクリメント回路111に出力する
とともに、外部アドレスとして外部メモリ71に出力す
る。
【0138】インクリメント回路111はラッチ回路1
13にラッチされているデータを[1]ずつインクリメ
ントし、トランスミッションゲート119を介して再び
ラッチ回路113に出力するとともに、ラッチ回路11
2に出力する。ラッチ回路112はインクリメント回路
111の出力をラッチする。ラッチ回路22の出力はア
ドレス(16ビットのデータ)としてプログラムROM
2に供給されるとともに、トランスミッションゲート1
16を介して再びインクリメント回路111に供給され
る。
【0139】トランスミッションゲート116はゲート
に供給される信号GPCが“L”のときオフしてラッチ
回路112とインクリメント回路111との接続を遮断
し、信号GPCが“H”のときオンして両者を接続させ
る。
【0140】トランスミッションゲート117はインバ
ータ114を介してゲートに供給される信号GPCの反
転値が“L”のときオフしてラッチ回路113とインク
リメント回路111との接続を遮断し、信号GPCの反
転値が“H”のときオンして両者を接続させる。
【0141】トランスミッションゲート118はゲート
に供給される信号GIDが“L”のときオフしてラッチ
回路113とデータバス59との接続を遮断し、信号G
IDが“H”のときオンして両者を接続させる。
【0142】トランスミッションゲート119はインバ
ータ115を介してゲートに供給される信号GIDの反
転値が“L”のときオフしてインクリメント回路111
とラッチ回路113との接続を遮断し、信号GIDの反
転値が“H”のときオンして両者を接続させる。
【0143】次に、このCPU51の動作について説明
する。内部RAMのデータを外部メモリに書き込む場合 図5は内部の演算用RAM55からデータを読み出して
外部メモリ71に書き込む場合のタイミングチャートで
ある。まず、プログラムカウンタ57により所定のアド
レスが指定されると、このアドレスに基づいてプログラ
ムROM52から命令が読み出されて出力される。具体
的には、読み出された命令のうちオペコードOPCがイ
ンストラクションデコーダ53に出力され、オペランド
1(OP1)、オペランド2(OP2)がアドレス制御
回路54に出力される。
【0144】プログラムROM52から出力された命令
に含まれるオペコードOPCはインストラクションデコ
ーダ53によって解読され、この解読結果に基づいて必
要な制御信号CK3、CK4、CKRO、GFC、GS
C、GFA、GSA、CKSA、CKRA、CKAD、
CKI、GPC、GID、TH、GSI、GFD、GS
D、CKRAが生成されて他の回路に出力される。
【0145】いま、プログラムROM52から出力され
た命令が内部の演算用RAM55から複数のデータを読
み出して外部メモリ71に書き込む命令であるとする
と、オペランド1(OP1)には演算用RAM55から
複数のデータを読み出すためのアドレスを指定するデー
タAD1が現れ、オペランド2(OP2)にはアドレス
データをインクリメントするインクリメント回数を表す
インクリメントデータが現れる。
【0146】一方、オペコードOPCにより内部の演算
用RAM55からデータを読み出して外部メモリ71に
書き込む命令が解読された時点で、信号CKROが
“H”に立ち上がるとともに、信号GFCが一定期間
“H”に、信号GFA、GSDが命令サイクルの期間中
“H”に、信号GIDが命令サイクルの期間中“L”に
なる。また、信号CKRAは演算用RAM55のデータ
書込みを指令するもの(“L”アクティブ)であるが、
データの読み出し時なので、“H”になっている。
【0147】信号CKROが“H”に立ち上がることに
より、プログラムROM52から出力されたオペランド
1(OP1)がラッチ回路83にラッチされるととも
に、オペランド2(OP2)がラッチ回路85にラッチ
される。また、同時に信号GFCが“H”になることに
より、トランスミッションゲート90がオンし、信号G
FAが“H”になることにより、トランスミッションゲ
ート94がオンする。
【0148】したがって、ラッチ回路83にラッチされ
たオペランド1(OP1)がトランスミッションゲート
90、94を通過して演算用RAM55に8ビットの移
動元のアドレスデータAD1を示すものとして出力され
る(図5のアドレスA参照)。その後、演算用RAM5
5では信号CKRAが“H”になっているので、データ
の読み出しが許容される状態であり、上記アドレスデー
タAD1をアドレスとして移動元のデータが読み出され
る。
【0149】演算用RAM55から読み出されたデータ
は信号CK4が“H”になるタイミングでラッチ回路1
02にラッチされるとともに、信号GSDが“H”にな
ってオンしているトランスミッションゲート105を介
してデータバス59に出力され、さらにデータバス59
から外部メモリ71に送られる。
【0150】一方、このときプログラムカウンタ57で
はラッチ回路113によってラッチされた外部メモリ用
のアドレスデータは外部メモリ71に供給される。これ
により、演算用RAM55から読み出されたデータがプ
ログラムカウンタ57から出力されたアドレスデータに
従って外部メモリ71に書き込まれる。このようにし
て、最初の1つ目のデータが演算用RAM55から読み
出されて外部メモリ71に書き込まれる。外部メモリ7
1のアドレスを指定する動作の詳細は、図7を用いて後
述する。
【0151】なお、今回の命令期間中、信号GSAは
“L”であり、トランスミッションゲート95はオフの
ままで、ラッチ回路85にラッチされたオペランド2
(OP2)(すなわち、インクリメントデータ)は演算
用RAM55に入力されない。
【0152】また、今回の命令期間中、信号GSCは
“L”であり、トランスミッションゲート92はオフの
ままで、ラッチ回路85にラッチされたオペランド2
(OP2)(すなわち、インクリメントデータ)はイン
クリメント回路82に入力されず、比較回路87に入力
される。
【0153】この場合、例えば内部の演算用RAM55
から4つのデータを読み出して外部メモリ71に書き込
む命令であれば、ラッチ回路85にラッチされたオペラ
ンド2(OP2)(すなわち、インクリメントデータ)
は[3]となる。つまり、1つのデータに対する加算値
が[3]となり、全体として4つのデータをアクセスす
ることになる。
【0154】次いで、2つ目のデータをアクセスする処
理に移るが、上記サイクル中に、ラッチ回路83にラッ
チされたオペランド1(OP1)はトランスミッション
ゲート90を通過した後、インクリメント回路81にも
供給されており、上記サイクル期間中にインクリメント
回路81によってインクリメントされている。したがっ
て、インクリメントしたデータFCNTはAD1+1と
なり、信号CKSAが“H”に立ち上がるタイミングで
ラッチ回路84にラッチされている。
【0155】このとき、信号GFAは“H”であるた
め、トランスミッションゲート94はオンしている。し
たがって、ラッチ回路84にラッチされたオペランド1
(OP1)のインクリメントデータ、すなわちアドレス
データAD1+1はトランスミッションゲート91、9
4を通過して演算用RAM55に8ビットの移動元のア
ドレスデータAD1+1を示すものとして出力される
(図5のアドレスA参照)。その後、演算用RAM55
ではこのアドレスデータAD1+1をアドレスとして移
動元の次のデータが読み出され、その後、同様に外部メ
モリ71に書き込まれる。
【0156】また、ラッチ回路84にラッチされたデー
タは信号GFCが“L”に立ち下がると、インバータ8
8を介して信号GFCの反転値がゲートに供給されるト
ランスミッションゲート91がオンするため、このトラ
ンスミッションゲート91を通過した後、再びインクリ
メント回路81に供給され、インクリメントされてAD
1+2となる。
【0157】一方、インクリメントデータに着目する
と、1つ目のデータをアクセスするときには、ラッチ回
路86がリセットされるため、そのラッチデータは
[0]になるが、信号CKSAが“H”になるタイミン
グでラッチ回路86がラッチ動作を行い、インクリメン
ト回路82の出力(この場合は[1])をラッチする。
したがって、この時点でインクリメントデータSCNT
は[1]になり、アドレスデータを1回だけインクリメ
ントしたものに相当する。
【0158】また、比較回路87ではラッチ回路85に
ラッチされたオペランド2(OP2)(今回は[3])
と、ラッチ回路86のラッチデータ(この時点で
[1])を比較しているが、両者が一致しないので、信
号CMPは“L”のままである。このようにして、2つ
目のデータが演算用RAM55から読み出されて外部メ
モリ71に書き込まれるとともに、インクリメントデー
タSCNTが[1]に更新され、さらに次回のアドレス
データが既にインクリメントされてAD1+2となって
いる。
【0159】次いで、3つ目のデータをアクセスする処
理に移る。この処理では、上記サイクルと同様にアドレ
スデータがインクリメント回路81でインクリメントさ
れるとともに、ラッチ回路84でラッチされ、アドレス
データAD1+2が演算用RAM55に移動元のアドレ
スデータを示すものとして出力され、対応するデータが
読み出されて外部メモリ71に書き込まれる。また、イ
ンクリメントデータSCNTが[2]にインクリメント
され、アドレスデータを2回インクリメントしたものと
なる。
【0160】次いで、4つ目のデータをアクセスする処
理に移り、上記サイクルと同様にアドレスデータがイン
クリメント回路81でインクリメントされるとともに、
ラッチ回路84でラッチされ、アドレスデータAD1+
3が演算用RAM55に移動元のアドレスデータを示す
ものとして出力され、対応するデータが読み出されて外
部メモリ71に書き込まれる。また、インクリメントデ
ータSCNTが[3]にインクリメントされ、アドレス
データを3回インクリメントしたものとなる。
【0161】このとき、比較回路87ではラッチ回路8
5にラッチされたオペランド2(OP2)(今回は
[3])と、ラッチ回路86のラッチデータ(この時点
で[3])が比較され、両者が一致したので、信号CM
Pが“H”に変化する。これにより、信号CMPの
“H”への変化を受けてインストラクションデコーダ5
3がアクセス命令を停止する。
【0162】このように、4つのデータを連続して移動
させるとき、プログラムROM52からアドレス制御回
路54に出力される命令に含まれるオペランド1(OP
1)、オペランド2(OP2)がそれぞれインクリメン
ト回路81、82によって順次インクリメンされ、イン
クリメント回路81順次出力されるデータAD1、AD
1+1、・・・をアドレスデータとして用いて演算用R
AM55がアドレッシングされ、データの読み出しが行
われるとともに、外部メモリ71に読み出したデータが
書き込まれる。
【0163】すなわち、転送先を示すアドレスデータが
順次、最初の番地に加算されてデータの転送が行われ、
一命令で連続したデータを転送できる。
【0164】したがって、データの移動に際して命令を
連続データ分だけ持つ必要がなく、単にアドレスデータ
AD1を順次インクリメントしアドレスデータとして演
算用RAM55をアドレッシングするのみでよいから、
命令ステップ数を増加させることなく、連続したデータ
の移動を行うことができる。
【0165】また、転送先に制限が加わらず、転送先が
メモリマップで予め決っているために、その部分にしか
退避できないということがない。したがって、RAMの
使用が制限されるという事態を避けて自由に所望の領域
に転送することができる。
【0166】外部メモリのデータを内部RAMに書き込
む場合 図6は外部メモリ71からデータを読み出して内部の演
算用RAM55に書き込む場合のタイミングチャート
で、特に、内部の演算用RAM55へのデータ書き込み
動作を表すものである。プログラムカウンタ57により
所定のアドレスが指定されると、このアドレスに基づい
てプログラムROM52から命令、例えば外部メモリ7
1から複数のデータを読み出して内部の演算用RAM5
5に書き込む命令が読み出されて出力される。そして、
読み出された命令のうちオペコードOPCがインストラ
クションデコーダ53に出力され、オペランド1(OP
1)、オペランド2(OP2)がアドレス制御回路54
に出力される。
【0167】プログラムROM52から出力された命令
に含まれるオペコードOPCはインストラクションデコ
ーダ53によって解読され、この解読結果に基づいて必
要な制御信号CK3、CK4、CKRO、GFC、GS
C、GFA、GSA、CKSA、CKRA、CKAD、
CKI、GPC、GID、TH、GSI、GFD、GS
D、CKRAが生成されて他の回路に出力される。
【0168】いま、プログラムROM52から出力され
た命令が外部メモリ71から複数のデータを読み出して
内部の演算用RAM55に書き込む命令であるとする
と、オペランド1(OP1)には内部の演算用RAM5
5へのデータ書き込アドレスを指定するデータAD1が
現れ、オペランド2(OP2)にはアドレスデータをイ
ンクリメントするインクリメント回数を表すインクリメ
ントデータが現れる。
【0169】一方、オペコードOPCにより外部メモリ
71から複数のデータを読み出して内部の演算用RAM
55に書き込む命令が解読された時点で、信号CKRO
が“H”に立ち上がるとともに、信号GFCが一定期間
“H”に、信号GFA、GSIが命令サイクルの期間中
“H”に、信号GIDが命令サイクルの期間中“L”に
なる。また、信号CKRAは演算用RAM55のデータ
書込みを指令するもの(“L”アクティブ)であるた
め、4つの各データの書込み時に“L”レベルのパルス
に変化する。
【0170】信号CKROが“H”に立ち上がることに
より、プログラムROM52から出力されたオペランド
1(OP1)がラッチ回路83にラッチされるととも
に、オペランド2(OP2)がラッチ回路85にラッチ
される。また、同時に信号GFCが“H”になることに
より、トランスミッションゲート90がオンし、信号G
FAが“H”になることにより、トランスミッションゲ
ート94がオンする。
【0171】したがって、ラッチ回路83にラッチされ
たオペランド1(OP1)がトランスミッションゲート
90、94を通過して演算用RAM55に8ビットの移
動先のアドレスデータAD1を示すものとして出力され
る(図6のアドレスRAMA参照)。
【0172】一方、信号GSIが“H”になっているた
め、トランスミッションゲート107がオンしている。
したがって、外部メモリ71から読み出されたデータは
データバス59からトランスミッションゲート107を
介してALU56に入力された後、信号THが“H”に
なっているため、このALU56をスルーして演算用R
AM55のデータ入力端子Iに供給される。
【0173】その後、信号CKRAが“L”になるタイ
ミングで外部メモリ71から読み出されたデータが移動
先アドレスデータAD1に対応する番地に書き込まれ
る。このようにして、最初の1つ目のデータが外部メモ
リ71から読み出されて演算用RAM55に書き込まれ
る。
【0174】なお、今回の命令期間中、信号GSAは
“L”であり、トランスミッションゲート95はオフの
ままで、ラッチ回路85にラッチされたオペランド2
(OP2)(すなわち、インクリメントデータ)は演算
用RAM55に入力されない。
【0175】また、今回の命令期間中、信号GSCは
“L”であり、トランスミッションゲート92はオフの
ままで、ラッチ回路85にラッチされたオペランド2
(OP2)(すなわち、インクリメントデータ)はイン
クリメント回路82に入力されず、比較回路87に入力
される。
【0176】この場合、例えば内部の演算用RAM55
に連続して4つのデータを書き込む命令であれば、ラッ
チ回路85にラッチされたオペランド2(OP2)(す
なわち、インクリメントデータ)は[3]となる。つま
り、1つのデータに対する加算値が[3]となり、全体
として4つのデータをアクセスすることになる。
【0177】また、今回、1つ目のデータをアクセスす
る期間中に、ラッチ回路83にラッチされたオペランド
1(OP1)はトランスミッションゲート90を通過し
た後、インクリメント回路81にも供給されており、上
記サイクル期間中にインクリメント回路81によってイ
ンクリメントされている。したがって、インクリメント
したデータFCNTはAD1+1となり、信号CKSA
が“H”に立ち上がるタイミングでラッチ回路84にラ
ッチされている。
【0178】次いで、2つ目のデータをアクセスする処
理に移る。このとき、信号GFAは“H”であるため、
トランスミッションゲート94はオンしている。したが
って、ラッチ回路84にラッチされたオペランド1(O
P1)のインクリメントデータ、すなわちアドレスデー
タAD1+1はトランスミッションゲート91、94を
通過して演算用RAM55に8ビットの移動先のアドレ
スデータAD1+1を示すものとして出力される(図6
のアドレスRAMA参照)。その後、演算用RAM55
では、このアドレスデータAD1+1をアドレスとして
信号CKRAが“L”レベルのパルスに変化するタイミ
ングで外部メモリ71から読み出された次のデータが書
き込まれる。
【0179】また、ラッチ回路84にラッチされたデー
タは信号GFCが“L”に立ち下がると、インバータ8
8を介して信号GFCの反転値がゲートに供給されるト
ランスミッションゲート91がオンするため、このトラ
ンスミッションゲート91を通過した後、再びインクリ
メント回路81に供給され、インクリメントされてAD
1+2となる。
【0180】一方、インクリメントデータに着目する
と、1つ目のデータをアクセスするときには、ラッチ回
路86がリセットされるため、そのラッチデータは
[0]になるが、信号CKSAが“H”になるタイミン
グでラッチ回路86がラッチ動作を行い、インクリメン
ト回路82の出力(この場合は[1])をラッチする。
したがって、この時点でインクリメントデータSCNT
は[1]になり、アドレスデータを1回だけインクリメ
ントしたものに相当する。
【0181】また、比較回路87ではラッチ回路85に
ラッチされたオペランド2(OP2)(今回は[3])
と、ラッチ回路86のラッチデータ(この時点で
[1])を比較しているが、両者が一致しないので、信
号CMPは“L”のままである。このようにして、外部
メモリ71から読み出された2つ目のデータが演算用R
AM55に書き込まれるとともに、インクリメントデー
タSCNTが[1]に更新され、さらに次回のアドレス
データが既にインクリメントされてAD1+2となる。
【0182】次いで、3つ目のデータをアクセスする処
理に移る。この処理では、上記サイクルと同様にアドレ
スデータがインクリメント回路81でインクリメントさ
れるとともに、ラッチ回路84でラッチされ、アドレス
データAD1+2が演算用RAM55に移動先のアドレ
スデータを示すものとして出力され、外部メモリ71か
ら読み出されたデータが“演算用RAM55に書き込ま
れる。また、インクリメントデータSCNTが[2]に
インクリメントされ、アドレスデータを2回インクリメ
ントしたものとなる。
【0183】次いで、4つ目のデータをアクセスする処
理に移り、上記サイクルと同様にアドレスデータがイン
クリメント回路81でインクリメントされるとともに、
ラッチ回路84でラッチされ、アドレスデータAD1+
3が演算用RAM55に移動先のアドレスデータを示す
ものとして出力され、外部メモリ71から読み出された
データが“演算用RAM55に書き込まれる。また、イ
ンクリメントデータSCNTが[3]にインクリメント
され、アドレスデータを3回インクリメントしたものと
なる。
【0184】このとき、比較回路87ではラッチ回路8
5にラッチされたオペランド2(OP2)(今回は
[3])と、ラッチ回路86のラッチデータ(この時点
で[3])が比較され、両者が一致したので、信号CM
Pが“H”に変化する。これにより、信号CMPの
“H”への変化を受けてインストラクションデコーダ5
3がアクセス命令を停止する。
【0185】このように、外部メモリ71から読み出さ
れた4つのデータを連続して演算用RAM55に移動さ
せるとき、プログラムROM52からアドレス制御回路
54に出力される命令に含まれるオペランド1(OP
1)、オペランド2(OP2)がそれぞれインクリメン
ト回路81、82によって順次インクリメンされ、イン
クリメント回路81に順次出力されるデータAD1、A
D1+1、・・・をアドレスデータとして用いて演算用
RAM55がアドレッシングされ、データの書き込みが
行われる。
【0186】すなわち、転送先を示すアドレスデータが
順次、最初の番地に加算されてデータの転送が行われ、
一命令で連続したデータを転送できる。
【0187】したがって、データの移動に際して命令を
連続データ分だけ持つ必要がなく、単にアドレスデータ
AD1を順次インクリメントしアドレスデータとして演
算用RAM55をアドレッシングするのみでよいから、
命令ステップ数を増加させることなく、連続したデータ
の移動を行うことができる。また、同様に転送先に制限
が加わらず、自由に所望の領域に転送することができ
る。
【0188】外部メモリのアドレス指定処理 図7は外部メモリ71に対するアドレス指定処理のタイ
ミングチャートである。この処理は2サイクル命令とし
て実行される。これは、内部のデータバス59が8ビッ
トで、アドレスデータが16ビットであるという関係
上、アドレスデータを上位、下位に分けて出力するため
である。
【0189】プログラムカウンタ57により所定のプロ
グラムアドレスが指定されると、このアドレスに基づい
てプログラムROM52から命令、例えば外部メモリ7
1のアドレスを指定する命令が読み出されて出力され
る。そして、読み出された命令のうちオペコードOPC
がインストラクションデコーダ53に出力され、オペラ
ンド1(OP1)、オペランド2(OP2)がアドレス
制御回路54に出力される。
【0190】プログラムROM52から出力された命令
に含まれるオペコードOPCはインストラクションデコ
ーダ53によって解読され、この解読結果に基づいて必
要な制御信号CK3、CK4、CKRO、GFC、GS
C、GFA、GSA、CKSA、CKRA、CKAD、
CKI、GPC、GID、TH、GSI、GFD、GS
D、CKRAが生成されて他の回路に出力される。
【0191】いま、プログラムROM52から出力され
た命令が外部メモリ71のアドレスを指定する命令であ
るとすると、オペランド1(OP1)には内部の演算用
RAM55のアドレスカウンタの下位8ビットのアドレ
スを指定するデータADD(外部メモリ71の下位8ビ
ットのアドレスを指定するデータに対応)が現れ、オペ
ランド2(OP2)には内部の演算用RAM55のアド
レスカウンタの上位8ビットのアドレスを指定するデー
タADU(外部メモリ71の上位8ビットのアドレスを
指定するデータに対応)が現れる。
【0192】一方、オペコードOPCにより外部メモリ
71のアドレスを指定する命令が解読された時点で信号
CKROが“H”に立ち上がるとともに、信号GFC、
GSAが命令サイクル期間“H”に、信号GFAが命令
サイクルの前半期間中“H”に、信号GSAが命令サイ
クルの後半期間中“H”に、信号GFD、GSDが命令
サイクル期間“H”に、信号CK3が命令サイクルの前
半期間中の一時期に“H”パルスに、信号CK4が命令
サイクルの後半期間中の一時期に“H”パルスに、信号
GIDが命令サイクルの後半期間中“H”に、信号GP
Cが命令サイクル期間“H”に、さらに信号CKIが命
令サイクルの後半期間中の一時期に“H”パルスとな
る。
【0193】信号CKROが“H”に立ち上がることに
より、プログラムROM52から出力されたオペランド
1(OP1)がラッチ回路83にラッチされるととも
に、オペランド2(OP2)がラッチ回路85にラッチ
される。また、同時に信号GFCが“H”になることに
より、トランスミッションゲート90がオンし、信号G
FAが“H”になることにより、トランスミッションゲ
ート94がオンする。さらに、信号GSCが“H”にな
ることにより、トランスミッションゲート92がオン
し、信号GSAが“H”になることにより、トランスミ
ッションゲート95がオンする。
【0194】したがって、ラッチ回路83にラッチされ
たオペランド1(OP1)がトランスミッションゲート
90、94を通過して演算用RAM55に内部のアドレ
スカウンタの下位8ビットのアドレスを指定するデータ
ADDとして出力される。
【0195】これにより、演算用RAM55ではアドレ
スデータADDに対応する番地の内部アドレスカウンタ
の下位8ビットの外部メモリ71のアドレスを指定する
データが読み出されてラッチ回路101に出力される。
ラッチ回路101では信号CK3が“H”になるタイミ
ングで、この読み出しデータがラッチされる。
【0196】同様に、ラッチ回路85にラッチされたオ
ペランド1(OP2)がトランスミッションゲート9
2、95を通過して演算用RAM55に内部のアドレス
カウンタの上位8ビットのアドレスを指定するデータA
DUとして出力される。
【0197】これにより、演算用RAM55ではアドレ
スデータADUに対応する番地の内部アドレスカウンタ
の上位8ビットの外部メモリ71のアドレスを指定する
データが読み出されてラッチ回路101に出力される。
ラッチ回路101では信号CK4が“H”になるタイミ
ングで、この読み出しデータがラッチされる。
【0198】次いで、ラッチ回路101にラッチされた
外部メモリ71の下位8ビットのアドレスを指定するデ
ータは、信号GFDが“H”になっているためにオンし
ているトランスミッションゲート106を介して内部の
データバス59に出力される。また、同様にラッチ回路
102にラッチされた外部メモリ71の上位8ビットの
アドレスを指定するデータは、信号GSDが“H”にな
っているためにオンしているトランスミッションゲート
105を介して内部のデータバス59に出力される。
【0199】このようにして16ビットで構成される外
部メモリ71のアドレスデータが16ビットに揃ってデ
ータバス59に乗ることになる。
【0200】次いで、信号GIDが命令サイクルの後半
期間中に“H”に変化するため、トランスミッションゲ
ート118がオンし、データバス59に乗っている外部
メモリ71のアドレスデータが16ビット単位でラッチ
回路113に取り込まれ、信号CKIが“H”になるタ
イミングでラッチされる。
【0201】そして、外部メモリ71に対する16ビッ
トのアドレスデータとして供給される。これにより、こ
のアドレスデータに応じたデータが外部メモリ71でア
クセス(すなわち、書き込みあるいは読み出し)され
る。
【0202】一方、信号GPCは命令サイクル期間中
“H”レベルになっており、これにより、ラッチ回路1
12にラッチされたデータはトランスミッションゲート
116を介してインクリメント回路111に供給されて
インクリメントされている。
【0203】その後、図7に示す命令サイクルが終了す
ると、次の時点(詳細は図示略)で信号GPCが“L”
に、信号GIDが“L”に変化する。これにより、イン
クリメント回路111のインクリメントデータがトラン
スミッションゲート119を介してラッチ回路113に
供給されて信号CKIが“H”になるタイミングでラッ
チされる。ラッチ回路113にラッチされたデータはア
ドレスデータとして外部メモリ71のアドレス端子に入
力され、アクセスが行われる。
【0204】すなわち、外部メモリ71のアドレスデー
タがインクリメント回路111によってインクリメント
される。以後、同様のループによって外部メモリ71の
アドレスデータがインクリメント回路111によって順
次インクリメントされ、その度にラッチ回路113によ
りラッチされて外部メモリ71のアドレス端子に入力さ
れ、アクセスが行われる。
【0205】このように、外部メモリ71のアドレスデ
ータをいちいちオペランド1(OP1)、オペランド2
(OP2)によってそれぞれ上位、下位の8ビットアド
レスとして指定しなくても、プログラムカウンタ57の
上記ループによって順次インクリメントすることで、1
6ビットの外部メモリ71のアドレスデータを指定する
ことができる。
【0206】なお、本発明の範囲内で種々の変形が可能
である。例えば、インクリメント手段としてインクリメ
ント回路を用いたが、これに限らず、同様の機能を有す
るもであれば、他の回路で構成してもよい。
【0207】
【発明の効果】本発明によれば、プログラム記憶手段か
ら出力される命令に含まれるオペランドをインクリメン
ト手段によって順次インクリメンし、このインクリメン
ト手段から順次出力されるオペランドをアドレスデータ
として用いて演算データ記憶手段をアドレッシングして
演算データの書込み又は読み出しを行っているので、デ
ータの移動に際して命令をデータ分だけ持つ必要がな
く、命令ステップ数を増加させずに、連続したデータの
転送を行うことができる。また、転送先に制限が加わら
ず、内部、外部RAMのいかんにかかわらず連続したデ
ータを制限なく所望の領域にそっくり自由に転送するこ
とができる。
【図面の簡単な説明】
【図1】本発明の中央演算処理装置の第1実施例の構成
を示すブロック図である。
【図2】同実施例のアドレス制御回路の詳細な構成図で
ある。
【図3】同実施例の動作を説明するタイミングチャート
である。
【図4】本発明の中央演算処理装置の第2実施例の構成
を示すブロック図である。
【図5】同実施例の内部の演算用RAMからデータを読
み出して外部メモリに書き込む場合の動作を説明するタ
イミングチャートである。
【図6】同実施例の外部メモリからデータを読み出して
内部の演算用RAMに書き込む場合の動作を説明するタ
イミングチャートである。
【図7】同実施例の外部メモリに対するアドレス指定処
理のタイミングチャートである。
【符号の説明】
1、51 CPU 2、52 プログラムROM(プログラム記憶手段) 3、53 インストラクションデコーダ(命令解読手
段) 4 タイミング信号発生回路 5、54 アドレス制御回路 6、55 演算用RAM 7、56 ALU(演算手段) 8、57 プログラムカウンタ(アドレッシング手段) 9、59 データバス 21、22、81、82 インクリメント回路(インク
リメント手段) 23〜26、83〜86、101、102 ラッチ回路 27〜30、90〜95、104〜107 トランスミ
ッションゲート 58 クロック発生回路 87 比較回路(コンパレータ) 88、89、103 インバータ 108 演算手段

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の命令からなる所定のプログラムを
    記憶するプログラム記憶手段と、 このプログラム記憶手段をアドレッシングして記憶され
    た命令を順次読み出すためのアドレスデータを発生する
    アドレッシング手段と、 演算用データを書込み読み出し可能な演算データ記憶手
    段と、 前記プログラム記憶手段から出力される命令に含まれる
    オペコードを解読する命令解読手段と、 前記プログラム記憶手段から出力される命令に含まれる
    オペランドを順次インクリメントするインクリメント手
    段と、 このインクリメント手段から順次出力されるオペランド
    を用いて前記演算データ記憶手段をアドレッシングして
    演算データを書込み又は読み出しする演算データアドレ
    ッシング手段と、 前記命令解読手段の出力に従って前記演算データ記憶手
    段に対する演算を実行する演算手段と、を備えたことを
    特徴とする中央演算処理装置。
  2. 【請求項2】 前記プログラム記憶手段に記憶されてい
    るプログラムの命令に含まれるオペランドは、前記演算
    用データ記憶手段のデータを読み出す第1オペランド
    と、データを前記演算用データ記憶手段に書き込む第2
    オペランドと、からなることを特徴とする請求項1記載
    の中央演算処理装置。
  3. 【請求項3】 前記プログラム記憶手段に記憶されてい
    るプログラムの命令に含まれるオペランドは、前記演算
    用データ記憶手段のデータを読み出し書込みするアドレ
    スデータと、インクリメント回数を表すインクリメント
    データとからなり、 前記インクリメント手段は、前記アドレスデータを前記
    インクリメントデータを表す回数分順次インクリメント
    することを特徴とする請求項1記載の中央演算処理装
    置。
  4. 【請求項4】 前記演算用データ記憶手段は、外部RA
    Mによって構成されていることを特徴とする請求項1記
    載の中央演算処理装置。
JP4165362A 1992-06-01 1992-06-01 中央演算処理装置 Pending JPH05334076A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4165362A JPH05334076A (ja) 1992-06-01 1992-06-01 中央演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4165362A JPH05334076A (ja) 1992-06-01 1992-06-01 中央演算処理装置

Publications (1)

Publication Number Publication Date
JPH05334076A true JPH05334076A (ja) 1993-12-17

Family

ID=15810930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4165362A Pending JPH05334076A (ja) 1992-06-01 1992-06-01 中央演算処理装置

Country Status (1)

Country Link
JP (1) JPH05334076A (ja)

Similar Documents

Publication Publication Date Title
US4181942A (en) Program branching method and apparatus
US4179731A (en) Microprogrammed control system
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4641278A (en) Memory device with a register interchange function
US5586337A (en) Programmable controller with timing control
JPH05334076A (ja) 中央演算処理装置
JPS6079431A (ja) プログラマブルコントローラのパイプライン処理方法
JPS6047612B2 (ja) マイクロ命令出力制御方式
JPH04255028A (ja) マイクロプロセッサ
JPS6111493B2 (ja)
JPH0519820A (ja) プログラマブルコントローラ
JP2626831B2 (ja) プログラム展開方式電子計算機
JPH06103152A (ja) 中央演算処理装置
JP3182796B2 (ja) 中央演算処理装置
US5123093A (en) Operational processor for performing a memory access and an operational process in parallel
JP3164690B2 (ja) アドレス制御装置
JP3515018B2 (ja) パイプライン形データ処理装置
JPH0353321A (ja) 情報処理装置
JPH0512009A (ja) デイジタル信号処理装置
JPS6398735A (ja) マイクロ制御装置
JPS6022247A (ja) マイクロ命令制御方式
JPH04369037A (ja) 中央演算処理装置
JPH03164945A (ja) データ処理装置
JPH034326A (ja) 命令デコード方式
JPH0531170B2 (ja)