Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0652501B2 - Data processing device - Google Patents
[go: Go Back, main page]

JPH0652501B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JPH0652501B2
JPH0652501B2 JP1242255A JP24225589A JPH0652501B2 JP H0652501 B2 JPH0652501 B2 JP H0652501B2 JP 1242255 A JP1242255 A JP 1242255A JP 24225589 A JP24225589 A JP 24225589A JP H0652501 B2 JPH0652501 B2 JP H0652501B2
Authority
JP
Japan
Prior art keywords
data
instruction
operand
tag
processing device
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.)
Expired - Lifetime
Application number
JP1242255A
Other languages
Japanese (ja)
Other versions
JPH02146628A (en
Inventor
伸一朗 山口
秀和 松本
忠秋 坂東
宏明 中西
健二 広瀬
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1242255A priority Critical patent/JPH0652501B2/en
Publication of JPH02146628A publication Critical patent/JPH02146628A/en
Publication of JPH0652501B2 publication Critical patent/JPH0652501B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はデータ型を示すタグを有するタグ付きデータ用
命令とタグ無しデータ用命令を解釈実行するデータ処理
装置に関する。
Description: FIELD OF THE INVENTION The present invention relates to a data processing device for interpreting and executing a tagged data instruction having a tag indicating a data type and an untagged data instruction.

〔発明の背景〕[Background of the Invention]

ノイマン型の汎用のデータ処理装置(以下、計算機と称
す)は、その計算機固有のマクロ命令(以下命令と称
す)を持ち、命令は通常オペレーシヨンの種類を示すオ
ペコードとオペレーシヨンの対象となるオペランドの所
在を示すオペランド指定子より成つている。そして、オ
ペランドの指定方法は、アドレツシングモードと呼ば
れ、様々な方法が提案されている。これらの計算機に共
通な特徴として、命令が扱うデータのデータ型は、オペ
コードによつて一義的に決められていることが挙げられ
る。例えば、同じオペランドに存在するデータでも、固
定小数点用の命令であれば、それを整数と見なして演算
し、文字列用の命令であれば、それを文字コードと見な
して演算すると言つた見合である。
A Neumann type general-purpose data processing device (hereinafter, referred to as a computer) has a macro instruction (hereinafter, referred to as an instruction) unique to the computer, and the instruction is an operation code that normally indicates the type of operation and an operand that is an operation target. Consists of an operand specifier that indicates the whereabouts of. The method of specifying the operand is called an addressing mode, and various methods have been proposed. A common feature of these computers is that the data type of data handled by an instruction is uniquely determined by an opcode. For example, even if data exists in the same operand, if it is a fixed-point instruction, it is treated as an integer, and if it is a character string instruction, it is treated as a character code. is there.

これに対して、プロシーデイング オブ ロジツク プロ
グラミング コンフアレンス’84(Proceeding of Log
ec Programming Cnoference ’84)の「パーソナル逐
次型推論マシンPSIのハードウエア開発」あるいはイ
ンターナシヨナル・シンポジウム・オン・ロジツク・プ
ログラミング’84(International Symposium on Logic
Programming)の「トワーズ・ア・パイプライン・プロロ
ーグ・プロセツサ」(“Towards Pipelined Prolog Pro
cessor”)、更には、エス・アール・アイ・インターナ
シヨナル・アーテイフイシヤル・インテリジエンス・セ
ンター・テクニカルレポート1983(Tech・Report 3
09,Artificial Intelligence Center,SRI Internati
onal 1983)の「アブストラクト・プロローグ・インス
トラクシヨンセツト」(“An Abstruct Prolog Instruc
tion Set”)に述べられているプロローグ専用計算機で
は、各データの特定のビツトをタグとして割り当てて、
タグにそのデータのデータ型の情報を持たせている。そ
して、演算時には、タグを調べてデータ型を判定しなが
ら、演算の種類を変更するようになつている。このよう
なタグアーキテクチヤは、リスプやプロローグと言つた
記号処理用言語を効率よく実行できるアーキテクチヤで
ある。
In contrast, the Proceeding of Logistics Programming Conference '84 (Proceeding of Log
ec Programming Cnoference '84) "Hardware development of personal sequential inference machine PSI" or International Symposium on Logic Programming '84 (International Symposium on Logic
Programming) "Towards a Pipelined Prolog Pro"
cessor ”), and moreover, S.R.I.International Artificial Intelligence Center Technical Report 1983 (Tech Report 3)
09, Artificial Intelligence Center, SRI Internati
onal 1983) "Abstract Prolog Instruc"
In the computer dedicated to prologue described in "tion set"), a specific bit of each data is assigned as a tag,
The tag has the data type information of the data. At the time of calculation, the type of calculation is changed while checking the tag and determining the data type. Such a tag architecture is an architecture that can efficiently execute a symbol processing language such as a Lisp or a prologue.

以上述べた2種類の計算機アーキテクチヤは、互いに独
立であり、相入れないものであつた。しかしながら、知
識工学等のアプリケーシヨンでは前者が得意とする数値
処理と後者が得意とする非数値処理(記号処理)が共に
必要であり、両者、即ちタグ無しデータ用命令とタグ付
きデータ用命令を共に実行可能な計算機が必要である。
The above-mentioned two types of computer architectures are independent of each other and are not compatible with each other. However, in applications such as knowledge engineering, both the numerical processing that the former is good at and the non-numerical processing (symbol processing) that the latter is good at are required, and both, namely, untagged data instructions and tagged data instructions are required. A computer that can execute both is required.

タグ無しデータ用命令とタグ付きデータ用命令を同一計
算機内で解釈実行するには、両者を別モードの命令セツ
トとして、各命令セツトには、他のモードへ移行する命
令を設けておく方法が考えられるが、モード移行が頻繁
になるとオーバーヘツドが無視できなくなる。
In order to interpret and execute the untagged data instruction and the tagged data instruction in the same computer, there is a method in which both are set as instruction sets in different modes and each instruction set is provided with an instruction for shifting to another mode. It is conceivable, but the overhead cannot be ignored if the mode changes frequently.

また別の方法として、プロシーデイング オブ第11回
インターナルシヨナル シンポジウムオン コンピユー
タア キテクチヤ(Proceeding of11th International
Symposium on Computer Architecture,june,198
4)の「アーキテクチヤ オブ SOAR:スモールトー
ク オン RISC」(Architecture of SOAR:Smalltalk on
a RISC)に述べられている様に、命令内に両命令を
区別するモードビツトを設けて、各命令に対してタグ無
しデータを扱うモードとタグ付きデータとして扱うモー
ドを設ける方法がある。この方法は実現の容易性を言う
面では優れているが、命令長が1ビツト増えてしまう欠
点があり、またタグの有無によつてオペレーシヨンを変
える必要の無い命令(例えば、データの転送命令は、タ
グの有無にかかわらずオペランド指定子によつて示され
たデータを転送すれば良い。)に対しては、モードビツ
トが無駄になつてしまう問題点がある。これらの問題点
は、商業化の上で重大な欠点となる。即ち、命令長の変
化は、従来ソフトウエア資産との命令語に於ける互換性
をそこね、またモードビツトの無駄は、できる限り小さ
くすべきオブジエクトコード容量を逆に増大させてしま
う。
Alternatively, the Proceeding of 11th International Symposium on Computer Architects (Proceeding of 11th International)
Symposium on Computer Architecture, june, 198
4) “Architecture of SOAR: Smalltalk on RISC”
As described in (a RISC), there is a method of providing a mode bit for distinguishing both instructions in an instruction and providing a mode for handling untagged data and a mode for handling tagged data for each instruction. This method is excellent in terms of easiness of implementation, but has a drawback that the instruction length is increased by 1 bit, and it is not necessary to change the operation depending on the presence / absence of a tag (for example, a data transfer instruction). For example, the data indicated by the operand specifier may be transferred regardless of the presence or absence of a tag.), The mode bit is wasted. These problems are serious drawbacks in commercialization. That is, the change in the instruction length impairs the compatibility of the instruction word with the conventional software resources, and the waste of the mode bit increases the object code capacity which should be as small as possible.

更に前記公知例では、タグのビツト数が1ビツトに制限
される為、表現できるデータ型が2つになつてしまい、
多様なデータ型を扱うプロローグやリスプには対応しに
くいと言う欠点がある。また、フローテイングデータを
扱う命令が無い為に例えば、プラント制御等の応用シス
テムには適用しにくいと言う欠点がある。
Further, in the above-mentioned known example, since the number of bits of the tag is limited to one bit, there are two data types that can be expressed,
It has a drawback that it is difficult to deal with prologues and Lisps that handle various data types. Further, since there is no instruction for handling floating data, it is difficult to apply it to an application system such as plant control.

本発明は、上述の問題点に鑑みて、行われたものであ
る。
The present invention has been made in view of the above problems.

〔発明の目的〕[Object of the Invention]

本発明の目的は、タグ無しデータ用命令とタグ付きデー
タ用命令を実行可能な汎用のデータ処理装置を提供する
ことにある。
An object of the present invention is to provide a general-purpose data processing device capable of executing an instruction for untagged data and an instruction for tagged data.

〔発明の概要〕[Outline of Invention]

タグ無データ用命令(所謂汎用命令)は、長い間また広
範囲に使用されている命令であり、単純な転送命令から
フローテイング命令まで命令種も多い。これに対してタ
グ付きデータ用命令は、これらを使用するリスプやプロ
ローグと言つた言語が、また広範囲に使用されていない
事もあつて、命令種自体が少ない。
The tagless data instruction (so-called general-purpose instruction) is an instruction that has been used for a long time and in a wide range, and there are many instruction types from a simple transfer instruction to a floating instruction. On the other hand, the tagged data instructions have a small number of instruction types because the languages that use them, such as the lispe or prologue, are not widely used.

そこで、タグ無しデータ用命令体系の中にタグ付きデー
タ用命令を取り込む事によつて、全体の命令体系を変え
る事なく両方の命令を同一計算機の命令体系とする。つ
まり、オペコード内の一部をタグ無しデータ用命令に割
当てて、一部をタグ付きデータ用命令に割り当てる。
Therefore, by incorporating the instruction for tagged data into the instruction system for untagged data, both instructions are made into the instruction system of the same computer without changing the entire instruction system. That is, part of the opcode is assigned to the untagged data instruction, and part of the opcode is assigned to the tagged data instruction.

データ処理装置には、オペコードを解釈して、タグ無し
データ用命令かタグ付きデータ用命令かを検出するデコ
ード手段を設け、このデコード手段の出力に従つて、タ
グ付きデータ用命令の時には、オペランド指定子で指定
されるオペランドをタグ付きデータとして、タグを評価
しながら処理を行う。またタグ無しデータ用命令の時に
は、タグに当たる部分もデータとして扱い命令を実行す
る。
The data processing device is provided with a decoding means for interpreting the operation code to detect whether it is an instruction for untagged data or an instruction for tagged data, and according to the output of this decoding means, when the instruction for tagged data is used, the operand is Operate the operand specified by the specifier as tagged data and perform processing while evaluating the tag. In the case of an instruction for untagged data, the portion corresponding to the tag is also treated as data and the instruction is executed.

