JPH02103630A - Data processor - Google Patents

Data processor

Info

Publication number
JPH02103630A
JPH02103630A JP63256845A JP25684588A JPH02103630A JP H02103630 A JPH02103630 A JP H02103630A JP 63256845 A JP63256845 A JP 63256845A JP 25684588 A JP25684588 A JP 25684588A JP H02103630 A JPH02103630 A JP H02103630A
Authority
JP
Japan
Prior art keywords
register
registers
instruction
group
store
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.)
Granted
Application number
JP63256845A
Other languages
Japanese (ja)
Other versions
JPH0748179B2 (en
Inventor
Akihisa Makita
牧田 明久
Tomohiko Endo
友彦 遠藤
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.)
NEC Corp
NEC Computertechno Ltd
Original Assignee
NEC Corp
NEC Computertechno 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 NEC Corp, NEC Computertechno Ltd filed Critical NEC Corp
Priority to JP63256845A priority Critical patent/JPH0748179B2/en
Priority to FR8913353A priority patent/FR2637708B1/en
Publication of JPH02103630A publication Critical patent/JPH02103630A/en
Publication of JPH0748179B2 publication Critical patent/JPH0748179B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Abstract

PURPOSE:To speed up a data processing designating plural registers with one instruction to a register group composed of plural kinds of plural general purpose registers, address registers, etc., each of which is composed of plural registers and processing instructions for storing data in a main memory device. CONSTITUTION:This data processor is constituted of an instruction control section 1, main memory device (memory) 2, alignment circuits 5 and 9, registers 6-8, 11, 12, 15...30, 39, and 40, operation register 10, selector 13, ALU (arithmetic logic unit) 14, store mask decoder 35, and adders 31...34, 36, and 38. Then plural registers of the register group composed of general purpose registers, address registers, etc., each of which is composed of plural registers are designated by one instruction and instructions for storing data in the memory 2 are performed. Therefore, processing speeds of arithmetic operations of various data sizes can be improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は汎用レジスタ、アドレスレジスタなど複数押類
の各々が複数個からなるレジスタ群に対して1命令で複
数個のレジスタを指定して主記憶装置へストアする命令
を処理するデータ処理装置に係り、特に一連の番号を付
けられメモリへストアされたとき同一のデータ幅を占め
る複数個のレジスタから構成される第1のレジスタ群と
第2のレジスタ群を有し、上記メモリへのデータのスト
アを個々のレジスタの複数個分のデータ幅で行い得るデ
ータ処理装置に関するものである。
[Detailed Description of the Invention] [Industrial Application Field] The present invention is a system in which multiple registers such as general-purpose registers and address registers each specify a plurality of registers with one instruction for a register group consisting of a plurality of registers. It relates to a data processing device that processes instructions to be stored in a storage device, and in particular, a first register group and a second register group consisting of a plurality of registers that are serially numbered and occupy the same data width when stored in the memory. The present invention relates to a data processing device having a group of registers, and capable of storing data in the memory with a data width corresponding to a plurality of individual registers.

〔従来の技術〕[Conventional technology]

