JPH04205426A - Method and device for processing data - Google Patents

Method and device for processing data

Info

Publication number
JPH04205426A
JPH04205426A JP2337413A JP33741390A JPH04205426A JP H04205426 A JPH04205426 A JP H04205426A JP 2337413 A JP2337413 A JP 2337413A JP 33741390 A JP33741390 A JP 33741390A JP H04205426 A JPH04205426 A JP H04205426A
Authority
JP
Japan
Prior art keywords
instruction
data
data memory
access
processor
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
JP2337413A
Other languages
Japanese (ja)
Inventor
Makoto Okawa
誠 大川
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.)
Daikin Industries Ltd
Original Assignee
Daikin Industries 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 Daikin Industries Ltd filed Critical Daikin Industries Ltd
Priority to JP2337413A priority Critical patent/JPH04205426A/en
Publication of JPH04205426A publication Critical patent/JPH04205426A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To increase data processing system speed as a whole, by previously converting an instruction requiring access to a data memory into an instruction requiring no data memory access. CONSTITUTION:A 4-port memory 3 to be used also as a data memory and a code memory and a peripheral I/O equipment are connected to a processor 1 for processing a pipeline based upon an inputted instruction through a common data bus 2. Prior to at least one cycle from the input of an instruction to the processor 1, an instruction is inputted in parallel with the input of the instruction to the processor 1 and an instruction requiring data memory access is converted into an instruction requiring no data memory access and the converted instruction is written in the code memory constituted of the 4-port memory 3. Consequently the processing speed of the whole system is increased.

Description

【発明の詳細な説明】 〈産業上の利用分野〉 この発明はデータ処理方法およびその装置に関し、さら
に詳細にいえば、読み込み命令をパイプライン処理する
プロセッサと、命令を格納するコ。  −ド・メモリと
、データを格納するデータ・メモリとを含み、プロセッ
サによる命令アクセスのためのバスとデータ・アクセス
のためのバスとか分離されていないデータ処理システム
に好適なデータ処理方法およびその装置に関する。
DETAILED DESCRIPTION OF THE INVENTION <Field of Industrial Application> The present invention relates to a data processing method and apparatus thereof, and more specifically, to a processor that pipelines read instructions and a processor that stores instructions. - A data processing method and device suitable for a data processing system including a hard drive memory and a data memory for storing data, and in which a bus for instruction access by a processor and a bus for data access are not separated. Regarding.

〈従来の技術、および発明が解決しようとする課題〉 従来からデータ処理システムとして読み込み命令をパイ
プライン処理するプロセッサ、命令を格、 納するコー
ド・メモリおよびデータを格納するデータ・メモリを有
する構成か一般的に採用されている。また、このデータ
処理システムは、命令用とデータ用とにバスが分離され
たバス・アーキテクチャ(以下、バーバード・アーキテ
クチャと称する)を採用したプロセッサを含むシステム
および命令用とデータ用とにバスか分離されていないバ
ス・アーキテクチャ(以下、プリンストン・アーキテク
チャと称する)を採用したプロセッサを含むシステムに
大別される。
<Prior art and problems to be solved by the invention> Conventionally, data processing systems have been configured to include a processor that processes read instructions in a pipeline, a code memory that stores instructions, and a data memory that stores data. Generally adopted. In addition, this data processing system includes a processor that employs a bus architecture (hereinafter referred to as Barbed architecture) in which buses are separated for instructions and data, and a system that employs a bus architecture in which buses are separated for instructions and data. Princeton architecture (hereinafter referred to as Princeton architecture) is broadly classified into systems that include processors that employ a bus architecture that is not based on the Princeton architecture.

ここで、バーバード・アーキテクチャのプロセッサを含
むデータ処理システムにおいては、プロセッサによるデ
ータ・メモリに対するアクセスが行なわれている間でも
コード・メモリに対するアクセスを行なうことができる
のであるから、データ・アクセスが完了する前であって
もインストラクション・アクセスを実行でき、システム
全体としての処理速度、即ち、M I P S (Me
ga−fnstrucLions Per 5econ
d)値を向上させることができる。
Here, in a data processing system that includes a processor based on the Barbard architecture, code memory can be accessed even while data memory is being accessed by the processor, so data access is completed. Instruction access can be executed even before the MIP S (Me
ga-fnstrucLions Per 5econ
d) The value can be improved.

しかし、プリンストン・アーキテクチャのプロセッサを
含むデータ処理システムにおいては、バスが分離されて
いない関係上、データ・メモリニ対するアクセスが行な
われている間はコード・メモリに対するアクセスを実行
できず、この結果、システム全体としての処理速度、即
ち、MI PS値か低下することになる。
However, in data processing systems that include Princeton architecture processors, because the buses are not separated, code memory cannot be accessed while data memory is being accessed, and as a result, the system The overall processing speed, ie, the MIPS value, will decrease.