〔発明の実施例〕Example of Invention

第1図は、本発明の一実施例を示すデータ処理装置の内
部構成のブロツク図であり、詳しい説明は後述する。
FIG. 1 is a block diagram of the internal configuration of a data processing device showing an embodiment of the present invention, and a detailed description will be given later.

第2図は、本実施例で説明するタグ付きデータ処理装置
(以下計算機と言う)内のレジスタの内で計算機のマク
ロ命令(以下、単に命令と言う)によつてオペランドと
して指定可能なものを示している。各レジスタは32ビ
ツトの幅のものが33本あり、プログラムカウンタ(P
C)以外は、いわゆる汎用レジスタと呼ばれるものであ
る。レジスタの本数は本発明に本質的なものではない
が、ここでは32本の汎用レジスタがあるとして説明す
る。
FIG. 2 shows registers that can be designated as operands by a macro instruction (hereinafter, simply referred to as an instruction) of a computer in the registers in the data processing device with a tag (hereinafter referred to as a computer) described in this embodiment. Shows. There are 33 registers each with a width of 32 bits, and the program counter (P
Other than C), they are so-called general-purpose registers. Although the number of registers is not essential to the present invention, it is assumed here that there are 32 general-purpose registers.

第3図は、計算機で用いられるデータ形式を示したもの
であり基本語長は32ビツトである。(a)は、タグ無
しデータであり、通常の計算機で多く使用されている。
つまり、符号付き16ビツト加算命令はビツト15から
ビツト0を符号付き整数と見なし、32ビツトフローテ
イング加算命令はビツト31からビツト0を単精度のフ
ローテイングデータと見なして演算する(b)は、第1
のタグ付きデータであり、データの型を示すタグとデー
タが1ワード中に埋め込まれている。本発明に於て、タ
グのビツト長及びタグのビツト位置は、本質的な問題で
はないが、本実施例ではk=8でありMSB側にタグが
あるものとして説明する。(c)は、第2のタグ付きデ
ータであり、最初の32ビツト(以下ポインタワードと
呼ぶ)中には、データ本体のデータ型を示すタグとデー
タ本体のメモリアドレス(ポインタ)が格納されてい
る。そして、データはポインタで指定されるメモリ上に
在る。本発明に於て、前述のようにタグのビツト長は本
質的な問題ではないが、本実施例ではl=4として説明
する。また、ポインタで指示されるデータは、32ビツ
トである必然性もなく64ビツトあるいはそれ以上でも
本発明は適用可能である。
FIG. 3 shows the data format used in the computer, and the basic word length is 32 bits. (A) is untagged data, which is often used in ordinary computers.
In other words, the signed 16-bit addition instruction regards bit 0 to bit 0 as a signed integer, and the 32-bit floating addition instruction regards bit 31 to bit 0 as single-precision floating data for calculation (b). First
Data having a tag indicating the type of data and the data are embedded in one word. In the present invention, the bit length of the tag and the bit position of the tag are not essential problems, but in the present embodiment, it is assumed that k = 8 and the tag is on the MSB side. (C) is the second tagged data, in which the tag indicating the data type of the data body and the memory address (pointer) of the data body are stored in the first 32 bits (hereinafter referred to as a pointer word). There is. Then, the data exists on the memory designated by the pointer. In the present invention, the bit length of the tag is not an essential problem as described above, but in this embodiment, l = 4 will be described. Further, the data pointed by the pointer does not necessarily have to be 32 bits, and the present invention can be applied even if the data is 64 bits or more.

(d)は、第3のタグ付きデータであり、ポインタワー
ドには、タグと第1又は第2又は第3のタグ付きデータ
へのポインタが格納されている。
(D) is the third tagged data, and the pointer and the pointer to the first, second, or third tagged data are stored in the pointer word.

上記(b)〜(d)のデータに於て、命令のオペランド
として指定されるのは、(b)では、タグ付きデータそ
のものであり、(c),(d)ではポインタを含む4バ
イトである。即ちタグ無しデータはバイト単位にアドレ
ツシングできるが、タグ付きデータは4バイト(基本語
長)単位にしたアドレツシングできない。
In the data of (b) to (d) above, what is specified as the operand of the instruction is the tagged data itself in (b), and in 4 bytes including the pointer in (c) and (d). is there. That is, untagged data can be addressed in byte units, but tagged data cannot be addressed in 4 byte (basic word length) units.

第4図は、タグ付きデータの具体例を示したものであ
る。nill,variable,atom,short-integerが第1のタグ付
きデータの例であり、long-integerbig-number,double-
floatingが第2のタグ付きデータの例であり、referenc
e,structure,list,undefineが第3のタグ付きデータの
例である。前述したように、タグビツト長は、増減して
もかまわないので、新しいデータ型を導入することは容
易である。例えば、使用頻度の高い整数が16ビツトよ
り大きな場合、これをLong-integerで表現すれば、参照
毎に2回のメモリアクセスが生じてしまう。そこで、T
AGの“1000”に、28ビツト長のmiddle-integer
を追加して、比較的大きな整数も1回のメモリアクセス
で、参照できる様にする事が可能である。
FIG. 4 shows a specific example of tagged data. nill, variable, atom, short-integer is an example of the first tagged data, long-integer big-number, double-
floating is an example of the second tagged data, referenc
e, structure, list, and undefine are examples of the third tagged data. As described above, since the tag bit length may be increased or decreased, it is easy to introduce a new data type. For example, when a frequently used integer is larger than 16 bits, if this is expressed by Long-integer, memory access will occur twice for each reference. So T
28 bits long middle-integer for AG "1000"
By adding, it is possible to refer to a relatively large integer with one memory access.

第5図は、本実施例の計算機で実行可能な命令のフオー
マツトを示している。命令は、16ビツトのオペレーシ
ヨンワード50(略称OPW)とオペレーシヨンの対象
となるオペランドの所在を示す16ビツト以上のオペラ
ンド指定子51(略称OPS)より成る。
FIG. 5 shows the format of instructions that can be executed by the computer of this embodiment. The instruction is composed of an operation word 50 (abbreviation OPW) of 16 bits and an operand specifier 51 (abbreviation OPS) of 16 bits or more indicating the location of the operand to be operated.

CPW50は、オペレーシヨンの種類とその命名がタグ
付きデータを扱えるかどうかを示す。本実施例では、O
PW50の上位9ビツトが“111111100”である命令
が、タグ付きデータを扱うことが可能であり、その時の
オペレーシヨンは、OPW50の下位7ビツトで示され
る。
The CPW 50 indicates whether the operation type and its name can handle tagged data. In this embodiment, O
An instruction in which the upper 9 bits of PW50 is "111111100" can handle tagged data, and the operation at that time is shown by the lower 7 bits of OPW50.

ここでは、命令デコーダの構成を容易にする為に、上記
のビツト割り付けを行つたが、OPWをすべてデコード
するならば、任意のコードをタグ付きデータを扱う命令
に割り付ける事が可能である。
Here, the above bit allocation is performed in order to facilitate the configuration of the instruction decoder. However, if all OPWs are decoded, it is possible to allocate an arbitrary code to an instruction that handles tagged data.

本実施例ではタグ無しデータ用命令として、米国モトロ
ーラ社の32ビツトマイクロプロセツサMC68020
にフローテイング命令を追加した上位互換の命令を備え
ており、タグ付きデータ用命令として、プロローグ命令
セツトを備える。ここでプロローグ命令セツトは、エス
・アール アイ インターナシヨンル アーテイフイシヤ
ル インテリジエンス センター テクニカル レポート
309,1983(Tech.Repor 309,Artificial Int
elligence Center,SRI International1983)の
「アブストラクトプロローグ インストラクシヨン セ
ツト」(“An Abstract Prolog Instruction Set”)に
記載されているプロローグ命令セツト(以下WAMと略
す)と上記互換である。WAMについては、上記文献に
詳しく述べてあるので、ここでは本発明の理解に必要な
部分を簡単に述べる。WAMは、大きく4つのカテゴリ
ーから成つており、それぞれ、put 系命令,get 系命
令,unify 系命令,Control 系命令と呼ぶ。プロローグ
で記述されたプログラムは、コンパイラにより上記命令
に変換される。put 系命令は、引数を引数レジスタにロ
ードする命令であり、get 系命令は引数レジスタ内のデ
ータと別の引数のパターンマツチングを行う命令であ
る。unify 系命令は、引数が構造を持つている時(例え
ば、リスト・構造体)に、各要素毎のパターンマツチン
グを行う命令である。
In this embodiment, a 32-bit microprocessor MC68020 manufactured by Motorola, Inc. of the United States is used as an instruction for untagged data.
It has an upward compatible instruction with a floating instruction added to it, and a prologue instruction set as an instruction for tagged data. Here, the prologue instruction set is the technical report 309, 1983 (Tech.Repor 309, Artificial Int).
The above is compatible with a prologue instruction set (hereinafter abbreviated as WAM) described in "An Abstract Prolog Instruction Set" of the Elligence Center, SRI International 1983). Since the WAM is described in detail in the above-mentioned document, the parts necessary for understanding the present invention will be briefly described here. WAM is roughly divided into four categories, which are called put-type instructions, get-type instructions, unify-type instructions, and Control-type instructions, respectively. The program described in the prologue is converted into the above instruction by the compiler. The put type instruction is an instruction that loads an argument into the argument register, and the get type instruction is an instruction that performs pattern matching of another argument with the data in the argument register. The unify instruction is an instruction to perform pattern matching for each element when the argument has a structure (for example, list / structure).

ここでunify 系命令は先行するget 系命令の実行結果
(リードモード又はライトモード)により、動作を完全
に変えなければならない。このモードは、データ処理装
置のステータスフラグRMB(後述)に反映される。O
PS51は、アドレツシングモードを示すモード指定子
EA52とアドレス計算で使用するデイスプレースメン
トdisp53より成る。
Here, the unify instruction must completely change its operation depending on the execution result (read mode or write mode) of the preceding get instruction. This mode is reflected in the status flag RMB (described later) of the data processing device. O
The PS 51 is composed of a mode specifier EA52 indicating an addressing mode and a displacement disp53 used in address calculation.

第6図は、EA52の詳細を示しており、各アドレツシ
ングモードでのオペランドアドレスの計算手順について
第7図と第8図を併用しながら説明する。
FIG. 6 shows the details of the EA 52, and the operand address calculation procedure in each addressing mode will be described with reference to FIGS. 7 and 8.

