Nothing Special   »   [go: up one dir, main page]

JP3124361B2 - Memory data loading device - Google Patents

Memory data loading device

Info

Publication number
JP3124361B2
JP3124361B2 JP04074618A JP7461892A JP3124361B2 JP 3124361 B2 JP3124361 B2 JP 3124361B2 JP 04074618 A JP04074618 A JP 04074618A JP 7461892 A JP7461892 A JP 7461892A JP 3124361 B2 JP3124361 B2 JP 3124361B2
Authority
JP
Japan
Prior art keywords
address
instruction
data
register
operation unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP04074618A
Other languages
Japanese (ja)
Other versions
JPH0628176A (en
Inventor
恭正 中田
宣彦 山上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP04074618A priority Critical patent/JP3124361B2/en
Publication of JPH0628176A publication Critical patent/JPH0628176A/en
Application granted granted Critical
Publication of JP3124361B2 publication Critical patent/JP3124361B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、RISCプロセッサ
におけるメモリデータロード装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory data loading device in a RISC processor.

【0002】[0002]

【従来の技術】一般にRISCプロセッサにおいては、
メモリからデータをロードする場合、1つの汎用レジス
タにアドレスをセットする命令(この命令では、命令コ
ードの一部をデータとして用いてアドレスをセットする
ため、この命令だけでは目的の仮想アドレスをセットす
ることができない)と、そのアドレスと、これを基準と
した相対アドレスで実際の仮想アドレスを算出してデー
タをロードする命令を実行するという命令列を実行する
必要がある。
2. Description of the Related Art Generally, in a RISC processor,
When loading data from a memory, an instruction to set an address in one general-purpose register (in this instruction, an address is set by using a part of the instruction code as data, so that this instruction alone sets a target virtual address. It is necessary to execute an instruction sequence of calculating an actual virtual address using the address and a relative address based on the address and executing an instruction to load data.

【0003】図2は、このようなRISCプロセッサに
おける従来のメモリデータロード装置の構成を示してあ
る。この図2において、レジスタファィル1はデータを
保持する部分であり、命令レジスタ2,3はフェッチさ
れた命令を格納する部分である。アドレス演算ユニット
4はデータのアドレスを計算して出力する部分であり、
算術・論理演算ユニット5は与えられたデータを用いて
算術演算、論理演算を行なう部分である。そして、ソー
スデータレジスタ6,7は算術・論理演算ユニット5で
用いるデータを格納する部分であり、デスティネーショ
ンデータレジスタ8は算術・論理演算ユニット5の演算
結果を格納する部分である。
FIG. 2 shows the configuration of a conventional memory data load device in such a RISC processor. In FIG. 2, a register file 1 is a portion for holding data, and instruction registers 2 and 3 are portions for storing fetched instructions. The address operation unit 4 calculates and outputs the address of the data,
The arithmetic and logical operation unit 5 is a part that performs arithmetic and logical operations using given data. The source data registers 6 and 7 are for storing data used in the arithmetic and logical operation unit 5, and the destination data register 8 is for storing the operation result of the arithmetic and logical operation unit 5.

【0004】さらに、データアドレスライン9はアドレ
ス演算ユニット4で計算されたデータアドレスを外部の
データロードユニット(図示せず)に伝える部分であ
り、ロードデータライン10は主記憶装置(図示せず)
からロードされたデータをレジスタファイル1に伝える
部分である。
Further, a data address line 9 is a portion for transmitting the data address calculated by the address operation unit 4 to an external data load unit (not shown), and a load data line 10 is a main storage device (not shown).
Is a part for transmitting the data loaded from the to the register file 1.

【0005】そして、このような従来のメモリデータロ
ード装置では、1つの汎用レジスタにアドレスをセット
する命令と、そのアドレスと、そこを基準とした相対ア
ドレスで実際の仮想アドレスを算出してデータをロード
する命令から成る命令列を実行する場合、以下のように
動作していた。
In such a conventional memory data loading device, an instruction for setting an address in one general-purpose register, an actual virtual address is calculated from the address and a relative address based on the instruction, and the data is calculated. When executing an instruction sequence consisting of instructions to be loaded, the operation was as follows.

【0006】i)1つの汎用レジスタにアドレスをセッ
トする命令(以下、セット命令と呼ぶ)が命令レジスタ
2にセットされ、そのアドレスと、そこを基準とした相
対アドレスで実際の仮想アドレスを算出してデータをロ
ードする命令(以下、ロード命令と呼ぶ)が命令レジス
タ3にそれぞれセットされる。
I) An instruction for setting an address in one general-purpose register (hereinafter, referred to as a set instruction) is set in the instruction register 2, and an actual virtual address is calculated from the address and a relative address based on the address. An instruction for loading data (hereinafter referred to as a load instruction) is set in the instruction register 3.

