JPH02204833A - Computer system - Google Patents

Computer system

Info

Publication number
JPH02204833A
JPH02204833A JP2390789A JP2390789A JPH02204833A JP H02204833 A JPH02204833 A JP H02204833A JP 2390789 A JP2390789 A JP 2390789A JP 2390789 A JP2390789 A JP 2390789A JP H02204833 A JPH02204833 A JP H02204833A
Authority
JP
Japan
Prior art keywords
data
address
size
storage device
variable length
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
JP2390789A
Other languages
Japanese (ja)
Inventor
Kiyosumi Yoshimura
吉村 精純
Hiroshi Tomita
浩史 冨田
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
Hitachi Seibu Software Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Seibu Software 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 Hitachi Ltd, Hitachi Seibu Software Co Ltd filed Critical Hitachi Ltd
Priority to JP2390789A priority Critical patent/JPH02204833A/en
Publication of JPH02204833A publication Critical patent/JPH02204833A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To attain the access of variable length data by allowing one address of a memory device to store the variable length data, and recognizing a processor and the data size of its variable length data. CONSTITUTION:The memory device 2 is provided with a storage space which can store the data of the size of variable length in one address, and in each address, data (i) stored in its address, and the data size (i) for holding the effective size of its data are stored. When a processor 1 reads-in the data stored in the memory device 2, first of all, the memory device 2 outputs the data stored in the designated address and an effective data size to a data bus 3 and a data size bus 4. In this state, the processor 1 reads in data length on the data size bus 4, and reads in the data from the data bus 3 in accordance with its data length. In such a manner, the access can be executed at high speed without being aware of the data length of the data to which the processing is executed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、一つの番地に可変長データを記憶可能な記憶
装置を有する計算機システムに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a computer system having a storage device capable of storing variable length data at one address.

〔従来の技術〕[Conventional technology]

従来、記憶装置については、合波書店発行、矢島修三著
、合波講座、情報科学14 計算機の機能と構造(19
82年)193頁から211頁において論じられており
、記憶番地空間の一つの番地のデータサイズは、すべて
同一(例えば8ビツト)で構成され、データは各番地毎
に8ビツト(1バイト)単位で読み書きされる。16ビ
ツト単位、32ビット単位で読み書きされる場合もある
が、固定的なデータサイズ(ビット数)である。
Conventionally, regarding storage devices, published by Gouha Shoten, written by Shuzo Yajima, Gouha Lecture, Information Science 14 Functions and Structure of Computers (19
1982), pages 193 to 211, the data size of one address in the memory address space is all the same (for example, 8 bits), and the data is divided into 8-bit (1-byte) units for each address. It is read and written in . Although it may be read and written in 16-bit or 32-bit units, the data size (number of bits) is fixed.

従って、1バイトデータのみを処理する場合には。Therefore, when processing only 1 byte data.

番地を指定するのみで処理が可能である。また、2バイ
トのデータのようにサイズの異なるデータを読み書きす
る場合には、複数個の番地のデータを読み書きし、2バ
イトデータとして処理を行う。
Processing is possible by simply specifying the address. Furthermore, when reading and writing data of different sizes, such as 2-byte data, data at multiple addresses is read and written and processed as 2-byte data.

このように、データがずべて同一サイズの場合の処理は
非常に簡潔で、記憶装置上のデータのアクセスも高速に
行える。
In this way, processing when all data is of the same size is extremely simple, and data on the storage device can be accessed at high speed.

〔発明が解決しようとする課題〕 上記従来技術は、プロセッサが扱うデータ長が一定でな
い場合が多いにもかかわらず、そのような場合について
配慮がなされていない、たとえば、プロセッサが実行す
る命令中のオペランドの長さが一定でないような命令語
の場合がある。この場合、オペコード(命令コード)を
読み込み、オペコードを解析することによってはじめて
オペランドのサイズがわかるため、−命令の読み込みに
時間がかかるという問題点がある。また、処理されるデ
ータのデータサイズが一定でない場合がある。
[Problems to be Solved by the Invention] Although the above-mentioned conventional technology does not take into account such cases, even though the data length handled by the processor is often not constant, for example, the length of data handled by the processor is not fixed, There are some instruction words where the length of the operand is not constant. In this case, since the size of the operand can only be determined by reading the operation code (instruction code) and analyzing the operation code, there is a problem that it takes time to read the -instruction. Furthermore, the data size of the data to be processed may not be constant.

例えば1バイト、2バイトのデータサイズのデータが混
在して記憶装置に記憶されるような場合には、これらの
データを処理するプログラムはデータサイズを認識し、
データサイズに応じて処理する必要があり、このような
処理プログラムが複雑になるという問題点があった。
For example, if a mixture of 1-byte and 2-byte data is stored in a storage device, the program that processes these data will recognize the data size,
There is a problem in that it is necessary to process according to the data size, and such a processing program becomes complicated.

本発明の目的はデータ長一定でない可変長データを統一
的に扱える方法及び装置を提供することにある。
An object of the present invention is to provide a method and apparatus that can uniformly handle variable length data whose data length is not constant.

本発明の他の目的は、サイズが一定でないデータを、デ
ータサイズにかかわらず一度にアクセスする方法及び装
置を提供することにある。
Another object of the present invention is to provide a method and apparatus for accessing data whose size is not constant regardless of the data size.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、記憶装置の一つの番地に可
変長データを記憶できるようにする。また、プロセッサ
がその可変長データのデータサイズを認識可能とする0
以上により、プロセッサにより可変長データのアクセス
を可能としたものである。
In order to achieve the above object, variable length data can be stored in one address of a storage device. Also, the processor can recognize the data size of the variable length data.
As described above, variable length data can be accessed by a processor.

〔作用〕[Effect]

可変長データ記憶するために、一つの番地に最大サイズ
の可変長データとそのデータサイズが記憶できるメモリ
を割り当てる。又は、任意個の固定長のメモリをリンク
フィールドで連結することにより、可変長データを記憶
する。
In order to store variable length data, a memory capable of storing the maximum size of variable length data and the data size is allocated to one address. Alternatively, variable length data can be stored by connecting any number of fixed length memories with link fields.

データサイズを認識するためには、記憶装置にデータを
書き込む場合に、そのデータとデータサイズを格納する
。読み出す場合には、記憶装置に記憶されているデータ
とそのデータサイズを記憶装置から出力することにより
、プロセッサはデータサイズを認識し、可変長データの
アクセスが可能となる。
In order to recognize the data size, when writing data to a storage device, the data and data size are stored. When reading data, by outputting the data stored in the storage device and its data size from the storage device, the processor recognizes the data size and can access variable length data.

【実施例〕【Example〕

まず、実施例として、本発明を適用したプロセッサと記
憶装置について概要を、第1図を用いて説明する。
First, as an embodiment, an outline of a processor and a storage device to which the present invention is applied will be explained using FIG.