MOD55が“000”,“001”,“010”のも
のは、いわゆるレジスタダイレクト及びレジスタ間接と
呼ばれるアドレツシングモードであり、当業者には、周
知のものである。MOD55が“011”のものは、オ
ートインクリメントと呼ばれるアドレツシングモードで
あり、第8図(d)で示すように、Sz54が0の時に
は、REGNO56で示されるレジスタに2が加算され、Sx
54が1の時には、REGNO56 で示されるレジスタに
4が加算される。MOD55が“100”のものは、オ
ートデクリメントと呼ばれるアドレツシングモードであ
り、第8図の(e)で示すようにオートインクリメント
とは逆の動作をする。
The MOD 55 of "000", "001", "010" is an addressing mode called so-called register direct or register indirect, which is well known to those skilled in the art. When MOD55 is "011", it is an addressing mode called auto increment. When Sz54 is 0, 2 is added to the register indicated by REGNO56 as shown in FIG.
When 54 is 1, 4 is added to the register indicated by REGNO 56. When the MOD 55 is "100", it is an addressing mode called auto decrement, and as shown in FIG. 8 (e), the operation opposite to the auto increment is performed.

MOD55が“101”のものは、レジスタ相対と呼ば
れるアドレツシングモードであり、第8図(f)で示す
ように、Sz 54が0の時には、DISP53が第7図のdi
spタイプIの形式となり、これがREGNO56 で示される
レジスタに加算される。またSz 54が1の時には、di
spタイプIIが加算されてメモリ上のオペランドアドレス
が算出される。
The mode in which the MOD 55 is "101" is an addressing mode called register-relative. As shown in FIG. 8 (f), when Sz 54 is 0, the DISP 53 is di-stated in FIG.
The format is sp type I, which is added to the register indicated by REGNO56. When Sz 54 is 1, di
The sp type II is added and the operand address on the memory is calculated.

MOD55が“111”でREGNO56が“0000”のもの
は、アブソリユートと呼ばれるアドレツシングモードで
あり、第8図の(g)で示すように、Sz 54が0の時
には、DISP53が第7図のdispタイプIの形式となり、
これがそのままメモリ上のオペランドアドレスとなる。
またSz 54が1の時には、dispタイプIIがそのままメ
モリ上にオペランドアドレスとなる。
When the MOD 55 is “111” and the REGNO 56 is “0000” is an addressing mode called absolute, and as shown in (g) of FIG. disp type I format,
This directly becomes the operand address on the memory.
When Sz 54 is 1, the disp type II is directly used as the operand address in the memory.

MOD55が“111”で、REGNO56が“0001”のもの
は、イミデイエイトと呼ばれるアドレツシングモードで
あり、第8図の(h)で示すように、Sz 54が0の時
には、DISP53が第7図のdispタイプIの形式となり、
これがそのままオペランドとなる。またSz 54が1の
時には、dispタイプIIがそのままオペランドとなる。
When the MOD55 is "111" and the REGNO56 is "0001" is an addressing mode called immediate, and as shown in (h) of FIG. Disp type I format,
This becomes the operand as it is. When Sz 54 is 1, the disp type II becomes the operand as it is.

MOD55が“111”で、REGNO56が“0101”のも
のは、プログラムカウンタ相対と呼ばれるアドレツシン
グモードであり、第8図の(i)で示すようにレジスタ
相対アドレツシングモードと同様なオペランドアドレス
の算出手順をとる。
The one in which MOD55 is "111" and REGNO56 is "0101" is an addressing mode called program counter relative, and the operand address similar to the register relative addressing mode as shown in (i) of FIG. Take the calculation procedure of.

MOD55が“111”で、REGNO56が“0111”
のものは、タグ付きイミデイエイトアドレツシングモー
ドと呼ぶ。タグ付きイミデイエイトアドレツシングモー
ドでは、第8図の(j)で示すように、DISP53が第7図
のdispタイプIII、即ち4ビツトのタグと28ビツトの
ポインタである形式となり、プログラムカウンタの値に
このポインタを加算した値のポインタとして持つ第3図
で示すところの第2のオペランド形式が、オペランドと
なる。
MOD55 is "111" and REGNO56 is "0111"
Are called tagged immediate addressing modes. In the tagged immediate addressing mode, as shown in FIG. 8 (j), DISP53 is in the form of disp type III in FIG. 7, that is, a 4-bit tag and a 28-bit pointer, and the program counter The second operand format shown in FIG. 3 which has a pointer of the value obtained by adding this pointer to the value of becomes the operand.

本実施例では、タグ付きイミデイエイトアドレツシング
モードで使用す弊レジスタをプログラムカウンタのみに
限つて説明しているが、前述の汎用レジスタ、あるいは
本実施例で述べていない他のレジスタでも使用可能なこ
とは明白である。
In this embodiment, the bad registers used in the tagged immediate addressing mode are described only for the program counter, but the general-purpose registers described above or other registers not mentioned in this embodiment are also used. What is possible is clear.

第9図は、前述したタグ付きデータ用命令とタグ無しデ
ータ用命令を共に実行可能な計算機の全体構成を示して
いる。100は、命令実行装置(略称BPU)であり、
上記の命令を解釈実行する。800は、メモリ装置(略
称MM)であり、上記の命令、あるいはデータを格納す
る。500は、32ビツト幅のメモリアドレスバス(略
称ADRBUS)、600は32ビツト幅のメモリデータバス
(略称DATBUS)である。本発明は、BPU100に適用される
ものなので、以下BPU100の内部について詳しく説明す
る。
FIG. 9 shows the overall configuration of a computer capable of executing both the tagged data instruction and the untagged data instruction described above. 100 is an instruction execution unit (abbreviated as BPU),
Interpret and execute the above instructions. A memory device (abbreviated as MM) 800 stores the above-mentioned command or data. Reference numeral 500 is a 32-bit wide memory address bus (abbreviation ADRBUS), and 600 is a 32-bit wide memory data bus (abbreviation DATBUS). Since the present invention is applied to the BPU 100, the inside of the BPU 100 will be described in detail below.

第1図は、BPU100の内部構造を示すブロツク図である。FIG. 1 is a block diagram showing the internal structure of the BPU100.

110は、命令バツフア(IBR)であり、DATBUS600
を介してMM800よりフエツチした命令が格納され
る。120は、IBR110内の命令から、OPU50,EA
52,DISP53を切り出すアライナ(ALM)であり、
OPW50が信号線350に出力され、EA52が信号
線355に出力され、DISP53が信号線340にそれぞ
れ出力される。
110 is an instruction buffer (IBR), and DATBUS600
The instruction fetched from the MM 800 is stored via the. 120 is an OPU 50, EA from the instruction in IBR110.
52, an aligner (ALM) that cuts out DISP 53,
The OPW 50 is output to the signal line 350, the EA 52 is output to the signal line 355, and the DISP 53 is output to the signal line 340.

130は、命令デコーダ(INSDEC)であり、信号線35
5と、信号線350より入力される情報に従つて、アド
レス計算用のエントリアドレスと命令実行用のエントリ
アドレスを生成し、各々信号線360と460に出力す
る。140は、アドレス計算のため制御回路(A−CT
L)であり、タグ付きイミデイエイトアドレツシングモ
ードの時に信号線370を“1”とする機能を持つ。A
−CDL140は、信号線370の他にもレジスタフア
イル160(ARF)やアドレス計算用演算器190
(A−ALU)等の制御信号の生成も行うが、本発明の
理解には不要なので省略してある。
Reference numeral 130 is an instruction decoder (INSDEC), which is a signal line 35.
5 and the information input from the signal line 350, an entry address for address calculation and an entry address for instruction execution are generated and output to the signal lines 360 and 460, respectively. 140 is a control circuit (A-CT) for address calculation.
L), which has a function of setting the signal line 370 to "1" in the tagged immediate addressing mode. A
In addition to the signal line 370, the CDL 140 includes a register file 160 (ARF) and an arithmetic unit 190 for address calculation.
Although a control signal such as (A-ALU) is also generated, it is omitted because it is not necessary for understanding the present invention.

153はdisp53に含まれるタグの長さを判定するタグ
長検出回路(TL)であり、8ビツト長タグの時に信号
線159が“1”となる。
Reference numeral 153 is a tag length detection circuit (TL) that determines the length of the tag included in the disp 53, and the signal line 159 becomes "1" when the tag is an 8-bit length tag.

160は、信号線340中のデイスプレースメントから
タグとポインタを分離する分離回路(SEP)であり、
信号線370と159が共に“1”の時に、タグを信号
線380に出力し、ポインタ部を信号線400に出力す
る。また、それ以外の時には、信号線340のデータが
信号線400にそのまま出力される。
Reference numeral 160 denotes a separation circuit (SEP) that separates the tag and the pointer from the displacement in the signal line 340.
When both the signal lines 370 and 159 are “1”, the tag is output to the signal line 380 and the pointer unit is output to the signal line 400. At other times, the data on the signal line 340 is output to the signal line 400 as it is.

170は、プログラムカウンタ(PC)である。180
は、レジスタフアイル(ARF)であり、第2図のAR
O〜AR15に相当する。190は、アドレス計算で使
用する演算器(A−ALU)である。
170 is a program counter (PC). 180
Is a register file (ARF), and AR of FIG.
Corresponds to O to AR15. Reference numeral 190 is an arithmetic unit (A-ALU) used in address calculation.

200は、SEP160により切り出されたタグを保持するレ
ジスタ(TAG)であり、タグ付きイミデイエイトアド
レツシングモード時のオペランドのタグが格納される。
Reference numeral 200 is a register (TAG) that holds the tag cut out by the SEP 160, and stores the tag of the operand in the tagged immediate addressing mode.

210は、タグ付きイミデイエイトアドレツシングモー
ド時に、SEP160で切り出されたポインタとPC1
70を加算して得られる新たなポインタが格納されるレ
ジスタ(IMR)である。また、イミデイエイトアドレ
ツシングモードの時には、イミデイエイトデータが格納
される。本実施例によれば、タグ付きイミデイエイトア
ドレツシングモードの時のオペランドは、TAG200
とIMP200の組で存在することになる。
210 indicates the pointer and PC1 cut out in SEP160 in the tagged immediate addressing mode.
This is a register (IMR) in which a new pointer obtained by adding 70 is stored. Further, in the immediate addressing mode, immediate data is stored. According to the present embodiment, the operand in the tagged immediate addressing mode is TAG200.
And IMP200.

220は、レジスタフアイル(ERF)であり、第2図
のER0〜ER15に相当する。
220 is a register file (ERF), which corresponds to ER0 to ER15 in FIG.

230は、演算器(E−ALU)であり、通常の算術・
論理演算の他に、信号線465が“1”の場合には、信
号線430から入力されるデータに含まれるタグの長さ
をTL152によつて判定し、信号線158の値に従つ
て信号線430からのタグ信号線445から入力される
データに埋め込んでタグ付きデータを生成する機能を持
つ。
Reference numeral 230 denotes an arithmetic unit (E-ALU), which is a standard arithmetic unit.
In addition to the logical operation, when the signal line 465 is “1”, the length of the tag included in the data input from the signal line 430 is determined by the TL 152, and the signal is output according to the value of the signal line 158. It has a function of embedding in the data input from the tag signal line 445 from the line 430 to generate tagged data.

240は、信号線475が“1”の場合に、ESAB440 か
らの入力されるタグ付きデータから、タグ長検出回路T
L151の判定結果によりタグをマスクして、データ部
を信号線445に出力するデータを切り出し回路(MS
K)である。
When the signal line 475 is "1", 240 indicates the tag length detection circuit T from the tagged data input from the ESAB440.
The tag is masked according to the determination result of L151, and the data for outputting the data portion to the signal line 445 is cut out by a circuit (MS
K).

250は、ESBB430 から入力されるタグ付きデータか
ら、TL150によつて判定されたタグだけを切り出す
回路(TAG−EXT)であり、タグを251に出力す
る。TAG−EXT250によつて切り出されたタグ
は、信号線455が“0”の時、タグレジスタ260
(TAGR)へ格納され、信号線455が“1”の時、タ
グレジスタ270(TAGR)に格納される。
Reference numeral 250 is a circuit (TAG-EXT) that cuts out only the tag determined by the TL 150 from the tagged data input from the ESBB 430, and outputs the tag to 251. The tag cut out by the TAG-EXT 250 has a tag register 260 when the signal line 455 is "0".
(TAGR), and when the signal line 455 is “1”, it is stored in the tag register 270 (TAGR).

280は、セレクタ(SEL)であり、信号線470に
従つてTAGR260又はATGR270 又はE−CTL
290から出力されるタグから1つを選択してESBB
430の上位8ビツトに出力する。
Reference numeral 280 is a selector (SEL), which is connected to the signal line 470 in accordance with the TAGR 260, the ATGR 270, or the E-CTL.
ESBB by selecting one from the tags output from 290
Output to upper 8 bits of 430.

290は、命令実行のための制御回路(E−CTL)であり、
マイクロプログラム制御方式によつて、制御信号の生成
を行う。
290 is a control circuit (E-CTL) for instruction execution,
The control signal is generated by the microprogram control method.

300は、BPU100の状態を示すステータスフラグ
(RMB)であり、「0」の時リードモードを示し、
「1」の時ライトモードを示している。
Reference numeral 300 is a status flag (RMB) indicating the state of the BPU 100, which indicates a read mode when "0".
When it is "1", it indicates the write mode.

310は、メモリのアドレスを保持するメモリアドレス
レジスタ(MAR)であり、アドレス計算によつて算出
されたオペランドアドレスが格納される。また、タグ付
きイミデイエイトアドレスシングモードの時には、ポイ
ンタワードのポインタが格納される。
A memory address register (MAR) 310 holds an address of a memory, and stores an operand address calculated by the address calculation. Further, in the tagged immediate addressing mode, the pointer of the pointer word is stored.

320は、MM800へ書き込むデータを保持するメモ
リライトデータレジスタ(MWR)である。330は、
MM880から読み出したデータを保持するオペランド
バツフアレジスタ(OBR)である。
A memory write data register (MWR) 320 holds data to be written in the MM 800. 330 is
It is an operand buffer register (OBR) that holds the data read from the MM880.

以下本発明の理解に必要な各ブロツクの詳細な説明を行
う。
A detailed description of each block necessary for understanding the present invention will be given below.

INSDEC130 は、例えば第10図に示す構成をとり、少な
くとも命令がタグ付きデータを扱うかどうかの検出を行
う手段133を持つている。エントリアドレス生成回路
131は、タグ付きデータ用命令検出回路133の出力
134によつて、タグ無しデータ用命令とタグ付きデー
タ用命令では、異なつたエントリアドレスを信号線46
0に出力する。またA−CTL用エントリアドレス生成
回路132は、命令中のEA52に従つてアドレス計算
用のエントリアドレスを生成するが、信号線134が
「0」即ち、タグ無しデータ用命令の時には、タグ付き
イミデイエイトアドレツシングモードは、使用不可能な
アドレツシングモードとして、エントリアドレスは生成
されない。
The INSDEC 130 has, for example, the configuration shown in FIG. 10 and has at least means 133 for detecting whether or not an instruction handles tagged data. The entry address generation circuit 131 outputs different entry addresses in the untagged data instruction and the tagged data instruction according to the output 134 of the tagged data instruction detection circuit 133.
Output to 0. Further, the A-CTL entry address generation circuit 132 generates an entry address for address calculation according to the EA 52 in the instruction, but when the signal line 134 is “0”, that is, the instruction for untagged data, the tagged imitation. The date addressing mode is an unusable addressing mode, and no entry address is generated.

エントリアドレス生成回路131,132は、リードオ
ンリメモリ(ROM)、プログラマブルロジツクアレイ
(PLA)等を用いれば、当業者にとつて容易に構成で
きる。また、タグ付きデータ用命令検出回路133は、
本実施例の場合第11図に示すような回路によつて構成
できる。第11図に於て、信号線352は、命令中のO
PS50の16ビツト中の上位9ビツトであり、信号線
351は、それ以外のビツトである。1330と133
1はNOT論理であり、1332はAND論理である。
信号線134は、タグ付きデータ用命令の時「1」とな
り、それ以外の命令では「0」となる。
The entry address generation circuits 131 and 132 can be easily configured by those skilled in the art by using a read only memory (ROM), a programmable logic array (PLA), or the like. In addition, the tagged data instruction detection circuit 133 is
In the case of this embodiment, it can be constituted by a circuit as shown in FIG. In FIG. 11, the signal line 352 is an O in the instruction.
It is the upper 9 bits of the 16 bits of PS50, and the signal line 351 is the other bits. 1330 and 133
1 is NOT logic and 1332 is AND logic.
The signal line 134 is “1” for a tagged data instruction, and is “0” for other instructions.

また、オペレーシヨンワード(OPW)が、規則性の高
いものであれば、命令デコーダ130全体を、ROMあ
るいはPLAあるいはランダムロジツクを用いて、1つ
のデコーダとして実現する事は可能である。
If the operation word (OPW) has high regularity, the entire instruction decoder 130 can be realized as one decoder by using the ROM, PLA or random logic.

タグとポインタの分離回路SEP160は、第12図の
ような構成をとり、A−CTL140からの制御信号3
70が「1」の時に信号線340上のデイスプレースメ
ントからタグとポインタを分離して、それぞれ信号線3
80,390上に出力する。
The tag / pointer separation circuit SEP160 has the configuration shown in FIG. 12, and the control signal 3 from the A-CTL 140 is supplied.
When 70 is “1”, the tag and the pointer are separated from the displacement on the signal line 340, and the signal line 3 is separated.
Output on 80,390.

ここで、タグ切り出し回路161は、本実施例の場合第
13図に示すような回路によつて構成できる。第13図
に於て、信号線344は、信号線340の上位8ビツト
が出力されており、信号線370が「1」の時に信号線
380には、タグが出力される。
Here, in the case of the present embodiment, the tag cutout circuit 161 can be constructed by a circuit as shown in FIG. In FIG. 13, the upper 8 bits of the signal line 340 are output to the signal line 344, and when the signal line 370 is “1”, the tag is output to the signal line 380.

また、ポインタ切り出し回路162は、本実施例の場合
第14図に示すような回路によつて構成できる。第14
図に於て、信号線343は、信号線340の下位24ビ
ツトが出力されており、信号線367,347にはそれ
ぞれ信号線340の28ビツト目と24ビツト目が出力
されている。
Further, in the case of the present embodiment, the pointer cutout circuit 162 can be constituted by a circuit as shown in FIG. 14th
In the figure, the signal line 343 outputs the lower 24 bits of the signal line 340, and the signal lines 367 and 347 respectively output the 28th bit and the 24th bit of the signal line 340.

ポインタ切り出し回路162は、信号線370が「1」
の時、TL153の出力が「1」、即ち8ビツトタグで
あれば、24ビツトポインタの符号拡張データをASB
B400に出力し、TL153の出力が「0」であれば
28ビツトポインタの符号拡張データをASBB400
に出力する。また、信号線370が「0」であれば、信
号線340の値をそのままASBB400に出力する。
In the pointer cutout circuit 162, the signal line 370 is “1”.
At this time, if the output of the TL153 is "1", that is, if it is an 8-bit tag, the sign extension data of the 24-bit pointer is ASB.
If the output of TL153 is "0", the sign extension data of 28-bit pointer is output to ASBB400.
Output to. If the signal line 370 is “0”, the value of the signal line 340 is output to the ASBB 400 as it is.

タグ長検出回路TL153は、タグ付きデータに含まれ
るタグが8ビツトか4ビツトかを検出する回路であり、
本実施例の場合第15図に示すような回路によつて構成
できる。第15図に於て、信号線344は、信号線34
0の上位4ビツトが出力されており、151はこれらの
論理積をとるAND論理である。TL153は第4図に
示すタグ付きデータの内、8ビツトタグ即ち、上位4ビ
ツトが“1111”の時に出力信号線159が「1」と
なり、4ビツトタグの時には、「0」となる。
The tag length detection circuit TL153 is a circuit for detecting whether the tag included in the tagged data is 8 bits or 4 bits,
In the case of this embodiment, it can be constructed by a circuit as shown in FIG. In FIG. 15, the signal line 344 is the signal line 34.
The upper 4 bits of 0 are output, and 151 is an AND logic that takes the logical product of these. Of the tagged data shown in FIG. 4, the TL 153 has an 8-bit tag, that is, the output signal line 159 is "1" when the upper 4 bits are "1111" and is "0" when it is a 4-bit tag.

本実施例に於て、タグ長検出回路は、TL153 の他にT
L150,TL151,TL152があるがいずれも、
機能・内部構成ともに同一である。
In the present embodiment, the tag length detection circuit includes a T
There are L150, TL151, and TL152.
The function and internal configuration are the same.

タグ切り出し回路TAG−EXT250は、本実施例の
場合第16図に示すような回路によつて構成できる。第
16図に於て、信号線434は、ESBB430の上位
8ビツトが出力されており、8ビツトタグ、即ち信号線
156が「1」の時には信号線434がタグとして信号
線251に出力される。また、4ビツトタグ、即ち信号
線156が「0」の時には、信号線251には上位4ビ
ツトが“0000”で、下位4ビツトにタグが出力され
る。
In the case of the present embodiment, the tag cutout circuit TAG-EXT250 can be constructed by a circuit as shown in FIG. In FIG. 16, the upper 8 bits of the ESBB 430 are output to the signal line 434, and when the 8 bit tag, that is, the signal line 156 is “1”, the signal line 434 is output to the signal line 251 as a tag. When the 4-bit tag, that is, the signal line 156 is "0", the upper 4 bits are "0000" on the signal line 251, and the tag is output to the lower 4 bits.

データ切り出し回路MSK240は、本実施例の場合第
17図に示すような回路で構成できる。第17図に於
て、信号線442は、ESAB440 の上位8ビツトが出力さ
れており、E−CTL290からデータ切り出しの制御
信号475がtrueのとき、TL151の出力157が
「1」、即ち8ビツトタグであれば、信号線445に
は、上記8ビツトがマスタされたデータ部のみが出力さ
れる。また、この時TL151の出力157が「0」な
らば、出力445には、上位4ビツトのみがマスタされ
た28ビツトのデータ部が出力される。また信号線47
5が「0」であれば、ESAB440 上のデータがそのまま信
号線445に出力される。
In the case of this embodiment, the data cutout circuit MSK240 can be constructed by a circuit as shown in FIG. In FIG. 17, the signal line 442 outputs the upper 8 bits of the ESAB440, and when the control signal 475 for cutting out data from the E-CTL 290 is true, the output 157 of the TL 151 is “1”, that is, the 8 bit tag. In this case, only the data part in which the above 8 bits are mastered is output to the signal line 445. If the output 157 of the TL 151 is "0" at this time, a 28-bit data section in which only the upper 4 bits are mastered is output to the output 445. Also, the signal line 47
If 5 is “0”, the data on the ESAB440 is output to the signal line 445 as it is.

タグ埋め込み回路は、演算器E−ALU230の1つの
フアンクシヨンとして位置付けられ、本実施例では、E
−ALU230内に第18図で示されているような回路
を設けることにより実現できる。第18図に於て、信号
線445にはタグが埋め込まれるデータが出力されてお
り、信号線447には、信号線445の上位4ビツトが
出力されており、信号線448には下位24ビツトが出
力されており、信号線446には、それ以外のビツトが
出力されている。信号線432には、埋め込むタグが出
力されており、E−CTL290からのタグ埋め込み制
御信号465が「1」のとき、TL152の出力158
が「1」、即ち8ビツトタグであれば、出力450の下
位24ビツトには、信号線445の下位24ビツトが出
力され、出力450の上位8ビツトには、信号線432
が出力される。またこの時、TL152の出力158が
「0」であれば、出力450の下位28ビツトには、信
号線445の下位28ビツトが出力され、出力450の
上位4ビツトには、信号線432の下位4ビツトが出力
される。またタグ埋め込み制御信号465が「0」であ
れば、出力450はすべて「0」となる。
The tag embedding circuit is positioned as one function of the arithmetic unit E-ALU 230, and in this embodiment, E
It can be realized by providing a circuit as shown in FIG. 18 in the ALU 230. In FIG. 18, the data in which the tag is embedded is output to the signal line 445, the upper 4 bits of the signal line 445 are output to the signal line 447, and the lower 24 bits are output to the signal line 448. Are output, and the other bits are output to the signal line 446. The tag to be embedded is output to the signal line 432, and when the tag embedding control signal 465 from the E-CTL 290 is “1”, the output 158 of the TL 152.
Is "1", that is, an 8-bit tag, the lower 24 bits of the signal 450 are output to the lower 24 bits of the output 450, and the signal line 432 is output to the upper 8 bits of the output 450.
Is output. At this time, if the output 158 of the TL 152 is "0", the lower 28 bits of the signal 450 is output to the lower 28 bits of the output 450, and the lower 4 bits of the signal 450 is output to the upper 4 bits of the output 450. 4 bits are output. If the tag embedding control signal 465 is "0", all the outputs 450 are "0".

第19図に制御回路290の内部構成を示す。E−CT
L290は命令実行のために各種の制御信号を生成する
マイクロプログラム制御方式の制御回路である。
FIG. 19 shows the internal configuration of the control circuit 290. E-CT
L290 is a control circuit of a micro program control system that generates various control signals for instruction execution.

尚、本実施例では、マイクロプログラム制御方式を用い
ているが、高速な制御を実現する場合や、あまり複雑で
ない命令を実行する場合には、ワイヤードロジツクによ
る制御方式を用いる事も可能である。制御回路は一般に
第19図に示したよりも多くの構成要素,信号線を有す
るが、本発明に直接関係のないものは省略してある。第
19図に於て、296は、制御メモリ(CS)であり、
マイクロプログラムを格納する。295は、CS296 から
読み出されたマイクロプログラムを保持するマイクロ命
令レジスタ(MIR)である。マイクロプログラムアド
レス・セレクタ297は、次に読み出す制御メモリのア
ドレスを信号線289に従つて、信号線299,30
1,303,305の中から選択する。エントリ修飾回
路291は、RM300の値によつてE−CTL290
のエントリアドレス460を修飾する回路であり、本実
施例では、第20図に示すような回路によつて構成でき
る。第20図に於て、信号線461には、エントリアド
レス460の最下位ビツトが出力されており、信号線4
62にはそれ以外のビツトが出力されている。INSD
EC130によつて、RMB300の値で修飾すべき命
令のエントリアドレスが生成されると、これをユニフア
イ命令検出回路2910によつて検出し、信号線291
1が「1」となり、CS296から最初に読み出すアド
レス299の最下位ビツトは、RMB300の出力46
9となる。またユニフアイ命令検出回路2910の出力
が「0」の時には、アドレス299は、エントリアドレ
ス460そのままとなる。本実施例では、最下位ビツト
を修飾したが、他のビツトでも可能なことは明白であ
る。
Although the microprogram control method is used in this embodiment, a wire logic control method can be used when high-speed control is realized or when a less complicated instruction is executed. . Although the control circuit generally has more components and signal lines than those shown in FIG. 19, those not directly related to the present invention are omitted. In FIG. 19, reference numeral 296 is a control memory (CS),
Stores micro programs. A microinstruction register (MIR) 295 holds the microprogram read from the CS296. The microprogram address selector 297 follows the address of the control memory to be read next according to the signal line 289, and outputs the signal lines 299 and 30.
Select from 1,303,305. The entry modification circuit 291 uses the value of the RM 300 to change the E-CTL 290.
This is a circuit for modifying the entry address 460 of the above. In this embodiment, it can be constituted by a circuit as shown in FIG. In FIG. 20, the least significant bit of the entry address 460 is output to the signal line 461.
Other bits are output to 62. INSD
When the EC 130 generates an entry address of an instruction to be modified with the value of the RMB 300, the unidirectional instruction detection circuit 2910 detects the entry address, and outputs the signal line 291.
1 becomes "1", and the least significant bit of the address 299 to be read first from the CS296 is the output 46 of the RMB300.
It becomes 9. When the output of the UNIFI command detection circuit 2910 is “0”, the address 299 remains the entry address 460. Although the lowest bit is modified in this example, it is obvious that other bits can be used.

タグ判定回路293は、マイクロプログラムで指定され
るテストパターン304に従つて、タグレジスタの出力
490と495の組み合わせにより、マイクロプログラ
ムのジヤンプアドレス303 を修飾するオフセツト302
を生成する。本実施例では、第21図(1)〜(3)に
示すような機能を持つ論理によつて構成できる。第21
図に示すような論理は、ROM,RAM,PLA等を用
いれば容易に実現可能である。
The tag determination circuit 293 uses the combination of the outputs 490 and 495 of the tag registers in accordance with the test pattern 304 specified by the microprogram to offset the jump address 303 of the microprogram.
To generate. In this embodiment, the logic having the functions shown in FIGS. 21 (1) to (3) can be used. 21st
The logic as shown in the figure can be easily realized by using ROM, RAM, PLA and the like.

ジヤンプ先修飾回路292は、マイクロプログラムによ
つて指定されるジヤンプアドレス303をベースとし
て、オフセツト302で示される分だけ離れたジヤンプ
アドレスを生成する回路であり、いわゆるマルチウエイ
ジヤンプを行うものである。本実施例に於ては、第22
図に示すような回路により構成することができる。第2
2図に於て、信号線3031は、ジヤンプアドレス30
3の下位4ビツトを示しており、信号線3032はそれ
以外のビツトを示している。出力のジヤンプアドレス3
01の下位4ビツトには、3031とオフセツト302
の論理和が出力される。
The jump destination modification circuit 292 is a circuit for generating jump addresses separated by the offset 302 based on the jump address 303 specified by the microprogram, and performs so-called multi-way jump. In the present embodiment, the 22nd
It can be configured by a circuit as shown in the figure. Second
In FIG. 2, the signal line 3031 is a jump address 30.
The lower 4 bits of 3 are shown, and the signal line 3032 shows the other bits. Output jump address 3
The lower 4 bits of 01 are 3031 and the offset 302.
The logical sum of is output.

次に、タグ無しデータ用命令とタグ付きデータ用命令を
実行するときの動作例について説明する。
Next, an operation example when executing the untagged data instruction and the tagged data instruction will be described.

(1) タグ無しデータ用命令の実行例 タグ無しデータ用命令の例として、ロード命令を取り上
げて説明する。第23図の(a)に示すLoad命令は、オ
ペランド指定子1で指定されるオペランドにあるデータ
をオペランド指定子2で指定されるオペランドに転送す
る命令であり、オペコードは第24図の(a)に示す通
りである。本実施例ではオペランド指定子1のアドレツ
シングモードを32ビツトイミデイエイトとし、オペラ
ンド指定子2のアドレツシングモードをレジスタダイレ
クトする。
(1) Execution example of instructions for untagged data As an example of instructions for untagged data, a load instruction will be taken up and described. The Load instruction shown in (a) of FIG. 23 is an instruction for transferring the data in the operand designated by the operand specifier 1 to the operand designated by the operand specifier 2, and the operation code is (a) of FIG. ). In this embodiment, the addressing mode of the operand specifier 1 is set to 32 bits immediate, and the addressing mode of the operand specifier 2 is set to register direct.

Load命令は、MM800より読み出され、第25図の
(a)に示すような形でIBR110内に格納される。
そして、アライナ120によりオペコードとモード指定
子がそれぞれ信号線350と355に出力され(第25
図(b1),(b2))、命令デコーダINSDEC130 に入
力される。オペコードの上位9ビツトは、タグ付きデー
タ用命令検出回路133に入力され、タグ無しデータ用
命令であることが判明し、信号線134は「0」とな
る。これを受けて、E−CTL用エントリアドレス生成
回路131は、タグ無しデータ用命令Loadのエントリア
ドレスを信号線460に出力する。これと並行して、A
−CTL用エントリアドレス生成回路140は、ソース
オペランドが32ビツトのイミデイエイトアドレツシン
グモードであることを解読し、イミデイエイトアドレツ
シングモード用のエントリアドレスを信号線360に出
力する。
The Load instruction is read from the MM 800 and stored in the IBR 110 in the form as shown in FIG.
Then, the aligner 120 outputs the operation code and the mode designator to the signal lines 350 and 355, respectively (the 25th
(B1) and (b2)) are input to the instruction decoder INSDEC130. The upper 9 bits of the operation code are input to the tagged data instruction detection circuit 133 and are found to be untagged data instructions, and the signal line 134 becomes "0". In response to this, the E-CTL entry address generation circuit 131 outputs the entry address of the untagged data instruction Load to the signal line 460. In parallel with this, A
The -CTL entry address generation circuit 140 decodes that the source operand is in the 32-bit immediate addressing mode, and outputs the entry address for the immediate addressing mode to the signal line 360.