【0007】ii)命令レジスタ2の内容(セット命令の
命令コード)のうち、アドレスを表わすデータ(これ
は、シフトされてアドレスになる)がソースデータレジ
スタ6に送られる。
Ii) Of the contents of the instruction register 2 (the instruction code of the set instruction), data representing an address (which is shifted to an address) is sent to the source data register 6.

【0008】iii)ソースデータレジスタ6の内容が算
術・論理演算ユニット5に送られ、シフトされてデステ
ィネーションデータレジスタ8にセットされる。
Iii) The contents of the source data register 6 are sent to the arithmetic / logic operation unit 5, shifted and set in the destination data register 8.

【0009】iv)デスティネーションデータレジスタ8
の内容がレジスタファィル1の中の1つのレジスタに書
き込まれる。ここで初めてレジスタファィル1の中の1
つのレジスタに、使いたいデータ(アドレスとして用い
られるデータ)がセットされたので、そのレジスタの内
容がアドレス演算ユニット4にセットされる。
Iv) Destination data register 8
Is written to one register in the register file 1. Here, for the first time, one of the register files 1
Since data to be used (data used as an address) is set in one of the registers, the contents of the register are set in the address operation unit 4.

【0010】v)アドレス演算ユニット4が、ステップi
v)で得たデータを用いて仮想アドレスを計算し、デー
タアドレスライン9に出力する。
V) The address operation unit 4 executes step i
The virtual address is calculated using the data obtained in v), and is output to the data address line 9.

【0011】このi )〜v )のステップそれぞれが1サ
イクルで実行され、従来のRISCプロセッサでは、仮
想アドレスをデータアドレスライン9に出力するまでの
メモリデータロード処理に5サイクルが必要であった。
Each of the steps i) to v) is executed in one cycle. In a conventional RISC processor, five cycles are required for memory data loading processing until a virtual address is output to the data address line 9.

【0012】[0012]

【発明が解決しようとする課題】ところが、このような
従来のメモリデータロード装置では、1つ目の命令でア
ドレスをセットする際にシフト演算が必要なために、そ
れを算術・論理演算ユニットによって実行し、次のロー
ド命令が仮想アドレスを計算するために、上述のように
仮想アドレスをデータアドレスラインに出力するまでの
メモリロード処理に5サイクルかかっており、メモリロ
ードが遅くなる問題点があった。
However, in such a conventional memory data load device, a shift operation is required when an address is set by the first instruction, and the shift operation is required by an arithmetic / logic operation unit. Since the execution of the next load instruction calculates the virtual address, it takes five cycles for the memory load process until the virtual address is output to the data address line as described above, and there is a problem that the memory load becomes slow. Was.

【0013】この発明は、このような従来の問題点に鑑
みなされたもので、RISCプロセッサにおけるメモリ
データの高速なロードが実現できるメモリデータロード
装置を提供することを目的とする。
An object of the present invention is to provide a memory data loading device capable of realizing high-speed loading of memory data in a RISC processor.

【0014】[0014]

【課題を解決するための手段】この発明のメモリデータ
ロード装置は、フェッチされた命令を格納する命令レジ
スタと、前記命令レジスタに格納された前記命令の内容
から基準となるアドレスを表すデータを読み出し、所定
ビットだけシフトさせて基準アドレスを出力するシフタ
と、前記命令レジスタに格納された前記命令の内容から
前記基準アドレスに対する相対アドレスを読み出し、こ
の相対アドレスと前記シフタの出力する前記基準アドレ
スからアクセス先の仮想アドレスを演算して出力するア
ドレス演算ユニットと、前記アドレス演算ユニットで計
算されたアクセス先の仮想アドレスを外部の命令フェッ
チユニットに伝えるためのデータアドレスラインとを備
えたものである。
According to the present invention, there is provided a memory data load device comprising: an instruction register for storing a fetched instruction; and a content of the instruction stored in the instruction register.
Reads data representing the reference address from
A shifter that shifts a bit and outputs a reference address, and a content of the instruction stored in the instruction register.
Read the relative address to the reference address,
Relative address and the reference address output from the shifter.
To calculate and output the virtual address of the access destination from the
A dress arithmetic units, total by the address arithmetic unit
And a data address line for transmitting the calculated virtual address of the access destination to an external instruction fetch unit.

【0015】[0015]

【作用】この発明のメモリデータロード装置では、メモ
リからデータをロードする命令を実行する場合に、1つ
の汎用レジスタにアドレスをセットする命令と、そのア
ドレスと、そこを基準とした相対アドレスで実際の仮想
アドレスを算出してデータをロードする命令から成る命
令列を同時に実行し、メモリからの高速なデータロード
を実現する。
According to the memory data load device of the present invention, when an instruction for loading data from a memory is executed, an instruction for setting an address in one general-purpose register, the address, and a relative address based on the instruction are used. , And simultaneously executes an instruction sequence composed of instructions for loading data to realize high-speed data loading from the memory.

【0016】[0016]

【実施例】以下、この発明の実施例を図に基づいて詳説
する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below in detail with reference to the drawings.

【0017】図1はこの発明の一実施例の回路ブロック
図であり、従来例として示した図2の構成の回路と同様
に、レジスタファィル1と、命令レジスタ2,3と、ア
ドレス演算ユニット4と、算術・論理演算ユニット5
と、ソースデータレジスタ6,7と、デスティネーショ
ンデータレジスタ8と、データアドレスライン9と、ロ
ードデータライン10を備えている。
FIG. 1 is a circuit block diagram of one embodiment of the present invention. Similar to the circuit having the configuration of FIG. 2 shown as a conventional example, a register file 1, instruction registers 2 and 3, and an address operation unit 4 are shown. And arithmetic and logical operation unit 5
, Source data registers 6 and 7, a destination data register 8, a data address line 9, and a load data line 10.

【0018】そしてこの発明の実施例の特徴部分とし
て、シフタ11を備えていて、制御信号にしたがってデ
ータをシフトしてアドレス演算ユニット4に伝えるよう
にしている。
As a characteristic part of the embodiment of the present invention, a shifter 11 is provided so that data is shifted according to a control signal and transmitted to the address operation unit 4.

【0019】次に、上記の構成のメモリデータロード装
置の動作について説明する。
Next, the operation of the memory data loading device having the above configuration will be described.

【0020】1つの汎用レジスタにアドレスをセットす
る命令と、そのアドレスと、そこを基準とした相対アド
レスで実際の仮想アドレスを算出してデータをロードす
る命令から成る命令列を実行する場合、以下のように動
作する。
When executing an instruction sequence consisting of an instruction to set an address in one general-purpose register, an instruction to calculate an actual virtual address by using the address and a relative address based on the address, and to load data, Works like

【0021】1)1つの汎用レジスタにアドレスをセッ
トするセット命令が命令レジスタ2にセットされ、その
アドレスと、そこを基準とした相対アドレスで実際の仮
想アドレスを算出してデータをロードするロード命令と
が命令レジスタ3にセットされる。
1) A set instruction for setting an address in one general-purpose register is set in the instruction register 2, and a load instruction for calculating an actual virtual address using the address and a relative address based on the set instruction and loading data. Are set in the instruction register 3.

