[go: up one dir, main page]

JP6115564B2 - Data processing system, semiconductor integrated circuit and control method thereof - Google Patents

Data processing system, semiconductor integrated circuit and control method thereof Download PDF

Info

Publication number
JP6115564B2
JP6115564B2 JP2014504730A JP2014504730A JP6115564B2 JP 6115564 B2 JP6115564 B2 JP 6115564B2 JP 2014504730 A JP2014504730 A JP 2014504730A JP 2014504730 A JP2014504730 A JP 2014504730A JP 6115564 B2 JP6115564 B2 JP 6115564B2
Authority
JP
Japan
Prior art keywords
data processing
memory
data
memory block
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014504730A
Other languages
Japanese (ja)
Other versions
JPWO2013136857A1 (en
Inventor
正吾 中谷
正吾 中谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2013136857A1 publication Critical patent/JPWO2013136857A1/en
Application granted granted Critical
Publication of JP6115564B2 publication Critical patent/JP6115564B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • G06F9/3881Arrangements for communication of instructions and data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Dram (AREA)

Description

本発明は、データ処理システム、半導体集積回路およびその制御方法に関する。   The present invention relates to a data processing system, a semiconductor integrated circuit, and a control method thereof.

CPU(Central Processing Unit)を用いてデータ処理を行うデータ処理システムにおいては、CPUで処理を行うと時間が掛かり過ぎたり、消費電力が大きくなり過ぎたりする特定のデータ処理を、CPUよりも高効率な処理性能を持つ別の回路が肩代わりして行うという方法が広く用いられている。以下では、CPUによる処理対象であるデータ処理のうち、特定のデータ処理を別の回路が肩代わりして行うことをオフロードと称する。また、CPUに代わって処理を行う回路をオフローダと称する。また、オフローダにより行われるデータ処理をオフロード処理と称する。また、オフローダのうち、多様なデータ処理を効率的に行うことができるものを汎用オフローダと称する。   In a data processing system that performs data processing using a CPU (Central Processing Unit), specific data processing that takes too much time or consumes too much power when processed by the CPU is more efficient than the CPU. A method is widely used in which another circuit having an appropriate processing performance takes over. Hereinafter, out of data processing to be processed by the CPU, performing specific data processing on behalf of another circuit is referred to as offloading. A circuit that performs processing in place of the CPU is referred to as an offloader. Data processing performed by the offloader is referred to as offload processing. Moreover, what can perform various data processing efficiently among offloaders is called a general purpose offloader.

図1は、特許文献1(特開2006−338538号公報)および特許文献2(特開2007−034392号公報)に開示される、汎用オフローダを備えたデータ処理システムの要部構成を示す図である。   FIG. 1 is a diagram showing a main configuration of a data processing system including a general-purpose offloader disclosed in Patent Document 1 (Japanese Patent Laid-Open No. 2006-338538) and Patent Document 2 (Japanese Patent Laid-Open No. 2007-034392). is there.

図1に示すデータ処理システムは、システムバス70を介して接続された、CPU10と、メモリ20と、汎用オフローダ30と、周辺ブロック90とを有する。なお、図1においては、CPU10、メモリ20および汎用オフローダ30以外の回路をまとめて周辺ブロック90として示す。周辺ブロック90の具体例としては、入出力回路などがある。   The data processing system shown in FIG. 1 includes a CPU 10, a memory 20, a general-purpose offloader 30, and a peripheral block 90 connected via a system bus 70. In FIG. 1, circuits other than the CPU 10, the memory 20, and the general-purpose offloader 30 are collectively shown as a peripheral block 90. Specific examples of the peripheral block 90 include an input / output circuit.

CPU10は、メモリ20からデータを読み出してデータ処理を行い、処理結果をメモリ20に書き込む。   The CPU 10 reads data from the memory 20, performs data processing, and writes the processing result in the memory 20.

汎用オフローダ30は、CPU10による処理対象であるデータ処理のうち特定のデータ処理をCPU10に代わって行う。なお、CPU10が行うデータ処理と汎用オフローダ30が行うデータ処理とは、予めプログラムなどで規定されている。CPU10が行うものとして規定されたデータ処理を要求する旨が不図示の入出力回路を介して入力された場合には、CPU10によりデータ処理が行われ、汎用オフローダ30が行うものとして規定されたデータ処理を要求する旨が入力された場合には、汎用オフローダ30によりデータ処理が行われる。   The general-purpose offloader 30 performs specific data processing in place of the CPU 10 among data processing to be processed by the CPU 10. The data processing performed by the CPU 10 and the data processing performed by the general-purpose offloader 30 are defined in advance by a program or the like. When a request for data processing defined as being performed by the CPU 10 is input via an input / output circuit (not shown), the data processing is performed by the CPU 10 and the data defined as being performed by the general-purpose offloader 30 When a request for processing is input, the general-purpose offloader 30 performs data processing.

図2は、汎用オフローダ30の構成の一例を示すブロック図である。   FIG. 2 is a block diagram illustrating an example of the configuration of the general-purpose offloader 30.

汎用オフローダ30は、入力FIFO(First-In First-Out)回路31と、データ処理アクセレータ50と、出力FIFO回路33と、ローカルメモリ34と、コントローラ39と、を有する。   The general-purpose offloader 30 includes an input FIFO (First-In First-Out) circuit 31, a data processing accelerator 50, an output FIFO circuit 33, a local memory 34, and a controller 39.

入力FIFO回路31は、入力されたデータを入力順にデータ処理アクセレータ50に出力する。   The input FIFO circuit 31 outputs the input data to the data processing accelerator 50 in the order of input.

データ処理アクセレータ50は、汎用性のある高効率な処理回路であり、アレイプロセッサや再構成可能回路などで構成される。データ処理アクセレータ50は、入力FIFO回路31から入力されたデータを用いてデータ処理を行い、処理結果を出力する。   The data processing accelerator 50 is a versatile and highly efficient processing circuit, and includes an array processor, a reconfigurable circuit, and the like. The data processing accelerator 50 performs data processing using the data input from the input FIFO circuit 31 and outputs a processing result.

出力FIFO回路33は、入力FIFO回路31とは独立に、データ処理アクセレータ50から入力されたデータ処理結果を連続的に出力する。   The output FIFO circuit 33 continuously outputs the data processing result input from the data processing accelerator 50 independently of the input FIFO circuit 31.

ローカルメモリ34は、データ処理アクセレータ50がデータ処理を効率的に行うために設けられており、必要に応じて適宜、データ処理アクセレータ50からアクセスされる。なお、図2においては、ローカルメモリ34が1つである例を示しているが、ローカルメモリ34は、複数であってもよい。   The local memory 34 is provided in order for the data processing accelerator 50 to perform data processing efficiently, and is accessed from the data processing accelerator 50 as needed. Although FIG. 2 shows an example in which there is one local memory 34, a plurality of local memories 34 may be provided.

コントローラ39は、図2においては不図示のメモリ20と入力FIFO回路31との間、および、メモリ20と出力FIFO回路33との間で、システムバス70を介してデータ転送を行うDMA(Direct Memory Access)回路を備えており、データ転送を制御する。   The controller 39 is a DMA (Direct Memory) that performs data transfer via the system bus 70 between the memory 20 and the input FIFO circuit 31 (not shown in FIG. 2) and between the memory 20 and the output FIFO circuit 33. Access) circuit, and controls data transfer.

データ処理アクセレータ50により高効率な処理が可能なデータ処理の典型例として、ストリーミング処理がある。ストリーミング処理とは、データ入力とデータ処理結果の出力とが同時かつ連続的に行われる処理である。入力FIFO回路31から連続的にデータをデータ処理アクセレータ50に入力し、出力FIFO回路33から連続的にデータ処理アクセレータ50によるデータ処理結果を出力することで、複雑な処理を要する場合でも、高スループットを実現することができる。   A typical example of data processing that can be processed with high efficiency by the data processing accelerator 50 is streaming processing. The streaming process is a process in which data input and data processing result output are performed simultaneously and continuously. Even when complicated processing is required, data is input continuously from the input FIFO circuit 31 to the data processing accelerator 50, and data processing results by the data processing accelerator 50 are output continuously from the output FIFO circuit 33. Can be realized.

特開2006−338538号公報JP 2006-338538 A 特開2007−034392号公報JP 2007-034392 A

汎用オフローダを備えたデータ処理システムにおいては、データ処理の前後にメモリ20と入力FIFO回路31との間、および、メモリ20と出力FIFO回路33との間で、多量のデータ転送を行う必要がある。また、そのデータ転送を効率的に行うためにDMA回路を含むコントローラ39を設ける必要がある。   In a data processing system including a general-purpose offloader, it is necessary to transfer a large amount of data between the memory 20 and the input FIFO circuit 31 and between the memory 20 and the output FIFO circuit 33 before and after data processing. . In order to perform the data transfer efficiently, it is necessary to provide a controller 39 including a DMA circuit.

多量のデータ転送を行うと、データ転送のオーバーヘッドが大きくなる。また、DMA回路を含むコントローラ39を設けると、回路規模のオーバーヘッドが大きくなる。データ転送や回路規模のオーバーヘッドが大きくなると、処理時間、回路面積、消費電力などの増大という問題が生じる。多量の計算を要する大規模なオフロード処理の場合には、上述したようなオーバーヘッドによる処理時間、回路面積、消費電力などの増大は相対的に小さく、あまり問題とならない。しかし、比較的規模の小さいデータ処理を行うMCU(Micro Control Unit)などにおいては、上述したオーバーヘッドによる処理時間、回路面積、消費電力などの増大が大きな比重を占めるようになり、無視できないものとなる。   When a large amount of data is transferred, the data transfer overhead increases. Further, if the controller 39 including the DMA circuit is provided, the circuit scale overhead increases. When the overhead of data transfer and circuit scale increases, there arises a problem that processing time, circuit area, power consumption and the like increase. In the case of large-scale offload processing that requires a large amount of calculation, the increase in processing time, circuit area, power consumption, etc. due to overhead as described above is relatively small and does not cause much problem. However, in an MCU (Micro Control Unit) that performs relatively small scale data processing, an increase in processing time, circuit area, power consumption, and the like due to the overhead described above occupies a large proportion and cannot be ignored. .

本発明の目的は、データ転送や回路規模のオーバーヘッドの低減を図ることができるデータ処理システム、半導体集積回路およびその制御方法に関する。   An object of the present invention relates to a data processing system, a semiconductor integrated circuit, and a control method thereof that can reduce data transfer and overhead of circuit scale.

上記目的を達成するために本発明のデータ処理システムは、
データ処理を行う第1のデータ処理部と、
前記第1のデータ処理部による処理対象であるデータ処理のうち、特定のデータ処理を前記第1のデータ処理部に代わって行う第2のデータ処理部と、
少なくとも第1および第2のメモリブロックを備えるメモリと、を有し、
前記第1のデータ処理部は、第1の動作モードにおいては、前記メモリが備えるすべてのメモリブロックを連続したアドレス空間を有する1つのメモリとしてアクセスして前記データ処理に伴うデータの読み書きを行い、第2の動作モードにおいては、停止状態となり、
前記第2のデータ処理部は、前記第1の動作モードにおいては、停止状態となり、前記第2の動作モードにおいては、前記第1のメモリブロックを読み出し専用のメモリとするとともに、前記第2のメモリブロックを書き込み専用のメモリとし、前記第1のメモリブロックからデータを読み出して前記特定のデータ処理を行い、該特定のデータ処理の結果を前記第2のメモリブロックに書き込む。
In order to achieve the above object, the data processing system of the present invention provides:
A first data processing unit for performing data processing;
Of the data processing to be processed by the first data processing unit, a second data processing unit that performs specific data processing instead of the first data processing unit;
A memory comprising at least first and second memory blocks;
In the first operation mode, the first data processing unit accesses all the memory blocks included in the memory as one memory having a continuous address space, reads and writes data associated with the data processing, In the second operation mode, it is stopped.
The second data processing unit is stopped in the first operation mode, and in the second operation mode, the first memory block is a read-only memory, and the second data processing unit The memory block is a write-only memory, data is read from the first memory block, the specific data processing is performed, and the result of the specific data processing is written to the second memory block.

上記目的を達成するために本発明の半導体集積回路は、
データ処理を行う第1の処理部と、前記第1のデータ処理部による処理対象であるデータ処理のうち、特定のデータ処理を前記第1のデータ処理部に代わって行う第2の処理部と、少なくとも第1および第2のメモリブロックを備えるメモリと、を有し、
前記第1の処理部は、第1の動作モードにおいては、前記メモリが備えるすべてのメモリブロックを連続したアドレス空間を有する1つのメモリとして前記データ処理に伴うデータの読み書きを行い、第2の動作モードにおいては、停止状態となり、
前記第2の処理部は、前記第1の動作モードにおいては、停止状態となり、前記第2の動作モードにおいては、前記第1のメモリブロックを読み出し専用のメモリとするとともに、前記第2のメモリブロックを書き込み専用のメモリとし、前記第1のメモリブロックからデータを読み出して前記特定のデータ処理を行い、該特定のデータ処理の結果を前記第2のメモリブロックに書き込む。
In order to achieve the above object, a semiconductor integrated circuit of the present invention includes:
A first processing unit that performs data processing; and a second processing unit that performs specific data processing on behalf of the first data processing unit among the data processings to be processed by the first data processing unit A memory comprising at least first and second memory blocks;
In the first operation mode, the first processing unit reads and writes data associated with the data processing as one memory having a continuous address space for all memory blocks included in the memory, and performs a second operation. In the mode, it will be stopped.
The second processing unit is in a stopped state in the first operation mode, and in the second operation mode, the first memory block is a read-only memory and the second memory The block is used as a write-only memory, data is read from the first memory block, the specific data processing is performed, and the result of the specific data processing is written to the second memory block.

上記目的を達成するために本発明の半導体集積回路の制御方法は、
データ処理を行う第1の処理部と、前記第1のデータ処理部による処理対象であるデータ処理のうち、特定のデータ処理を前記第1のデータ処理部に代わって行う第2の処理部と、少なくとも第1および第2のメモリブロックを備えるメモリと、を有する半導体集積回路の制御方法であって、
第1の動作モードにおいては、
前記第1の処理部は、前記メモリが備えるすべてのメモリブロックを連続したアドレス空間を有する1つのメモリとして前記データ処理に伴うデータの読み書きを行い、
前記第2の処理部は、停止状態となり、
第2の動作モードにおいては、
前記第1の処理部は、停止状態となり、
前記第2の処理部は、前記第1のメモリブロックを読み出し専用のメモリとするとともに、前記第2のメモリブロックを書き込み専用のメモリとし、前記第1のメモリブロックからデータを読み出して前記特定のデータ処理を行い、該特定のデータ処理の結果を前記第2のメモリブロックに書き込む。
In order to achieve the above object, a method for controlling a semiconductor integrated circuit according to the present invention includes:
A first processing unit that performs data processing; and a second processing unit that performs specific data processing on behalf of the first data processing unit among the data processings to be processed by the first data processing unit A method for controlling a semiconductor integrated circuit, comprising: a memory including at least first and second memory blocks,
In the first operation mode,
The first processing unit reads and writes data associated with the data processing as one memory having a continuous address space for all memory blocks provided in the memory,
The second processing unit is stopped,
In the second mode of operation,
The first processing unit is stopped,
The second processing unit sets the first memory block as a read-only memory, sets the second memory block as a write-only memory, reads data from the first memory block, and reads the specific memory block. Data processing is performed, and the result of the specific data processing is written into the second memory block.

本発明によれば、データ転送や回路規模のオーバーヘッドの低減を図ることができる。   According to the present invention, data transfer and circuit scale overhead can be reduced.

関連するデータ処理システムの要部構成を示す図である。It is a figure which shows the principal part structure of a related data processing system. 図2に示す汎用オフローダの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the general purpose offloader shown in FIG. 本発明の第1の実施形態のデータ処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the data processing system of the 1st Embodiment of this invention. 図3に示すメモリおよび結合器の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the memory and coupler shown in FIG. 図3に示すデータ処理システムの動作を説明するための図である。It is a figure for demonstrating operation | movement of the data processing system shown in FIG. 本発明の第2の実施形態のメモリおよび結合器の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the memory and coupler of the 2nd Embodiment of this invention. 関連するメモリブロックの構成を示すブロック図である。It is a block diagram which shows the structure of a related memory block. 図7に示す読み出し用回路の構成を示すブロック図である。FIG. 8 is a block diagram illustrating a configuration of a read circuit illustrated in FIG. 7. 図7に示す書き込み用回路の構成を示すブロック図である。FIG. 8 is a block diagram illustrating a configuration of a writing circuit illustrated in FIG. 7.

以下に、本発明を実施するための形態について図面を参照して説明する。   EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated with reference to drawings.

(第1の実施形態)
図3は、本発明の一実施形態のデータ処理システムの構成を示すブロック図である。図3において、図1および図2と同様の構成については同じ符号を付し、説明を省略する。
(First embodiment)
FIG. 3 is a block diagram showing the configuration of the data processing system according to the embodiment of the present invention. 3, the same components as those in FIGS. 1 and 2 are denoted by the same reference numerals, and description thereof is omitted.

図3に示すデータ処理システム1は、CPU10と、メモリ20と、結合器40と、データ処理アクセレータ50と、システムバス70と、周辺ブロック90と、を有する。CPU10は、第1のデータ処理部の一例であり、データ処理アクセレータ50は、第2のデータ処理部の一例である。メモリ20、結合器40およびデータ処理アクセレータ50は、汎用アクセレータを構成する。   The data processing system 1 illustrated in FIG. 3 includes a CPU 10, a memory 20, a coupler 40, a data processing accelerator 50, a system bus 70, and a peripheral block 90. The CPU 10 is an example of a first data processing unit, and the data processing accelerator 50 is an example of a second data processing unit. The memory 20, the coupler 40, and the data processing accelerator 50 constitute a general-purpose accelerator.

メモリ20は、メモリセルアレイを内蔵する複数のメモリブロックを備える。図3においては、メモリ20は、2つのメモリブロックを備える例を示している。メモリブロックとしては、1ポートメモリが用いられる。   The memory 20 includes a plurality of memory blocks that incorporate a memory cell array. FIG. 3 shows an example in which the memory 20 includes two memory blocks. A 1-port memory is used as the memory block.

結合器40は、メモリ20が備える複数のメモリブロックを連続したアドレス空間を有する1つのメモリとして結合する。   The combiner 40 combines a plurality of memory blocks provided in the memory 20 as one memory having a continuous address space.

データ処理アクセレータ50は、結合器40を介してメモリ20にアクセスし、CPU10による処理対象であるデータ処理のうち特定のデータ処理をCPU10に代わって行う。なお、CPU10が行うデータ処理とデータ処理アクセレータ50が行うデータ処理とは、予めプログラムなどで規定されている。CPU10が行うものとして規定されたデータ処理を要求する旨が不図示の入出力回路を介して入力された場合には、CPU10によりデータ処理が行われ、データ処理アクセレータ50が行うものとして規定されたデータ処理を要求する旨が入力された場合には、データ処理アクセレータ50によりデータ処理が行われる。   The data processing accelerator 50 accesses the memory 20 via the coupler 40 and performs specific data processing on behalf of the CPU 10 among data processing to be processed by the CPU 10. The data processing performed by the CPU 10 and the data processing performed by the data processing accelerator 50 are defined in advance by a program or the like. When a request for data processing defined as being performed by the CPU 10 is input via an input / output circuit (not shown), the data processing is performed by the CPU 10 and the data processing accelerator 50 is defined as performing. When a request for data processing is input, the data processing accelerator 50 performs data processing.

システムバス70は、CPU10と、結合器40と、周辺回路90と、を接続する。   The system bus 70 connects the CPU 10, the coupler 40, and the peripheral circuit 90.

本実施形態のデータ処理システム1は、第1および第2の動作モードを備えている。   The data processing system 1 of the present embodiment has first and second operation modes.

第1の動作モードにおいては、CPU10は、結合器40を介してメモリ20にアクセスし、データ処理を行う。上述したように、メモリ20には複数のメモリブロックが備えられているが、結合器40は、複数のメモリブロックを連続したアドレス空間を有する1つのメモリとして結合する。CPU10は、連続したアドレス空間を有する1つのメモリとしてメモリ20にアクセスし、データ処理に伴うデータの読み書きを行う。データ処理アクセレータ50は、第1の動作モードにおいては、停止状態となる。   In the first operation mode, the CPU 10 accesses the memory 20 via the coupler 40 and performs data processing. As described above, the memory 20 includes a plurality of memory blocks, but the combiner 40 combines the plurality of memory blocks as one memory having a continuous address space. The CPU 10 accesses the memory 20 as one memory having a continuous address space, and reads / writes data associated with data processing. The data processing accelerator 50 is in a stopped state in the first operation mode.

第2の動作モードにおいては、データ処理アクセレータ50は、結合器40を介してメモリ20にアクセスし、CPU10による処理対象であるデータ処理のうち特定のデータ処理をCPU10に代わって行う。ここで、データ処理アクセレータ50は、メモリ20の備えるメモリブロックごとに、独立なメモリとしてアクセスしてデータ処理を行う。CPU10は、第2の動作モードにおいては、停止状態となる。   In the second operation mode, the data processing accelerator 50 accesses the memory 20 via the coupler 40 and performs specific data processing among the data processing to be processed by the CPU 10 instead of the CPU 10. Here, the data processing accelerator 50 performs data processing by accessing each memory block included in the memory 20 as an independent memory. The CPU 10 is in a stopped state in the second operation mode.

本実施形態のデータ処理システム1においては、第1の動作モードと第2の動作モードとが切り替えられながら、データ処理が行われる。   In the data processing system 1 of the present embodiment, data processing is performed while switching between the first operation mode and the second operation mode.

第1の動作モードにおいて、メモリ20の然るべきアドレスにデータ処理アクセレータ50により処理されるべき入力データが保持される。第2の動作モードにおいて、然るべきアドレスに保持された入力データがデータ処理アクセレータ50により処理され、その処理結果がメモリ20の然るべきアドレスに保持される。次の第1の動作モードにおいて、CPU10は、メモリ20の然るべきアドレスに保持された、データ処理アクセレータの処理結果にアクセスすることができる。ここで、入力データとデータ処理アクセレータ50による処理結果とは、異なるメモリブロックに保持される。   In the first operation mode, input data to be processed by the data processing accelerator 50 is held at an appropriate address in the memory 20. In the second operation mode, the input data held at an appropriate address is processed by the data processing accelerator 50, and the processing result is held at the appropriate address in the memory 20. In the next first operation mode, the CPU 10 can access the processing result of the data processing accelerator held at the appropriate address of the memory 20. Here, the input data and the processing result by the data processing accelerator 50 are held in different memory blocks.

図4は、メモリ20および結合器40の内部構成を示すブロック図である。   FIG. 4 is a block diagram showing the internal configuration of the memory 20 and the coupler 40.

メモリ20は、それぞれがメモリセルアレイを内蔵する3つメモリブロック21−1〜21−3を備える。また、結合器40は、マルチプレクサ41−1,41−2,41−3,42−2,42−3と、出力選択器45と、を有する。   The memory 20 includes three memory blocks 21-1 to 21-3 each including a memory cell array. The coupler 40 includes multiplexers 41-1, 41-2, 41-3, 42-2, and 42-3, and an output selector 45.

なお、図4においては、メモリ20が3つのメモリブロックを備える場合を例として説明するが、これに限られるものではない。メモリ20はメモリブロックを2つ、あるいは、4つ以上備えていてもよい。なお、メモリ20がメモリブロックを2つ備える場合には、メモリブロック21−1とメモリブロック21−3とを備える。   In FIG. 4, the case where the memory 20 includes three memory blocks will be described as an example, but the present invention is not limited to this. The memory 20 may include two or four or more memory blocks. In addition, when the memory 20 includes two memory blocks, the memory 20 includes a memory block 21-1 and a memory block 21-3.

図4においては不図示のシステムバス70を介して、アドレス・制御信号71が、マルチプレクサ41−1,41−2,41−3と、出力選択器45と、に入力される。また、書き込みデータ信号72が、メモリブロック21−1のDI端子と、マルチプレクサ42−2,42−3と、に入力される。また、モード信号74が、マルチプレクサ41−1,41−2,42−2,41−3,42−3と、出力選択器45と、データ処理アクセレータ50と、に入力される。なお、アドレス・制御信号71には、アクセス対象のメモリセルのアドレスを示すアドレス信号と制御入力を示す制御信号とが含まれる。書き込みデータ信号72とは、メモリブロックに保持させるデータを示す信号である。モード信号74とは、データ処理システム1の動作モードを示す信号である。   In FIG. 4, an address / control signal 71 is input to the multiplexers 41-1, 41-2, 41-3 and the output selector 45 via the system bus 70 (not shown). The write data signal 72 is input to the DI terminal of the memory block 21-1 and the multiplexers 42-2 and 42-3. Further, the mode signal 74 is input to the multiplexers 41-1, 41-2, 42-2, 41-3 and 42-3, the output selector 45, and the data processing accelerator 50. The address / control signal 71 includes an address signal indicating the address of the memory cell to be accessed and a control signal indicating the control input. The write data signal 72 is a signal indicating data to be held in the memory block. The mode signal 74 is a signal indicating the operation mode of the data processing system 1.

データ処理アクセレータ50は、アドレス・制御信号51−1,51−2,51−3をそれぞれ、マルチプレクサ41−1,41−2,41−3に入力する。また、データ処理アクセレータ50は、データ処理の結果を示すデータ信号52−2,52−3をそれぞれ、マルチプレクサ42−2,42−3に入力する。また、データ処理アクセレータ50は、データ処理が終了すると、データ処理終了信号75をシステムバス70を介してCPU10に入力する。   The data processing accelerator 50 inputs the address / control signals 51-1, 51-2, 51-3 to the multiplexers 41-1, 41-2, 41-3, respectively. The data processing accelerator 50 inputs data signals 52-2 and 52-3 indicating the results of the data processing to the multiplexers 42-2 and 42-3, respectively. Further, when the data processing is completed, the data processing accelerator 50 inputs a data processing end signal 75 to the CPU 10 via the system bus 70.

メモリブロック21−1〜21−3はそれぞれ、アドレス・制御端子(AC端子)と、データ読み出し端子(DO端子)と、データ書き込み端子(DI端子)と、を有する。メモリブロック21−1〜21−3はそれぞれ、AC端子から入力されるアドレス・制御信号に応じて、DI端子に入力されたデータを保持する。また、メモリブロック21−1は、AC端子から入力されるアドレス・制御信号に応じて、保持しているデータをデータDO端子からデータ信号53−1として出力選択器45およびデータ処理アクセレータ50に出力する。また、メモリブロック21−2は、AC端子から入力されるアドレス・制御信号に応じて、保持しているデータをDO端子からデータ信号53−2として出力選択器45およびデータ処理アクセレータ50に出力する。また、メモリブロック21−3は、AC端子から入力されるアドレス・制御信号に応じて、保持しているデータをDO端子からデータ信号53−3として出力選択器45に出力する。   Each of the memory blocks 21-1 to 21-3 has an address / control terminal (AC terminal), a data read terminal (DO terminal), and a data write terminal (DI terminal). Each of the memory blocks 21-1 to 21-3 holds data input to the DI terminal according to an address / control signal input from the AC terminal. Further, the memory block 21-1 outputs the held data from the data DO terminal as the data signal 53-1 to the output selector 45 and the data processing accelerator 50 in accordance with the address / control signal input from the AC terminal. To do. Further, the memory block 21-2 outputs the held data from the DO terminal to the output selector 45 and the data processing accelerator 50 as the data signal 53-2 in accordance with the address / control signal input from the AC terminal. . Further, the memory block 21-3 outputs the held data from the DO terminal to the output selector 45 as the data signal 53-3 according to the address / control signal input from the AC terminal.

マルチプレクサ41−1は、動作モードに応じて、システムバス70を介して入力されるアドレス・制御信号71とデータ処理アクセレータ50から入力されるアドレス・制御信号51−1とのいずれか一方をメモリブロック21−1のAC端子に入力する。   The multiplexer 41-1 selects one of the address / control signal 71 input via the system bus 70 and the address / control signal 51-1 input from the data processing accelerator 50 according to the operation mode as a memory block. Input to the AC terminal 21-1.

マルチプレクサ41−2は、動作モードに応じて、システムバス70を介して入力されるアドレス・制御信号71とデータ処理アクセレータ50から入力されるアドレス・制御信号51−2とのいずれか一方をメモリブロック21−2のAC端子に入力する。   The multiplexer 41-2 stores either the address / control signal 71 input via the system bus 70 or the address / control signal 51-2 input from the data processing accelerator 50 according to the operation mode as a memory block. Input to the AC terminal 21-2.

マルチプレクサ42−2は、動作モードに応じて、システムバス70を介して入力される書き込みデータ信号72とデータ処理アクセレータ50から入力されるデータ信号52−2とのいずれか一方をメモリブロック21−2のDI端子に入力する。   The multiplexer 42-2 outputs either the write data signal 72 input via the system bus 70 or the data signal 52-2 input from the data processing accelerator 50 according to the operation mode to the memory block 21-2. Input to the DI terminal.

マルチプレクサ41−3は、動作モードに応じて、システムバス70を介して入力されるアドレス・制御信号71とデータ処理アクセレータ50から入力されるアドレス・制御信号51−3とのいずれか一方をメモリブロック21−3のAC端子に入力する。   The multiplexer 41-3 stores either the address / control signal 71 input via the system bus 70 or the address / control signal 51-3 input from the data processing accelerator 50 according to the operation mode as a memory block. Input to AC terminal 21-3.

マルチプレクサ42−3は、動作モードに応じて、システムバス70を介して入力される書き込みデータ信号72とデータ処理アクセレータ50から入力されるデータ信号52−3とのいずれか一方をメモリブロック21−3のDI端子に入力する。   The multiplexer 42-3 outputs either the write data signal 72 input via the system bus 70 or the data signal 52-3 input from the data processing accelerator 50 according to the operation mode to the memory block 21-3. Input to the DI terminal.

出力選択器45は、動作モードに応じて、データ信号53−1,53−2,53−3のいずれかを読み出しデータ信号73としてシステムバス70に出力し、または、読み出しデータ信号73の出力を停止する。   The output selector 45 outputs any one of the data signals 53-1, 53-2, and 53-3 as the read data signal 73 to the system bus 70 or outputs the read data signal 73 according to the operation mode. Stop.

次に、データ処理システム1の動作について、図3および図4を参照して説明する。   Next, the operation of the data processing system 1 will be described with reference to FIGS.

なお、以下では、CPU10により行われるものとして規定されたデータ処理を要求する旨と、データ処理アクセレータ50により行われるものとして規定された特定のデータ処理を要求する旨とが入力されるものとする。また、以下では、モード信号の論理値が第1の論理値である場合には第1の動作モードとなり、モード信号の論理値が第2の論理値である場合には第2の動作モードとなるものとする。   In the following description, it is assumed that a request for data processing defined as being performed by the CPU 10 and a request for specific data processing defined as performed by the data processing accelerator 50 are input. . In the following description, when the logic value of the mode signal is the first logic value, the first operation mode is set. When the logic value of the mode signal is the second logic value, the second operation mode is set. Shall be.

まず、第1の動作モード時の動作について説明する。   First, the operation in the first operation mode will be described.

第1の動作モードにおいては、CPU10は、動作状態となり、データ処理に応じて、アドレス・制御信号71と書き込みデータ信号72とをシステムバス70を介して結合器40に入力する。一方、データ処理アクセレータ50は停止状態となる。そのため、データ処理終了信号75の値はドントケアとなる。   In the first operation mode, the CPU 10 enters an operation state, and inputs an address / control signal 71 and a write data signal 72 to the coupler 40 via the system bus 70 in accordance with data processing. On the other hand, the data processing accelerator 50 is stopped. Therefore, the value of the data processing end signal 75 is don't care.

マルチプレクサ41−1は、システムバス70を介して入力されるアドレス・制御信号71をメモリブロック21−1のAC端子に入力する。マルチプレクサ41−2は、システムバス70を介して入力されるアドレス・制御信号71をメモリブロック21−2のAC端子に入力する。マルチプレクサ41−3は、システムバス70を介して入力されるアドレス・制御信号71をメモリブロック21−3のAC端子に入力する。   The multiplexer 41-1 inputs an address / control signal 71 input via the system bus 70 to the AC terminal of the memory block 21-1. The multiplexer 41-2 inputs an address / control signal 71 input via the system bus 70 to the AC terminal of the memory block 21-2. The multiplexer 41-3 inputs the address / control signal 71 input via the system bus 70 to the AC terminal of the memory block 21-3.

上述したように、アドレス・制御信号71には、アドレス信号と制御信号とが含まれる。制御信号の例としては、データ書き込みイネーブル信号WE、データ読み出しイネーブル信号RE、メモリブロックの入出力モードを制御する出力イネーブル信号OEなどがある。なお、データ書き込みイネーブル信号WEとデータ読み出しイネーブル信号REとを互いに反転論理の関係として1つの信号にまとめる方式など、メモリブロックの制御方式としては種々のものがあるが、本発明はメモリブロックの制御方式の差異に依存するものではない。   As described above, the address / control signal 71 includes an address signal and a control signal. Examples of control signals include a data write enable signal WE, a data read enable signal RE, and an output enable signal OE that controls the input / output mode of the memory block. Although there are various memory block control methods such as a method in which the data write enable signal WE and the data read enable signal RE are combined into one signal in an inverted logic relationship, the present invention controls the memory block. It does not depend on the difference in method.

第1の動作モードにおいては、例えば、アドレス信号の上位2ビットによって、メモリブロック21−1〜21−3のいずれかのメモリブロック(以下、メモリブロック21−k(k=1,2,3)と称する)が選択され、残りのメモリブロックは読み書きされない非選択状態となる。また、アドレス信号の上位2ビット以外の下位ビットにより、メモリブロック21−k内の特定のアドレスが指定される。   In the first operation mode, for example, depending on the upper 2 bits of the address signal, any one of the memory blocks 21-1 to 21-3 (hereinafter referred to as memory block 21-k (k = 1, 2, 3)). The remaining memory blocks are in a non-selected state in which reading and writing are not performed. Further, a specific address in the memory block 21-k is designated by lower bits other than the upper two bits of the address signal.

マルチプレクサ42−2は、システムバス70を介して入力された書き込みデータ信号72をメモリブロック21−2のDI端子に入力する。マルチプレクサ42−3は、システムバス70を介して入力された書き込みデータ信号72をメモリブロック21−3のDI端子に入力する。   The multiplexer 42-2 inputs the write data signal 72 input via the system bus 70 to the DI terminal of the memory block 21-2. The multiplexer 42-3 inputs the write data signal 72 input via the system bus 70 to the DI terminal of the memory block 21-3.

メモリブロック21−kは、制御信号として書き込みイネーブル信号が入力され、また、DI端子に書き込みデータ信号72が入力されると、アドレス信号の上位2ビット以外の下位ビットにより示されるアドレスに、書き込みデータ信号72に示されるデータを保持する。   When a write enable signal is input as a control signal to the memory block 21-k and a write data signal 72 is input to the DI terminal, the write data is written to the address indicated by the lower bits other than the upper 2 bits of the address signal. The data indicated by the signal 72 is held.

また、メモリブロック21−kは、制御信号として読み出しイネーブル信号が入力されると、アドレス信号の上位2ビット以外の下位ビットにより示されるアドレスに保持しているデータをデータ信号53−kとして出力選択器45に入力する。   Further, when the read enable signal is input as the control signal, the memory block 21-k selects the data held at the address indicated by the lower bits other than the upper 2 bits of the address signal as the data signal 53-k. Input to the device 45.

出力選択器45は、入力されたデータ信号53−kを読み出しデータ信号73としてシステムバス70に出力する。読み出しデータ信号73は、システムバス70を介してCPU10に入力される。   The output selector 45 outputs the input data signal 53 -k to the system bus 70 as a read data signal 73. The read data signal 73 is input to the CPU 10 via the system bus 70.

このように、第1の動作モードにおいては、メモリ20の備える複数のメモリブロックが連続したアドレス空間を有する1つのメモリとして、システムバス70、ひいては、CPU10からアクセスされる。   As described above, in the first operation mode, the plurality of memory blocks included in the memory 20 are accessed from the system bus 70 and, as a result, the CPU 10 as one memory having a continuous address space.

次に、第2の動作モード時の動作について説明する。   Next, the operation in the second operation mode will be described.

第2の動作モードにおいては、CPU10は停止状態となる。一方、データ処理アクセレータ50は、動作状態となり、データ処理に応じて、アドレス・制御信号51−1,51−2,51−3をそれぞれ、マルチプレクサ41−1,41−2,41−3に入力し、また、データ信号52−2,52−3をそれぞれ、マルチプレクサ42−2,42−3に入力する。   In the second operation mode, the CPU 10 is stopped. On the other hand, the data processing accelerator 50 enters an operating state, and inputs the address / control signals 51-1, 51-2, 51-3 to the multiplexers 41-1, 41-2, 41-3, respectively, according to the data processing. The data signals 52-2 and 52-3 are input to the multiplexers 42-2 and 42-3, respectively.

マルチプレクサ41−1は、データ処理アクセレータ50から入力されたアドレス・制御信号51−1をメモリブロック21−1のAC端子に入力する。マルチプレクサ41−2は、データ処理アクセレータ50から入力されたアドレス・制御信号51−2をメモリブロック21−2のAC端子に入力する。マルチプレクサ41−3は、データ処理アクセレータ50から入力されたアドレス・制御信号51−3をメモリブロック21−3のAC端子に入力する。   The multiplexer 41-1 inputs the address / control signal 51-1 input from the data processing accelerator 50 to the AC terminal of the memory block 21-1. The multiplexer 41-2 inputs the address / control signal 51-2 input from the data processing accelerator 50 to the AC terminal of the memory block 21-2. The multiplexer 41-3 inputs the address / control signal 51-3 input from the data processing accelerator 50 to the AC terminal of the memory block 21-3.

アドレス・制御信号51−1の入力に応じて、メモリブロック21−1は読み出し専用となり、また、アドレス・制御信号51−3の入力に応じて、メモリブロック21−3は書き込み専用となる。   The memory block 21-1 is read-only according to the input of the address / control signal 51-1, and the memory block 21-3 is write-only according to the input of the address / control signal 51-3.

メモリブロック21−1は、アドレス信号に示されるアドレスに保持しているデータをデータ信号53−1としてDO端子からデータ処理アクセレータ50に出力する。データ処理アクセレータ50は、データ信号53−1を用いてデータ処理を行い、処理結果を示すデータ信号52−3をマルチプレクサ42−3に出力する。マルチプレクサ42−3は、そのデータ信号52−3をメモリブロック21−3のDI端子に入力する。メモリブロック21−3は、マルチプレクサ41−3から入力されたアドレス信号に示されるアドレスに、マルチプレクサ42−3から入力されたデータ信号52−3に示されるデータを保持する。   The memory block 21-1 outputs the data held at the address indicated by the address signal from the DO terminal to the data processing accelerator 50 as the data signal 53-1. The data processing accelerator 50 performs data processing using the data signal 53-1, and outputs a data signal 52-3 indicating the processing result to the multiplexer 42-3. The multiplexer 42-3 inputs the data signal 52-3 to the DI terminal of the memory block 21-3. The memory block 21-3 holds the data indicated by the data signal 52-3 input from the multiplexer 42-3 at the address indicated by the address signal input from the multiplexer 41-3.

ここで、データ処理アクセレータ50は、メモリブロック21−1からのデータの読み出しとメモリブロック21−3へのデータの書き込みとを独立して連続的に行うことで、高効率にストリーミング処理を行うことができる。   Here, the data processing accelerator 50 performs the streaming process with high efficiency by continuously reading the data from the memory block 21-1 and writing the data to the memory block 21-3 independently. Can do.

第2の動作モードにおいては、メモリブロック21−2は、データ処理アクセレータ50からのアドレス・制御信号51−2によって、他のメモリブロックとは独立にアドレッシングされ、また、独立に制御される。つまり、メモリブロック21−2は、データ処理アクセレータ50により適宜、メモリブロック21−2からのデータの読み出し、あるいは、メモリブロック21−2へのデータの書き込みが行われ、データ処理アクセレータ50の作業用ローカルメモリとして機能する。なお、データ処理アクセレータ50の使用目的によっては、作業用ローカルメモリを設けなくてもよいし、また、独立な作業用ローカルメモリを複数設けてもよい。   In the second operation mode, the memory block 21-2 is addressed and controlled independently from other memory blocks by the address / control signal 51-2 from the data processing accelerator 50. That is, in the memory block 21-2, the data processing accelerator 50 appropriately reads data from the memory block 21-2 or writes data to the memory block 21-2. Functions as local memory. Depending on the purpose of use of the data processing accelerator 50, the work local memory may not be provided, or a plurality of independent work local memories may be provided.

第2の動作モードにおいては、出力選択器45は、データ読み出し信号73の出力を行わない。このとき、システムバス70に仕様により、出力選択器45の出力がハイインピーダンスである必要がある場合には、そのような仕様に準じる出力選択器を用いる。この場合、第2の動作モードにおいては、出力選択器45の出力はハイインピーダンス状態になる。また、第1の動作モードにおいては、出力選択器45は、入力されるデータ信号のうちいずれかを出力する。   In the second operation mode, the output selector 45 does not output the data read signal 73. At this time, if the output of the output selector 45 needs to be high impedance due to the specifications of the system bus 70, an output selector conforming to such specifications is used. In this case, in the second operation mode, the output of the output selector 45 is in a high impedance state. In the first operation mode, the output selector 45 outputs one of the input data signals.

データ処理アクセレータ50は、第2の動作モードになるとデータ処理終了信号75の論理値を第2の論理値とし、データ処理が終了すると、データ処理終了信号75の論理値を第1の論理値に遷移させる。データ処理終了信号75の論理値が第2の論理値から第1の論理値に遷移すると、モード信号74の論理値が第2の論理値から第1の論理値に遷移する。なお、モード信号74の論理値の第1の論理値から第2の論理値への遷移は、例えば、データ処理アクセレータ50がデータ処理を行うのに必要なデータのCPU10によるメモリブロック21−1への書き込みが終了した際などに行われる。   When the data processing accelerator 50 enters the second operation mode, the logical value of the data processing end signal 75 is set to the second logical value, and when the data processing is completed, the logical value of the data processing end signal 75 is set to the first logical value. Transition. When the logical value of the data processing end signal 75 changes from the second logical value to the first logical value, the logical value of the mode signal 74 changes from the second logical value to the first logical value. The transition of the logical value of the mode signal 74 from the first logical value to the second logical value is, for example, to the memory block 21-1 by the CPU 10 of data necessary for the data processing accelerator 50 to perform data processing. This is done when writing is completed.

このように、本実施形態のデータ処理システム1においては、CPU10とデータ処理アクセレータ50とがメモリ20を共有している。第1の動作モードにおいては、CPU10は、メモリ20の備える複数のメモリブロックを連続したアドレス空間を有する1つのメモリとしてアクセスしてデータ処理を行い、データ処理アクセレータ50は停止状態となる。一方、第2の動作モードにおいては、CPU10は停止状態となり、データ処理アクセレータ50は、メモリ20の備える複数のメモリブロックのそれぞれを独立したメモリブロックとして、各メモリブロックにアクセスし、データ処理を行う。   As described above, in the data processing system 1 of the present embodiment, the CPU 10 and the data processing accelerator 50 share the memory 20. In the first operation mode, the CPU 10 accesses a plurality of memory blocks included in the memory 20 as one memory having a continuous address space to perform data processing, and the data processing accelerator 50 is stopped. On the other hand, in the second operation mode, the CPU 10 is stopped, and the data processing accelerator 50 accesses each memory block as each of the plurality of memory blocks provided in the memory 20 as an independent memory block, and performs data processing. .

図5は、第1および第2の動作モードにおけるモード信号およびデータ処理終了信号の状態と、CPU10、データ処理アクセレータ50およびメモリ20の状態とを示す図である。   FIG. 5 is a diagram illustrating the state of the mode signal and the data processing end signal in the first and second operation modes, and the states of the CPU 10, the data processing accelerator 50, and the memory 20.

図5において、時刻t1から時刻t2までの間は、モード信号の論理値が第1の論理値(Low)であるため、動作モードは第1の動作モードとなる。   In FIG. 5, since the logic value of the mode signal is the first logic value (Low) from time t1 to time t2, the operation mode is the first operation mode.

上述したように、第1の動作モードにおいては、データ処理アクセレータ50は停止状態となり、データ処理アクセレータ50から出力されるデータ処理終了信号の値はドントケアとなる。また、CPU10は動作状態となり、メモリ20が備える複数のメモリブロックを連続したアドレス空間を有する1つのメモリとしてアクセスする。   As described above, in the first operation mode, the data processing accelerator 50 is stopped, and the value of the data processing end signal output from the data processing accelerator 50 is don't care. Further, the CPU 10 enters an operating state, and accesses a plurality of memory blocks provided in the memory 20 as one memory having a continuous address space.

データ処理アクセレータ50により行われるものとして規定された特定のデータ処理を要求する旨が入力されると、モード信号の論理値が第1の論理値から第2の論理値に遷移する。ここで、データ処理アクセレータ50により行われるデータ処理に必要なデータのメモリブロックへの保持がCPU10により行われた後に、モード信号の論理値が第1の論理値から第2の論理値に遷移する。   When a request for specific data processing defined as being performed by the data processing accelerator 50 is input, the logic value of the mode signal transitions from the first logic value to the second logic value. Here, after the CPU 10 holds the data necessary for the data processing performed by the data processing accelerator 50, the logic value of the mode signal changes from the first logic value to the second logic value. .

時刻t2から時刻t3までの間は、モード信号の論理値が第2の論理値(High)であるため、動作モードは第2の動作モードに遷移する。   Since the logic value of the mode signal is the second logic value (High) from time t2 to time t3, the operation mode transitions to the second operation mode.

上述したように、第2の動作モードにおいては、CPU10は停止状態となる。また、データ処理アクセレータ50は、動作状態となり、データ処理終了信号の論理値を第1の論理値(Low)から第2の論理値(High)に遷移させる。また、データ処理アクセレータ50は、メモリ20が備える複数のメモリブロックをそれぞれ独立したメモリブロックとしてアクセスする。   As described above, the CPU 10 is stopped in the second operation mode. In addition, the data processing accelerator 50 enters an operating state and changes the logical value of the data processing end signal from the first logical value (Low) to the second logical value (High). The data processing accelerator 50 accesses a plurality of memory blocks provided in the memory 20 as independent memory blocks.

データ処理が終了すると、データ処理アクセレータ50は、データ処理終了信号の論理値を第1の論理値から第2の論理値に遷移させる。データ処理終了信号の論理値が第1の論理値から第2の論理値に遷移すると、モード信号の論理値が第2の論理値から第1の論理値に遷移し、時刻t3において第1の動作モードに遷移する。その後、図5においては記載を省略するが、時刻t4において、再び、第2の動作モードとなり、第1の動作モードと第2の動作モードとが繰り返される。   When the data processing ends, the data processing accelerator 50 changes the logical value of the data processing end signal from the first logical value to the second logical value. When the logic value of the data processing end signal transits from the first logic value to the second logic value, the logic value of the mode signal transits from the second logic value to the first logic value, and at time t3, the first logic value changes. Transition to operation mode. Thereafter, although not shown in FIG. 5, at the time t4, the second operation mode is set again, and the first operation mode and the second operation mode are repeated.

このように本実施形態のデータ処理システム1は、CPU10とデータ処理アクセレータ50とがメモリ20を共有している。第1の動作モードにおいては、CPU10は、メモリ20の備える複数のメモリブロックを連続したアドレス空間を有する1つのメモリとしてアクセスし、データ処理アクセレータ50は、停止状態となる。第2の動作モードにおいては、CPU10は停止状態となり、データ処理アクセレータ50は、メモリ20の備える複数のメモリブロックのそれぞれを独立したメモリブロックとして、各メモリブロックにアクセスする。   Thus, in the data processing system 1 of the present embodiment, the CPU 10 and the data processing accelerator 50 share the memory 20. In the first operation mode, the CPU 10 accesses a plurality of memory blocks included in the memory 20 as one memory having a continuous address space, and the data processing accelerator 50 is in a stopped state. In the second operation mode, the CPU 10 is stopped, and the data processing accelerator 50 accesses each memory block by setting each of the plurality of memory blocks included in the memory 20 as independent memory blocks.

そのため、汎用オフローダのための専用メモリが不要となるので、専用メモリ分の回路面積および消費電力の削減を図ることができる。また、CPUが使用するメモリと汎用オフローダの専用メモリとの間でのデータ転送が不要となるので、データ転送に伴う処理時間や消費電力の増大を抑制することができる。また、DMA回路を備えたコントローラなどを設ける必要がなくなるので、回路面積の削減を図ることができる。   This eliminates the need for a dedicated memory for the general-purpose offloader, so that the circuit area and power consumption for the dedicated memory can be reduced. In addition, since data transfer between the memory used by the CPU and the dedicated memory of the general-purpose offloader becomes unnecessary, an increase in processing time and power consumption associated with data transfer can be suppressed. In addition, since it is not necessary to provide a controller or the like having a DMA circuit, the circuit area can be reduced.

また、本実施形態のデータ処理システム1においては、データ処理アクセレータ50は、第2の動作モードにおいては、複数のメモリブロックのうち、1つのメモリブロックを読み出し専用とし、別の1つのメモリブロックを書き込み専用とする。   Further, in the data processing system 1 of the present embodiment, the data processing accelerator 50 makes one memory block read-only among a plurality of memory blocks and another one memory block in the second operation mode. Write only.

そのため、データの読み出しと読み出したデータを用いたデータ処理による処理結果の出力とを独立かつ連続的に行うストリーミング処理を高効率に実現することができる。通常、ストリーミング処理を行うためには高コストなFIFO回路や2ポートメモリが用いられていた。しかし、本実施形態においては、入力専用のメモリブロックと出力専用のメモリブロックとを分けることで、メモリブロックを1ポートメモリとすることができる。そのため、安価なメモリブロックを用いることができ、低コスト化を図ることができる。さらに、汎用オフローダ(データ処理アクセレータ)がメモリにアクセスする際に、すべてのメモリブロックを読み書き可能なメモリブロックとする場合と比べて、回路構成を簡素化し、低コスト化を図ることができる。   For this reason, it is possible to achieve a highly efficient streaming process in which data reading and output of processing results by data processing using the read data are performed independently and continuously. Usually, a high-cost FIFO circuit or a 2-port memory is used to perform streaming processing. However, in the present embodiment, the memory block can be a one-port memory by separating the input-only memory block and the output-only memory block. Therefore, an inexpensive memory block can be used, and cost reduction can be achieved. Furthermore, when the general-purpose offloader (data processing accelerator) accesses the memory, the circuit configuration can be simplified and the cost can be reduced as compared with the case where all the memory blocks are read / writeable memory blocks.

(第2の実施形態)
本発明の第2の実施形態のデータ処理システムは、第1の実施形態のデータ処理システム1と比較して、結合器40およびメモリブロックの構成が異なる。そのため、以下では、これらの構成を中心に説明する。
(Second Embodiment)
The data processing system according to the second embodiment of the present invention differs from the data processing system 1 according to the first embodiment in the configuration of the coupler 40 and the memory block. Therefore, below, it demonstrates focusing on these structures.

図6は、本実施形態のメモリ20および結合器40の構成を示すブロック図である。図6において、図4と同様の構成については同じ符号を付し、説明を省略する。   FIG. 6 is a block diagram showing the configuration of the memory 20 and the coupler 40 of this embodiment. In FIG. 6, the same components as those in FIG.

メモリ20は、少なくとも2つのメモリブロック21−10,21−30を備える。なお、図6においては、メモリ20は2つのメモリブロックを備える例を用いて説明するが、これに限られるものではなく、第1の実施形態と同様に、3以上のメモリブロックを備えてもよい。メモリ20が3以上のメモリブロックを備える場合であっても、メモリブロック21−10,21−30以外のメモリブロックは第1の実施形態と同様にして組み込まれるものである。そのため、図6においては、メモリブロック21−10,21−30以外のメモリブロックについては記載を省略する。   The memory 20 includes at least two memory blocks 21-10 and 21-30. In FIG. 6, the memory 20 will be described using an example including two memory blocks. However, the present invention is not limited to this, and the memory 20 may include three or more memory blocks as in the first embodiment. Good. Even when the memory 20 includes three or more memory blocks, memory blocks other than the memory blocks 21-10 and 21-30 are incorporated in the same manner as in the first embodiment. Therefore, in FIG. 6, the description of the memory blocks other than the memory blocks 21-10 and 21-30 is omitted.

結合器40は、マルチプレクサ41−1,41−3,42−0,43と、出力選択器45−2と、OR回路49と、バッファ220,230と、を有する。   The coupler 40 includes multiplexers 41-1, 41-3, 42-0, 43, an output selector 45-2, an OR circuit 49, and buffers 220, 230.

図6においては不図示のシステムバス70を介して、アドレス・制御信号71が、マルチプレクサ41−1,41−3と、出力選択器45−2と、OR回路49と、に入力される。また、書き込みデータ信号72が、マルチプレクサ42−0に入力される。また、モード信号74が、マルチプレクサ41−1,41−3,42−0と、出力選択器45−2と、OR回路49と、データ処理アクセレータ50と、に入力される。   In FIG. 6, the address / control signal 71 is input to the multiplexers 41-1 and 41-3, the output selector 45-2, and the OR circuit 49 via the system bus 70 (not shown). The write data signal 72 is input to the multiplexer 42-0. The mode signal 74 is input to the multiplexers 41-1, 41-3, 42-0, the output selector 45-2, the OR circuit 49, and the data processing accelerator 50.

データ処理アクセレータ50は、アドレス・制御信号51−1,51−3をそれぞれ、マルチプレクサ41−1,41−3に入力する。また、データ処理アクセレータ50は、データ信号52−3をマルチプレクサ42−0に入力する。   The data processing accelerator 50 inputs the address / control signals 51-1 and 51-3 to the multiplexers 41-1 and 41-3, respectively. Further, the data processing accelerator 50 inputs the data signal 52-3 to the multiplexer 42-0.

マルチプレクサ41−1は、動作モードに応じて、システムバス70を介して入力されるアドレス・制御信号71とデータ処理アクセレータ50から入力されるアドレス・制御信号51−1とのいずれか一方をメモリブロック21−10のAC端子に入力する。   The multiplexer 41-1 selects one of the address / control signal 71 input via the system bus 70 and the address / control signal 51-1 input from the data processing accelerator 50 according to the operation mode as a memory block. Input to AC terminal 21-10.

マルチプレクサ41−3は、動作モードに応じて、システムバス70を介して入力されるアドレス・制御信号71とデータ処理アクセレータ50から入力されるアドレス・制御信号51−3とのいずれか一方をメモリブロック21−30のAC端子に入力する。   The multiplexer 41-3 stores either the address / control signal 71 input via the system bus 70 or the address / control signal 51-3 input from the data processing accelerator 50 according to the operation mode as a memory block. Input to AC terminal 21-30.

マルチプレクサ42−0は、動作モードに応じて、システムバス70を介して入力される書き込みデータ信号72とデータ処理アクセレータ50から入力されるデータ信号52−3のいずれか一方をバッファ230に出力する。   The multiplexer 42-0 outputs either the write data signal 72 input via the system bus 70 or the data signal 52-3 input from the data processing accelerator 50 to the buffer 230 according to the operation mode.

マルチプレクサ43は、OR回路49から入力される信号の論理値に応じて、メモリブロック21−10のDO端子からの出力とメモリブロック21−30のDO端子からの出力とのいずれか一方をバッファ220に出力する。   The multiplexer 43 buffers either the output from the DO terminal of the memory block 21-10 or the output from the DO terminal of the memory block 21-30 according to the logical value of the signal input from the OR circuit 49. Output to.

OR回路49は、システムバス70を介して入力されるアドレス・制御信号71とモード信号74との論理和を演算し、演算結果をマルチプレクサ43に出力する。   The OR circuit 49 calculates the logical sum of the address / control signal 71 and the mode signal 74 input via the system bus 70, and outputs the calculation result to the multiplexer 43.

バッファ230は、マルチプレクサ42−0の出力をバッファリングし、データ信号52としてメモリブロック21−10およびメモリブロック21−30のDI端子に入力する。   The buffer 230 buffers the output of the multiplexer 42-0 and inputs the data signal 52 to the DI terminals of the memory block 21-10 and the memory block 21-30.

バッファ220は、マルチプレクサ43の出力をバッファリングし、データ信号53−1として出力選択器45−2およびデータ処理アクセレータ50に入力する。   The buffer 220 buffers the output of the multiplexer 43 and inputs it to the output selector 45-2 and the data processing accelerator 50 as the data signal 53-1.

出力選択器45−2は、バッファ220から出力されたデータ信号53−1と図6においては不図示の他のメモリブロックのDO端子から入力されたデータ信号53−2のいずれかを読み出しデータ信号73としてシステムバス70に出力する。   The output selector 45-2 reads either the data signal 53-1 output from the buffer 220 or the data signal 53-2 input from the DO terminal of another memory block (not shown in FIG. 6). The result is output to the system bus 70 as 73.

ここで、一般的なメモリブロックの構成について説明する。   Here, the configuration of a general memory block will be described.

図7は、一般的なメモリブロック21の構成を示すブロック図である。   FIG. 7 is a block diagram showing a configuration of a general memory block 21.

図7に示すメモリブロック21は、メモリセルアレイを内蔵する。また、メモリブロック21は、メモリセルアレイからのデータの読み出しに用いられる読み出し用回路22と、メモリセルアレイへのデータの書き込みに用いられる書き込み用回路23と、を有する。なお、データの読み出しを行うか書き込みを行うかは、アドレス・制御信号に含まれる制御信号によって決まる。   The memory block 21 shown in FIG. 7 includes a memory cell array. The memory block 21 includes a read circuit 22 used for reading data from the memory cell array, and a write circuit 23 used for writing data to the memory cell array. Whether data is read or written is determined by a control signal included in the address / control signal.

図8は、図7に示す読み出し用回路22の構成を示すブロック図である。   FIG. 8 is a block diagram showing a configuration of the read circuit 22 shown in FIG.

図8に示す読み出し用回路22は、スイッチ221と、センスアンプ222と、出力バッファ223と、を有する。   The read circuit 22 illustrated in FIG. 8 includes a switch 221, a sense amplifier 222, and an output buffer 223.

スイッチ221は、データ読み出しイネーブル信号REが入力され、データ読み出しイネーブル信号REの論理値に応じて、導通状態または遮断状態となる。データ読み出しイネーブル信号REは読み出しモードにおいて第1の論理値となり、スイッチ221は、データ読み出しイネーブル信号REの論理値が第1の論理値である場合に導通状態となる。   The switch 221 receives the data read enable signal RE and enters a conductive state or a cut-off state depending on the logical value of the data read enable signal RE. The data read enable signal RE becomes the first logical value in the read mode, and the switch 221 becomes conductive when the logical value of the data read enable signal RE is the first logical value.

センスアンプ222は、スイッチ221を介して入力されたメモリセルからの信号を増幅し、出力バッファ223に出力する。   The sense amplifier 222 amplifies the signal from the memory cell input via the switch 221 and outputs the amplified signal to the output buffer 223.

出力バッファ223は、センスアンプ222から入力された信号をバッファリングし、DO端子に出力する。   The output buffer 223 buffers the signal input from the sense amplifier 222 and outputs it to the DO terminal.

図9は、図7に示す書き込み用回路23の構成を示すブロック図である。   FIG. 9 is a block diagram showing a configuration of the write circuit 23 shown in FIG.

図9に示す書き込み用回路23は、入力バッファ231と、書き込みバッファ232と、スイッチ233と、を有する。   The write circuit 23 illustrated in FIG. 9 includes an input buffer 231, a write buffer 232, and a switch 233.

入力バッファ231は、DI端子に入力されたデータ入力信号をバッファリングし、書き込みバッファ232に出力する。   The input buffer 231 buffers the data input signal input to the DI terminal and outputs it to the write buffer 232.

書き込みバッファ232は、入力バッファ231から入力されたデータをバッファリングし、スイッチ233に出力する。   The write buffer 232 buffers the data input from the input buffer 231 and outputs it to the switch 233.

スイッチ233は、データ書き込みイネーブル信号WEが入力され、データ書き込みイネーブル信号WEの論理値に応じて、導通状態または遮断状態となる。データ書き込みイネーブル信号WEは書き込みモードにおいて第1の論理値となり、スイッチ233は、データ書き込みイネーブル信号WEの論理値が第1の論理値である場合に導通状態となる。スイッチ233が導通状態となると、書き込みバッファ232から出力された信号がメモリセルアレイに書き込まれる。   The switch 233 receives the data write enable signal WE and enters a conductive state or a cut-off state depending on the logical value of the data write enable signal WE. The data write enable signal WE has a first logical value in the write mode, and the switch 233 becomes conductive when the logical value of the data write enable signal WE is the first logical value. When the switch 233 becomes conductive, the signal output from the write buffer 232 is written into the memory cell array.

なお、スイッチ221およびスイッチ233は、一般に、パストランジスタやトランスミッションゲートで構成されるスイッチである。スイッチ221およびスイッチ233は、データ読み出しイネーブル信号REやデータ書き込みイネーブル信号WEの論理値が第2の論理値である場合には遮断状態となる。典型的には、データ読み出しイネーブル信号REとデータ書き込みイネーブル信号WEとは論理反転の関係にある。   Note that the switch 221 and the switch 233 are generally switches composed of pass transistors and transmission gates. The switches 221 and 233 are cut off when the logical values of the data read enable signal RE and the data write enable signal WE are the second logical value. Typically, the data read enable signal RE and the data write enable signal WE are in a logically inverted relationship.

本実施形態においては、メモリブロック21−10,21−30は、図8に示すセンスアンプ222および出力バッファ223と、図9に示す入力バッファ231および書き込みバッファ232と、を有さない。その代わりに、図6に示すバッファ230が、メモリブロック21−10およびメモリブロック21−30の書き込みバッファおよび入力バッファとして機能し、バッファ220が、メモリブロック21−10およびメモリブロック21−30のセンスアンプおよび出力バッファとして機能する。   In the present embodiment, the memory blocks 21-10 and 21-30 do not have the sense amplifier 222 and the output buffer 223 shown in FIG. 8, and the input buffer 231 and the write buffer 232 shown in FIG. Instead, the buffer 230 shown in FIG. 6 functions as a write buffer and an input buffer of the memory block 21-10 and the memory block 21-30, and the buffer 220 senses the memory block 21-10 and the memory block 21-30. Functions as an amplifier and output buffer.

本実施形態のデータ処理システムの動作について図6を参照して説明する。   The operation of the data processing system of this embodiment will be described with reference to FIG.

なお、以下では、モード信号74の第1の論理値を0とし、第2の論理値を1とする。   Hereinafter, the first logical value of the mode signal 74 is set to 0, and the second logical value is set to 1.

まず、モード信号74の論理値が0、すなわち、第1の動作モードの場合の動作について説明する。   First, the operation when the logical value of the mode signal 74 is 0, that is, in the first operation mode will be described.

第1の動作モードにおいては、システムバス70から入力されたアドレス・制御信号71が、マルチプレクサ41−1を介してメモリブロック21−10のAC端子に入力され、マルチプレクサ41−3を介してメモリブロック21−30のAC端子に入力される。さらに、システムバス70から入力された書き込みデータ信号72が、マルチプレクサ42−0を介してバッファ230に入力される。バッファ230は、マルチプレクサ42−0からの入力に応じて、データ信号52をメモリブロック21−10およびメモリブロック21−30のDI端子に入力する。アドレス・制御信号71の入力によって書き込みモードになっているメモリブロックがあれば、そのメモリブロックにデータ信号52が保持される。   In the first operation mode, the address / control signal 71 input from the system bus 70 is input to the AC terminal of the memory block 21-10 via the multiplexer 41-1, and the memory block via the multiplexer 41-3. It is input to the AC terminal 21-30. Further, the write data signal 72 input from the system bus 70 is input to the buffer 230 via the multiplexer 42-0. The buffer 230 inputs the data signal 52 to the DI terminals of the memory block 21-10 and the memory block 21-30 according to the input from the multiplexer 42-0. If there is a memory block in the write mode by the input of the address / control signal 71, the data signal 52 is held in the memory block.

上述したように、第1の動作モードにおいては、メモリ20の備える複数のメモリブロックを連続したアドレス空間を有する1つのメモリとしてアクセスが行われる。そのため、ある時点において書き込みモードとなるメモリブロックは1つだけである。本実施形態においては、バッファ230は、メモリブロック21−10およびメモリブロック21−30の書き込み用回路として共有されるが、ある時点において書き込みモードとなるのは1つのメモリブロックだけであるため、メモリブロック21−10およびメモリブロック21−30がバッファ230を書き込み用回路として共有することができる。   As described above, in the first operation mode, a plurality of memory blocks provided in the memory 20 are accessed as one memory having a continuous address space. Therefore, only one memory block is in the write mode at a certain time. In the present embodiment, the buffer 230 is shared as a writing circuit for the memory block 21-10 and the memory block 21-30. However, since only one memory block is in the writing mode at a certain time, the memory 230 The block 21-10 and the memory block 21-30 can share the buffer 230 as a writing circuit.

OR回路49は、アドレス・制御信号71とモード信号74との論理和を演算し、演算結果をマルチプレクサ43に出力する。ここで、アドレス・制御信号71には、メモリブロック21−10とメモリブロック21−30とを区別する1ビットの信号が含まれている。モード信号の論理値は0であるため、OR回路49は、アドレス・制御信号71に含まれるメモリブロック21−10とメモリブロック21−30とを区別する1ビットの信号と同じ論理値の信号をマルチプレクサ43に出力する。   The OR circuit 49 calculates a logical sum of the address / control signal 71 and the mode signal 74 and outputs the calculation result to the multiplexer 43. Here, the address / control signal 71 includes a 1-bit signal for distinguishing between the memory block 21-10 and the memory block 21-30. Since the logical value of the mode signal is 0, the OR circuit 49 outputs a signal having the same logical value as the 1-bit signal that distinguishes the memory block 21-10 and the memory block 21-30 included in the address / control signal 71. Output to the multiplexer 43.

マルチプレクサ43は、OR回路49から入力される信号の論理値に応じて、メモリブロック21−10およびメモリブロック21−30のうち、いずれかのメモリブロックのDO端子から出力された信号をバッファ220に出力する。ここで、マルチプレクサ43は、例えば、パストランジスタやトランスミッションゲートなどで構成されたパッシブなマルチプレクサであり、バッファリング機能を有しない。   The multiplexer 43 receives the signal output from the DO terminal of one of the memory blocks 21-10 and 21-30 in the buffer 220 according to the logical value of the signal input from the OR circuit 49. Output. Here, the multiplexer 43 is a passive multiplexer composed of, for example, a pass transistor or a transmission gate, and does not have a buffering function.

バッファ220は、メモリブロック21−10あるいはメモリブロック21−30のメモリセルアレイからDO端子およびマルチプレクサ43を介して入力された微弱な信号を増幅し、データ信号53−1として出力選択器45−2に出力する。   The buffer 220 amplifies a weak signal input from the memory cell array of the memory block 21-10 or the memory block 21-30 via the DO terminal and the multiplexer 43, and supplies the amplified signal to the output selector 45-2 as a data signal 53-1. Output.

出力選択器45−2は、メモリブロック21−10,21−30以外の他のメモリブロックからのデータ53−2の入力がある場合には、アドレス・制御信号71の論理値に応じて、データ信号53−1とデータ信号53−2のうちいずれか一方を読み出し信号73として出力する。   When there is an input of data 53-2 from a memory block other than the memory blocks 21-10 and 21-30, the output selector 45-2 receives data according to the logical value of the address / control signal 71. Either one of the signal 53-1 and the data signal 53-2 is output as a read signal 73.

上述したように、第1の動作モードにおいては、メモリ20の備える複数のメモリブロックを連続したアドレス空間を有する1つのメモリとしてアクセスが行われる。そのため、ある時点において読み出しモードとなるメモリブロックは1つだけである。本実施形態においては、バッファ220は、メモリブロック21−10およびメモリブロック21−30の読み出し用回路として共有されるが、ある時点において読み出しモードとなるのは1つのメモリブロックだけであるため、メモリブロック21−10およびメモリブロック21−30がバッファ220を読み出し用回路として共有することができる。   As described above, in the first operation mode, a plurality of memory blocks provided in the memory 20 are accessed as one memory having a continuous address space. Therefore, only one memory block is set to the read mode at a certain time. In the present embodiment, the buffer 220 is shared as a read circuit for the memory block 21-10 and the memory block 21-30. However, since only one memory block is in the read mode at a certain time, the memory 220 The block 21-10 and the memory block 21-30 can share the buffer 220 as a read circuit.

次に、モード信号74の論理値が1、すなわち、第2の動作モードの場合の動作について説明する。   Next, the operation when the logic value of the mode signal 74 is 1, that is, in the second operation mode will be described.

第2の動作モードにおいては、マルチプレクサ41−1は、データ処理アクセレータ50から出力されたアドレス・制御信号51−1をメモリブロック21−10のAC端子に入力する。アドレス・制御信号51−1の入力に応じて、メモリブロック21−10は、読み出し専用となる。また、マルチプレクサ41−3は、データ処理アクセレータ50から出力されたアドレス・制御信号51−3をメモリブロック21−30のAC端子に入力する。アドレス・制御信号51−3の入力に応じて、メモリブロック21−30は、書き込み専用となる。   In the second operation mode, the multiplexer 41-1 inputs the address / control signal 51-1 output from the data processing accelerator 50 to the AC terminal of the memory block 21-10. In response to the input of the address / control signal 51-1, the memory block 21-10 is read-only. The multiplexer 41-3 inputs the address / control signal 51-3 output from the data processing accelerator 50 to the AC terminal of the memory block 21-30. In response to the input of the address / control signal 51-3, the memory block 21-30 is dedicated to writing.

メモリブロック21−10のDO端子からの出力はマルチプレクサ43に入力され、マルチプレクサ43はメモリブロック21−10のDO端子から出力された信号をバッファ220に出力する。   The output from the DO terminal of the memory block 21-10 is input to the multiplexer 43, and the multiplexer 43 outputs the signal output from the DO terminal of the memory block 21-10 to the buffer 220.

バッファ220は、マルチプレクサ43から入力された信号を増幅し、データ信号53−1としてデータ処理アクセレータ50に出力する。   The buffer 220 amplifies the signal input from the multiplexer 43 and outputs the amplified signal to the data processing accelerator 50 as the data signal 53-1.

また、マルチプレクサ42−0は、データ処理アクセレータ50から出力されたデータ信号52−3をバッファ230に出力する。バッファ230は、マルチプレクサ42−0から入力された信号をバッファリングし、データ信号52としてメモリバッファ21−10およびメモリバッファ21−30に出力する。ここで、第2の動作モードにおいては、メモリブロック21−30が書き込み専用のメモリブロックであり、書き込みモードとなるため、バッファ230から出力されたデータ信号52はメモリブロック21−30に保持される。   The multiplexer 42-0 outputs the data signal 52-3 output from the data processing accelerator 50 to the buffer 230. The buffer 230 buffers the signal input from the multiplexer 42-0 and outputs the signal as the data signal 52 to the memory buffer 21-10 and the memory buffer 21-30. Here, in the second operation mode, the memory block 21-30 is a write-only memory block and is in the write mode. Therefore, the data signal 52 output from the buffer 230 is held in the memory block 21-30. .

上述したように、メモリブロック21−10とメモリブロック21−30とは、バッファ230を書き込み用回路として共有し、バッファ220を読み出し用回路として共有している。第2の動作モードにおいては、メモリブロック21−10は読み出し専用となり、メモリブロック21−30は書き込み専用となるため、メモリブロック21−10およびメモリブロック21−30がバッファ220を読み出し用回路として共有することができる。   As described above, the memory block 21-10 and the memory block 21-30 share the buffer 230 as a write circuit and share the buffer 220 as a read circuit. In the second operation mode, since the memory block 21-10 is read-only and the memory block 21-30 is write-only, the memory block 21-10 and the memory block 21-30 share the buffer 220 as a read circuit. can do.

このように本実施形態のデータ処理システムによれば、メモリブロック21−10とメモリブロック21−30とは、それぞれが内蔵するメモリセルアレイに書き込みを行うための書き込み用回路、および、メモリセルアレイから読み出しを行うための読み出し用回路と、を共有する。   As described above, according to the data processing system of the present embodiment, the memory block 21-10 and the memory block 21-30 are read from the memory cell array and the writing circuit for writing to the memory cell array incorporated therein. And a readout circuit for performing.

そのため、複数のメモリブロックのそれぞれに書き込み用回路および読み出し用回路を設ける場合と比較して、回路面積を削減することができる。特に、MCUのような小規模なチップ内のメモリの場合、メモリ容量は小さいため、書き込み回路や読み出し回路が示す面積比率が相対的に大きくなるため、複数のメモリブロックで書き込み用回路および読み出し用回路を共有することで、回路面積の削減の効果が大きくなる。   Therefore, the circuit area can be reduced as compared with the case where a writing circuit and a reading circuit are provided in each of the plurality of memory blocks. In particular, in the case of a memory in a small chip such as an MCU, since the memory capacity is small, the area ratio indicated by the writing circuit and the reading circuit becomes relatively large. By sharing the circuit, the effect of reducing the circuit area is increased.

なお、上述した第1および第2の実施形態のデータ処理システムにおいて、CPU10、汎用オフローダ(データ処理アクセレータ50)、周辺ブロック90、システムバス70などの各構成は、1つの半導体集積回路に修正されていることは必須ではない。しかし、メモリ20やデータ処理アクセラレータ50などを含む汎用オフローダが1つの半導体集積回路に集積されている場合、加えて、CPU10やシステムバス70なども同じ半導体集積回路に集積されている場合に、本発明は、より大きな効果を奏することができる。   In the data processing systems of the first and second embodiments described above, the components such as the CPU 10, the general-purpose offloader (data processing accelerator 50), the peripheral block 90, the system bus 70, and the like are corrected to one semiconductor integrated circuit. It is not essential. However, when the general-purpose offloader including the memory 20 and the data processing accelerator 50 is integrated in one semiconductor integrated circuit, the CPU 10 and the system bus 70 are also integrated in the same semiconductor integrated circuit. The invention can achieve a greater effect.

以上、実施形態を参照して本願発明を説明したが、本発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解し得る様々な変更をすることができる。   Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

この出願は、2012年3月13日に出願された日本出願2012−55903を基礎とする優先権を主張し、その開示の全てをここに取り込む。
This application claims the priority on the basis of the Japanese application 2012-55903 for which it applied on March 13, 2012, and takes in those the indications of all here.

Claims (10)

データ処理を行う第1のデータ処理部と、
前記第1のデータ処理部による処理対象であるデータ処理のうち、特定のデータ処理を前記第1のデータ処理部に代わって行う第2のデータ処理部と、
少なくとも第1および第2のメモリブロックを備えるメモリと、を有し、
前記第1のデータ処理部は、第1の動作モードにおいては、前記メモリが備えるすべてのメモリブロックを連続したアドレス空間を有する1つのメモリとしてアクセスして前記データ処理に伴うデータの読み書きを行い、第2の動作モードにおいては、停止状態となり、
前記第2のデータ処理部は、前記第1の動作モードにおいては、停止状態となり、前記第2の動作モードにおいては、前記第1のメモリブロックを読み出し専用のメモリとするとともに、前記第2のメモリブロックを書き込み専用のメモリとし、前記第1のメモリブロックからデータを読み出して前記特定のデータ処理を行い、該特定のデータ処理の結果を前記第2のメモリブロックに書き込み、前記読み出しと前記書き込みを同時に行うことを特徴とするデータ処理システム。
A first data processing unit for performing data processing;
Of the data processing to be processed by the first data processing unit, a second data processing unit that performs specific data processing instead of the first data processing unit;
A memory comprising at least first and second memory blocks;
In the first operation mode, the first data processing unit accesses all the memory blocks included in the memory as one memory having a continuous address space, reads and writes data associated with the data processing, In the second operation mode, it is stopped.
The second data processing unit is stopped in the first operation mode, and in the second operation mode, the first memory block is a read-only memory, and the second data processing unit the memory block as a write-only memory, performs the particular data processing by reading the data from said first memory block, writes the results of the particular data processing in the second memory block, and the read A data processing system which performs the writing simultaneously .
請求項1記載のデータ処理システムにおいて、
前記特定のデータ処理の開始時に、前記第1の動作モードから前記第2の動作モードに遷移し、前記特定のデータ処理の終了時に、前記第2の動作モードから前記第1の動作モードに遷移することを特徴とするデータ処理システム。
The data processing system of claim 1, wherein
Transition from the first operation mode to the second operation mode at the start of the specific data processing, and transition from the second operation mode to the first operation mode at the end of the specific data processing A data processing system characterized by:
請求項2記載のデータ処理システムにおいて、
前記第1のデータ処理部は、前記第1の動作モードにおいて、前記特定のデータ処理を行うためのデータを前記第1のメモリブロックに書き込むことを特徴とするデータ処理システム。
The data processing system according to claim 2, wherein
The data processing system, wherein the first data processing unit writes data for performing the specific data processing into the first memory block in the first operation mode.
請求項1から3のいずれか1項に記載のデータ処理システムにおいて、
前記メモリは、第3のメモリブロックをさらに備え、
前記第2のデータ処理部は、前記第2の動作モードにおいて、他の前記メモリブロックとは独立に読み書き可能なローカルメモリとして前記第3のメモリブロックにアクセスすることを特徴とするデータ処理システム。
The data processing system according to any one of claims 1 to 3,
The memory further comprises a third memory block;
In the second operation mode, the second data processing unit accesses the third memory block as a local memory that can be read / written independently of the other memory blocks.
請求項1から4のいずれか1項に記載のデータ処理システムにおいて、
前記メモリブロックは、1ポートメモリであることを特徴とするデータ処理システム。
In the data processing system according to any one of claims 1 to 4,
The data processing system, wherein the memory block is a one-port memory.
請求項1から5のいずれか1項に記載のデータ処理システムにおいて、
前記第1のメモリブロックと前記第2のメモリブロックとは、各々が内蔵するメモリセルアレイからデータを読み出すための読み出し用回路および前記メモリセルアレイにデータを書き込むための書き込み用回路を共有することを特徴とするデータ処理システム。
The data processing system according to any one of claims 1 to 5,
The first memory block and the second memory block share a read circuit for reading data from a built-in memory cell array and a write circuit for writing data to the memory cell array. Data processing system.
請求項1から6のいずれか1項に記載のデータ処理システムにおいて、
前記メモリおよび前記第2のデータ処理部が、1つの半導体集積回路に集積されることを特徴とするデータ処理システム。
The data processing system according to any one of claims 1 to 6,
A data processing system, wherein the memory and the second data processing unit are integrated in one semiconductor integrated circuit.
請求項7記載のデータ処理システムにおいて、
前記半導体集積回路には、前記第1のデータ処理部がさらに集積されることを特徴とするデータ処理システム。
The data processing system according to claim 7, wherein
The data processing system, wherein the first data processing unit is further integrated in the semiconductor integrated circuit.
データ処理を行う第1の処理部と、前記第1のデータ処理部による処理対象であるデータ処理のうち、特定のデータ処理を前記第1のデータ処理部に代わって行う第2の処理部と、少なくとも第1および第2のメモリブロックを備えるメモリと、を有し、
前記第1の処理部は、第1の動作モードにおいては、前記メモリが備えるすべてのメモリブロックを連続したアドレス空間を有する1つのメモリとして前記データ処理に伴うデータの読み書きを行い、第2の動作モードにおいては、停止状態となり、
前記第2の処理部は、前記第1の動作モードにおいては、停止状態となり、前記第2の動作モードにおいては、前記第1のメモリブロックを読み出し専用のメモリとするとともに、前記第2のメモリブロックを書き込み専用のメモリとし、前記第1のメモリブロックからデータを読み出して前記特定のデータ処理を行い、該特定のデータ処理の結果を前記第2のメモリブロックに書き込み、前記読み出しと前記書き込みを同時に行うことを特徴とする半導体集積回路。
A first processing unit that performs data processing; and a second processing unit that performs specific data processing on behalf of the first data processing unit among the data processings to be processed by the first data processing unit A memory comprising at least first and second memory blocks;
In the first operation mode, the first processing unit reads and writes data associated with the data processing as one memory having a continuous address space for all memory blocks included in the memory, and performs a second operation. In the mode, it will be stopped.
The second processing unit is in a stopped state in the first operation mode, and in the second operation mode, the first memory block is a read-only memory and the second memory block a write-only memory, the first from the memory block reads the data subjected to the specific data processing, write the result of the particular data processing in the second memory block, the said read A semiconductor integrated circuit which performs writing simultaneously .
データ処理を行う第1の処理部と、前記第1のデータ処理部による処理対象であるデータ処理のうち、特定のデータ処理を前記第1のデータ処理部に代わって行う第2の処理部と、少なくとも第1および第2のメモリブロックを備えるメモリと、を有する半導体集積回路の制御方法であって、
第1の動作モードにおいては、
前記第1の処理部は、前記メモリが備えるすべてのメモリブロックを連続したアドレス空間を有する1つのメモリとして前記データ処理に伴うデータの読み書きを行い、
前記第2の処理部は、停止状態となり、
第2の動作モードにおいては、
前記第1の処理部は、停止状態となり、
前記第2の処理部は、前記第1のメモリブロックを読み出し専用のメモリとするとともに、前記第2のメモリブロックを書き込み専用のメモリとし、前記第1のメモリブロックからデータを読み出して前記特定のデータ処理を行い、該特定のデータ処理の結果を前記第2のメモリブロックに書き込み、前記読み出しと前記書き込みを同時に行うことを特徴とする半導体集積回路の制御方法。
A first processing unit that performs data processing; and a second processing unit that performs specific data processing on behalf of the first data processing unit among the data processings to be processed by the first data processing unit A method for controlling a semiconductor integrated circuit, comprising: a memory including at least first and second memory blocks,
In the first operation mode,
The first processing unit reads and writes data associated with the data processing as one memory having a continuous address space for all memory blocks provided in the memory,
The second processing unit is stopped,
In the second mode of operation,
The first processing unit is stopped,
The second processing unit sets the first memory block as a read-only memory, sets the second memory block as a write-only memory, reads data from the first memory block, and reads the specific memory block. It performs data processing, write the result of the particular data processing in the second memory block, a control method for a semiconductor integrated circuit and performs the writing and the reading at the same time.
JP2014504730A 2012-03-13 2013-01-25 Data processing system, semiconductor integrated circuit and control method thereof Expired - Fee Related JP6115564B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012055903 2012-03-13
JP2012055903 2012-03-13
PCT/JP2013/051539 WO2013136857A1 (en) 2012-03-13 2013-01-25 Data processing system, semiconductor integrated circuit, and control method thereof

Publications (2)

Publication Number Publication Date
JPWO2013136857A1 JPWO2013136857A1 (en) 2015-08-03
JP6115564B2 true JP6115564B2 (en) 2017-04-19

Family

ID=49160779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014504730A Expired - Fee Related JP6115564B2 (en) 2012-03-13 2013-01-25 Data processing system, semiconductor integrated circuit and control method thereof

Country Status (2)

Country Link
JP (1) JP6115564B2 (en)
WO (1) WO2013136857A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201421B (en) * 2022-02-17 2022-05-10 苏州浪潮智能科技有限公司 A data stream processing method, storage control node and readable storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2564805B2 (en) * 1985-08-08 1996-12-18 日本電気株式会社 Information processing device
JPS6488853A (en) * 1987-09-30 1989-04-03 Yokogawa Medical Syst Memory mechanism for high speed arithmetic unit
EP0843254A3 (en) * 1990-01-18 1999-08-18 National Semiconductor Corporation Integrated digital signal processor/general purpose CPU with shared internal memory
JPH0460744A (en) * 1990-06-29 1992-02-26 Casio Comput Co Ltd Digital microcomputer
GB2317468B (en) * 1996-09-23 2001-01-24 Advanced Risc Mach Ltd Digital signal processing integrated circuit architecture
KR100572945B1 (en) * 1998-02-04 2006-04-24 텍사스 인스트루먼츠 인코포레이티드 Digital signal processor with hardware coprocessor that can be efficiently connected
ATE520086T1 (en) * 2005-06-30 2011-08-15 Imec MEMORY ARRANGEMENT FOR MULTI-PROCESSOR SYSTEMS

Also Published As

Publication number Publication date
WO2013136857A1 (en) 2013-09-19
JPWO2013136857A1 (en) 2015-08-03

Similar Documents

Publication Publication Date Title
JP5431003B2 (en) Reconfigurable circuit and reconfigurable circuit system
US20130036426A1 (en) Information processing device and task switching method
JP6146128B2 (en) Data processing device
JP6115564B2 (en) Data processing system, semiconductor integrated circuit and control method thereof
JP2007133456A (en) Semiconductor device
US8327079B2 (en) Cache memory control device and pipeline control method
JP2006338538A (en) Stream processor
US9081673B2 (en) Microprocessor and memory access method
US20050135402A1 (en) Data transfer apparatus
US20120089771A1 (en) Data Processing Apparatus
JP2011065415A (en) Asynchronous bus interface circuit
JP4693843B2 (en) Memory control device and memory control method
US20140092123A1 (en) Drawing control device
JP2000227895A (en) Device and method for transferring image data
US8764874B2 (en) Arrangement, method, integrated circuit and device for routing requests
JP2010049511A (en) Access method to shared memory and programmable controller of multi-cpu configuration
US10534707B2 (en) Semiconductor device including plurality of bus masters and control device and program used in the semiconductor device
KR100336743B1 (en) Processing circuit for data
JP4769936B2 (en) Information processing system with memory controller
JP2004139218A (en) Microprocessor
JPS63217460A (en) Buffer control circuit
JP2012234417A (en) Processor, multiprocessor system, and memory control method
JP2005084737A (en) Data transfer method and data transfer apparatus
JP2008046697A (en) Data processing unit and data processing apparatus using the same
JP2018010464A (en) Memory control device and semiconductor integrated circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170306

R150 Certificate of patent or registration of utility model

Ref document number: 6115564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees