JP6493044B2 - Multiprocessor system - Google Patents

Multiprocessor system Download PDF

Info

Publication number
JP6493044B2
JP6493044B2 JP2015138699A JP2015138699A JP6493044B2 JP 6493044 B2 JP6493044 B2 JP 6493044B2 JP 2015138699 A JP2015138699 A JP 2015138699A JP 2015138699 A JP2015138699 A JP 2015138699A JP 6493044 B2 JP6493044 B2 JP 6493044B2
Authority
JP
Japan
Prior art keywords
data
holding
read
input
signal
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.)
Active
Application number
JP2015138699A
Other languages
Japanese (ja)
Other versions
JP2017021573A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2015138699A priority Critical patent/JP6493044B2/en
Publication of JP2017021573A publication Critical patent/JP2017021573A/en
Application granted granted Critical
Publication of JP6493044B2 publication Critical patent/JP6493044B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、デュアルポートメモリなどの記憶装置を備えるマルチプロセッサシステムに関する。   The present invention relates to a multiprocessor system including a storage device such as a dual port memory.

特許文献1には、保護制御演算に影響を与えることなく、遠隔からの整定変更,設定変更,装置内部のデータ転送を高速に実行するに好適なディジタル保護制御装置が開示されている。このディジタル保護制御装置は、デュアルポートメモリにより密結合されたリアルタイム処理演算ブロックとネットワーク処理ブロックとを有している。リアルタイム処理演算ブロックは、リアルタイム処理演算用の演算CPUと、デュアルポートメモリの書込み制御を実行するデュアルポートメモリ制御回路とを備えている。ネットワーク処理ブロックは、ネットワーク処理用のネットワークCPUと、デュアルポートメモリのネットワークCPU側からのアクセスを制御するデュアルポートメモリ制御回路とを備えている。   Patent Document 1 discloses a digital protection control apparatus suitable for performing settling change, setting change, and data transfer inside the apparatus at high speed without affecting the protection control calculation. This digital protection control device has a real-time processing operation block and a network processing block that are tightly coupled by a dual port memory. The real-time processing arithmetic block includes an arithmetic CPU for real-time processing arithmetic and a dual-port memory control circuit that executes dual-port memory write control. The network processing block includes a network CPU for network processing and a dual port memory control circuit for controlling access from the network CPU side of the dual port memory.

ところで、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)やFPGA(Field−Programmable Gate Array)に内蔵されたデュアルポートメモリは、一般的に複数のブロックに分けて組み込まれている。使用するデュアルポートメモリのブロック数が少ない場合は、1つのデュアルポートメモリと1つのデュアルポートメモリ制御回路とを1対1として構成すればよい。しかしながら、使用するデュアルポートメモリのブロック数が多い場合、デュアルポートメモリとデュアルポートメモリ制御回路とを1対1で構成すると、ブロック数に比例してデュアルポートメモリ制御回路の個数が増えてしまう。そうすると、ASICやFPGAのリソースを多く消費してしまうという問題が生じる。   By the way, a dual-port memory built in an application specific integrated circuit (ASIC) or FPGA (Field-Programmable Gate Array) is generally divided into a plurality of blocks. When the number of blocks of the dual port memory to be used is small, one dual port memory and one dual port memory control circuit may be configured on a one-to-one basis. However, when the number of blocks of the dual port memory to be used is large, if the dual port memory and the dual port memory control circuit are configured on a one-to-one basis, the number of dual port memory control circuits increases in proportion to the number of blocks. This causes a problem that a lot of ASIC and FPGA resources are consumed.

また、ASICやFPGAでは、複数のブロックのデュアルポートメモリからそれぞれ読出された読出データは、複数のブロックの出力側に接続された選択回路に入力され、この選択回路によって選択された読出データのみが出力データバスを介してデュアルポートメモリ制御回路に出力されるのが一般的である。このように、複数個のデュアルポートメモリから読出された読出データのうちの1つを選択回路で選択してデュアルポートメモリ制御回路に入力する方法では、デュアルポートメモリの配線が長くなる。さらに、選択回路を構成するゲート回路の段数が多くなる。その結果、データバスに出力された読出データの遅延が増大する。読出データが多ビットのデータである場合、ビット毎に遅延時間が異なると、デュアルポートメモリ制御回路が正規のデータとは異なる不定値の読出データを保持してしまうという問題が生じる。   In an ASIC or FPGA, read data read from the dual port memories of a plurality of blocks is input to a selection circuit connected to the output side of the plurality of blocks, and only the read data selected by the selection circuit is stored. In general, it is output to a dual port memory control circuit via an output data bus. As described above, in the method in which one of the read data read from the plurality of dual port memories is selected by the selection circuit and input to the dual port memory control circuit, the wiring of the dual port memory becomes long. Furthermore, the number of stages of gate circuits constituting the selection circuit increases. As a result, the delay of the read data output to the data bus increases. When the read data is multi-bit data, if the delay time is different for each bit, there is a problem that the dual port memory control circuit holds read data having an indefinite value different from normal data.

特開2004−64892号公報JP 2004-64892 A

デュアルポートメモリ制御回路が設けられたリアルタイム処理演算ブロックやネットワーク処理ブロックなどの処理ブロックに、送信されるべき正規のデータとは異なる不定値のデータが送信されてしまうと、処理ブロックが誤動作してしまう可能性があるという問題がある。
本発明の目的は、適用される機器の誤動作を防止できるマルチプロセッサシステムを提供することにある。
If data with an indefinite value different from the regular data to be transmitted is sent to a processing block such as a real-time processing operation block or network processing block provided with a dual port memory control circuit, the processing block malfunctions. There is a problem that it may end up.
An object of the present invention is to provide a multiprocessor system capable of preventing malfunction of applied equipment.

上記目的を達成するために、本発明の一態様によるマルチプロセッサシステムは、データが入出力され互いに独立した2つの入出力ポートをそれぞれ備えた複数のデュアルポートメモリと、複数の前記デュアルポートメモリにおいて入出力されるデータを処理する処理装置と、複数の前記デュアルポートメモリに対する前記処理装置のアクセスを制御するメモリアクセスコントローラと、前記メモリアクセスコントローラに入力されるクロック信号を発信するクロック信号発信器と、前記メモリアクセスコントローラに備えられ、複数の前記デュアルポートメモリのうちの一のデュアルポートメモリから読出された読出データを、前記クロック信号に順次同期させて保持データとして複数保持し、複数の前記保持データの中から前記処理装置に出力する正規のデータを決定するデータ決定部とを有し、前記データ決定部は、複数の前記保持データ同士の異同に基づいて、複数の前記保持データのいずれを前記正規のデータとするのかを判定する判定部を備えることを特徴とする。 In order to achieve the above object, a multiprocessor system according to an aspect of the present invention includes a plurality of dual port memories each having two input / output ports from which data is input / output and independent of each other, and the plurality of dual port memories. A processing device that processes input / output data, a memory access controller that controls access of the processing device to a plurality of the dual port memories, and a clock signal generator that transmits a clock signal input to the memory access controller The memory access controller includes a plurality of read data read from one of the plurality of dual port memories as held data in synchronization with the clock signal, and a plurality of the held data The processing device from the data It has a data determination unit that determines the data of the regular outputs, the data determination unit, based on the plurality of difference of the held data to each other, whether the one of the plurality of the holding data to said regular data A determination unit for determining is provided .

本発明の一態様によれば、適用される機器の誤動作を防止できる。   According to one embodiment of the present invention, malfunction of an applied device can be prevented.

本発明の一実施形態によるマルチプロセッサシステムの概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a multiprocessor system according to an embodiment of the present invention. 本発明の一実施形態によるマルチプロセッサシステムに備えられた第1メモリアクセスコントローラの概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a first memory access controller provided in a multiprocessor system according to an embodiment of the present invention. FIG. 本発明の一実施形態によるマルチプロセッサシステムにおけるデータ書込み動作のタイミングチャートを示す図である。It is a figure which shows the timing chart of the data write-in operation | movement in the multiprocessor system by one Embodiment of this invention. 本発明の一実施形態によるマルチプロセッサシステムにおけるデータ読出し動作のタイミングチャートを示す図である。It is a figure which shows the timing chart of the data read-out operation | movement in the multiprocessor system by one Embodiment of this invention. 本発明の一実施形態によるマルチプロセッサシステムにおける読出データのビット信号間の信号遅延について説明する図である。It is a figure explaining the signal delay between the bit signals of the read data in the multiprocessor system by one Embodiment of this invention. 本発明の一実施形態によるマルチプロセッサシステムの第1メモリアクセスコントローラに備えられた判定回路が記憶している判定テーブルを示す図である。It is a figure which shows the determination table which the determination circuit with which the 1st memory access controller of the multiprocessor system by one Embodiment of this invention was equipped has memorize | stored. 本発明の一実施形態によるマルチプロセッサシステムによるデータ読出し動作の他の例によるタイミングチャートを示す図である。It is a figure which shows the timing chart by the other example of the data read operation by the multiprocessor system by one Embodiment of this invention. 本発明の一実施形態によるマルチプロセッサシステムであって、図7に示すデータ読出し動作に対応する判定テーブルを示す図である。FIG. 8 is a diagram showing a determination table corresponding to the data read operation shown in FIG. 7 in the multiprocessor system according to the embodiment of the present invention.

本発明の一実施形態によるマルチプロセッサシステムについて図1から図8を用いて説明する。本実施形態によるマルチプロセッサシステムは、例えば産業用機器に適用され、例えば複数のデュアルポートメモリを用いて2つの処理装置の間でデータ交換できる。   A multiprocessor system according to an embodiment of the present invention will be described with reference to FIGS. The multiprocessor system according to the present embodiment is applied to, for example, industrial equipment, and can exchange data between two processing devices using, for example, a plurality of dual port memories.

[マルチプロセッサシステムの概略構成]
図1に示すように、マルチプロセッサシステム1は、データが入出力され互いに独立した第1及び第2入出力ポート(2つの入出力ポートの一例)をそれぞれ備えた複数のデュアルポートメモリ33−1,33−2,・・・,33−n(nは、2以上の自然数)を有している。以下、「デュアルポートメモリ33−1,33−2,・・・,33−n」を「デュアルポートメモリ33」と総称する場合がある。なお、図1では、第1入出力ポートは「第1I/Oポート」として図示され、第2入出力ポートは「第2I/Oポート」として図示され、デュアルポートメモリ(Dual Port Random Access Memory)は、「DP−RAM」として図示されている。
[Schematic configuration of multiprocessor system]
As shown in FIG. 1, the multiprocessor system 1 includes a plurality of dual-port memories 33-1 each having first and second input / output ports (an example of two input / output ports) that receive and input data and are independent of each other. , 33-2,..., 33-n (n is a natural number of 2 or more). Hereinafter, “dual port memories 33-1, 33-2,..., 33-n” may be collectively referred to as “dual port memory 33”. In FIG. 1, the first input / output port is illustrated as “first I / O port”, the second input / output port is illustrated as “second I / O port”, and a dual port memory (Dual Port Random Access Memory). Is illustrated as “DP-RAM”.

デュアルポートメモリ33−1は、第1データが入出力される第1入出力ポート331−1、第1入出力ポート331−1とは独立して設けられて第2データが入出力される第2入出力ポート332−1、及び第1データと第2データとを記憶する記憶部333−1を備えている。デュアルポートメモリ33−2は、第1データが入出力される第1入出力ポート331−2、第1入出力ポート331−2とは独立して設けられて第2データが入出力される第2入出力ポート332−2、及び第1データと第2データとを記憶する記憶部333−2を備えている。また、デュアルポートメモリ33−nは、第1データが入出力される第1入出力ポート331−n、第1入出力ポート331−nとは独立して設けられて第2データが入出力される第2入出力ポート332−n、及び第1データと第2データとを記憶する記憶部333−nを備えている。   The dual port memory 33-1 is provided independently of the first input / output port 331-1 and the first input / output port 331-1 to / from which the first data is input / output. 2 input / output port 332-1 and a storage unit 333-1 for storing the first data and the second data. The dual port memory 33-2 is provided independently of the first input / output port 331-2 and the first input / output port 331-2, through which the first data is input / output. 2 input / output port 332-2 and a storage unit 333-2 for storing the first data and the second data. The dual port memory 33-n is provided independently of the first input / output port 331-n and the first input / output port 331-n, through which the first data is input / output, and the second data is input / output. A second input / output port 332-n and a storage unit 333-n for storing the first data and the second data.

デュアルポートメモリ33−1に備えられた記憶部333−1は、アレイ構造のメモリセルを有している。デュアルポートメモリ33−1は、第1入出力ポート331−1を介して入力される第1データ書込信号L_WR2及び第1アドレス信号L_ADRに応じて、これらの信号とともに入力される第1書込データ(第1データの一例)L_DT1を記憶部333−1に備えられたメモリセルに書き込むようになっている。また、デュアルポートメモリ33−1は、第2入出力ポート332を介して入力される第2データ書込信号R_WR2及び第2アドレス信号R_ADRに応じて、これらの信号とともに入力される第2書込データ(第2データの一例)R_DT1を記憶部333−1に備えられたメモリセルに書き込むようになっている。また、デュアルポートメモリ33−1は、第1入出力ポート331−1を介して入力される第1アドレス信号L_ADRに応じて、記憶部333−1に備えられたメモリセルから第1読出データ(第1データの一例)L_DT2−1を読出すようになっている。さらに、デュアルポートメモリ33−1は、第2入出力ポート332−1を介して入力される第2アドレス信号R_ADRに応じて、記憶部333−1に備えられたメモリセルから第2読出データ(第2データの一例)R_DT2−1を読出すようになっている。   The storage unit 333-1 provided in the dual port memory 33-1 has memory cells having an array structure. In response to the first data write signal L_WR2 and the first address signal L_ADR input via the first input / output port 331-1, the dual port memory 33-1 receives the first write input together with these signals. Data (an example of first data) L_DT1 is written to a memory cell provided in the storage unit 333-1. Further, the dual port memory 33-1 receives the second write input with these signals in response to the second data write signal R_WR2 and the second address signal R_ADR input through the second input / output port 332. Data (an example of second data) R_DT1 is written to a memory cell provided in the storage unit 333-1. Further, the dual port memory 33-1 receives first read data (1) from the memory cell provided in the storage unit 333-1 according to the first address signal L_ADR input through the first input / output port 331-1. Example of first data) L_DT2-1 is read out. Further, the dual port memory 33-1 receives the second read data (from the memory cell provided in the storage unit 333-1 according to the second address signal R_ADR input via the second input / output port 332-1). Example of second data) R_DT2-1 is read out.

第1入出力ポート331−1には、第1アドレス信号L_ADR及び第1データ書込信号L_WR2が入力される入力端子(不図示)が設けられている。また、第1入出力ポート331−1には、第1書込データL_DT1が入力され第1読出データL_DT2−1が出力される入出力端子(不図示)が設けられている。第2入出力ポート332−1には、第2アドレス信号R_ADR及び第2データ書込信号R_WR2が入力される入力端子(不図示)が設けられている。また、第2入出力ポート332−1には、第2書込データR_DT1が入力され第2読出データR_DT2−1が出力される入出力端子(不図示)が設けられている。   The first input / output port 331-1 is provided with an input terminal (not shown) to which the first address signal L_ADR and the first data write signal L_WR2 are input. The first input / output port 331-1 is provided with an input / output terminal (not shown) through which the first write data L_DT1 is input and the first read data L_DT2-1 is output. The second input / output port 332-1 is provided with an input terminal (not shown) to which the second address signal R_ADR and the second data write signal R_WR2 are input. The second input / output port 332-1 is provided with an input / output terminal (not shown) through which the second write data R_DT1 is input and the second read data R_DT2-1 is output.

デュアルポートメモリ33−2,・・・,33−nに備えられた第1入出力ポート331−2,・・・331−nは、デュアルポートメモリ33−1に備えられた第1入出力ポート331−1と同様の構成を有しているため、説明は省略する。また、デュアルポートメモリ33−2,・・・,33−nに備えられた第2入出力ポート332−2,・・・332−nは、デュアルポートメモリ33−1に備えられた第2入出力ポート332−1と同様の構成を有しているため、説明は省略する。また、デュアルポートメモリ33−2,・・・,33−nに備えられた記憶部333−2,・・・,333−nは、デュアルポートメモリ33−1に備えられた記憶部333−1と同様の構成を有しているため、説明は省略する。   The first input / output ports 331-2,... 331-n provided in the dual port memories 33-2,..., 33-n are the first input / output ports provided in the dual port memory 33-1. Since it has the same configuration as 331-1, the description thereof is omitted. Further, the second input / output ports 332-2,... 332-n provided in the dual port memory 33-2,..., 33-n are the second inputs provided in the dual port memory 33-1. Since the configuration is the same as that of the output port 332-1, description thereof is omitted. Further, the storage units 333-2,..., 333-n provided in the dual port memories 33-2,..., 33-n are the storage units 333-1 provided in the dual port memory 33-1. Since the configuration is the same as in FIG.

マルチプロセッサシステム1は、複数のデュアルポートメモリ33において入出力される第1データを処理する第1中央処理装置(Central Processing Unit:CPU)(処理装置の一例)11と、複数のデュアルポートメモリ33において入出力される第2データを処理する第2CPU(処理装置の一例)12とを有している。   The multiprocessor system 1 includes a first central processing unit (CPU) (an example of a processing device) 11 that processes first data input and output in a plurality of dual port memories 33, and a plurality of dual port memories 33. 2 has a second CPU (an example of a processing device) 12 that processes the second data input / output.

また、マルチプロセッサシステム1は、第1メモリアクセスコントローラ31及び第2メモリアクセスコントローラ32と、第1メモリアクセスコントローラ31及び第2メモリアクセスコントローラ32にそれぞれ入力されるクロック信号CLKを発信するクロック信号発信器14とを有している。第1メモリアクセスコントローラ31は、複数のデュアルポートメモリ33に対する第1CPU11のアクセスを制御するようになっている。第2メモリアクセスコントローラ32は、複数のデュアルポートメモリ33に対する第2CPU12のアクセスを制御するようになっている。   Further, the multiprocessor system 1 transmits a clock signal CLK for transmitting the first memory access controller 31 and the second memory access controller 32 and the clock signal CLK input to the first memory access controller 31 and the second memory access controller 32, respectively. And 14. The first memory access controller 31 controls access of the first CPU 11 to the plurality of dual port memories 33. The second memory access controller 32 controls access of the second CPU 12 to the plurality of dual port memories 33.

第1CPU11は、複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31と接続されている。第1CPU11は、第1書込データL_DT1を書込む対象のメモリセル又は読出し対象のメモリセルのアドレスを指定するための第1アドレス信号L_ADRを複数のデュアルポートメモリ33のそれぞれに出力する。第1アドレス信号L_ADRは、第1入出力ポート331−1,331−2,・・・,331−nを介して記憶部333−1,333−2,・・・,333−nにそれぞれ入力される。以下、「第1入出力ポート331−1,331−2,・・・,331−n」を「第1入出力ポート331」と総称し、「記憶部333−1,333−2,・・・,333−n」を「記憶部333」と総称する場合がある。   The first CPU 11 is connected to the plurality of dual port memories 33 and the first memory access controller 31. The first CPU 11 outputs a first address signal L_ADR for designating the address of the memory cell to which the first write data L_DT 1 is written or the memory cell to be read to each of the plurality of dual port memories 33. The first address signal L_ADR is input to the storage units 333-1, 333-2,..., 333-n via the first input / output ports 331-1, 331-2,. Is done. Hereinafter, “first input / output ports 331-1, 331-2,..., 331 -n” are collectively referred to as “first input / output ports 331”, and “storage units 333-1, 333-2,. ., 333-n ”may be collectively referred to as“ storage unit 333 ”.

また、第1アドレス信号L_ADRは第1メモリアクセスコントローラ31にも入力される。第1アドレス信号L_ADRは、第1CPU11と複数のデュアルポートメモリ33との間及び第1CPU11と第1メモリアクセスコントローラ31との間に設けられた第1アドレスバスライン21を通して複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31にそれぞれ送信される。   The first address signal L_ADR is also input to the first memory access controller 31. The first address signal L_ADR is transmitted through the first address bus line 21 provided between the first CPU 11 and the plurality of dual port memories 33 and between the first CPU 11 and the first memory access controller 31. Each is transmitted to the first memory access controller 31.

また、第1CPU11は、データ書込みを指示するための第1データ書込指示信号L_WR1と、データ読出しを指示するための第1データ読出指示信号L_RD1とを第1メモリアクセスコントローラ31に出力する。また、第1CPU11は、複数のデュアルポートメモリ33のいずれか1つに書き込むための第1書込データL_DT1を第1メモリアクセスコントローラ31に出力する。さらに、第1CPU11には、複数のデュアルポートメモリ33のいずれか1つから読出されて第1メモリアクセスコントローラ31から出力された第1読出データL_DT2が入力されるようになっている。   The first CPU 11 also outputs a first data write instruction signal L_WR1 for instructing data writing and a first data read instruction signal L_RD1 for instructing data reading to the first memory access controller 31. In addition, the first CPU 11 outputs first write data L_DT 1 for writing to any one of the plurality of dual port memories 33 to the first memory access controller 31. Further, the first CPU 11 receives the first read data L_DT2 read from any one of the plurality of dual port memories 33 and output from the first memory access controller 31.

マルチプロセッサシステム1は、第1CPU11と第1メモリアクセスコントローラ31との間に設けられたCPU側第1データバスライン22を有している。CPU側第1データバスライン22には、第1CPU11から出力されて複数のデュアルポートメモリ33のいずれか1つに書込まれる第1データとしての第1書込データL_DT1が送信される。さらに、CPU側第1データバスライン22には、複数のデュアルポートメモリ33のいずれか1つから読出されて第1CPU11に入力される第1データとしての第1読出データL_DT2も送信される。このように、CPU側第1データバスライン22は、第1データを双方向に送信可能になっている。   The multiprocessor system 1 includes a CPU-side first data bus line 22 provided between the first CPU 11 and the first memory access controller 31. First write data L_DT1 as first data output from the first CPU 11 and written to any one of the plurality of dual port memories 33 is transmitted to the CPU-side first data bus line 22. Further, the first read data L_DT2 as the first data read from any one of the plurality of dual port memories 33 and input to the first CPU 11 is also transmitted to the first data bus line 22 on the CPU side. Thus, the first data bus line 22 on the CPU side can transmit the first data bidirectionally.

マルチプロセッサシステム1は、第1メモリアクセスコントローラ31と複数のデュアルポートメモリ33との間に設けられて複数のデュアルポートメモリ33のいずれか1つに書込まれる第1データを送信可能な書込用メモリ側第1データバスライン23wを有している。書込用メモリ側第1データバスライン23wは、第1メモリアクセスコントローラ31と第1入出力ポート331との間に設けられている。第1入出力ポート331−1,331−2,・・・,331−nは書込用メモリ側第1データバスライン23wを介して互いに接続されている。   The multiprocessor system 1 is provided between the first memory access controller 31 and the plurality of dual port memories 33, and is capable of transmitting the first data written to any one of the plurality of dual port memories 33. The memory side first data bus line 23w is provided. The write memory side first data bus line 23 w is provided between the first memory access controller 31 and the first input / output port 331. The first input / output ports 331-1, 331-2,..., 331 -n are connected to each other via the write memory side first data bus line 23 w.

第1書込データL_DT1は、CPU側第1データバスライン22を通して第1メモリアクセスコントローラ31に送信される。第1メモリアクセスコントローラ31に送信された第1書込データL_DT1は、メモリ側第1データバスライン23wを通して複数のデュアルポートメモリ33にそれぞれ送信される。第1書込データL_DT1は、複数のデュアルポートメモリ33のうちの第1アドレス信号L_ADRの値に応じて選択された一のデュアルポートメモリの記憶部に第1入出力ポートを介して記憶される。   The first write data L_DT1 is transmitted to the first memory access controller 31 through the CPU side first data bus line 22. The first write data L_DT1 transmitted to the first memory access controller 31 is transmitted to the plurality of dual port memories 33 through the memory side first data bus line 23w. The first write data L_DT1 is stored through the first input / output port in the storage unit of one dual port memory selected according to the value of the first address signal L_ADR among the plurality of dual port memories 33. .

マルチプロセッサシステム1は、第1メモリアクセスコントローラ31と複数のデュアルポートメモリ33との間にそれぞれ設けられて複数のデュアルポートメモリ33からそれぞれ読出される第1データを個別に送信可能な読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nを有している。読出用メモリ側第1データバスライン23r−2,23r−2,・・・,23r−nは、互いに独立して設けられている。   The multiprocessor system 1 includes a read memory provided between the first memory access controller 31 and the plurality of dual port memories 33 and capable of individually transmitting the first data read from the plurality of dual port memories 33. Side first data bus lines 23r-1, 23r-2,..., 23r-n. Read memory side first data bus lines 23r-2, 23r-2,..., 23r-n are provided independently of each other.

読出用メモリ側第1データバスライン23r−1は、第1メモリアクセスコントローラ31と第1入出力ポート331−1との間に設けられている。第1入出力ポート331−1を介してデュアルポートメモリ33−1から読出された第1読出データL_DT2−1(第1データの一例)は、読出用メモリ側第1データバスライン23r−1を通して第1メモリアクセスコントローラ31に入力される。   The read memory side first data bus line 23r-1 is provided between the first memory access controller 31 and the first input / output port 331-1. First read data L_DT2-1 (an example of first data) read from the dual port memory 33-1 through the first input / output port 331-1 is transmitted through the read memory side first data bus line 23r-1. Input to the first memory access controller 31.

読出用メモリ側第1データバスライン23r−2は、第1メモリアクセスコントローラ31と第1入出力ポート331−2との間に設けられている。第1入出力ポート331−2を介してデュアルポートメモリ33−2から読出された第1読出データL_DT2−2(第1データの一例)は、読出用メモリ側第1データバスライン23r−2を通して第1メモリアクセスコントローラ31に入力される。   The read memory side first data bus line 23r-2 is provided between the first memory access controller 31 and the first input / output port 331-2. The first read data L_DT2-2 (an example of first data) read from the dual port memory 33-2 via the first input / output port 331-2 passes through the read memory side first data bus line 23r-2. Input to the first memory access controller 31.

読出用メモリ側第1データバスライン23r−nは、第1メモリアクセスコントローラ31と第1入出力ポート331−nとの間に設けられている。第1入出力ポート331−nを介してデュアルポートメモリ33−nから読出された第1読出データL_DT2−n(第1データの一例)は、読出用メモリ側第1データバスライン23r−nを通して第1メモリアクセスコントローラ31に入力される。   The read memory side first data bus line 23r-n is provided between the first memory access controller 31 and the first input / output port 331-n. The first read data L_DT2-n (an example of first data) read from the dual port memory 33-n via the first input / output port 331-n passes through the read memory side first data bus line 23r-n. Input to the first memory access controller 31.

第1メモリアクセスコントローラ31は、第1CPU11から入力される第1データ書込指示信号L_WR1に基づいて、第1データ書込信号L_WR2を複数のデュアルポートメモリ33に出力する。また、第1メモリアクセスコントローラ31は、第1CPU11から入力される第1データ読出指示信号L_RD1に基づいて、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出された読出データを、クロック信号CLKに順次同期させて保持データとして複数保持する。第1メモリアクセスコントローラ31は、複数の保持データの中から第1CPU11に出力する正規のデータを決定し、正規のデータと決定された保持データを第1CPU11に出力するようになっている。第1メモリアクセスコントローラ31の内部構成については後述する。   The first memory access controller 31 outputs the first data write signal L_WR2 to the plurality of dual port memories 33 based on the first data write instruction signal L_WR1 input from the first CPU 11. Further, the first memory access controller 31 clocks the read data read from one of the plurality of dual port memories 33 based on the first data read instruction signal L_RD1 input from the first CPU 11. A plurality of data are held in synchronization with the signal CLK sequentially. The first memory access controller 31 determines regular data to be output to the first CPU 11 from the plurality of retained data, and outputs the retained data determined to be regular data to the first CPU 11. The internal configuration of the first memory access controller 31 will be described later.

第2CPU12は、複数のデュアルポートメモリ33及び第2メモリアクセスコントローラ32と接続されている。第2CPU12は、第2書込データR_DT1を書込む対象のメモリセル又は読出し対象のメモリセルのアドレスを指定するための第2アドレス信号R_ADRを複数のデュアルポートメモリ33のそれぞれに出力する。第2アドレス信号R_ADRは、第2入出力ポート332−1,332−2,・・・,332−nを介して記憶部333−1,333−2,・・・,333−nにそれぞれ入力される。以下、「第2入出力ポート332−1,332−2,・・・,332−n」を「第2入出力ポート332」と総称する場合がある。   The second CPU 12 is connected to a plurality of dual port memories 33 and a second memory access controller 32. The second CPU 12 outputs a second address signal R_ADR for designating the address of the memory cell to which the second write data R_DT 1 is written or the memory cell to be read to each of the plurality of dual port memories 33. The second address signal R_ADR is input to the storage units 333-1, 333-2,..., 333-n via the second input / output ports 332-1, 332-2,. Is done. Hereinafter, the “second input / output ports 332-1, 332-2,... 332-n” may be collectively referred to as “second input / output ports 332”.

また、第2アドレス信号R_ADRは第2メモリアクセスコントローラ32にも入力される。第2アドレス信号R_ADRは、第2CPU12と複数のデュアルポートメモリ33との間及び第2CPU12と第2メモリアクセスコントローラ32との間に設けられた第2アドレスバスライン41を通して複数のデュアルポートメモリ33及び第2メモリアクセスコントローラ32にそれぞれ送信される。   The second address signal R_ADR is also input to the second memory access controller 32. The second address signal R_ADR is transmitted through the second address bus line 41 provided between the second CPU 12 and the plurality of dual port memories 33 and between the second CPU 12 and the second memory access controller 32. Each is transmitted to the second memory access controller 32.

第2CPU12は、データ書込みを指示するための第2データ書込指示信号R_WR1と、データ読出しを指示するための第2データ読出指示信号R_RD1とを第2メモリアクセスコントローラ32に出力する。また、第2CPU12は、複数のデュアルポートメモリ33のいずれか1つに書き込むための第2書込データR_DT1を第2メモリアクセスコントローラ32に出力する。さらに、第2CPU12には、複数のデュアルポートメモリ33のいずれか1つから読出されて第2メモリアクセスコントローラ32から出力された第2読出データR_DT2が入力されるようになっている。   The second CPU 12 outputs a second data write instruction signal R_WR1 for instructing data writing and a second data read instruction signal R_RD1 for instructing data reading to the second memory access controller 32. Further, the second CPU 12 outputs the second write data R_DT 1 for writing to any one of the plurality of dual port memories 33 to the second memory access controller 32. Further, the second CPU 12 receives the second read data R_DT2 read from any one of the plurality of dual port memories 33 and output from the second memory access controller 32.

マルチプロセッサシステム1は、第2CPU12と第2メモリアクセスコントローラ32との間に設けられたCPU側第2データバスライン42を有している。CPU側第2データバスライン42には、第2CPU12から出力されて複数のデュアルポートメモリ33のいずれか1つに書込まれる第2データとしての第2書込データR_DT1が送信される。さらに、CPU側第2データバスライン42には、複数のデュアルポートメモリ33のいずれか1つから読出されて第2CPU12に入力される第2データとしての第2読出データR_DT2も送信される。このように、CPU側第2データバスライン42は、第2データを双方向に送信可能になっている。   The multiprocessor system 1 has a CPU-side second data bus line 42 provided between the second CPU 12 and the second memory access controller 32. Second write data R_DT1 as second data output from the second CPU 12 and written to any one of the plurality of dual port memories 33 is transmitted to the second data bus line 42 on the CPU side. Further, second read data R_DT2 as second data read from any one of the plurality of dual port memories 33 and input to the second CPU 12 is also transmitted to the second data bus line 42 on the CPU side. As described above, the CPU-side second data bus line 42 can transmit the second data bidirectionally.

マルチプロセッサシステム1は、第2メモリアクセスコントローラ32と複数のデュアルポートメモリ33との間に設けられて複数のデュアルポートメモリ33のいずれか1つに書込まれる第2データを送信可能な書込用メモリ側第2データバスライン43wを有している。書込用メモリ側第2データバスライン43wは、第2メモリアクセスコントローラ32と第2入出力ポート332−1,332−2,・・・,332−nとの間に設けられている。第2入出力ポート332−1,332−2,・・・,332−nは書込用メモリ側第2データバスライン43wを介して互いに接続されている。   The multiprocessor system 1 is provided between the second memory access controller 32 and the plurality of dual port memories 33, and is capable of transmitting the second data written to any one of the plurality of dual port memories 33. Memory side second data bus line 43w. The write memory side second data bus line 43w is provided between the second memory access controller 32 and the second input / output ports 332-1, 332-2, ..., 332-n. The second input / output ports 332-1, 332-2,..., 332-n are connected to each other via the write memory side second data bus line 43w.