プリンストン・アーキテクチャのプロセッサを含むデー
タ処理システムについて第1[1がら第13図を参照し
ながらさらに詳細に説明する。
A data processing system including a Princeton architecture processor will be described in more detail with reference to FIGS.

第11図はデータ処理システムの構成の一例を示すブロ
ック図であり、読み込み命令をパイプライン処理できる
プロセッサ(71)のデータ・ポートと、スタティック
・ランダム・アクセス・メモリ(以下、SRAMと略称
する)からなるデータ・メモリ(72)、ダイナミック
・ランダム・アクセス・メモリ(以下、DRAMと略称
する)からなるコード・メモリ(73)、各種入出力機
器(以下、Iloと略称する) (74)とを共通のデ
ータ・バス(75)で接続している。そして、プロセッ
サ(71)のアドレス・ポートからaカされるアドレス
をアドレス・レジスタ(76)に−時的に保持し、アド
レス・レジスタ(76)の内容を直接データ・メモリ(
72)に供給してデータ・メモリ・アクセスを行なわせ
る。また、アドレス・レジスタ(7B)の内容はそのま
まロウ・アドレス比較器(77)に供給されるとともに
、−時レジスタ(78)に保持された後、ロウ・アドレ
ス比較器(77)に供給されてロア・アドレスが変化し
たか否を判別し、この判別結果をD RA M制御回路
(79)に供給してコード・メモリ(73)に対する負
論理のロウ・アドレス・ストローブ信号(以下、RAS
信号と略称する)および負論理のコラム・アドレス・ス
トローブ信号(以下、CAS信号と略称する)を供給す
る。また、アドレス・レジスタ(76)から出力される
アドレスはロウ・アドレスおよびコラム・アドレスに分
離された状態でマルチプレクサ(80)に供給され、D
RAM制御回路(79)から出力される制御信号に応答
して何れか一方が選択されてコード・メモリ(73)に
供給される。
FIG. 11 is a block diagram showing an example of the configuration of a data processing system, which includes a data port of a processor (71) capable of pipeline processing of read instructions, and a static random access memory (hereinafter abbreviated as SRAM). a data memory (72) consisting of a dynamic random access memory (hereinafter abbreviated as DRAM), a code memory (73) consisting of a dynamic random access memory (hereinafter abbreviated as DRAM), and various input/output devices (hereinafter abbreviated as Ilo) (74). They are connected by a common data bus (75). Then, the address read from the address port of the processor (71) is temporarily held in the address register (76), and the contents of the address register (76) are directly stored in the data memory (
72) to perform data memory accesses. In addition, the contents of the address register (7B) are supplied as they are to the row address comparator (77), and after being held in the - hour register (78), they are supplied to the row address comparator (77). It is determined whether or not the lower address has changed, and this determination result is supplied to the DRAM control circuit (79) to generate a negative logic row address strobe signal (hereinafter referred to as RAS) for the code memory (73).
signal) and a negative logic column address strobe signal (hereinafter abbreviated as CAS signal). Further, the address output from the address register (76) is separated into a row address and a column address and is supplied to the multiplexer (80).
One of them is selected in response to a control signal output from the RAM control circuit (79) and supplied to the code memory (73).

さらに、データ処理間隔を規定するタイマ(81)から
のタイム・アップ信号がDRAM制御回路(79)に供
給され、DRAM制御回路(79)がコード・メモリ(
73)に対してCASビフォアRASリフレッシュ信号
を供給する。
Furthermore, a time-up signal from a timer (81) that defines the data processing interval is supplied to the DRAM control circuit (79), which in turn controls the code memory (79).
73).

尚、コード・メモリ(73)は高速ページ・モード・ア
クセスが行なわれるものであり、高速ページ・モード・
アクセスによりプロセッサ(7■)の1サイクル以内の
アクセス・タイムになるようにしている。まt二、コー
ド・メモリ(73)のリフレッシュ期間中はプロセッサ
(71)による命令フェッチを中止させ得るようにして
いる。
Note that the code memory (73) is accessed in high-speed page mode;
The access time is set to within one cycle of the processor (7). Second, instruction fetching by the processor (71) can be stopped during the refresh period of the code memory (73).

上記構成のデータ処理システムにおけるプロセッサの動
作は第12図および第13図に示すとおりである。
The operation of the processor in the data processing system having the above configuration is as shown in FIGS. 12 and 13.

第12図はデータ・メモリ(72)に対するアクセスを
伴なわない処理を示しており、コート・メモリ(73)
からの命令フェッチ、命令のデコード、命令の実行、実
行結果の内部レジスタ等への書き込みをこの順に1クロ
ツク・サイクルで実行するとともに、1クロツク・サイ
クルだけずれたタイミングで次の命令に対する同様の処
理を行なう。したがって、1クロツク・サイクルで命令
フェッチ、命令のデコード、命令の実行、実行結果の内
部レジスタ等への書き込みを実行しているのと等価にな
り、高速処理を達成できる。
FIG. 12 shows processing that does not involve access to the data memory (72).
Fetching instructions from the controller, decoding the instructions, executing the instructions, and writing the execution results to internal registers is executed in this order in one clock cycle, and the same processing is performed for the next instruction at a timing one clock cycle later. Do this. Therefore, this is equivalent to fetching an instruction, decoding the instruction, executing the instruction, and writing the execution result to an internal register in one clock cycle, thereby achieving high-speed processing.

しかし、データ・メモリ(72)からのデータ読み出し
アクセスが必要な場合には、第13図に示すように、L
OAD命令の実行サイクルと書き込みサイクルとの間に
1クロツク中サイクルのIOP処理が介在し、LOAD
命−令と次の命令との間にデータ依存関係があれば、次
の命令のデコードから2クロツク・サイクルたけ遅れて
命令実行処理が行なわれ、その次の命令フェッチから2
タロツク・サイクルだけ遅れてデコード処理が行なわれ
る。
However, if data read access from the data memory (72) is required, the L
IOP processing of one cycle in one clock is interposed between the execution cycle of the OAD instruction and the write cycle, and the LOAD
If there is a data dependency between an instruction and the next instruction, the instruction execution process will be delayed by two clock cycles from the decoding of the next instruction, and two clock cycles will be delayed from the next instruction fetch.
The decoding process is delayed by a tarok cycle.

したがって、その後の命令フェッチまでの間にデータ・
サイクルおよびデイレイ・サイクルが介在することにな
り、2クロツク・サイクルだけコード・メモリ(73)
に対するアクセスを行なうことができなくなる。
Therefore, data is stored until the subsequent instruction fetch.
code memory (73) for two clock cycles.
You will not be able to access the .

この結果、データ・メモリ(72)に対するアクセスが
必要な命令を実行する毎に2クロツク・サイクルだけコ
ード・メモリ(73)に対するアクセスを行なうことが
できなくなり、処理速度が低下してしまうという不都合
がある。
As a result, each time an instruction that requires access to the data memory (72) is executed, the code memory (73) cannot be accessed for two clock cycles, resulting in a reduction in processing speed. be.

また、データ・メモリ(72)に対する書き込みアクセ
スを行なう場合にも、同様に2サイクル・クロックだけ
コード・メモリ(73)に対するアクセスを行なうこと
ができなくなり、処理速度が低下してしまうという不都
合かある。
Furthermore, when performing write access to the data memory (72), the code memory (73) cannot be accessed for just two cycle clocks, resulting in an inconvenience in that the processing speed decreases. .