【0022】2)命令レジスタ2の内容(セット命令の
命令コード)のうち、アドレスを表わすデータ(これ
は、シフトされてアドレスになる)がソースデータレジ
スタ6に送られる。
2) Of the contents of the instruction register 2 (the instruction code of the set instruction), data representing an address (which is shifted to an address) is sent to the source data register 6.

【0023】これと同時に、命令レジスタ2の内容(セ
ット命令の命令コード)のうち、アドレスを表わすデー
タがシフタ11を通してアドレスデータとしてアドレス
演算ユニット4に送られる。
At the same time, data representing the address of the contents of the instruction register 2 (the instruction code of the set instruction) is sent to the address operation unit 4 as address data through the shifter 11.

【0024】3)ソースデータレジスタ6の内容が算術
・論理演算ユニット5に送られ、シフトされてデスティ
ネーションデータレジスタ8にセットされる。
3) The contents of the source data register 6 are sent to the arithmetic / logical operation unit 5, shifted and set in the destination data register 8.

【0025】これと同時に、アドレス演算ユニット4
が、上記のステップ2)で得たデータを用いて仮想アド
レスを計算し、データアドレスライン9に出力する。
At the same time, the address operation unit 4
However, the virtual address is calculated using the data obtained in the above step 2), and is output to the data address line 9.

【0026】4)デスティネーションデータレジスタ8
の内容がレジスタファィル1の中の1つのレジスタに書
き込まれる。
4) Destination data register 8
Is written to one register in the register file 1.

【0027】こうして、1つの汎用レジスタにアドレス
をセットする命令と、そのアドレスと、そこを基準とし
た相対アドレスで実際の仮想アドレスを算出してデータ
をロードする命令から成る命令列を実行するのである。
In this way, an instruction sequence consisting of an instruction for setting an address in one general-purpose register, an instruction for calculating an actual virtual address based on the address and a relative address based on the address, and loading data is executed. is there.

【0028】そしてこの実施例の場合には、仮想アドレ
スをデータアドレスライン9に出力するまでに上述のス
テップ1)〜ステップ3)の3サイクルで行なえること
になり、前述の従来例の場合のようにステップi )〜ス
テップv )の5サイクルよりもサイクル数を2つ短縮す
ることができ、データロード処理の速度を速めることが
できるようになる。
In the case of this embodiment, the process can be performed in three cycles of the above steps 1) to 3) until the virtual address is output to the data address line 9. Thus, the number of cycles can be reduced by two compared to the five cycles of steps i) to v), and the speed of the data loading process can be increased.

【0029】[0029]

【発明の効果】以上のようにこの発明によれば、フェッ
チされた命令を格納する命令レジスタと、制御信号にし
たがってデータをシフトして伝えるシフタと、フェッチ
する命令のアドレスを計算する命令アドレス演算ユニッ
トと、命令アドレス演算ユニットで計算された命令アド
レスを外部の命令フェッチユニットに伝える命令アドレ
スラインを設けているために、1つの汎用レジスタにア
ドレスをセットする命令と、そのアドレスと、そこを基
準とした相対アドレスで実際の仮想アドレスを算出して
データをロードする命令から構成されるメモリデータの
ロードのための命令列を同時に実行することができ、メ
モリからのデータロードが高速に行なえる。
As described above, according to the present invention, an instruction register for storing a fetched instruction, a shifter for shifting and transmitting data in accordance with a control signal, and an instruction address operation for calculating an address of an instruction to be fetched are provided. Unit and an instruction address line for transmitting the instruction address calculated by the instruction address operation unit to an external instruction fetch unit. Therefore, an instruction for setting an address in one general-purpose register, the address, and a reference The instruction sequence for loading the memory data, which is composed of the instructions for calculating the actual virtual address with the relative address and loading the data, can be executed simultaneously, and the data can be loaded from the memory at high speed.

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

【図1】この発明の一実施例の回路ブロック図。FIG. 1 is a circuit block diagram of one embodiment of the present invention.

【図2】従来例の回路ブロック図。FIG. 2 is a circuit block diagram of a conventional example.

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

