JPH11237972A - Functional memory, data processor utilizing the same and medium for recording compiler of the same processor - Google Patents

Functional memory, data processor utilizing the same and medium for recording compiler of the same processor

Info

Publication number
JPH11237972A
JPH11237972A JP10040759A JP4075998A JPH11237972A JP H11237972 A JPH11237972 A JP H11237972A JP 10040759 A JP10040759 A JP 10040759A JP 4075998 A JP4075998 A JP 4075998A JP H11237972 A JPH11237972 A JP H11237972A
Authority
JP
Japan
Prior art keywords
data
memory
cpu
processing
bank
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
JP10040759A
Other languages
Japanese (ja)
Inventor
Osamu Okamoto
理 岡本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10040759A priority Critical patent/JPH11237972A/en
Publication of JPH11237972A publication Critical patent/JPH11237972A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a functional memory and a data processor with which the load on a CPU is reduced and a high-speed data processing is enabled. SOLUTION: When compiling a program to be processed, arrangement data to be processed are identified on the stage of compiling while being segmented into an arithmetic processing section to be performed by a CPU and an arithmetic processing section requiring a large amount data processings without successive processings by a functional memory 130 and are mapped so as to be stored in the functional memory 130. The functional memory 130 is provided with an arithmetic part 540 which has an arithmetic processing function and which is equipped with product/sum logic circuits 550 and 560 or the like. The arithmetic processing part 540 is provided with plural first-in first-out(FIFO) memories 500-510, and the arrangement data to become a source for executing the arithmetic processing section are written. A means is further provided for detecting finally written arrangement data from the CPU after arithmetic processings at the CPU and operation is performed while synchronizing the operation inside the functional memory 130 and the operation at the CPU.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、大量のデータを取
り扱い、特にメモリ機能を持ち、メモリ空間上のアクセ
スでデータを入出力するとともに、同時にそのデータに
対して、演算処理を行なう機能メモリを含むデータ処理
装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a functional memory which handles a large amount of data, particularly has a memory function, inputs and outputs data by accessing a memory space, and simultaneously performs arithmetic processing on the data. The present invention relates to a data processing device including:

【0002】[0002]

【従来の技術】従来のデータ処理装置を図6に示す。7
00は、データ処理を行なう中央演算処理装置(以下、
CPUと略記する)、710は、データ処理装置が処理
を行なうデータおよびプログラムを格納する主メモリで
あるDRAM(Dynamic RandomAccess Memory.以下DR
AMと略記する)、720は、前記CPU700と前記
メモリ710のデータのやり取りを行なうためのデータ
線である。このデータ線720は、前記主メモリ710
に採用されるデバイスに対応して、例えば、EDO・D
RAM(Extended data out DRAM),SDRAM(Synchro
nous DRAM),RAMBUS準拠DRAM等によりそれぞ
れ固有のものであり、それぞれのメモリタイプによりデ
ータ入出力プロトコルが変わる。740はIO(Input O
utput)装置で、ハードディスクなどの外部の二次記憶媒
体およびCPU700と前記外部装置との間のデータ入
出力インタフェースである。
2. Description of the Related Art A conventional data processing apparatus is shown in FIG. 7
00 is a central processing unit (hereinafter, referred to as a central processing unit) that performs data processing.
A CPU (abbreviated as CPU) 710 is a DRAM (Dynamic Random Access Memory), which is a main memory for storing data and programs to be processed by the data processing device.
Reference numeral 720 denotes a data line for exchanging data between the CPU 700 and the memory 710. This data line 720 is connected to the main memory 710
For example, EDO D
RAM (Extended data out DRAM), SDRAM (Synchro
Nous DRAM), RAMBUS-compliant DRAM, etc., and the data input / output protocol changes depending on each memory type. 740 is IO (Input O
utput device, which is an external secondary storage medium such as a hard disk and a data input / output interface between the CPU 700 and the external device.

【0003】このようなデータ処理装置では、例えば、
図7に示すようなプログラム1が処理され、データの入
出力が行われる。画像データ処理など大量のデータ処理
が必要となるものである。
In such a data processing device, for example,
The program 1 as shown in FIG. 7 is processed, and data is input / output. A large amount of data processing such as image data processing is required.

【0004】プログラム1の中には、サブプログラム
(a)およびサブプログラム(c)のようなif文等を
含む条件分岐を含む逐次処理が必要なプログラム部分が
あり、また、サブプログラム(b)のようなデータ処理
のみを大量に行なう部分がある。
The program 1 includes a program part that requires sequential processing including a conditional branch including an if statement such as a subprogram (a) and a subprogram (c), and a subprogram (b) There is a part that performs only a large amount of data processing as described above.

【0005】[0005]

【発明が解決しようとする課題】しかし、前者の逐次処
理の部分は、通常のCPU700にとってその処理が得
意な内容であり、後者の大量データ処理の部分について
は、通常のCPU700で実行可能な部分であるが、処
理量が大量であると非常に処理が重いものである。この
ような大量データ処理はCPUにはかなりの負担を負わ
せることとなるために、CPUのみですべての処理を行
うのは好ましくない。そこで、最近の一部のCPUにお
いては、マルチメディア命令セットの追加で本来のプロ
セッサ内の演算回路に専用の処理回路を付加して対処す
るものが登場している。このようなプロセッサは高価で
あるので、当該大量データ処理部分をCPUから切り離
し、外付けまたは1チップ化によるディジタルシグナル
プロセッサ(以下、DSPと略記する)等の専用デバイ
スを採用するものがあるが、このような専用デバイスに
よる処理を行うためには、専用デバイス自体の開発コス
トがかかる上に、CPU、専用デバイスなど関連するリ
ソースを制御するための専用のプロトコル、複雑なコン
パイラが特別に必要となりコストの増加を招いていた。
However, the former sequential processing part is good for the ordinary CPU 700, and the latter large-volume data processing part is a part that can be executed by the ordinary CPU 700. However, if the processing amount is large, the processing is extremely heavy. Since such a large amount of data processing imposes a considerable burden on the CPU, it is not preferable to perform all the processing only by the CPU. In view of this, some recent CPUs have come to cope with the problem by adding a dedicated processing circuit to the original arithmetic circuit in the processor by adding a multimedia instruction set. Since such a processor is expensive, the large-volume data processing portion is separated from the CPU, and a dedicated device such as an external or one-chip digital signal processor (hereinafter abbreviated as DSP) is used. In order to perform processing by such a dedicated device, the development cost of the dedicated device itself is required, and a dedicated protocol for controlling resources related to the CPU, the dedicated device, and a complicated compiler are specially required. Was increasing.

【0006】本発明は上記の問題点に鑑み、専用のプロ
トコル、複雑なコンパイラを必要としない演算機能を持
った機能メモリ、機能メモリを利用したデータ処理装置
およびデータ処理装置のコンパイラを記録した記録媒体
を提供することを目的とする。
SUMMARY OF THE INVENTION In view of the above problems, the present invention provides a function memory having a dedicated protocol, an arithmetic function that does not require a complicated compiler, a data processing device using the function memory, and a recording device storing a compiler of the data processing device. The purpose is to provide a medium.

【0007】[0007]

【課題を解決するための手段】上記課題を解決するた
め、本発明にかかる機能メモリは、CPUの処理を補助
する演算処理機能を持ったメモリであって、データを格
納する複数のFIFO(First in First out.以下、F
IFOと略記する)メモリバンクと、命令制御部と、前
記複数のFIFOメモリバンクからデータを受けて演算
を行なう演算部と、データを格納するFIFOメモリバ
ンクを指定するソースバンク指定部と、前記演算部での
演算に必要なデータであって前記CPUで処理された参
照データとして最後に受け取る最終参照データを格納す
るFIFOメモリバンクを指定する最終バンク指定部
と、前記最終バンク指定部の指定するFIFOメモリバ
ンクへ最終参照データの書き込みがあったことを判別し
て演算スタート信号を発行する演算スタート判断部と、
外部バスとのバスインタフェースとを備え、前記命令制
御部は、CPUから受け取るデータに従って、前記ソー
スバンク指定部および前記最終バンク指定部への情報の
書き込み、前記主メモリから前記FIFOメモリバンク
へデータの転送を行い、前記演算スタート判断部の演算
スタート信号発行を検知して前記FIFOメモリバンク
のデータを前記演算部への転送し、前記演算部での演算
を実行させることを特徴とする。
In order to solve the above-mentioned problems, a functional memory according to the present invention is a memory having an arithmetic processing function for assisting processing of a CPU, and includes a plurality of FIFOs (First FIFOs) for storing data. in First out.
A memory bank, an instruction control unit, an operation unit that receives data from the plurality of FIFO memory banks and performs an operation, a source bank designating unit that designates a FIFO memory bank that stores data, A final bank designator for designating a FIFO memory bank for storing final reference data which is data required for calculation in the unit and finally received as reference data processed by the CPU; and a FIFO designated by the last bank designator. An operation start determining unit that determines that the last reference data has been written to the memory bank and issues an operation start signal;
A bus interface with an external bus, wherein the instruction control unit writes information into the source bank designation unit and the last bank designation unit according to data received from a CPU, and writes data from the main memory to the FIFO memory bank. The transfer is performed, the issuance of an operation start signal from the operation start determination unit is detected, the data in the FIFO memory bank is transferred to the operation unit, and the operation in the operation unit is performed.

【0008】かかる構成により、ディジタル画像データ
など大量の配列データを扱う処理において、配列計算部
分を機能メモリで行うことにより、CPUの処理負荷を
軽減することができる。CPUは通常のメモリ入出力プ
ロトコルに従い、配列データの機能メモリへの入出力の
処理を行うことにより配列計算結果を得ることができ
る。
With such a configuration, in processing a large amount of array data such as digital image data, the processing load on the CPU can be reduced by performing the array calculation portion in the functional memory. The CPU can obtain array calculation results by performing input / output processing of array data to the functional memory according to a normal memory input / output protocol.

【0009】次に、前記機能メモリは、前記演算スター
ト判断部の演算スタート信号を一時的に保持する演算ス
タート信号保持バッファを備え、前記演算スタート信号
保持バッファは、前記発行された前記演算スタート判断
部の演算スタート信号を、前記主メモリから前記FIF
Oメモリバンクへのデータ転送が完了するまで保持した
後、前記命令制御部に検知させることが好ましい。
Next, the functional memory includes an operation start signal holding buffer for temporarily holding an operation start signal of the operation start judging section, and the operation start signal holding buffer stores the operation start judgment signal issued. From the main memory to the FIFO
It is preferable that after the data transfer to the O memory bank is completed until the data transfer is completed, the instruction control unit detects the data.

【0010】かかる構成により、機能メモリ単独で大量
のデータ処理が発生し、IO装置からのDMA(Direct
Memory Access)転送が連続的に行なわれ、一度に機能
メモリに複数の配列が書き込まれるための時間が必要と
なる場合において、演算スタート信号発行タイミングが
調整でき、演算処理開始のタイミングを調整することが
できる。
With this configuration, a large amount of data processing occurs in the functional memory alone, and the DMA (Direct
Memory Access) When the transfer is performed continuously and it takes time to write a plurality of arrays to the functional memory at one time, the operation start signal issuance timing can be adjusted, and the operation processing start timing can be adjusted. Can be.

【0011】次に、本発明にかかる機能メモリを利用し
たデータ処理装置は、CPUと、主メモリと、機能メモ
リを備え、前記機能メモリがその処理において前記CP
Uの処理データを参照することができ、前記CPUがそ
の処理において前記機能メモリの処理データを参照する
ことができることを特徴とする。
Next, a data processing apparatus using a functional memory according to the present invention includes a CPU, a main memory, and a functional memory, and the functional memory performs the CP processing in the processing.
U can refer to the processing data, and the CPU can refer to the processing data in the functional memory in the processing.

【0012】かかる構成により、機能メモリにおいてC
PUでの処理結果を必要に応じて参照して配列計算を行
うことができ、またCPUにおいて機能メモリでの配列
計算結果を参照して処理を継続することができ、装置全
体の処理の一貫性を保つことができる。
With such a configuration, the function memory has C
The array calculation can be performed by referring to the processing result in the PU as needed, and the processing can be continued in the CPU by referring to the array calculation result in the functional memory, and the consistency of the processing of the entire apparatus can be maintained. Can be kept.

【0013】次に、本発明にかかる記録媒体に格納され
たデータ処理装置に用いるコンパイラは、実行するプロ
グラムを解析し、前記プログラムを、逐次処理を含む前
記CPUにおいて処理する部分と、逐次処理を含まない
前記機能メモリにおいて処理を行なう部分とを切り分け
てCPU用実行プログラムと機能メモリ用実行プログラ
ムを生成することを特徴とする。
Next, a compiler used in the data processing device stored in the recording medium according to the present invention analyzes a program to be executed, and processes the program in the CPU including the sequential processing. The present invention is characterized in that an execution program for a CPU and an execution program for a functional memory are generated by separating a part to be processed in the functional memory not included.

【0014】かかる構成により、データ処理装置に用い
る処理プログラムを自動的に、CPUと機能メモリのリ
ソースを最適に利用できるように切り分けたCPU用実
行プログラムおよび機能メモリ用実行プログラムをコン
パイルして生成することができる。
With this configuration, the processing program used for the data processing device is automatically generated by compiling a CPU execution program and a function memory execution program that are divided so that the resources of the CPU and the function memory can be optimally used. be able to.

【0015】次に前記記録媒体に格納されたデータ処理
装置に用いるコンパイラにおいて、前記機能メモリ用実
行プログラムは、演算処理に使用するリソースを指定し
て前記ソースバンク指定部および前記最終バンク指定部
に情報を書き込む処理と、前記CPUおよび主メモリか
らデータの転送を受ける処理と、前記演算部で演算を行
う処理と、前記CPUから最終参照データを受け取って
から前記演算部での演算が終了して結果をCPUに転送
できるまでのデータ参照可能サイクル数を計算する処理
を備え、前記CPU用実行プログラムは、主メモリから
データ転送を受ける処理と、演算を行う処理と、前記機
能メモリからのデータを参照して行う機能メモリデータ
参照処理が含まれている場合に前記データ参照可能サイ
クル数をもとに前記機能メモリデータ参照処理の実行タ
イミングを調整してデータを受け取る処理とを備えるこ
とが好ましい。
Next, in the compiler used for the data processing device stored in the recording medium, the execution program for the functional memory specifies resources to be used for arithmetic processing and sends the resource to the source bank designation section and the last bank designation section. A process of writing information, a process of receiving data transfer from the CPU and the main memory, a process of performing an operation in the arithmetic unit, and an operation of the arithmetic unit after receiving final reference data from the CPU. A process for calculating the number of data referable cycles until the result can be transferred to the CPU; the CPU execution program includes a process for receiving data transfer from the main memory, a process for performing an operation, and When the function of referring to memory data is included, based on the number of data referable cycles, It is preferable to adjust the execution timing functions memory data reference process and a process to receive the data.

【0016】かかる構成により、両者の実行プログラム
が互いに他方の処理結果を参照できるようにタイミング
を調整することができ、装置全体の処理の一貫性を保つ
ことができる。
With this configuration, the timing can be adjusted so that the two execution programs can refer to the processing results of the other, and the consistency of the processing of the entire apparatus can be maintained.

【0017】[0017]

【発明の実施の形態】(実施の形態1)本発明の実施形
態1にかかるデータ処理装置を図面を参照しつつ説明す
る。図1は本実施形態1に係るデータ処理装置の概略ブ
ロック図、図2は図1に示した機能メモリの詳細を示し
た図、図3はメモリのアドレス空間を示し、図4は図1
に示したCPUおよび機能メモリの動作のサイクルを示
したチャートである。
(First Embodiment) A data processing apparatus according to a first embodiment of the present invention will be described with reference to the drawings. 1 is a schematic block diagram of a data processing device according to the first embodiment, FIG. 2 is a diagram showing details of the functional memory shown in FIG. 1, FIG. 3 shows an address space of the memory, and FIG.
4 is a chart showing a cycle of operation of the CPU and the functional memory shown in FIG.

【0018】本実施形態1では、従来の技術で説明した
図7に示したデータ入出力用のプログラム1を実行する
場合を例に挙げて説明する。図1に示す本実施形態1に
かかるデータ処理装置の概略ブロック図おいて、100
はCPU、110は前記CPU100が処理を行なうデ
ータおよびプログラムを格納する通常のDRAMなどの
主メモリ、120はバス、130は機能メモリ、140
はIO装置である。このデータ処理装置の各リソース
は、一般のデータ処理装置と同様、クロックで同期して
動作している。
In the first embodiment, a case will be described as an example in which the data input / output program 1 shown in FIG. 7 described in the related art is executed. In the schematic block diagram of the data processing apparatus according to the first embodiment shown in FIG.
Denotes a CPU; 110, a main memory such as a normal DRAM for storing data and programs to be processed by the CPU 100; 120, a bus; 130, a functional memory;
Is an IO device. Each resource of the data processing device operates in synchronization with a clock, similarly to a general data processing device.

【0019】次に、図3に示すシステムのメモリのアド
レス空間において、領域200はこのデータ処理装置を
制御するオペレーティングシステム(以下、OSと略記
する)の領域、領域202はコンパイラの領域、領域2
04が今後このCPU100で処理を行なうソースプロ
グラムの領域、領域206は前記ソースプログラム領域
204にあるソースプログラムをコンパイルすることに
より得られたCPU用実行プログラム領域、領域512
は前記ソースプログラム領域204にあるソースプログ
ラムをコンパイルすることにより得られた機能メモリ用
実行プログラム領域、領域208は前記ソースプログラ
ムおよびCPU用実行プログラムが利用するデータを格
納する領域をそれぞれ示している。以下、便宜上、各領
域に格納されるプログラムを領域の番号で呼ぶこととす
る。
Next, in the address space of the memory of the system shown in FIG. 3, an area 200 is an area of an operating system (hereinafter abbreviated as OS) for controlling this data processing apparatus, an area 202 is an area of a compiler, and an area 2 is
Reference numeral 04 denotes a source program area to be processed by the CPU 100 in the future, and an area 206 denotes a CPU execution program area obtained by compiling the source program in the source program area 204, and an area 512.
Denotes a functional memory execution program area obtained by compiling the source program in the source program area 204, and area 208 denotes an area for storing data used by the source program and CPU execution program. Hereinafter, for convenience, the program stored in each area is referred to by the number of the area.

【0020】図1に示したバス120は、前記主メモリ
110として採用するデバイスに対応して固有のもので
ある。例えば、EDO・DRAM,SDRAM,RAM
BUS準拠DRAM等によりそれぞれ固有のものであ
り、それぞれのタイプのメモリによりCPU100への
信号線およびプロトコルが異なる。一般的には、リード
/ライト信号122、アドレス信号124、データ信号
126等から構成されるが、ここではバス120のデー
タ線と総称して以降説明を行なう。
The bus 120 shown in FIG. 1 is unique to the device used as the main memory 110. For example, EDO DRAM, SDRAM, RAM
Each type of memory is unique to a BUS-compliant DRAM or the like, and a signal line and a protocol to the CPU 100 are different depending on each type of memory. Generally, it is composed of a read / write signal 122, an address signal 124, a data signal 126, and the like.

【0021】図1に示した機能メモリ130は、バス1
20からの制御信号等をもとに、前記CPU100から
のライト動作によりデータを受け取り、この入力された
データに対してあらかじめ用意されたプログラムに従っ
て所定の処理を行ない、前記CPU100からのリード
動作により、前記処理結果をCPUに送り返す機能メモ
リである。つまり、CPU100からの命令により、受
け取ったデータに対して一定の処理を行い、処理後、C
PU100に返すという機能的な働きをするリソースと
して捉えることができるものである。
The function memory 130 shown in FIG.
Based on a control signal or the like from the CPU 20, data is received by a write operation from the CPU 100, a predetermined process is performed on the input data according to a program prepared in advance, and a read operation from the CPU 100 This is a functional memory that sends back the processing result to the CPU. That is, in accordance with an instruction from the CPU 100, a certain process is performed on the received data.
This can be regarded as a resource that performs a functional function of returning to the PU 100.

【0022】図1に示したIO装置140は、二次記憶
媒体、例えば磁気ディスク等を含み、必要な時に、この
IO装置140から主メモリ110もしくは機能メモリ
130へのデータの入出力を行なう。
The IO device 140 shown in FIG. 1 includes a secondary storage medium, for example, a magnetic disk, and inputs and outputs data from the IO device 140 to the main memory 110 or the functional memory 130 when necessary.

【0023】次に機能メモリ130の詳細を説明する。
図2において、520はメモリ部である。メモリ部52
0は、複数のFIFO(先入れ先出し)メモリバンク
(500〜510)を備え、演算を行なう際の各配列デ
ータを蓄える。例えば、図7に示したプログラム1を処
理する場合には、配列[d]をFIFOメモリ500
に、配列[b]をFIFOメモリ502に、配列[c]
をFIFOメモリ504に格納する。ここで、CPU1
00から機能メモリ130へのデータの入出力において
1個の配列データの書き込みおよび読み込みは1サイク
ルで可能とする。
Next, the function memory 130 will be described in detail.
In FIG. 2, reference numeral 520 denotes a memory unit. Memory unit 52
0 has a plurality of FIFO (first-in first-out) memory banks (500 to 510) and stores each array data when performing an operation. For example, when processing the program 1 shown in FIG.
And array [b] in the FIFO memory 502 and array [c]
Is stored in the FIFO memory 504. Here, CPU1
In input / output of data from 00 to the functional memory 130, writing and reading of one array data can be performed in one cycle.

【0024】524は命令部である。命令部は、この機
能メモリ130で実行するための演算動作の命令コード
を演算命令部525に書き込み、演算に必要なデータの
うち最後に受け取る配列(この例では配列[d]であ
る)の格納先となるFIFOバンクメモリを指定する情
報を最終バンク指定部526に書き込み、演算部540
に対してデータを送出する際の配列の所在FIFOメモ
リバンクを指定する情報をソースバンク指定部527に
書き込み、機能メモリ130の動作を制御する。つま
り、命令部524は、演算部540が行う演算内容を設
定し、演算部540が演算用に受け取った配列データの
格納先を管理し、演算部540が演算を開始するために
必要となるデータが揃ったことを判別する情報を管理す
る。この最終バンク指定部526の情報は、後述するよ
うにコンパイラ202でプログラムを解釈することによ
り与えられ、CPU100と機能メモリ130のデータ
依存性に対応するため利用される。
Reference numeral 524 denotes an instruction unit. The instruction unit writes an instruction code of an arithmetic operation to be executed in the functional memory 130 into the arithmetic instruction unit 525, and stores an array (in this example, array [d]) which is finally received from data necessary for the arithmetic operation. The information for specifying the FIFO bank memory to be used is written to the last bank specifying unit 526, and the arithmetic unit 540
Then, information for designating the FIFO memory bank where the array is to be transmitted when the data is transmitted is written to the source bank designation unit 527 to control the operation of the functional memory 130. That is, the instruction unit 524 sets the content of the operation performed by the operation unit 540, manages the storage destination of the array data received by the operation unit 540 for the operation, and sets the data necessary for the operation unit 540 to start the operation. Manages the information for determining that the information has been collected. The information of the last bank designation unit 526 is given by interpreting the program by the compiler 202 as described later, and is used to cope with the data dependence of the CPU 100 and the functional memory 130.

【0025】630は、バス120のデータ線からデー
タを入出力することでCPU100とのデータの入出力
を制御するバスインターフェースである。このバスイン
ターフェース630の演算スタート判断部532は、デ
ータ線120の情報を受け取り、アドレス信号124に
従ってデータアクセス信号570を発生し、機能メモリ
130内の各FIFOメモリへのデータ書き込みもしく
は読み出し、もしくは命令部524への書き込みを指示
する。さらに、この時、演算スタート判断部532は、
データ線の制御信号および最終バンク指定部526に従
って、配列[d]の各要素が書き込まれた際に、各FI
FOメモリに対して、演算部540でデータ処理可能で
あることを判断し、演算スタート判断信号580を発行
する。
A bus interface 630 controls input and output of data to and from the CPU 100 by inputting and outputting data from the data lines of the bus 120. The operation start determination unit 532 of the bus interface 630 receives the information of the data line 120, generates a data access signal 570 in accordance with the address signal 124, and writes or reads data to or from each FIFO memory in the function memory 130, or executes an instruction unit. 524 is instructed. Further, at this time, the calculation start determination unit 532
When each element of the array [d] is written according to the control signal of the data line and the last bank designation unit 526, each FI
The arithmetic unit 540 determines that data processing can be performed on the FO memory, and issues an arithmetic start determination signal 580.

【0026】540は、メモリ部520の各FIFOメ
モリからデータを受け取りこれを処理する演算部であ
る。ここで、演算部540の各要素である乗算器55
0,552および加算器560,562は、それぞれ受
け取ったデータを1サイクルで実行可能であるものとす
る。従って、メモリ部520から入力されたデータに対
して、積和演算を行なう場合には2サイクル必要であ
り、乗算のみを行なう場合には1サイクルで処理が実行
できる。
An arithmetic unit 540 receives data from each FIFO memory of the memory unit 520 and processes the data. Here, the multiplier 55 as each element of the arithmetic unit 540
0, 552 and adders 560, 562 are each capable of executing the received data in one cycle. Therefore, two cycles are required when performing a product-sum operation on data input from the memory unit 520, and processing can be performed in one cycle when performing only multiplication.

【0027】以下に、本実施形態1にかかるデータ処理
装置が、プログラムを実行する場合の大まかな処理の流
れについて各ステップに分けて説明する。 (ステップ0)CPU100は、主メモリ110から、
データ線120を介して、プログラム204とこれをコ
ンパイルするコンパイラ202をローディングし、読み
込みプログラム204から、CPU用実行プログラム2
06と機能メモリ用実行プログラム512を生成し、主
メモリ110に格納する。ここでは、読み込むプログラ
ム204は図8に示したプログラム2とする。コンパイ
ラ202は、条件分岐などがあり逐次処理となる部分
と、条件分岐などなく逐次処理とはならず、配列計算な
ど大量のデータ処理となる部分を解釈して切り分けたコ
ンパイルを実行し、CPU用実行プログラム206と機
能メモリ用実行プログラム512とを生成する。CPU
用実行プログラム206としては、図8に示すサブプロ
グラム(a)および(c)の部分のコンパイルが行われ
て実行プログラムが生成され、機能メモリ用実行プログ
ラム512としては、図8に示すサブプログラム(b)
の部分のコンパイルが行われて実行プログラムが生成さ
れる。
Hereinafter, a rough processing flow when the data processing apparatus according to the first embodiment executes a program will be described by dividing into respective steps. (Step 0) The CPU 100 reads from the main memory 110
The program 204 and the compiler 202 for compiling the program 204 are loaded via the data line 120, and the CPU execution program 2
06 and a functional memory execution program 512 are generated and stored in the main memory 110. Here, the program 204 to be read is the program 2 shown in FIG. The compiler 202 interprets and separates a portion that has a sequential branch due to a conditional branch and the like and a portion that is not a sequential process without a conditional branch and the like and has a large amount of data processing such as an array calculation, and executes a compilation for the CPU. An execution program 206 and a function memory execution program 512 are generated. CPU
The subprograms (a) and (c) shown in FIG. 8 are compiled to generate an execution program as the functional execution program 206, and the functional memory execution program 512 is a subprogram ( b)
Is compiled to generate an execution program.

【0028】上記のように切り分けて実行プログラムを
生成する場合に留意すべき点としては、互いの処理に必
要なデータの依存性である。つまり、CPU100で計
算された結果d[i]に対して機能メモリ130で演算
を行なうためには、少なくとも演算後の配列dの各要素
d[i]のデータを機能メモリ130に書き込んだ後
で、これを参照して演算を行なう必要があり、また、機
能メモリ130で計算された結果e[i]に対してCP
U100で処理を行なうためには、少なくとも機能メモ
リ130での演算後の配列eの各要素e[i]のデータ
をCPU100が読み込んで参照し、処理を行なう必要
がある。従って、コンパイラ202では、CPU用実行
プログラム206に対して、ループ内のサブプログラム
(a)の部分に対して、CPU用実行プログラム206
を生成することとなる。CPU用実行プログラム206
はサブプログラム(a)の処理結果である配列dを機能
メモリ130に送出するようプログラムされ、機能メモ
リ実行用プログラム512では配列dを最終参照データ
として格納するFIFOメモリバンク先の指定情報を最
終バンク指定部526に持つようプログラムされる。
A point to keep in mind when generating an execution program by dividing as described above is the dependence of data required for each other's processing. That is, in order to perform an operation on the result d [i] calculated by the CPU 100 in the functional memory 130, at least data of each element d [i] of the array d after the operation is written into the functional memory 130 , It is necessary to perform an operation with reference to this, and the result e [i] calculated in the function memory
In order to perform the processing in U100, it is necessary for CPU 100 to read and refer to at least the data of each element e [i] of array e after the operation in functional memory 130, and perform the processing. Therefore, in the compiler 202, the CPU execution program 206 is compared with the CPU execution program 206 with respect to the subprogram (a) in the loop.
Will be generated. CPU execution program 206
Is programmed to send an array d, which is the processing result of the subprogram (a), to the functional memory 130, and the functional memory execution program 512 uses the final bank to specify the FIFO memory bank destination for storing the array d as final reference data. It is programmed to have in the designation unit 526.

【0029】コンパイラ202は、サブプログラム
(b)に対しては、機能メモリ130用のプログラムに
対する実行プログラムと機能メモリ130でのデータの
書き込み及び読み出しの時間を考慮した参照可能サイク
ル数を計算する。これは両実行プログラムにおいて他方
の処理結果を参照するために必要となるウェイト数を決
定するためである。
For the subprogram (b), the compiler 202 calculates the number of referenceable cycles in consideration of the execution program for the program for the function memory 130 and the time for writing and reading data in and from the function memory 130. This is to determine the number of waits required for both execution programs to refer to the other processing result.

【0030】コンパイラ202は、サブプログラム
(c)の部分に対しては、前記参照可能サイクル数を考
慮し、サブプログラム(c)を実行可能な実行プログラ
ムを作成する。この時、参照可能サイクル数が小さい場
合には、ダミーとして不必要なNOP命令等を挿入する
ことになるが、参照サイクル数が充分ある場合は、機能
メモリ130での実行と、CPU100における次の命
令の実行はオーバーラップが可能になる。
The compiler 202 creates an executable program that can execute the subprogram (c) for the subprogram (c) in consideration of the number of referenceable cycles. At this time, if the number of referenceable cycles is small, an unnecessary NOP instruction or the like is inserted as a dummy. However, if the number of reference cycles is sufficient, the execution in the function memory 130 and the next Instruction execution can be overlapped.

【0031】演算処理実行前に主メモリ110に対して
IO装置から配列a、配列f、配列gのデータを転送し
ておき、また、機能メモリ130で演算する配列b、配
列c、配列dの中の配列b、配列cについてはIO装置
から機能メモリ130にデータを転送しておく。配列d
については、CPU100で処理された結果を用いるた
め、この配列dの各要素がCPU100で計算された後
に送られる。機能メモリ用実行プログラム512には、
この配列dの各要素が送られた場合に機能メモリ130
での処理実行が可能になることを判別する機能を持たせ
ておく。
Before executing the arithmetic processing, the data of the arrays a, f and g are transferred from the IO device to the main memory 110, and the data of the arrays b, c and d operated by the functional memory 130 are stored. For the arrays b and c in the data, data is transferred from the IO device to the function memory 130 in advance. Array d
Is sent after the CPU 100 calculates each element of the array d in order to use the result processed by the CPU 100. The execution program 512 for the functional memory includes
When each element of the array d is sent, the function memory 130
A function is provided for determining that processing can be performed in the.

【0032】(ステップ1)CPU100は、OSを実行
し、プログラム204に対する、CPU用実行プログラ
ム206をローディングする作業を開始する。まず、C
PU用実行プログラム206をIO装置から、主メモリ
110へロードし、次に、機能メモリ用実行プログラム
512をIO装置から、機能メモリ130の命令部52
4へ格納する。この時、機能メモリの演算命令部525
に演算部540のためのプログラム(b)に相当する命
令が書き込まれ、最終バンク指定部526にはFIFO
メモリ500に格納される最終参照データたる配列dに
対する情報が、ソースバンク指定部527には演算部5
40への演算データを格納したFIFOメモリ500,
502,504に相当する情報(111000)が書き込まれ
る。さらに、IO装置140からCPU100が処理す
る配列a、配列f、配列gをロードし、最後にIO装置
140から機能メモリ130へ配列b、配列cを格納す
る。
(Step 1) The CPU 100 executes the OS and starts an operation of loading the CPU execution program 206 into the program 204. First, C
The PU execution program 206 is loaded from the IO device into the main memory 110, and then the functional memory execution program 512 is loaded from the IO device into the instruction section 52 of the functional memory 130.
4 is stored. At this time, the operation instruction section 525 of the function memory
An instruction corresponding to the program (b) for the arithmetic unit 540 is written in the
The information about the array d as the final reference data stored in the memory 500 is stored in the source bank designation unit 527 in the arithmetic unit 5.
FIFO memory 500 storing the operation data to 40,
Information (111000) corresponding to 502 and 504 is written. Further, the array a, the array f, and the array g processed by the CPU 100 are loaded from the IO device 140, and finally, the array b and the array c are stored in the functional memory 130 from the IO device 140.

【0033】(ステップ2)CPU100は実行状態に
入ると、まず、各配列つの一番目の要素(要素番号0)
について処理を開始し、これを順次、要素番号999ま
で繰り返すことにより全ての処理が実行されてゆく。
(Step 2) When the CPU 100 enters the execution state, first, the first element of each array (element number 0)
Is started, and this process is sequentially repeated up to the element number 999, whereby all the processes are executed.

【0034】次に、この(ステップ2)にかかる部分に
ついて詳細に説明する。 (ステップ2−0)サイクル#0 CPU100は、主メモリ110から、配列データa
[0]をロードする。
Next, the step (Step 2) will be described in detail. (Step 2-0) Cycle # 0 The CPU 100 reads the array data a from the main memory 110.
Load [0].

【0035】(ステップ2−1)サイクル#1 CPU100は、主メモリ110からロードしたa[0]
と“0”の比較計算を行なう。
(Step 2-1) Cycle # 1 The CPU 100 loads a [0] loaded from the main memory 110.
And "0" are compared.

【0036】(ステップ2−2)サイクル#2 CPU100は、ステップ2−1の比較結果に従い、条
件分岐を行なう。 (ステップ2−3)サイクル#3 CPU100は、所定の乗算を行なう。
(Step 2-2) Cycle # 2 The CPU 100 performs a conditional branch according to the comparison result of step 2-1. (Step 2-3) Cycle # 3 The CPU 100 performs a predetermined multiplication.

【0037】(ステップ2−4)サイクル#4 CPU100は、ステップ2−3の結果を機能メモリ1
30に書き込む。この時、機能メモリ130は、演算ス
タート判断部532で、バス120のデータ線のアドレ
ス信号の上位とリード・ライト信号を受け取り、配列d
[0]の最初のデータが来たことを確認し、演算スタート
判断信号580を生成し、各FIFOメモリバンクへ送
出する。
(Step 2-4) Cycle # 4 The CPU 100 stores the result of step 2-3 in the function memory 1
Write 30. At this time, the functional memory 130 receives the higher-order address signal of the data line of the bus 120 and the read / write signal by the operation start determining unit 532, and
After confirming that the first data of [0] has arrived, an operation start determination signal 580 is generated and sent to each FIFO memory bank.

【0038】(ステップ2−5)サイクル#5 CPU100は、主メモリ110から、配列データf
[0]をロードする。機能メモリ130では、各FIFO
メモリで、演算スタート判断信号580とソースバンク
指定部527の信号を受け取り、タグメモリ516から
の配列デーd[0],b[0],c[0]が揃ったことを確認
して、FIFOメモリ500、FIFOメモリ502、
FIFOメモリ504からデータを読み出し、d[0]×
b[0]の乗算器550で乗算を行ない、乗算器552
は、c[0]のデータをそのまま出力する。
(Step 2-5) Cycle # 5 The CPU 100 reads the array data f from the main memory 110.
Load [0]. In the function memory 130, each FIFO
The memory receives the operation start determination signal 580 and the signal of the source bank designation unit 527, confirms that the array data d [0], b [0], c [0] from the tag memory 516 are complete, and checks the FIFO. Memory 500, FIFO memory 502,
The data is read from the FIFO memory 504, and d [0] ×
Multiplication is performed by the multiplier 550 of b [0], and the multiplier 552
Outputs the data of c [0] as it is.

【0039】(ステップ2−6)サイクル#6 CPU100は、主メモリ110からロードしたf[0]
と“20”の比較計算を行なう。機能メモリ130の加
算器560では、乗算器550で乗算を行った結果d
[0]×b[0]と乗算器552からのc[0]の加算を行な
い、結果をe[0]としてFIFOメモリ504に格納す
る。
(Step 2-6) Cycle # 6 The CPU 100 loads f [0] loaded from the main memory 110.
And "20" are calculated. In the adder 560 of the function memory 130, the result d obtained by multiplication by the multiplier 550 is obtained.
[0] × b [0] is added to c [0] from the multiplier 552, and the result is stored in the FIFO memory 504 as e [0].

【0040】(ステップ2−7)サイクル#7 CPU100は、ステップ2−6の比較結果に従い、条
件分岐を行なう。機能メモリ130は、演算処理が終了
しているため、何もデータ処理をしていない。また、こ
れ以降のサイクルについても、処理する次の配列データ
d[1]が来るまでは何もデータを処理しないウェイト状
態になる。
(Step 2-7) Cycle # 7 The CPU 100 performs a conditional branch according to the comparison result of step 2-6. The functional memory 130 has not performed any data processing since the arithmetic processing has been completed. Also in the subsequent cycles, a wait state in which no data is processed until the next array data d [1] to be processed comes.

【0041】(ステップ2−8)サイクル#8 CPU100は、機能メモリ130から、配列データe
[0]をロードする。 (ステップ2−9以降)サイクル#9以降 CPU100は、これ以降CPU100の処理のみを実
行し、サイクル#10もしくはサイクル#11までの処
理を、配列の要素ごと(0〜999)まで繰り返すこと
で、全ての処理が終了することになる。
(Step 2-8) Cycle # 8 The CPU 100 reads the array data e from the function memory 130.
Load [0]. (Steps 2-9 and thereafter) Cycle # 9 and thereafter The CPU 100 thereafter executes only the processing of the CPU 100 and repeats the processing up to the cycle # 10 or the cycle # 11 for each element of the array (0 to 999). All the processing ends.

【0042】つまり、CPU100でデータ処理の一部
を実行した後、配列データを機能メモリ130に送り、
機能メモリ130を利用して演算を行なう場合、機能メ
モリ130において、通常のCPUとメモリ間における
プロトコルを参照し、事前に必要な配列データを事前に
この機能メモリ130内のFIFOメモリに格納し、さ
らに、CPU100から最後に送られてくる配列データ
を受け取り、これに対してバス120のデータ線および
最終バンク指定部526に格納された情報を演算スター
ト判断部532で参照して、データ処理が可能であるこ
とを示す演算スタート判断信号580を生成し、この信
号に従って機能メモリ130内の演算動作をスタートさ
せることにより、機能メモリ130内で必要なデータが
揃った時点での演算の開始が実行できることになる。
That is, after a part of the data processing is executed by the CPU 100, the array data is sent to the function memory 130,
When performing an operation using the function memory 130, the function memory 130 refers to a normal protocol between the CPU and the memory, stores necessary array data in advance in a FIFO memory in the function memory 130, Furthermore, the array data received last from the CPU 100 is received, and the data stored in the data line of the bus 120 and the last bank designating unit 526 is referred to by the arithmetic start determining unit 532 to perform data processing. By generating an operation start determination signal 580 indicating that the operation is started, and starting the operation in the function memory 130 in accordance with this signal, the operation can be started when the necessary data is collected in the function memory 130. become.

【0043】さらに、機能メモリ130で処理後の配列
データをCPU100において演算を行う場合、コンパ
イラにおいて、機能メモリ内でのおよびCPU100で
の演算のタイミング調整をすることにより、CPU10
0およびメモリ間の一般のプロトコルで動作させた場合
でも、CPU100においてその後の演算動作が可能に
なる。
Further, when the CPU 100 performs an operation on the array data processed in the functional memory 130, the compiler adjusts the timing of the operation in the functional memory and the CPU 100 by adjusting the timing of the operation in the CPU 100.
Even when the CPU 100 is operated according to a general protocol between 0 and the memory, the CPU 100 can perform subsequent arithmetic operations.

【0044】(実施の形態2)本発明の実施形態2にか
かる機能メモリを図5に示す。本実施形態2において実
施形態1と異なる点は、機能メモリ130において、演
算スタート判断部532からの演算スタート信号580
をFIFOメモリ640によって一旦受ける点である。
ここではFIFOメモリ640を、演算スタート判断部
532から発行された演算スタート信号580を一時的
に保持するバッファとして利用する。この構成によれ
ば、機能メモリ単独で大量のデータ処理が発生し、IO
装置からのDMA転送が連続的に行なわれ、一度に機能
メモリに複数ワード(d[0],d[1],・・・)が書き込まれ
るための時間が必要となる場合において、すべてのFI
FOに演算に必要な配列データなどが揃う時点まで演算
スタート信号580を保持できるので、各FIFOメモ
リへの入力タイミングを調整し、演算処理開始のタイミ
ングを調整することができる。
Embodiment 2 FIG. 5 shows a functional memory according to Embodiment 2 of the present invention. The second embodiment is different from the first embodiment in that the function memory 130 includes an operation start signal 580 from the operation start determination unit 532.
Is temporarily received by the FIFO memory 640.
Here, the FIFO memory 640 is used as a buffer for temporarily holding the operation start signal 580 issued from the operation start determination unit 532. According to this configuration, a large amount of data processing occurs in the functional memory alone,
When the DMA transfer from the device is performed continuously and it takes time to write a plurality of words (d [0], d [1],...) To the functional memory at one time, all the FIs
Since the operation start signal 580 can be held until the array data necessary for the operation is prepared in the FO, the input timing to each FIFO memory can be adjusted, and the timing of the operation processing start can be adjusted.

【0045】[0045]

【発明の効果】以上、本発明にかかる機能メモリによれ
ば、ディジタル画像データなど大量の配列データを扱う
処理において、配列計算部分を機能メモリで行うことに
より、CPUの処理負荷を軽減することができる。CP
Uは通常のメモリ入出力プロトコルに従い、配列データ
の機能メモリへの入出力の処理を行うことで配列計算結
果を得ることができる。
As described above, according to the functional memory of the present invention, in processing a large amount of array data such as digital image data, the processing load on the CPU can be reduced by performing the array calculation portion in the functional memory. it can. CP
U can obtain an array calculation result by performing input / output processing of array data to the functional memory according to a normal memory input / output protocol.

【0046】また、本発明にかかるデータ処理装置によ
れば、機能メモリにおいてCPUでの処理結果を必要に
応じて参照して配列計算を行うことができ、またCPU
において機能メモリでの配列計算結果を参照して処理を
継続することができ、装置全体の処理の一貫性を保つこ
とができる。
According to the data processing apparatus of the present invention, the array calculation can be performed by referring to the processing result of the CPU in the functional memory as needed.
, The processing can be continued with reference to the array calculation result in the functional memory, and the processing consistency of the entire apparatus can be maintained.

【0047】また、本発明にかかるコンパイラによれ
ば、データ処理装置に用いるプログラムを自動的に、C
PUと機能メモリのリソースを最適に利用できるように
処理を切り分けたCPU用実行プログラムおよび機能メ
モリ用実行プログラムをコンパイルして生成することが
でき、また、両者の実行プログラムが互いに他方の処理
結果を参照できるようにタイミングを調整することがで
き、装置全体の処理の一貫性を保つことができる。
According to the compiler of the present invention, the program used for the data processing device is automatically converted to C
It is possible to compile and generate an execution program for CPU and an execution program for functional memory that are divided so that the resources of the PU and the function memory can be used optimally. The timing can be adjusted so that it can be referred to, and the processing consistency of the entire apparatus can be maintained.

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

【図1】本発明の実施形態1にかかるデータ処理装置の
概略ブロック図
FIG. 1 is a schematic block diagram of a data processing device according to a first embodiment of the present invention;

【図2】本発明の実施形態1にかかる機能メモリの構成
概略図
FIG. 2 is a schematic configuration diagram of a functional memory according to the first embodiment of the present invention;

【図3】メモリおよび機能メモリのアドレスマップの説
明図
FIG. 3 is an explanatory diagram of an address map of a memory and a functional memory;

【図4】データ処理装置の動作タイミングを説明する図FIG. 4 is a diagram illustrating operation timing of the data processing device.

【図5】本発明の実施形態2における機能メモリの構成
概略図
FIG. 5 is a schematic configuration diagram of a functional memory according to a second embodiment of the present invention.

【図6】従来のデータ処理装置の概略ブロック図FIG. 6 is a schematic block diagram of a conventional data processing device.

【図7】データ入出力用プログラムの例FIG. 7 shows an example of a data input / output program

【図8】データ入出力用プログラムの例FIG. 8 shows an example of a data input / output program

【符号の説明】 100 CPU 110 主メモリ 120 バス 122 リード/ライト信号 124 アドレス信号 126 データ信号 130 機能メモリ 140 IO装置 200 OS領域 202 コンパイラ領域 204 プログラム領域 206 CPU用実行プログラム領域 208 処理データ領域 500,502,504,506,508,510,6
40 FIFOメモリ 512 命令メモリ領域 520 メモリ部 524 命令部 525 演算命令部 526 最終バンク指定部 527 ソースバンク指定部 630 バスインターフェース 532 演算スタート判断部 534 入出力バッファ 540 演算部 550,552 乗算器 560,562 加算器 570 データアクセス信号 580 演算スタート判断信号
DESCRIPTION OF SYMBOLS 100 CPU 110 main memory 120 bus 122 read / write signal 124 address signal 126 data signal 130 functional memory 140 IO device 200 OS area 202 compiler area 204 program area 206 CPU execution program area 208 processing data area 500, 502, 504, 506, 508, 510, 6
40 FIFO memory 512 Instruction memory area 520 Memory part 524 Instruction part 525 Operation instruction part 526 Last bank specification part 527 Source bank specification part 630 Bus interface 532 Operation start judgment part 534 Input / output buffer 540 Operation part 550,552 Multiplier 560,562 Adder 570 Data access signal 580 Operation start judgment signal

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 CPUと主メモリを備えたデータ処理装
置に利用され、前記CPUの処理を補助する演算処理機
能を持ったメモリであって、データを格納する複数のF
IFOメモリバンクと、命令制御部と、前記複数のFI
FOメモリバンクからデータを受けて演算を行なう演算
部と、データを格納するFIFOメモリバンクを指定す
るソースバンク指定部と、前記演算部での演算に必要な
データであって前記CPUで処理された参照データとし
て最後に受け取る最終参照データを格納するFIFOメ
モリバンクを指定する最終バンク指定部と、前記最終バ
ンク指定部の指定するFIFOメモリバンクへ最終参照
データの書き込みがあったことを判別して演算スタート
信号を発行する演算スタート判断部と、外部バスとのバ
スインタフェースとを備え、前記命令制御部は、CPU
から受け取るデータに従って、前記ソースバンク指定部
および前記最終バンク指定部への情報の書き込み、前記
主メモリから前記FIFOメモリバンクへデータの転送
を行い、前記演算スタート判断部の演算スタート信号発
行を検知して前記FIFOメモリバンクのデータを前記
演算部への転送し、前記演算部での演算を実行させるこ
とを特徴とする機能メモリ。
1. A memory, which is used in a data processing device having a CPU and a main memory and has an arithmetic processing function for assisting the processing of the CPU, wherein a plurality of Fs for storing data are provided.
An IFO memory bank, an instruction control unit, and the plurality of FIs.
An operation unit for receiving data from the FO memory bank and performing an operation; a source bank specifying unit for specifying a FIFO memory bank for storing data; and data required for the operation in the operation unit and processed by the CPU. A final bank designator for designating a FIFO memory bank for storing last reference data received last as reference data, and an operation is performed by determining that the last reference data has been written to the FIFO memory bank designated by the last bank designator. A command start determining unit for issuing a start signal; and a bus interface to an external bus.
According to the data received from the CPU, writing information to the source bank designating section and the last bank designating section, transferring data from the main memory to the FIFO memory bank, and detecting the issuance of an operation start signal by the operation start determining section. Transferring the data of the FIFO memory bank to the operation unit and causing the operation unit to execute the operation.
【請求項2】 前記演算スタート判断部の演算スタート
信号を一時的に保持する演算スタート信号保持バッファ
を備え、前記演算スタート信号保持バッファは、前記発
行された前記演算スタート判断部の演算スタート信号
を、前記主メモリから前記FIFOメモリバンクへのデ
ータ転送が完了するまで保持した後、前記命令制御部に
検知させる請求項1に記載の機能メモリ。
2. An operation start signal holding buffer for temporarily holding an operation start signal of the operation start judging section, wherein the operation start signal holding buffer stores the issued operation start signal of the operation start judging section. 2. The functional memory according to claim 1, wherein the instruction control unit detects after holding until data transfer from the main memory to the FIFO memory bank is completed.
【請求項3】 CPUと、主メモリと、請求項1に記載
の機能メモリを備え、前記機能メモリがその処理におい
て前記CPUの処理データを参照することができ、前記
CPUがその処理において前記機能メモリの処理データ
を参照することができることを特徴とする機能メモリを
利用したデータ処理装置。
3. A function memory according to claim 1, comprising: a CPU; a main memory; and the function memory, wherein the function memory can refer to processing data of the CPU in the processing, and the CPU can execute the function in the processing. A data processing device using a functional memory, which can refer to processing data in a memory.
【請求項4】 CPUと、主メモリと、請求項2に記載
の機能メモリを備え、前記機能メモリがその処理におい
て前記CPUの処理データを参照することができ、前記
CPUがその処理において前記機能メモリの処理データ
を参照することができることを特徴とする機能メモリを
利用したデータ処理装置。
4. A CPU, a main memory, and a functional memory according to claim 2, wherein said functional memory can refer to processing data of said CPU in its processing, and said CPU can execute said function in said processing. A data processing device using a functional memory, which can refer to processing data in a memory.
【請求項5】 実行するプログラムを解析し、前記プロ
グラムを、逐次処理を含む前記CPUにおいて処理する
部分と、逐次処理を含まない前記機能メモリにおいて処
理を行なう部分とを切り分けてCPU用実行プログラム
と機能メモリ用実行プログラムを生成することを特徴と
する請求項3または4に記載のデータ処理装置のコンパ
イラを記録した記録媒体。
5. An execution program for a CPU which analyzes a program to be executed, and separates a part for processing the program in the CPU including sequential processing from a part for processing in the functional memory not including sequential processing. 5. A recording medium on which a compiler for a data processing device according to claim 3 or 4 is configured to generate an execution program for a functional memory.
【請求項6】 前記機能メモリ用実行プログラムは、演
算処理に使用するリソースを指定して前記ソースバンク
指定部および前記最終バンク指定部に情報を書き込む処
理と、前記CPUおよび主メモリからデータの転送を受
ける処理と、前記演算部で演算を行う処理と、前記CP
Uから最終参照データを受け取ってから前記演算部での
演算が終了して結果をCPUに転送できるまでのデータ
参照可能サイクル数を計算する処理を備え、前記CPU
用実行プログラムは、主メモリからデータ転送を受ける
処理と、演算を行う処理と、前記機能メモリからのデー
タを参照して行う機能メモリデータ参照処理が含まれて
いる場合に前記データ参照可能サイクル数をもとに前記
機能メモリデータ参照処理の実行タイミングを調整して
データを受け取る処理とを備えたことを特徴とする請求
項5に記載のデータ処理装置のコンパイラを記録した記
録媒体。
6. The function memory execution program specifies a resource to be used for arithmetic processing and writes information to the source bank designation section and the last bank designation section, and transfers data from the CPU and main memory. Receiving the data, performing the calculation in the calculation unit,
A process for calculating the number of data referenceable cycles from when the final reference data is received from U to when the operation in the operation unit is completed and the result can be transferred to the CPU;
The execution program includes a process for receiving data transfer from the main memory, a process for performing an operation, and a function memory data reference process performed by referring to data from the functional memory. 6. A recording medium in which a compiler of the data processing apparatus according to claim 5, further comprising a process of adjusting the execution timing of the functional memory data reference process based on the data and receiving the data.
JP10040759A 1998-02-23 1998-02-23 Functional memory, data processor utilizing the same and medium for recording compiler of the same processor Pending JPH11237972A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10040759A JPH11237972A (en) 1998-02-23 1998-02-23 Functional memory, data processor utilizing the same and medium for recording compiler of the same processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10040759A JPH11237972A (en) 1998-02-23 1998-02-23 Functional memory, data processor utilizing the same and medium for recording compiler of the same processor

Publications (1)

Publication Number Publication Date
JPH11237972A true JPH11237972A (en) 1999-08-31

Family

ID=12589562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10040759A Pending JPH11237972A (en) 1998-02-23 1998-02-23 Functional memory, data processor utilizing the same and medium for recording compiler of the same processor

Country Status (1)

Country Link
JP (1) JPH11237972A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250914A (en) * 2012-06-04 2013-12-12 I-Cubed Research Center Inc Memory module, information processing device, and data processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250914A (en) * 2012-06-04 2013-12-12 I-Cubed Research Center Inc Memory module, information processing device, and data processing method

Similar Documents

Publication Publication Date Title
KR101032563B1 (en) Data processing in which concurrently executed processes communicate via a fifo buffer
JPH01109466A (en) System for controlling parallel operation of coprocessor
JP3579843B2 (en) Digital signal processor
US5129065A (en) Apparatus and methods for interface register handshake for controlling devices
JPS62115542A (en) Information processor
JPH11237972A (en) Functional memory, data processor utilizing the same and medium for recording compiler of the same processor
JPH04149658A (en) Information processor
JP2906958B2 (en) User program loading method
JP3954159B2 (en) Synchronous RAM access control circuit, data processor and control method thereof
JP2762441B2 (en) Coprocessor
JPH04268928A (en) Emulation device and semiconductor device
JP2806690B2 (en) Microprocessor
JP2513846B2 (en) Vector instruction generation method
JPH02112054A (en) Data processor
JP2920968B2 (en) Instruction processing order control method
JP2622026B2 (en) Register writing control method in central processing unit
JPH0279122A (en) Floating point arithmetic mechanism
JPS5919287A (en) Input and output processing system by memory access instruction
JPS63231545A (en) File transfer system
JPH06139071A (en) Parallel computers
JPS63147247A (en) Converting device for data format
JPH02197961A (en) Information processor
JP2001022581A (en) Data processor and computer readable storage medium
JPS60176144A (en) Register file device
JPH023822A (en) Data processor