第2書込データR_DT1は、CPU側第2データバスライン42を通して第2メモリアクセスコントローラ32に送信される。第2メモリアクセスコントローラ32に送信された第2書込データR_DT1は、メモリ側第2データバスライン43wを通して複数のデュアルポートメモリ33にそれぞれ送信される。第2書込データR_DT1は、複数のデュアルポートメモリ33のうちの第2アドレス信号R_ADRの値に応じて選択された一のデュアルポートメモリの記憶部に第2入出力ポートを介して記憶される。   The second write data R_DT1 is transmitted to the second memory access controller 32 through the CPU-side second data bus line 42. The second write data R_DT1 transmitted to the second memory access controller 32 is transmitted to the plurality of dual port memories 33 through the memory-side second data bus line 43w. The second write data R_DT1 is stored via the second input / output port in the storage unit of one dual port memory selected according to the value of the second address signal R_ADR among the plurality of dual port memories 33. .

マルチプロセッサシステム1は、第2メモリアクセスコントローラ32と複数のデュアルポートメモリ33との間にそれぞれ設けられて複数のデュアルポートメモリ33からそれぞれ読出される第2データを個別に送信可能な読出用メモリ側第2データバスライン43r−1,43r−2,・・・,43r−nを有している。読出用メモリ側第2データバスライン43r−2,43r−2,・・・,43r−nは、互いに独立して設けられている。   The multiprocessor system 1 includes a read memory provided between the second memory access controller 32 and the plurality of dual port memories 33 and capable of individually transmitting second data read from the plurality of dual port memories 33. Side second data bus lines 43r-1, 43r-2,..., 43r-n. Read memory side second data bus lines 43r-2, 43r-2,..., 43r-n are provided independently of each other.

読出用メモリ側第2データバスライン43r−1は、第2メモリアクセスコントローラ32と第2入出力ポート332−1との間に設けられている。第2入出力ポート332−1を介してデュアルポートメモリ33−1から読出された第2読出データR_DT2−1(第2データの一例)は、読出用メモリ側第2データバスライン43r−1を通して第2メモリアクセスコントローラ32に入力される。   The read memory side second data bus line 43r-1 is provided between the second memory access controller 32 and the second input / output port 332-1. Second read data R_DT2-1 (an example of second data) read from the dual port memory 33-1 through the second input / output port 332-1 is transmitted through the read memory side second data bus line 43r-1. Input to the second memory access controller 32.

読出用メモリ側第2データバスライン43r−2は、第2メモリアクセスコントローラ32と第2入出力ポート332−2との間に設けられている。第2入出力ポート332−2を介してデュアルポートメモリ33−2から読出された第2読出データR_DT2−2(第2データの一例)は、読出用メモリ側第2データバスライン43r−2を通して第2メモリアクセスコントローラ32に入力される。   The read memory side second data bus line 43r-2 is provided between the second memory access controller 32 and the second input / output port 332-2. Second read data R_DT2-2 (an example of second data) read from the dual port memory 33-2 via the second input / output port 332-2 is transmitted through the read memory side second data bus line 43r-2. Input to the second memory access controller 32.

読出用メモリ側第2データバスライン43r−nは、第2メモリアクセスコントローラ32と第2入出力ポート332−nとの間に設けられている。第2入出力ポート332−nを介してデュアルポートメモリ33−nから読出された第2読出データR_DT2−n(第2データの一例)は、読出用メモリ側第2データバスライン43r−nを通して第2メモリアクセスコントローラ32に入力される。   The read memory side second data bus line 43r-n is provided between the second memory access controller 32 and the second input / output port 332-n. Second read data R_DT2-n (an example of second data) read from the dual port memory 33-n via the second input / output port 332-n passes through the read memory side second data bus line 43r-n. Input to the second memory access controller 32.

第2メモリアクセスコントローラ32は、第2CPU12から入力される第2データ書込指示信号R_WR1に基づいて、第2データ書込信号R_WR2を複数のデュアルポートメモリ33に出力する。また、第2メモリアクセスコントローラ32は、第2CPU12から入力される第2データ読出指示信号R_RD1に基づいて、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出された読出データを、クロック信号CLKに順次同期させて保持データとして複数保持する。第2メモリアクセスコントローラ32は、複数の保持データの中から第2CPU12に出力する正規のデータを決定し、正規のデータと決定された保持データを第2CPU12に出力するようになっている。第2メモリアクセスコントローラ32の内部構成については後述する。   The second memory access controller 32 outputs the second data write signal R_WR2 to the plurality of dual port memories 33 based on the second data write instruction signal R_WR1 input from the second CPU 12. Further, the second memory access controller 32 clocks the read data read from one of the plurality of dual port memories 33 based on the second data read instruction signal R_RD1 input from the second CPU 12. A plurality of data are held in synchronization with the signal CLK sequentially. The second memory access controller 32 determines regular data to be output to the second CPU 12 from the plurality of retained data, and outputs the retained data determined to be regular data to the second CPU 12. The internal configuration of the second memory access controller 32 will be described later.

本実施形態では、第1メモリアクセスコントローラ31、第2メモリアクセスコントローラ32及び複数のデュアルポートメモリ33は、図1に示すように、FPGA(Field−Programmable Gate Array)13の内部に組み込まれている。なお、第1メモリアクセスコントローラ31、第2メモリアクセスコントローラ32及び複数のデュアルポートメモリ33は、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)の内部に組み込まれていてもよく、あるいは独立した回路によって構成されていてもよい。さらに、第1メモリアクセスコントローラ31、第2メモリアクセスコントローラ32及び複数のデュアルポートメモリ33は、これらの一部の構成(例えば、複数のデュアルポートメモリ33)がFPGAやASICの内部に組み込まれ、残余の構成(例えば第1及び第2メモリアクセスコントローラ31,32)がFPGAやASICに接続された独立した回路によって構成されていてもよい。   In the present embodiment, the first memory access controller 31, the second memory access controller 32, and the plurality of dual port memories 33 are incorporated in an FPGA (Field-Programmable Gate Array) 13, as shown in FIG. . The first memory access controller 31, the second memory access controller 32, and the plurality of dual port memories 33 may be incorporated in an application specific integrated circuit (ASIC) or may be independent of each other. It may be configured by a circuit. Further, the first memory access controller 31, the second memory access controller 32, and the plurality of dual port memories 33 have a part of the configuration (for example, a plurality of dual port memories 33) incorporated in the FPGA or ASIC, The remaining configuration (for example, the first and second memory access controllers 31 and 32) may be configured by an independent circuit connected to the FPGA or ASIC.

マルチプロセッサシステム1を適用した産業用機器において、例えば第1CPU11は主処理用の処理装置として用いられ、第2CPU12は外部機器との外部通信用の処理装置として用いられる。第1CPU11は多量のデータを複数のデュアルポートメモリ33に送信して記憶させておく。第2CPU12は複数のデュアルポートメモリ33に記憶されたデータを読出すとともに外部機器に送信する。第2CPU12が外部機器にデータを送信してからこの外部機器から所定の結果を受信するまでにはある程度の時間を要する。このため、第1CPU11は、第2CPU12が外部機器から受信した結果に基づくデータを複数のデュアルポートメモリ33に送信するまでの間に、別のデータ処理を継続することができる。これにより、マルチプロセッサシステム1を適用した産業用機器は、高速処理を実現できる。   In industrial equipment to which the multiprocessor system 1 is applied, for example, the first CPU 11 is used as a processing apparatus for main processing, and the second CPU 12 is used as a processing apparatus for external communication with external equipment. The first CPU 11 transmits and stores a large amount of data to the plurality of dual port memories 33. The second CPU 12 reads the data stored in the plurality of dual port memories 33 and transmits it to the external device. A certain amount of time is required from when the second CPU 12 transmits data to the external device until it receives a predetermined result from the external device. Therefore, the first CPU 11 can continue another data process until the second CPU 12 transmits data based on the result received from the external device to the plurality of dual port memories 33. Thereby, industrial equipment to which the multiprocessor system 1 is applied can realize high-speed processing.

[第1及び第2メモリアクセスコントローラの内部構成]
次に、第1及び第2メモリアクセスコントローラ31,32の内部構成について図2を用いて説明する。
図2に示すように、第1メモリアクセスコントローラ31は、第1CPU11から入力される第1指示信号に基づいて、第1CPU11のアクセスを制御するためのアクセス信号を発生する第1アクセス信号発生部131を備えている。
[Internal configuration of first and second memory access controllers]
Next, the internal configuration of the first and second memory access controllers 31 and 32 will be described with reference to FIG.
As shown in FIG. 2, the first memory access controller 31 generates the access signal for controlling the access of the first CPU 11 based on the first instruction signal input from the first CPU 11. It has.

また、第1アクセス信号発生部131には、第1アドレス信号L_ADR及びクロック信号CLKが入力される。ところで、図1には、第1CPU11のアクセス先として、複数のデュアルポートメモリ33が図示されている。実際には、第1CPU11のアクセス先は、図示しない他の部品(例えば通信回路など)も存在する。マルチプロセッサシステム1は、複数のデュアルポートメモリ33にアクセスする場合にのみ第1アドレス信号L_ADRを第1メモリアクセスコントローラ31に入力し、この場合にのみ第1メモリアクセスコントローラ31を動作させるように構成されている。   The first access signal generator 131 receives the first address signal L_ADR and the clock signal CLK. Incidentally, FIG. 1 shows a plurality of dual port memories 33 as access destinations of the first CPU 11. Actually, other parts (such as a communication circuit) (not shown) exist as the access destination of the first CPU 11. The multiprocessor system 1 is configured to input the first address signal L_ADR to the first memory access controller 31 only when accessing the plurality of dual port memories 33, and to operate the first memory access controller 31 only in this case. Has been.

第1アクセス信号発生部131は、非アクセス状態時に、信号状態が無効状態すなわちネゲート状態にある第1データ書込信号L_WR2を複数のデュアルポートメモリ33の第1入出力ポート331に対して出力している。第1アクセス信号発生部131は、第1アドレス信号L_ADRが入力され、かつ第1データ書込指示信号L_WR1が有効状態すなわちアサート状態になると、クロック信号CLKに同期させて少なくともクロック信号CLKの1周期分アサート状態となる第1データ書込信号L_WR2を複数のデュアルポートメモリ33に出力する。   The first access signal generator 131 outputs the first data write signal L_WR2 whose signal state is invalid, that is, negated, to the first input / output ports 331 of the plurality of dual port memories 33 in the non-access state. ing. The first access signal generator 131 receives at least one cycle of the clock signal CLK in synchronization with the clock signal CLK when the first address signal L_ADR is input and the first data write instruction signal L_WR1 is enabled, that is, asserted. The first data write signal L_WR2 in the minute asserted state is output to the plurality of dual port memories 33.

また、第1アクセス信号発生部131は、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出されて選択された第1選択データL_DT2sを保持するための第1データ保持信号RDL1,RDL2,・・・,RDLi(iは、3以上の自然数)を発生する。さらに、第1アクセス信号発生部131は、第1出力バッファ回路132e(詳細は後述)をハイインピーダンス状態か否かに切り替えるための第1データ読出制御信号ROEを発生する。第1データ読出制御信号ROE及び第1データ保持信号RDL1,RDL2,・・・,RDLiは、第1アクセス信号発生部131が発生するアクセス信号に対応する。   The first access signal generator 131 also stores first data holding signals RDL1, RDL2 for holding the first selection data L_DT2s selected by reading from one of the dual port memories 33. ,..., RDLi (i is a natural number of 3 or more). Further, the first access signal generator 131 generates a first data read control signal ROE for switching whether or not the first output buffer circuit 132e (details will be described later) is in a high impedance state. The first data read control signal ROE and the first data holding signals RDL1, RDL2,..., RDLi correspond to the access signals generated by the first access signal generator 131.

第1アクセス信号発生部131は、非アクセス状態時に、信号状態が無効状態すなわちネゲート状態にある第1データ保持信号RDL1,RDL2,・・・,RDLiを第1データ決定部132(詳細は後述)に対して出力している。第1アクセス信号発生部131は、第1データ読出指示信号L_RD1が有効状態すなわちアサート状態になると、クロック信号CLKに同期させてクロック信号CLKの1周期分アサート状態となる第1データ保持信号RDL1,RDL2,・・・,RDLiを第1データ決定部132に順次出力する。   The first access signal generation unit 131 outputs the first data holding signals RDL1, RDL2,..., RDLi whose signal state is invalid, ie, negated, in the non-access state to the first data determination unit 132 (details will be described later). Is output. When the first data read instruction signal L_RD1 is valid, that is, asserted, the first access signal generator 131 is synchronized with the clock signal CLK and is asserted for one cycle of the clock signal CLK. RDL2,..., RDLi are sequentially output to the first data determination unit 132.

第1アクセス信号発生部131は、非アクセス状態時に、信号状態が無効状態すなわちネゲート状態にある第1データ読出制御信号ROEを第1出力バッファ回路132eに対して出力している。第1アクセス信号発生部131は、第1データ読出指示信号L_RD1がアサート状態になると、クロック信号CLKに同期させてクロック信号CLKの少なくとも1周期分以上アサート状態となる第1データ読出制御信号ROEを第1出力バッファ回路132eに出力する。
第1データ保持信号RDL1,RDL2,・・・,RDLi及び第1データ読出制御信号ROEは、第1アクセス信号発生部131が発生する第1指示信号に対応する。
The first access signal generator 131 outputs the first data read control signal ROE whose signal state is invalid, ie, negated, to the first output buffer circuit 132e in the non-access state. When the first data read instruction signal L_RD1 is in the asserted state, the first access signal generating unit 131 receives the first data read control signal ROE that is in the asserted state for at least one cycle of the clock signal CLK in synchronization with the clock signal CLK. The data is output to the first output buffer circuit 132e.
The first data holding signals RDL1, RDL2,..., RDLi and the first data read control signal ROE correspond to the first instruction signal generated by the first access signal generator 131.

(第1データ決定部の構成)
第1メモリアクセスコントローラ31は、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出された第1読出データL_DT2−k(kは、1からnの間の自然数)を、クロック信号CLKに順次同期させて第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iとして複数保持し、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2s−nの中から第1CPU11に出力する第1読出データ(正規のデータの一例)L_DT2を決定する第1データ決定部132を備えている。
(Configuration of the first data determination unit)
The first memory access controller 31 uses the first read data L_DT2-k (k is a natural number between 1 and n) read from one of the plurality of dual port memories 33 as the clock signal CLK. , L_DT2h-2,..., L_DT2h-i, and a plurality of first holding data L_DT2h-1, L_DT2h-2,..., L_DT2s-n Is provided with a first data determination unit 132 that determines first read data (an example of regular data) L_DT2 to be output to the first CPU 11.

第1メモリアクセスコントローラ31は、複数のデュアルポートメモリ33に接続された読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nのうち第1読出データL_DT2−kが送信された読出用メモリ側第1データバスライン(一のデータバスラインの一例)23r−k(kは、1からnの間の自然数)を、複数のデュアルポートメモリ33に入力される第1アドレス信号L_ADRに基づいて選択する第1ライン選択回路(ライン選択部の一例)132aを備えている。本実施形態では、第1ライン選択回路132aは、第1データ決定部132に設けられている。なお、第1ライン選択回路132aは、第1メモリアクセスコントローラ31の内部であって第1データ決定部132から独立して設けられていてもよい。また、第1ライン選択回路132aは、第1メモリアクセスコントローラ31の外部に設けられていてもよい。   The first memory access controller 31 includes first read data L_DT2- of the read memory side first data bus lines 23r-1, 23r-2,..., 23r-n connected to the plurality of dual port memories 33. Read memory side first data bus line (an example of one data bus line) 23r-k (k is a natural number between 1 and n) to which k is transmitted is input to the plurality of dual port memories 33. A first line selection circuit (an example of a line selection unit) 132a that is selected based on the first address signal L_ADR is provided. In the present embodiment, the first line selection circuit 132 a is provided in the first data determination unit 132. The first line selection circuit 132a may be provided inside the first memory access controller 31 and independently from the first data determination unit 132. The first line selection circuit 132a may be provided outside the first memory access controller 31.

第1ライン選択回路132aは、複数の入力端子(不図示)を備えている。この複数の入力端子は、読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nと同数設けられている。この複数の入力端子は、読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nと1対1の関係を満たすように接続されている。   The first line selection circuit 132a includes a plurality of input terminals (not shown). The plurality of input terminals are provided in the same number as the read memory side first data bus lines 23r-1, 23r-2,..., 23r-n. The plurality of input terminals are connected to the read memory side first data bus lines 23r-1, 23r-2,..., 23r-n so as to satisfy a one-to-one relationship.

第1ライン選択回路132aには、第1アドレスバスライン21が接続されている。第1ライン選択回路132aには、第1アドレスバスライン21を通して第1アドレス信号L_ADRが入力されるようになっている。第1ライン選択回路132aは、入力される第1アドレス信号L_ADRの値に応じて、第1読出データL_DT2−kが送信された読出用メモリ側第1データバスライン23r−kに接続された入力端子と、出力端子とを接続する。第1ライン選択回路132aには、第1選択データL_DT2sを出力するための1つの出力端子(不図示)が設けられている。第1ライン選択回路132aは、この出力端子から第1読出データL_DT2−kを第1選択データL_DT2sとして出力する。   The first address bus line 21 is connected to the first line selection circuit 132a. A first address signal L_ADR is input to the first line selection circuit 132a through the first address bus line 21. The first line selection circuit 132a has an input connected to the read memory side first data bus line 23r-k to which the first read data L_DT2-k is transmitted in accordance with the value of the input first address signal L_ADR. Connect the terminal to the output terminal. The first line selection circuit 132a is provided with one output terminal (not shown) for outputting the first selection data L_DT2s. The first line selection circuit 132a outputs the first read data L_DT2-k from the output terminal as the first selection data L_DT2s.

第1データ決定部132は、第1選択データL_DT2sを保持する複数の第1保持回路132b−1,132b−2,・・・,132b−iを備えている。複数の第1保持回路132b−1,132b−2,・・・,132b−iのそれぞれの入力端子INは、第1ライン選択回路132aの出力端子に接続されている。第1ライン選択回路132aの出力端子から出力される第1選択データL_DT2sは、複数の第1保持回路132b−1,132b−2,・・・,132b−iのそれぞれの入力端子INに入力される。   The first data determination unit 132 includes a plurality of first holding circuits 132b-1, 132b-2,..., 132b-i that hold the first selection data L_DT2s. Each input terminal IN of the plurality of first holding circuits 132b-1, 132b-2, ..., 132b-i is connected to the output terminal of the first line selection circuit 132a. The first selection data L_DT2s output from the output terminal of the first line selection circuit 132a is input to the input terminals IN of the plurality of first holding circuits 132b-1, 132b-2, ..., 132b-i. The

複数の第1保持回路132b−1,132b−2,・・・,132b−iには、保持信号入力端子LTが設けられている。保持信号入力端子LTには、第1データ保持信号RDL1,RDL2,・・・,RDLiが入力される。第1保持回路132b−1の保持信号入力端子LTには、第1データ保持信号RDL1が入力され、第1保持回路132b−2の保持信号入力端子LTには、第1データ保持信号RDL2が入力され、第1保持回路132b−iの保持信号入力端子LTには、第1データ保持信号RDLiが入力される。第1アクセス信号発生部131は、第1データ決定部132に設けられた第1保持回路の個数分の第1データ保持信号RDL1,RDL2,・・・,RDLiを発生し、発生した第1データ保持信号RDL1,RDL2,・・・,RDLiをクロック信号CLKに同期させて第1保持回路132b−1,132b−2,・・・,132b−iに順次出力するようになっている。   The plurality of first holding circuits 132b-1, 132b-2,..., 132b-i are provided with holding signal input terminals LT. The first data holding signals RDL1, RDL2,..., RDLi are input to the holding signal input terminal LT. The first data holding signal RDL1 is input to the holding signal input terminal LT of the first holding circuit 132b-1, and the first data holding signal RDL2 is input to the holding signal input terminal LT of the first holding circuit 132b-2. The first data holding signal RDLi is input to the holding signal input terminal LT of the first holding circuit 132b-i. The first access signal generator 131 generates the first data holding signals RDL1, RDL2,..., RDLi corresponding to the number of first holding circuits provided in the first data determining unit 132, and the generated first data The holding signals RDL1, RDL2, ..., RDLi are sequentially output to the first holding circuits 132b-1, 132b-2, ..., 132b-i in synchronization with the clock signal CLK.

第1保持回路132b−1は、保持信号入力端子LTに入力される第1データ保持信号RDL1がアサート状態からネゲート状態に切り替わるのに同期して、入力端子INに入力されている第1選択データL_DT2sを第1保持データL_DT2−1として保持する。さらに、第1保持回路132b−1は、保持した第1保持データL_DT2−1を出力端子Qから出力するようになっている。第1保持回路132b−2は、保持信号入力端子LTに入力される第1データ保持信号RDL2がアサート状態からネゲート状態に切り替わるのに同期して、入力端子INに入力されている第1選択データL_DT2sを第1保持データL_DT2−2として保持する。さらに、第1保持回路132b−2は、保持した第1保持データL_DT2−2を出力端子Qから出力するようになっている。第1保持回路132b−iは、保持信号入力端子LTに入力される第1データ保持信号RDLiがアサート状態からネゲート状態に切り替わるのに同期して、入力端子INに入力されている第1選択データL_DT2sを第1保持データL_DT2−iとして保持する。さらに、第1保持回路132b−iは、保持した第1保持データL_DT2−iを出力端子Qから出力するようになっている。第1データ保持信号RDL1,RDL2,・・・,RDLiは、クロック信号発信器14が発信するクロック信号に同期してアサート状態からネゲート状態に切り替わる。このため、第1データ決定部132は、クロック信号に同期させて第1選択データL_DT2sを複数の第1保持回路132b−1,132b−2,・・・,132b−iに保持する。   The first holding circuit 132b-1 receives the first selection data inputted to the input terminal IN in synchronization with the first data holding signal RDL1 inputted to the holding signal input terminal LT switching from the asserted state to the negated state. L_DT2s is held as the first holding data L_DT2-1. Further, the first holding circuit 132b-1 outputs the held first holding data L_DT2-1 from the output terminal Q. The first holding circuit 132b-2 receives the first selection data input to the input terminal IN in synchronization with the first data holding signal RDL2 input to the holding signal input terminal LT switching from the asserted state to the negated state. L_DT2s is held as the first holding data L_DT2-2. Further, the first holding circuit 132b-2 outputs the held first holding data L_DT2-2 from the output terminal Q. The first holding circuit 132b-i synchronizes with the first data holding signal RDLi input to the holding signal input terminal LT switching from the asserted state to the negated state, and the first selection data input to the input terminal IN. L_DT2s is held as the first holding data L_DT2-i. Further, the first holding circuit 132b-i outputs the held first holding data L_DT2-i from the output terminal Q. The first data holding signals RDL1, RDL2,..., RDLi are switched from the asserted state to the negated state in synchronization with the clock signal transmitted from the clock signal transmitter 14. Therefore, the first data determination unit 132 holds the first selection data L_DT2s in the plurality of first holding circuits 132b-1, 132b-2,..., 132b-i in synchronization with the clock signal.

第1データ決定部132は、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−i同士の異同に基づいて、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iのいずれを第1読出データL_DT2(すなわち正規のデータ)とするのかを判定する第1判定回路(第1判定部の一例)132cを備えている。   The first data determination unit 132 determines the plurality of first holding data L_DT2h-1, L_DT2h-2,..., L_DT2h-i based on the difference between the plurality of first holding data L_DT2h-1, L_DT2h-2, .., L_DT2h-i includes a first determination circuit (an example of a first determination unit) 132c that determines which one of the first read data L_DT2 (that is, regular data) is to be used.

第1判定回路132cには、第1保持回路と同数のデータ入力端子(不図示)と、1つの保持信号入力端子(不図示)とが設けれられている。このデータ入力端子は、複数の第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれの出力端子Qと1対1の関係を満たすように接続されている。これにより、第1判定回路132cには、第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれに保持された第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iが互いに異なる入力端子に入力される。また、第1判定回路132cの保持信号入力端子には、複数の第1データ保持信号RDL1,RDL2,・・・,RDLiのうち、第1アクセス信号発生部131が発生する最後の第1データ保持信号、すなわちiが最大値の第1データ保持信号RDLiが入力される。   The first determination circuit 132c is provided with the same number of data input terminals (not shown) as the first holding circuit and one holding signal input terminal (not shown). The data input terminals are connected so as to satisfy a one-to-one relationship with the output terminals Q of the plurality of first holding circuits 132b-1, 132b-2,..., 132b-n. Thereby, the first determination circuit 132c includes the first holding data L_DT2h-1, L_DT2h-2,..., 132b-n held in the first holding circuits 132b-1, 132b-2,. .., L_DT2h-i is input to different input terminals. In addition, the holding signal input terminal of the first determination circuit 132c has the last first data holding generated by the first access signal generating unit 131 among the plurality of first data holding signals RDL1, RDL2,. A signal, i.e., the first data holding signal RDLi having the maximum value of i is input.

第1判定回路132cは、複数の保持データ同士の異同と、正規のデータとすべき保持データとを対応付けた判定テーブル(詳細は後述)を記憶している。第1判定回路132cは、保持信号入力端子に入力される第1データ保持信号RDLiがアサート状態からネゲート状態に切り替わることに基づいて、入力される第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iの中から正規のデータ(すなわち第1読出データL_DT2)とすべき第1保持データを、判定テーブルを参照して判定する。また、第1判定回路132cは、第1読出データL_DT2とすべき第1保持データの判定結果の情報を含む選択制御信号OSを出力するようになっている。   The first determination circuit 132c stores a determination table (details will be described later) in which a difference between a plurality of pieces of held data is associated with held data that should be regular data. The first determination circuit 132c receives the first held data L_DT2h-1, L_DT2h-2,... That are input based on the first data holding signal RDLi input to the holding signal input terminal being switched from the asserted state to the negated state. .., L_DT2h-i is determined with reference to the determination table, the first holding data to be regular data (that is, the first read data L_DT2). The first determination circuit 132c outputs a selection control signal OS including information on the determination result of the first held data to be the first read data L_DT2.

第1データ決定部132は、第1判定回路132cから入力される選択制御信号OSに基づいて、正規のデータ(すなわち第1読出データL_DT2)として決定された保持データを、入力される複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iの中から選択する第1保持データ選択回路132dを備えている。   The first data determination unit 132 receives the hold data determined as normal data (that is, the first read data L_DT2) based on the selection control signal OS input from the first determination circuit 132c. , L_DT2h-i is provided with a first held data selection circuit 132d that selects one of the held data L_DT2h-1, L_DT2h-2,.

第1保持データ選択回路132dには、第1保持回路と同数のデータ入力端子(不図示)と、選択制御信号OSが入力される選択信号入力端子(不図示)と、選択された第1保持データが出力される1つのデータ出力端子(不図示)とが設けれられている。このデータ入力端子は、複数の第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれの出力端子Qと1対1の関係を満たすように接続されている。これにより、第1保持データ選択回路132dには、第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれに保持された第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iが互いに異なる入力端子に入力される。第1保持データ選択回路132dは、選択信号入力端子に入力される選択制御信号OSの値に応じて、複数のデータ入力端子のうちの一のデータ入力端子とデータ出力端子とを接続する。これにより、第1保持データ選択回路132dは、選択された保持データを第1読出データL_DT2としてデータ出力端子から出力する。   The first holding data selection circuit 132d has the same number of data input terminals (not shown) as the first holding circuit, a selection signal input terminal (not shown) to which the selection control signal OS is inputted, and the selected first holding data. One data output terminal (not shown) from which data is output is provided. The data input terminals are connected so as to satisfy a one-to-one relationship with the output terminals Q of the plurality of first holding circuits 132b-1, 132b-2,..., 132b-n. As a result, the first holding data selection circuit 132d has the first holding data L_DT2h-1, L_DT2h-2 held in each of the first holding circuits 132b-1, 132b-2, ..., 132b-n, ..., L_DT2h-i is input to different input terminals. The first holding data selection circuit 132d connects one data input terminal and a data output terminal among the plurality of data input terminals according to the value of the selection control signal OS input to the selection signal input terminal. Thereby, the first held data selection circuit 132d outputs the selected held data as the first read data L_DT2 from the data output terminal.

第1データ決定部132は、第1保持データ選択回路132dから入力される第1読出データL_DT2を第1CPU11に出力可能な状態と、第1保持データ選択回路132dから入力される第1読出データL_DT2の出力が不可能なハイインピーダンス状態とに可逆的に切り替わる第1出力バッファ回路132eを備えている。   The first data determining unit 132 can output the first read data L_DT2 input from the first held data selection circuit 132d to the first CPU 11, and the first read data L_DT2 input from the first held data selection circuit 132d. A first output buffer circuit 132e that reversibly switches to a high-impedance state that cannot be output.

第1出力バッファ回路132eは、第1保持データ選択回路132dのデータ出力端子に接続されたデータ入力端子INと、CPU側第1データバスライン22に接続されたデータ出力端子OUTとを備えている。また、第1出力バッファ回路132eは、第1アクセス信号発生部131に接続されて第1データ読出制御信号ROEが入力される制御信号入力端子OEを備えている。第1出力バッファ回路132eは、制御信号入力端子OEに入力される第1データ読出制御信号ROEがアサート状態であると、第1保持データ選択回路132dから入力される第1読出データL_DT2を第1CPU11に出力可能な状態となる。一方、第1出力バッファ回路132eは、制御信号入力端子OEに入力される第1データ読出制御信号ROEがネゲート状態であると、データ出力端子OUTをハイインピーダンス状態とし、第1読出データL_DT2を第1CPU11に出力不可能な状態となる。   The first output buffer circuit 132e includes a data input terminal IN connected to the data output terminal of the first held data selection circuit 132d, and a data output terminal OUT connected to the CPU side first data bus line 22. . The first output buffer circuit 132e includes a control signal input terminal OE that is connected to the first access signal generator 131 and receives the first data read control signal ROE. The first output buffer circuit 132e receives the first read data L_DT2 input from the first held data selection circuit 132d when the first data read control signal ROE input to the control signal input terminal OE is in the asserted state. Is ready to output. On the other hand, when the first data read control signal ROE input to the control signal input terminal OE is in the negated state, the first output buffer circuit 132e sets the data output terminal OUT to the high impedance state and the first read data L_DT2 to the first output data L_DT2. 1 CPU 11 will be unable to output.

第1CPU11は、第1データ読出指示信号L_RD1のアサート状態からネゲート状態への切り替わりに同期して、第1出力バッファ回路132eのデータ出力端子OUTからCPU側第1データバスライン22に入力された第1読出データL_DT2を読込むようになっている。   The first CPU 11 synchronizes with the switching from the asserted state to the negated state of the first data read instruction signal L_RD1, and the first CPU 11 receives the first data input from the data output terminal OUT of the first output buffer circuit 132e to the first data bus line 22 on the CPU side. One read data L_DT2 is read.

CPU側第1データバスライン22は、第1メモリアクセスコントローラ31を介して書込用メモリ側第1データバスライン23wに直結されている。また、CPU側第1データバスライン22は、第1出力バッファ回路132eのデータ出力端子OUTにも接続されている。第1アクセス信号発生部131は、第1アドレス信号L_ADRが入力され、かつ第1データ読出指示信号L_RD1がアサート状態になることによって第1データ読出制御信号ROEをアサート状態とする。第1CPU11は、第1データ書込指示信号L_WR1と第1データ読出指示信号L_RD1とを同時期にアサート状態にしない。また、第1アクセス信号発生部131は、第1データ読出指示信号L_RDのアサート期間内に第1データ保持信号RDL1,RDL2,・・・,RDLiを発生する。   The CPU-side first data bus line 22 is directly connected to the write memory-side first data bus line 23 w via the first memory access controller 31. The CPU-side first data bus line 22 is also connected to the data output terminal OUT of the first output buffer circuit 132e. The first access signal generator 131 receives the first address signal L_ADR and asserts the first data read control signal ROE when the first data read instruction signal L_RD1 is asserted. The first CPU 11 does not assert the first data write instruction signal L_WR1 and the first data read instruction signal L_RD1 at the same time. In addition, the first access signal generator 131 generates the first data holding signals RDL1, RDL2,..., RDLi within the assertion period of the first data read instruction signal L_RD.

これにより、CPU側第1データバスライン22に入力された第1書込データL_DT1をデュアルポートメモリ33に書込む時には、第1データ読出制御信号ROE及び第1データ保持信号RDL1,RDL2,・・・,RDLiはネゲート状態になる。このため、第1出力バッファ回路132eのデータ出力端子OUTはハイインピーダンス状態となる。これにより、第1書込データL_DT1と、第1出力バッファ回路132eのデータ入力端子に入力される第1読出データL_DT2とが同時期にCPU側第1データバスライン22に入力されることはない。その結果、第1アドレス信号L_ADRの値に応じた所望のデュアルポートメモリ33に備えられた記憶部333の所望のメモリセルに、第1CPU11から出力された第1書込データL_DT1が書込まれる。   Thus, when the first write data L_DT1 input to the CPU side first data bus line 22 is written to the dual port memory 33, the first data read control signal ROE and the first data holding signals RDL1, RDL2,. .. RDLi is negated. For this reason, the data output terminal OUT of the first output buffer circuit 132e is in a high impedance state. Thus, the first write data L_DT1 and the first read data L_DT2 input to the data input terminal of the first output buffer circuit 132e are not input to the CPU-side first data bus line 22 at the same time. . As a result, the first write data L_DT1 output from the first CPU 11 is written into a desired memory cell of the storage unit 333 provided in the desired dual port memory 33 according to the value of the first address signal L_ADR.

一方、第1出力バッファ回路132eが第1読出データL_DT2を出力可能な状態にある時は、第1データ書込指示信号L_WR1はネゲート状態であるため第1データ書込信号L_WR2もネゲート状態となる。これにより、第1出力バッファ回路132eのデータ出力端子OUTから出力された第1読出データL_DT2は、メモリ側第1データバスライン23wに入力されるものの第1入出力ポート331を介して記憶部333に書き込まれることはない。   On the other hand, when the first output buffer circuit 132e is in a state capable of outputting the first read data L_DT2, the first data write instruction signal L_WR1 is in a negated state, so the first data write signal L_WR2 is also negated. . Thus, the first read data L_DT2 output from the data output terminal OUT of the first output buffer circuit 132e is input to the memory-side first data bus line 23w but is stored in the storage unit 333 via the first input / output port 331. Will not be written to.

[第2メモリアクセスコントローラの構成]
第2メモリアクセスコントローラ32は、第1メモリアクセスコントローラ31と同一の内部構成を有し、同一の機能を発揮するようになっている。すなわち、第2メモリアクセスコントローラ32は、第1アクセス信号発生部131と同一の構成を有し同一の機能を発揮する第2アクセス信号発生部と、第1データ決定部132と同一の構成を有し同一の機能を発揮する第2データ決定部とを備えている。
[Configuration of second memory access controller]
The second memory access controller 32 has the same internal configuration as the first memory access controller 31 and exhibits the same function. That is, the second memory access controller 32 has the same configuration as the first access signal generator 131 and the second access signal generator that has the same function as the first access signal generator 131 and the first data determination unit 132. And a second data determining unit that exhibits the same function.

[マルチプロセッサシステムの動作]
次に、本実施形態によるマルチプロセッサシステム1の動作について、図1及び図2を参照しつつ図3から図8を用いて説明する。
[Operation of multiprocessor system]
Next, the operation of the multiprocessor system 1 according to the present embodiment will be described with reference to FIGS. 3 to 8 with reference to FIGS.

(書込み動作)
まず、マルチプロセッサシステム1における第1メモリアクセスコントローラ31のデータ書込み動作について説明する。図3では、同時刻に同一の値の第1アドレス信号L_ADR及び第2アドレス信号R_ADRがデュアルポートメモリ33に入力された場合のマルチプロセッサシステム1の動作が図示されている。
(Write operation)
First, the data write operation of the first memory access controller 31 in the multiprocessor system 1 will be described. FIG. 3 illustrates the operation of the multiprocessor system 1 when the first address signal L_ADR and the second address signal R_ADR having the same value are input to the dual port memory 33 at the same time.

図3に示すデータ書込み動作のタイミングチャートにおいて、図3中に示す「L_ADR」は第1アドレス信号L_ADRを示し、「L_DT1(22)」はCPU側第1データバスライン22に入力された第1書込データL_DT1を示し、「L_WR1」は第1データ書込指示信号L_WR1を示し、「L_DT1(23w)」は書込用メモリ側第1データバスライン23wに入力された第1書込データL_DT1を示し、「CLK」はクロック信号発信器14から出力されたクロック信号CLKを示し、「L_WR2」は第1データ書込信号L_WR2を示し、「R_ADR」は第2アドレス信号R_ADRを示し、「R_DT2−k」は読出し対象のデュアルポートメモリ33から読出された第2読出データを示している。図3において、左から右に向かって時の経過が表されている。   In the timing chart of the data write operation shown in FIG. 3, “L_ADR” shown in FIG. 3 indicates the first address signal L_ADR, and “L_DT1 (22)” is the first data input to the CPU-side first data bus line 22. Write data L_DT1, “L_WR1” indicates the first data write instruction signal L_WR1, and “L_DT1 (23w)” indicates the first write data L_DT1 input to the write memory side first data bus line 23w. "CLK" indicates the clock signal CLK output from the clock signal transmitter 14, "L_WR2" indicates the first data write signal L_WR2, "R_ADR" indicates the second address signal R_ADR, and "R_DT2" “−k” indicates the second read data read from the dual port memory 33 to be read. In FIG. 3, the passage of time is shown from left to right.

デュアルポートメモリ13は、第1CPU11及び第2CPU12のメモリ空間にマッピングされている。第1CPU11は、第1書込データL_DT1をデュアルポートメモリ33に書込む際に、記憶部333の書込み対象のメモリセルの番地を含む第1アドレス信号L_ADRを複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31に出力する。図3では、時刻t1において、値「0x020000FE」の第1アドレス信号L_ADRがデュアルポートメモリ33及び第1メモリアクセスコントローラ31に出力されている。なお、値「0x020000FE」は、C言語における言語仕様で表されている。後述する図4及び図7に示す各データの値の表記方法も同様にC言語における言語仕様で表されている。したがって、値「0x020000FE」は、10進数の「33554686」に相当する。   The dual port memory 13 is mapped in the memory space of the first CPU 11 and the second CPU 12. When the first CPU 11 writes the first write data L_DT1 to the dual port memory 33, the first CPU 11 receives the first address signal L_ADR including the address of the memory cell to be written in the storage unit 333 as a plurality of the dual port memory 33 and the first memory. Output to the access controller 31. In FIG. 3, the first address signal L_ADR having the value “0x020000FE” is output to the dual port memory 33 and the first memory access controller 31 at time t1. The value “0x020000FE” is expressed in the language specification in C language. The notation method of each data value shown in FIG. 4 and FIG. 7 described later is similarly expressed by a language specification in C language. Therefore, the value “0x020000FE” corresponds to the decimal number “335554686”.

図3に示すように、第1アドレスバスライン21への第1アドレス信号L_ADRの出力が開始される時刻t1において、デュアルポートメモリ33に書込むための第1書込データL_DT1が第1CPU11からCPU側第1データバスライン22に出力される。図3では、値「0x1234」の第1書込データL_DT1が例えばCPU側第1データバスライン22に出力された状態が図示されている。   As shown in FIG. 3, at the time t1 when the output of the first address signal L_ADR to the first address bus line 21 is started, the first write data L_DT1 to be written to the dual port memory 33 is transferred from the first CPU 11 to the CPU. Output to the first data bus line 22. FIG. 3 shows a state in which the first write data L_DT1 having the value “0x1234” is output to the first data bus line 22 on the CPU side, for example.

書込用メモリ側第1データバスライン23wは、CPU側第1データバスライン22に直結されている。このため、時刻t1において、書込用メモリ側第1データバスライン23wには、CPU側第1データバスライン22に入力されたのと同様の値「0x1234」の第1書込データL_DT1が入力される。第1書込データL_DT1が書込用メモリ側第1データバスライン23wに入力されるタイミングは、第1CPUから第1書込データL_DT1をCPU側第1データバスライン22へ出力するタイミングとほぼ同じである。   The write memory side first data bus line 23 w is directly connected to the CPU side first data bus line 22. Therefore, at time t1, the first write data L_DT1 having the same value “0x1234” as that inputted to the CPU side first data bus line 22 is inputted to the write memory side first data bus line 23w. Is done. The timing at which the first write data L_DT1 is input to the write memory side first data bus line 23w is substantially the same as the timing at which the first write data L_DT1 is output from the first CPU to the CPU side first data bus line 22. It is.

また、時刻t1において、第1アドレス信号L_ADRと同じ値の第2アドレス信号R_ADRが第2アドレスバスライン41に出力されている。これにより、デュアルポートメモリ33はチップセレクトされてデータを読出し可能な状態となる。   Further, the second address signal R_ADR having the same value as the first address signal L_ADR is output to the second address bus line 41 at time t1. As a result, the dual port memory 33 is chip-selected and can read data.

図3に示すように、値「0x020000FE」の第1アドレス信号L_ADRと値「0x1234」の第1書込データL_DT1が出力された後に、信号レベルが高レベルから低レベルへの切り替えが開始され、時刻t2において低レベルとなる第1データ書込指示信号L_WR1が第1CPU11から第1メモリアクセスコントローラ31に出力される。第1データ書込指示信号L_WR1は、信号レベルが高レベルのときにネゲート状態となり、信号レベルが低レベルの時にアサート状態になる。このため、第1データ書込指示信号L_WR1は、時刻t2においてアサート状態になる。   As shown in FIG. 3, after the first address signal L_ADR having the value “0x020000FE” and the first write data L_DT1 having the value “0x1234” are output, the switching of the signal level from the high level to the low level is started. The first data write instruction signal L_WR1 that becomes low level at time t2 is output from the first CPU 11 to the first memory access controller 31. First data write instruction signal L_WR1 is negated when the signal level is high, and asserted when the signal level is low. Therefore, first data write instruction signal L_WR1 is asserted at time t2.

第1データ書込指示信号L_WR1がアサート状態に切り替わった後の時刻t3において、クロック信号CLKが立ち上がる。クロック信号CLKのこの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ書込信号L_WR2が第1アクセス信号発生部131から複数のデュアルポートメモリ33に出力される。第1データ書込信号L_WR2は、信号レベルが高レベルのときにネゲート状態となり、信号レベルが低レベルの時にアサート状態になる。図3に示すように、第1データ書込信号L_WR2は、第1データ書込指示信号L_WR1がアサート状態になった後のクロック信号CLKの最初の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ書込信号L_WR2は時刻t3の直後にアサート状態になる。   At time t3 after the first data write instruction signal L_WR1 is switched to the asserted state, the clock signal CLK rises. A first data write signal L_WR2 whose signal level is switched from a high level to a low level in synchronization with the rising edge of the clock signal CLK is output from the first access signal generator 131 to the plurality of dual port memories 33. The first data write signal L_WR2 is negated when the signal level is high, and asserted when the signal level is low. As shown in FIG. 3, the first data write signal L_WR2 is changed from the negated state to the asserted state in synchronization with the first rising edge of the clock signal CLK after the first data write instruction signal L_WR1 is asserted. Can be switched. The first data write signal L_WR2 is asserted immediately after time t3.

図3に示すように、時刻t3の後の時刻t4において、クロック信号CLKが再び立ち上がる。時刻t4でのクロック信号のこの立ち上がりエッジに同期して、第1アクセス信号発生部131からデュアルポートメモリ33に出力される第1データ書込信号L_WR2がアサート状態からネゲート状態に切り替えられる。これにより、第1データ書込信号L_WR2は、時刻t3から時刻t4というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。なお、図3では、第1データ書込信号L_WR2はクロック信号CLKの1周期だけ低レベルになるパルス信号であるが、クロック信号CLKの複数周期の間で低レベルとなるパルス信号でもよい。また、第1データ書込信号L_WR2はクロック信号CLKの立下りエッジに同期する信号でもよい。   As shown in FIG. 3, at time t4 after time t3, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t4, the first data write signal L_WR2 output from the first access signal generator 131 to the dual port memory 33 is switched from the asserted state to the negated state. As a result, the first data write signal L_WR2 is a pulse signal whose signal level is low for a period of one cycle of the clock signal CLK from time t3 to time t4. In FIG. 3, the first data write signal L_WR2 is a pulse signal that becomes low for one cycle of the clock signal CLK, but may be a pulse signal that becomes low for a plurality of cycles of the clock signal CLK. The first data write signal L_WR2 may be a signal synchronized with the falling edge of the clock signal CLK.

図示は省略するが、第1データ書込信号L_WR2がアサート状態からネゲート状態に切り替わることにより、書込用メモリ側第1データバスライン23wに出力されている第1書込データL_DT1の値(図3では、「0x1234」)が、第1アドレス信号L_ADRにおいて指定されたデュアルポートメモリ33に備えられた記憶部333のメモリセルに記憶される。例えば、第1アドレス信号L_ADRの上位の数ビットが複数のデュアルポートメモリ33の番号に対応し、下位の残余のビットが記憶部333のメモリセルの番地に対応するようになっている。これにより、マルチプロセッサシステム1は、第1CPU11によって指定されるデュアルポートメモリ33の記憶部333の指定されるメモリセルに第1データ書込信号L_WR2を書込むことができる。同時に、マルチプロセッサシステム1は、第1CPU11が指定しないデュアルポートメモリ33には第1データ書込信号L_WR2を書込まないようにすることができる。   Although illustration is omitted, when the first data write signal L_WR2 is switched from the asserted state to the negated state, the value of the first write data L_DT1 output to the write memory side first data bus line 23w (FIG. 3, “0x1234”) is stored in the memory cell of the storage unit 333 provided in the dual port memory 33 specified by the first address signal L_ADR. For example, the upper several bits of the first address signal L_ADR correspond to the numbers of the plurality of dual port memories 33, and the lower remaining bits correspond to the addresses of the memory cells in the storage unit 333. As a result, the multiprocessor system 1 can write the first data write signal L_WR2 to the designated memory cell of the storage unit 333 of the dual port memory 33 designated by the first CPU 11. At the same time, the multiprocessor system 1 can prevent the first data write signal L_WR2 from being written into the dual port memory 33 not designated by the first CPU 11.

また、デュアルポートメモリ33はチップセレクトされているため、時刻t4において、デュアルポートメモリ33−kに書込まれた値「0x1234」の第1データ書込信号L_WR2が第2読出データR_DT2−kとして読出用メモリ側第2データバスライン43r−kに出力される。また、残余のデュアルポートメモリ33からも記憶部333に記憶されているデータが読出用メモリ側第2データバスライン43rに出力される。マルチプロセッサシステム1では、第1データ書込信号L_WR2がデュアルポートメモリ33に書込まれるタイミングと、第2読出データR_DT2−kが読出されるタイミングとの差がクロック信号CLKの0クロック分である。しかしながら、マルチプロセッサシステム1は、第1データ書込信号L_WR2がデュアルポートメモリ33に書込まれてから第2読出データR_DT2−kが読出されるまでに、クロック信号CLKの数クロック分を要するように設計されていてもよい。   Further, since the dual port memory 33 is chip-selected, the first data write signal L_WR2 of the value “0x1234” written to the dual port memory 33-k at time t4 is used as the second read data R_DT2-k. The data is output to the read memory side second data bus line 43r-k. Further, the data stored in the storage unit 333 is also output from the remaining dual port memory 33 to the read memory side second data bus line 43r. In the multiprocessor system 1, the difference between the timing at which the first data write signal L_WR2 is written to the dual port memory 33 and the timing at which the second read data R_DT2-k is read is 0 clocks of the clock signal CLK. . However, the multiprocessor system 1 requires several clocks of the clock signal CLK until the second read data R_DT2-k is read after the first data write signal L_WR2 is written in the dual port memory 33. It may be designed to.

図3に示すように、その後、第1データ書込指示信号L_WR1は、アサート状態からネゲート状態への切り替えが開始され、時刻t5においてネゲート状態となる。このように、第1データ書込指示信号L_WR1は、時刻t2から時刻t5の間に信号レベルが低レベルとなるパルス信号となる。   As shown in FIG. 3, thereafter, the first data write instruction signal L_WR1 starts to be switched from the asserted state to the negated state, and enters the negated state at time t5. Thus, the first data write instruction signal L_WR1 is a pulse signal whose signal level becomes low between time t2 and time t5.

また、第1データ書込指示信号L_WR1がネゲート状態になっても、CPU側第1データバスライン22と書込用メモリ側第1データバスライン23wとは直結されたままなので、CPU側第1データバスライン22に入力された値「0x1234」の第1書込データL_DT1は書込用メモリ側第1データバスライン23wに入力され続ける。
以上で、マルチプロセッサシステム1における第1メモリアクセスコントローラ31での1つの第1書込データのデータ書込み動作が終了する。
Even if the first data write instruction signal L_WR1 is negated, the CPU-side first data bus line 22 and the write memory-side first data bus line 23w remain directly connected. The first write data L_DT1 of the value “0x1234” input to the data bus line 22 continues to be input to the write memory side first data bus line 23w.
Thus, the data write operation of one first write data in the first memory access controller 31 in the multiprocessor system 1 is completed.

第2メモリアクセスコントローラ32のデータ書込み動作は、第1メモリアクセスコントローラ31の動作の「第1」を「第2」に読み替えたのと同様であるため、説明は省略する。   The data write operation of the second memory access controller 32 is the same as that of the operation of the first memory access controller 31 replaced with “second”, and thus description thereof is omitted.

(データ読出し動作)
次に、マルチプロセッサシステム1における第1メモリアクセスコントローラ31のデータ読出し動作について図1及び図2を参照しつつ図4から図6を用いて説明する。図4には、第1選択データL_DT2sが不定値の期間(詳細は後述)がクロック信号CLKの1周期よりも短い場合であって、第1データ決定部132が3つの第1保持回路132b−1,132b−2,132b−3(i=3)を備えている場合のデータ読出し動作のタイミングチャートが図示されている。
(Data read operation)
Next, the data read operation of the first memory access controller 31 in the multiprocessor system 1 will be described with reference to FIGS. 4 and 6 with reference to FIGS. FIG. 4 shows a case in which the period of time when the first selection data L_DT2s is indefinite (details will be described later) is shorter than one cycle of the clock signal CLK. A timing chart of a data read operation when 1, 132b-2, 132b-3 (i = 3) is provided is shown.

図4に示すデータ読出し動作のタイミングチャートにおいて、図4中に示す「CLK」はクロック信号発信器14から出力されたクロック信号CLKを示し、「R_WR2」は第2データ書込信号R_WR2を示し、「L_DT2−k」は読出し対象のデュアルポートメモリ33−kから読出された第1読出データ(一のデュアルポートメモリから読出された読出データの一例)を示し、「L_DT2s」は第1選択データL_DT2sを示している。また、図4中に示す「L_RD1」は第1データ読出指示信号L_RD1を示し、「RDL1」は第1データ保持信号RDL1を示し、「REG1」は第1保持回路132b−1に保持された第1保持データL_DT2h−1を示し、「RDL2」は第1データ保持信号RDL2を示し、「REG2」は第1保持回路132b−2に保持された第1保持データL_DT2h−2を示し、「RDL3」は第1データ保持信号RDL3を示し、「REG3」は第1保持回路132b−3に保持された第1保持データL_DT2h−3を示し、「L_DT2(22)」は第1メモリアクセスコントローラ31からCPU側第1データバスライン22に出力された第1読出データL_DT2を示している。図4において、左から右に向かって時の経過が表されている。   In the timing chart of the data read operation illustrated in FIG. 4, “CLK” illustrated in FIG. 4 represents the clock signal CLK output from the clock signal transmitter 14, “R_WR2” represents the second data write signal R_WR2, “L_DT2-k” indicates first read data read from the dual-port memory 33-k to be read (an example of read data read from one dual-port memory), and “L_DT2s” indicates the first selection data L_DT2s. Is shown. In FIG. 4, “L_RD1” indicates the first data read instruction signal L_RD1, “RDL1” indicates the first data holding signal RDL1, and “REG1” is the first holding circuit 132b-1. 1 holding data L_DT2h-1, "RDL2" indicates the first data holding signal RDL2, "REG2" indicates the first holding data L_DT2h-2 held in the first holding circuit 132b-2, and "RDL3" Indicates the first data holding signal RDL3, “REG3” indicates the first holding data L_DT2h-3 held in the first holding circuit 132b-3, and “L_DT2 (22)” is sent from the first memory access controller 31 to the CPU. The first read data L_DT2 output to the first data bus line 22 is shown. In FIG. 4, the passage of time is shown from left to right.

デュアルポートメモリ33は、第1CPU11及び第2CPU12のメモリ空間にマッピングされている。第1CPU11は、第1読出データL_DT2を複数のデュアルポートメモリ33のいずれかから読出す際に、読出し対象のデュアルポートメモリ33及び読出し対象の記憶部333のメモリセルの情報を含む第1アドレス信号L_ADRを複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31に出力する。   The dual port memory 33 is mapped in the memory space of the first CPU 11 and the second CPU 12. When the first CPU 11 reads the first read data L_DT2 from any of the plurality of dual port memories 33, the first address signal including information on the memory cells of the dual port memory 33 to be read and the storage unit 333 to be read L_ADR is output to the plurality of dual port memories 33 and the first memory access controller 31.

また、デュアルポートメモリ33は、第1アドレス信号L_ADRが入力されている期間チップセレクトされる。デュアルポートメモリ33のうち、入力された第1アドレス信号L_ADRの値(例えば、上位数ビットの値)に応じてチップセレクトされた読出し対象のデュアルポートメモリ33−k(kは、1からnの間の自然数)は、入力された第1アドレス信号L_ADRの値(例えば、下位数ビットの値)に応じて指定された記憶部333のメモリセルからデータを読出す。さらに、デュアルポートメモリ33−kは、メモリセルから読出した読出データを第1入出力ポート331−kを介して読出用メモリ側第1データバスライン23r−kに出力する。図4では、デュアルポートメモリ33−kには、時刻t1よりも前にチップセレクトされている。このため、デュアルポートメモリ33−kに接続された読出用メモリ側第1データバスライン23r−kには、値「0x1234」の第1読出データL_DT2−kが出力される。   Further, the dual port memory 33 is chip-selected while the first address signal L_ADR is input. Of the dual-port memory 33, the dual-port memory 33-k (k is 1 to n) to be read, which is chip-selected according to the value of the input first address signal L_ADR (for example, the value of the upper few bits) Is a natural number between them, data is read from the memory cell of the storage unit 333 designated according to the value of the input first address signal L_ADR (for example, the value of the lower few bits). Further, the dual port memory 33-k outputs the read data read from the memory cell to the read memory side first data bus line 23r-k via the first input / output port 331-k. In FIG. 4, the dual port memory 33-k is chip-selected before time t1. Therefore, the first read data L_DT2-k having the value “0x1234” is output to the read memory side first data bus line 23r-k connected to the dual port memory 33-k.

図4に示すように、クロック信号CLKの立上りに同期して時刻t1の直後に第2データ書込信号R_WR2がアサート状態になる。
第1データ読出指示信号L_RD1は、信号レベルが高レベルのときにネゲート状態で、信号レベルが低レベルの時にアサート状態である。クロック信号CLKの立上りの時刻t1と時刻t2の間に、第1CPU11から第1メモリアクセスコントローラ31に出力される第1データ読出指示信号L_RD1がアサートされた場合を例に説明する。
As shown in FIG. 4, the second data write signal R_WR2 is asserted immediately after time t1 in synchronization with the rise of the clock signal CLK.
The first data read instruction signal L_RD1 is negated when the signal level is high and asserted when the signal level is low. An example will be described in which the first data read instruction signal L_RD1 output from the first CPU 11 to the first memory access controller 31 is asserted between time t1 and time t2 when the clock signal CLK rises.

第1データ読出指示信号L_RD1がアサート状態になった後の時刻t2において、クロック信号CLKの立ち上りエッジに同期して、第2アクセス信号発生部からデュアルポートメモリ33に出力される第2データ書込信号R_WR2がアサート状態からネゲート状態に切り替えられる。第2データ書込信号R_WR2がアサート状態からネゲート状態に切り替わることにより、書込用メモリ側第2データバスライン43wに出力されている第2書込データR_DT1の値(図3では、「0x5678」)が、第2アドレス信号R_ADRにおいて指定されたデュアルポートメモリ33−kの記憶部333の指定されたメモリセルに記憶される。   Second data write output from the second access signal generator to the dual port memory 33 in synchronization with the rising edge of the clock signal CLK at time t2 after the first data read instruction signal L_RD1 is asserted. The signal R_WR2 is switched from the asserted state to the negated state. When the second data write signal R_WR2 is switched from the asserted state to the negated state, the value of the second write data R_DT1 output to the write memory side second data bus line 43w (“0x5678” in FIG. 3). ) Is stored in the designated memory cell of the storage unit 333 of the dual port memory 33-k designated by the second address signal R_ADR.

また、デュアルポートメモリ33−kはチップセレクトされているため、時刻t2において、デュアルポートメモリ33−kの記憶部333から第1読出データL_DT2−kが読出用メモリ側第1データバスライン23r−kに出力される。図4に示すように、書込み対象のデュアルポートメモリ33−kに接続された読出用メモリ側第1データバスライン23r−kには、デュアルポートメモリ33−kに書込まれた値「0x5678」の第1読出データL_DT2−kが出力される。   Further, since the dual port memory 33-k is chip-selected, the first read data L_DT2-k is read from the memory unit first data bus line 23r- from the storage unit 333 of the dual port memory 33-k at time t2. output to k. As shown in FIG. 4, the value “0x5678” written in the dual port memory 33-k is applied to the read memory side first data bus line 23r-k connected to the dual port memory 33-k to be written. First read data L_DT2-k is output.

第1ライン選択回路132aは、第1アドレス信号L_ADRの値に応じて第1読出データL_DT2−kが送信された読出用メモリ側第2データバスライン23r−kに接続された入力端子と、出力端子とを接続し、第1読出データL_DT2−kを第1選択データL_DT2sとして出力端子から出力する。   The first line selection circuit 132a has an input terminal connected to the read memory side second data bus line 23r-k to which the first read data L_DT2-k is transmitted according to the value of the first address signal L_ADR, and an output The first read data L_DT2-k is output from the output terminal as the first selection data L_DT2s.

ここで、第1読出データ選択回路132aの出力端子から出力される第1選択データL_DT2sの遅延について、図5を用いて説明する。図4と図5の時刻t2、t3、t5は対応する。図5に示すように、第1読出データL_DT2−kは、多ビット(図5では4ビット)のデータである。図5中の上段に示すように、時刻t2において、デュアルポートメモリ33−kから読出用メモリ側第1データバスライン23r−kに読出される第1読出データL_DT2−kは、時刻t2以前に出力していた値(以下、「前回値」と称する)から、時刻t2時点でデュアルポートメモリ33−kに記憶されている値(以下、「今回値」と称する)に切り替わる。第1読出データL_DT2−kの各ビットのデータは、時刻t2において同じタイミングで前回値から今回値に切り替わる。第1ライン選択回路132aは、出力端子と複数の入力端子のそれぞれと個別に接続させるために複数段に構成されたゲート回路を備えている。このため、図5中下段に示すように、第1読出データ選択回路132aの入力端子に入力された第1読出データL_DT2−kが前回値から今回値に切り替わるタイミングは、このゲート回路の段数に応じて時刻t2に対して期間Tdsだけ遅延して時刻t3となる。また、デュアルポートメモリ33や第1ライン選択回路132aを構成するトランジスタの特性ばらつきにより、第1ライン選択回路132aに第1読出データL_DT2−kが入力されてから第1選択データL_DT2sが出力されるまでの出力遅延がビットデータ毎に異なる。さらに、読出用メモリ側第1データバスライン23r−kの配線の長さは、第1読出データL_DT2−kのビット毎に異なるため、配線遅延がビットデータ毎に異なる。このため、図5中の下段に示すように、この出力遅延や配線遅延により、第1読出データL_DT2−kのビットデータ毎に遅延ばらつき期間Tdbが生じる。その結果、第1ライン選択回路132aから今回値の第1選択データL_DT2sが出力されるまでには、期間Tds及び遅延ばらつき期間Tdbを合計した遅延時間を要する。特に、遅延ばらつき期間Tdbでの第1選択データL_DT2sは、前回値でも今回値でもない不定値となる。この不定値が読み出されて第1CPU11に送信されてしまうと、マルチプロセッサシステム1を適用した産業用機器は、予期しない制御がなされて誤動作してしまう可能性がある。   Here, the delay of the first selection data L_DT2s output from the output terminal of the first read data selection circuit 132a will be described with reference to FIG. Times t2, t3, and t5 in FIGS. 4 and 5 correspond to each other. As shown in FIG. 5, the first read data L_DT2-k is multi-bit data (4 bits in FIG. 5). As shown in the upper part of FIG. 5, at time t2, the first read data L_DT2-k read from the dual port memory 33-k to the read memory side first data bus line 23r-k is before time t2. The output value (hereinafter referred to as “previous value”) is switched to a value (hereinafter referred to as “current value”) stored in the dual port memory 33-k at time t2. The data of each bit of the first read data L_DT2-k is switched from the previous value to the current value at the same timing at time t2. The first line selection circuit 132a includes gate circuits configured in a plurality of stages in order to individually connect the output terminal and the plurality of input terminals. Therefore, as shown in the lower part of FIG. 5, the timing at which the first read data L_DT2-k input to the input terminal of the first read data selection circuit 132a switches from the previous value to the current value depends on the number of stages of this gate circuit. Accordingly, time t3 is delayed with respect to time t2 by a period Tds. Further, due to variations in characteristics of the transistors constituting the dual port memory 33 and the first line selection circuit 132a, the first selection data L_DT2s is output after the first read data L_DT2-k is input to the first line selection circuit 132a. Output delay differs for each bit data. Furthermore, since the length of the wiring of the first data bus line 23r-k for the read memory is different for each bit of the first read data L_DT2-k, the wiring delay is different for each bit data. Therefore, as shown in the lower part of FIG. 5, due to this output delay and wiring delay, a delay variation period Tdb occurs for each bit data of the first read data L_DT2-k. As a result, it takes a total delay time period Tds and delay variation period Tdb before the first selection data L_DT2s of the current value is output from the first line selection circuit 132a. In particular, the first selection data L_DT2s in the delay variation period Tdb is an indefinite value that is neither the previous value nor the current value. If this indeterminate value is read and transmitted to the first CPU 11, industrial equipment to which the multiprocessor system 1 is applied may be unexpectedly controlled and malfunction.

したがって、図4に示すように、第1ライン選択回路132aから出力される第1選択データL_DT2sは、時刻t3から時刻t5の期間で不定値となる。   Therefore, as shown in FIG. 4, the first selection data L_DT2s output from the first line selection circuit 132a becomes an indefinite value during the period from time t3 to time t5.

第1データ読出指示信号L_RD1がアサート状態に切り替わった後の時刻t2において、クロック信号CLKが立ち上がる。クロック信号CLKのこの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL1が第1アクセス信号発生部131から第1保持回路132b−1に出力される。第1データ保持信号RDL1及び後述する第1データ保持信号RDL2,RDL3及び第1データ保持信号RDL4(図7参照)は、信号レベルが高レベルのときにネゲート状態となり、信号レベルが低レベルの時にアサート状態になる。図4に示すように、第1データ保持信号RDL1は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの最初の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL1は時刻t2の直後にアサート状態になる。   At time t2 after the first data read instruction signal L_RD1 is switched to the asserted state, the clock signal CLK rises. A first data holding signal RDL1 whose signal level is switched from a high level to a low level in synchronization with the rising edge of the clock signal CLK is output from the first access signal generator 131 to the first holding circuit 132b-1. The first data holding signal RDL1, the first data holding signals RDL2 and RDL3 (to be described later), and the first data holding signal RDL4 (see FIG. 7) are negated when the signal level is high, and when the signal level is low. Asserted. As shown in FIG. 4, the first data holding signal RDL1 is switched from the negated state to the asserted state in synchronization with the first rising edge of the clock signal CLK after the first data read instruction signal L_RD1 is in the asserted state. . The first data holding signal RDL1 is asserted immediately after time t2.

時刻t2の後の時刻t3において、第1ライン選択回路132aから出力される第1選択データL_DT2sは、前回値から不定値となる。   At time t3 after time t2, the first selection data L_DT2s output from the first line selection circuit 132a becomes an indefinite value from the previous value.

時刻t3の後の時刻t4において、クロック信号CLKが再び立ち上がる。時刻t4でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL1がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL1は、時刻t2から時刻t4というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL1がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−1は、第1選択データL_DT2sを第1保持データL_DT2h−1として保持するともに、第1選択データL_DT2sを出力端子Qから出力する。図4に示すように、時刻t4における第1選択データL_DT2sは、不定値であるため、第1保持回路132b−1には不定値が保持される。   At time t4 after time t3, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t4, the first data holding signal RDL1 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL1 becomes a pulse signal whose signal level is low for only one period of the clock signal CLK from time t2 to time t4. When the first data holding signal RDL1 is switched from the asserted state to the negated state, the first holding circuit 132b-1 holds the first selection data L_DT2h-1 as the first holding data L_DT2h-1, and also the first selection data L_DT2s. Output from the output terminal Q. As shown in FIG. 4, since the first selection data L_DT2s at time t4 is an indefinite value, the indeterminate value is held in the first holding circuit 132b-1.

時刻t4におけるクロック信号CLKの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL2が第1アクセス信号発生部131から第1保持回路132b−2に出力される。第1データ保持信号RDL2は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの2回目の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL2は時刻t4の直後にアサート状態になる。   A first data holding signal RDL2 whose signal level is switched from a high level to a low level in synchronization with the rising edge of the clock signal CLK at time t4 is output from the first access signal generator 131 to the first holding circuit 132b-2. The first data holding signal RDL2 is switched from the negated state to the asserted state in synchronization with the second rising edge of the clock signal CLK after the first data read instruction signal L_RD1 is asserted. The first data holding signal RDL2 is asserted immediately after time t4.

時刻t4の後の時刻t5において、第1ライン選択回路132aから出力される第1選択データL_DT2sは、全てのビットデータが今回値となる。これにより、時刻t5以降は、第1ライン選択回路132aの出力端子から値「0x5678」の第1選択データL_DT2sが出力される。   At time t5 after time t4, all the bit data of the first selection data L_DT2s output from the first line selection circuit 132a has the current value. Thereby, after time t5, the first selection data L_DT2s having the value “0x5678” is output from the output terminal of the first line selection circuit 132a.

時刻t5の後の時刻t6において、クロック信号CLKが再び立ち上がる。時刻t6でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL2がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL2は、時刻t4から時刻t6というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL2がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−2は、第1選択データL_DT2sを第1保持データL_DT2h−2として保持するともに、第1保持データL_DT2h−2を出力端子Qから出力する。図4に示すように、時刻t6における第1選択データL_DT2sは、今回値の値「0x5678」であるため、第1保持回路132b−2には値「0x5678」が保持される。   At time t6 after time t5, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t6, the first data holding signal RDL2 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL2 becomes a pulse signal whose signal level is low for only one period of the clock signal CLK from time t4 to time t6. When the first data holding signal RDL2 is switched from the asserted state to the negated state, the first holding circuit 132b-2 holds the first selection data L_DT2s as the first holding data L_DT2h-2 and the first holding data L_DT2h− 2 is output from the output terminal Q. As shown in FIG. 4, since the first selection data L_DT2s at time t6 is the current value “0x5678”, the value “0x5678” is held in the first holding circuit 132b-2.

時刻t6におけるクロック信号CLKの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL3が第1アクセス信号発生部131から第1保持回路132b−3に出力される。第1データ保持信号RDL3は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの3回目の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL3は時刻t6の直後にアサート状態になる。   A first data holding signal RDL3 whose signal level switches from a high level to a low level in synchronization with the rising edge of the clock signal CLK at time t6 is output from the first access signal generator 131 to the first holding circuit 132b-3. The first data holding signal RDL3 is switched from the negated state to the asserted state in synchronization with the third rising edge of the clock signal CLK after the first data read instruction signal L_RD1 is asserted. The first data holding signal RDL3 is asserted immediately after time t6.

時刻t6の後の時刻t7において、クロック信号CLKが再び立ち上がる。時刻t7でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL3がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL3は、時刻t6から時刻t7というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL3がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−3は、第1選択データL_DT2sを第1保持データL_DT2h−3として保持するともに、第1保持データL_DT2h−3を出力端子Qから出力する。図4に示すように、時刻t7における第1選択データL_DT2sは、今回値の値「0x5678」であるため、第1保持回路132b−3には値「0x5678」が保持される。   At time t7 after time t6, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t7, the first data holding signal RDL3 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL3 becomes a pulse signal whose signal level is low only for one period of the clock signal CLK from time t6 to time t7. When the first data holding signal RDL3 is switched from the asserted state to the negated state, the first holding circuit 132b-3 holds the first selection data L_DT2s as the first holding data L_DT2h-3 and the first holding data L_DT2h− 3 is output from the output terminal Q. As shown in FIG. 4, since the first selection data L_DT2s at time t7 is the current value “0x5678”, the value “0x5678” is held in the first holding circuit 132b-3.

このように、第1データ決定部132は、クロック信号CLKの1クロック分ずつタイミングをずらして第1保持データL_DT2−1,L−DT2−2,L_DT2−3を順次保持する。   As described above, the first data determination unit 132 sequentially holds the first holding data L_DT2-1, L-DT2-2, and L_DT2-3 at different timings by one clock of the clock signal CLK.

時刻t7において、第1アクセス信号発生部131が発生する最後の第1データ保持信号RDL3がアサート状態からネゲート状態に切り替わることにより、第1判定回路132cは、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3の中から第1データすなわち第1読出データL_DT2とすべき第1保持データを、判定テーブルを参照して判定する。   At time t7, when the last first data holding signal RDL3 generated by the first access signal generating unit 131 is switched from the asserted state to the negated state, the first determination circuit 132c receives the first held data L_DT2h-1 that is input. , L_DT2h-2, L_DT2h-3, the first held data to be the first read data L_DT2 is determined with reference to the determination table.

ここで、第1判定回路132cが備えている判定テーブルについて図6を用いて説明する。図6に示すように、第1判定回路132cに記憶された判定テーブルでは、複数の保持データ同士の異同と、正規のデータとすべき保持データとが対応付けられている。判定テーブルの「[REG1=REG2]?」及び「[REG2=REG3]?」の欄は、複数の保持データ同士の異同を示す欄であり、「L_DT2」の欄は、正規のデータとすべき保持データを示す欄である。「[REG1=REG2]?」は、第1保持回路132b−1に保持された第1保持データL_DT2h−1と第1保持回路132b−2に保持された第1保持データL_DT2h−2とが一致しているか否かを示している。すなわち、「[REG1=REG2]?」は、第1保持データL_DT2h−1及び第1保持データL_DT2h−2同士の異動を示している。「[REG2=REG3]?」は、第1保持回路132b−2に保持された第1保持データL_DT2h−2と、第1保持回路132b−3に保持された第1保持データL_DT2h−3とが一致しているか否かを示している。すなわち、「[REG2=REG3]?」は、第1保持データL_DT2h−2及び第1保持データL_DT2h−3同士の異動を示している。「L_DT2」は、複数の保持データ同士の異同の結果に応じて正規のデータすなわち第1読出データL_DT2とすべき保持データを示している。   Here, the determination table provided in the first determination circuit 132c will be described with reference to FIG. As illustrated in FIG. 6, in the determination table stored in the first determination circuit 132 c, the difference between the plurality of pieces of held data is associated with the held data that should be regular data. The “[REG1 = REG2]?” And “[REG2 = REG3]?” Columns of the determination table are columns indicating the difference between a plurality of retained data, and the “L_DT2” column should be regular data. It is a column indicating retained data. “[REG1 = REG2]?” Indicates that the first holding data L_DT2h-1 held in the first holding circuit 132b-1 and the first holding data L_DT2h-2 held in the first holding circuit 132b-2 are equal. Indicates whether or not you are doing. That is, “[REG1 = REG2]?” Indicates a change between the first holding data L_DT2h-1 and the first holding data L_DT2h-2. “[REG2 = REG3]?” Indicates that the first holding data L_DT2h-2 held in the first holding circuit 132b-2 and the first holding data L_DT2h-3 held in the first holding circuit 132b-3 are obtained. Indicates whether or not they match. That is, “[REG2 = REG3]?” Indicates a change between the first holding data L_DT2h-2 and the first holding data L_DT2h-3. “L_DT2” indicates regular data, that is, retained data to be the first read data L_DT2 in accordance with the difference between the plurality of retained data.

図6に示すように、第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−2と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
As shown in FIG. 6, when the first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match The hold data to be the first read data L_DT2 is determined as the first hold data L_DT2h-3.
When the first holding data L_DT2h-1 and the first holding data L_DT2h-2 match and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, the first read data L_DT2 and The hold data to be determined is determined as the first hold data L_DT2h-2.
When the first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, the first reading data L_DT2 and The hold data to be determined is determined as the first hold data L_DT2h-3.
When the first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are the same, the first reading data L_DT2 The hold data to be determined is determined as the first hold data L_DT2h-3.

図4に戻って、第1保持回路132b−1に保持された第1保持データL_DT2h−1の値は不定値であり、第1保持回路132b−2に保持された第1保持データL_DT2h−2の値は「0x5678」であり、第1保持回路132b−3に保持された第1保持データL_DT2h−3の値は「0x5678」である。すなわち、第1保持データL_DT2h−1と第1保持回路132b−2とは相違し、第2保持データL_DT2h−2と第1保持回路132b−3とは一致する。このため、第1判定回路132cは、時刻t7で判定動作を行うので判定テーブルを参照し、第1読出データL_DT2とすべき保持データを第1保持データL_DT2h−3と判定する。第1判定回路132cは、第1保持データL_DT2h−3を選択するための選択制御信号OSを第1保持データ選択回路132dに出力する。   Returning to FIG. 4, the value of the first holding data L_DT2h-1 held in the first holding circuit 132b-1 is an indefinite value, and the first holding data L_DT2h-2 held in the first holding circuit 132b-2. The value of “0x5678” is “0x5678”, and the value of the first holding data L_DT2h-3 held in the first holding circuit 132b-3 is “0x5678”. That is, the first holding data L_DT2h-1 and the first holding circuit 132b-2 are different, and the second holding data L_DT2h-2 and the first holding circuit 132b-3 are the same. For this reason, the first determination circuit 132c performs the determination operation at time t7, and therefore refers to the determination table to determine the retained data to be the first read data L_DT2 as the first retained data L_DT2h-3. The first determination circuit 132c outputs a selection control signal OS for selecting the first holding data L_DT2h-3 to the first holding data selection circuit 132d.

第1保持データ選択回路132dは、選択制御信号OSに基づいて、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3の中から第1保持データL_DT2h−3を選択して第1出力バッファ回路132eに出力する。図示は省略するが、時刻t7では、第1アドレス信号L_ADRが入力され、かつ第1データ読出制御信号ROEはアサート状態となっている。このため、図4に示すように、CPU側第1データバスライン22には、第1保持データL_DT2h−3と同一の値「0x5678」の第1読出データL_DT2が出力される。   The first holding data selection circuit 132d selects the first holding data L_DT2h-3 from the first holding data L_DT2h-1, L_DT2h-2, and L_DT2h-3 that are input based on the selection control signal OS. 1 is output to the output buffer circuit 132e. Although illustration is omitted, at time t7, the first address signal L_ADR is input and the first data read control signal ROE is in an asserted state. Therefore, as shown in FIG. 4, the first read data L_DT2 having the same value “0x5678” as the first hold data L_DT2h-3 is output to the first data bus line 22 on the CPU side.

時刻t7の後の時刻t8において、第1データ読出指示信号L_RD1がアサート状態からネゲート状態に切り替わる。第1CPU11は、第1データ読出指示信号L_RD1のアサート状態からネゲート状態への切り替わりに同期して、CPU側第1データバスライン22に入力された第1読出データL_DT2を読込む。
以上で、マルチプロセッサシステム1における第1メモリアクセスコントローラ31での1つのデータのデータ読込み動作が終了する。
At time t8 after time t7, the first data read instruction signal L_RD1 is switched from the asserted state to the negated state. The first CPU 11 reads the first read data L_DT2 input to the CPU-side first data bus line 22 in synchronization with the switching of the first data read instruction signal L_RD1 from the asserted state to the negated state.
Thus, the data read operation of one data in the first memory access controller 31 in the multiprocessor system 1 is completed.

第2メモリアクセスコントローラ32のデータ読出し動作は、第1メモリアクセスコントローラ31の動作の「第1」を「第2」に読み替えたのと同様であるため、説明は省略する。   The data read operation of the second memory access controller 32 is the same as that of the operation of the first memory access controller 31 replaced with “second”, and thus the description thereof is omitted.

(データ読出し動作の他の例)
次に、マルチプロセッサシステム1における第1メモリアクセスコントローラ31のデータ読出し動作の他の例について図1及び図2を参照しつつ図7及び図8を用いて説明する。図7には、第1選択データL_DT2sが不定値の期間がクロック信号CLKの1周期よりも長く2周期よりも短い場合であって、第1データ決定部132が4つの第1保持回路132b−1,132b−2,132b−3,132b−4(i=4)を備えている場合のデータ読出し動作のタイミングチャートが図示されている。
(Other examples of data read operation)
Next, another example of the data read operation of the first memory access controller 31 in the multiprocessor system 1 will be described with reference to FIGS. 1 and 2 and FIGS. FIG. 7 shows a case where the period of the indefinite value of the first selection data L_DT2s is longer than one cycle of the clock signal CLK and shorter than two cycles, and the first data determination unit 132 includes four first holding circuits 132b- The timing chart of the data read operation in the case of having 1, 132b-2, 132b-3, 132b-4 (i = 4) is shown.

図7に示すデータ読出し動作のタイミングチャートにおいて、図7中に示す「CLK」、「L_DT2−k」、「L_DT2s」、「L_RD1」、「RDL1」、「REG1」、「RDL2」、「REG2」、「RDL3」、「REG3」及び「L_DT2(22)」は、図4に示す「CLK」、「L_DT2−k」、「L_DT2s」、「L_RD1」、「RDL1」、「REG1」、「RDL2」、「REG2」、「RDL3」、「REG3」及び「L_DT2(22)」と同様の内容を示している。図7中に示す「RDL4」は、第1データ保持信号RDL4を示し、「REG4」は第1保持回路132b−4に保持された第1保持データL_DT2h−4を示している。図7において、左から右に向かって時の経過が表されている。   In the timing chart of the data read operation shown in FIG. 7, “CLK”, “L_DT2-k”, “L_DT2s”, “L_RD1”, “RDL1”, “REG1”, “RDL2”, “REG2” shown in FIG. , “RDL3”, “REG3”, and “L_DT2 (22)” are “CLK”, “L_DT2-k”, “L_DT2s”, “L_RD1”, “RDL1”, “REG1”, “RDL2” shown in FIG. , “REG2”, “RDL3”, “REG3”, and “L_DT2 (22)”. “RDL4” shown in FIG. 7 indicates the first data holding signal RDL4, and “REG4” indicates the first holding data L_DT2h-4 held in the first holding circuit 132b-4. In FIG. 7, the passage of time is shown from left to right.

図7に示す、時刻t1から時刻7までの動作は、第1選択データL_DT2sの不定値の期間が時刻t3から時刻t6まで(クロック信号CLKの1周期よりも長く2周期よりも短い期間)である点と、第1保持回路132b−2に保持される第1保持データL_DT2h−2の値が不定値である点を除いて、図4に示す時刻t1から時刻t7までの動作と同様であるので、説明は省略する。   In the operation from time t1 to time 7 shown in FIG. 7, the period of the indefinite value of the first selection data L_DT2s is from time t3 to time t6 (a period longer than one period of the clock signal CLK and shorter than two periods). Except for certain points and the point that the value of the first holding data L_DT2h-2 held in the first holding circuit 132b-2 is an indefinite value, the operation is similar to the operation from time t1 to time t7 shown in FIG. Therefore, explanation is omitted.

時刻t7におけるクロック信号CLKの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL4が第1アクセス信号発生部131から第1保持回路132b−4に出力される。第1データ保持信号RDL4は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの4回目の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL4は時刻t7の直後にアサート状態になる。   A first data holding signal RDL4 whose signal level switches from a high level to a low level in synchronization with the rising edge of the clock signal CLK at time t7 is output from the first access signal generator 131 to the first holding circuit 132b-4. The first data holding signal RDL4 is switched from the negated state to the asserted state in synchronization with the fourth rising edge of the clock signal CLK after the first data read instruction signal L_RD1 is asserted. The first data holding signal RDL4 is asserted immediately after time t7.

時刻t7の後の時刻t8において、クロック信号CLKが再び立ち上がる。時刻t8でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL4がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL4は、時刻t7から時刻t8というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL4がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−4は、第1選択データL_DT2sを第1保持データL_DT2h−4として保持するとともに、第1保持データL_DT2h−4を出力端子Qから出力する。図7に示すように、時刻t8における第1選択データL_DT2sは、今回値の値「0x5678」であるため、第1保持回路132b−4には値「0x5678」が保持される。   At time t8 after time t7, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t8, the first data holding signal RDL4 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL4 becomes a pulse signal whose signal level is low for a period of one cycle of the clock signal CLK from time t7 to time t8. When the first data holding signal RDL4 is switched from the asserted state to the negated state, the first holding circuit 132b-4 holds the first selection data L_DT2s as the first holding data L_DT2h-4 and the first holding data L_DT2h−. 4 is output from the output terminal Q. As illustrated in FIG. 7, the first selection data L_DT2s at time t8 is the current value “0x5678”, and thus the value “0x5678” is retained in the first retention circuit 132b-4.

このように、第1データ決定部132は、クロック信号CLKに同期させてクロック信号CLKの1クロック分ずつタイミングをずらして第1保持データL_DT2−1,L−DT2−2,L_DT2−3,L_DT2−4を順次保持する。   As described above, the first data determination unit 132 shifts the timing by one clock of the clock signal CLK in synchronization with the clock signal CLK and shifts the first holding data L_DT2-1, L-DT2-2, L_DT2-3, L_DT2. -4 in order.

時刻t8において第1データ保持信号RDL4がアサート状態からネゲート状態に切り替わることにより、第1判定回路132cは、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3,L_DT2h−4の中から正規のデータすなわち第1読出データL_DT2とすべき第1保持データを、判定テーブルを参照して判定する。   When the first data holding signal RDL4 is switched from the asserted state to the negated state at time t8, the first determination circuit 132c receives the first held data L_DT2h-1, L_DT2h-2, L_DT2h-3, and L_DT2h-4. The first held data to be the normal data, that is, the first read data L_DT2 is determined with reference to the determination table.