A−CTL140は、SEP160の制御用信号370
を「0」とし、図には示してないアドレス計算に必要な
制御信号を出力する。
The A-CTL 140 uses the control signal 370 of the SEP 160.
Is set to "0", and a control signal required for address calculation not shown in the figure is output.

この時信号線340には、ALN120によつて32ビ
ツトイミデイエイトデータが出力されている(第25図
(c))。タグとポインタの分離回路SEP160は、
このイミデイエイトデータを入力とするが、信号線37
0が「0」であるために、そのままのデータを信号線4
00上に出力する(第25図(d))。信号線400上
のイミデイエイトデータは、A−ALU190をスルー
状態で通過し、IMR210に格納され、イミデイエイ
トアドレツシングモードのアドレス計算が終了する。
At this time, 32 bit immediate data is output to the signal line 340 by the ALN 120 (FIG. 25 (c)). The tag / pointer separation circuit SEP160 is
This immediate data is input, but the signal line 37
Since 0 is “0”, the data as it is is sent to the signal line 4
00 (FIG. 25 (d)). The immediate data on the signal line 400 passes through the A-ALU 190 in a through state, is stored in the IMR 210, and the address calculation in the immediate addressing mode is completed.

一方、E−CTL290は信号線460を介して入力さ
れるLoad命令のエントリアドレスに従つて、制御メモリ
CS296からマイクロプログラムを読み出して、命令
実行用の制御信号を生成するが、Load命令がタグ無しデ
ータ用命令であるため、タグ付きデータ用の各回路の制
御線470,480,455,475,465は「0」
となる。そして、IMR210内のイミデイエイトデー
タは、データ切り出し回路MSK240をスルーして、
更にE−ALU230をスルーして、ERF220に格納さ
れ、Loadは命令は完結する。
On the other hand, the E-CTL 290 reads the microprogram from the control memory CS296 according to the entry address of the Load instruction input via the signal line 460 and generates a control signal for instruction execution, but the Load instruction has no tag. Since it is a data instruction, the control lines 470, 480, 455, 475, 465 of the circuits for tagged data are "0".
Becomes Then, the immediate data in the IMR 210 passes through the data cutout circuit MSK240,
Further, it passes through the E-ALU 230 and is stored in the ERF 220, and the load command is completed.

(2) タク付きデータ用命令の実行例 タグ付きデータ用命令の例として、プツトコンスタント
命令を取り上げて説明する。第23図の(b)に示すPu
t−Constant 命令は、オペランド指定子1で指定される
オペランドにあるタグ付きデータをオペランド指定子2
で指定されるオペランドに転送する命令であり、オペコ
ードは第24図の(b)に示す通りである。
(2) Execution example of instruction for data with tag As an example of instruction for data with tag, a put-constant instruction will be taken up and described. Pu shown in FIG. 23 (b)
The t-Constant instruction uses the tagged data in the operand specified by operand specifier 1 as operand specifier 2
Is an instruction to be transferred to the operand designated by, and the operation code is as shown in FIG.

ここでは、オペランド指定子1のアドレツシングモード
をタグ付きイミデイエイトアドレツシングモードとし、
オペランド指定子2のアドレツシングモードをレジスタ
ダイレクトとする。
Here, the addressing mode of the operand specifier 1 is the tagged immediate addressing mode,
The addressing mode of operand specifier 2 is register direct.

Put−Constant 命令は、MM800より読み出され、第
26図の(a)に示すような形でIRB110内に格納され
る。そして、アライナ120によりオペコードとモード
指定子が信号線350に出力され(第26図(b))、
命令デコーダINSDEC130に入力される。オペコードの上
位9ビツトは、タグ付きデータ用命令検出回路133に
入力され、タグ付きデータ用命令であることが判明し、
信号線134「1」となる。これを受けて、E−CTLエ
ントリアドレス生成回路131は、タグ付きデータ用命
令Lcstp のエントリアドレスを信号線460に出力す
る。これと並行して、A−CTL用エントリアドレス生
成回路140は、タグ付きイミデイエイトアドレツシン
グモードであることを解読し、信号線134が「1」で
あることから、正しいアドレツシングモードであると判
定し、タグ付きイミデイエイトアドレツシングモード用
のエントリアドレスを信号線360に出力する。A−C
TL140は、信号線360上のエントリアドレスに従
つて、SEP160用制御信号370 を「1」とする。
The Put-Constant instruction is read from the MM 800 and stored in the IRB 110 in the form as shown in FIG. Then, the aligner 120 outputs the operation code and the mode designator to the signal line 350 (FIG. 26 (b)),
Input to the instruction decoder INSDEC130. The upper 9 bits of the opcode are input to the tagged data instruction detection circuit 133 and are found to be tagged data instructions.
The signal line 134 becomes “1”. In response to this, the E-CTL entry address generation circuit 131 outputs the entry address of the tagged data instruction Lcstp to the signal line 460. In parallel with this, the A-CTL entry address generation circuit 140 decodes that it is in the tagged immediate addressing mode, and since the signal line 134 is "1", it is in the correct addressing mode. And outputs the entry address for the tagged immediate addressing mode to the signal line 360. AC
The TL 140 sets the SEP 160 control signal 370 to "1" in accordance with the entry address on the signal line 360.

この時信号線340には、ALN120によつて32ビ
ツトのタグ付きデータが出力されている(第26図
(c))。タグとポインタの分離回路SEP160は、
このタグ付きデータを入力とし、信号線370が「1」
であることから、タグを信号線380へ出力し、符号拡
張したポインタを信号線400へ出力する。
At this time, 32-bit tagged data is output by the ALN 120 to the signal line 340 (FIG. 26 (c)). The tag / pointer separation circuit SEP160 is
This tagged data is input, and the signal line 370 is "1".
Therefore, the tag is output to the signal line 380, and the sign-extended pointer is output to the signal line 400.

このポインタは、図示していないA−CTLからの制御
信号により、PC170とA−ALU190で加算され
て、IMR210及びMAR310に格納されて、タグ
付きイミデイエイトアドレス計算が終了する。
This pointer is added by the PC 170 and the A-ALU 190 by the control signal from the A-CTL (not shown) and stored in the IMR 210 and the MAR 310, and the tagged immediate address calculation is completed.

一方、E−CTL290は、信号線460を介して入力
されるPut−Constant 命令エントリアドレスに従つて、
制御メモリCS296からマイクロプログラムを読み出
して、命令実行用の制御信号を生成する。Put−Constan
t 命令では、TAG200中のタグとIMR210中のポイン
タを合成してタグ付きデータとして、ERF220に格
納する必要があるので、タグ埋め込み制御信号465が
「1」となり、E−ALU230で、タグが埋め込まれ
てERFに格納されPut−Constant 命令は完結する。
On the other hand, the E-CTL 290, according to the Put-Constant instruction entry address input via the signal line 460,
The microprogram is read from the control memory CS296 and a control signal for instruction execution is generated. Put-Constan
In the t instruction, the tag in the TAG 200 and the pointer in the IMR 210 need to be combined and stored as tagged data in the ERF 220. Therefore, the tag embedding control signal 465 becomes “1”, and the E-ALU 230 embeds the tag. Stored in the ERF and the Put-Constant command is completed.

別のタグ付きデータ用命令の実行例として、加算命令を
取り上げて説明する。タグ無しデータ用命令の加算で
は、周知の如くデータの型は命令によつて一義的に決ま
る。つまり同一の32ビツト列でも、整数の加算命令な
らば、32ビツト整数として演算し、フローテイングの
加算命令ならば、32ビツトを指数部と仮数部に分けて
演算する。
An addition instruction will be taken up and described as another example of execution of the tagged data instruction. In the addition of an instruction for untagged data, the data type is uniquely determined by the instruction, as is well known. That is, even in the same 32-bit sequence, if it is an integer addition instruction, it is calculated as a 32-bit integer, and if it is a floating addition instruction, 32 bits are divided into an exponent part and a mantissa part.

これに対して、タグ付きデータ用命令の加算では、命令
の実行時にデータの型をタグによつて判定し、それに従
つて、演算を変えたり、例外検出を行つたりする。例え
ば、第5図に示す命令でオペレーシヨンとして、タグ付
きデータの加算が指定され、2つのオペランドがオペラ
ンド指定子によつてER0とER1レジスタに指定さ
れ、ER0レジスタ内のタグが第4図に示すwordであり
ER1レジスタ内のタグが、Longであつたとする。命令
実行のための制御回路290は、各オペランドのタグを
第21図(その3)のテストパターンに従つて判定し、
この場合オフセツト5で指定される処理によつてER0
の16ビツト整数を32ビツトに拡張する。そしてER
1のポインタで示される32ビツト整数と加算後、結果
を同じくER1のポインタで示される所へ格納して命令
は完結する。
On the other hand, in the addition of the tagged data instruction, the type of data is determined by the tag when the instruction is executed, and the operation is changed or the exception is detected according to the determination. For example, in the instruction shown in FIG. 5, addition of tagged data is designated as an operation, two operands are designated in the ER0 and ER1 registers by an operand specifier, and the tag in the ER0 register is designated in FIG. It is assumed that the word shown and the tag in the ER1 register are Long. The control circuit 290 for instruction execution judges the tag of each operand according to the test pattern of FIG. 21 (No. 3),
In this case, the processing specified by offset 5 causes ER0
The 16-bit integer of is expanded to 32 bits. And ER
After the addition with the 32-bit integer indicated by the pointer of 1, the result is stored in the place indicated by the pointer of ER1 and the instruction is completed.

また別の場合として、指定されたオペランドのタグが加
算に適さないデータ型(str,Lst等々)の時には、第2
1図(その3)のテストパターンによつてオフセツト1
1が指定されて、演算例外が発生し、命令実行のための
制御回路290は、図示していない特定のアドレスへ例
外ジヤンプを行う様にPC170を設定する。以後の処
理は、タグ無し命令に於ける演算例外と同等であり、当
業者周知の手順に従つて、ソフトウエアにより例外処理
が行われる。
As another case, when the tag of the specified operand has a data type (str, Lst, etc.) that is not suitable for addition, the second
Offset 1 according to the test pattern shown in Fig. 1 (No. 3).
When 1 is specified and an operation exception occurs, the control circuit 290 for instruction execution sets the PC 170 to perform exception jump to a specific address (not shown). The subsequent processing is equivalent to the operation exception in the untagged instruction, and the exception processing is performed by software according to the procedure well known to those skilled in the art.

