JP2007328647A - Cpu間のデータ転送方式 - Google Patents
Cpu間のデータ転送方式 Download PDFInfo
- Publication number
- JP2007328647A JP2007328647A JP2006160387A JP2006160387A JP2007328647A JP 2007328647 A JP2007328647 A JP 2007328647A JP 2006160387 A JP2006160387 A JP 2006160387A JP 2006160387 A JP2006160387 A JP 2006160387A JP 2007328647 A JP2007328647 A JP 2007328647A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cpus
- cpu
- write
- data transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】両CPU側のソフトウェアの処理を削減し、かつ、データの同時性を保証し、データ転送の高速性を確保する。
【解決手段】CPU1,2は、デュアルポートメモリ5内に設定する2つのデータ転送エリアA,Bに対するデータ書き込みおよび読み出しを交互に切り替える。書き込みエリア選択信号生成回路6A,6BはCPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中の書き込みエリア選択信号を生成する。CPUは、書き込みエリア選択信号から相手側CPUがデータ書き込み中でないエリアを判別し、データ読み出しを行う。
書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両CPUによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けることも含む。
【選択図】図1
【解決手段】CPU1,2は、デュアルポートメモリ5内に設定する2つのデータ転送エリアA,Bに対するデータ書き込みおよび読み出しを交互に切り替える。書き込みエリア選択信号生成回路6A,6BはCPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中の書き込みエリア選択信号を生成する。CPUは、書き込みエリア選択信号から相手側CPUがデータ書き込み中でないエリアを判別し、データ読み出しを行う。
書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両CPUによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けることも含む。
【選択図】図1
Description
本発明は、2つのCPUからデュアルポートメモリに対して非同期でアクセスし、両CPU間でデータを転送するCPU間のデータ転送方式に関する。
近年の各種電子装置は複数のCPUを有する場合が多い。この場合、2つのCPU間でデータの受け渡しを行うには、一般的に媒体としてRAMまたはデュアルポートメモリ(DPM)を使用する。
RAMを使用したデータ転送の回路構成を図7に示す。同図において、RAM3はCPU1およびCPU2からアクセス可能であるが、RAM3のポートは1つなので同時にアクセスする事は出来ない。このため、周囲に設けた調停回路4によりどちらか一方にアクセス権が与えられる。調停回路4は、CPU1またはCPU2からのアクセス要求に対して、一方のCPUがRAM3をアクセスしている時はもう一方のCPUにビジー信号を返し、当該CPUではビジー信号によりアクセス待ち状態となる。
このデータ転送方式は同時アクセスができないため、データ転送効率が後述のDPMを使用した方式より劣る。また、バッファや調停回路などの周辺回路を必要とし、H/W量が増える欠点もある。
DPMを使用したデータ転送の回路構成を図8に示す。DPM5は2つのポートを持つため、両方のCPUから同時にアクセス可能である。但し、同じアドレスに対して同時にアクセスがあった場合は片方のアクセスのみ有効となり、もう一方のアクセスに対してビジー信号を出力してアクセスを一時的に待ち状態にする。
DPMを使用した2CPU間データ転送方式において、片方のCPUからの書き込みデータはもう一方のCPUは読み出しデータとなる使い方が一般的である(図9参照)。両CPU間のプログラムでタイミングを取り書き込みと読み出しを交互に行う使い方もあるが、データ転送に高速性を必要とするアプリケーションではDPMの同時アクセス可という特長を生かし、両CPUから非同期にアクセスする使い方としている(例えば、特許文献1参照)。
特開2000−183978号公報
DPMを使用した2CPU間のデータ転送を非同期アクセスで行う場合、両CPUのデータ転送時間やアクセス周期の違いにより、図10に示すようにDPMへのアクセスが重なる場合と重ならない場合がランダムに発生し、重なり方も異なる。その重なり方によっては正常なデータ転送が出来ない場合がある。
例えば、図10のタイミングt4においてはCPU1からのデータ書き込み期間の中にCPU2からのデータ読み出し期間が入っている。この結果、CPU2が読み出したデータはCPU1が書き込んだ最新のデータと前回書き込んだデータが混在することになる。複数のデータにまたがって同時性に意味のあるデータが含まれる場合、CPU2がこのようなタイミングで読み出したデータの同時性の保証ができない。
よって、同時性を必要とするデータ転送をDPMに対する非同期アクセスで行う場合、両CPUからのアクセスが重なったかどうかのチェックやリカバリ処理が必要となり、CPU側のプログラムの処理が複雑化し、データ転送処理時間の増大となる問題があった。
本発明の目的は、前記の課題を解決したCPU間のデータ転送方式を提供することにある。
本発明は、前記の課題を解決するため、DPM内にデータ転送エリアを2つ設定し、データの書き込みおよび読み出しのエリアを交互に切り替え、両CPUが発生する書き込み中フラグと読み出し中フラグからデータ読み出しを許容するエリアを選択し、この選択により書き込みと読み出しの両側からのアクセスが重なった場合にもデータの同時性を確保でき、しかもCPU側のソフトウェア処理の削減とデータ転送処理時間の短縮ができるようにしたもので、以下の構成を特徴とする。
(1)2つのCPUからデュアルポートメモリに対して非同期でアクセスし、一方のCPUからデュアルポートメモリにデータを書き込み、このデータを他方のCPUで読み出すデータ転送方式であって、
両CPUは、デュアルポートメモリ内に設定する2つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両CPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択する書き込みエリア選択信号を生成する回路を設け、
両CPUは、前記書き込みエリア選択信号からデータ書き込み中でないエリアを判別する手段を設けたことを特徴とする。
両CPUは、デュアルポートメモリ内に設定する2つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両CPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択する書き込みエリア選択信号を生成する回路を設け、
両CPUは、前記書き込みエリア選択信号からデータ書き込み中でないエリアを判別する手段を設けたことを特徴とする。
(2)2つのCPUからデュアルポートメモリに対して非同期でアクセスし、一方のCPUからデュアルポートメモリにデータを書き込み、このデータを他方のCPUで読み出すデータ転送方式であって、
両CPUは、デュアルポートメモリ内に設定する2つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両CPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択するエリア選択信号を生成する回路を設け、
前記書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両CPUによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けたことを特徴とする。
両CPUは、デュアルポートメモリ内に設定する2つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両CPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択するエリア選択信号を生成する回路を設け、
前記書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両CPUによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けたことを特徴とする。
以上のとおり、本発明によれば、2つのCPUからデュアルポートメモリに対して非同期でアクセスし、両CPU間でデータを転送する方式において、簡単なハードウェアを追加するだけで両CPU側のソフトウェアの処理を削減でき、かつ、データの同時性を保証し、データ転送の高速性を確保できる。
(実施形態1)
本発明の実施形態1の回路構成を図1に示す。本実施形態はDPM5内に2つのエリア(エリアAとエリアB)を設け、アクセスの度に書き込みエリアを切り変える方式である。また、書き込みがどのエリアに書き込み中であるか示す選択信号SELを生成する選択信号生成回路6A、6Bを設け、読み出し側CPUは選択信号を確認して書き込み中ではない方のエリアから読み出すことで、アクセスが重なった場合でもデータの同時性を保証する。
本発明の実施形態1の回路構成を図1に示す。本実施形態はDPM5内に2つのエリア(エリアAとエリアB)を設け、アクセスの度に書き込みエリアを切り変える方式である。また、書き込みがどのエリアに書き込み中であるか示す選択信号SELを生成する選択信号生成回路6A、6Bを設け、読み出し側CPUは選択信号を確認して書き込み中ではない方のエリアから読み出すことで、アクセスが重なった場合でもデータの同時性を保証する。
書き込みエリア選択信号生成回路6A、6Bの回路構成例を図2に示し、D型フリップフロップと排他的論理和回路で構成される。選択信号生成回路6AはCPU1がデータ書き込み中のときに「1」になる書き込み中フラグWFLG1と、CPU2がデータ読み出し中のときに「1」になる読み出し中フラグRFLG2から、書き込みエリア選択信号SEL1を生成する。逆に、選択信号生成回路6BはCPU2がデータ書き込み中のときに「1」になる書き込み中フラグWFLG2と、CPU1がデータ読み出し中のときに「1」になる読み出し中フラグRFLG1から、書き込みエリア選択信号SEL2を生成する。
図3にCPU1が書き込み、CPU2が読み出しの場合のタイミング例を示す。書き込み側のCPU1はデータ転送の開始の前に書き込み中フラグWFLG1をセットする。このWFLG1の立ち上がりエッジで書き込みエリア選択信号SEL1が反転する。ここでは書き込みエリア選択信号SEL1は「0」のときエリアAを選択し、「1」のときエリアBを選択すると仮定する。
CPU1はデータ転送が終了した時に書き込み中フラグWFLG1をクリアする。読み出し側のCPU2は読み出し処理を開始する前に読み出し中フラグRFLG2をセットする。その後、書き込みエリア選択信号SEL1を確認し、選択されていないエリアから読み出しを行う。読み出しが終了すると読み出し中フラグRFLG2をクリアする。
図3のタイミングt3ではCPU2の読み出し中にCPU1の書き込みが開始されている。このタイミングではCPU2の読み出しへの影響を防ぐため、書き込みエリア信号SEL1の反転は行われない。このように書き込みエリア選択信号SELは書き込み中フラグWFLGと相手側読み出し中フラグRFLGによって制御する。
したがって、本実施形態によれば、DPMに対する2つのCPUの非同期アクセスでCPU間のデータを転送する方式において、一方のCPUによる書き込み中フラグと、他方のCPUによる読み出し中フラグを基に、書き込みエリア選択信号を生成する回路6A、6Bを設けることにより、書き込みエリアと読み出しエリア両側からのアクセスが重なった時にもCPU側は書き込みエリア選択信号を判断する処理を設けるだけでデータの同時性を確保した書き込みおよび読み出しを行うことができる。
(実施形態2)
本実施形態は、実施形態1で示したCPUによる書き込みエリア選択信号SELの判別による当該エリアに対するデータ書き込み処理に代えて、外部のマルチプレクサでエリア別の書き込み/読み出しアドレスを自動的に出力できるようにするものであり、図4に要部回路構成を示す。
本実施形態は、実施形態1で示したCPUによる書き込みエリア選択信号SELの判別による当該エリアに対するデータ書き込み処理に代えて、外部のマルチプレクサでエリア別の書き込み/読み出しアドレスを自動的に出力できるようにするものであり、図4に要部回路構成を示す。
各CPUによる書き込み中フラグWFLG、読み出し中フラグRFLGの発生、および書き込みエリア選択信号生成回路6A、6Bによる選択信号SELの生成は実施形態1と同様の構成とし、マルチプレクサ7A、7Bは、書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両CPUによるデータ書き込みおよびデータ読み出しを行うエリアの特定アドレスAnの入力を制御する。
マルチプレクサ7A、7Bの制御ロジックを図5に示す。ここで、制御対象のDPMアドレスAnはエリアのサイズによって決定される。例えば、図6に示すように1つのエリアが256バイトの例では、アドレスA8を制御することで連続した2つのエリアの内、1つが選択される。この選択制御の例を以下に説明する。
CPU1側の書き込み動作において、書き込み中フラグWFLGIがセットされたとき、書き込みエリア選択信号SEL1が「0」ならば、アドレスA8は「0」となりエリアA(0200〜02FF)が選択される。また、CPU1の読み出し動作において、読み出し中フラグRFLG1がセットされたとき、相手側の書き込みエリア選択信号SEL2が「0」ならば、アドレスA8は「1」となり、エリアB(0100〜01FF)が選択される。これにより、DPM5をアクセスするCPUはソフトウェアで2つのエリアを意識(判別)することなく、1つのエリアに対するアクセス(例えば、エリアAに対するアクセス)するだけでハードウェアによって、自動的にエリアA、エリアBの切り替えが行われる。
なお、RAMの診断等で、エリアA、エリアBに対する通常のアクセスが必要な場合を想定し、マルチプレクサは、書き込み中フラグWFLGおよび読み出し中フラグRFLGがセットされなければ、CPUのアドレスがそのまま選択される制御ロジックになっている。
1、2 CPU
3 RAM
4 調停回路
5 DPM(デュアルポートメモリ)
6A、6B 書き込みエリア選択信号生成回路
7A、7B マルチプレクサ
3 RAM
4 調停回路
5 DPM(デュアルポートメモリ)
6A、6B 書き込みエリア選択信号生成回路
7A、7B マルチプレクサ
Claims (2)
- 2つのCPUからデュアルポートメモリに対して非同期でアクセスし、一方のCPUからデュアルポートメモリにデータを書き込み、このデータを他方のCPUで読み出すデータ転送方式であって、
両CPUは、デュアルポートメモリ内に設定する2つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両CPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択する書き込みエリア選択信号を生成する回路を設け、
両CPUは、前記書き込みエリア選択信号からデータ書き込み中でないエリアを判別する手段を設けたことを特徴とするCPU間のデータ転送方式。 - 2つのCPUからデュアルポートメモリに対して非同期でアクセスし、一方のCPUからデュアルポートメモリにデータを書き込み、このデータを他方のCPUで読み出すデータ転送方式であって、
両CPUは、デュアルポートメモリ内に設定する2つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両CPUの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択するエリア選択信号を生成する回路を設け、
前記書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両CPUによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けたことを特徴とするCPU間のデータ転送方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006160387A JP2007328647A (ja) | 2006-06-09 | 2006-06-09 | Cpu間のデータ転送方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006160387A JP2007328647A (ja) | 2006-06-09 | 2006-06-09 | Cpu間のデータ転送方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007328647A true JP2007328647A (ja) | 2007-12-20 |
Family
ID=38929056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006160387A Pending JP2007328647A (ja) | 2006-06-09 | 2006-06-09 | Cpu間のデータ転送方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007328647A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021018475A (ja) * | 2019-07-17 | 2021-02-15 | 株式会社デンソー | 電子制御装置 |
-
2006
- 2006-06-09 JP JP2006160387A patent/JP2007328647A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021018475A (ja) * | 2019-07-17 | 2021-02-15 | 株式会社デンソー | 電子制御装置 |
JP7268516B2 (ja) | 2019-07-17 | 2023-05-08 | 株式会社デンソー | 電子制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7725621B2 (en) | Semiconductor device and data transfer method | |
JPWO2007105376A1 (ja) | 集積回路、及び集積回路システム | |
JP2008140078A (ja) | バスブリッジ装置、情報処理装置、およびデータ転送制御方法 | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
JP2007328647A (ja) | Cpu間のデータ転送方式 | |
JPWO2006046482A1 (ja) | マルチプロセッサシステム、同期制御装置及び同期制御方法 | |
US20050135402A1 (en) | Data transfer apparatus | |
JP2007226374A (ja) | データ処理装置 | |
JP4408840B2 (ja) | Hddコントローラ及びそれを搭載したシステム | |
JP5130754B2 (ja) | 半導体集積回路及びメモリシステム | |
JP2007172254A (ja) | メモリ制御回路 | |
JP2004288147A (ja) | シリアルメモリに対するxipシステム及びその方法 | |
JP4965974B2 (ja) | 半導体集積回路装置 | |
JP2005107873A (ja) | 半導体集積回路 | |
JP5489871B2 (ja) | 画像処理装置 | |
JP4114749B2 (ja) | メモリ制御装置および電子装置 | |
JP2006059303A (ja) | コンピュータシステム | |
JP2005010966A (ja) | Lsi装置 | |
JP2007316880A (ja) | デュアルポートメモリのアクセス権調停方式 | |
US20070022220A1 (en) | Bus system having a transmission control module and a transmission interface | |
JP6263048B2 (ja) | 半導体集積回路 | |
JP5393626B2 (ja) | 情報処理装置 | |
KR920001800B1 (ko) | 팩시밀리의 용량확장용 접속장치 | |
JP2005316546A (ja) | メモリコントローラ | |
JP2006091982A (ja) | オンチップバスシステム |