ここで、第1判定回路132cが記憶している判定テーブルを図8を用いて説明する。図8に示すように、第1判定回路132cに記憶された判定テーブルでは、複数の保持データ同士の異同と、正規のデータとすべき保持データとが対応付けられている。判定テーブルの「[REG1=REG2]?」、「[REG2=REG3]?」及び「[REG3=REG4]?」の欄は、複数の保持データ同士の異同を示す欄であり、「L_DT2」の欄は、第1データとすべき保持データを示す欄である。図8に示す判定テーブルにおける「[REG1=REG2]?」、「[REG2=REG3]?」及び「L_DT2」は、図6に示す判定テーブルにおける「[REG1=REG2]?」、「[REG2=REG3]?」及び「L_DT2」と同内容であるため、説明は省略する。「[REG3=REG4]?」は、第1保持回路132b−3に保持された第1保持データL_DT2h−3と第1保持回路132b−4に保持された第1保持データL_DT2h−4とが一致しているか否かを示している。すなわち、「[REG3=REG4]?」は、第1保持データL_DT2h−3及び第1保持データL_DT2h−4同士の異動を示している。   Here, the determination table stored in the first determination circuit 132c will be described with reference to FIG. As shown in FIG. 8, in the determination table stored in the first determination circuit 132c, the difference between the plurality of pieces of held data is associated with the held data that should be regular data. The “[REG1 = REG2]?”, “[REG2 = REG3]?”, And “[REG3 = REG4]?” Columns of the determination table are columns indicating the difference between a plurality of retained data, and are “L_DT2”. The column is a column indicating retained data to be the first data. “[REG1 = REG2]?”, “[REG2 = REG3]?” And “L_DT2” in the determination table shown in FIG. 8 are “[REG1 = REG2]?”, “[REG2 = REG3]? ”And“ L_DT2 ”, the description is omitted. “[REG3 = REG4]?” Indicates that the first holding data L_DT2h-3 held in the first holding circuit 132b-3 and the first holding data L_DT2h-4 held in the first holding circuit 132b-4 are equal. Indicates whether or not you are doing. That is, “[REG3 = REG4]?” Indicates a change between the first holding data L_DT2h-3 and the first holding data L_DT2h-4.

図8に示すように、第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−2と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
As shown in FIG. 8, the first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match, and the first holding data When L_DT2h-3 and the first hold data L_DT2h-4 match, the hold data to be the first read data L_DT2 is determined as the first hold data L_DT2h-4.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 is different, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-3.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 is different, the retained data to be the first read data L_DT2 is determined as the first retained data L_DT2h-2.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 is different, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-4.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 matches, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-4.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 matches, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-4.

図7に戻って、第1保持回路132b−1に保持された第1保持データL_DT2h−1の値は不定値であり、第1保持回路132b−2に保持された第1保持データL_DT2h−2の値は不定値であり、第1保持回路132b−3に保持された第1保持データL_DT2h−3の値は「0x5678」であり、第1保持回路132b−4に保持された第1保持データL_DT2h−4の値は「0x5678」である。すなわち、第1保持データL_DT2h−1の値と第1保持データL_DT2h−2の値とは相違し、第2保持データL_DT2h−2の値と第3保持データL_DT2h−3の値とは相違し、第1保持データL_DT2h−3の値と第1保持データL_DT2h−4の値とは一致する。このため、第1判定回路132cは、判定テーブルを参照し、第1読出データL_DT2とすべき保持データを第1保持データL_DT2h−4と判定する。第1判定回路132cは、第1保持データL_DT2h−4を選択するための選択制御信号OSを第1保持データ選択回路132dに出力する。   Returning to FIG. 7, the value of the first holding data L_DT2h-1 held in the first holding circuit 132b-1 is an indefinite value, and the first holding data L_DT2h-2 held in the first holding circuit 132b-2. Is an indefinite value, the value of the first holding data L_DT2h-3 held in the first holding circuit 132b-3 is “0x5678”, and the first holding data held in the first holding circuit 132b-4 The value of L_DT2h-4 is “0x5678”. That is, the value of the first holding data L_DT2h-1 is different from the value of the first holding data L_DT2h-2, the value of the second holding data L_DT2h-2 is different from the value of the third holding data L_DT2h-3, The value of the first holding data L_DT2h-3 matches the value of the first holding data L_DT2h-4. For this reason, the first determination circuit 132c refers to the determination table and determines the retained data to be the first read data L_DT2 as the first retained data L_DT2h-4. The first determination circuit 132c outputs a selection control signal OS for selecting the first holding data L_DT2h-4 to the first holding data selection circuit 132d.

第1保持データ選択回路132dは、選択制御信号OSに基づいて、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3,L_DT2h−4の中から第1保持データL_DT2h−4を選択して第1出力バッファ回路132eに出力する。図示は省略するが、時刻t8では、第1データ読出制御信号ROEはアサート状態となっている。このため、図7に示すように、CPU側第1データバスライン22には、第1保持データL_DT2h−4と同一の値「0x5678」の第1読出データL_DT2が出力される。   Based on the selection control signal OS, the first holding data selection circuit 132d receives the first holding data L_DT2h-4 from the first holding data L_DT2h-1, L_DT2h-2, L_DT2h-3, and L_DT2h-4 that are input. Select and output to the first output buffer circuit 132e. Although illustration is omitted, at time t8, the first data read control signal ROE is in an asserted state. Therefore, as shown in FIG. 7, the first read data L_DT2 having the same value “0x5678” as the first held data L_DT2h-4 is output to the CPU-side first data bus line 22.

時刻t8の後の時刻t9において、第1データ読出指示信号L_RD1がアサート状態からネゲート状態に切り替わる。第1CPU11は、第1データ読出指示信号L_RD1のアサート状態からネゲート状態への切り替わりに同期して、CPU側第1データバスライン22に入力された第1読出データL_DT2を読込む。
以上で、マルチプロセッサシステム1における第1メモリアクセスコントローラ31での1つのデータのデータ読込み動作が終了する。
At time t9 after time t8, the first data read instruction signal L_RD1 is switched from the asserted state to the negated state. The first CPU 11 reads the first read data L_DT2 input to the CPU-side first data bus line 22 in synchronization with the switching of the first data read instruction signal L_RD1 from the asserted state to the negated state.
Thus, the data read operation of one data in the first memory access controller 31 in the multiprocessor system 1 is completed.

以上説明したように、本実施形態によるマルチプロセッサシステム1は、複数のデュアルポートメモリ33と、第1CPU11と、クロック信号発信器14と、第1メモリアクセスコントローラ31と、第1メモリアクセスコントローラ31に備えられ、複数のデュアルポートメモリ33のうちのデュアルポートメモリ33−kから読出された第1読出データL_DT2−kを、クロック信号CLKに順次同期させて第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iとして複数保持し、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iの中から第1CPU11に出力する正規のデータを決定するデータ決定部132とを有している。   As described above, the multiprocessor system 1 according to the present embodiment includes the plurality of dual port memories 33, the first CPU 11, the clock signal transmitter 14, the first memory access controller 31, and the first memory access controller 31. The first read data L_DT2-k read from the dual port memory 33-k among the plurality of dual port memories 33 is sequentially synchronized with the clock signal CLK, and the first holding data L_DT2h-1, L_DT2h-2 ,..., L_DT2h-i are stored as a plurality, and data determination is performed to determine regular data to be output to the first CPU 11 from the plurality of first held data L_DT2h-1, L_DT2h-2,. Part 132.

これにより、マルチプロセッサシステム1は、デュアルポートメモリ13から不定値を読み出すことを防止できるので、マルチプロセッサシステム1が適用された産業用機器の予期せぬ誤動作を防止できる。   Thereby, since the multiprocessor system 1 can prevent reading an indefinite value from the dual port memory 13, an unexpected malfunction of the industrial equipment to which the multiprocessor system 1 is applied can be prevented.

本発明の技術的範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらす全ての実施形態をも含む。さらに、本発明の技術的範囲は、請求項により画される発明の特徴の組み合わせに限定されるものではなく、全ての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。   The technical scope of the present invention is not limited to the illustrated and described exemplary embodiments, and includes all embodiments that provide an effect equivalent to the intended purpose of the present invention. Further, the technical scope of the present invention is not limited to the combinations of features of the invention defined by the claims, but is defined by any desired combination of specific features among all the disclosed features. sell.

1 マルチプロセッサシステム
11 第1CPU
12 第2CPU
13 デュアルポートメモリ
14 クロック信号発信器
21 第1アドレスバスライン
22 CPU側第1データバスライン
23r 読出用メモリ側第1データバスライン
23w 書込用メモリ側第1データバスライン
31 第1メモリアクセスコントローラ
32 第2メモリアクセスコントローラ
33 デュアルポートメモリ
41 第2アドレスバスライン
42 CPU側第2データバスライン
43r 読出用メモリ側第2データバスライン
43w 書込用メモリ側第2データバスライン
131 アクセス信号発生部
132 データ決定部
132a 第1ライン選択回路
132b−1,132b−2,132b−i 第1保持回路
132c 第1判定回路
132d 第1保持データ選択回路
132e 第1出力バッファ回路
331,331−1,331−2,331−n 第1入出力ポート
332,332−1,332−2,332−n 第2入出力ポート
333,333−1,333−2,333−n 記憶部
CLK クロック信号
L_ADR 第1アドレス信号
L_DT1 第1書込データ
L_DT2 第1読出データ
L_DT2 第1保持データ
L_DT2s 第1選択データ
L_DT2h−1,L_DT2h−2,L_DT2h−i 第1保持データ
L_RD1 第1データ読出指示信号
L_WR1 第1データ書込指示信号
L_WR2 第1データ書込信号
LT 保持信号入力端子
OE 制御信号入力端子
OS 選択制御信号
R_ADR 第2アドレス信号
R_DT1 第2書込データ
R_DT2 第2読出データ
R_RD1 第2データ読出指示信号
R_WR1 第3データ書込指示信号
R_WR2 第2データ書込信号
RDL1,RDL2,RDL3,RDL4,RDLi 第1データ保持信号
ROE 第1データ読出制御信号
Tdb 遅延ばらつき期間
Tds 期間
1 multiprocessor system 11 first CPU
12 Second CPU
13 Dual port memory 14 Clock signal generator 21 First address bus line 22 CPU side first data bus line 23r Read memory side first data bus line 23w Write memory side first data bus line 31 First memory access controller 32 second memory access controller 33 dual port memory 41 second address bus line 42 CPU side second data bus line 43r read memory side second data bus line 43w write memory side second data bus line 131 access signal generator 132 data determination unit 132a first line selection circuits 132b-1, 132b-2, 132b-i first holding circuit 132c first determination circuit 132d first holding data selection circuit 132e first output buffer circuits 331, 331-1, 331 -2,331- First input / output port 332, 332-1, 332-2, 332-n Second input / output port 333, 333-1, 333-2, 333-n Storage section CLK Clock signal L_ADR First address signal L_DT1 First book Embedded data L_DT2 first read data L_DT2 first hold data L_DT2s first selection data L_DT2h-1, L_DT2h-2, L_DT2h-i first hold data L_RD1 first data read instruction signal L_WR1 first data write instruction signal L_WR2 first Data write signal LT Holding signal input terminal OE Control signal input terminal OS Selection control signal R_ADR Second address signal R_DT1 Second write data R_DT2 Second read data R_RD1 Second data read instruction signal R_WR1 Third data write instruction signal R_WR2 Second data write signal RDL , RDL2, RDL3, RDL4, RDLi first data holding signal ROE first data read control signal Tdb delay variation period Tds period

Claims (4)

データが入出力され互いに独立した2つの入出力ポートをそれぞれ備えた複数のデュアルポートメモリと、
複数の前記デュアルポートメモリにおいて入出力されるデータを処理する処理装置と、
複数の前記デュアルポートメモリに対する前記処理装置のアクセスを制御するメモリアクセスコントローラと、
前記メモリアクセスコントローラに入力されるクロック信号を発信するクロック信号発信器と、
前記メモリアクセスコントローラに備えられ、複数の前記デュアルポートメモリのうちの一のデュアルポートメモリから読出された読出データを、前記クロック信号に順次同期させて保持データとして複数保持し、複数の前記保持データの中から前記処理装置に出力する正規のデータを決定するデータ決定部と
を有し、
前記データ決定部は、複数の前記保持データ同士の異同に基づいて、複数の前記保持データのいずれを前記正規のデータとするのかを判定する判定部を備えること
特徴とするマルチプロセッサシステム。
A plurality of dual-port memories each having two input / output ports from / to which data is input / output;
A processing device for processing data input / output in the plurality of dual port memories;
A memory access controller that controls access of the processing device to a plurality of the dual port memories;
A clock signal transmitter for transmitting a clock signal input to the memory access controller;
The memory access controller includes a plurality of read data read from one dual-port memory among the plurality of dual-port memories as held data in synchronization with the clock signal, and a plurality of the held data have a data determination unit that determines the data of the normal output to the processing unit from among,
The data determination unit includes a determination unit that determines which of the plurality of retained data is the regular data based on the difference between the plurality of retained data.
A multiprocessor system characterized by
前記判定部は、複数の保持データ同士の異同と、正規のデータとすべき保持データとを対応付けた判定テーブルを記憶していること
を特徴とする請求項記載のマルチプロセッサシステム。
The determination unit is a multi-processor system according to claim 1, characterized in that it stores a plurality of difference data held together, the determination table that associates and holding data to be the regular data.
前記メモリアクセスコントローラは、複数の前記デュアルポートメモリに接続されたデータバスラインのうち前記読出データが送信された一のデータバスラインを、複数の前記デュアルポートメモリに入力されるアドレス信号に基づいて選択するライン選択部を備えること
を特徴とする請求項1又は2に記載のマルチプロセッサシステム。
The memory access controller selects one data bus line to which the read data is transmitted among data bus lines connected to the plurality of dual port memories based on an address signal input to the plurality of dual port memories. multiprocessor system according to claim 1 or 2, characterized in that it comprises a line selection unit for selecting.
前記ライン選択部は、前記データ決定部に設けられていること
を特徴とする請求項記載のマルチプロセッサシステム。
The multiprocessor system according to claim 3 , wherein the line selection unit is provided in the data determination unit.
JP2015138699A 2015-07-10 2015-07-10 Multiprocessor system Active JP6493044B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015138699A JP6493044B2 (en) 2015-07-10 2015-07-10 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015138699A JP6493044B2 (en) 2015-07-10 2015-07-10 Multiprocessor system

Publications (2)

Publication Number Publication Date
JP2017021573A JP2017021573A (en) 2017-01-26
JP6493044B2 true JP6493044B2 (en) 2019-04-03

Family

ID=57889642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015138699A Active JP6493044B2 (en) 2015-07-10 2015-07-10 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP6493044B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110265029A (en) * 2019-06-21 2019-09-20 百度在线网络技术(北京)有限公司 Speech chip and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350668A (en) * 2000-06-06 2001-12-21 Nec Shizuoka Ltd Memory readout timing adjusting circuit
JP4496001B2 (en) * 2004-04-15 2010-07-07 本田技研工業株式会社 Data communication device

Also Published As

Publication number Publication date
JP2017021573A (en) 2017-01-26

Similar Documents

Publication Publication Date Title
JP5261803B2 (en) High-speed fanout system architecture and input / output circuit for non-volatile memory
US9773531B2 (en) Accessing memory
US8700818B2 (en) Packet based ID generation for serially interconnected devices
TW201519237A (en) Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
KR102466965B1 (en) Semiconductor device
KR20070019880A (en) Wrapper circuit for interfacing between a memory controller and a memory
JP2006127653A (en) Memory element
US9390017B2 (en) Write and read collision avoidance in single port memory devices
US20170024146A1 (en) Memory controller, information processing device, and control method
US9478272B1 (en) Configurable storage blocks with embedded first-in first-out and last-in first-out circuitry
JP6493044B2 (en) Multiprocessor system
US8799699B2 (en) Data processing system
JP4502792B2 (en) Data buffer circuit
US9837133B1 (en) Address arithmetic on block RAMs
US9959230B2 (en) Data transfer device
US9576620B2 (en) Semiconductor apparatus and operating method thereof
JP2006164070A5 (en)
KR20130046105A (en) Semiconductor memory device and operating method thereof
JP6725970B2 (en) Multiprocessor system
KR20210077081A (en) Semiconductor system and semiconductor device
KR20130069350A (en) A dual-port memory and a method thereof
US20140250252A1 (en) First-in First-Out (FIFO) Modular Memory Structure
JP4549073B2 (en) Memory control circuit
JP4646932B2 (en) Memory element
JP5929600B2 (en) Information processing system, information processing apparatus, and electronic apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181219

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: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6493044

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250