プロセッサlは、演算を実行するALU102゜プログ
ラムの実行制御を行う命令実行制御部101より構成さ
れる。記憶装置!2は、1つの番地に可変長のサイズの
データを格納可能な記憶空間を持ち、各々の番地には、
その番地に格納されているデータiと、そのデータの有
効サイズを保持するデータサイズiが格納されている。
The processor 1 includes an ALU 102 which executes calculations and an instruction execution control unit 101 which controls the execution of a program. Storage device! 2 has a storage space that can store data of variable length at one address, and each address has a storage space that can store data of variable length size.
The data i stored at that address and the data size i that holds the effective size of the data are stored.

プロセッサlが、記憶装Wt2に格納されているデータ
を読み込む場合を説明する。まず記憶装置2が、指定さ
れた番地に格納されているデータと有効データサイズを
、データバス3とデータサイズバス4に出力する。プロ
セッサ1では、データサイズバス4上のデータ長を読み
込み、そのデータ長に従って、データバス3よりデータ
を読み込む、このように、プロセッサ1は、ある番地に
格納されているデータのサイズに応じてデータを読み込
む。
A case will be described in which processor l reads data stored in storage device Wt2. First, the storage device 2 outputs the data stored at the designated address and the effective data size to the data bus 3 and data size bus 4. The processor 1 reads the data length on the data size bus 4, and reads data from the data bus 3 according to the data length.In this way, the processor 1 reads the data size according to the size of the data stored at a certain address. Load.

プロセッサ1が、記憶装置2にデータを書き込む場合、
プロセッサ1は、格納するデータとそのデータサイズを
、データバス3とデータサイズバス4を通して記憶装置
2に出力する。記憶装置2では、そのデータサイズとデ
ータを格納する。このようくしで、一つの番地に任意の
サイズのデータが記憶可能となる。
When processor 1 writes data to storage device 2,
Processor 1 outputs the data to be stored and its data size to storage device 2 through data bus 3 and data size bus 4. The storage device 2 stores the data size and data. With such a comb, data of any size can be stored in one address.

次に、本実施例におけるプロセッサと記憶装置の動作に
ついて、第2図〜第5図を用いて詳細に説明する。
Next, the operation of the processor and storage device in this embodiment will be explained in detail using FIGS. 2 to 5.

第2図は、プロセッサ1と記憶装W12の詳細構成を示
した図である。
FIG. 2 is a diagram showing the detailed configuration of the processor 1 and the storage device W12.

プロセッサ1は、4つのレジスタ103.レジスタを選
択するレジスタ選択器111.演算を行うALUIO2
,記憶装置2にデータを出力するデータ出力レジスタ1
06.記憶装置2からデータを入力するデータ入力レジ
スタ107.データの読み出しと書き込みを切換えるデ
ータ入出力切り換え器108〜109、データ入出力の
番地を指定するアドレスレジスタ105.プログラムの
実行制御を行う命令実行制御部101より構成される、
これらは内部データバス120、内部データサイズバス
121を介してデータの受は渡しを行う。
Processor 1 has four registers 103. A register selector 111 for selecting a register. ALUIO2 that performs calculations
, a data output register 1 that outputs data to the storage device 2
06. A data input register 107 that inputs data from the storage device 2. Data input/output switchers 108 to 109 that switch between reading and writing data, and an address register 105 that specifies data input/output addresses. Consisting of an instruction execution control unit 101 that controls program execution,
These receive and transfer data via an internal data bus 120 and an internal data size bus 121.

記憶装置2は、番地選択に24ビット用い、アドレスデ
コーダ201によって0〜16M(メガ)番地までアク
セス可能とする。また、レジスタ10、データ入力レジ
スタ12.データ出力レジスタ11と記憶装置2の記憶
部13は、データを格納するデータフィールドと、その
有効データサイズをバイト単位で記憶するサイズフィー
ルドを持つ。
The storage device 2 uses 24 bits for address selection, and allows access from 0 to 16M (mega) addresses by the address decoder 201. Also, register 10, data input register 12 . The data output register 11 and the storage unit 13 of the storage device 2 have a data field for storing data and a size field for storing the effective data size in bytes.

本実施例では、一つの番地に記憶可能なデータは4バイ
トまでであり、0〜4バイトまでを表現するために3ビ
ツト必要となる。従って、一つの番地は、サイズフィー
ルドが3ビツト、データフィールドが32ビツトで構成
される。
In this embodiment, the data that can be stored at one address is up to 4 bytes, and 3 bits are required to represent 0 to 4 bytes. Therefore, one address consists of a size field of 3 bits and a data field of 32 bits.

第3図は1本プロセッサの命令形式を示した図である1
本プロセッサが提供する命令は、アドレッシングの方法
により、以下に示す1形式に分類される。
Figure 3 is a diagram showing the instruction format of one processor.
The instructions provided by this processor are classified into one type shown below depending on the addressing method.

(1)r形式 演算の実効アドレスをレジスタで指定す
る。
(1) r format Specify the effective address of the operation using a register.

(2)x形式 演算の実効アドレスとしてソースアドレ
スはレジスタとそのレジスタ内容 に対するオフセットで指定し、ディス ティネーションはレジスタで指定する。
(2) x format As the effective address of an operation, the source address is specified by a register and an offset to the contents of that register, and the destination is specified by a register.

(3)a形式 演算の実効アドレスをソースアドレスは
絶対アドレスで指定し、ディステ ィネーションはレジスタで指定する。
(3) Format a The source address is specified as an absolute address, and the destination is specified as a register.

上記(1)に第3図(a) 、 (2)に第3図(b)
及び(c) 、 (3)に第3図(d)が各々対応する
Figure 3 (a) for (1) above, Figure 3 (b) for (2) above
FIG. 3(d) corresponds to (c) and (3), respectively.

オペコード310〜313、は命令の1バイト目の上位
4ビツトを用いて表されている。演算対象となるレジス
タ、または、演算のソースとディスティネーションアド
レスを指定するアドレッシングに使用するレジスタは、
1バイト目の下位4ビツトを2つに分割して2ビツトず
つ使用する。
Opcodes 310 to 313 are expressed using the upper 4 bits of the first byte of the instruction. The registers to be operated on or the registers used for addressing to specify the source and destination addresses of the operation are:
The lower 4 bits of the 1st byte are divided into two and each two bits are used.

命令形式(2)は、オペランド311,332を、ソー
スアドレスのインデックスレジスタに対するオフセット
として使用する。命令形式(3)はオペランド333を
、ソースアドレスの絶対番地として使用する形式である
。また、命令が分岐命令の場合には、ソースアドレスを
分岐先アドレスとして用いる。このように本プロセッサ
では命令の長さは1バイトから4バイトで構成される。
Instruction format (2) uses operands 311 and 332 as offsets to the index register of the source address. Instruction format (3) uses operand 333 as an absolute source address. Further, if the instruction is a branch instruction, the source address is used as the branch destination address. In this way, the length of an instruction in this processor is 1 to 4 bytes.

まず、プロセッサ1が、記憶装置上のデータを読み書き
するときの動作について、プロセッサ1で実行する1o
ad命令を用いて説明する。 1oad命令は、記憶装
置上のデータを読み込み、レジスタ10に格納する命令
である。演算の対象となるデータのサイズは、レジスタ
内のサイズフィールド104、記憶装置内のサイズフィ
ールド211が保持しているため、命令で指定する必要
はない。
First, regarding the operation when processor 1 reads and writes data on a storage device, 1o is executed by processor 1.
This will be explained using the ad command. The 1oad instruction is an instruction to read data on a storage device and store it in the register 10. The size of the data to be operated on is held in the size field 104 in the register and the size field 211 in the storage device, so there is no need to specify it in the instruction.

r形式の1oad命令のアセンブラニモニックは。The assembler mnemonic for the r-format 1oad instruction is:

1oacf  rag、 addr  ragであり、
regは、記憶装置から読み込んだデータを格納するレ
ジスタ番号を指定し、addr  ragは、読み込む
番地が入っているレジスタ番号を指定する。プロセッサ
は、レジスタ選択に2ビツト用いており、レジスタ選択
器111により、4つのレジスタからルジスタが選択さ
れる。
1oacf rag, addr rag,
reg specifies the register number that stores the data read from the storage device, and addr rag specifies the register number containing the address to read. The processor uses two bits for register selection, and a register selector 111 selects a register from four registers.

まず、addr  ragで指定されたレジスタの内容
を、内部データバス120を通してアドレスレジスタ1
05に格納する0次に、アドレスレジスタ105の内容
を、アドレスバス5を介して記憶装置2に出力する。記
憶装置!2では、アドレスデコーダ201により、指定
された番地に格納されているデータとサイズデータを、
データバス3とデータサイズバス4を介して出力する。
First, the contents of the register specified by addr rag are sent to address register 1 through internal data bus 120.
Next, the contents of the address register 105 are output to the storage device 2 via the address bus 5. Storage device! 2, the address decoder 201 converts the data and size data stored at the specified address,
It is output via the data bus 3 and data size bus 4.

プロセッサ1では、サイズデータ、データはそれぞれ入
出力データ切替器108〜109により、データ入力レ
ジスタ12のデータフィールド107とそのサイズフィ
ールド117に送られる。最後に、データ入力レジスタ
12に読み込まれたデータとサイズデータは、内部デー
タバス120と内部データサイズバス121を通してr
agで指定されたレジスタ10に格納される。
In the processor 1, size data and data are sent to the data field 107 and its size field 117 of the data input register 12 by input/output data switchers 108-109, respectively. Finally, the data and size data read into the data input register 12 are transferred through the internal data bus 120 and the internal data size bus 121.
It is stored in the register 10 specified by ag.

以上の処理により、記憶装置内のデータはレジスタに格
納される。
Through the above processing, the data in the storage device is stored in the register.

次にサイズフィールドを用いた演算の処理について、 
cap命令を用いて説明する。
Next, regarding the processing of operations using the size field,
This will be explained using the cap instruction.

cap命令は、2つのレジスタの内容を比較する命令を
であり、アセンブラニモニックは、c鳳p   rag
 1   rag 2であり、レジスタrag 1とレ
ジスタreg 2の内容を比較して、プロセッサ内のコ
ンデイションコードレジスタ110を設定する命令であ
る。プロセッサ1は、reglとreg 2のデータと
サイズデータをALU102に送る。ALU102では
、まず、rag 1とrag 2のサイズフィールドの
比較をする。
The cap instruction is an instruction that compares the contents of two registers, and its assembler mnemonic is cp rag
1 rag 2, which is an instruction to compare the contents of register rag 1 and register reg 2 and set the condition code register 110 in the processor. Processor 1 sends regl and reg 2 data and size data to ALU 102. The ALU 102 first compares the size fields of rag 1 and rag 2.

ここで、サイズフィールドの値が異なる場合は。Now if the size field values are different.

サイズの異なるデータが比較されたとして、コンデイシ
ョンコードレジスタ内のサイズ不一致フラグを設定する
。サイズが等しければ比較を行い、結果に従ってコンデ
イションコードレジスタ110を設定する。
Assuming that data of different sizes have been compared, a size mismatch flag in the condition code register is set. If the sizes are equal, a comparison is made and the condition code register 110 is set according to the result.

次に、add命令について説明する。Next, the add instruction will be explained.

add命令は、指定された二つのレジスタの値を加えて
レジスタに格納するものである。アセンブラニモニック
では。
The add instruction adds the values of two specified registers and stores the result in the register. In assembler mnemonic.

add  ragl   rag2 と記述し、reglとrag 2の内容を加えてreg
 1  に格納する命令である。プロセッサは、reg
 1とrag2の、データとデータサイズをALU10
2に送る。ALU102では、まず、rag 1とra
g 2から送られてきた二つのサイズフィールドを比較
する。
Add ragl rag2 and add the contents of regl and rag 2 to reg
This is an instruction to store in 1. The processor is reg
1 and rag2, data and data size in ALU10
Send to 2. In ALU102, first, rag 1 and ra
Compare the two size fields sent from g2.

データサイズが異なる場合には、データサイズの短いレ
ジスタのデータを、ALU内部で符号拡張し、二つのデ
ータのデータサイズを等しくする。
If the data sizes are different, the data in the register with the shorter data size is sign-extended within the ALU to make the data sizes of the two data equal.

次に、加算を行なって、結果reg 1  に格納する
が、加算の結果がその時のrag 1 のデータサイズ
では格納不可能となる場合がある。そのため、結果を格
納するレジスタのデータサイズを変化させずに、コンデ
イションコードに演算結果がレジスタに納まらなかった
ことを示すオーバーフローフラグを設定する令命の他に
、結果を格納するレジスタのデータサイズを拡張して格
納する命令が設けられている。
Next, addition is performed and the result is stored in reg 1 , but the result of addition may not be able to be stored with the data size of rag 1 at that time. Therefore, in addition to an instruction that sets an overflow flag in the condition code to indicate that the operation result did not fit in the register without changing the data size of the register that stores the result, the data size of the register that stores the result An instruction is provided to expand and store the .

このように、本実施例によれば、それぞれのデータのサ
イズは、データ自身がサイズフィールドに保持している
ため、命令中にサイズを指定する必要がなくなり、−命
令で、すべてのデータ長の演算を行うことが可能となる
。従って、プロセッサの命令の種類が少なくなり、命令
長が短くなるという効果がある。
In this way, according to this embodiment, the size of each data is held in the size field by the data itself, so there is no need to specify the size in the instruction. It becomes possible to perform calculations. This has the effect of reducing the number of types of processor instructions and shortening the instruction length.

上述のcap命令、 add命令では、演算対象となる
二つのレジスタのデータサイズが異なっていた場合、サ
イズ不一致フラグの設定や、符号拡張を行っていたが、
異なるデータサイズのデータが指定されたとして、例外
処理に制御を移すことも可能である。
In the cap and add instructions mentioned above, if the data sizes of the two registers to be operated on are different, a size mismatch flag is set and sign extension is performed.
It is also possible to transfer control to exception handling even if data with different data sizes are specified.

プロセッサの実行モードとして、固定モードと拡張モー
ドの2モードが設けられている。即ち、データサイズが
Oのレジスタに対する演算のような、処理の続行が不可
能であるような場合に対してのみ例外処理に制御を移し
、異なるデータサイズの演算は、演算を行う際にデータ
サイズを調節する拡張モードと、演算対象のデータサイ
ズが異なるような場合にも、データサイズ不一致として
例外処理に制御を移す固定モードがある。これらのモー
ドは、コンデイションコードレジスタ110内に設けら
れた実行モード識別フラグによって現在の実行モードを
識別する。これにより、一つを命令を、データサイズの
不一致をエラーとする場合と、デーサイズが異なってい
ても、同サイズまで符号拡張して演算を行う場合に、共
通して用いることができる。さらに、命令実行時に動的
な実行モードを切り替えて用いることも可能となる。
The processor has two execution modes: fixed mode and extended mode. In other words, control is transferred to exception handling only in cases where it is impossible to continue processing, such as an operation on a register with a data size of O. There is an extended mode that adjusts the data size, and a fixed mode that transfers control to exception processing as a data size mismatch even when the data size of the calculation target is different. These modes identify the current execution mode by an execution mode identification flag provided in the condition code register 110. This allows common use in cases where one instruction is treated as an error and a mismatch in data size is treated as an error, and when data sizes are different but are sign-extended to the same size and an operation is performed. Furthermore, it is also possible to dynamically switch execution modes during instruction execution.

次に、本プロセッサが提供するjoin命令について説
明する。 Join命令は、連続した番地に格納されて
いる可変長データを連続して、一つの番地の可変長デー
タに変換する命令である。アセンブラニモニックは、 join  adr  、n であり、(adr)で指定される番地から(adr+n
−1)番地までの可変長データを連結し、一つの可変長
データとしてadr番地に格納する。
Next, the join instruction provided by this processor will be explained. The Join instruction is an instruction that successively converts variable length data stored at consecutive addresses into variable length data at one address. The assembler mnemonic is join adr,n, from the address specified by (adr) to (adr+n
-1) Concatenate variable length data up to address and store as one variable length data at address adr.

adr番地以外のデータは変化しない、また、連結した
結果、一つの番地に記憶可能な4バイトを超える場合に
は処理を行わない0次に、join命令の動作について
説明する。第5図は、join命令の処理を示した図で
ある。(a)は実行される命令のアセンブラニモニック
であり、STRは番地を示すラベルである。(b)はj
oin命令実行前、(Q)はjoin命令実行後の記憶
装置上のデータの状態を示している。
The operation of the 0-order join instruction will be described below, in which the data other than the adr address does not change, and if the result of concatenation exceeds 4 bytes that can be stored in one address, no processing is performed. FIG. 5 is a diagram showing processing of a join instruction. (a) is an assembler mnemonic of an instruction to be executed, and STR is a label indicating an address. (b) is j
Before executing the oin instruction, (Q) shows the state of data on the storage device after executing the join instruction.

まず、連結すべきデータが格納されている(STR) 
〜(STR+n−1)番地のデータサイズを調べて、一
番地に格納可能な最大サイズである4バイトを超えない
かをチエツクする。4バイトを超える場合には処理を打
ち切る。連結後のデータが、4バイトに納まる場合には
、第5図(b)に示すように格納し、連結後のデータサ
イズを、STR番地のサイズフィールドに格納する。
First, the data to be concatenated is stored (STR)
The data size at addresses ~(STR+n-1) is checked to see if it exceeds 4 bytes, which is the maximum size that can be stored at the first address. If it exceeds 4 bytes, processing is aborted. If the data after concatenation fits into 4 bytes, it is stored as shown in FIG. 5(b), and the data size after concatenation is stored in the size field of the STR address.

次に、ある番地に格納されている可変長データを1分割
して記憶装置に展開する5plit命令について説明す
る。 5plit命令のアセンブラニモニックは。
Next, a 5-plit instruction that divides variable-length data stored at a certain address into parts and expands them into a storage device will be explained. The assembler mnemonic for the 5plit instruction is.

5plit   a d r、n であり、adrで指定された番地に記憶されている可変
長データを、nバイトずつに分割して、adr番地から
順に格納する命令である6例えば。
For example, 5plit a dr,n is an instruction that divides the variable length data stored at the address specified by adr into n bytes and stores them sequentially starting from address adr.

第5図の(Q)を(b)に展開する命令は、5plit
  STR,1 となる。
The instruction to expand (Q) to (b) in Figure 5 is 5plit
STR becomes 1.

このような命令を提供することにより、データの転送は
、一つの番地に記憶可能な最大サイズ(本実施例では4
バイト)で−括した高速に行うことができ、データに対
する演算を行う場合には、5plit命令によってデー
タを分割してから1バイトずつ行うというように、処理
に応じてデータの記憶形式を変更することが可能になる
と効果がある。
By providing such an instruction, data transfer can be performed using the maximum size that can be stored in one address (in this example, 4
When performing operations on data, the data storage format is changed according to the processing, such as dividing the data with the 5-plit instruction and performing it one byte at a time. It will be effective if it becomes possible.

次に、本プロセッサにおける、命令の読み込みからの実
行までのプロセッサの動作について説明する。第4図は
、第2図におけるプロセッサ内の命令実行制御部101
の内部構成である。命令実行制御部は、プログラム命令
が格納されている番地を指すPC420,現在実行中の
命令が記憶装置から読み込まれて格納されるI R40
3、分岐する際の分岐先までのオフセットを示すオフセ
ットレジスタ4101次の命令番地を選択する選択器4
60から構成様れる0本プロセッサの一命令サイクルは
、フェッチ、デコード、エグゼキュートの3フエーズか
ら構成される。
Next, the operation of the present processor from reading an instruction to executing it will be explained. FIG. 4 shows the instruction execution control unit 101 in the processor in FIG.
This is the internal configuration of The instruction execution control unit includes a PC 420 that points to an address where a program instruction is stored, and an I R 40 where the currently executed instruction is read from the storage device and stored.
3. Offset register 4101 that indicates the offset to the branch destination when branching; selector 4 that selects the next instruction address;
One instruction cycle of the 60-bit processor consists of three phases: fetch, decode, and execute.

まず、フェチサイクルにおいて、PC420の指す番地
の命令をlR403に読み込む、一つの番地に可変長の
データを格納可能な記憶装置を使用しているため、命令
は命令長にかかわらず一番地に一命令が格納されている
。従って、フェッチサイクルでは、オペコードだけでな
くオペランドを含めた一命令を、−度にI R403に
読み込むことが可能である。つまり、第3図に示す命令
形式にかかわらず、すべて−度に読み込むことが可能と
なる0次に、デコードサイクルではオペコードの解析を
行うが、命令は一命令ずつ順に格納されているため、命
令フェッチが完了すれば、即座に次命令アドレスレジス
タ440を通して、プラス1回路430により、PCの
値をインクリメントし、次の命令アドレスとしてPC4
20に格納し、次命令フェッチを開始することが可能で
ある。そして、エグゼキュートサイクルでは、命令の実
行を行なう、ただし、命令が分岐命令であった場合には
、オペランドを読み込むまで分岐先アドレスは指定不可
能であるため、オペランドを読み込んだ後、オペランド
をオフセットレジスタ410に格納し、加算器470に
より、(pcの値+1)とオフセットレジスタ410の
内容を加えて選択器460に送る1選択器460では、
実行中の命令が分岐命令である場合は、分岐先アドレス
レジスタの内容をPC420に格納し、次命令フェッチ
を開始する。
First, in the fetish cycle, the instruction at the address pointed to by the PC 420 is read into the lR 403. Since a storage device that can store variable length data at one address is used, one instruction is placed at the first address regardless of the instruction length. is stored. Therefore, in a fetch cycle, one instruction including not only an opcode but also an operand can be read into the IR 403 at a time. In other words, regardless of the instruction format shown in FIG. When the fetch is completed, the value of PC is immediately incremented by the plus 1 circuit 430 through the next instruction address register 440, and PC4 is set as the next instruction address.
20 and start fetching the next instruction. Then, in the execute cycle, the instruction is executed. However, if the instruction is a branch instruction, the branch destination address cannot be specified until the operand is read, so after reading the operand, the operand is offset. In the 1 selector 460, the value is stored in the register 410, and the adder 470 adds (the value of pc + 1) and the contents of the offset register 410 and sends it to the selector 460.
If the instruction being executed is a branch instruction, the contents of the branch destination address register are stored in the PC 420 and the next instruction fetch is started.

このように、命令は一番地ごとに一命令が格納されてい
るため、命令制御部においては、命令長が一定でない場
合でも、−命令を一度に読み込んで命令語の解釈実行を
行うことができるため、一つの命令の実行が高速に行え
るという効果がある。
In this way, one instruction is stored at each location, so even if the instruction length is not constant, the instruction control unit can read the -instruction at once and interpret and execute the instruction word. Therefore, one instruction can be executed at high speed.

また、命令が一番地ずつ順に格納されているため、分岐
命令以外の命令では、命令フェッチを行ってすぐに次の
命令のフェッチを行なうことができ。
Furthermore, since instructions are stored sequentially starting from the first location, for instructions other than branch instructions, the next instruction can be fetched immediately after fetching the instruction.

61う 命令フェッチが高速に行えると一効果がある。61 One effect is that instruction fetching can be performed at high speed.

次に実施例として、第2図における記憶装置のサイズフ
ィールドを、未設定データかどうかのチエツクのための
フラグとして利用した記憶装置について説明する。第6
図は、第2図の記憶装置2に、データサイズチエツク回
路610と、記憶装置から外部に出力する未設定データ
読み出し信号線601を設けたものである。
Next, as an example, a storage device will be described in which the size field of the storage device shown in FIG. 2 is used as a flag for checking whether data is unset. 6th
The figure shows the memory device 2 of FIG. 2 provided with a data size check circuit 610 and an unset data read signal line 601 that is output from the memory device to the outside.

本記憶装置では、初期化機能として、ある番地のデータ
サイズをOにすることが可能であり、プログラム実行前
に、使用するデータ領域を全てデータサイズOに初期化
しておく。プログラム実行中に、プロセッサが読み出し
たい番地をアドレスバス5を通して指定すると、記憶装
置は、該当番地のサイズフィールド211とデータフィ
ールド210の読み出す、データフィールドのデータは
In this storage device, as an initialization function, it is possible to set the data size of a certain address to O, and all data areas to be used are initialized to the data size O before program execution. During program execution, when the processor specifies an address to be read via the address bus 5, the storage device reads out the size field 211 and data field 210 of the corresponding address.

データバス3を通してプロセッサに送られる。サイズフ
ィールドのデータもデータサイズバス4を通してプロセ
ッサに送られるが、このときサイズデータは、データサ
イズチエツク回路610により、値がOかどうかチエツ
クされる。もしサイズデータの値が0であれば、その番
地に値を書き込む以前に読み出していることになるため
、データサイズチエツク回路610は、未設定データ読
み出し信号を未設定データ読み出し信号線601を通し
て、プロセッサに送る。この信号をプロセッサが検出し
1例外処理を行なうことによりプログラムの誤動作を防
止する。
It is sent to the processor via data bus 3. The data in the size field is also sent to the processor through the data size bus 4, and at this time the size data is checked by the data size check circuit 610 to see if the value is O. If the value of the size data is 0, it means that the data has been read before writing the value to that address. Therefore, the data size check circuit 610 sends the unset data read signal through the unset data read signal line 601 to the processor. send to The processor detects this signal and performs one exception handling to prevent program malfunction.

このように1本実施例によれば、プログラムにおいて値
を格納していない番地のデータを参照したことをチエツ
ク可能となり、プログラムの誤動作を防止し、デバッグ
を容易にする効果がある。
As described above, according to this embodiment, it is possible to check whether a program refers to data at an address where no value is stored, which has the effect of preventing program malfunctions and facilitating debugging.

次に、実施例として、任意個のデータを連結することに
より、一つの番地に任意長のデータを記憶する記憶装置
について説明する。
Next, as an example, a storage device that stores data of arbitrary length at one address by concatenating arbitrary pieces of data will be described.

第10図は、任意長のデータを記憶可能な記憶装置の内
部構成を示した図である。記憶装[2は、各々の番地に
格納されたデータのデータサイズを記憶するサイズブロ
ック1110と、該番地に格納されたデータを記憶する
データブロック1120により構成される。データブロ
ック1120は、パート1130と呼ばれる処理単位に
分割され、パートアドレスとして内部でアドレス付けさ
れる。
FIG. 10 is a diagram showing the internal configuration of a storage device capable of storing data of arbitrary length. The storage device [2 is composed of a size block 1110 that stores the data size of data stored at each address, and a data block 1120 that stores the data stored at that address. Data block 1120 is divided into processing units called parts 1130 and addressed internally as part addresses.

各々のパート1130は、データを格納するデータフィ
ールド1131と、該パートが使用されているかどうか
を示す使用フラグ1132により構成される6本実施例
では、データフィールド1131には2バイト記憶可能
であり、従って、一つのパートには2バイト記憶可能と
なる。サイズブロック1110には、各々の番地に格納
されたデータのデータサイズを保持するサイズフィール
ド1111と、当該番地に格納様れたデータが記憶され
ているデータブロック内のパートアドレスを保持するリ
ンクフィールド1112により構成される0本プロセッ
サでは、一つの番地のデータはデータブロック内の連続
したパートアドレスに記憶される。
Each part 1130 is composed of a data field 1131 for storing data and a use flag 1132 indicating whether the part is used.In this embodiment, the data field 1131 can store 2 bytes, Therefore, one part can store 2 bytes. The size block 1110 includes a size field 1111 that holds the data size of data stored at each address, and a link field 1112 that holds the part address within the data block where the data stored at the address is stored. In the 0-bit processor, data at one address is stored in consecutive part addresses within a data block.

例として、記憶装置にデータが格納される様子を、第1
1図を用いて説明する。
As an example, the first example shows how data is stored in a storage device.
This will be explained using Figure 1.

第11図(a)は、38番地に、文字列データrMON
YOJが格納された場合の記憶装置内の状態である。第
11図(b)は、37〜39番地に格納されているデー
タを図示したものである。
In FIG. 11(a), character string data rMON is stored at address 38.
This is the state inside the storage device when YOJ is stored. FIG. 11(b) illustrates the data stored at addresses 37-39.

38番地のサイズフィールド1201 (サイズブロッ
ク内に存在する)にデータのサイズである5(バイト)
が記憶され、リンクフィールド1202に、データが記
憶されているデータブロック1120の、先頭パートア
ドレスが記憶されている。従って、第3〜5バートに3
8番地のデータが記憶されている。rMONYOJの「
0」の後に無意味なデータが入るが、データサイズが5
バイトと指定されているため、問題はない。
The size field 1201 at address 38 (exists in the size block) is 5 (bytes), which is the data size.
is stored, and the link field 1202 stores the first part address of the data block 1120 in which the data is stored. Therefore, 3 for the 3rd to 5th bars.
Data at address 8 is stored. rMONYOJ's "
0" is followed by meaningless data, but the data size is 5.
There is no problem because it is specified as bytes.

次に、記憶装置に対する書き込みの処理について説明す
る。第11図において、38番地の3バイトのデータr
ABcJを格納する場合、記憶装置で行われる処理は、
まず、格納前のデータを削除する。即ち、38番地のデ
ータが記憶されている第3〜5バートの使用フラグをO
にし、38番地のサイズフィールドをOにする。このと
きの記憶装置の状態を第12図に示す0次に、格納すべ
きデータが格納可能な連続したパート(この例では、連
続した2バートが必要である)を探す、第12図におい
て、第2〜3パートが未使用であるので、第2〜3バー
トにデータrABcJを記憶し、データサイズ(3バイ
ト)をサイズフィールドに記憶する0以上の処理により
、記憶装置の内容は第13図のようになる。
Next, the process of writing to the storage device will be explained. In Figure 11, 3-byte data r at address 38
When storing ABcJ, the processing performed on the storage device is as follows.
First, delete the data before it is stored. In other words, the use flags of the 3rd to 5th ports where the data at address 38 is stored are set to O.
and set the size field at address 38 to O. The state of the storage device at this time is shown in FIG. 12. Next, in FIG. Since the 2nd and 3rd parts are unused, the contents of the storage device are stored in the 2nd and 3rd parts by storing the data rABcJ in the 2nd and 3rd parts and storing the data size (3 bytes) in the size field. become that way.

以上のように、本実施例では、記憶装置内のメモリ容量
が許す範囲で、任意のデータ長のデータを記憶すること
が可能となるという効果がある。
As described above, this embodiment has the advantage that data of any data length can be stored within the range allowed by the memory capacity within the storage device.

さらに、使用していない番地には、データを記憶するメ
モリを割り当てないため、メモリを有効に使用すること
ができるという効果がある。
Furthermore, since memory for storing data is not allocated to unused addresses, there is an effect that memory can be used effectively.

次に、本発明を適用した主記憶装置とマイクロプロセッ
サを用いた1文書処理システムについて。
Next, a document processing system using a main memory device and a microprocessor to which the present invention is applied will be described.

第7図を用いて説明する。This will be explained using FIG.

第7図は1文書処理システムの構成図である。FIG. 7 is a block diagram of one document processing system.

本システムは文書を入力するキーボード701、入力さ
れた文書に対して処理を行うプロセッサ703、文書処
理を行うプログラムと編集中の文書が格納されている記
憶装置!704、文書を表示するデイスプレィ702か
ら構成される0本システムにおいては、英数字の半角文
字は1バイト、漢字など全角文字は2バイト用いて表さ
れており、キーボード701から入力される文字列には
、半角文字と全角文字が混在して存在する0本システム
では、一つの番地に格納されるデータは可変長であるた
め、−文字は全角、半角の区別なく一番地に格納される
。すなわち、第8図に示すような文字列が入力された場
合は1文字列を格納すべき番地から順に「2」1バイト
、[月」2バイト、「2」 1バイト、rIJ  1バ
イト、 「日」 2バイトがそれぞれ第9図のように格
納される。文書をこのように格納することにより、文字
列の検索の処理を、全角半角を意識せず、効率的に行う
ことが可能となる。以下、検索文字列が「2」の場合を
例にして説明する。
This system includes a keyboard 701 for inputting documents, a processor 703 for processing the input documents, and a storage device that stores programs for document processing and the document being edited! 704 and a display 702 for displaying documents, half-width alphanumeric characters are represented using 1 byte, and full-width characters such as Kanji are represented using 2 bytes. In this system, where a mixture of half-width characters and full-width characters exist, the data stored at one address has a variable length, so the - character is stored at the first address regardless of whether it is full-width or half-width. That is, when a character string as shown in Figure 8 is input, starting from the address where one character string should be stored, "2" 1 byte, "Month" 2 bytes, "2" 1 byte, rIJ 1 byte, " 2 bytes are stored as shown in Figure 9. By storing documents in this manner, it becomes possible to efficiently search for character strings without being concerned about full-width and half-width characters. The case where the search string is "2" will be explained below as an example.

第9図に示すような、記憶装置に格納されている文字列
内から「2」を検索する場合、文字列の先頭番地(a)
から一番地ずつ順に、番地の内容と検索文字とを比較し
ていくことにより、検索を行うことができる。まず、文
字列の先頭番地(a)を検索番地としてレジスタに格納
する。このレジスタをインデックスレジスタと呼ぶ1次
に、インデックスレジスタの指す内容と「2」を比較し
When searching for "2" from within a character string stored in a storage device as shown in Figure 9, the first address (a) of the character string is
A search can be performed by comparing the contents of the address and the search characters one by one starting from the first address. First, the first address (a) of the character string is stored in a register as a search address. This register is called the index register.The first step is to compare the contents pointed to by the index register with "2".

等しければ検索終了となる。異なっていれば、インデッ
クスレジスタに1を加える。この状態で、インデックス
レジスタは(b)を指している。このように、順に番地
の内容と検索文字との比較をインデックスレジスタが検
索終了番地(c)を越えるまで繰り返す。
If they are equal, the search ends. If they are different, add 1 to the index register. In this state, the index register points to (b). In this way, the contents of the addresses and the search characters are successively compared until the index register exceeds the search end address (c).

このように、本発明を用いた文書処理システムでは、全
角文、半角文字の識別は、記憶装置が行い、データの演
算は処理装置がデータサイズに応じて行うため2文書デ
ータに対する処理が単純化されるという効果がある。
In this way, in the document processing system using the present invention, the storage device identifies full-width sentences and half-width characters, and the processing device performs data calculations according to the data size, which simplifies the processing of two-document data. It has the effect of being

〔発明の効果〕〔Effect of the invention〕

本発明によれば、処理を行うデータのデータ長を意識す
ることなく、高速にアクセスすることが可能となる。
According to the present invention, it is possible to access data at high speed without being conscious of the data length of data to be processed.

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

第1図は本発明の一実施例である記憶装置とプロセッサ
との関係の概要を示した図、第2図は第1図の記憶装置
とプロセッサの内部構成を詳細に示した図、第3図はプ
ロセッサの命令形式を示した図、第4図はプロセッサの
命令実行制御部の内部構成を示した図、第5図はjoi
n命令の処理を示した図、第6図は本発明の一実施例で
あるデータサイズチエツク機構と未設定データ読み出し
信号線を設けた記憶装置を示した図、第7図は一実施例
である文書処理システムの構成を示した図、第8図は文
書処理システムに入力された文字列、第9図は記憶装置
に格納される文字列、第10図はリンクフィールドを用
いることにより任意長データの記憶を可能とした記憶装
置、第11図は任意長データの記憶方法を示した図、第
12図〜第13図は任意長データを書き込む際の記憶装
置内の状態を示した図である。 1・・・プロセッサ、2・・・記憶装置、3・・・デー
タバス、4・・・データサイズバス、120・・・内部
データバス、121・・・内部データサイズバス、10
1・・・命令実行制御部。 遁 図 第 図 首乙・i、屯寺(覆 第 図 第 ≠ 図 烹 因 り 図 1己う、屯髪J′fL 1tzt、i 拓 図 とr 力 図 循 国 (碇) 葉 図
FIG. 1 is a diagram showing an overview of the relationship between a storage device and a processor according to an embodiment of the present invention, FIG. 2 is a diagram showing details of the internal configuration of the storage device and processor shown in FIG. 1, and FIG. The figure shows the instruction format of the processor, Figure 4 shows the internal configuration of the instruction execution control section of the processor, and Figure 5 shows the JOI
FIG. 6 is a diagram showing the processing of the n instruction, FIG. 6 is a diagram showing a storage device equipped with a data size check mechanism and an unset data read signal line, which is an embodiment of the present invention, and FIG. 7 is an embodiment of the present invention. A diagram showing the configuration of a certain document processing system. FIG. 8 shows character strings input to the document processing system, FIG. 9 shows character strings stored in a storage device, and FIG. 10 shows character strings input to the document processing system. FIG. A storage device capable of storing data, Figure 11 is a diagram showing a method of storing arbitrary length data, and Figures 12 to 13 are diagrams showing the state inside the storage device when writing arbitrary length data. be. DESCRIPTION OF SYMBOLS 1... Processor, 2... Storage device, 3... Data bus, 4... Data size bus, 120... Internal data bus, 121... Internal data size bus, 10
1...Instruction execution control unit. Tonzu zu zu shu Otsu・i, Tunji (obzi zu zu ≠ zuoori zu 1 self, tun hair J'fL 1tzt, i Takuzu and r force zu circulation country (anchor) leaf zu

Claims (1)

【特許請求の範囲】 1、記憶番地空間を持つ記憶装置を有する計算機システ
ムにおいて、上記記憶装置内の一つの番地に可変長デー
タを記憶可能とする記憶手段と、上記可変長データを読
み書きするアクセス手段を設けたことを特徴とする計算
機システム。 2、記憶番地空間を持つ記憶装置と、上記記憶装置に記
憶された内容を読み込んで処理を行う処理装置を有する
計算機システムにおいて、上記処理装置並びに上記記憶
装置内の一つの番地に、可変長データを記憶可能とする
記憶手段と、上記可変長データを読み書きするアクセス
手段を設けたことを特徴とする計算機システム。 3、上記処理装置内に、上記記憶装置に記憶された可変
長データを一命令語として解釈し、実行する命令実行制
御手段を設けたことを特徴とする特許請求の範囲第2項
記載の計算機システム。 4、上記記憶手段として、上記記憶装置内の一つの番地
を、データを保持するデータフィールドと該データのデ
ータ長を保持するサイズフィールドにより構成すること
で、一つの番地に可変長データを記憶可能としたことを
特徴とする特許請求の範囲第1項、第2項、第3項のい
ずれか一つの記載の計算機システム。 5、上記記憶手段として、上記可変長データの最大サイ
ズを設定し、上記記憶装置のすべての番地に最大サイズ
のメモリを割当てることにより、上記可変長データの記
憶を可能としたことを特徴とする特許請求の範囲第1項
、第2項、第3項、第4項のいずれか一つの記載の計算
機システム。 6、上記記憶手段として、上記データフィールドと上記
サイズフィールドに加えて、リンクフィールドを設け、
該リンクフィールドによつて任意個のデータをつなげる
ことにより、可変長のデータを記憶可能としたことを特
徴とする特許請求の範囲第4項記載の計算機システム。 7、上記処理装置内に、上記記憶装置に記憶された内容
をデータとして読み込み、サイズデータに応じて演算を
行う演算装置を設けたことを特徴とする特許請求の範囲
第6項記載の計算機システム。 8、上記アクセス手段として、上記サイズフィールドに
上記可変長データのデータ長を書き込むことにより、上
記データ長を設定または変更可能としたことを特徴とす
る特許請求の範囲第6項記載の計算機システム。 9、上記処理装置が解釈実行する命令語として、上記デ
ータサイズを設定する専用の命令を設けたことを特徴と
する特許請求の範囲第8項記載の計算機システム。 10、上記アクセス手段として上記記憶装置内の一つの
番地において、上記サイズフィールドを、上記可変長デ
ータが記憶されていないことを示す値に初期化する機能
を設け、上記可変長データを書き込まずに読み出したこ
とを検出可能とした、未設定データ読み出し検出回路を
設けたことを特徴とする特許請求の範囲第9項記載の計
算機システム。 11、上記アクセス手段として、上記記憶装置内の一つ
の番地に上記可変長データを書き込む際、すでに該番地
にデータが格納されていた場合、サイズの異なる可変長
データを書き込まれることを検出するサイズ不一致検出
回路を設けたことを特徴とする特許請求の範囲第9項記
載の計算機システム。 12、上記処理装置が解釈実行する命令語として、上記
未設定データ読み出し検出回路と上記サイズ不一致検出
回路の動作する上記記憶装置の番地を指定する命令を設
けたことを特徴とする特許請求の範囲第11項記載の計
算機システム。 13、上記記憶装置において、一つの番地に記憶されて
いる上記可変長データのデータ長を認識する認識手段を
設け、上記処理装置が解釈実行する命令語として、上記
データ長を上記番地のデータとして読み出す命令を設け
たことを特徴とする特許請求の範囲第7項記載の計算機
システム。 14、上記記憶装置において、連続した上記番地の上記
可変長データを連結して一つの番地に格納する圧縮手段
を設け、上記処理装置が解釈実行する命令語として、上
記圧縮手段を実行する専用の命令を設けたことを特徴と
する特許請求の範囲第7項記載の計算機システム。 15、上記記憶装置において、上記番地の可変長データ
を、連続した番地に分割して格納する復元手段を設け、
上記処理装置が解釈実行する命令語として、上記復元手
段を実行する専用の命令を設けたことを特徴とする特許
請求の範囲第7項記載の計算機システム。
[Scope of Claims] 1. In a computer system having a storage device having a storage address space, storage means capable of storing variable length data at one address in the storage device, and access for reading and writing the variable length data. A computer system characterized by providing means. 2. In a computer system having a storage device having a storage address space and a processing device that reads and processes the contents stored in the storage device, variable length data is stored in the processing device and at one address in the storage device. What is claimed is: 1. A computer system comprising: storage means capable of storing the variable-length data; and access means for reading and writing the variable-length data. 3. The computer according to claim 2, wherein the processing device is provided with an instruction execution control means for interpreting and executing variable length data stored in the storage device as one instruction word. system. 4. As the storage means, variable length data can be stored in one address by configuring one address in the storage device with a data field that holds data and a size field that holds the data length of the data. A computer system according to any one of claims 1, 2, and 3, characterized in that: 5. The storage means is characterized in that the variable length data can be stored by setting a maximum size of the variable length data and allocating the maximum size memory to all addresses of the storage device. A computer system according to any one of claims 1, 2, 3, and 4. 6. As the storage means, a link field is provided in addition to the data field and the size field,
5. The computer system according to claim 4, wherein variable length data can be stored by connecting arbitrary pieces of data using the link field. 7. The computer system according to claim 6, characterized in that the processing device is provided with an arithmetic device that reads the contents stored in the storage device as data and performs calculations according to size data. . 8. The computer system according to claim 6, wherein the access means is capable of setting or changing the data length of the variable length data by writing the data length of the variable length data in the size field. 9. The computer system according to claim 8, wherein a dedicated instruction for setting the data size is provided as a command word interpreted and executed by the processing device. 10. As the access means, a function is provided to initialize the size field at one address in the storage device to a value indicating that the variable length data is not stored, so that the variable length data is not written. 10. The computer system according to claim 9, further comprising an unset data read detection circuit capable of detecting readout. 11. As the access means, when writing the variable length data to one address in the storage device, if data is already stored at that address, a size that detects that variable length data of a different size is written. 10. The computer system according to claim 9, further comprising a mismatch detection circuit. 12. Claims characterized in that the instruction word interpreted and executed by the processing device is provided with an instruction specifying an address of the storage device where the unset data reading detection circuit and the size mismatch detection circuit operate. The computer system according to item 11. 13. In the storage device, a recognition means is provided to recognize the data length of the variable length data stored at one address, and the processing device interprets and executes the data length as the data at the address. 8. The computer system according to claim 7, further comprising a read instruction. 14. In the storage device, a compression means is provided for concatenating the variable length data of the consecutive addresses and storing it in one address, and a command word that is interpreted and executed by the processing device is a compression means dedicated to executing the compression means. 8. The computer system according to claim 7, further comprising an instruction. 15. In the storage device, a restoring means is provided for dividing and storing the variable length data at the address into consecutive addresses;
8. The computer system according to claim 7, wherein a dedicated instruction for executing the restoring means is provided as the instruction word interpreted and executed by the processing device.
JP2390789A 1989-02-03 1989-02-03 Computer system Pending JPH02204833A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2390789A JPH02204833A (en) 1989-02-03 1989-02-03 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2390789A JPH02204833A (en) 1989-02-03 1989-02-03 Computer system

Publications (1)

Publication Number Publication Date
JPH02204833A true JPH02204833A (en) 1990-08-14

Family

ID=12123547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2390789A Pending JPH02204833A (en) 1989-02-03 1989-02-03 Computer system

Country Status (1)

Country Link
JP (1) JPH02204833A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020450A (en) * 2008-07-09 2010-01-28 Seiko Epson Corp Signal processing processor and semiconductor device
JP2010020449A (en) * 2008-07-09 2010-01-28 Seiko Epson Corp Signal processing processor and semiconductor device
JP2010165245A (en) * 2009-01-16 2010-07-29 Fujitsu Ltd Processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020450A (en) * 2008-07-09 2010-01-28 Seiko Epson Corp Signal processing processor and semiconductor device
JP2010020449A (en) * 2008-07-09 2010-01-28 Seiko Epson Corp Signal processing processor and semiconductor device
JP2010165245A (en) * 2009-01-16 2010-07-29 Fujitsu Ltd Processor

Similar Documents

Publication Publication Date Title
KR100266337B1 (en) Data processing circuit, semiconductor integrated circuit device, microcomputer, and electronic equipment
KR100323191B1 (en) Data processing device with multiple instruction sets
US7979676B2 (en) Method for instructing a data processor to process data
KR940009094B1 (en) Data processing system
US5132898A (en) System for processing data having different formats
EP0671685A2 (en) Method and apparatus for detecting and executing cross-domain calls in a computer system
EP0415366A2 (en) Microprocessor having predecoder unit and main decoder unit operating in pipeline processing manner
US20010010072A1 (en) Instruction translator translating non-native instructions for a processor into native instructions therefor, instruction memory with such translator, and data processing apparatus using them
JP3203401B2 (en) Data processing device
US5682531A (en) Central processing unit
JPH06332792A (en) Data processor, data reading control circuit thereof and data writing control circuit
JPH02173823A (en) Data processor
US4933847A (en) Microcode branch based upon operand length and alignment
US4223381A (en) Lookahead memory address control system
US4347566A (en) Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
JPH01119828A (en) Microprocessor
US6499099B1 (en) Central processing unit method and apparatus for extending general instructions with extension data of an extension register
JPH0546383A (en) Data processor
JPH07239780A (en) One-clock variable length instruction execution process type instruction read computer
US20030046516A1 (en) Method and apparatus for extending instructions with extension data of an extension register
JPH02204833A (en) Computer system
JPH03141434A (en) Microcomputer
JP3504355B2 (en) Processor
US5187782A (en) Data processing system
JP2637770B2 (en) Microcomputer