この種のデータ処理装置では、ペースレジスタ(Baa
s Rsglatsr)と呼ばれる主に主記憶装置上の
命令語や命令で使用するデータを指定するためのアドレ
ス情報を格納するレジスタや汎用レジスタ(Gensr
al Registor)  と呼ばれる主に演算デー
タやペースレジスタとともに使用されるインデクス(I
ndex)情報を格納するレジスタが複数個ずつ用意さ
れており、プログラムから自由に使用できるようになっ
ている。
In this type of data processing device, the pace register (Baa
A register called a general-purpose register (GensR) and a register that stores address information for specifying instruction words and data used in instructions on the main memory.
An index (I) that is mainly used with calculation data and pace register
A plurality of registers are prepared to store (ndex) information, and can be used freely by the program.

そして、ペースレジスタや汎用レジスタは各々連続した
互いに独立な番号が付けられ、この番号を指定すること
でプログラムから簡単に使用できるようになっているが
その数に限ジがあるためサブルーチンプログラム等で作
業用レジスタを必要とする場合メインプログラム側で使
用していたレジスタを一時退避しメインプログラムに戻
るときに回復する必要がある。
The pace registers and general-purpose registers are each assigned consecutive and independent numbers, and by specifying these numbers they can be easily used from a program, but because there is a limit to their number, they cannot be used in subroutine programs, etc. If a working register is required, the register used by the main program must be temporarily saved and restored when returning to the main program.

このときに使用される命令にロードマルチプル(Loa
d Multipls)命令(以下、5M命令と呼称す
る)やストアマにチプル(Stors Multipl
@)命令(以下、S′IM命令と呼称する)がある。そ
して、このI、M命令および87M命令は5M命令、 
5Tyi命令の命令語形式を示す図である第4図に示す
ような命令形式をしており、5M命令あるいは87M命
令であることを示すオペコード部OP、LM命令のとき
はレジスタにロードするデータが格納されている主記憶
装置上のアドレスを示し87M命令のときはレジスタの
内容をストアすべき主記憶装置上のアドレスを示すAD
Hフィールド、ロードあるいはストアするペースレジス
タ、汎用レジスタの個数を示すNb 、 Ng フィー
ルド、Iニードあるいはストアするペースレジスタ、汎
用レジスタの先頭番号を示すBi、Gl  フィールド
を持つ。この5M命令、 s′rM命令でロードあるい
はストアされるペースレジスタはB1 で示される番号
から連続する番号を持つNb個であり、同じく汎用レジ
スタはciで示さnる番号から連続する番号を持つNg
個である。
The instruction used at this time is the load multiple (Loa).
d Multiples instruction (hereinafter referred to as 5M instruction)
@) command (hereinafter referred to as S'IM command). And these I, M instructions and 87M instructions are 5M instructions,
The instruction format is as shown in Figure 4, which is a diagram showing the instruction word format of the 5Tyi instruction, and the operation code section OP indicates that it is a 5M instruction or an 87M instruction, and in the case of an LM instruction, the data to be loaded into the register is AD indicates the address on the main memory where it is stored, and in the case of an 87M instruction, indicates the address on the main memory where the contents of the register should be stored.
It has an H field, a pace register to load or store, Nb and Ng fields indicating the number of general-purpose registers, a pace register to need or store, and Bi and Gl fields indicating the first number of general-purpose registers. The pace registers loaded or stored by the 5M instruction and the s'rM instruction are Nb with consecutive numbers starting from the number indicated by B1, and similarly, the general-purpose registers are Ng with consecutive numbers starting from the number indicated by ci.
It is individual.

そして、メインプログラムからサブルーチンプログラム
が呼ばれるとき、メインプログラムで使用していたペー
スレジスタおよび汎用レジスタの内容は87M命令によ
って主記憶装置へ退避され以降サブルーチンプログラム
ではこれらのペースレジスタおよび汎用レジスタを自由
に使用できるようになる。サブルーチンプログラムでの
処理が終わり呼び出し元のメインプログラムへ戻るとき
87M命令によって主記憶装置へ退避されていたペース
レジスタ・汎用レジスタは、LM命令/CLってサブル
ーチンプログラムを呼ぶ前の状態に回復されメインプロ
グラムの処理が続けられる。
When a subroutine program is called from the main program, the contents of the pace register and general-purpose register used by the main program are saved to the main memory by the 87M instruction, and the subroutine program can then freely use these pace registers and general-purpose registers. become able to. When the subroutine program finishes processing and returns to the calling main program, the pace register and general-purpose registers that were saved to the main memory by the 87M instruction are restored to the state they were in before the subroutine program was called by the LM instruction/CL. Program processing continues.

〔発明が解決しようとする課題〕 5M命令および87M命令の特長は、複数のレジスタを
退避・回復するときに通常のロード命令・ストア命令の
ようにレジスタ1個スツニ命令1個ずつを記述する必要
がなくプログラムが簡単になることであるが、実際にロ
ードあるいはストアされるレジスタが命令語中に1つず
つdピ述されているわけではないので、データ処理装置
の制御回路が先頭のレジスタ番号Bl、Gi  とレジ
スタの個数Nb 、 Ngから各々のレジスタ番号を生
成しレジスタの読出し・書込みを制御しなければならな
い。
[Problems to be Solved by the Invention] A feature of the 5M and 87M instructions is that when saving and restoring multiple registers, it is not necessary to write one register and one load instruction each, like normal load and store instructions. However, since the registers to be actually loaded or stored are not described one by one in the instruction word, the control circuit of the data processing device can easily read the first register number. Each register number must be generated from Bl, Gi and the number of registers Nb, Ng to control reading and writing of the registers.

一般に、高速の汎用のデータ処理装舒では、種々のデー
タサイズの演算処理を高速化するために、主記憶装置と
の間の読出しおよび書込みのデータ幅をなるべく広くと
り効率を上げようとしており、通常このデータ幅はペー
スレジスタおよび汎用レジスタのデータ幅の2倍あるい
はそれ以上にとられていることが多いが、LM命令、 
87M命令では上述したロード・ストアのレジスタ番号
の制御の複雑さ故に、この主記憶装置とデータ処理装置
との間のデータバスを有効に利用できていなかった。
Generally, in high-speed general-purpose data processing equipment, in order to speed up arithmetic processing of various data sizes, the data width for reading and writing to and from the main memory is made as wide as possible to increase efficiency. Normally, this data width is often twice or more than that of the pace register and general-purpose register, but the LM instruction,
In the 87M instruction, the data bus between the main storage device and the data processing device cannot be used effectively due to the complexity of controlling the load/store register numbers mentioned above.

さらに、従来のこの種のデータ処理装置では、汎用レジ
スタ間の演算、例えば、汎用レジスタaと汎用レジスタ
bとを加算し汎用レジスタaへ格納というような命令が
存在し、この命令を高速化するために汎用レジスタを2
個同時に読出すことができるようになっているが、この
機能も87M命令に対して上述した理由により有効に利
用されていないという課題があった。
Furthermore, in conventional data processing devices of this type, there are instructions for operations between general-purpose registers, such as adding general-purpose registers a and general-purpose register b and storing it in general-purpose register a, and it is necessary to speed up this instruction. 2 general-purpose registers for
However, there is a problem in that this function is not effectively used for the 87M instruction for the reasons mentioned above.

〔課題を解決する次めの手段〕[Next means to solve the problem]

本発明のデータ処理装置は、一連の番号を付けられメモ
リへストアされたとき同一のデータ幅を占める複数個の
レジスタから構成される第1のレジスタ群と第2のレジ
スタ群を有し、上記メモリへのデータのストアを個々の
レジスタの複数個分のデータ幅で行い得るデータ処理装
置で、上記第1のレジスタ群の任意の番号のレジスタか
ら任意の個数のレジスタと上記第2のレジスタ群の任意
の番号のレジスタから任意の個数のレジスタを上記メモ
リへストアする命令の実行において、命令で指定された
メモリへストアする第1のレジスタ群のレジスタの個数
がセットされそのメモリへのストアのデータ幅のレジス
タのデータ幅に対する倍数分だけメモリへのストア毎に
減算されるカウンタ手段と、上記第1のレジスタ群と上
記第2のレジスタ群から上記メモリへストアするため読
出すレジスタを指定するレジスタ番号を保持する上記倍
数の個数のレジスタ番号レジスタ群とを有し、上記カウ
ンタ手段の値が上記倍数より大きいか岬しい際には、命
令開始後最初のストアに対しては命令で指定された第1
のレジスタ群の先頭のレジスタ番号から連続するレジス
タ番号を上記レジスタ番号レジスタ群の各レジスタに順
にセットし。
The data processing device of the present invention has a first register group and a second register group that are composed of a plurality of registers that are serially numbered and occupy the same data width when stored in a memory, A data processing device capable of storing data in a memory with a data width corresponding to a plurality of individual registers, and comprising an arbitrary number of registers from an arbitrary number of registers in the first register group and the second register group. When executing an instruction to store an arbitrary number of registers from an arbitrary number of registers into the above memory, the number of registers in the first register group to be stored into the memory specified by the instruction is set, and the number of registers stored into the memory specified by the instruction is set. A counter means that is decremented by a multiple of the data width of the register each time it is stored in the memory, and registers to be read from the first register group and the second register group to be stored in the memory. and a group of register numbers equal to the multiple of the above for holding register numbers, and when the value of the counter means is larger than the multiple, the first store after the start of the instruction is specified by the instruction. The first
Set successive register numbers starting from the first register number of the register group in order in each register of the register group with the above register number.

命令開始後2回目以降のストアに対しては上記レジスタ
番号レジスタ群の各レジスタには各々直前の値に上記倍
数だけ加算した値をセットし、上記カウンタ手段の値が
上記倍数より小さく0以上の際には、命令開始後最初の
ストアに対しては命令で指定された第1のレジスタ群の
先頭のレジスタ番号から連続するレジスタ番号を上記レ
ジスタ番号レジスタ群の先頭のレジスタから上記カウン
タ手段の値の個数のレジスタにセットし、残りのレジス
タ番号レジスタには命令で指定された第2のレジスタ群
の先頭のレジスタ番号から連続するレジスタ番号をセッ
トし、命令開始後2回目以降のストアに対しては上記レ
ジスタ番号レジスタ群をセットし、残りのレジスタ番号
レジスタには命令で指定された第2のレジスタ群の先頭
のレジスタ番号から連続したレジスタ番号をセットし、
上記カウンタ手段の値が負のときには上記レジスタ番号
レジスタ群の各レジスタには直前の値に上記倍数だけ加
算した値をセットするように制御されるものである。
For the second and subsequent stores after the start of the instruction, a value obtained by adding the above multiple to the previous value is set in each register of the register number register group, and when the value of the counter means is smaller than the multiple and 0 or more, In this case, for the first store after the start of the instruction, consecutive register numbers from the first register number of the first register group specified by the instruction are counted from the first register of the first register group to the value of the counter means. The remaining register number registers are set to consecutive register numbers starting from the first register number of the second register group specified by the instruction, and for the second and subsequent stores after the start of the instruction. sets the above register number register group, and sets consecutive register numbers from the first register number of the second register group specified by the instruction to the remaining register number registers,
When the value of the counter means is negative, each register of the register number register group is controlled to be set to a value obtained by adding the above multiple to the previous value.

〔作 用〕[For production]

本発明においては、汎用レジスタ、アドレスレジスタな
ど複数種類の各々が複数個からなるレジスタ群に対して
1命令で複数個のレジスタを指定して主記憶装fl(メ
モリ)へストアする命令を処理する。
In the present invention, a single instruction specifies multiple registers for a group of registers each of multiple types such as general-purpose registers and address registers, and processes an instruction to store them in the main memory fl (memory). .

(実施例〕 以下、図面に基づき本発明の実施例を詳細に説明する。(Example〕 Embodiments of the present invention will be described in detail below based on the drawings.

第1図は本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

図において、1は命令制御部、2は主記憶装置(メモリ
)、5,9は整列回路J〜8,11,12゜15.16
・・・30.39.40はレジスタ、10は演算レジス
タで、この演算レジスタ1aは、1連の番号を付けられ
メモ替へストアされ念とき同一のデータ幅を占める複数
個のレジスタから構成される第1のレジスタ群と第2の
レジスタ群を内蔵している。そして、レジスタ16.1
7は第1のレジスタ群と第2のレジスタ群から主記憶装
置1(メモリ)へストアするため読出すレジスタを指定
するレジスタ番号を保持するメモリへのストアのデータ
幅のレジスタのデータ幅に対する倍数の個数のレジスタ
番号レジスタ群を形成している。
In the figure, 1 is an instruction control unit, 2 is a main storage device (memory), and 5, 9 are alignment circuits J~8, 11, 12° 15.16
...30, 39, 40 are registers, 10 is an arithmetic register, and this arithmetic register 1a is made up of a plurality of registers that are assigned a series of numbers and stored in the memo exchange, and occupy the same data width just in case. It contains a first register group and a second register group. And register 16.1
7 is a multiple of the data width of the store to memory to the data width of the register that holds the register number that specifies the register to be read from the first register group and the second register group for storing to main storage device 1 (memory). The number of register numbers forms a register group.

13はセレクタ、14はALU (Arithm@ti
c LogicUnit)、31,32.33,34,
36,37.38は加算器で、この加算器38とレジス
タ23は命令で指定されたメモリへストアする第1のレ
ジスタ群のレジスタの個数がセットされそのメモリへの
ストアのデータ幅のレジスタのデータ幅に対する倍数分
だけメモリへのストア毎に減算されるカウンタ手段を構
成している。
13 is a selector, 14 is an ALU (Arithm@ti
c LogicUnit), 31, 32. 33, 34,
36, 37, and 38 are adders, and this adder 38 and register 23 are set to the number of registers in the first register group to be stored to the memory specified by the instruction, and the number of registers of the data width to be stored to that memory is set. It constitutes a counter means that is decremented by a multiple of the data width every time it is stored in the memory.

そして、第1のレジスタ群の任意の番号のレジスタから
任意の個数のレジスタと第2のレジスタ群の任意の番号
のレジスタから任意の個数のレジスタをメモリへストア
する命令の実行において、上記カウンタ手段の値が上記
倍数より大きいか等しい際には、命令開始後最初のスト
アに対しては命令で指定された第1のレジスタ群の先頭
のレジスタ番号から連続するレジスタ番号をレジスタ番
号レジスタ群の各レジスタに唄にセットし、命令開始後
2回目以降のストアに対してはレジスタ番号レジスタ群
の各レジスタには各々直前の値に上記倍数だけ加算した
値をセットし、上記カウンタ手段の値が上記倍数より小
さく0以上の際には、命令開始後最初のストアに対して
は命令で指定された第1のレジスタ群の先頭のレジスタ
番号から連続するレジスタ番号をレジスタ番号レジスタ
群の先頭のレジスタから上記カウンタ手段の値の個数の
レジスタにセットし、残りのレジスタ番号レジスタには
命令で指定された第2のレジスタ群の先頭のレジスタ番
号から連続するレジスタ番号をセットし、命令開始後2
回目以降のストアに対してはレジスタ番号レジスタ群の
先頭から上記カウンタ手段の値の個数のレジスタには直
前の値に上記倍数だけ加算した値をセットし、残りのレ
ジスタ番号レジスタには命令で指定された第2のレジス
タ群の先頭のレジスタ番号から連続したレジスタ番号を
セットし、上記カウンタ手段の値が負のときにはレジス
タ番号レジスタ群の各レジスタには直前の値に上記倍数
だけ加算し次位をセットするように制御されるよう構成
されている。
Then, in executing an instruction to store an arbitrary number of registers from an arbitrary numbered register of the first register group and an arbitrary number of registers from an arbitrary numbered register of the second register group into the memory, the counter means When the value of is greater than or equal to the above multiple, for the first store after the start of the instruction, consecutive register numbers from the first register number of the first register group specified by the instruction are assigned to each register number register group. For the second and subsequent stores after the start of the instruction, a value obtained by adding the above multiple to the previous value is set in each register of the register number register group, and the value of the counter means is set to the above value. If it is less than a multiple and greater than or equal to 0, for the first store after the start of the instruction, consecutive register numbers from the first register number of the first register group specified by the instruction are Set the number of registers corresponding to the value of the counter means, and set consecutive register numbers from the first register number of the second register group specified by the instruction to the remaining register number registers.
For subsequent stores, a value obtained by adding the above multiple to the previous value is set in the registers corresponding to the value of the counter means from the beginning of the register number register group, and the remaining register number registers are specified by the instruction. A consecutive register number is set from the first register number of the second register group, and when the value of the counter means is negative, the above multiple is added to the previous value in each register of the register number register group, and the next register number is set. It is configured to be controlled to set.

つぎにこの第1図に示す実施例の動作を説明する。Next, the operation of the embodiment shown in FIG. 1 will be explained.

まず、命令制御部1は命令語を解読しデータ処理装置各
部へ命令実行に必要な情報と制御信号を供給する。主記
憶装置2は、データ処理装置で実行される命令や各種デ
ータが格納されるがこの第1図に示す実施例では命令制
御部1への命令供給パスは省略されている。この主記憶
装置2からはアドレスが8n〜8n+7の8バイトのデ
ータを一度に読出せるが、主記憶装置2に格納されてい
る各種オペランドは任意のアドレスに置かれるため整列
回路5によって各種データタイプ毎に処理しやすいよう
にレジスタ6の一定の位置へ整列して読出される。そし
て、読出されたデータの整列のための情報としてはオペ
ランドの先頭のアドレスの最下位3ビツトが命令制御部
1からレジスタ39とレジスタ40を経由して供給され
るため、この情報から主記憶装置2から読出された8バ
イト内のデータのどの位置にオペランドの先頭があるか
を知るこさができる。
First, the instruction control section 1 decodes the instruction word and supplies information and control signals necessary for executing the instruction to each section of the data processing device. The main memory device 2 stores instructions and various data to be executed by the data processing device, but in the embodiment shown in FIG. 1, the instruction supply path to the instruction control unit 1 is omitted. From this main memory device 2, 8 bytes of data with addresses 8n to 8n+7 can be read at a time, but since the various operands stored in the main memory device 2 are placed at arbitrary addresses, the alignment circuit 5 is used to type various data types. Each time, the data is read out while being arranged in a predetermined position in the register 6 for easy processing. Then, as information for aligning the read data, the least significant three bits of the first address of the operand are supplied from the instruction control unit 1 via registers 39 and 40. It is possible to know at which position in the 8 bytes of data read from 2 the beginning of the operand is located.

主記憶装fii2にストアされるデータもアドレス8n
〜8n+7の8バイトを基本とするので、任意のバイト
位置からデータを書込むためにストアデータはレジスタ
7およびレジスタ8にセットされた後整列回路9によっ
てデータの先頭位置を所定のバイト位置にずらしてから
ストアされる。そして、ストアデータの整列のための情
報としては読出しのときと同様に先頭アドレスの最下位
こビットを命令制御部1からレジスタ27〜30を経由
して供給される。ここで、レジスタ8の機能は8バイト
より大きなデータを連続して主記憶装e2に整列して書
込むためのバッファの役割を果しており、整列によって
はみ出しなレジスタ7のストアデータが次のマシンサイ
クルでレジスタ8から供給されストアされる態様が第5
図に示されている。第1図におけるレジスタ7.8と整
列回路9の動作説明図である 第5図において、(a)
はストアされるデータの形式を示したものでろり、(b
)はレジスタγ、8および整列回路9の動作を示したも
のである。そして、(イ)は主記憶装e2のアドレスを
示し、←)はストアされるデータの先頭からのバイト位
置を示す。
The data stored in the main memory fii2 is also at address 8n.
Since it is based on 8 bytes of ~8n+7, in order to write data from any byte position, store data is set in registers 7 and 8, and then the alignment circuit 9 shifts the start position of the data to a predetermined byte position. and then stored. As information for arranging the store data, the least significant bit of the start address is supplied from the instruction control unit 1 via the registers 27 to 30, as in the case of reading. Here, the function of register 8 is to serve as a buffer for sequentially aligning and writing data larger than 8 bytes to main memory e2, and the stored data in register 7 that is out of alignment is stored in the next machine cycle. The manner in which it is supplied from register 8 and stored is the fifth
As shown in the figure. FIG. 5 is an explanatory diagram of the operation of the register 7.8 and alignment circuit 9 in FIG.
indicates the format of the data to be stored, (b
) shows the operation of register γ, 8 and alignment circuit 9. Further, (a) indicates the address of the main storage device e2, and ←) indicates the byte position from the beginning of the data to be stored.

同様な機構は主記憶装置2からの読出しデータについて
も必要であるが、この実施例で説明されるSTM命令に
ついては関係がないため詳細が省かれている。また、主
記憶装置スヘストアするデータは常に8バイト全てとは
限らないため、実際に8バイトの中でストアするバイト
を指定するストアマスク情報をストアマスクデコーダ3
5で生成してレジスタ26から主記憶装置2へストアデ
ータと一緒に送る。これは、例えば、第5図において最
初にストアデータのバイト0〜5をストアするときの主
記憶装置2へのデータの8バイトの先頭2バイトあるい
は最後のストアデータのバイト14〜15をストアする
ときの8バイトの後6バイトはデータをストアした後で
も元の内容を書換えないようにする必要があるからであ
る。々お、ストアマスクデコーダ35の詳細については
後述する。
A similar mechanism is also required for data read from the main memory device 2, but the details are omitted because it is not relevant to the STM instruction explained in this embodiment. Also, since the data to be stored in the main memory is not always all 8 bytes, the store mask decoder 3 uses store mask information that specifies which bytes to actually store among the 8 bytes.
5 and sends it from the register 26 to the main memory 2 together with the store data. For example, in FIG. 5, when bytes 0 to 5 of the store data are first stored, the first two bytes of the eight bytes of data to the main storage device 2 or bytes 14 to 15 of the last store data are stored. This is because the original contents of the 6 bytes after the 8 bytes must not be rewritten even after data is stored. Details of the store mask decoder 35 will be described later.

つぎに、演算レジスタ10には、4バイトのデータ幅を
もつ九ペースレジスタおよび汎用レジスタが各8個ずつ
含まれる。そして、個々のベースレジスタおよび汎用レ
ジスタにはそれぞれベースレジスタ内、汎用レジスタ内
で連続した独自な番号が割付けられ、このレジスタ番号
によって互いを区別する。この演算レジスタ10へはレ
ジスタ19に保持されたレジスタ番号のベースレジスタ
あるいは汎用レジスタ全16個の中の1個に対してレジ
スタ15に保持された4バイトのデータを書込むことが
できる。一方、読出しに関しては、レジスタ16および
レジスタ1Tに各々保持されたレジスタ番号のベースレ
ジスタあるいは汎用レジスタを同時に読出すことができ
、汎用レジスタと汎用レジスタの間の演算を高速に処理
することができる。また、演算レジスタ10から読出さ
れたデータはレジスタ7や整列回路9を通って主記憶装
置2へストアすることもできる。
Next, the arithmetic register 10 includes eight nine-pace registers and eight general-purpose registers each having a data width of 4 bytes. Each base register and general-purpose register is assigned a unique consecutive number within the base register and general-purpose register, respectively, and these register numbers are used to distinguish each other. The 4-byte data held in the register 15 can be written into the arithmetic register 10 for the base register of the register number held in the register 19 or one of the 16 general-purpose registers. On the other hand, regarding reading, the base register or general-purpose register of the register number held in register 16 and register 1T can be read simultaneously, and operations between general-purpose registers and general-purpose registers can be processed at high speed. Further, data read from the arithmetic register 10 can also be stored in the main memory 2 through the register 7 and the alignment circuit 9.

ALU14は演算レジスタ10から読出されたデータと
もう一方の演算レジスタ10からの読出しデータあるい
は主記憶装置2からの読出しデータの内セレクタ13で
選択されたものに論理演算や算術演算を施しレジスタ1
5から演算レジスタ10に書込む。
The ALU 14 performs a logical operation or arithmetic operation on the data read from the operation register 10 and the data read from the other operation register 10 or the data read from the main storage device 2 selected by the selector 13.
5 to the calculation register 10.

つぎに、レジスタ16は演算レジスタ10から読出すレ
ジスタのレジスタ番号を保持し、レジスタ17はもう一
つの演算レジスタ10からの読出しレジスタ番号を保持
するとともに演算レジスタ10への書込みレジスタ番号
の制御にも使用され、レジスタ18.19とレジスタ番
号が持回わられる。
Next, the register 16 holds the register number of the register read from the calculation register 10, and the register 17 holds the register number read from the other calculation register 10, and also controls the register number written to the calculation register 10. Registers 18 and 19 and register numbers are rotated.

そして、このレジスタ16.17には加算器H,32,
33,34が接続さ扛、命令制御部1から供給されたレ
ジスタ番号を保持しているレジスタ20および21の内
容をその′tまあるいは+1加算し次位をセットできる
ほか自分自身の内容に+2加算した値をセットすること
もできる。ここで、レジスタ番号+1加算するというこ
との意味は次のベースレジスタあるいは汎用レジスタの
レジスタ番号を得ることである。念だし、ここで注意す
べきことはベースレジスタおよび汎用レジスタは各々8
個しかないので最大のレジスタ番号を持つベースレジス
タ・汎用レジスタの次のレジスタは各々最小のレジスタ
番号を持つベースレジスタ・汎用レジスタとなり、加算
器31,32.33゜34もそのように動作する。
The registers 16 and 17 include adders H, 32,
33 and 34 are connected, the contents of the registers 20 and 21 holding the register number supplied from the instruction control unit 1 can be added by 1 or +1, and the next place can be set, and the contents of the register can be set by +2. You can also set the added value. Here, the meaning of adding 1 to the register number is to obtain the register number of the next base register or general-purpose register. As a reminder, what you should be careful about here is that the base register and general-purpose register each have 8
Since there are only three registers, the registers following the base register/general-purpose register having the largest register number become the base register/general-purpose register having the smallest register number, and the adders 31, 32, 33, and 34 operate in the same manner.

レジスタ22はSTM命令の制御のための専用レジスタ
であり、命令語のNbフィールドの値、すなわち、スト
アされるベースレジスタの個数が命令制御部1から供給
されセットされ、演算レジスタ10の内容を主記憶装置
2にストアする毎に加算器37によってその値が−2ず
つ減ぜられる。
The register 22 is a dedicated register for controlling STM instructions, and is set by supplying the value of the Nb field of the instruction word, that is, the number of base registers to be stored, from the instruction control unit 1, and mainly controls the contents of the operation register 10. Each time the value is stored in the storage device 2, the adder 37 decrements the value by -2.

このレジスタ22の機能はその値によって演算しジスメ
10のレジスタ番号レジスタ16および1にセットされ
るレジスタ番号を制御することで4り、下記表に示すよ
うにレジスタ22の値にょてて87M命令で指定された
演算レジスタの第1回jのストア動作あるいは第2回目
以降のストア励信に合せてレジスタ1617の内容は制
御され之+、ジx/23は、ストア動作を制御するため
のレジスタであり、STM命令実行時は、命令語の隅フ
ィールドお工びNgフィールドの値が命令制御部1から
供給され、これらの値を加算器36で加算した値、すな
わち、ストアするペースレジスタと汎用レジスタの個数
がセットされ演算レジスタ10の内容を主記憶装置2に
ストアする毎に加算器38によって−2ずつ減ぜられる
。そして、このストア動作毎に−2ずつ減ぜられたレジ
スタ23の値は、レジスタ24と25を経由してストア
マスクデコーダ35に供給される。
The function of this register 22 is calculated by controlling the register numbers set in the register number registers 16 and 1 of the register 10, and as shown in the table below, the 87M instruction is executed according to the value of the register 22. The contents of the register 1617 are controlled in accordance with the first store operation or the second and subsequent store excitations of the specified arithmetic register. Yes, when an STM instruction is executed, the value of the Ng field in the corner field of the instruction word is supplied from the instruction control unit 1, and the value obtained by adding these values in the adder 36, that is, the pace register and general-purpose register to be stored. The number is set and is decremented by -2 by the adder 38 each time the contents of the arithmetic register 10 are stored in the main memory device 2. The value of the register 23, which is decremented by -2 for each store operation, is supplied to the store mask decoder 35 via registers 24 and 25.

ストアマスクデコーダ35は、命令制御部1から供給さ
nレジスタ27.28.29を経由シテき念主記憶装置
2へのストアの先頭アドレスの最下位3ビツトの情報と
、レジスタ23から1/ジス/24,25と経由されて
きた値、すなわち、ストアすべき残りのレジスタの個数
と、そのストア動作が87M命令の妙初のストア動作か
否かという情報からストア1スク情報を生成してレジス
タ26から主記憶装fM2へ整列回路9からのストアデ
ータと同期して送る。第2図(、)にストアマスクの生
成パターンを示す。
The store mask decoder 35 receives the information of the least significant 3 bits of the start address of the store from the instruction control unit 1 via the n registers 27, 28, and 29 to the main storage device 2, and the 1/digits information from the register 23. /24 and 25, that is, the number of remaining registers to be stored and information on whether the store operation is the first store operation of the 87M instruction, generates store 1 disk information and stores it in the register. 26 to the main memory fM2 in synchronization with the store data from the alignment circuit 9. FIG. 2(,) shows a store mask generation pattern.

第1図におけるストアマスクデコーダ35の動作パター
ン(a)と使用例を示す図(b)である@2図において
、(a)に示すマスクパターンAは第1回目のストアで
残フのレジスタ個数が2以上のときに使われ、マスクパ
ターンBは、第1回目のストアで残りのレジスタ個数が
1のとき、マスクパターンCは2回目以降のストアで残
ジのレジスタ個数が2以上のとき、マスクパターンDは
2回目以降のストアで残りのレジスタ個数が1のとき、
マスクパターンEは2回目以降のストアで残りのレジス
タ個数が0のとき、マスクパターンFF12fllj降
のストアで既に1回前のストアで残りレジスタ個数が1
個になっていたときにそれぞれ使われるパターンで、各
々のマスクパターンでrlJになっているビットに対応
するバイトが実際に主記憶装置に書込まれる。
In Figure 2, which is a diagram (b) showing the operation pattern (a) and usage example of the store mask decoder 35 in Figure 1, the mask pattern A shown in (a) is the number of registers remaining in the first store. Mask pattern B is used when the number of remaining registers is 1 in the first store, and mask pattern C is used when the number of remaining registers is 2 or more in the second and subsequent stores. For mask pattern D, when the number of remaining registers is 1 in the second and subsequent stores,
For mask pattern E, when the number of remaining registers is 0 in the second and subsequent stores, the number of remaining registers is 1 in the previous store in mask pattern FF12fllj.
The bytes corresponding to the bits set to rlJ in each mask pattern are actually written into the main memory.

第2図(b)には、実際にストアするレジスタの個数お
よびストアの先頭アドレスによってストアマスクパター
ンがどのように使われるかが示されている。
FIG. 2(b) shows how the store mask pattern is used depending on the number of registers actually stored and the start address of stores.

なお、実際に主記憶装置2に対して行なわれるストア動
作の回数Sはストアされるベースレジスタ、汎用レジス
タの合計R=Nb+Ngとストア先の先頭アドレス最下
位3ピツトAから 5=(4R+A+7)/8   (小数点以下切捨て)
・・・(1)で求められ、命令制御部1からの制御によ
ってこの回数だけのストア動作が行なわれる。
Note that the number of store operations actually performed on the main memory device 2, S, is the sum of the base registers and general-purpose registers to be stored, R=Nb+Ng, and the lowest 3 pits A to 5 of the first address of the store destination = (4R+A+7)/ 8 (rounded down to the nearest whole number)
...(1), and the store operation is performed this number of times under control from the instruction control unit 1.

以上が第1図のデータ処理装置の各部の機能説明であり
、つぎにこのデータ処理装置について具体的な動作を8
7M命令の実行例を示すタイムチャートである第3図に
よって説明する。図中、ベースレジスタ、汎用レジスタ
のレジスタ番号と各々のレジスタから読出さfした内容
をBj(j−0・・・7)。
The above is a functional explanation of each part of the data processing device shown in FIG.
This will be explained with reference to FIG. 3, which is a time chart showing an example of execution of the 7M instruction. In the figure, the register numbers of the base register and general-purpose register and the contents read from each register are Bj (j-0...7).

Gj(j−0・・・7)で表わしている。It is expressed as Gj (j-0...7).

そして、この例では、ストアされるペースレジスタはB
、から始まる5個、汎用レジスタはG。
And in this example, the pace register to be stored is B
, and the general-purpose register is G.

から始まる4個の合ff+9個で、ストアアドレスの最
下位3ビツトは6であり、前記(1)式によりストア動
作回数は6回となる。
In the sum of 4 starting from ff+9, the lowest 3 bits of the store address are 6, and the number of store operations is 6 according to the above equation (1).

以下、順を追って説明する。The following is a step-by-step explanation.

まず、マシンサイクルt。において87M命令を解読し
た命令制御部1は命令語(第4図参照)からとりだし危
Nb 、Ng 、 B 1 v B j 等の情報を出
力する。そして、これらの情報は、マシンサイクルt1
においてレジスタ23にはNb+Ng=9 、レジスタ
22にはNb=5、レジスタ21にはBimB、 、レ
ジスタ20にはCI=G、としてとり込まれる。以降、
レジスタ21.20の内容は87M命令の修了するまで
このまま保持され続ける。一方、レジスタ23.22に
とり込まれたNb +Ng 、 Nbの1に報は同じ(
87M命令の修了するまで−2ずつ減ぜられ、ストアマ
スクの生成の制御、演算レジスタの読出し番号の制御に
使用される。
First, machine cycle t. The instruction control unit 1 that decodes the 87M instruction extracts the instruction word (see FIG. 4) and outputs information such as Nb, Ng, B 1 v B j , etc. Then, these information are stored in machine cycle t1
In the register 23, Nb+Ng=9, in the register 22 Nb=5, in the register 21 BimB, and in the register 20 CI=G. onwards,
The contents of registers 21 and 20 continue to be held as they are until the 87M instruction is completed. On the other hand, the information for Nb +Ng and Nb 1 taken into registers 23 and 22 is the same (
It is decremented by -2 until the 87M instruction is completed, and is used to control the generation of a store mask and the read number of the arithmetic register.

そして、レジスタ17.16に保持されている演算レジ
スタ10からの読出しレジスタ番号は、マシンサイクル
t2において始めて演算レジスタ10からのデータの読
出しの念めにセットされるとマシンサイクルt8まで(
B5+B6L(B7+Bo)とベースレジスタのベアを
順に指示していくが、マシンサイクル1.においてレジ
スタ22の値=1によって残りのベースレジスタの個数
が1個であることがわかると、次のマシンサイクルt4
では残りのペースレジスタB1 と次の汎用レジスタへ
先頭G8を指示するように制御され、以降(G、。
Then, the read register number from the arithmetic register 10 held in registers 17 and 16 is set for the first time in machine cycle t2 in order to read data from the arithmetic register 10, and until machine cycle t8 (
B5+B6L (B7+Bo) and base register bare are instructed in order, but machine cycle 1. When it is found that the number of remaining base registers is 1 due to the value of register 22 = 1, the next machine cycle t4
Then, the remaining pace register B1 and the next general-purpose register are controlled to point to the first G8, and thereafter (G,.

’s ) * (c6 、なし)と順に読出すレジスタ
番号を指示していく。
's ) * (c6, none) and instruct the register numbers to be read in order.

マシンサイクルtlI以降2つずつ演算レジスタ10か
ら読出されたペースレジスタ・汎用レジスタはレジスタ
N、?2,7.8および整列回路9を経て主記憶装f2
へストアされていき、6回のストア動作で終了する。
After machine cycle tlI, the pace registers and general-purpose registers read two by two from the operation register 10 are registers N and ? 2, 7.8 and the main memory f2 via the alignment circuit 9.
The data is stored to , and ends after six store operations.

一方、ストアデータに同期してストアマスクは、レジス
タ23からレジスタ24.25を経た残りレジスタ個数
とストアアドレスの最下位3ピツトの情報で整列回路9
で整列されたストアデータのバイト位曾に合せて生成さ
れ、主記憶装置t2へ送られる。
On the other hand, in synchronization with the store data, the store mask is generated by the sorting circuit 9 based on the number of remaining registers passed through registers 23 to 24 and 25 and the information on the lowest three pits of the store address.
It is generated according to the byte order of the store data aligned in , and is sent to the main storage device t2.

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

以上説明したように本発明は、汎用レジスタ。 As explained above, the present invention relates to a general-purpose register.

アドレスレジスタなど複数種類の各々が複数個からなる
レジスメ群に対して1命令で複数個のレジスタを指定し
て主記憶装置(メモリ)へストアする命令を処理するこ
とにより、メモリーへのストアデー/@が各レジスタの
データ幅の複数倍ある場合、複数レジスタを同時に1回
のストア動作でメモリーへストアすることができ、また
、種類の異ったレジスタとレジスタの継ぎ目でも連続し
てストアすることができる効果がある。
By processing an instruction to specify multiple registers in one instruction for a register group consisting of multiple types of address registers, etc., and store them in the main storage device (memory), store data/data to memory can be stored. If @ is multiple times the data width of each register, it is possible to store multiple registers simultaneously into memory in one store operation, and it is also possible to store consecutively at the joint between registers of different types. It has the effect of

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

第1図は本発明の一実施例を示すブロック図、第2図は
第1図におけるストアマスクデコーダの動作説明図、第
3図は第1図の実施例における動作例を示すタイムチャ
ート、第4図は本発明の説明に供するLM命令、87M
命令の命令語形式を示す説明図、第5図は第1図におけ
るレジスタおよび整列回路の動作説明図である。 1・・・・命令制御部、2・・・・主記憶装置(メモリ
)、5.9・・・・整列回路、1o・・・・演算レジス
タ、13・・・・セレクタ、14・ ・ ・ ・ALU
、6〜8,11,12.15〜30・ ・ 。
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is an explanatory diagram of the operation of the store mask decoder in FIG. 1, FIG. 3 is a time chart showing an example of the operation in the embodiment of FIG. 1, and FIG. Figure 4 is an LM instruction, 87M, used to explain the present invention.
FIG. 5 is an explanatory diagram showing the instruction word format of an instruction. FIG. 5 is an explanatory diagram of the operation of the register and alignment circuit in FIG. 1. 1...Instruction control unit, 2...Main storage device (memory), 5.9...Alignment circuit, 1o...Arithmetic register, 13...Selector, 14...・ALU
, 6-8, 11, 12. 15-30...

Claims (1)

【特許請求の範囲】[Claims] 一連の番号を付けられメモリへストアされたとき同一の
データ幅を占める複数個のレジスタから構成される第1
のレジスタ群と第2のレジスタ群を有し、前記メモリへ
のデータのストアを個々のレジスタの複数個分のデータ
幅で行い得るデータ処理装置で、前記第1のレジスタ群
の任意の番号のレジスタから任意の個数のレジスタと前
記第2のレジスタ群の任意の番号のレジスタから任意の
個数のレジスタを前記メモリへストアする命令の実行に
おいて、命令で指定されたメモリへストアする第1のレ
ジスタ群のレジスタの個数がセットされ該メモリへのス
トアのデータ幅のレジスタのデータ幅に対する倍数分だ
けメモリへのストア毎に減算されるカウンタ手段と、前
記第1のレジスタ群と前記第2のレジスタ群から前記メ
モリへストアするため読出すレジスタを指定するレジス
タ番号を保持する前記倍数の個数のレジスタ番号レジス
タ群とを有し、前記カウンタ手段の値が前記倍数より大
きいか等しい際には、命令開始後最初のストアに対して
は命令で指定された第1のレジスタ群の先頭のレジスタ
番号から連続するレジスタ番号を前記レジスタ番号レジ
スタ群の各レジスタに順にセットし、命令開始後2回目
以降のストアに対しては前記レジスタ番号レジスタ群の
各レジスタには各々直前の値に前記倍数だけ加算した値
をセットし、前記カウンタ手段の値が前記倍数より小さ
く0以上の際には、命令開始後最初のストアに対しては
命令で指定された第1のレジスタ群の先頭のレジスタ番
号から連続するレジスタ番号を前記レジスタ番号レジス
タ群の先頭のレジスタから前記カウンタ手段の値の個数
のレジスタにセットし、残りのレジスタ番号レジスタに
は命令で指定された第2のレジスタ群の先頭のレジスタ
番号から連続するレジスタ番号をセットし、命令開始後
2回目以降のストアに対しては前記レジスタ番号レジス
タ群の先頭から前記カウンタ手段の値の個数のレジスタ
には直前の値に前記倍数だけ加算した値をセットし、残
りのレジスタ番号レジスタには命令で指定された第2の
レジスタ群の先頭のレジスタ番号から連続したレジスタ
番号をセットし、前記カウンタ手段の値が負のときには
、前記レジスタ番号レジスタ群の各レジスタには直前の
値に前記倍数だけ加算した値をセツトするように制御さ
れることを特徴とするデータ処理装置。
A first register consisting of a series of numbered registers that occupy the same data width when stored in memory.
A data processing device having a register group and a second register group, and capable of storing data in the memory with a data width corresponding to a plurality of individual registers; A first register to be stored in the memory specified by the instruction in executing an instruction to store an arbitrary number of registers from the registers and an arbitrary number of registers from the arbitrary numbered registers of the second register group into the memory. a counter means in which the number of registers of the group is set and is decremented by a multiple of the data width of the store to the memory each time the data width of the register is stored; and the first register group and the second register. a register number register group of the multiple number for holding a register number specifying a register to be read from the group for storing into the memory, and when the value of the counter means is greater than or equal to the multiple number, an instruction For the first store after the start, consecutive register numbers from the first register number of the first register group specified by the instruction are set in each register of the register number register group, and for the second and subsequent stores after the start of the instruction, For storing, each register of the register number register group is set to a value obtained by adding the multiple to the previous value, and when the value of the counter means is smaller than the multiple and is 0 or more, after the start of the instruction For the first store, consecutive register numbers from the first register number of the first register group specified by the instruction are set in the number of registers equal to the value of the counter means from the first register of the register number register group. , the remaining register number registers are set with consecutive register numbers starting from the first register number of the second register group specified by the instruction, and for the second and subsequent stores after the start of the instruction, the register numbers of the register number register group are set in the remaining register number registers. The registers corresponding to the number of values of the counter means from the beginning are set with the value obtained by adding the above multiple to the previous value, and the remaining register number registers are set with the value starting from the register number at the beginning of the second register group specified by the instruction. It is characterized in that when consecutive register numbers are set and the value of the counter means is negative, each register of the register number register group is controlled to set a value obtained by adding the previous value by the multiple. data processing equipment.
JP63256845A 1988-10-12 1988-10-12 Data processing device Expired - Lifetime JPH0748179B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63256845A JPH0748179B2 (en) 1988-10-12 1988-10-12 Data processing device
FR8913353A FR2637708B1 (en) 1988-10-12 1989-10-12 DEVICE FOR DATA PROCESSING

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63256845A JPH0748179B2 (en) 1988-10-12 1988-10-12 Data processing device

Publications (2)

Publication Number Publication Date
JPH02103630A true JPH02103630A (en) 1990-04-16
JPH0748179B2 JPH0748179B2 (en) 1995-05-24

Family

ID=17298212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63256845A Expired - Lifetime JPH0748179B2 (en) 1988-10-12 1988-10-12 Data processing device

Country Status (2)

Country Link
JP (1) JPH0748179B2 (en)
FR (1) FR2637708B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100413651B1 (en) * 1995-09-22 2004-05-20 마츠시타 덴끼 산교 가부시키가이샤 An information processing apparatus and its information processing method for realizing data transfer of multiple registers with short word length commands
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02190930A (en) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> Software instruction executing apparatus
JPH1091443A (en) 1996-05-22 1998-04-10 Seiko Epson Corp Information processing circuit, microcomputer and electronic equipment
GB2326253A (en) * 1997-06-10 1998-12-16 Advanced Risc Mach Ltd Coprocessor data access control

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3916388A (en) * 1974-05-30 1975-10-28 Ibm Shifting apparatus for automatic data alignment

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100413651B1 (en) * 1995-09-22 2004-05-20 마츠시타 덴끼 산교 가부시키가이샤 An information processing apparatus and its information processing method for realizing data transfer of multiple registers with short word length commands
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7467385B2 (en) 1998-12-16 2008-12-16 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7650605B2 (en) 1998-12-16 2010-01-19 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US7900207B2 (en) 1998-12-16 2011-03-01 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7926062B2 (en) 1998-12-16 2011-04-12 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US8468540B2 (en) 1998-12-16 2013-06-18 Bridge Crossing, Llc Interrupt and exception handling for multi-streaming digital processors

Also Published As

Publication number Publication date
FR2637708B1 (en) 1992-10-23
FR2637708A1 (en) 1990-04-13
JPH0748179B2 (en) 1995-05-24

Similar Documents

Publication Publication Date Title
US4745547A (en) Vector processing
US4814976A (en) RISC computer with unaligned reference handling and method for the same
US4833640A (en) Register bank change including register to register transfer in a data processing system
JPH02103630A (en) Data processor
JPH0414385B2 (en)
US4754424A (en) Information processing unit having data generating means for generating immediate data
EP0167959A2 (en) Computer vector register processing
CA1308490C (en) Operation apparatus
JPH0724013B2 (en) Vector processor
JPS59114677A (en) Vector processor
EP0319132A2 (en) Interrupt handling in a parallel data processing
EP1251425A2 (en) Very long instruction word information processing device and system
KR940007692A (en) Data processing device and data processing method
US3763475A (en) Stored program computer with plural shift register storage
JP2671161B2 (en) Register interference check method
JPH02103632A (en) Arithmetic processor
GB1233484A (en)
JPH0256029A (en) General register switching system
JP2001166918A (en) Processor system
Huskey Computers, multiple address
JPS6239779B2 (en)
JPS60144874A (en) Vector data processor
JPS61194566A (en) Vector data reference control system
JPS62251930A (en) Information processor
JPS6297032A (en) Computer containing pre-shifter