〈発明の目的〉 この発明は上記の問題点に鑑みてなされたものであり、
プリンストン・アーキテクチャのプロセッサを用いたデ
ータ処理システムにおいて、データ・メモリに対するア
クセスが必要な命令の実行か介在する場合であっても全
体としての処理速度を低下させないようにするためのデ
ータ処理方法およびその装置を提供することを目的とし
ている。
<Object of the invention> This invention was made in view of the above problems,
In a data processing system using a Princeton architecture processor, a data processing method and its method are provided to prevent the overall processing speed from decreasing even when instructions requiring access to data memory are executed or intervened. The purpose is to provide equipment.

く課題を解決するための手段〉 上記の目的を達成するための、この発明のデータ処理方
法は、コード・メモリおよびデータ・メモリが共にマル
チポート・メモリで構成されており、プロセッサによる
命令取り込みよりも少なくとも1サイクル前にプロセッ
サによる命令取り込みと並行して命令を取り込み、デー
タ・メモリ・アクセスが必要な命令をデータ・メモリ・
アクセスを伴なわない命令に変換してコード・メモリに
書き込む方法である。
Means for Solving the Problems> In order to achieve the above object, the data processing method of the present invention is such that both the code memory and the data memory are composed of multi-port memories, and The processor also fetches instructions at least one cycle in advance in parallel with the instruction fetch by the processor, and transfers instructions that require data memory access to the data memory.
This method converts the instruction into an instruction that does not involve access and writes it into the code memory.

上記の目的を達成するための、この発明のデー夕処理装
置は、コード・メモリおよびデータ・メモリか共にマル
チポート・メモリで構成されており、プロセッサによる
命令取り込みよりも少なくとも1サイクル前にプロセッ
サによる命令取り込みと並行して命令を取り込む命令取
り込み手段と、取り込んだ命令がデータ・メモリ・アク
セスを伴なう命令であるか否かを識別する識別手段と、
データ・メモリ・アクセスを伴なう命令であることを示
す志別手段からの識別結果に基づいてデータ・メモリ・
アクセスが必要な命令をデータ・メモリ・アクセスを伴
なわない命令に変換してコード・メモリに書き込む命令
変換手段とを含んでいる。
In order to achieve the above object, the data processing device of the present invention includes both the code memory and the data memory as multi-port memories, and the data processing device is configured such that both the code memory and the data memory are multi-port memories, and the data processing device is configured such that both the code memory and the data memory are composed of multi-port memories, and the data processing device is configured such that both the code memory and the data memory are composed of multi-port memories. an instruction capture unit that captures an instruction in parallel with the instruction capture; an identification unit that identifies whether or not the captured instruction is an instruction that involves data memory access;
Based on the identification result from the discriminating means indicating that the instruction involves data memory access,
and an instruction conversion means for converting an instruction requiring access into an instruction that does not involve data memory access and writing it into the code memory.

第3の発明のデータ処理装置は、命令変換手段が、デー
タ・メモリ・アクセスが必要な命令をデータ・メモリ・
アクセスを伴なわない命令に変換するためのテーブルを
有している。
In the data processing device of the third aspect of the invention, the instruction converting means converts an instruction requiring data memory access into the data memory.
It has a table for converting to instructions that do not involve access.

第4の発明のデータ処理装置は、命令変換途中において
データ・メモリの内容変更を伴なう命令、分岐命令を検
出する特定命令検出手段と、特定命令検出手段からの命
令検出信号に基づいて命令変更処理を無効にする制御手
段とをさらに含んでいる。
A data processing device according to a fourth aspect of the present invention includes specific instruction detection means for detecting instructions and branch instructions that change the contents of data memory during instruction conversion; The method further includes a control means for invalidating the change process.

〈作用〉 以上のデータ処理方法であれば、プリンスト〉・アーキ
テクチャのプロセッサと、少なくとも一方かDRAMか
らなるコード−メモリおよびデータ・メモリとを含むデ
ータ処理システムにおいて、プロセッサによる命令取り
込みよりも少なくとも1サイクル前にプロセッサによる
命令取り込みと並行して命令を取り込み、データ・メモ
リ・アクセスが必要な命令をデータ・メモリ・アクセス
を伴なわない命令に変換してマルチ・ポート・メモリで
構成されたコード・メモリに書き込むのであるから、プ
ロセッサはデータ・メモリ・アクセスが必要な命令では
なく、データ◆メモリ・アクセスを伴なわず、かつ上記
命令と等価な命令を取り込んで実行することになり、パ
イプライン処理が乱れないことになるので、システム全
体としての処理速度、即ちMIPS値を高めることがで
きる。
<Operation> With the data processing method described above, in a data processing system including a processor of Printo architecture and code memory and data memory consisting of at least one of DRAM, at least one The code is configured with multi-port memory by fetching instructions in parallel with the instruction fetching by the processor before the cycle, and converting instructions that require data memory access into instructions that do not involve data memory access. Since it writes to memory, the processor fetches and executes an instruction that does not involve data memory access and is equivalent to the above instruction, rather than an instruction that requires data memory access, resulting in pipeline processing. This means that the processing speed of the entire system, that is, the MIPS value, can be increased.