1 レジスタファィル 2 命令レジスタ 3 命令レジスタ 4 アドレス演算ユニット 5 算術・論理演算ユニット 6 ソースデータレジスタ 7 ソースデータレジスタ 8 デスティネーションデータレジスタ 9 データアドレスライン 10 ロードデータライン 11 シフタ DESCRIPTION OF SYMBOLS 1 Register file 2 Instruction register 3 Instruction register 4 Address operation unit 5 Arithmetic / logical operation unit 6 Source data register 7 Source data register 8 Destination data register 9 Data address line 10 Load data line 11 Shifter

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭56−164447(JP,A) 特開 平2−306339(JP,A) 特開 平3−19029(JP,A) 特開 平2−195431(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/22 - 9/355 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-56-16444 (JP, A) JP-A-2-306339 (JP, A) JP-A-3-19029 (JP, A) JP-A-2- 195431 (JP, A) (58) Field surveyed (Int. Cl. 7 , DB name) G06F 9/22-9/355

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 フェッチされた命令を格納する命令レジ
スタと、前記命令レジスタに格納された前記命令の内容から基準
となるアドレスを表すデータを読み出し、所定ビットだ
けシフトさせて基準アドレスを出力する シフタと、前記命令レジスタに格納された前記命令の内容から前記
基準アドレスに対する相対アドレスを読み出し、この相
対アドレスと前記シフタの出力する前記基準アドレスか
らアクセス先の仮想アドレスを演算して出力するアドレ
演算ユニットと、前記アドレス演算ユニットで計算されたアクセス先の仮
想アドレスを 外部の命令フェッチユニットに伝えるため
データアドレスラインとを備えて成るメモリデータロ
ード装置。
An instruction register for storing a fetched instruction, and a reference based on the content of the instruction stored in the instruction register.
Read the data that represents the address that is
A shifter for outputting a reference address only shifted, from said contents of said instruction stored in said instruction register
Read the relative address to the reference address, and
Between the paired address and the reference address output by the shifter
From which the virtual address of the access destination is calculated and output.
And a temporary address of the access destination calculated by the address operation unit.
And a data address line for transmitting a virtual address to an external instruction fetch unit.
JP04074618A 1992-03-30 1992-03-30 Memory data loading device Expired - Fee Related JP3124361B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04074618A JP3124361B2 (en) 1992-03-30 1992-03-30 Memory data loading device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04074618A JP3124361B2 (en) 1992-03-30 1992-03-30 Memory data loading device

Publications (2)

Publication Number Publication Date
JPH0628176A JPH0628176A (en) 1994-02-04
JP3124361B2 true JP3124361B2 (en) 2001-01-15

Family

ID=13552347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04074618A Expired - Fee Related JP3124361B2 (en) 1992-03-30 1992-03-30 Memory data loading device

Country Status (1)

Country Link
JP (1) JP3124361B2 (en)

Also Published As

Publication number Publication date
JPH0628176A (en) 1994-02-04

Similar Documents

Publication Publication Date Title
US6557093B2 (en) Stack oriented data processing device
US5757685A (en) Data processing system capable of processing long word data
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH0414385B2 (en)
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPH034936B2 (en)
JPH08212075A (en) Information processor
JP3124361B2 (en) Memory data loading device
US5875323A (en) Processor using implicit register addressing
JPH0528431B2 (en)
JP2861560B2 (en) Data processing device
JPH0831033B2 (en) Data processing device
JP2812610B2 (en) Pipeline control method
KR100246465B1 (en) Apparatus and method for reducing cycle of microprocessor stack order
JPH07110769A (en) Vliw type computer
JPH0233173B2 (en)
JPS60178539A (en) By-pass control system of information processor
JP3441847B2 (en) Processor with data memory
JPH0228828A (en) Maximum value and minimum value detecting circuit
JPS59201144A (en) Decimal arithmetic circuit
JP2583614B2 (en) Vector arithmetic unit
JP3239042B2 (en) Microcomputer
JPS61100836A (en) System for processing comparison and instruction of moving instruction logic
JPH0820947B2 (en) Data processing device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081027

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees