JPS63263526A - Information processing system - Google Patents

Information processing system

Info

Publication number
JPS63263526A
JPS63263526A JP62097306A JP9730687A JPS63263526A JP S63263526 A JPS63263526 A JP S63263526A JP 62097306 A JP62097306 A JP 62097306A JP 9730687 A JP9730687 A JP 9730687A JP S63263526 A JPS63263526 A JP S63263526A
Authority
JP
Japan
Prior art keywords
register
instruction
group
length
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
JP62097306A
Other languages
Japanese (ja)
Inventor
Kotaro Hosokawa
細川 好太郎
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 JP62097306A priority Critical patent/JPS63263526A/en
Publication of JPS63263526A publication Critical patent/JPS63263526A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To improve the program efficiency by using at least one register of a register group as the register which can be accessed with a variable bit width, which is not restricted by the word length, as a unit. CONSTITUTION:A variable length register 3 having a longer bit length is provided besides a register group 2 which can be used in the conventional manner, and an instruction group which accesses the variable length register 3 is set. This instruction group includes an instruction LOADV which transfers data from the variable length register 3 to a conventional register, an instruction STOREV which transfers data from a conventional register to the variable length register 3, an instruction MOVEV which transfers data between a memory and the variable length register 3, instructions ADDV, SUBV, ANDV, and ORV which perform the arithmetic processing between the variable length register 3 and the conventional register group 2, etc. Since the variable length register 3 and the instruction group which accesses this register are provided, the change of software which uses conventional register group 2 and instruction group is not necessary and the compatibility with a conventional computer is kept.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は可変長にアクセスできるレジスタを搭載し、該
レジスタに対するビット単位の処理を行う命令を有する
計算機システムに係り、特に小ビット数や大ビット数の
データの計算に好適な計算機システムに関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a computer system equipped with a variable-length register and an instruction for performing bit-by-bit processing on the register. The present invention relates to a computer system suitable for calculating bit-number data.

〔従来の技術〕[Conventional technology]

従来、ビット単位のデータを操作することの出来る計算
機アーキテクチャについては、MC68020ユーザー
ズ・マニュアル(1986年)などにおいて論じられて
いる。このようなアーキテクチャは語単位以下のビット
長のデータに対しては、任意のビット数の操作が行える
が、語単位以上のビット数のデータ、例えば百ビットや
二百ピットのデータ等は、そのままでは扱う事が出来ず
、バイト単位や語単位に切り分けて操作を行うので、効
率の低下を招いていた。
Conventionally, computer architectures capable of manipulating data in bit units have been discussed in the MC68020 User's Manual (1986) and the like. Such an architecture can perform arbitrary bit operations on data with a bit length of less than a word unit, but data with a bit length of more than a word unit, such as data of 100 bits or 200 pits, can be manipulated as is. However, the operation is performed by dividing it into bytes or words, which leads to a decrease in efficiency.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術は、演算を行うデータを、ある固定長のレ
ジスタ上で操作する事を前提としており、従ってデータ
をメモリからレジスタ上に移すLOAD命令などは、レ
ジスタ全体の長さや、その半分のビット長のデータ、を
メモリから切り出して来るような操作である。しかし扱
うデータが百ビットや二百ビットのような長いデータの
場合は、固定長のレジスタには乗らないと言う点につい
ては配慮されておらず、実行効率の低下を招くことに問
題があった。
The above conventional technology assumes that the data to be operated on is operated on a register with a fixed length. Therefore, the LOAD instruction, etc. that moves data from memory to a register, requires the entire length of the register or half of it in bits. This operation is like extracting long data from memory. However, if the data to be handled is long, such as 100 or 200 bits, no consideration was given to the fact that it would not be stored in fixed-length registers, resulting in a problem with lower execution efficiency. .

本発明の目的は従来の計算機アーキテクチャの基本的な
部分は変えずに、従来のソフトウェアとの互換性を保ち
ながら、ビット単位に可変長のレジスタを設け、そのレ
ジスタに対する命令群によって、小ビット数や大ビット
数のデータを、実行効率を損なうことなく、演算に使用
できる可変長レジスタ計算機を提供することにある。
The purpose of the present invention is to provide a variable-length register for each bit while maintaining compatibility with conventional software without changing the basic part of the conventional computer architecture, and to use a group of instructions for the register to control the number of small bits. To provide a variable-length register computer that can use data with a large number of bits for calculations without impairing execution efficiency.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的は、従来の使い方のできるレジスタ群の他に、
ビット長の大きい可変長レジスタを設け。
In addition to the conventional registers that can be used, the above purpose is to
A variable length register with a large bit length is provided.

その可変長レジスタをアクセスする命令群を設定するこ
とにより、達成される。該可変長レジスタの長さは、従
来レジスタ複数個分であり、各々のビット位置が、アド
レス可能であるとする。該可変長レジスタをアクセスす
る命令群は、従来の命令群の他に新設する。そのような
命令群は、該可□ 変長レジスタから従来レジスタヘデータを移すLOAD
V 、その反対の動作を行う5TOREV、メモリと該
可変長レジスタとの間でデータを移すMOVEV、該可
変長レジスタと従来レジスタとの間で演算処理を行うA
DDV、5UBV、ANDV、ORV等の命令を含む。
This is achieved by setting a group of instructions that access the variable length register. It is assumed that the length of the variable length register is the length of a plurality of conventional registers, and each bit position is addressable. A new set of instructions for accessing the variable-length register is provided in addition to the conventional set of instructions. Such instructions include LOAD, which moves data from variable-length registers to conventional registers.
V, 5TOREV which performs the opposite operation, MOVEV which moves data between the memory and the variable length register, A which performs arithmetic processing between the variable length register and the conventional register.
Includes instructions such as DDV, 5UBV, ANDV, ORV.

該可変長レジスタと、それをアクセスする命令群を、従
来のレジスタ群と命令群の他に新設することにより、従
来レジスタ群と命令群を使用するソフトウェアは変更を
必要とせず、従来計算機との互換性を保つことができる
。なお、該可変動レジスタをアクセスする命令は、以降
RV命令と呼ぶ。
By newly creating the variable-length register and the instruction group that accesses it in addition to the conventional register group and instruction group, software that uses the conventional register group and instruction group does not need to be changed and is compatible with conventional computers. Compatibility can be maintained. Note that the instruction to access the variable register will be referred to as an RV instruction hereinafter.

〔作用〕[Effect]

RV全命令可変長レジスタをアクセスするが、その一つ
であるLOADV命令は、第1オペランドとして従来レ
ジスタを、第2オペランドとして可変長レジスタ上のビ
ット位置を、第3オペランドとしてデータの長さを指定
する。命令が実行されると、可変長レジスタの第2オペ
ランドが指すビット位置から、第3オペランドで指定さ
れた長さのビット数だけ、データを第1オペランドが指
すレジスタに移すように動作する。それによって、指定
されたビット数が、第1オペランドのレジスタより長い
場合は、オーバーフロ一部分は第1オペランドが指すレ
ジスタの次のレジスタに移され。
All RV instructions access variable-length registers, and one of them, the LOADV instruction, uses the conventional register as the first operand, the bit position on the variable-length register as the second operand, and the length of the data as the third operand. specify. When the instruction is executed, it operates to move data from the bit position pointed to by the second operand of the variable-length register to the register pointed to by the first operand by the number of bits of the length specified by the third operand. Thereby, if the specified number of bits is longer than the register of the first operand, the overflow portion is moved to the register following the register pointed to by the first operand.

