JPH04314131A - Central processing unit - Google Patents

Central processing unit

Info

Publication number
JPH04314131A
JPH04314131A JP10685091A JP10685091A JPH04314131A JP H04314131 A JPH04314131 A JP H04314131A JP 10685091 A JP10685091 A JP 10685091A JP 10685091 A JP10685091 A JP 10685091A JP H04314131 A JPH04314131 A JP H04314131A
Authority
JP
Japan
Prior art keywords
data
instruction
storage means
address
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
JP10685091A
Other languages
Japanese (ja)
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 JP10685091A priority Critical patent/JPH04314131A/en
Publication of JPH04314131A publication Critical patent/JPH04314131A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、中央演算処理装置に係
り、詳細には即値データ(immediate dat
a)をプログラムメモリ中に配置可能にした中央演算処
理装置に関する。
TECHNICAL FIELD The present invention relates to a central processing unit, and more particularly, to a central processing unit that processes immediate data.
The present invention relates to a central processing unit in which a) can be placed in a program memory.

【0002】0002

【従来の技術】命令は一般に0〜3個のオペランドおよ
び0〜1個の次命令を指定することができる。CPUは
、命令実行時にこれらの指定に従ってオペランドおよび
次命令の存在する位置、即ち、アドレスを決定する必要
がある。また、命令のオペランド部がオペランドそのも
のである場合、これを即値データ(以下、即値という)
と呼び、定数オペランドとして用いる。従来のCPUに
おいては命令オペランドとメモリを特定するために数値
化された小量のデータ(オペランド)とにより構成され
、大量のデータは外部ROMとしてCPUのプログラム
メモリのアドレッシング空間とは別のアドレッシング回
路により供給される。CPUは外部のアドレッシング回
路を命令によって個別に制御し、外部ROMからのデー
タは所定のバスを通して演算用RAMに格納される。
BACKGROUND OF THE INVENTION An instruction can generally specify zero to three operands and zero to one next instruction. When executing an instruction, the CPU needs to determine the location of the operand and the next instruction, that is, the address, according to these specifications. In addition, if the operand part of an instruction is the operand itself, this is immediate value data (hereinafter referred to as immediate value).
and is used as a constant operand. A conventional CPU consists of an instruction operand and a small amount of numerical data (operand) to specify the memory, and a large amount of data is stored in an external ROM in an addressing circuit separate from the addressing space of the CPU's program memory. Powered by. The CPU individually controls external addressing circuits using instructions, and data from the external ROM is stored in the arithmetic RAM through a predetermined bus.

【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)を設けてこのデータメモリからデータを取込
む必要がある。
[0003] Assuming that the program memory is a fixed-length, fixed-cycle instruction that outputs an opcode, operand 1, and operand 2 digital code to one address, if an immediate value is used only once during an operation, it must be included in the above instruction. be able to. For example, <mov R0 50
H> (Storing the immediate value 50H in a part of RAM called R0) When an instruction is output from the program memory, the operation code of the instruction is decoded through the operation decoder, and the operation decoder outputs a signal for mov (move) control. As well as being output, operand 1
specifies the storage address of RAM through the RAM address control circuit, and operand 2 directly inputs the immediate value of predetermined bits (for example, 8 bits) to the data input of the calculation RAM through the bus, selector, and ALU.
An immediate value of 50H is input into a predetermined area R0 of M. In this example, since it exists in the instruction, only the immediate value for control is used. Generally, data memory (frequency tables, accompaniment data, etc. when used in electronic musical instruments, etc.) is a large amount, so as mentioned above, it cannot be stored as immediate data in the program memory; ) to retrieve data from this data memory.

【0004】0004

【発明が解決しようとする課題】しかしながら、このよ
うな従来の中央演算処理装置にあっては、外部のデータ
メモリからデータを取込む構成となっていたため、専用
のデータメモリ及びそのアドレッシング回路が必要とな
るばかりか演算用RAMにデータを格納するまでに非常
に時間がかかるため高速処理ができないという問題点が
あった。すなわち、上記データメモリは、プログラムメ
モリからの指示を受けて演算用RAMからのアドレスデ
ータを出力ラッチに格納することによってアドレスが与
えられ、これによって初めてデータメモリからデータが
読み出されることとなり、読み出されたデータは所定の
セレクタ及びALUを通して演算用RAMに格納される
。従来の電子楽器用カスタムCPUなどではすべてこの
方法によりボードにアドレス16〜22ビットをセット
してデータメモリのアクセスを行っている。このため、
従来では、(I)データメモリ及びそのアドレッシング
回路が別に必要となる、(II)高速に即値が得られず
、処理時間がかかりすぎる、(III)大量データ処理
が困難になり、大量データ処理が必要な電子楽器用CP
Uとしての速度のボトルネックとなりつつある、(IV
)メモリ単位の下落に伴って大量データ処理が行われる
傾向にあり、上記不具合がより拡大しつつある、という
問題があった。そこで本発明は、プログラムメモリ領域
にデータメモリ領域を配置可能として専用のデータメモ
リ及びそのアドレッシング回路を不要にするとともに、
処理速度を大幅に向上させることができる中央演算処理
装置を提供することを目的としている。
[Problem to be Solved by the Invention] However, such conventional central processing units have a configuration in which data is fetched from an external data memory, so a dedicated data memory and its addressing circuit are required. Not only that, but it takes a very long time to store the data in the calculation RAM, so there is a problem that high-speed processing cannot be performed. That is, the data memory is given an address by storing address data from the calculation RAM in an output latch in response to an instruction from the program memory, and only then is data read from the data memory. The calculated data is stored in the calculation RAM through a predetermined selector and ALU. All conventional custom CPUs for electronic musical instruments use this method to access data memory by setting 16 to 22 bits of address on the board. For this reason,
Conventionally, (I) a data memory and its addressing circuit are required separately, (II) immediate values cannot be obtained quickly and the processing time is too long, and (III) large-scale data processing becomes difficult; Necessary CP for electronic musical instruments
It is becoming a bottleneck for speed as U, (IV
) There is a tendency for large amounts of data to be processed as the memory unit decreases, and the above-mentioned problems are becoming more widespread. Therefore, the present invention makes it possible to arrange a data memory area in the program memory area, thereby eliminating the need for a dedicated data memory and its addressing circuit, and
It is an object of the present invention to provide a central processing unit that can significantly improve processing speed.

【0005】[0005]

【課題を解決するための手段】請求項1記載の発明は、
所定のプログラムを記憶するプログラム記憶手段と、前
記プログラム記憶手段をアドレッシングするアドレッシ
ング手段と、演算用データを書込み読出し可能な演算デ
ータ記憶手段と、前記プログラム記憶手段から出力され
る命令に含まれるオペコードを解読する命令解読手段と
、前記プログラム記憶手段から出力される命令に含まれ
るオペランドを用いて前記演算データ記憶手段をアドレ
ッシングする演算データアドレッシング手段と、前記命
令解読手段の解読結果に従って前記演算データ記憶手段
に対する演算を実行する演算手段と、を備えた中央演算
処理装置において、前記アドレッシング手段は、前記オ
ペランドの即値データに基づいて前記プログラム記憶手
段の一部に復帰を前提として分岐させるアドレスを指定
するアドレス変更手段と、復帰後のアドレスを一時格納
するアドレス格納手段と、分岐後に第1の復帰命令によ
り前記アドレス格納手段から分岐命令の次の命令のアド
レスを復帰後アドレスとして読出して前記プログラム記
憶手段のアドレスとする制御手段と、復帰後に命令に含
まれるオペランドを読出して記憶させる第2の復帰命令
を設け、読出したデータを記憶するデータ記憶手段と、
を具備している。請求項2記載の発明は、前記プログラ
ム記憶手段をアドレッシングするアドレッシング手段と
、演算用データを書込み読出し可能な演算データ記憶手
段と、前記プログラム記憶手段から出力される命令に含
まれるオペコードを解読する命令解読手段と、前記プロ
グラム記憶手段から出力される命令に含まれるオペラン
ドを用いて前記演算データ記憶手段をアドレッシングす
る演算データアドレッシング手段と、前記命令解読手段
の解読結果に従って前記演算データ記憶手段に対する演
算を実行する演算手段と、を備えた中央演算処理装置に
おいて、復帰を前提として分岐を行う第1のサブルーチ
ン分岐命令と、前記分岐解読手段から所定の制御信号を
出力させる第2のサブルーチン分岐命令と、前記制御信
号を遅延させて遅延制御信号を出力する遅延手段と、前
記遅延手段から出力された遅延制御信号により分岐後の
前記プログラム記憶手段から出力される即値データを読
出して記憶する記憶手段とを設け、読出し後復帰して分
岐直後の命令を処理するようにした。
[Means for solving the problem] The invention according to claim 1 includes:
A program storage means for storing a predetermined program, an addressing means for addressing the program storage means, an operation data storage means capable of writing and reading operation data, and an operation code included in an instruction output from the program storage means. an instruction decoding means for decoding, an arithmetic data addressing means for addressing the arithmetic data storage means using an operand included in an instruction output from the program storage means, and an arithmetic data storage means according to the decoding result of the instruction decoding means. in the central processing unit, the addressing means specifies an address to be branched on the premise of return to a part of the program storage means based on the immediate value data of the operand. a changing means; an address storage means for temporarily storing an address after the return; and an address storage means for reading out the address of an instruction following the branch instruction from the address storage means as a post-return address by a first return instruction after the branch, and storing the address in the program storage means. a control means for setting the address; and a data storage means for storing the read data by providing a second return instruction for reading and storing the operands included in the instruction after the return.
Equipped with: The invention according to claim 2 provides an addressing means for addressing the program storage means, an arithmetic data storage means capable of writing and reading arithmetic data, and an instruction for decoding an operation code included in an instruction output from the program storage means. decoding means; arithmetic data addressing means for addressing the arithmetic data storage means using operands included in instructions output from the program storage means; a first subroutine branch instruction for branching on the premise of return; a second subroutine branch instruction for causing the branch decoding means to output a predetermined control signal; a delay means for delaying the control signal and outputting a delayed control signal; and a storage means for reading and storing immediate value data output from the program storage means after branching based on the delay control signal output from the delay means. After reading, the program returns to process the instruction immediately after the branch.

【0006】[0006]

【作用】請求項1記載の発明では、プログラム記憶手段
の一部領域にはプログラム領域の他にデータメモリ領域
が設けられている。プログラム記憶手段のオペランドの
即値データに基づいてアドレス変更手段によりプログラ
ム記憶手段の一部に復帰を前提として分岐させるアドレ
スが指定され、復帰後のアドレスはアドレス格納手段に
一時格納される。そして、分岐後に第1の復帰命令によ
りアドレス格納手段から分岐命令の次の命令へ復帰後ア
ドレスが読出されて再度復帰されるとともに、復帰後に
命令に含まれるオペランドを読出して記憶させる第2の
復帰命令によって、読出したデータが記憶される。従っ
て、プログラム記憶手段の一部にデータ領域を設けるこ
とが可能となり専用のデータメモリ及びそのアドレッシ
ング回路を設ける必要がなくなるとともに、外部のRO
Mアクセスに比べ、アドレス用ラッチデータの処理が不
要となり、非常に高速に即値を得ることができる。請求
項2記載の発明では、復帰を前提として分岐を行う第1
のサブルーチン分岐命令と、第1のサブルーチン分岐命
令とは別に分岐解読手段から所定の制御信号を出力させ
る第2のサブルーチン分岐命令とが設けられている。遅
延手段により制御信号が遅延され、遅延手段から出力さ
れた遅延制御信号により分岐後のプログラム記憶手段か
ら出力される即値データが読出され、その後復帰して分
岐直後の命令を処理する。従って、復帰命令を設けなく
ても強制的にプログラム実行アドレスに自動的に復帰で
き、データ領域を100%有効に使用することが可能に
なる。
According to the first aspect of the invention, a part of the program storage means is provided with a data memory area in addition to the program area. Based on the immediate value data of the operand of the program storage means, the address changing means specifies an address to be branched on the premise of return to a part of the program storage means, and the address after return is temporarily stored in the address storage means. After the branch, a first return instruction reads the post-return address from the address storage means to the instruction next to the branch instruction and returns again, and a second return that reads and stores the operands included in the instruction after the return. The read data is stored according to the command. Therefore, it is possible to provide a data area in a part of the program storage means, eliminating the need for a dedicated data memory and its addressing circuit, and also
Compared to M access, there is no need to process address latch data, and an immediate value can be obtained very quickly. In the invention according to claim 2, the first branch is performed on the premise of return.
A subroutine branch instruction is provided, and a second subroutine branch instruction that causes the branch decoding means to output a predetermined control signal is provided separately from the first subroutine branch instruction. The control signal is delayed by the delay means, and the immediate data output from the program storage means after the branch is read by the delayed control signal output from the delay means, and then the program returns to process the instruction immediately after the branch. Therefore, it is possible to forcefully and automatically return to the program execution address without providing a return instruction, and it is possible to use the data area 100% effectively.

【0007】[0007]

【実施例】以下、本発明を図面に基づいて説明する。 原理説明 先ず、本発明の基本原理について説明する。図1及び図
2はプログラムメモリの流れを示す図であり、図1は従
来のサブルーチンコールを、図2は本発明にかかる中央
演算処理装置のサブルーチンコールを示している。ここ
で、図1に示すプログラムは複数回使用する同処理のプ
ログラムをサブプログラムとし、メインルーチンからサ
ブルーチンコールにより呼び出されるとプログラムアド
レスをサブプログラムに移動させてサブプログラムの処
理(ここでは、mov処理)を実行する。その処理が終
了すると前記プログラムアドレスを戻してメインルーチ
ンに復帰するようにして複数回利用を可能にする。この
場合、サブルーチンからメインルーチンにはRET(リ
ターン)命令によって戻される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be explained below based on the drawings. Explanation of Principle First, the basic principle of the present invention will be explained. 1 and 2 are diagrams showing the flow of a program memory. FIG. 1 shows a conventional subroutine call, and FIG. 2 shows a subroutine call of a central processing unit according to the present invention. Here, the program shown in Figure 1 uses a program that performs the same processing that is used multiple times as a subprogram, and when called from the main routine by a subroutine call, moves the program address to the subprogram and processes the subprogram (here, mov processing ). When the processing is completed, the program address is returned and the main routine is returned to, thereby making it possible to use the program multiple times. In this case, the subroutine returns to the main routine by a RET (return) command.

【0008】これに対して図2に示すようにプログラム
領域と同じアドレス空間の一部にデータメモリ領域を設
けるとともに、このデータメモリ領域のアドレスD0に
対応してオペコードとしてRET’命令(上述した従来
のRET命令としては異なる動作を行う)と、オペラン
ド1,オペランド2にデータ0,データ1とを置くよう
にする。上記RET’命令はサブルーチンからメインル
ーチンに復帰する際の従来のRET処理に加え、RET
処理前(すなわち、RET命令をインストラクションデ
コーダで処理中)にオペランド1,オペランド2に格納
されたデータ0,データ1を所定のラッチLM(後述)
に転送する動作を行う命令である。すなわち、プログラ
ム領域の下にデータメモリ領域をもたせ、従来のRET
命令では使用していなかったオペランド1,オペランド
2部分に演算用RAMで使用されるべきデータをセット
するようにしたものである。
On the other hand, as shown in FIG. 2, a data memory area is provided in a part of the same address space as the program area, and the RET' instruction (as described above) is written as an operation code corresponding to the address D0 of this data memory area. The RET command performs different operations), and data 0 and data 1 are placed in operand 1 and operand 2. The above RET' command is used in addition to the conventional RET processing when returning from a subroutine to the main routine.
Before processing (that is, while the RET instruction is being processed by the instruction decoder), data 0 and data 1 stored in operand 1 and operand 2 are stored in a predetermined latch LM (described later).
This is an instruction that performs an operation to transfer data to. In other words, a data memory area is provided below the program area, and conventional RET
The data to be used in the operation RAM is set in the operand 1 and operand 2 parts that were not used in the instruction.

【0009】以上の構成において、メインルーチンで処
理中にデータメモリ中の1部データを読出す動作は以下
のようなものである。先ず、図2に示すように<cal
l  D0>(メインルーチンの中でD0というアドレ
スをサブルーチンコールする)命令を実行する。すると
、従来のサブルーチンコールと同様の処理がアドレッシ
ング回路部(後述)で行われ、プログラムアドレスはプ
ログラムメモリのアドレスD0に移行する。これによっ
て、アドレスD0に依存する<RET’  d0  d
1>というオペコード、オペランド1,オペランド2が
プログラムメモリから出力される。そして、オペランド
1,オペランド2のデータd1,d2がラッチLM(後
述)にラッチされるとともにオペコードはRET命令と
してインストラクションデコーダでデコードされて従来
と同様の復帰処理がなされ、<call  D0>命令
の次の命令が実行される。例えば、この<call  
D0>命令の次に<movR0  LM>(ラッチLM
の内容をメモリのアドレスR0に格納する)命令をプロ
グラムしておくようにするとプログラムエリア中のデー
タメモリ領域の即値をメモリに読み込むことが可能にな
る。同様に、<call  D1>(D1というアドレ
スをサブルーチンコールする)命令を実行すると、プロ
グラムアドレスはアドレスD1に存在する<RET’ 
 d2  d3>というオペコード、オペランド1,オ
ペランド2が出力される。このように、プログラムメモ
リの一部にデータメモリ領域をもたすことが可能となっ
たため、専用のデータメモリ及びそのアドレッシング回
路が不要となるばかりか該データがプログラムメモリに
直接格納されるので従来のように外部のデータメモリか
らデータを読み出してくる処理がなくなり処理速度が格
段に向上する。
In the above configuration, the operation of reading a portion of data from the data memory during processing in the main routine is as follows. First, as shown in Figure 2, <cal
l Execute the D0> (subroutine call to address D0 in the main routine) instruction. Then, processing similar to a conventional subroutine call is performed in the addressing circuit section (described later), and the program address is moved to address D0 of the program memory. This makes <RET' d0 d dependent on address D0
The opcode 1>, operand 1, and operand 2 are output from the program memory. Then, the data d1 and d2 of operand 1 and operand 2 are latched into the latch LM (described later), and the operation code is decoded by the instruction decoder as a RET command, and the same return process as before is performed. instructions are executed. For example, this <call
D0> command is followed by <movR0 LM> (latch LM)
By programming an instruction (to store the contents of the data at address R0 in the memory), it becomes possible to read the immediate value of the data memory area in the program area into the memory. Similarly, when the <call D1> (subroutine call to address D1) instruction is executed, the program address is <RET' which exists at address D1.
The operation code d2 d3>, operand 1, and operand 2 are output. In this way, it has become possible to have a data memory area in a part of the program memory, which not only eliminates the need for a dedicated data memory and its addressing circuit, but also allows the data to be stored directly in the program memory, which is different from the conventional method. This eliminates the process of reading data from an external data memory, dramatically improving processing speed.

【0010】第1実施例 以下、上記基本原理に基づいて実施例を説明する。図3
〜図6は本発明に係る中央演算処理装置の第1実施例を
示す図であり、固定長固定サイクル命令を実行する中央
演算処理装置に適用した例である。
First Embodiment Hereinafter, embodiments will be explained based on the above basic principle. Figure 3
- FIG. 6 is a diagram showing a first embodiment of a central processing unit according to the present invention, and is an example applied to a central processing unit that executes fixed-length fixed-cycle instructions.

【0011】先ず、構成を説明する。図3は中央演算処
理装置の全体構成図である。図3において、11は固定
長サイクル命令を実行可能な中央演算処理装置(CPU
)、12はCPU11にデータを供給する外部データメ
モリであり、CPU11は、基本クロックCK1,CK
2および制御信号OP1,OP2,Mを基に各部を制御
するクロック信号P1,P2,P3,P4,P5,P6
(図5参照)を生成するクロック回路21と、オペコー
ド、オペランド1,オペランド2が1アドレスに存在す
る固定長固定サイクル命令に基づくプログラムを記憶す
るプログラムメモリ22と、プログラムメモリ22から
出力される命令に含まれるオペコードA1を解読して各
部に制御信号OP1,OP2,M,C1,C3(図5参
照)を出力するオペレーション(インストラクション)
デコーダ23と、演算のためのデータを書込み読出し可
能な演算用RAM24と、プログラムメモリ22から出
力される命令に含まれるオペランドA2を用いて演算用
RAM24をアドレッシングする演算用RAMアドレス
制御回路25と、オペレーションデコーダ23の解読結
果に従って演算用RAM24に対する演算を実行する演
算回路26と、プログラムメモリ22をアドレッシング
するアドレッシング回路27と、分岐からの復帰命令に
オペランド1,オペランド2として含まれているデータ
を一時的に保持するラッチ(LM0)28,(LM1)
29と、データメモリ12に出力されるアドレスデータ
をラッチするラッチ(L3)30とにより構成されてお
り、これら各部はゲート回路31〜35を有するバス3
6により接続されている。
First, the configuration will be explained. FIG. 3 is an overall configuration diagram of the central processing unit. In FIG. 3, 11 is a central processing unit (CPU) capable of executing fixed-length cycle instructions.
), 12 is an external data memory that supplies data to the CPU 11, and the CPU 11 uses basic clocks CK1, CK
Clock signals P1, P2, P3, P4, P5, P6 that control each part based on 2 and control signals OP1, OP2, M
(see FIG. 5); a program memory 22 that stores a program based on a fixed-length fixed-cycle instruction in which an opcode, operand 1, and operand 2 are present at one address; and instructions output from the program memory 22. An operation (instruction) to decode the operation code A1 included in the code and output control signals OP1, OP2, M, C1, C3 (see Figure 5) to each part.
A decoder 23, an arithmetic RAM 24 capable of writing and reading data for an arithmetic operation, and an arithmetic RAM address control circuit 25 that addresses the arithmetic RAM 24 using an operand A2 included in an instruction output from the program memory 22; An arithmetic circuit 26 executes an operation on the arithmetic RAM 24 according to the decoding result of the operation decoder 23, an addressing circuit 27 addresses the program memory 22, and temporarily stores data included as operand 1 and operand 2 in a return instruction from a branch. latches (LM0) 28, (LM1) that hold
29 and a latch (L3) 30 that latches the address data output to the data memory 12, and each of these parts is connected to a bus 3 having gate circuits 31 to 35.
6.

【0012】演算回路26は、演算RAM24から読出
された演算データをラッチするラッチ(L1)41,(
L2)42と、ラッチ(L2)42の出力とバス36を
通して入力されたデータ(例えば、ラッチLM0,LM
1に格納された復帰命令に戻されるデータ、データメモ
リ12から読出されたデータ)とを制御信号C3に従っ
て選択するセレクタ(S1)43と、ラッチ(L1)4
1の出力及びセレクタ(S1)43で選択された出力を
基にオペレーションデコーダ23による解読結果(デコ
ード信号M)に従って所定の演算を実行し、その結果を
演算用RAM24に出力するALU(arithmet
ic  logical  unit)44と、から構
成されている。
The arithmetic circuit 26 has latches (L1) 41, (2) that latch the arithmetic data read out from the arithmetic RAM 24.
L2) 42, data input through the output of latch (L2) 42 and bus 36 (e.g., latches LM0, LM
a selector (S1) 43 that selects the data to be returned to the return command stored in the data memory 12 and the data read from the data memory 12 according to the control signal C3; and a latch (L1) 4.
1 and the output selected by the selector (S1) 43, an ALU (arithmet
ic logical unit) 44.

【0013】また、アドレッシング回路27は、次に読
出す命令が入っているメモリのアドレスを保持し命令実
行により+1ずつインクリメントするプログラムカウン
タ(PC)51と、スタックカウンタ52のアドレスの
増減により分岐命令の次の命令のアドレス(復帰後アド
レス)を格納するスタックメモリ(ST)53と、プロ
グラムカウンタ(PC)51に格納されていたアドレス
、スタックメモリ53に格納されていたアドレス及びプ
ログラムメモリ22からのオペランド1,2アドレスの
うちの何れかのアドレスを制御信号OP1,OP2に従
って選択するセレクタ(S2)54と、選択されたアド
レスをクロック信号P1のタイミングでラッチしてプロ
グラムメモリ22に出力するアドレスラッチ(AL)5
5とから構成されている。
The addressing circuit 27 also includes a program counter (PC) 51 that holds the address of the memory containing the next instruction to be read and increments it by +1 as the instruction is executed, and a stack counter 52 that stores a branch instruction by increasing or decreasing the address of the stack counter 52. The stack memory (ST) 53 stores the address of the next instruction (address after return), the address stored in the program counter (PC) 51, the address stored in the stack memory 53, and the address from the program memory 22. A selector (S2) 54 that selects one of the operand 1 and 2 addresses according to control signals OP1 and OP2, and an address latch that latches the selected address at the timing of the clock signal P1 and outputs it to the program memory 22. (AL)5
It consists of 5.

【0014】次に、本実施例の動作を説明する。 演算命令例 図3で示した中央演算処理装置11の各部の具体的な動
作を説明するにあたって、先ず図14のタイミングチャ
ートを参照しながら8bitの演算命令例<AD1  
rd1  05H>における動作を述べる。この命令が
実行されるとき、プログラムメモリ22は22bitの
コードを出力し、bit0〜7/bit8〜15/bi
t16〜21をそれぞれオペランド2/オペランド1/
オペコードと呼ぶ。例えば、図4に示すように上記命令
時はオペコード/オペランド1/オペランド2を“06
0105”のデジタルコードにより出力するものとする
と、<オペコード>06H(HはHEX表現、以下同様
)は、オペレーションデコーダ23に入力され、その出
力制御線は(1)ALU44の入出力演算をC=A+B
となるような制御コードをALU44に与える。 (2)オペランド2の出力を8bitバスラインに接続
するC1をONする。 (3)ALU44のB入力のセレクタ(S1)43入力
をバス36に接続する。 (4)演算用RAM24のリードライト制御を行う(後
述)。 <オペランド1>は、RAMアドレス制御回路25を通
して演算用RAM24に直接01Hが与えられる。 <オペランド2>は、C1〜バス36を通してALU4
4が与えられる。 本CPU11では以上の動作を3タイミング1サイクル
により実行する。このタイミングで、L1コントロール
はオペレーションデコーダ23の出力で演算用RAM2
4の出力データをラッチするラッチ(L1)41のコン
トロール信号である。同様に、RAMライト信号はオペ
レーションデコーダ23の出力で演算用RAM24に書
き込むためのパルスであり、この信号がLOWのときは
RAM24に与えられているアドレスのデータが出力さ
れ続ける。
Next, the operation of this embodiment will be explained. Example of arithmetic instruction To explain the specific operations of each part of the central processing unit 11 shown in FIG. 3, first, with reference to the timing chart of FIG.
The operation in rd1 05H> will be described. When this instruction is executed, the program memory 22 outputs a 22-bit code, bits 0-7/bits 8-15/bit
Operand 2/operand 1/t16 to t21 respectively
It's called an opcode. For example, as shown in Figure 4, in the above instruction, the opcode/operand 1/operand 2 is
0105'' digital code, <operation code> 06H (H is HEX expression, the same applies hereinafter) is input to the operation decoder 23, and its output control line is (1) input/output operation of the ALU 44 as C= A+B
A control code such as is given to the ALU 44. (2) Turn on C1 that connects the output of operand 2 to the 8-bit bus line. (3) Connect the selector (S1) 43 input of the B input of the ALU 44 to the bus 36. (4) Perform read/write control of the calculation RAM 24 (described later). <Operand 1> is given 01H directly to the arithmetic RAM 24 through the RAM address control circuit 25. <Operand 2> is connected to ALU4 through C1 to bus 36.
4 is given. The CPU 11 executes the above operations in three timings in one cycle. At this timing, the L1 control uses the output of the operation decoder 23 to control the operation RAM 2.
This is a control signal for the latch (L1) 41 that latches the output data of 4. Similarly, the RAM write signal is an output of the operation decoder 23 and is a pulse for writing into the calculation RAM 24, and when this signal is LOW, the data at the address given to the RAM 24 continues to be output.

【0015】以上のようにT1でRAM24に与えられ
ているアドレスで選択されているセルの内容(ここでは
3H)がT1中央でL1にラッチされる。T2でT1の
ときALUの2入力に与えられたデータを加算する。そ
して、T3でその内容を再びrd1に書込む。従って、
rd1←rd1+05Hとなり、3+5=8がrdに格
納され演算が終了する。同様に、ADD  rd1  
rd2の場合には、T1はT2のタイミングでL2にr
d2の内容をラッチし、セレクタ(S1)43をALU
B入力  L2出力とすることにより、rd2←rd1
+dr2の演算が実行される。
As described above, the contents of the cell (3H in this case) selected by the address given to the RAM 24 at T1 are latched into L1 at the center of T1. At T2, the data given to the two inputs of the ALU at T1 are added. Then, at T3, the contents are written to rd1 again. Therefore,
rd1←rd1+05H, 3+5=8 is stored in rd, and the calculation ends. Similarly, ADD rd1
In the case of rd2, T1 sends r to L2 at the timing of T2.
Latch the contents of d2 and set the selector (S1) 43 to the ALU
By setting B input to L2 output, rd2←rd1
+dr2 operation is executed.

【0016】CPU11の各部の動作 次に、図5及び図6のタイミングチャートを参照しなが
らCPU11の各部の動作を説明する。CPU11は、
図5に示すように基本クロックCK2の3サイクルで1
命令が実行される(例外的に、6サイクルで1命令とい
うものもある)。先ず、アドレッシング回路27により
所定のアドレスが指定されるとプログラムメモリ22か
ら22bit固定長データが出力され、具体的には上位
6bitがオペコード(A1)としてオペレーションデ
コーダ23に、次の8bitがオペランド1(A2)、
下位8bitがオペランド3(A3)としてバス36を
通してRAMアドレス制御回路25及びセレクタ(S2
)54にそれぞれ出力される。オペレーションデコーダ
23はプログラムメモリ22から出力される命令に含ま
れるオペコードを解読し、解読結果に基づいて制御信号
OP1,OP2,M,C1,C3を各部回路に供給する
。演算回路26は、オペレーションデコーダ23の解読
結果に従って演算用RAM24に対する演算を実行し、
その演算結果を演算用RAM24に出力する。このよう
な場合において、アドレス指定により<CallADu
  ADo>命令が実行されるとプログラムメモリ22
からはこの命令に基づいてオペコードA1,オペランド
A2,A3としてCall,ADu,ADoが出力され
る。ここで、Callはインストラクション命令であり
、ADu,ADoはアドレスを指定するデータである。 オペコードA1はオペレーションデコーダ23により解
析され、その結果オペレーションデコーダ23からはC
all文を示す指令OP1がセレクタ(S2)54に出
力される。セレクタ(S2)54にはプログラムカウン
タ(PC)51出力、スタックメモリ53出力STR、
オペランド1,オペランド2が入力されており、セレク
タ(S2)54に指令OP1が入力されるとCall命
令によるJUMP先のアドレスであるオペランドA2,
A3を選択する。ここで、1命令(3サイクル)の間O
P1が出力されているからその間図5S2に示すように
オペランド1,2のデータD0が選択される。
Operation of each part of the CPU 11 Next, the operation of each part of the CPU 11 will be explained with reference to the timing charts of FIGS. 5 and 6. The CPU 11 is
As shown in Figure 5, 1 in 3 cycles of basic clock CK2.
Instructions are executed (exceptions include one instruction in six cycles). First, when a predetermined address is specified by the addressing circuit 27, 22-bit fixed length data is output from the program memory 22. Specifically, the upper 6 bits are sent to the operation decoder 23 as an operation code (A1), and the next 8 bits are sent to the operation decoder 23 as the operand 1 ( A2),
The lower 8 bits serve as operand 3 (A3) and are sent to the RAM address control circuit 25 and selector (S2) through the bus 36.
) 54 respectively. The operation decoder 23 decodes the operation code included in the instruction output from the program memory 22, and supplies control signals OP1, OP2, M, C1, and C3 to each circuit based on the decoding result. The arithmetic circuit 26 executes an arithmetic operation on the arithmetic RAM 24 according to the decoding result of the operation decoder 23,
The calculation result is output to the calculation RAM 24. In such a case, by addressing <CallADu
When the ADo> instruction is executed, the program memory 22
Based on this instruction, Call, ADu, and ADo are output as operation code A1 and operands A2 and A3. Here, Call is an instruction command, and ADu and ADo are data specifying an address. The operation code A1 is analyzed by the operation decoder 23, and as a result, the operation decoder 23 outputs C
Command OP1 indicating an all statement is output to selector (S2) 54. The selector (S2) 54 has a program counter (PC) 51 output, a stack memory 53 output STR,
Operand 1 and operand 2 are input, and when command OP1 is input to selector (S2) 54, operand A2, which is the address of the JUMP destination by the Call instruction, is input.
Select A3. Here, O for one instruction (3 cycles)
Since P1 is being output, data D0 of operands 1 and 2 is selected during that time as shown in S2 of FIG.

【0017】セレクタ(S2)54の出力はアドレスラ
ッチ(AL)55に入力され、アドレスラッチ(AL)
55は図5に示すように基本クロックCK1の1サイク
ル目の部分に応答して出力されるクロック信号P1に対
応して出力されるセレクタ(S2)54の出力データD
0をラッチする。なお、セレクタ(S2)54にOP1
が入力されないときは+1ずつインクリメントされるプ
ログラムカウンタ(PC)51のアドレス出力PCがア
ドレスラッチ(AL)にラッチされることになる。
The output of the selector (S2) 54 is input to the address latch (AL) 55, and the address latch (AL)
55 is output data D of the selector (S2) 54 that is output in response to the clock signal P1 that is output in response to the first cycle of the basic clock CK1, as shown in FIG.
Latch 0. Note that OP1 is set in the selector (S2) 54.
When is not input, the address output PC of the program counter (PC) 51, which is incremented by +1, is latched in the address latch (AL).

【0018】上述したオペランド1,2データD0のラ
ッチを行うのと同時にサブルーチンコールのためのスタ
ック処理が実行される。すなわち、Call命令の先の
命令のアドレスを生成しているプログラムカウンタ(P
C)51の復帰先アドレスデータはスタックカウンタ5
2によりそのアドレスが増減するスタックメモリ(ST
)53に格納され、それによってサブプログラムの処理
が始まる。その後、サブプログラムの終了時にRET(
復帰)命令が実行されるとスタックメモリ53に格納さ
れていたメインルーチンの戻り先アドレスがセレクタ(
S2)54により選択され、call命令の次の命令よ
り処理が実行される。
At the same time as the above-mentioned latching of operand 1 and 2 data D0 is carried out, stack processing for a subroutine call is executed. In other words, the program counter (P
C) 51 return destination address data is stack counter 5
Stack memory (ST
) 53, thereby starting the processing of the subprogram. Then, at the end of the subprogram, RET(
When the return) instruction is executed, the return destination address of the main routine stored in the stack memory 53 is changed to the selector (
S2) 54 is selected, and processing is executed from the command following the call command.

【0019】この処理を具体的に説明する。図3に示す
ようにスタックメモリ(ST)53には図5に示すクロ
ック信号P2が入力されており、スタックメモリ53は
P2が入った時点でプログラムカウンタ(PC)51の
値をスタックメモリ53に退避させる。このときの状態
を図5のSTKに示すようにプログラムカウンタ(PC
)51の値(PC+1)をP2に同期してスタックメモ
リ53に格納しておく。プログラムカウンタ(PC)5
1にはクロック信号P3が入力されており、このP3入
力により+1されてD0+1が出力される。そして、ア
ドレスラッチ(AL)55の値D0はプログラムメモリ
22に出力され、読み込んだD0によって図2に示すよ
うにD0をアドレスとしてデータ0,データ1が読み出
される。すなわち、図2に示すプログラムメモリ22上
でアドレスD0が指定されると次のサイクルでデータ0
,データ1が出ることになる。このとき、RET命令も
プログラムメモリ22から命令の一部としてオペレーシ
ョンデコーダ23に出力されるから、オペレーションデ
コーダ23はこれを解読して指令OP2をセレクタ(S
2)54に出力する。OP2が入力されると、セレクタ
(S2)54からはプログラムカウンタ(PC)51に
入っていた(PC+1)が選択されアドレスラッチ(A
L)55に入力される。この状態でアドレスラッチ(A
L)55に基本クロックCK1の1サイクル目に同期し
て立ち上がるクロック信号P1が入力されると、図5A
Lに示すようにアドレスラッチ(AL)55にアドレス
データ(PC+1)がラッチされる。また、プログラム
カウンタ(PC)51はクロック信号P3の入力により
(PC+2)となる。
This process will be explained in detail. As shown in FIG. 3, the stack memory (ST) 53 receives the clock signal P2 shown in FIG. Evacuate. The state at this time is shown in STK in Figure 5, where the program counter (PC
)51 (PC+1) is stored in the stack memory 53 in synchronization with P2. Program counter (PC) 5
A clock signal P3 is inputted to 1, which is incremented by 1 by this P3 input, and D0+1 is output. Then, the value D0 of the address latch (AL) 55 is output to the program memory 22, and the read D0 reads data 0 and data 1 using D0 as an address as shown in FIG. That is, when address D0 is specified on the program memory 22 shown in FIG. 2, data 0 is specified in the next cycle.
, data 1 will be output. At this time, the RET command is also output from the program memory 22 to the operation decoder 23 as part of the command, so the operation decoder 23 decodes this and sends the command OP2 to the selector (S
2) Output to 54. When OP2 is input, (PC+1) that was in the program counter (PC) 51 is selected from the selector (S2) 54 and the address latch (A
L) 55. In this state, the address latch (A
L) When the clock signal P1 that rises in synchronization with the first cycle of the basic clock CK1 is input to 55, the signal shown in FIG.
As shown by L, address data (PC+1) is latched in the address latch (AL) 55. Furthermore, the program counter (PC) 51 becomes (PC+2) due to the input of the clock signal P3.