本実施例では、タグ無しデータ用命令体系として、モト
ローラ社の32ビツトマイクロプロセツサMC6802
0と上位互換を採用しているが、本発明はこの命令体系
を前提としているものでない事は明らかであり、他の命
令体系に対しても適用可能である。
In this embodiment, a 32-bit microprocessor MC6802 manufactured by Motorola Co., Ltd. is used as an instruction system for untagged data.
Although upward compatibility with 0 is adopted, it is clear that the present invention is not based on this instruction system, and can be applied to other instruction systems.

〔発明の効果〕〔The invention's effect〕

本発明によれば、タグ無しデータとタグ付きデータが同
じ語長をとる計算機に於て、タグ無しデータ用命令とタ
グ付きデータ用命令を同じ命令セツトとして実行できる
為タグ無しデータ用命令とタグ付きデータ用命令を混在
して使用する知識工学向きのプログラムを、より実用的
なものとする効果がある。
According to the present invention, in a computer in which untagged data and tagged data have the same word length, the untagged data instruction and the tagged data instruction can be executed as the same instruction set, so that the untagged data instruction and the tag This has the effect of making a program suitable for knowledge engineering that uses mixed data instructions in a mixed manner more practical.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明の一実施例を示すデータ処理装置の内部
構成のブロツク図、第2図は本発明に用いられる汎用レ
ジスタの説明図、第3図は、本発明に用いられるデータ
形式を示す図、第4図はタグ付きデータの具体例を示す
図、第5図は本発明で実行可能な命令のフオーマツトを
示す図、第6図は第5図の説明に用いられるアドレツシ
ングモードの詳細を示す図、第7図は第5図に示すデイ
スプレースメント(disp)の形式を示す図、第8図はオ
ペランドの詳細を示す図、第9図は本発明が適用される
計算機の全体構成を示す図、第10図は第1図に示され
る命令デコーダの一実施例構成図、第11図は第10図
に示すタグ付きデータ用命令検出回路133の一実施例
回路図、第12図は第1図に示すタグとポインタの分離
回路の一具体例回路図、第13図は第12図に示すタグ
切り出し回路の一具体例回路図、第14図は第12図に
示すポインタ切り出し回路一具体例回路図、第15図は
第1図に示すタグ長検出回路の一具体例回路図、第16
図は第1図に示すタグ切出し回路の一具体例回路図、第
17図は第1図に示すデータ切出し回路の一具体例回路
図、第18図は第1図に示す演算器の一具体例回路図、
第19図は第1図に示す制御回路の内部構成を示す図、
第20図は第1図に示すエントリ修飾回路の一具体例回
路図、第21図は第1図に示すタグ判定回路の動作説明
に用いられる論理図、第22図は第1図に示すジヤンプ
先修飾回路の内部構成を示す図、第23図は命令の具体
的な実行例を示す図、第24図は本発明に用いられる命
令のオペコードの具体的に実施例を示す図、第25図は
本発明によるタグ無しデータ用の命令の実行例を説明す
るのに用いられる各部のデータを示す図、第26図は本
発明によるタグ付きデータ用命令の実行例を説明するの
に用いられる各部のデータを示す図である。 130……命令デコーダ、160……タグとポインタの
分離回路、200……タグレジスタ、210……ポイン
タ及びイミデイエイトレジスタ、370……タグとポイ
ンタの分離回路の制御信号。
FIG. 1 is a block diagram of the internal configuration of a data processing device showing an embodiment of the present invention, FIG. 2 is an explanatory diagram of a general-purpose register used in the present invention, and FIG. 3 shows a data format used in the present invention. FIG. 4, FIG. 4 is a diagram showing a concrete example of tagged data, FIG. 5 is a diagram showing a format of an instruction executable by the present invention, and FIG. 6 is an addressing mode used in the explanation of FIG. FIG. 7 is a diagram showing the format of the displacement (disp) shown in FIG. 5, FIG. 8 is a diagram showing the details of the operand, and FIG. 9 is a diagram showing the computer to which the present invention is applied. FIG. 10 is a diagram showing the overall structure, FIG. 10 is a block diagram of an embodiment of the instruction decoder shown in FIG. 1, and FIG. 11 is a circuit diagram of an embodiment of an instruction detection circuit 133 for tagged data shown in FIG. FIG. 12 is a specific example circuit of the tag / pointer separation circuit shown in FIG. FIG. 13 is a circuit diagram showing a concrete example of the tag cutting circuit shown in FIG. 12, FIG. 14 is a circuit diagram showing a concrete example of the pointer cutting circuit shown in FIG. 12, and FIG. 15 is a tag length shown in FIG. Circuit diagram of a specific example of the detection circuit, 16th
FIG. 17 is a circuit diagram of a concrete example of the tag cutting circuit shown in FIG. 1, FIG. 17 is a circuit diagram of a concrete example of the data cutting circuit shown in FIG. 1, and FIG. 18 is a concrete example of the arithmetic unit shown in FIG. Example circuit diagram,
FIG. 19 is a diagram showing an internal configuration of the control circuit shown in FIG.
FIG. 20 is a circuit diagram of a specific example of the entry modification circuit shown in FIG. 1, FIG. 21 is a logic diagram used to explain the operation of the tag determination circuit shown in FIG. 1, and FIG. 22 is the jump shown in FIG. FIG. 23 is a diagram showing an internal configuration of the pre-modification circuit, FIG. 23 is a diagram showing a concrete execution example of an instruction, FIG. 24 is a diagram showing a concrete embodiment of an opcode of an instruction used in the present invention, and FIG. Is a diagram showing data of each part used for explaining an execution example of an instruction for untagged data according to the present invention, and FIG. 26 is each part used for explaining an execution example of an instruction for tagged data according to the present invention. It is a figure which shows the data of. 130 ... Instruction decoder, 160 ... Tag / pointer separation circuit, 200 ... Tag register, 210 ... Pointer and immediate register, 370 ... Control signal for tag / pointer separation circuit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂東 忠秋 茨城県日立市久慈町4026番地 株式会社日 立製作所日立研究所内 (72)発明者 中西 宏明 茨城県日立市大みか町5丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 広瀬 健二 茨城県日立市幸町3丁目2番1号 日立エ ンジニアリング株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Tadaaki Bando 4026 Kujimachi, Hitachi City, Hitachi, Ibaraki Prefecture Hitachi Research Laboratory Ltd. (72) Inventor Hiroaki Nakanishi 5-2-1 Omikacho, Hitachi City, Ibaraki Prefecture Ceremony company Hitachi Ltd. Omika factory (72) Inventor Kenji Hirose 3-2-1, Saiwaicho, Hitachi City, Ibaraki Hitachi Engineering Co., Ltd.

Claims (23)

【特許請求の範囲】[Claims] 【請求項1】オペコードとオペランド指定子とからなる
命令に従って、オペランドを処理するデータ処理装置に
おいて、 上記オペランドとしてこのオペランドのデータの型を指
定するタグを含むタグ付きデータ及び上記タグを含まな
いタグ無しデータと、上記命令として上記タグ付きデー
タを処理する第1型の命令及び上記タグ無しデータを処
理する第2型の命令とをそれぞれ格納するメモリ手段
と、 上記メモリ手段から呼び出された命令のオペコードから
上記第1型の命令か上記第2型の命令かを判別する判別
手段と、 上記判別手段の判別結果が上記第1型の命令であるな
ら、上記タグ付きデータのタグ部を判定し、タグ付きデ
ータの演算を決定するタグ判定手段と、 上記判別手段の判別結果が上記第1型の命令であるなら
上記タグ判定手段によって決定されたタグ付きデータの
演算を実行し、上記第2型の命令であるならそのオペコ
ードに従って上記タグ無しデータの演算を実行する演算
手段とを具備し、 語長の統一されたタグ付きデータとタグ無しデータとを
それぞれ処理する第1型の命令と第2型の命令とを混在
させて処理することを特徴とするデータ処理装置。
1. A data processing device for processing an operand according to an instruction consisting of an operation code and an operand specifier, in a tagged data including a tag for designating a data type of the operand as the operand and a tag not including the tag. Memory means for respectively storing the untagged data, a first type instruction for processing the tagged data as the instruction and a second type instruction for processing the untagged data, and an instruction called from the memory means. If the discrimination means discriminates from the operation code whether the instruction is the first type instruction or the second type instruction, and if the determination result of the discrimination means is the first type instruction, the tag portion of the tagged data is determined. , Tag determination means for determining the operation of tagged data, and if the determination result of the determination means is the first type instruction, the tag determination is performed. Means for executing the operation of the tagged data determined by the means and executing the operation of the untagged data according to the operation code of the instruction of the second type, with the tag having a uniform word length A data processing apparatus, wherein a first type instruction and a second type instruction for respectively processing data and untagged data are mixed and processed.
【請求項2】特許請求の範囲第1項において、 上記タグは複数ビットで構成されていることを特徴とす
るデータ処理装置。
2. The data processing device according to claim 1, wherein the tag is composed of a plurality of bits.
【請求項3】特許請求の範囲第1項において、 オペランドの所在を示す上記オペランド指定子は、オペ
ランドが格納されているメモリのアドレスまたはオペラ
ンドが格納されているレジスタまたはオペランドそのも
のを指定することを特徴とするデータ処理装置。
3. The operand designator according to claim 1, wherein the operand specifier indicates the address of the memory in which the operand is stored, the register in which the operand is stored, or the operand itself. Characteristic data processing device.
【請求項4】特許請求の範囲第1項において、 少なくとも1つの上記タグ無しデータは浮動小数点デー
タであることを特徴とするデータ処理装置。
4. The data processing device according to claim 1, wherein the at least one untagged data is floating point data.
【請求項5】特許請求の範囲第1項において、 少なくとも1つの上記タグ無しデータを処理する第2型
の命令は浮動小数点命令であることを特徴とするデータ
処理装置。
5. The data processing device according to claim 1, wherein the second type instruction for processing at least one of the untagged data is a floating point instruction.
【請求項6】特許請求の範囲第1項において、 上記タグ判定手段は上記タグ付きデータからタグを切り
出して、切り出された上記タグは、上記タグ以外のビッ
トとは異なった演算を行うことを特徴とするデータ処理
装置。
6. The claim 1 according to claim 1, wherein the tag determining means cuts out a tag from the tagged data, and the cut out tag performs an operation different from bits other than the tag. Characteristic data processing device.
【請求項7】特許請求の範囲第1項において、 上記タグ判定手段又は上記演算手段は、オペランド指定
子がオペランドを指定する際に、上記タグ付きデータに
対して、予め定められたアドレッシングとは異なるアド
レッシングを指定すると所定に信号を発生することを特
徴とするデータ処理手段。
7. The tag determining means or the arithmetic means according to claim 1, wherein when the operand specifier specifies an operand, the predetermined addressing for the tagged data is Data processing means for generating a predetermined signal when different addressing is designated.
【請求項8】特許請求の範囲第1項において、 上記メモリ手段は、上記タグ付きデータと上記タグなし
データとを保持するレジスタファイルを有することを特
徴とするデータ処理装置。
8. The data processing device according to claim 1, wherein the memory means has a register file for holding the tagged data and the untagged data.
【請求項9】特許請求の範囲第1項又は第8項におい
て、 上記メモリ手段は、上記第1型の命令と上記第2型の命
令とを保持するレジスタを有することを特徴とするデー
タ処理装置。
9. The data processing according to claim 1, wherein the memory means has a register for holding the first type instruction and the second type instruction. apparatus.
【請求項10】オペコードとオペランド指定子とからな る命令に従って、オペランドを処理するデータ処理装置
において、 上記オペランドとしてこのオペランドのデータの型を指
定するタグを含むタグ付きデータ及び上記タグを含まな
いタグ無しデータと、上記命令として上記タグ付きデー
タを処理する第1型の命令及び上記タグ無しデータを処
理する第2型の命令とをそれぞれ格納するメモリ手段
と、 上記第1型の命令又は上記第2型の命令のオペコードに
従って上記タグ付きデータ又は上記タグ無しデータの演
算を実行する演算手段とを具備し、 上記演算手段は、上記メモリ手段から呼び出された命令
のオペコードから上記第1型の命令か上記第2型の命令
かを判別する判別手段と、 上記判別手段の判別結果が上記第1型の命令であるな
ら、上記タグ付きデータのタグ部を判定し、タグ付きデ
ータの演算を決定するタグ判定手段とを有することを特
徴とするデータ処理装置。
10. A data processing device for processing an operand according to an instruction consisting of an opcode and an operand specifier, wherein tagged data including a tag for specifying the data type of this operand as the operand and the above tag are not included. Memory means for respectively storing untagged data, a first type instruction for processing the tagged data as the instruction, and a second type instruction for processing the untagged data, and the first type instruction or the above Arithmetic means for executing the operation of the tagged data or the untagged data according to the opcode of the second type instruction, wherein the arithmetic means is based on the opcode of the instruction called from the memory means. An instruction or a second type instruction, and the result of the determination by the determining means is the first type instruction. Nara, the data processing apparatus characterized by having a tag determination means for determining the tag portion of the tagged data, determines the operation of the tagged data.
【請求項11】特許請求の範囲第10項において、 上記タグは複数ビットで構成されていることを特徴とす
るデータ処理装置。
11. The data processing device according to claim 10, wherein the tag is composed of a plurality of bits.
【請求項12】特許請求の範囲第10項において、 オペランドの所在を示す上記オペランド指定子は、オペ
ランドが格納されているメモリのアドレスまたはオペラ
ンドが格納されているレジスタまたはオペランドそのも
のを指定することを特徴とするデータ処理装置。
12. The operand designator according to claim 10, wherein the operand designator indicates the address of the memory in which the operand is stored, the register in which the operand is stored, or the operand itself. Characteristic data processing device.
【請求項13】特許請求の範囲第10項において、 少なくとも1つの上記タグ無しデータは浮動小数点デー
タであることを特徴とするデータ処理装置。
13. The data processing device according to claim 10, wherein the at least one untagged data is floating point data.
【請求項14】特許請求の範囲第10項において、 少なくとも1つの上記タグ無しデータを処理する第2型
の命令は浮動小数点命令であることを特徴とするデータ
処理装置。
14. The data processing device according to claim 10, wherein the at least one second type instruction for processing the untagged data is a floating point instruction.
【請求項15】特許請求の範囲第10項において、 上記タグ判定手段は上記タグ付きデータからタグを切り
出して、切り出された上記タグは、上記タグ以外のビッ
トとは異なった演算を行うことを特徴とするデータ処理
装置。
15. The tag determination means according to claim 10 cuts out a tag from the tagged data, and the cut-out tag performs an operation different from that of bits other than the tag. Characteristic data processing device.
【請求項16】特許請求の範囲第10項において、 上記タグ判定手段又は上記演算手段は、オペランド指定
子がオペランドを指定する際に、上記タグ付きデータに
対して、予め定められたアドレッシングとは異なるアド
レッシングを指定すると所定の信号を発生することを特
徴とするデータ処理装置。
16. The tag determining means or the arithmetic means according to claim 10, wherein when the operand specifier designates an operand, the predetermined addressing is performed on the tagged data. A data processing device, which generates a predetermined signal when different addressing is designated.
【請求項17】特許請求の範囲第10項において、 上記メモリ手段は、上記タグ付きデータと上記タグなし
データとを保持するレジスタファイルを有することを特
徴とするデータ処理装置。
17. The data processing device according to claim 10, wherein the memory means has a register file for holding the tagged data and the untagged data.
【請求項18】特許請求の範囲第10項又は第17項に
おいて、 上記メモリ手段は、上記第1型の命令と上記第2型の命
令とを保持するレジスタを有することを特徴とするデー
タ処理装置。
18. The data processing according to claim 10 or 17, wherein said memory means has a register for holding said first type instruction and said second type instruction. apparatus.
【請求項19】命令に応じてオペランドを処理するデー
タ処理装置において、 上記オペランドは基本語長内にデータタイプを示す複数
ビットからなるタグを有する第1のオペランドと、基本
語長内に上記タグを有さない第2のオペランドであり、 上記命令は、上記オペランドの処理の内容と上記第1の
オペランドを処理するかを示す情報を含む第1のフィー
ルドと上記オペランド又は上記オペランドが保持されて
いるメモリ手段の位置を特定する情報を含む第2のフィ
ールドとを少なくとも有する命令であり、 上記命令及び上記オペランドをそれぞれ保持するメモリ
手段と、 上記命令の第1のフィールドをデコードすることによっ
て、上記メモリ手段から読みだされた命令が上記第1の
オペランドを処理する命令であるか否かを検出する検出
手段と、 上記検出手段によって、上記第2のフィールドによって
特定されるオペランドが、上記第1のオペランドである
なら上記第1フィールドと上記第1のオペランドのタグ
の内容に基づいてオペランド処理を行ない、上記第2の
オペランドであるなら上記第1フィールドに基づいてオ
ペランド処理を行なう処理手段とを有することを特徴と
するデータ処理装置。
19. A data processing device for processing an operand according to an instruction, wherein the operand has a first operand having a tag consisting of a plurality of bits indicating a data type within a basic word length, and the tag within the basic word length. Is a second operand that does not have, and the above-mentioned instruction holds the above-mentioned operand or the above-mentioned operand and the first field containing the content of the above-mentioned operand processing and information indicating whether to process the above-mentioned first operand. An instruction having at least a second field containing information identifying the location of the memory means, the memory means holding the instruction and the operand respectively, and decoding the first field of the instruction A check for detecting whether the instruction read from the memory means is an instruction for processing the first operand. If the operand specified by the second field is the first operand, the output means and the detection means perform operand processing based on the contents of the tags of the first field and the first operand. And a processing means for performing the operand processing based on the first field if it is the second operand.
【請求項20】特許請求の範囲第19項において、 少なくとも1つの上記第1のオペランドは浮動小数点デ
ータであることを特徴とするデータ処理装置。
20. The data processing device according to claim 19, wherein the at least one first operand is floating point data.
【請求項21】特許請求の範囲第19項において、 上記検出手段は上記第1のオペランドからタグを切り出
すことを特徴とするデータ処理装置。
21. The data processing device according to claim 19, wherein the detecting means cuts out a tag from the first operand.
【請求項22】特許請求の範囲第19項において、 上記メモリ手段は、上記第1のオペランドと上記第2の
オペランドとを保持するレジスタファイルを有すること
を特徴とするデータ処理装置。
22. A data processing apparatus according to claim 19, wherein said memory means has a register file holding said first operand and said second operand.
【請求項23】特許請求の範囲第19項又は第22項に
おいて、 上記メモリ手段は、上記命令を保持するレジスタを有す
ることを特徴とするデータ処理装置。
23. A data processing device according to claim 19 or 22, wherein said memory means has a register for holding said instruction.
JP1242255A 1989-09-20 1989-09-20 Data processing device Expired - Lifetime JPH0652501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1242255A JPH0652501B2 (en) 1989-09-20 1989-09-20 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1242255A JPH0652501B2 (en) 1989-09-20 1989-09-20 Data processing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP60148301A Division JPH0642198B2 (en) 1985-07-04 1985-07-08 Data processing device

Publications (2)

Publication Number Publication Date
JPH02146628A JPH02146628A (en) 1990-06-05
JPH0652501B2 true JPH0652501B2 (en) 1994-07-06

Family

ID=17086550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1242255A Expired - Lifetime JPH0652501B2 (en) 1989-09-20 1989-09-20 Data processing device

Country Status (1)

Country Link
JP (1) JPH0652501B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3015217U (en) * 1995-02-28 1995-08-29 丸五工業株式会社 Lightweight sewing safety footwear

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0415894B1 (en) * 1989-08-14 1995-11-15 International Business Machines Corporation Improved prolog addressing
JP5106653B2 (en) 2011-04-21 2012-12-26 株式会社東芝 Video display device and video display method
CN118210552B (en) * 2022-12-15 2025-11-14 寒武纪(西安)集成电路有限公司 Instruction generation method, apparatus and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0642198B2 (en) * 1985-07-08 1994-06-01 株式会社日立製作所 Data processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3015217U (en) * 1995-02-28 1995-08-29 丸五工業株式会社 Lightweight sewing safety footwear

Also Published As

Publication number Publication date
JPH02146628A (en) 1990-06-05

Similar Documents

Publication Publication Date Title
CN100377075C (en) Apparatus and method for implementing instruction level specification in floating point format
KR100327778B1 (en) Data processing method using multiple instruction sets
US4439828A (en) Instruction substitution mechanism in an instruction handling unit of a data processing system
TW591527B (en) Apparatus and method for extending a microprocessor instruction set
US5630082A (en) Apparatus and method for instruction queue scanning
US7155598B2 (en) Apparatus and method for conditional instruction execution
EP0199173B1 (en) Data processing system
US4896258A (en) Data processor provided with instructions which refer to both tagged and tagless data
JPH0926878A (en) Data processing device
US5682531A (en) Central processing unit
EP0405495A2 (en) Instruction unit logic management apparatus included in a pipelined processing unit
GB2352536A (en) Conditional instruction execution
JPH0769795B2 (en) Computer
GB2352308A (en) Conditional instruction execution
JPH0652501B2 (en) Data processing device
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
US6209080B1 (en) Constant reconstruction processor that supports reductions in code size and processing time
JPH0642198B2 (en) Data processing device
US20050091478A1 (en) Processor using less hardware and instruction conversion apparatus reducing the number of types of instructions
JP2520882B2 (en) Data processing device and data processing method
JPS6160459B2 (en)
JPS623336A (en) Conditional branch system
US5768556A (en) Method and apparatus for identifying dependencies within a register
JPH01120638A (en) Information processor
CN100578442C (en) Apparatus and method for selectively controlling result write-back