そのレジスタがオーバーフローした場合は、その次のレ
ジスタに、という具合に移され、最終レジスタがオーバ
ーフローした場合には、先頭レジスタに移されるように
なるので、第3オペランドのビット長が長すぎることに
よる誤動作は、起らなt嘱。
If that register overflows, it will be moved to the next register, and so on, and if the last register overflows, it will be moved to the first register. Malfunctions are unlikely to occur.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面を参照して詳細に説明す
る。第1図は本発明の一実施例の基本的構成を示す図で
あり、1は演算ユニット、2はレジスタ群、3は可変長
レジスタ、4は演算結果を一旦退避しておくためのデー
タレジスタ、5,6゜7は演算ユニットへの入出力を制
御するゲートスイッチ、8は主記憶装置である。2のレ
ジスタ群には0,1,2.・・・と語単位の番地づけが
なされており、8の主記憶装置には0,1,2.・・・
とバイト単位の番地づけがなされている。従来は演算ユ
ニットへの入出力は、2のレジスタ群のみであつたが1
本発明では、3の可変長レジスタも演算ユニットへの入
出力の対象とし、どちらが入力元。
Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing the basic configuration of an embodiment of the present invention, in which 1 is an arithmetic unit, 2 is a register group, 3 is a variable length register, and 4 is a data register for temporarily saving arithmetic results. , 5, 6.7 are gate switches for controlling input/output to the arithmetic unit, and 8 is a main storage device. The second register group has 0, 1, 2, . ..., and the 8 main memories are numbered 0, 1, 2, . ...
Addressing is done in byte units. Previously, input/output to the arithmetic unit was through only 2 register groups, but now 1
In the present invention, the three variable-length registers are also subject to input/output to the arithmetic unit, and which one is the input source.

あるいは出力光として選ばれるかは、5,6.7のゲー
トスイッチが制御する。ゲートスイッチは。
Alternatively, gate switches 5 and 6.7 control whether the light is selected as output light. The gate switch.

従来は2のレジスタ群の内より1つのレジスタを選別し
ていたが、本実施例では、そのほかに3の可変長レジス
タも選別の対象′となる。
Conventionally, one register was selected from two register groups, but in this embodiment, three variable-length registers are also selected.

第2図はRV全命令形式を示す図であり、9はRV全命
令例である。本実施例では、RV全命令長さは32ビツ
トであり、その内0〜7ビツトはLOADV 、5TO
RHVなど命令の種類を識別する命令コード、8〜11
ビツトはデータの長さく以下りとして表す)、12〜1
5ビツトは第1オペランドとなるレジスタ番地(以下R
1として表す)。
FIG. 2 is a diagram showing the RV all command format, and 9 is an example of the RV all command. In this embodiment, the total RV instruction length is 32 bits, of which 0 to 7 bits are LOADV, 5TO
Instruction code that identifies the type of instruction such as RHV, 8 to 11
bit is the length of the data, expressed as below), 12 to 1
The 5 bits are the register address (hereinafter referred to as R) that is the first operand.
(represented as 1).

16〜19ビツトは第2オペランドとなる可変長レジス
タ上のビット位置を指すレジスタ番地(以下BSとして
表す)、そして20〜31ビツトは第2オペランドをア
クセスするための82からの変位の値である(以下D2
として表す)、R1は16個のレジスタの内の1つであ
るレジスタを指し、データの始まる可変長レジスタ上の
ビット位置は、B2が指すレジスタの内容にB2の変位
を加えた値によって指定される。 LOADV命令の場
合は、B2の内容+D2で示される可変長レジスタ上の
ビット位置から、Lで示されるビット数だけ、R1で示
されるレジスタにデータを転送することを意味する。 
5TOREVは、可変長レジスタ上の、B2の内容+D
2のビット位置へ、Riで示されるレジスタから、Lピ
ット分だけ、データを転送することを意味する。また、
演算命令は、ADDVを例に取って見ると、R1で示さ
れるレジスタの内容と、B2の内容+Daの可変長レジ
スタ上のビット位置からLビットで示される値を加算し
、その結果をR1に格納する、という処理を行う。
The 16th to 19th bits are the register address (hereinafter referred to as BS) that points to the bit position on the variable length register that becomes the second operand, and the 20th to 31st bits are the displacement value from 82 to access the second operand. (hereinafter D2
), R1 refers to a register that is one of the 16 registers, and the bit position on the variable-length register where the data begins is specified by the value of the contents of the register pointed to by B2 plus the displacement of B2. Ru. In the case of the LOADV instruction, it means to transfer data from the bit position on the variable length register indicated by the content of B2+D2 to the register indicated by R1 by the number of bits indicated by L.
5TOREV is the contents of B2 on the variable length register +D
This means that data for L pits is transferred from the register indicated by Ri to the bit position No. 2. Also,
Taking ADDV as an example, the operation instruction adds the contents of the register indicated by R1 and the value indicated by the L bit from the bit position on the variable length register of B2 contents + Da, and stores the result in R1. Performs the process of storing.

以上の装置は少くも演算ユニット1とレジスタ群2を同
一の半導体チップ上に構成することによ)      
 リ、量産性、従来システムとの互換性に秀れたチップ
を提供することが出来る。
The above device is constructed by configuring at least the arithmetic unit 1 and the register group 2 on the same semiconductor chip)
It is possible to provide chips with excellent productivity, mass productivity, and compatibility with conventional systems.

次に本発明による処理の流れを第3図のフローチャート
を用いて説明する。上記の命令語が“LOADV Ri
、D、Rj、L”と表される場合、Riは第1オペラン
ドであるi番目の従来レジスタを表し、RjとDは第2
オペランドで、従来レジスタRjの内容のDの値の和に
よって可変長レジスタ上のビット位置を表し、Lは転送
するビット数である。又、従来レジスタのピット長をC
とし、nとkという一時的変数を設けたとする。処理の
流れは第3図に示したように、まずRjの内容とDを加
算して可変長レジスタ上のビット位置を求め、nとする
0次に第1オペランドは何番目のレジスタであるかを求
め、にとする0次に可変長レジスタ上のビット位gnか
らRkレジスタへLビット転送を行う0次に転送ビット
長りがレジスタピット長Cより大きいか調べ、そうでな
ければ処理を終了する。LがCより大きければ全てのデ
ータを転送し終っていないので、LからCを減算した値
を新しいLとし、nにCを加算した値を新しいnとし、
kに1を加算した値を新しいkとして、転送処理を繰り
返し、LがCより小さいか同じになったら処理を終了す
る。
Next, the flow of processing according to the present invention will be explained using the flowchart shown in FIG. The above instruction word is “LOADV Ri
, D, Rj, L'', Ri represents the i-th conventional register, which is the first operand, and Rj and D represent the i-th conventional register, which is the first operand.
In the operand, the bit position on the variable length register is represented by the sum of the values of D of the contents of the conventional register Rj, and L is the number of bits to be transferred. Also, the pit length of the conventional register is C
Suppose we set temporary variables n and k. As shown in Figure 3, the process flow is as follows: First, add the contents of Rj and D to find the bit position in the variable-length register, then set n to 0. What register is the first operand? 0 Next, transfer L bits from bit position gn on the variable length register to the Rk register. 0 Next, check whether the transfer bit length is greater than the register pit length C, and if not, end the process. do. If L is larger than C, all data has not been transferred, so the value obtained by subtracting C from L is set as new L, the value obtained by adding C to n is set as new n, and
The transfer process is repeated using the value obtained by adding 1 to k as a new k, and when L becomes smaller than or equal to C, the process ends.

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

本発明によれば、従来は極めて困難であった大ビット数
や小ビット数のデータの操作が、可変長レジスタと、そ
れをアクセスする命令群を設定することによって、従来
のアーキテクチャの基本的部分を変更することなく、従
来のソフトウェアとの互換性を保ちながら、容易に行う
ことができるので、従来はメモリに一旦退避したり、シ
フト命令を使用したりしていた、大ビット数や小ビット
数の演算が、少い命令の手数で済み、プログラムの効率
を高める効果がある。
According to the present invention, the manipulation of data with a large number of bits or a small number of bits, which was extremely difficult in the past, is now possible using a basic part of the conventional architecture by setting variable-length registers and a group of instructions to access them. This can be easily done without changing the data and while maintaining compatibility with conventional software. Numerical operations require fewer instructions, which has the effect of increasing program efficiency.

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

第1図は本発明の基本的構成を示す図、第2図は本発明
RV命令の形式を示す図、第3図はLOADV命令にお
ける処理の流れを示すフローチャートである。 1・・・演算ユニット、2・・・レジスタ群、3・・・
可変長レジスタ、4・・・データレジスタ、5,6.7
・・・ゲートスイッチ、8・・・主記憶装置、9・・・
RV命令形式。 Y1図
FIG. 1 is a diagram showing the basic configuration of the present invention, FIG. 2 is a diagram showing the format of the RV instruction of the present invention, and FIG. 3 is a flowchart showing the flow of processing in the LOADV instruction. 1... Arithmetic unit, 2... Register group, 3...
Variable length register, 4...Data register, 5, 6.7
...Gate switch, 8...Main storage device, 9...
RV command format. Y1 diagram

Claims (1)

【特許請求の範囲】 1、主記憶装置とレジスタ群と、演算手段を有する情報
処理装置において、該レジスタ群の中の少くも1つのレ
ジスタを語長に制約されない可変長なビット幅を単位と
してアクセスできるレジスタとすることを特徴とする情
報処理方式。 2、レジスタ群と演算手段を同一の半導体チップに納め
たことを特徴とする、特許請求の範囲第1項記載の情報
処理方式。
[Claims] 1. In an information processing device having a main memory device, a register group, and an arithmetic means, at least one register in the register group is set in units of a variable bit width that is not restricted by word length. An information processing method characterized by using accessible registers. 2. The information processing system according to claim 1, characterized in that the register group and the calculation means are housed in the same semiconductor chip.
JP62097306A 1987-04-22 1987-04-22 Information processing system Pending JPS63263526A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62097306A JPS63263526A (en) 1987-04-22 1987-04-22 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62097306A JPS63263526A (en) 1987-04-22 1987-04-22 Information processing system

Publications (1)

Publication Number Publication Date
JPS63263526A true JPS63263526A (en) 1988-10-31

Family

ID=14188805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62097306A Pending JPS63263526A (en) 1987-04-22 1987-04-22 Information processing system

Country Status (1)

Country Link
JP (1) JPS63263526A (en)

Similar Documents

Publication Publication Date Title
EP0170284B1 (en) Microcomputer
CN101313290B (en) Performing an N-bit write access to an MxN-bit-only peripheral
JPS623461B2 (en)
JP2690406B2 (en) Processor and data processing system
JPS63263526A (en) Information processing system
JPS6055911B2 (en) main storage
JPH03108040A (en) Data storage device with improved same data repeated write mechanism
JPH0588887A (en) Data processor
JPS635432A (en) Microprocessor
JPH038016A (en) Latch data bit operating circuit
JPS59106047A (en) Microcomputer
JPH0470987A (en) Parallel data processing system
JP2895892B2 (en) Data processing device
JPS60153568A (en) High speed picture processor
JPH0477930A (en) Microcomputer
JPS61112270A (en) Byte converter
JPS6180331A (en) Variable length data processor
JPS6129940A (en) Arithmetic unit
JPS617934A (en) General purpose bit operating system
JPS61150036A (en) Central processing unit
Kimmel PRIME—a processor design for character recognition
JPS6329295B2 (en)
JPH04338802A (en) High speed instruction processing system
JPH0399321A (en) Instruction control system
JPS62209639A (en) Memory modification writing circuit