【0020】一方、図3に示すようにバス36にはアド
レスをデータ出力として演算回路26に供給するための
ラッチ(LM0)28,(LM1)29が設けられてい
る。すなわち、プログラムメモリ22からオペランド1
,オペランド2として出力されるのはアドレスを指定す
るデータであり、これを直接演算回路26に供給するこ
とはできないので上記ラッチ(LM0)28,(LM1
)29が設けてアドレスデータを一時的に退避させてお
くようにする。ラッチ(LM0)28,(LM1)29
にはRET時(OP2が出力されたとき)基本クロック
CK1の1サイクルに同期して立上がるクロック信号P
4が入力されており、このP4が入力されることにより
、図5LM0,LM1に示すようにデータD0,D1が
それぞれラッチされる。
On the other hand, as shown in FIG. 3, the bus 36 is provided with latches (LM0) 28 and (LM1) 29 for supplying the address to the arithmetic circuit 26 as data output. That is, operand 1 is retrieved from program memory 22.
, Operand 2 is data specifying an address, and since this cannot be directly supplied to the arithmetic circuit 26, the latches (LM0) 28 and (LM1
) 29 is provided to temporarily save address data. Latch (LM0) 28, (LM1) 29
At RET (when OP2 is output), a clock signal P rises in synchronization with one cycle of the basic clock CK1.
4 is input, and by inputting this P4, data D0 and D1 are respectively latched as shown in FIG. 5LM0 and LM1.

【0021】ラッチ(LM0)28,(LM1)29に
ラッチされたデータは以下のようにして演算回路26に
移される。すなわち、図5A1,A2,A3に示すよう
に<mov>によってラッチされたデータD0,D1を
移す命令がなされ、次いで<RD0>によってラッチ(
LM0)28とバス36との間のゲート(C2−1)3
2を開き、<LM0>によってゲート(C2−2)33
を開く。と同時に、バス36上におけるデータの衝突を
防止するためのゲート(C1)31を閉じる。このとき
、アドレスラッチ(AL)55にはクロック信号P1に
よって(PC+2)がラッチされていて、このデータ(
PC+2)は次のRD1,LM1を読み込むためのデー
タであり、アドレスラッチ(AL)55は次に読み込む
ためのものを準備している。
The data latched in the latches (LM0) 28 and (LM1) 29 are transferred to the arithmetic circuit 26 in the following manner. That is, as shown in FIGS. 5A1, A2, and A3, an instruction is issued to move the latched data D0 and D1 by <mov>, and then the latched data D0 and D1 are moved by <RD0>.
Gate (C2-1) 3 between LM0) 28 and bus 36
2 and open the gate (C2-2) 33 by <LM0>.
open. At the same time, the gate (C1) 31 for preventing data collision on the bus 36 is closed. At this time, (PC+2) is latched in the address latch (AL) 55 by the clock signal P1, and this data (
PC+2) is data for reading the next RD1 and LM1, and the address latch (AL) 55 is preparing the data to be read next.

【0022】ラッチ(LM0)28,(LM1)29で
ラッチされたデータを演算回路26に読み込むためには
、先ず演算回路26のセレクタ(S1)43に入力され
る制御信号C3を制御する必要がある。具体的には図5
C1,C3に示すようにゲート(C1)31に入力され
る制御信号C1を立下げるとともに、制御信号C3を立
上げることによってラッチ(LM0)28,(LM1)
29からのデータをセレクタ(S1)43で選択させる
ようにする。また、オペランドA1による命令は<mo
v>であるから、ALU44は制御信号Mが入力される
とALU44の入力端子Bに入力されたセレクタ(S1
)43のデータだけを通過させて(入力端子Aに入力さ
れるデータは無視)演算用RAM24に出力する。この
ときのデータの流れが図5L1で示されており、上記通
過させるということはラッチ(L1)41から“0”を
出力することに相当する。また、セレクタ(S1)43
からALU44に出力されるデータは図5S1で示され
る。
In order to read the data latched by the latches (LM0) 28 and (LM1) 29 into the arithmetic circuit 26, it is first necessary to control the control signal C3 input to the selector (S1) 43 of the arithmetic circuit 26. be. Specifically, Figure 5
As shown in C1 and C3, by lowering the control signal C1 input to the gate (C1) 31 and raising the control signal C3, the latches (LM0) 28, (LM1)
29 is selected by a selector (S1) 43. Also, the instruction using operand A1 is <mo
v>, when the control signal M is input, the ALU 44 selects the selector (S1
) 43 (ignoring the data input to the input terminal A) and outputting it to the calculation RAM 24. The flow of data at this time is shown in FIG. 5L1, and passing the data corresponds to outputting "0" from the latch (L1) 41. In addition, the selector (S1) 43
The data output from the ALU 44 is shown in FIG. 5S1.

【0023】図6はALU44におけるタイミングを示
す図である。この図に示すようにALU44はデータD
1,D1をそのまま演算用RAM24に出していること
になる。そして、図6P6に示すように演算用RAM2
4はP6というタイミングでオペランド1で指定された
RD0にアドレスD0が送り込まれる。上述したラッチ
(LM0)28,ラッチ(LM1)29からのデータの
取出し動作は実際には8bit処理により行われるため
同様の処理がLM0,LM1に分けて2回行われる。
FIG. 6 is a diagram showing the timing in the ALU 44. As shown in this figure, the ALU 44 has data D
1, D1 is output to the calculation RAM 24 as is. Then, as shown in FIG. 6P6, the calculation RAM 2
4, address D0 is sent to RD0 specified by operand 1 at timing P6. The data extraction operation from the latch (LM0) 28 and latch (LM1) 29 described above is actually performed by 8-bit processing, so the same processing is performed twice for LM0 and LM1.

【0024】図6RD1は同様の処理により演算用RA
M24のRD1にD1を読み込んだことを示している。
FIG. 6RD1 shows an RA for calculation by similar processing.
This shows that D1 has been read into RD1 of M24.

【0025】以上、図5及び図6のタイミングチャート
に従ってCPU11の各部の動作を説明したが、CPU
11全体において動作の特徴部分を示せば次のようなも
のである。 <Call D0>というニーモニックの命令が実行さ
れると、例えば“823451”Hというデジタルコー
ドがプログラムメモリ22より出力される。このとき、
オペコード82はオペレーション(インストラクション
)デコーダ23に入力され、その出力は各部に出力され
て以下のような動作を行わせる。 (1)オペランド1,2をセレクタ(S2)54を通し
てアドレスラッチ(AL)55にラッチさせ、次のサイ
クルのアドレスとする。 (2)CALL  SUB1の次のアドレス、すなわち
プログラムカウンタ(PC)51の現在値をスタックメ
モリ(TS)53に入力させ、スタックカウンタ52を
+1する。
The operations of each part of the CPU 11 have been explained above according to the timing charts of FIGS. 5 and 6.
The characteristics of the operation of the entire 11 are as follows. When the mnemonic instruction <Call D0> is executed, a digital code “823451”H, for example, is output from the program memory 22. At this time,
The operation code 82 is input to the operation (instruction) decoder 23, and its output is output to each section to perform the following operations. (1) Operands 1 and 2 are latched by the address latch (AL) 55 through the selector (S2) 54 and used as the address for the next cycle. (2) The next address of CALL SUB1, that is, the current value of the program counter (PC) 51, is input to the stack memory (TS) 53, and the stack counter 52 is incremented by 1.

【0026】この結果、アドレスラッチ(AL)55に
D0(=3456H)が与えられ、3456番地の命令
が次のサイクルで実行される。この3456番地には図
2に示すように<Ret’ data0,data1>
という命令があり、例えば“83789AH”というデ
ータがプログラムメモリ22から出力される。このとき
、オペコード83はインストラクションデコーダに与え
られ従来のRet(復帰)動作に加え、オペランド1,
2すなわち789AHの16bitデータを16bit
ラッチLM(LM0,LM1は8bit単位の名称)に
記憶させる動作をさせる。また、従来のRet動作とし
てはスタックカウンタ51を−1した後、スタックされ
ていたRETアドレスをセレクタ(S2)54を通して
アドレスラッチ(AL)55にラッチさせる。以上の結
果、復帰した後、LMに16bitデータが格納される
ことになる。そして、<mov rd0 LM0><m
ov rd1 LM1>を実行することにより演算用R
AM24のrd0,1に789AHが格納されることに
なる。
As a result, D0 (=3456H) is applied to the address latch (AL) 55, and the instruction at address 3456 is executed in the next cycle. At this address 3456, as shown in Figure 2, <Ret' data0, data1>
For example, data "83789AH" is output from the program memory 22. At this time, opcode 83 is given to the instruction decoder, and in addition to the conventional Ret (return) operation, operand 1,
2, 16 bit data of 789AH
The latch LM (LM0 and LM1 are names in 8-bit units) is caused to perform a storing operation. Further, in the conventional Ret operation, after decrementing the stack counter 51 by 1, the stacked RET address is passed through the selector (S2) 54 and latched into the address latch (AL) 55. As a result of the above, after returning, 16-bit data will be stored in the LM. And <mov rd0 LM0><m
By executing ov rd1 LM1>,
789AH will be stored in rd0,1 of AM24.

【0027】以上説明したように、本実施例によればプ
ログラム領域にデータメモリを設けてアドレス変化をさ
せてデータを出力させ、その後プログラム実行アドレス
に再度復帰できるようにしている。すなわち、サブルー
チンコールとRETを利用し、一時的にデータ領域をア
クセスし、その時RET文でオペランドデータを読み出
すようにしているので、プログラムメモリ22の一部に
データ領域を設けることが可能となり専用のデータメモ
リやそのアドレッシング回路を不要にすることができる
。又、この上述した機能を達成するための回路もきわめ
て少なく従来のカスタムCPUへも非常に容易に応用可
能である。
As explained above, according to the present embodiment, a data memory is provided in the program area so that the address can be changed to output data, and then the program execution address can be returned again. That is, since the data area is temporarily accessed using a subroutine call and RET, and the operand data is read using the RET statement at that time, it is possible to provide a data area in a part of the program memory 22, and a dedicated Data memory and its addressing circuit can be made unnecessary. Furthermore, the number of circuits required to achieve the above-mentioned functions is extremely small, and it can be applied to conventional custom CPUs very easily.

【0028】また、外部のデータメモリ12からデータ
を取り込む必要がなくなるので、特に従来方式の別デー
タROMアクセスに較べ、アドレス用ラッチデータの処
理が不要となることから、非常に高速に即値を得ること
が可能になり、処理速度を飛躍的に向上させることがで
きる。さらに、汎用RAMに直接データが格納されるた
め、LMからの転送命令、転送時間が不要となりプログ
ラムメモリの節約及び高速処理がより一層向上する。
Furthermore, since there is no need to take in data from the external data memory 12, it is possible to obtain an immediate value very quickly, especially compared to the conventional separate data ROM access, since there is no need to process address latch data. This makes it possible to dramatically improve processing speed. Furthermore, since data is directly stored in the general-purpose RAM, there is no need for transfer commands from the LM and transfer time, further improving program memory savings and high-speed processing.

【0029】なお、本実施例ではRET’命令実行時に
LMというラッチに即値データに格納しているが、その
RET’命令時にRAMアドレス制御回路25を制御し
、バス等の入出力の制御を行って特定のRAM領域に直
接即値データを格納することも可能である。このように
すればより汎用性を向上させることができる。
In this embodiment, when the RET' command is executed, immediate value data is stored in the latch LM, but at the time of the RET' command, the RAM address control circuit 25 is controlled to control the input/output of the bus, etc. It is also possible to directly store immediate value data in a specific RAM area. In this way, versatility can be further improved.

【0030】また、本実施例では、CPU11を固定長
固定命令としているが、要はプログラムメモリにデータ
を設けることのできるCPUであれば何でもよく、命令
長は固定長である必要はなく命令実行サイクルも任意で
あることは言うまでもない。
Furthermore, in this embodiment, the CPU 11 has fixed-length fixed instructions, but any CPU that can store data in the program memory may be used, and the instruction length does not have to be fixed and the instruction execution Needless to say, the cycle is also arbitrary.

【0031】第2実施例 ところで、前記第1実施例のCPU11ではCALL/
RETをそのまま利用しているのでプログラムメモリ長
は22bitであるにもかかわらず、上位6bitは必
ずRET命令のオペコードでなければならずこの点のメ
モリ効率をより高めることが考えられ、これを第2実施
例として説明する。なお、実際には、オペコードとして
使用した上位6bitは6bitであって利用しにくい
ことから第1実施例のCPU11でも非常に有効である
Second Embodiment By the way, in the CPU 11 of the first embodiment, CALL/
Even though the program memory length is 22 bits because RET is used as is, the upper 6 bits must be the opcode of the RET instruction, and it is possible to further improve memory efficiency in this respect. This will be explained as an example. Note that, in reality, the upper 6 bits used as the operation code are 6 bits and difficult to use, so the CPU 11 of the first embodiment is also very effective.

【0032】図7〜図12は本発明に係る中央演算処理
装置の第2実施例を示す図であり、第1実施例と同様、
固定長固定サイクル命令を実行する中央演算処理装置に
適用した例である。本実施例の説明にあたり、第1実施
例と同一構成部分には同一番号及び同一符号を付して重
複部分の説明を省略する。
FIGS. 7 to 12 are diagrams showing a second embodiment of the central processing unit according to the present invention, and like the first embodiment,
This is an example applied to a central processing unit that executes fixed-length fixed-cycle instructions. In describing this embodiment, the same numbers and symbols are given to the same components as in the first embodiment, and the explanation of the overlapping parts will be omitted.

【0033】先ず、構成を説明する。図7は中央演算処
理装置の全体構成図である。図7において、100は2
4bit固定長サイクル命令を実行可能な中央演算処理
装置(CPU)であり、CPU100は、基本クロック
CK1,CK2および制御信号CALL,RET,Mを
基に各部を制御するクロック信号P1,P2,P3,P
4,P5,P6(図10及び図11参照)を生成するク
ロック回路101と、オペコード、オペランド1,オペ
ランド2が1アドレスに存在する固定長固定サイクル命
令に基づくプログラムを記憶するプログラムメモリ22
と、プログラムメモリ22から出力される命令に含まれ
るオペコードA1を解読して各部に制御信号M,C1,
C3(図10及び図11参照)を出力するオペレーショ
ン(インストラクション)デコーダ102と、オペレー
ションデコーダ102からの出力及び外部からの与えら
れた分岐命令信号CALL1に基づいてCPU100全
体のサブルーチン分岐、復帰の制御を行う命令信号CA
LL,RETを出力する分岐遅延回路103と(図8参
照)、演算のためのデータを書込み読出し可能な演算用
RAM24と、プログラムメモリ22から出力される命
令に含まれるオペランドA2を用いて演算用RAM24
をアドレッシングする演算用RAMアドレス制御回路2
5と、オペレーションデコーダ102の解読結果に従っ
て演算用RAM24に対する演算を実行する演算回路2
6と、プログラムメモリ22をアドレッシングするアド
レッシング回路27と、分岐した際のデータを一時的に
保持するラッチ(LM0)104,(LM1)105,
(LM2)106と、データメモリ12に出力されるア
ドレスデータをラッチするラッチ(L3)30とにより
構成されており、これら各部はゲート回路31,34,
35,107〜109を有するバス110により接続さ
れている。
First, the configuration will be explained. FIG. 7 is an overall configuration diagram of the central processing unit. In Figure 7, 100 is 2
The CPU 100 is a central processing unit (CPU) capable of executing 4-bit fixed length cycle instructions, and the CPU 100 uses clock signals P1, P2, P3, P
4, P5, and P6 (see FIGS. 10 and 11); and a program memory 22 that stores a program based on a fixed-length fixed-cycle instruction in which an opcode, operand 1, and operand 2 are present at one address.
Then, the operation code A1 included in the instruction output from the program memory 22 is decoded and control signals M, C1,
An operation (instruction) decoder 102 that outputs C3 (see FIGS. 10 and 11), and controls subroutine branching and return of the entire CPU 100 based on the output from the operation decoder 102 and a branch instruction signal CALL1 applied from the outside. Command signal CA to perform
A branch delay circuit 103 that outputs LL and RET (see FIG. 8), an arithmetic RAM 24 capable of writing and reading data for an arithmetic operation, and an operand A2 included in an instruction output from the program memory 22 are used to perform an arithmetic operation. RAM24
Arithmetic RAM address control circuit 2 for addressing
5, and an arithmetic circuit 2 that executes an arithmetic operation on the arithmetic RAM 24 according to the decoding result of the operation decoder 102.
6, an addressing circuit 27 that addresses the program memory 22, and latches (LM0) 104, (LM1) 105, that temporarily hold data when branching.
(LM2) 106 and a latch (L3) 30 that latches the address data output to the data memory 12, and each of these parts consists of gate circuits 31, 34,
35, 107-109 by a bus 110.

【0034】上記ラッチ(LM0)104,(LM1)
105,(LM2)106はラッチLMの8bit単位
の名称で、LMは、分岐するとその命令サイクルでデー
タ0〜データ2の3byte(24bit)のデータを
ラッチするものである(図11参照)。
[0034] The above latches (LM0) 104, (LM1)
105 and (LM2) 106 are the names of 8-bit units of latch LM, and LM latches 3 bytes (24 bits) of data from data 0 to data 2 in the instruction cycle when a branch occurs (see FIG. 11).

【0035】図8は分岐遅延回路103の回路構成図で
ある。この図において、分岐遅延回路103は、従来か
らある通常のサブルーチン分岐命令信号CALL1と本
実施例特有のサブルーチン分岐命令信号CALL2を論
理ORするORゲート111と、CALL2信号を図1
0に示すようなクロックCK1,CK2に同期してラッ
チし遅延信号DCALL2として出力する遅延用ラッチ
112と、DCALL2信号と従来からあるサブルーチ
ン復帰命令信号RETとを論理ORしRET命令信号と
して出力するORゲート113とにより構成されている
FIG. 8 is a circuit diagram of the branch delay circuit 103. In this figure, a branch delay circuit 103 includes an OR gate 111 that logically ORs a conventional normal subroutine branch command signal CALL1 and a subroutine branch command signal CALL2 unique to this embodiment, and a CALL2 signal as shown in FIG.
A delay latch 112 that latches in synchronization with clocks CK1 and CK2 and outputs it as a delayed signal DCALL2 as shown in FIG. gate 113.

【0036】以上の構成において、CALL2という本
実施例特有のサブルーチン分岐命令を行うと図9に示す
ようにD0というラベルのアドレスに分岐する。分岐す
るとその命令サイクルでDATA0〜DATA2の3b
yteデータをLMというラッチ(LM0,LM1,L
M2)に転送する。そして、このサイクルでは自動的に
RET命令が実行される。次のサイクルでCALL2の
次のアドレスに復帰処理がなされ、プログラムが制御す
るプログラム領域に制御が移される。このとき、例えば
<mov R012 LM>(LMの内容をメモリRo
12に転送する)という命令を置くことによりデータメ
モリ領域の即値を読み込むことが可能となる。
In the above configuration, when a subroutine branch instruction called CALL2 unique to this embodiment is executed, the program branches to the address labeled D0 as shown in FIG. When branching, 3b of DATA0 to DATA2 in that instruction cycle
yte data is stored in a latch called LM (LM0, LM1, L
M2). Then, in this cycle, the RET command is automatically executed. In the next cycle, a return process is performed to the next address of CALL2, and control is transferred to the program area controlled by the program. At this time, for example, <mov R012 LM> (the contents of LM are transferred to the memory Ro
12), it becomes possible to read the immediate value of the data memory area.

【0037】以下、図10〜図12のタイミングチャー
トを参照して実際の回路動作を説明する。
The actual circuit operation will be explained below with reference to the timing charts of FIGS. 10 to 12.

【0038】図10及び図11はCPU100の各部の
タイミングチャートであり、第1実施例の図5に対応し
ている。図5と異なるところは次のようなものである。 すなわち、図5ではオペコードA1はCALL命令の次
の命令がRET命令でありオペランド1,オペランド2
はデータD0,D1であったが、本実施例ではデータが
オペコードA1にも入るから図10に示すようにデータ
メモリ領域のオペコード、オペランド1,オペランド2
にこの順でDATA1〜DATA3が入る。なお、上記
DATA1〜DATA3はデータの順序(1番面〜3番
目)を示すものであり、図9では上記DATA1〜DA
TA3はD0〜D2,D3〜D5あるいはDn〜Dn+
2に対応する。また、上記DATA1〜DATA3を読
込むタイミングとして演算用RAM26にクロック信号
P6が入力されている。また、本実施例では図5のOP
1,OP2に代えて分岐遅延回路103によってCAL
L,RETが用いられ、さらにこれに加えて図10に示
すDCALLが出力される。
FIGS. 10 and 11 are timing charts of each part of the CPU 100, and correspond to FIG. 5 of the first embodiment. The differences from FIG. 5 are as follows. That is, in FIG. 5, operation code A1 indicates that the instruction following the CALL instruction is a RET instruction, and operands 1 and 2 are
are the data D0 and D1, but in this embodiment, the data also enters the operation code A1, so the operation code, operand 1, and operand 2 in the data memory area are
DATA1 to DATA3 are entered in this order. Note that the above DATA1 to DATA3 indicate the order of data (first to third), and in FIG. 9, the above DATA1 to DATA
TA3 is D0-D2, D3-D5 or Dn-Dn+
Corresponds to 2. Further, a clock signal P6 is inputted to the calculation RAM 26 as a timing for reading the above-mentioned DATA1 to DATA3. In addition, in this embodiment, OP of FIG.
1, CAL by branch delay circuit 103 instead of OP2
L and RET are used, and in addition to this, DCALL shown in FIG. 10 is output.

【0039】分岐遅延回路103にはオペレーションデ
コーダ102により従来からあるサブルーチン分岐命令
信号CALL1と本実施例特有のCALL2、さらにサ
ブルーチン復帰命令信号RETが入力されており、分岐
遅延回路103のCALLOUT,RET  OUT端
子からはCPU全体各部のサブルーチン分岐、復帰の制
御を行うCALL信号、RET信号が出力される。
The operation decoder 102 inputs into the branch delay circuit 103 a conventional subroutine branch command signal CALL1, a CALL2 unique to this embodiment, and a subroutine return command signal RET. A CALL signal and a RET signal for controlling subroutine branching and return of each part of the entire CPU are output from the terminal.

【0040】いま、プログラム中<CALL  D0>
命令がプログラムメモリ22より出力されると、オペレ
ーションデコーダ102でこの命令が解読され、分岐遅
延回路103のCALL2端子に「H」レベルを与える
。 すると、CALLOUT端子より「H」レベルが出力さ
れ、従来からあるCALL命令処理が行われることとな
って、プログラムメモリアドレスは<ラベルD0番地>
に移る。また、CALL2の「H」は内部の遅延用ラッ
チに入力されることになる。
[CALL D0] Currently being programmed
When the instruction is output from the program memory 22, the instruction is decoded by the operation decoder 102 and the CALL2 terminal of the branch delay circuit 103 is given an “H” level. Then, the "H" level is output from the CALLOUT terminal, the conventional CALL command processing is performed, and the program memory address is <label D0 address>.
Move to. Further, "H" of CALL2 is input to the internal delay latch.

【0041】次のサイクルではプログラムメモリ22は
ラベルD0番地となるため図9に示すようにオペコード
、オペランド1,2としてそれぞれDATA1〜DAT
A3が出力される。このとき、図12に示すようにDC
ALL2信号が「H」となるので、DATA1〜DAT
A3はラッチLMの入力に接続されるように制御され、
LMに格納される。また、DCALL2信号は従来のR
ET命令信号と同様の意味を持つRET  OUT信号
に論理和されるので次の命令サイクルに復帰するように
CPU100全体を制御することができる。
In the next cycle, the program memory 22 will be at the label address D0, so as shown in FIG.
A3 is output. At this time, as shown in FIG.
Since the ALL2 signal becomes “H”, DATA1~DAT
A3 is controlled to be connected to the input of latch LM,
Stored in LM. In addition, the DCALL2 signal is
Since it is ORed with the RET OUT signal, which has the same meaning as the ET command signal, the entire CPU 100 can be controlled to return to the next command cycle.

【0042】次のサイクルでは復帰が行われ、サブルー
チン分岐命令の直後の命令が実行される。上述した動作
によりLMというラッチにデータ領域の即値データが格
納されることになる。このように、第1の実施例ではオ
ペコードとして使用した領域にはデータを入れることが
できず、オペランド1,2について8bitのデータを
設けていたが、本実施例ではオペコードを記憶していた
部分にもデータを記憶できるようにするものである。こ
れを実現するために本実施例のCPU100は分岐遅延
回路103を設け、通常のCALL命令とは少し異なる
DCALL2命令を出力するようにして(通常のCAL
L命令も出力する)RETを省略するようにする。すな
わち、CALL2という命令を入力すると分岐遅延回路
103によってDCALL2とRET命令信号を出力し
て強制的に復帰させるようにしている。また、これに伴
ってLMとしては一時退避させるラッチを3つ(LM0
)104,(LM1)105,(LM2)106設けて
いる。
In the next cycle, a return is made and the instruction immediately following the subroutine branch instruction is executed. By the above-described operation, the immediate data in the data area is stored in the latch LM. In this way, in the first embodiment, data could not be stored in the area used as the opcode, and 8-bit data was provided for operands 1 and 2, but in this embodiment, the area used for storing the opcode is It also allows data to be stored. In order to realize this, the CPU 100 of this embodiment is provided with a branch delay circuit 103, and outputs a DCALL2 instruction that is slightly different from the normal CALL instruction (normal CALL
(Also outputs the L instruction) RET should be omitted. That is, when the command CALL2 is input, the branch delay circuit 103 outputs DCALL2 and a RET command signal to force a return. In addition, in conjunction with this, three latches (LM0
) 104, (LM1) 105, and (LM2) 106 are provided.

【0043】以上述べたように、本実施例ではプログラ
ム領域からデータ領域にサブルーチン分岐させ、データ
領域全bitフィールドがどんな値でも(第1実施例で
はオペコードがRETという制限があったが)プログラ
ム実行アドレスに自動的に復帰できるようにしているの
で、第1実施例の効果に加えてデータ領域を100%有
効に使用することが可能となる。
As described above, in this embodiment, the subroutine is branched from the program area to the data area, and the program can be executed no matter what value the entire bit field of the data area has (although in the first embodiment there was a restriction that the opcode was RET). Since it is possible to automatically return to the address, in addition to the effects of the first embodiment, it is possible to use the data area 100% effectively.

【0044】なお、上記各実施例では固定サイクル命令
が3サイクル命令のCPUに適用した例であるが、他の
サイクル命令でも良いことは勿論である。また、上記C
PU11,CPU100や分岐遅延回路103等を構成
する部材の数、種類などは上述した実施例に限られるも
のではなく、例えばレジスタ等を増やすようにしてもよ
いことは言うまでもない。
In each of the above embodiments, the fixed cycle instructions are applied to a CPU with three cycle instructions, but it goes without saying that other cycle instructions may be used. In addition, the above C
It goes without saying that the number and types of components constituting the PU 11, CPU 100, branch delay circuit 103, etc. are not limited to those in the above-described embodiments, and for example, the number of registers or the like may be increased.

【0045】[0045]

【発明の効果】請求項1の本発明によれば、プログラム
領域からデータ領域とのアドレス変化をさせそのときデ
ータを出力させ、その後プログラム実行アドレスに再度
復帰できるようにしているので、プログラムメモリの一
部にデータ領域を設けることが可能となり専用のデータ
メモリやそのアドレッシング回路を不要とすることがで
き、従来方式の別データROMアクセスに比べ、アドレ
ス用ラッチデータの処理が不要のため、非常に高速に即
値が得られる。請求項2の発明によれば、請求項1の発
明の効果に加えて、さらにRET命令が不要となるので
オペコードとして使用していたデータ領域にもデータを
記憶させることができメモリ効率をより一層高めること
ができる。
According to the present invention as claimed in claim 1, since the address is changed from the program area to the data area, data is output at that time, and the program execution address can be returned again after that, the program memory can be changed. It is possible to provide a data area in a part, eliminating the need for a dedicated data memory and its addressing circuit, and compared to the conventional method of accessing a separate data ROM, there is no need to process latch data for addresses, making it very easy to use. Get instant value quickly. According to the invention of claim 2, in addition to the effect of the invention of claim 1, since the RET command is no longer required, data can be stored in the data area that was used as an operation code, further improving memory efficiency. can be increased.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】中央演算処理装置のプログラムメモリの流れを
示す図である。
FIG. 1 is a diagram showing the flow of a program memory of a central processing unit.

【図2】中央演算処理装置のプログラムメモリの流れを
示す図である。
FIG. 2 is a diagram showing the flow of a program memory of a central processing unit.

【図3】中央演算処理装置の全体構成図である。FIG. 3 is an overall configuration diagram of a central processing unit.

【図4】中央演算処理装置の8bitの演算命令例を説
明するためのタイミングチャートである。
FIG. 4 is a timing chart for explaining an example of an 8-bit operation instruction of the central processing unit.

【図5】中央演算処理装置のタイミングチャートである
FIG. 5 is a timing chart of the central processing unit.

【図6】中央演算処理装置の演算回路のタイミングチャ
ートである。
FIG. 6 is a timing chart of the arithmetic circuit of the central processing unit.

【図7】中央演算処理装置の全体構成図である。FIG. 7 is an overall configuration diagram of a central processing unit.

【図8】中央演算処理装置の分岐遅延回路の回路図であ
る。
FIG. 8 is a circuit diagram of a branch delay circuit of the central processing unit.

【図9】中央演算処理装置のプログラムメモリの流れを
示す図である。
FIG. 9 is a diagram showing the flow of a program memory of the central processing unit.

【図10】中央演算処理装置のタイミングチャートであ
る。
FIG. 10 is a timing chart of the central processing unit.

【図11】中央演算処理装置のタイミングチャートであ
る。
FIG. 11 is a timing chart of the central processing unit.

【図12】中央演算処理装置の分岐遅延回路のタイミン
グチャートである。
FIG. 12 is a timing chart of a branch delay circuit of the central processing unit.

【符号の説明】[Explanation of symbols]

11  CPU 12  データメモリ 21  クロック回路 22  プログラムメモリ 23  オペレーションデコーダ 24  演算用RAM 25  演算用RAMアドレス制御回路26  演算回
路 27  アドレッシング回路 28  ラッチ(LM0) 29  ラッチ(LM1) 30  ラッチ(L1) 31〜35  ゲート回路 41  ラッチ(L1) 42  ラッチ(L2) 43  セレクタ(S1) 44  ALU 51  プログラムカウンタ 52  スタックカウンタ 53  スタックメモリ 54  セレクタ(S2) 55  アドレスラッチ(AL) 103  分岐遅延回路 104  ラッチ(LM0) 105  ラッチ(LM1) 106  ラッチ(LM2) 111,113  ORゲート 112  遅延用ラッチ
11 CPU 12 Data memory 21 Clock circuit 22 Program memory 23 Operation decoder 24 Arithmetic RAM 25 Arithmetic RAM address control circuit 26 Arithmetic circuit 27 Addressing circuit 28 Latch (LM0) 29 Latch (LM1) 30 Latch (L1) 31 to 35 Gate Circuit 41 Latch (L1) 42 Latch (L2) 43 Selector (S1) 44 ALU 51 Program counter 52 Stack counter 53 Stack memory 54 Selector (S2) 55 Address latch (AL) 103 Branch delay circuit 104 Latch (LM0) 105 Latch ( LM1) 106 Latch (LM2) 111, 113 OR gate 112 Delay latch

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 所定のプログラムを記憶するプログラム
記憶手段と、前記プログラム記憶手段をアドレッシング
するアドレッシング手段と、演算用データを書込み読出
し可能な演算データ記憶手段と、前記プログラム記憶手
段から出力される命令に含まれるオペコードを解読する
命令解読手段と、前記プログラム記憶手段から出力され
る命令に含まれるオペランドを用いて前記演算データ記
憶手段をアドレッシングする演算データアドレッシング
手段と、前記命令解読手段の解読結果に従って前記演算
データ記憶手段に対する演算を実行する演算手段と、を
備えた中央演算処理装置において、前記アドレッシング
手段は、前記オペランドの即値データに基づいて前記プ
ログラム記憶手段の一部に復帰を前提として分岐させる
アドレスを指定するアドレス変更手段と、復帰後のアド
レスを一時格納するアドレス格納手段と、分岐後に第1
の復帰命令により前記アドレス格納手段から分岐命令の
次の命令のアドレスを復帰後アドレスとして読出して前
記プログラム記憶手段のアドレスとする制御手段と、復
帰後に命令に含まれるオペランドを読出して記憶させる
第2の復帰命令を設け、読出したデータを記憶するデー
タ記憶手段と、を具備したことを特徴とする中央演算処
理装置。
1. Program storage means for storing a predetermined program, addressing means for addressing the program storage means, calculation data storage means capable of writing and reading calculation data, and instructions output from the program storage means. an instruction decoding means for decoding an operation code included in the instruction; an arithmetic data addressing means for addressing the arithmetic data storage means using operands included in the instruction output from the program storage means; and according to the decoding result of the instruction decoding means. and a calculation means for executing an operation on the calculation data storage means, wherein the addressing means causes a part of the program storage means to branch on the premise of return based on the immediate value data of the operand. address changing means for specifying an address; address storage means for temporarily storing the address after return;
control means for reading an address of an instruction next to the branch instruction from the address storage means as a post-return address in response to a return instruction of the program storage means; and a second control means for reading and storing an operand included in the instruction after the return. 1. A central processing unit comprising: data storage means for storing read data; and data storage means for storing read data.
【請求項2】 所定のプログラムを記憶するプログラム
記憶手段と、前記プログラム記憶手段をアドレッシング
するアドレッシング手段と、演算用データを書込み読出
し可能な演算データ記憶手段と、前記プログラム記憶手
段から出力される命令に含まれるオペコードを解読する
命令解読手段と、前記プログラム記憶手段から出力され
る命令に含まれるオペランドを用いて前記演算データ記
憶手段をアドレッシングする演算データアドレッシング
手段と、前記命令解読手段の解読結果に従って前記演算
データ記憶手段に対する演算を実行する演算手段と、を
備えた中央演算処理装置において、復帰を前提として分
岐を行う第1のサブルーチン分岐命令と、前記分岐解読
手段から所定の制御信号を出力させる第2のサブルーチ
ン分岐命令と、前記制御信号を遅延させて遅延制御信号
を出力する遅延手段と、前記遅延手段から出力された遅
延制御信号により分岐後の前記プログラム記憶手段から
出力される即値データを読出して記憶する記憶手段とを
設け、読出し後復帰して分岐直後の命令を処理するよう
にしたことを特徴とする中央演算処理装置。
2. Program storage means for storing a predetermined program, addressing means for addressing the program storage means, calculation data storage means capable of writing and reading calculation data, and instructions output from the program storage means. an instruction decoding means for decoding an operation code included in the instruction; an arithmetic data addressing means for addressing the arithmetic data storage means using operands included in the instruction output from the program storage means; and according to the decoding result of the instruction decoding means. a central processing unit comprising: arithmetic means for executing an arithmetic operation on the arithmetic data storage means; a first subroutine branch instruction for branching on the premise of return; and a predetermined control signal output from the branch decoding means. a second subroutine branch instruction, a delay means for delaying the control signal and outputting a delayed control signal, and a delay control signal output from the delay means to output immediate data output from the program storage means after branching. What is claimed is: 1. A central processing unit comprising a storage means for reading and storing information, and returning after reading to process an instruction immediately after a branch.
JP10685091A 1991-04-11 1991-04-11 Central processing unit Pending JPH04314131A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10685091A JPH04314131A (en) 1991-04-11 1991-04-11 Central processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10685091A JPH04314131A (en) 1991-04-11 1991-04-11 Central processing unit

Publications (1)

Publication Number Publication Date
JPH04314131A true JPH04314131A (en) 1992-11-05

Family

ID=14444103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10685091A Pending JPH04314131A (en) 1991-04-11 1991-04-11 Central processing unit

Country Status (1)

Country Link
JP (1) JPH04314131A (en)

Similar Documents

Publication Publication Date Title
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6297036A (en) Calculator system
US4348720A (en) Microcomputer arranged for direct memory access
KR100210205B1 (en) Apparatus and method for providing a stall cache
EP0755538B1 (en) Apparatus and method for updating information in a writable microcode control store
US5051890A (en) Program/data memory employed in microcomputer system
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
JPH08212075A (en) Information processing device
JP2690406B2 (en) Processor and data processing system
KR100321745B1 (en) A micro controller unit for external memory access
JPH04314131A (en) Central processing unit
JP3182796B2 (en) Central processing unit
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JPH04329436A (en) central processing unit
CN114115997B (en) Processor-oriented data transmission instruction implementation method and system
JPS61250754A (en) Simple type cache memory
JPS63206843A (en) cache memory device
JPS63163634A (en) Command fetch method
JP2001100991A (en) Digital signal processor
JPS62145430A (en) Data processor
JPH11203134A (en) Bit arithmetic circuit
JPH10207708A (en) Programmable controller
JPS6218934B2 (en)
JPH05303543A (en) Processor system
JPS60218146A (en) Storage device address control system