以上の構成のデータ処理装置であれば、プリンストン・
アーキテクチャのプロセッサと、少なくとも一方がDR
AMからなるコード・メモリおよびデータ・メモリとを
含むデータ処理システムにおいて、プロセッサによる命
令取り込みよりも少なくとも1サイクル前にプロセッサ
による命令取り込みと並行して命令取り込み手段により
命令を取り込み、取り込んだ命令がデータ・メモリ・ア
クセスを伴なう命令であるか否かを識別手段により識別
し、データ・メモリ・アクセスが必要な命令であると識
別された場合に、該当する命令を命令変換手段によりデ
ータ・メモリ・アクセスを伴なわない命令に変換してマ
ルチ・ポート・メモリで構成されたコード・メモリに書
き込むのであるから、プロセッサはデータ・メモリ令ア
クセスが必要な命令ではなく、データ・メモリ・アクセ
スを伴なわず、かつ上記命令と等価な命令を取り込んで
実行することになり、パイプライン処理が乱れないこと
になるので、システム全体としての処理速度、即ちMI
PS値を高めることができる。
If the data processing device has the above configuration, Princeton
architecture, at least one of which is a DR
In a data processing system including a code memory and a data memory consisting of an AM, an instruction is fetched by an instruction fetching means in parallel with the instruction fetching by the processor at least one cycle before the instruction fetching by the processor, and the fetched instruction is converted into data. - The identification means identifies whether the instruction involves memory access or not, and if it is identified as an instruction that requires data memory access, the instruction conversion means converts the corresponding instruction to the data memory.・Since the processor converts the instruction to an instruction that does not involve access and writes it to the code memory configured with multi-port memory, the processor converts the instruction to an instruction that involves data memory access, rather than an instruction that requires data memory access. The processing speed of the entire system, that is, the MI
PS value can be increased.

そして、命令変換手段が、データ・メモリ・アクセスが
必要な命令をデータ・メモリ・アクセスを伴なわない命
令に変換するためのテーブルを有している場合には、テ
ーブルを参照することにより命令の変更を簡単に達成で
きる。
If the instruction conversion means has a table for converting an instruction that requires data memory access into an instruction that does not involve data memory access, the instruction conversion means can convert the instruction by referring to the table. Changes can be easily achieved.

また、命令変換途中においてデータ・メモリの内容変更
を伴なう命令、分岐命令を検出する特定命令検出手段と
、特定命令検出手段からの命令検出信号に基づいて命令
変更処理を無効にする制御手段とをさらに含んでいる場
合には、命令変換を施すことにより他の命令に影響を及
ぼし、或は先行して読み込んだ命令を実行しなくなる特
定命令が検出された場合に、命令変換を無効にできるの
で、処理の確実性を確保したままで処理の高速化を達成
できる。
Further, there is a specific instruction detection means for detecting instructions and branch instructions that change the contents of data memory during instruction conversion, and a control means for disabling instruction change processing based on an instruction detection signal from the specific instruction detection means. If a specific instruction is detected that affects other instructions by executing the instruction conversion or prevents the execution of the previously read instruction, the instruction conversion is disabled. Therefore, it is possible to achieve high-speed processing while maintaining processing reliability.

〈実施例〉 以下、実施例を示す添付図面によって詳細に説明する。<Example> Hereinafter, embodiments will be described in detail with reference to the accompanying drawings showing examples.

第1図はこの発明のデータ処理装置の一実施例を概略的
に示すブロック図であり、取り込んだ命令をパイプライ
ン処理するプロセッサ(1)に対して共通のデータ・バ
ス(2)を介して、データ・メモリおよびコード・メモ
リを兼ねる4ポート・メモリ(3)および周辺入出力機
器(4)が接続されている。そして、プロセッサ(1)
から出力されるアドレスをアドレス・レジスタ(5)に
より一時的に保持して4ポート・メモリ(3)に供給し
ているとともに、命令変換のために必要な一連の処理を
行なう制御部(6)にも供給している。この制御部(6
)において発生されるアドレスを4ポート・メモリ(3
)に供給し、プロセッサ(1)によるメモリ・アクセス
と並行して制御部(6)による命令アクセスを行なうこ
とができるようにしている。
FIG. 1 is a block diagram schematically showing an embodiment of a data processing device according to the present invention, in which a processor (1) that performs pipeline processing on fetched instructions is connected to a processor (1) via a common data bus (2). , a 4-port memory (3) that also serves as data memory and code memory, and peripheral input/output devices (4) are connected. And processor (1)
A control unit (6) temporarily holds the address output from the address register (5) and supplies it to the 4-port memory (3), and performs a series of processes necessary for instruction conversion. We also supply This control unit (6
) to the 4-port memory (3
) so that the control unit (6) can access instructions in parallel with the memory access by the processor (1).

第2図は制御部(6)の構成を示すブロック図であり、
命令変換を行なってもよいか否かを判別する第1制御部
(6a)と、実際に命令変換を行なう第2制御部(6b
)と、変換された命令を4ポート・メモリ(3)に書き
込む第3制御部(6c)とを有しており、各制御部がパ
イプライン動作される。
FIG. 2 is a block diagram showing the configuration of the control section (6),
A first control unit (6a) that determines whether or not instruction conversion may be performed, and a second control unit (6b) that actually performs instruction conversion.
) and a third control section (6c) for writing the converted instructions into the 4-port memory (3), and each control section is operated in a pipeline.

第1制御部(6a)は、アドレス・レジスタ(5)から
出力されるアドレスに対して命令を先読みするサイクル
数を示す定数値(例えば3)を加算器(6al)により
加算して4ポート・メモリ(3)に供給してBポートか
ら対応する命令を読み出しく先読みし)、読み出した命
令が5TORE命令、分岐命令の何れかであるか何れで
もないかを第1キャンセル制御部(6a2)により判別
し、何れかの命令であると判別された場合に、第2制御
部(6b)および第3制御部(6c)に対してキャンセ
ル指示信号を供給する。
The first control unit (6a) uses an adder (6al) to add a constant value (for example, 3) indicating the number of cycles for prefetching instructions to the address output from the address register (5). The first cancel control unit (6a2) determines whether the read instruction is a 5TORE instruction, a branch instruction, or neither. If it is determined that it is any command, a cancel instruction signal is supplied to the second control section (6b) and the third control section (6c).

逆に、何れの命令でもないと判別された場合には、該当
する命令をレジスタ(6a3)に−時保持させる。
Conversely, if it is determined that it is not any instruction, the corresponding instruction is held in the register (6a3).

第2制御部(6b)は、レジスタ(6a3)に保持され
ている命令に基づいてデータ・メモリ・アドレス抽出部
(6bl)によりデータ・メモリのアドレスを抽出じて
4ポート・メモリ(3)に供給し、4ポート・メモリ(
3)のCポートから読ろ出されるデータおよびレジスタ
(6a3)に保持されている命令を命令変換テーブル(
6b2)に供給してデータ・メモリ・アクセスが必要な
命令をデータ・メモリ・アクセスを伴なわない命令に変
換してレジスタ(6b3)に−時保持させる。また、デ
ータ・メモリ・アドレス抽出部(6bl)により抽出さ
れたデータ・メモリのアドレスを第2キャンセル制御部
(6b4)に供給し、プロセッサ(1)によるアクセス
・アドレスと等しい場合に第3制御部(6c)に対して
キャンセル指示信号を供給する。具体的には、第3図に
示すように、データ・メモリ・アドレス抽出部(6bl
)により抽出されたデータ・メモリのアドレスをレジス
タ(6b41)により一時保持し、レジスタ(6b41
)の内容と4ポート・メモリ(3)のAポートに供給さ
れるアドレスとが一致しているか否かを比較部(6b4
2)により判別し、比較部(6b42)から出力される
判別結果信号およびAボートに対するライト・ストロー
ブ信号をANDゲート(6b43)に供給している。し
たがって、両アドレスが一致し、かつAポートに対する
ライト・ストローブ信号が供給されていることを条件と
して第3制御部(6c)に対してキャンセル指示信号を
供給する。
The second control unit (6b) extracts the address of the data memory using the data memory address extraction unit (6bl) based on the instruction held in the register (6a3), and stores the address in the 4-port memory (3). 4-port memory (
The data read out from the C port of 3) and the instructions held in the register (6a3) are converted to the instruction conversion table (
6b2) to convert an instruction that requires data memory access into an instruction that does not involve data memory access, and causes the register (6b3) to hold -time. Further, the data memory address extracted by the data memory address extraction unit (6bl) is supplied to the second cancellation control unit (6b4), and if it is equal to the access address by the processor (1), the address of the data memory extracted by the data memory address extraction unit (6bl) is supplied to the third control unit. A cancel instruction signal is supplied to (6c). Specifically, as shown in FIG.
) is temporarily held in the register (6b41), and the address of the data memory extracted by
) matches the address supplied to the A port of the 4-port memory (3).
2), and the determination result signal output from the comparator (6b42) and the write strobe signal for the A boat are supplied to the AND gate (6b43). Therefore, a cancel instruction signal is supplied to the third control section (6c) on condition that both addresses match and a write strobe signal for the A port is supplied.

第3制御部(6c)は、アドレス・レジスタ(5)がら
出力されるアドレスに対して定数値(例えば1)を加算
器(6cl)により加算して4ポート・メモリ(3)に
供給して書き込みアドレスを指示する。そして、レジス
タ(6b3)に保持されている命令を書き換え/保存制
御部(8c2)に供給することにより書き換え、保存の
要否を判別し、必要な場合にのみ4ポート・メモリ(3
)のDポートに該当する命令を供給する。
The third control unit (6c) adds a constant value (for example, 1) to the address output from the address register (5) using an adder (6cl) and supplies the result to the four-port memory (3). Specify the write address. Then, the instruction held in the register (6b3) is rewritten by supplying it to the rewrite/save control unit (8c2), and it is determined whether storage is necessary or not. Only when necessary, the 4-port memory (3
) is supplied with the corresponding instruction to the D port.

上記構成のデータ処理装置の動作は次のとおりである。The operation of the data processing device having the above configuration is as follows.

第4図はプロセッサ(1)のみによる命令のパイプライ
ン処理を示すタイミング・チャートであり、データ・メ
モリ・アクセスを伴なわない命令が連続している場合に
は、命令フェッチ、デコード、実行、内部レジスタに対
する書き込みが1クロツク・サイクルずつ遅れたタイミ
ングで実行される。
FIG. 4 is a timing chart showing instruction pipeline processing by processor (1) only. When instructions that do not involve data memory access are consecutive, instruction fetch, decode, execution, internal Writes to registers are executed with a delay of one clock cycle.

しかし、例えば、データ・メモリに対する読み出しアク
セスが必要な命令を実行する場合には実行サイクルに続
いてデータ・メモリからの読み出しが行なわれた後に内
部レジスタに対する書き込みが行なわれることになるの
でパイプライン処理が乱れることになる。尚、第4図に
示すTは変換対象命令に対する変換決定が行なわれる前
の処理タイミングと、変換決定後の処理タイミングとの
境界を示し、ノは制御部(6)のパイプライン構成に依
存するサイクル数を、Sはプロセッサ(1)の実行/イ
イプラインに依存するサイクル数を示している。
However, for example, when executing an instruction that requires read access to data memory, pipeline processing is necessary because the data memory is read from data memory and then written to internal registers following the execution cycle. will be disrupted. Note that T shown in FIG. 4 indicates the boundary between the processing timing before the conversion decision is made for the conversion target instruction and the processing timing after the conversion decision is made, and T depends on the pipeline configuration of the control unit (6). S indicates the number of cycles depending on the execution/planning of the processor (1).

このタイミング・チャートにおける、データ・メモリか
らの読み出しを伴なう命令は、J−3であるから、第5
図に示すように、3サイクル前にフェッチされ、次のサ
イクルでデータ・メモリ・アクセスを伴なわない命令に
変換され、さらに次のサイクルで変換後の命令の書き換
えが行なわれる。この結果、プロセッサ(1)は変換さ
れた命令を取り込んで処理することになり、しかも変換
後の命令はデータ・メモリ・アクセスを伴なわない命令
であるから、パイプライン処理を乱すことなく高速処理
を達成できる。
In this timing chart, the instruction that involves reading from the data memory is J-3, so the fifth instruction
As shown in the figure, the instruction is fetched three cycles ago, converted into an instruction that does not involve data memory access in the next cycle, and then rewritten in the next cycle. As a result, the processor (1) takes in and processes the converted instructions, and since the converted instructions do not involve data memory access, they can be processed at high speed without disrupting pipeline processing. can be achieved.

第6図および第7図はノとSとが異なる場合を示すタイ
ミング・チャートであり、この場合にも、データ・メモ
リ・アクセスが必要な命令をデータ・メモリ・アクセス
を伴なわない命令に変換した後にのみプロセッサによる
該当する命令の処理か行なわれるので、パイプライン処
理の乱れを防止して高速処理を達成できる。
FIGS. 6 and 7 are timing charts showing cases where No and S are different, and in this case as well, instructions that require data memory access are converted to instructions that do not involve data memory access. Since the processor processes the corresponding instruction only after the instruction is executed, it is possible to prevent disturbances in pipeline processing and achieve high-speed processing.

第8図(AI)(A2) 、第9図(AI)(A2)お
よび第1O図はそれぞれLOAD命令、ADD命令、5
HIFT命令を示すフォーマットであり、これらのフォ
ーマットを参照しなから命令変換を具体的に説明する。
Figure 8 (AI) (A2), Figure 9 (AI) (A2) and Figure 1O are LOAD instruction, ADD instruction, 5
These are formats that indicate HIFT instructions, and instruction conversion will be specifically explained without reference to these formats.

例えば、第8図(A2)に示すフォーマットにおいて、
データーアドレス51mm13の1ワ一ド分のデータを
読み出す命令が与えられ、読み出しデータを格納するレ
ジスタrslのアドレスがrOで与えられ、データ・ア
ドレス51mm13のメモリ内容がH#000000A
Oである場合には、第9図(A2)に示すフォーマット
においてオペランドをADDに変更し、51mm13を
H#OAOに変更しておくだけでよく、LOAD命令と
等しい実行結果が得られ、かつデータ・メモリ・アクセ
スを伴なわない命令に変換できる。
For example, in the format shown in FIG. 8 (A2),
An instruction to read one word of data at data address 51mm13 is given, the address of register rsl that stores the read data is given by rO, and the memory contents at data address 51mm13 are H#000000A.
In the case of O, all you need to do is change the operand to ADD and 51mm13 to H#OAO in the format shown in FIG. 9 (A2), and you can obtain the same execution result as the LOAD instruction, and - Can be converted to instructions that do not involve memory access.

また、第8図(A2)に示すフォーマットにおいて、デ
ータ・アドレス51mm13のメモリ内容がH#002
28000である場合には、オペランドOP、OP2を
それぞれ00,100に設定することによりシフト処理
を指示し、1mm22をH#000114に設定してお
くだけでよく、LORD命令と等しい実行結果が得られ
、かつデータ・メモリ・アクセスを伴なわない命令に変
換できる。
In addition, in the format shown in FIG. 8 (A2), the memory contents of data address 51mm13 are H#002.
28000, it is sufficient to instruct shift processing by setting operands OP and OP2 to 00 and 100, respectively, and setting 1mm22 to H#000114, and the same execution result as the LORD instruction can be obtained. , and can be converted into an instruction that does not involve data memory access.

但し、命令変換を行なうことができない場合には、書き
換え/保存制御部(6c2)に対して無効なダミー命令
を供給する。
However, if the instruction cannot be converted, an invalid dummy instruction is supplied to the rewrite/save control unit (6c2).

また、以上の命令変換処理により不都合が発生する場合
には、以下のようにして命令変換処理をキャンセルさせ
る。
Furthermore, if any inconvenience occurs due to the above instruction conversion process, the instruction conversion process is canceled as follows.

即ち、Sで示すサイクル中にデータ・メモリの該当する
アドレスの内容が変化すると、変換後の命令の実行結果
と変換前の命令の実行結果とが−致しなくなり、また、
ノで示すサイクル中に分岐命令が存在する場合には、命
令の流れが大幅に変化し、命令の先読みが無効になって
しまう。
That is, if the contents of the corresponding address of the data memory change during the cycle indicated by S, the execution result of the instruction after conversion and the execution result of the instruction before conversion will no longer match, and
If a branch instruction exists in the cycle indicated by , the flow of instructions changes significantly, and instruction prefetching becomes invalid.

したがって、Jて示すサイクル中に第1キャンセル制御
部(6a2)により5TORE命令を検出した場合には
、データ・メモリの内容変更を伴なうことが明らかであ
るから、第2制御部(6b)および第3制御部(6c)
の処理を無効にすべくキャンセル指示信号を供給する。
Therefore, when the first cancel control unit (6a2) detects the 5TORE instruction during the cycle indicated by J, it is obvious that the content of the data memory is changed, so the second control unit (6b) and third control section (6c)
A cancel instruction signal is supplied to invalidate the process.

また、分岐命令を検出した場合にも、同様に第2制御部
(6b)および第3制御部(6C)の処理を無効にすべ
くキャンセル指示信号を供給する。
Furthermore, when a branch instruction is detected, a cancel instruction signal is similarly supplied to invalidate the processing of the second control section (6b) and the third control section (6C).

さらに、ノで示すサイクル中にデータ・メモリの内容が
変化することは第1制御部(6a)および第2制御部(
6b)の処理中においては許容されるのであるが、第3
制御部(6c)の処理中においてデータ・メモリの内容
が変化することは許容できない。
Furthermore, the contents of the data memory change during the cycle indicated by the first control section (6a) and the second control section (6a).
It is permissible during the process of 6b), but the third
It is not acceptable for the contents of the data memory to change during processing by the control unit (6c).

したがって、このような場合には、第2キャンセル制御
部(6b4)によりキャンセル指示信号を発生して第3
制御部(6C)に供給し、第3制御部(6c)の処理を
無効にする。
Therefore, in such a case, the second cancel control section (6b4) generates a cancel instruction signal and cancels the third cancel control section (6b4).
The signal is supplied to the control unit (6C) to invalidate the processing of the third control unit (6c).

以上の説明から明らかなように、命令の変換が可能であ
り、しかもデータ・メモリの内容が変更されることに伴
なう不都合が生じない場合にのみ命令変換を行なうこと
かできるので、プロセッサ(1)かデータ・メモリをア
クセスしなければならない命令の数を大幅に低減でき、
データ処理システム全体としての処理速度を高速化でき
る。
As is clear from the above explanation, instruction conversion can be performed only when it is possible and there are no inconveniences associated with changing the contents of data memory. 1) The number of instructions that must access data memory can be greatly reduced,
The processing speed of the data processing system as a whole can be increased.

以上の説明から明らかなように、サイクル数ノは任意に
定めることが可能であるが、サイクル数ノか大きくなる
とJサイクル中の5TORE命令、分岐命令が介在する
可能性が高くなるので、可能な限り小さく設定すること
が好ましい。さらに、第1キャンセル制御部(6a2)
によりJサイクル中に生じるデータ・メモリ・アクセス
に起因するパイプライン処理の乱れを未然に検出して第
2制御部(6b)および第3制御部(6C)にキャンセ
ル指示信号を供給するようにして第2キャンセル制御部
(Bd4)を省略することか可能である。
As is clear from the above explanation, the number of cycles can be arbitrarily determined, but as the number of cycles increases, the possibility of intervening 5TORE instructions and branch instructions during the J cycle increases. It is preferable to set it as small as possible. Furthermore, the first cancellation control section (6a2)
Accordingly, a disturbance in pipeline processing caused by data memory access occurring during the J cycle is detected in advance, and a cancel instruction signal is supplied to the second control section (6b) and the third control section (6C). It is possible to omit the second cancellation control section (Bd4).

〈発明の効果〉 以上のように第1の発明は、データ・メモリのアクセス
か必要な命令を予めデータ・メモリ・アクセスを伴なわ
ない命令に変換しておくことができ、この結果プロセッ
サのパイプラインを殆と乱さすに順次命令の処理を行な
うことかできるので、データ処理システム全体としての
処理速度を大幅に高めることかできるという特有の効果
を奏する。
<Effects of the Invention> As described above, in the first invention, an instruction that requires data memory access can be converted in advance to an instruction that does not involve data memory access, and as a result, the processor pipe Since the instructions can be processed sequentially without disrupting the line, it has the unique effect of greatly increasing the processing speed of the data processing system as a whole.

第2の発明も、データ・メモリのアクセスか2要な命令
を予めデータ・メモリ・アクセスを伴なわない命令に変
換しておくことかでき、この結果プロセッサのパイプラ
インを殆ど乱さすに順次命令の処理を行なうことかでき
るので、データ処理システム全体としての処理速度を大
幅に高めることかできるという特有の効果を奏する。
The second invention also allows instructions that require data memory access to be converted in advance to instructions that do not involve data memory access, and as a result, the instructions can be sequentially converted without disturbing the pipeline of the processor. This has the unique effect of greatly increasing the processing speed of the data processing system as a whole.

第3の発明は、テーブルを参照するたけて簡単に命令変
換を行なうことができ、命令変換処理の高速化および構
成の簡素化を達成できるという特有の効果を奏する。
The third invention has the unique effect that it is possible to easily convert instructions by referring to a table, and that it is possible to speed up the instruction conversion process and simplify the configuration.

第4の発明は、命令変換を行なうことにより初期の結果
が得られなくなる可能性かある場合に命令変換を無効に
できるので、データ処理の正確さを確保したままでデー
タ処理システム全体としての処理速度を大幅に高めるこ
とかできるという特有の効果を奏する。
The fourth invention is that the instruction conversion can be disabled when there is a possibility that the initial result will not be obtained due to the instruction conversion, so that the processing as a whole data processing system can be performed while ensuring the accuracy of data processing. It has the unique effect of greatly increasing speed.

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

第1図はこの発明のデータ処理装置の一実施例を概略的
に示すブロック図、 第2図は制御部の構成を詳細に示すブロック図、第3図
は第2キャンセル制御部の構成の一例を示すブロック図
、 第4図および第5図は命令変換処理の一例を説明する図
、 第6図および第7図は命令変換処理の他の例を説明する
図、 第8図(AI)(A2)、第9図(AI)(A2)およ
び第1O図はそれぞれLOAD命令、ADD命令、SH
I FT命令のフォーマットを示す図、第11図はデー
タ処理システムの従来例を示すブロック図、 第12図および第13図は従来例におけるプロセッサの
パイプライン処理を説明するタイミングチャート。 (1)・・・プロセッサ、(2)・・・データ・バス、
(3)・・・4ポート・メモリ、(6)・・制御部、(
6a)・・・第1制御部、(6al)・・・加算器、(
6a2)・・・第1キャンセル制御部、(6b)・・・
第2制御部、(6b2)・・・命令変換テーブル、(6
b4)・・・第2キャンセル制御部、(6C)・・・第
3制御部、 (6c2)・・・書き換え/保存制御部特許出願人  
ダイキン工業株式会社
FIG. 1 is a block diagram schematically showing an embodiment of the data processing device of the present invention, FIG. 2 is a block diagram showing the configuration of the control section in detail, and FIG. 3 is an example of the configuration of the second cancellation control section. FIGS. 4 and 5 are diagrams for explaining an example of the instruction conversion process; FIGS. 6 and 7 are diagrams for explaining another example of the instruction conversion process; FIG. 8 (AI) A2), Figure 9 (AI) (A2) and Figure 1O are the LOAD instruction, ADD instruction, and SH, respectively.
FIG. 11 is a block diagram showing a conventional example of a data processing system; FIGS. 12 and 13 are timing charts illustrating pipeline processing of a processor in the conventional example. (1)...processor, (2)...data bus,
(3)...4-port memory, (6)...control unit, (
6a)...First control unit, (6al)...Adder, (
6a2)...first cancellation control section, (6b)...
Second control unit, (6b2)...Instruction conversion table, (6
b4)...Second cancellation control section, (6C)...Third control section, (6c2)...Rewrite/save control section Patent applicant
Daikin Industries, Ltd.

Claims (1)

【特許請求の範囲】 1、読み込み命令をパイプライン処理するプロセッサ(
1)と、命令を格納するコード・メモリ(3)と、デー
タを格納するデータ・メモリ(3)とを含み、プロセッ
サ(1)による命令アクセスのためのバス(2)とデー
タ・アクセスのためのバス(2)とが分離されていない
データ処理システムにおいて、コード・メモリ(3)お
よびデータ・メモリ(3)が共にマルチポート・メモリ
(3)で構成されており、プロセッサ(1)による命令
取り込みよりも少なくとも1サイクル前にプロセッサ(
1)による命令取り込みと並行して命令を取り込み、デ
ータ・メモリ・アクセスが必要な命令をデータ・メモリ
・アクセスを伴なわない命令に変換してコード・メモリ
(3)に書き込むことを特徴とするデータ処理方法。 2、読み込み命令をパイプライン処理するプロセッサ(
1)と、命令を格納するコード・メモリ(3)と、デー
タを格納するデータ・メモリ(3)とを含み、プロセッ
サ(1)による命令アクセスのためのバス(2)とデー
タ・アクセスのためのバス(2)とが分離されていない
データ処理システムにおいて、コード・メモリ(3)お
よびデータ・メモリ(3)が共にマルチポート・メモリ
(3)で構成されており、プロセッサ(1)による命令
取り込みよりも少なくとも1サイクル前にプロセッサに
よる命令取り込みと並行して命令を取り込む命令取り込
み手段(6)(6a)(6a1)と、取り込んだ命令が
データ・メモリ・アクセスを伴なう命令であるか否かを
識別する識別手段(6)(6a)(6a2)と、データ
・メモリ・アクセスを伴なう命令であることを示す識別
手段(6)(6a)(6a2)からの識別結果に基づい
てデータ・メモリ・アクセスが必要な命令をデータ・メ
モリ・アクセスを伴なわない命令に変換してコード・メ
モリ(3)に書き込む命令変換手段(6)(6b)(6
c)(6c2)とを含んでいることを特徴とするデータ
処理装置。 3、命令変換手段(6)(6b)(6c)(6c2)が
、データ・メモリ・アクセスが必要な命令をデータ・メ
モリ・アクセスを伴なわない命令に変換するためのテー
ブル(6b2)を有している上記特許請求の範囲第2項
記載のデータ処理装置。 4、命令変換途中においてデータ・メモリ(3)の内容
変更を伴なう命令、分岐命令を検出する特定命令検出手
段(6a2)(6b4)と、特定命令検出手段(6a2
)(6b4)からの命令検出信号に基づいて命令変更処
理を無効にする制御手段(6a2)(6b4)(6b4
1)(6b42)(6b43)とをさらに含む上記特許
請求の範囲第2項記載のデータ処理装置。
[Claims] 1. A processor that pipelines read instructions (
1), a code memory (3) for storing instructions, and a data memory (3) for storing data, including a bus (2) for instruction access by the processor (1) and a bus (2) for data access. In a data processing system in which a bus (2) of The processor (
The feature is that the instruction is fetched in parallel with the instruction fetch by step 1), and an instruction that requires data memory access is converted into an instruction that does not involve data memory access, and the converted instruction is written into the code memory (3). Data processing methods. 2. A processor that pipelines read instructions (
1), a code memory (3) for storing instructions, and a data memory (3) for storing data, including a bus (2) for instruction access by the processor (1) and a bus (2) for data access. In a data processing system in which a bus (2) of Instruction fetching means (6) (6a) (6a1) fetching an instruction in parallel with instruction fetching by a processor at least one cycle before fetching, and whether the fetched instruction is an instruction that involves data memory access. Based on the identification results from the identification means (6), (6a), and (6a2) that identify whether or not the instruction instruction conversion means (6) (6b) (6) for converting an instruction requiring data memory access into an instruction that does not involve data memory access and writing it into the code memory (3);
c) A data processing device characterized by comprising (6c2). 3. The instruction conversion means (6) (6b) (6c) (6c2) has a table (6b2) for converting an instruction requiring data memory access into an instruction that does not involve data memory access. A data processing apparatus according to claim 2, wherein the data processing apparatus comprises: 4. Specific instruction detection means (6a2) (6b4) for detecting instructions and branch instructions that change the contents of the data memory (3) during instruction conversion;
) (6b4) control means (6a2) (6b4) (6b4) for disabling the command change processing based on the command detection signal from (6b4)
1) (6b42) (6b43).
JP2337413A 1990-11-30 1990-11-30 Method and device for processing data Pending JPH04205426A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2337413A JPH04205426A (en) 1990-11-30 1990-11-30 Method and device for processing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2337413A JPH04205426A (en) 1990-11-30 1990-11-30 Method and device for processing data

Publications (1)

Publication Number Publication Date
JPH04205426A true JPH04205426A (en) 1992-07-27

Family

ID=18308403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2337413A Pending JPH04205426A (en) 1990-11-30 1990-11-30 Method and device for processing data

Country Status (1)

Country Link
JP (1) JPH04205426A (en)

Similar Documents

Publication Publication Date Title
EP0384620B1 (en) High performance memory system
JP3092566B2 (en) Memory control method using pipelined bus
US5287483A (en) Prefetched operand storing system for an information processor
JPH04205426A (en) Method and device for processing data
JP3145545B2 (en) Memory access device
JPH0950376A (en) Data processor
JPS60195661A (en) Data processing system
JP2023127985A (en) Information processor, information processing method, and program
JPH0447350A (en) Main storage read/response control
JP2005010995A (en) Multiprocessor system and process for dealing with trouble of write-back thereof
JPH0212440A (en) Main memory device with fifo cache memory
JPS63311458A (en) Memory testing system for information processor
JP2000259495A (en) Cache memory control method and multiprocessor system
JPS62280936A (en) Runaway detection method
GB2261537A (en) Computer
JPH0373021A (en) Microcomputer
JPS63165931A (en) Storing system for information on discontinuous instruction fetch address
JPH04205993A (en) Memory refreshing method and device therefor
JPH04254985A (en) Dram controller
JPH03269743A (en) High-reliability cache control system
JPH07114502A (en) Data processor, data storage device, and their testing method
JPS57162186A (en) Patrol controlling system of main memory
JPH05210586A (en) Cache memory control circuit
JPH01239636A (en) Microcomputer system
JPH05204845A (en) Data processor and its control method