JP2008135047A - マルチプロセッサ用インタフェース - Google Patents

マルチプロセッサ用インタフェース Download PDF

Info

Publication number
JP2008135047A
JP2008135047A JP2007332049A JP2007332049A JP2008135047A JP 2008135047 A JP2008135047 A JP 2008135047A JP 2007332049 A JP2007332049 A JP 2007332049A JP 2007332049 A JP2007332049 A JP 2007332049A JP 2008135047 A JP2008135047 A JP 2008135047A
Authority
JP
Japan
Prior art keywords
data
signal
internal
processor
signal input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007332049A
Other languages
English (en)
Inventor
Shinichi Marui
信一 丸井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007332049A priority Critical patent/JP2008135047A/ja
Publication of JP2008135047A publication Critical patent/JP2008135047A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】プロセッサ間の効率的なデータ転送を可能にするマルチプロセッサ用インタフェースを提供する。
【解決手段】各プロセッサの入出力ポートに、アドレス情報及び転送すべきデータの授受のためのデータ端子XDATAと、このデータ端子上の信号がアドレス情報であるか転送すべきデータであるかを表すモード信号(MD)102の授受のためのモード端子XMDと、これらデータ端子及びモード端子の信号タイミングを表すリード/ライト信号(R/W)101の授受のためのリード/ライト端子XR/Wと、各々前記データ端子に接続された入力バッファ(INBUF)3000及び出力バッファ(OUTBUF)2000と、内部データメモリに接続されたデータメモリポインタ(DPTR)4000と、前記モード端子及びリード/ライト端子に接続された制御回路(CNTRL)1000とを設ける。
【選択図】図3

Description

本発明は、マルチプロセッサシステムに適した、プロセッサ間のインタフェース技術に関するものである。
マルチプロセッサは、単独のプロセッサでは処理能力が著しく不足するようなシステム、例えば大規模なデジタル信号処理システムに有効である。とりわけ、密結合(tightly coupled)マルチプロセッサがよく知られている。これは、単一のアドレス空間を複数のプロセッサで共有するものであって、メモリ共有型(shared memory)マルチプロセッサとも呼ばれる(例えば、非特許文献1参照)。
TMS320C5x User's Guide, Chapter 6.4, Texas Instruments Inc., Jan. 1993
上記メモリ共有型マルチプロセッサのためのインタフェースは、各プロセッサから発行されるメモリアクセス要求を調停するためのアービトレーションロジックを必要とする。したがって、マルチプロセッサを構成する個々のプロセッサが性能向上を果たしても、非効率的なインタフェースがシステム全体の性能向上を阻害するという問題点を有していた。
また、デジタル信号処理の流れとともに、加工されたデータが各プロセッサ間を流れていく形式のマルチプロセッサでは、印刷回路基板の面積に関する制約から、プロセッサ同士を直結できることが望ましい。
本発明の目的は、プロセッサ間の効率的なデータ転送を可能にするマルチプロセッサ用インタフェースを提供することにある。
上記目的を達成するために、本発明は、内部データメモリ又はローカルメモリに関するアドレス情報の交換を含むメッセージ交換(message passing)の技術により、プロセッサ間の効率的なデータ転送を実現することとしたものである。メモリアクセスは、例えばスタートアドレス及びエンドアドレスの指定によるブロック転送の形態となる。
具体的に説明すると、本発明に係るマルチプロセッサ用インタフェースは、CPU(中央処理装置)と内部データメモリを有しかつ他のプロセッサと結合されマルチプロセッサを構成するプロセッサに設けられたインタフェースであって、前記内部データメモリとの間でデータ信号の入出力を行う第1のデータ信号入出力部と、前記内部データメモリへアドレス信号の出力を行う第1のアドレス信号出力部と、前記プロセッサの外部との間でデータ信号の入出力を行う第2のデータ信号入出力部と、前記プロセッサの外部との間でアドレス信号の入出力を行う第2のアドレス信号入出力部と、前記CPUから設定されるモードに応じて前記第1のデータ信号入出力部を介して入出力されるデータ信号および前記第1のアドレス信号出力部を介して出力されるアドレス信号を保持するとともに、前記プロセッサの外部から設定されるモードに応じて前記第2のデータ信号入出力部を介して入出力されるデータ信号および前記第2のアドレス信号入出力部を介して入出力されるアドレス信号を保持するレジスタとを備えることを特徴とするものである。
本発明によれば、内部データメモリに関するアドレス情報の交換を含むメッセージ交換の技術を採用したことにより、プロセッサ間の効率的なデータ転送が可能になる。また本発明によれば、プロセッサ同士を直結できるので、印刷回路基板上のマルチプロセッサシステムの実装効率が向上する。
以下、図面を参照しながら、本発明に係るマルチプロセッサ用インタフェースの実施の形態について説明する。主に、一方のプロセッサから他方のプロセッサへアドレス情報を転送するしくみ、及びそのアドレス情報の利用の仕方について説明する。
図1及び図2に示すとおり、本発明に係るインタフェース11,21は、各プロセッサ10,20の入出力ポートとして組み込まれ、リード/ライト端子XR/W、モード端子XMD(2ビット)、データ端子XDATA(Nビット:Nは任意の整数)を持ち、これら3種類の端子で両インタフェース11,21を直結する。2つの直結されたインタフェース11,21は、いずれかがマスタとして動作し、他方がスレーブとして動作する。マスタ動作するかスレーブ動作するかはプロセッサ内部のユーザプログラムにより設定する。図1はマスタプロセッサ10からスレーブプロセッサ20へのデータ転送の例を、図2はスレーブプロセッサ20からマスタプロセッサ10へのデータ転送の例をそれぞれ示している。
モード端子XMDは転送モードを表す。転送モードにはイニシャル(initial)モード、スタートアドレス(start address)モード、エンドアドレス(end address)モード、ノーマル(normal)モードがある。イニシャルモードは、初期化状態であることを示す。スタートアドレスモードは、データ端子XDATA上の信号がスレーブプロセッサの内部データメモリのスタートアドレスであることを示す。エンドアドレスモードは、データ端子XDATA上の信号がスレーブプロセッサの内部データメモリのエンドアドレスであることを示す。ノーマルモードは、データ端子XDATA上の信号が転送すべきデータであることを示す。モード端子XMD、データ端子XDATAは、リード/ライト端子XR/Wに同期して変化する。
図3は、本発明のインタフェースの全体構成を示すものである。図3のインタフェース11(21)は、制御回路(CNTRL)1000、出力バッファ(OUTBUF)2000、入力バッファ(INBUF)3000、データメモリポインタ(DPTR)4000からなる。
リード/ライト端子XR/W、モード端子XMDの入出力方向はマスタ動作する時は出力、スレーブ動作する時は入力となる。つまり、リード/ライト端子XR/W、モード端子XMDの入出力方向は、内部マスタ/スレーブ指示信号(IM/S)1110の値による(図4)。IM/S=“0”がスレーブ動作を、IM/S=“1”がマスタ動作をそれぞれ指示する。リード/ライト端子XR/W、モード端子XMDの信号はプロセッサ内部ではそれぞれ、リード/ライト信号(R/W)101、モード信号(MD)102として扱われる。
データ端子XDATAの入出力方向は、上記のマスタあるいはスレーブ動作に関係なく、プロセッサ内部のユーザプログラムにより設定する。具体的には、転送方向内部指示信号(IDIR)1112の値による(図5)。IDIR=“0”がデータ受信(入力)を、IDIR=“1”がデータ送信(出力)をそれぞれ指示する。
図3中の制御回路(CNTRL)1000は、内部動作クロック信号(ICLK)104、リード/ライト端子XR/Wからのリード/ライト信号(R/W)101、モード端子XMDからのモード信号(MD)102、データメモリポインタ(DPTR)4000からのデータメモリポインタ一致信号(DPEQL)4102を入力とし、内部データメモリリード信号(IMRD)1101、内部データメモリライト信号(IMWT)1102、内部モード信号(IMD)1103、内部リード/ライト信号(IR/W)1104、内部受信データホールド信号(IRDHLD)1105、内部送信データホールド信号(ITDHLD)1106、内部スタートアドレスホールド信号(ISAHLD)1107、内部エンドアドレスホールド信号(IEAHLD)1108、内部ポインタインクリメント信号(IPINC)1109、内部マスタ/スレーブ指示信号(IM/S)1110、出力用内部モード信号(IMDO)1111、転送方向内部指示信号(IDIR)1112を出力する。また、制御回路(CNTRL)1000は、プロセッサ内部のユーザプログラムによるリード/ライトのために内部バス(BUS)110に接続される。
出力バッファ(OUTBUF)2000は、内部モード信号(IMD)1103、内部送信データホールド信号(ITDHLD)1106、内部データメモリ出力データ(DMOUT)105を入力とし、データ端子XDATAへの出力信号(OUTPUT)2101を出力する。また、プロセッサ内部のユーザプログラムによるリード/ライトのために内部バス(BUS)110に接続される。
入力バッファ(INBUF)3000は、データ端子XDATAからの入力信号(INPUT)103、内部モード信号(IMD)1103、内部受信データホールド信号(IRDHLD)1105、内部スタートアドレスホールド信号(ISAHLD)1107、内部エンドアドレスホールド信号(IEAHLD)1108を入力とし、データメモリ入力データ(DMIN)3103、アクセススタートアドレス(SA)3101、アクセスエンドアドレス(EA)3102を出力する。また、プロセッサ内部のユーザプログラムによるリード/ライトのために内部バス(BUS)110に接続される。
データメモリポインタ(DPTR)4000は、内部モード信号(IMD)1103、内部ポインタインクリメント信号(IPINC)1109、アクセススタートアドレス(SA)3101、アクセスエンドアドレス(EA)3102を入力とし、データメモリアドレス(DMADR)4101、データメモリポインタ一致信号(DPEQL)4102を出力する。
まず、図6を参照しながら、制御回路(CNTRL)1000の構成について説明する。制御回路(CNTRL)1000は、メモリ制御回路(MEMCNT)1200、転送モード制御回路(MDCNT)1300、コントロールレジスタ(CR)1400、リード/ライト信号生成回路(R/W GEN)1500、第1のマルチプレクサ1600、第2のマルチプレクサ1700から構成される。
両マルチプレクサ1600,1700の動作を図7に示す。IM/S=“1”、すなわちマスタ動作の場合には、第1のマルチプレクサ1600がリード/ライト信号生成回路(R/W GEN)1500からの仮リード/ライト信号(PR/W)1501を内部リード/ライト信号(IR/W)1104として選択し、第2のマルチプレクサ1700がコントロールレジスタ(CR)1400からの仮モード信号(PMD)1401を出力用内部モード信号(IMDO)1111として選択する。IM/S=“0”、すなわちスレーブ動作の場合には、第1のマルチプレクサ1600がリード/ライト端子XR/Wからのリード/ライト信号(R/W)101を、第2のマルチプレクサ1700がモード端子XMDからのモード信号(MD)102をそれぞれ選択する。
転送モード制御回路(MDCNT)1300は、内部リード/ライト信号(IR/W)1104の立ち下がり変化に同期して出力用内部モード信号(IMDO)1111をラッチすることにより、内部モード信号(IMD)1103を生成する(図8)。内部モード信号(IMD)1103の初期状態は、イニシャルモードである。
リード/ライト信号生成回路(R/W GEN)1500は、内部動作クロック信号(ICLK)104を分周することにより、マスタ動作時に内部リード/ライト信号(IR/W)1104となる仮リード/ライト信号(PR/W)1501を生成する。このリード/ライト信号生成回路(R/W GEN)1500は、動作し始めてから少なくとも半周期(tH)以上の時間(tINIT)が経過した後に、発振を開始する(図9)。しかも、このリード/ライト信号生成回路(R/W GEN)1500は、コントロールレジスタ(CR)1400からのフラグ信号(FLG)1402が“0”を示す場合のみ、仮リード/ライト信号(PR/W)1501を変化させるようになっている。
メモリ制御回路(MEMCNT)1200は、内部リード/ライト信号(IR/W)1104、内部モード信号(IMD)1103、転送方向内部指示信号(IDIR)1112を入力とし、内部データメモリリード信号(IMRD)1101、内部データメモリライト信号(IMWT)1102、内部受信データホールド信号(IRDHLD)1105、内部送信データホールド信号(ITDHLD)1106、内部スタートアドレスホールド信号(ISAHLD)1107、内部エンドアドレスホールド信号(IEAHLD)1108、内部ポインタインクリメント信号(IPINC)1109を出力する。このメモリ制御回路(MEMCNT)1200における内部ポインタインクリメント信号(IPINC)1109、内部データメモリリード信号(IMRD)1101、内部受信データホールド信号(IRDHLD)1105、内部スタートアドレスホールド信号(ISAHLD)1107、内部エンドアドレスホールド信号(IEAHLD)1108のパルス発生条件を図10に示す。内部送信データホールド信号(ITDHLD)1106、内部データメモリライト信号(IMWT)1102は、それぞれ内部データメモリリード信号(IMRD)1101、内部受信データホールド信号(IRDHLD)1105のパルス発生後、内部動作クロック信号(ICLK)104に同期して数サイクル後に発生する。本実施の形態では3サイクル後とする。このサイクル数は、内部データメモリのアクセスタイムに関係する。これらの信号関係を図11、図12に示す。なお、イニシャルモードにおいて後述のオン(ON)信号が“0”から“1”へ変化したときにも内部ポインタインクリメント信号(IPINC)1109のパルスが発生するようになっている。
コントロールレジスタ(CR)1400は内部バス(BUS)110を介して、プロセッサ内部のユーザプログラムによりリード/ライト可能であり、インタフェースの入出力方向を決定する転送方向内部指示信号(IDIR)1112、インタフェースのマスタ/スレーブを決定する内部マスタ/スレーブ指示信号(IM/S)1110を出力する。また、マスタ動作時に出力用内部モード信号(IMDO)1111となる仮モード信号(PMD)1401を、内部バス(BUS)110からの指示に基づき生成する。
図13は、図6中のコントロールレジスタ(CR)1400の詳細構成を示している。図13のコントロールレジスタ(CR)1400は、マスタ/スレーブレジスタ1410、転送方向指示レジスタ1411、オートレジスタ1412、オンレジスタ1413、初期値ロード許可レジスタ1414、フラグレジスタ1420、モード指示レジスタ1430からなる。フラグレジスタ1420は、内部バス(BUS)110へのデータの出力が可能であるが、内部バス(BUS)110からのデータの入力はできないようになっている。その他のレジスタは全て内部バス(BUS)110との間でデータの授受を行うことができる。
マスタ/スレーブレジスタ1410は、その保持内容を内部マスタ/スレーブ指示信号(IM/S)1110として出力する。転送方向指示レジスタ1411は、その保持内容を転送方向内部指示信号(IDIR)1112として出力する。オートレジスタ1412は、その保持内容をオート(AUTO)信号として出力する。AUTO=“1”でオートモードを、AUTO=“0”でインタラクティブモードをそれぞれ指示する。オンレジスタ1413は、その保持内容をオン(ON)信号として出力する。ON=“1”で起動・動作を、ON=“0”で停止をそれぞれ指示する。初期値ロード許可レジスタ1414は、その保持内容をロードイネーブル(LOADEN)信号として出力する。LOADEN=“1”で、データメモリポインタ一致信号(DPEQL)4102が“1”のときに後述のカレントデータメモリポインタ(DP)を初期値に戻す動作を指示する。LOADEN=“0”のときは、同動作を指示しない。
フラグレジスタ1420の保持内容は、リード/ライト信号生成回路(R/W GEN)1500の発振動作を制御するためのフラグ信号(FLG)1402である。このフラグ信号(FLG)1402の変化を説明すると、
(1) FLGの初期値は“0”であり、
(2) IM/S=“1”、AUTO=“0”かつON=“1”(マスタ動作、インタラクティブモードかつオン状態)であり、かつFLG=“0”の場合には、内部リード/ライト信号(IR/W)1104が“1”、“0”、“1”と順次変化した後に、リード/ライト信号生成回路(R/W GEN)1500によりFLG=“1”へと変化させられ、
(3) IM/S=“1”、AUTO=“0”かつON=“1”(マスタ動作、インタラクティブモードかつオン状態)であり、かつFLG=“1”の場合には、モード指示レジスタ1430の内容が変化(ノーマルモードへの変化を除く)した後に、FLG=“0”へと戻り、
(4) その他の場合には、常にFLG=“0”を保つ。
モード指示レジスタ1430は、その2ビットの保持内容を仮モード信号(PMD)1401として出力する。このモード指示レジスタ1430のビット1及びビット0は、(0,0)がイニシャルモードを、(0,1)がスタートアドレスモードを、(1,0)がエンドアドレスモードを、(1,1)がノーマルモードをそれぞれ表す。このモード指示レジスタ1430の動作を説明すると、
(1) モード指示レジスタ1430の初期値はイニシャルモードを表す(0,0)であり、
(2) IM/S=“1”、AUTO=“1”かつON=“1”(マスタ動作、オートモードかつオン状態)の場合、内部リード/ライト信号(IR/W)1104の立ち上がりエッジに同期して、モード指示レジスタ1430が(0,0)から(0,1)、(1,0)、(1,1)へと順次変化した後、ノーマルモードを表す(1,1)を保持し、
(3) ON=“1”かつLOADEN=“1”(オン状態かつ初期値ロード許可状態)の場合には、更にデータメモリポインタ一致信号(DPEQL)4102が“1”であることを条件として、モード指示レジスタ1430がイニシャルモードを表す(0,0)に変化し、
(4) 上記以外の条件(インタラクティブモードを含む)では、プロセッサ内部のユーザプログラムによりライトされた値を保持する。
ここで、マスタ動作時のインタラクティブモード制御について説明する。インタラクティブモードでは、プロセッサ内部のユーザプログラムによりコントロールレジスタ(CR)1400へ各転送モードを個別に設定する(図14)。この場合、転送モードをコントロールレジスタ(CR)1400に設定した後、一度だけIR/W=“1”→“0”→“1”の変化が生じる。この変化が起こったことは、フラグレジスタ1420を参照することにより、プロセッサ内部のユーザプログラムで知ることができる。スタートアドレス及びエンドアドレスの設定時はインタラクティブな動作となるが、一旦データの転送に入ると以降は、自動的にかつ周期的に内部リード/ライト信号(IR/W)1104の変化が起こる。
次に、マスタ動作時のオートモード制御について説明する。本インタフェースをマスタ動作かつオートモードの設定でONした時点から、自動的にかつ周期的に出力用内部モード信号(IMDO)1111が変化する(図15)。したがって、モード端子XMDも出力用内部モード信号(IMDO)1111と同様に変化する。コントロールレジスタ(CR)1400が仮モード信号(PMD)1401を順次変化させ、第2のマルチプレクサ1700により仮モード信号(PMD)1401が選択されて、結果として出力用内部モード信号(IMDO)1111が仮モード信号(PMD)1401と等しくなる。このとき、リード/ライト信号生成回路(R/W GEN)1500からは周期的に仮リード/ライト信号(PR/W)1501が出力され、これが内部リード/ライト信号(IR/W)1104と一致する。
次に、図16を用いて、出力バッファ(OUTBUF)2000の構成について説明する。出力バッファ(OUTBUF)2000は、マルチプレクサ2100と、スレーブ側のスタートアドレスを決定するスタートアドレス出力レジスタ(TXSR)2200と、スレーブ側のエンドアドレスを決定するエンドアドレス出力レジスタ(TXER)2300と、内部データメモリよりリードしたデータを保持するデータ出力レジスタ(TXMR)2400とからなる。スタートアドレス出力レジスタ(TXSR)2200、エンドアドレス出力レジスタ(TXER)2300は内部バス(BUS)110と接続され、プロセッサ内部のユーザプログラムによりリード/ライト可能である。データ出力レジスタ(TXMR)2400は、内部送信データホールド信号(ITDHLD)1106で示されるタイミングで内部データメモリの出力を保持する。この出力バッファ(OUTBUF)2000からの出力は、図17に示すように制御される。
図18を参照しながら、入力バッファ(INBUF)3000の構成について説明する。データ端子XDATAからの入力信号(INPUT)103を内部モード信号(IMD)1103に応じて、スタートアドレス入力レジスタ(RXSR)3200、エンドアドレス入力レジスタ(RXER)3300、データ入力レジスタ(RXMR)3400のいずれかに格納する(図19)。3100はマルチプレクサである。外部からデータを受け取る場合は、それぞれ内部スタートアドレスホールド信号(ISAHLD)1107、内部エンドアドレスホールド信号(IEAHLD)1108、内部受信データホールド信号(IRDHLD)1105で示されるタイミングでデータ端子XDATAからの信号を記憶保持する(図10)。また、外部からアドレスを設定しない場合は、内部バス(BUS)110を介してプロセッサ内部のユーザプログラムにより各アドレスを設定することも可能である。
図20を参照しながら、データメモリポインタ(DPTR)4000について説明する。データメモリポインタ(DPTR)4000は、マルチプレクサ4100、インクリメンタ4200、カレントデータメモリポインタ(DP)4300、コンパレータ(CMP)4400からなり、内部ポインタインクリメント信号(IPINC)1109の発生するタイミングでマルチプレクサ4100の出力を記憶保持する。内部ポインタインクリメント信号(IPINC)1109の発生条件は、図10のとおりである。また、マルチプレクサ4100の動作を図21に示す。コンパレータ(CMP)4400は、カレントデータメモリポインタ(DP)4300の値と、エンドアドレス入力レジスタ(RXER)3300に格納されているエンドアドレスとの比較を行い、一致した場合、データメモリポインタ一致信号(DPEQL)4102をアクティブにする。インクリメンタ4200は、カレントデータメモリポインタ(DP)4300の出力を常に1インクリメントして出力する。
なお、データメモリポインタ一致信号(DPEQL)4102が“1”となることにより、転送モードがイニシャルモードとなる。このとき、図21に従ってマルチプレクサ4100での選択はアクセススタートアドレス(SA)3101となる。したがって、内部リード/ライト信号(IR/W)1104の次の立ち上がりエッジで内部ポインタインクリメント信号(IPINC)1109が生成され(図10)、スタートアドレス入力レジスタ(RXSR)3200の値がカレントデータメモリポインタ(DP)4300に読み込まれる。なお、カレントデータメモリポインタ(DP)4300がエンドアドレス入力レジスタ(RXER)3300に一致した時に、データメモリポインタ一致信号(DPEQL)4102により、割り込みを発生させるようにしてもよい。これは、転送を終了したい時に用いることができる。
以下、上記構成を用いた2つの具体例、すなわち、
(例1) マスタ送信−−−>スレーブ受信;アドレス情報なし
(例2) マスタ送信−−−>スレーブ受信;アドレス情報あり
を示す(図1参照)。前提として、後段のプロセッサ20でのデータ処理方法は、その内部データメモリの領域毎に予め決められているものとする。また、そのメモリマップは前段のプロセッサ10も知っているものとする。以下の例では前段のプロセッサ10と後段のプロセッサ20とで同一構成のインタフェース11,21を使用しているものとしているので、同一番号を使用している。混乱のないように、必ず「前段の」又は「後段の」と記載し、区別している。
(例1)
データが前段のプロセッサ(マスタプロセッサ)10から後段のプロセッサ(スレーブプロセッサ)20へと渡される。後段のプロセッサ20での処理方法は転送されるデータに依存するが、何らかの方法で、後段のプロセッサ20は、どのような処理をすべきかが既に分かっているものとする。したがって、後段のプロセッサ20は転送されてくるデータを格納する領域を自分自身の内部のユーザプログラムで決定することができる。
後段のプロセッサ20は、内部バス(BUS)110経由でスタートアドレス入力レジスタ(RXSR)3200、エンドアドレス入力レジスタ(RXER)3300にそれぞれスタートアドレス、エンドアドレスを設定する。前段のプロセッサ10はアドレス情報を送る必要がないので、最初からノーマルモードでよい。したがって、前段のプロセッサ10は、内部バス(BUS)110経由でコントロールレジスタ(CR)1400にインタラクティブモードかつノーマルモードと設定する。更に、前段のプロセッサ10は、ユーザプログラムの実行により、内部バス(BUS)110経由でスタートアドレス入力レジスタ(RXSR)3200、エンドアドレス入力レジスタ(RXER)3300にそれぞれアドレスを設定する。その後、それぞれのプロセッサ10,20内でオンレジスタ1413に“1”を設定することで、ポートをONする。
以下では、図22(後段のプロセッサ20)、図23(前段のプロセッサ10)のタイミング図に従って説明する。
後段のプロセッサ20は、図22に示すように、ONされた時点で、内部モード信号(IMD)1103がイニシャルモードになり、そのことにより、予め設定してあったスタートアドレス入力レジスタ(RXSR)3200の値(1stADDRESS)がカレントデータメモリポインタ(DP)4300にロードされる。そして、内部リード/ライト信号(IR/W)1104の最初の立ち下がりエッジ時に内部モード信号(IMD)1103がノーマルとなる。次に、内部リード/ライト信号(IR/W)1104の最初の立ち上がりエッジを受けて、内部受信データホールド信号(IRDHLD)1105がアクティブになる。このことにより、データ端子XDATAからのデータ(1st data)がデータ入力レジスタ(RXMR)3400に保持される。また、カレントデータメモリポインタ(DP)4300は、1stADDRESS+1に更新される。ただし、カレントデータメモリポインタ(DP)4300の更新前の値は、実際に内部データメモリにライトされるまで当該インタフェースの外部で保持されている(図示せず)。続いて内部動作クロック信号(ICLK)104に同期して、遅れて内部データメモリライト信号(IMWT)1102がアクティブになり、カレントデータメモリポインタ(DP)4300の更新前のアドレス(1stADDRESS)に対しデータ入力レジスタ(RXMR)3400のデータが内部データメモリにライトされる。以後はこの繰り返しにより、内部データメモリ上の連続アドレスにデータが格納されていく。
前段のプロセッサ10では、図23に示すように、ONされた時点で、内部モード信号(IMD)1103がイニシャルモードになり、そのことにより、予め設定してあったスタートアドレス入力レジスタ(RXSR)3200の値(1stADDRESS)がカレントデータメモリポインタ(DP)4300にロードされる。この1stADDRESSは、後段のプロセッサ20の上記1stADDRESSと一般的に異なる。また、同時に内部データメモリリード信号(IMRD)1101がアクティブになり、内部データメモリにリードを促す。次に、内部動作クロック信号(ICLK)104に同期して、遅れて内部送信データホールド信号(ITDHLD)1106が出力される。このことにより、データ出力レジスタ(TXMR)2400に内部データメモリからのデータ(1st data)が保持される。そして、最初の内部リード/ライト信号(IR/W)1104の立ち下がりに同期して、上記データ(1st data)がデータ端子XDATAに出力される。また内部モード信号(IMD)1103はノーマルモードとなる。以後は、内部リード/ライト信号(IR/W)1104の立ち上がりエッジ毎に同様の動作が繰り返される。
上記のようにして、2つのプロセッサ10,20の各々で簡単なユーザプログラムを実行するだけで、データの連続転送が可能になる。
(例2)
データが前段のプロセッサ(マスタプロセッサ)10から後段のプロセッサ(スレーブプロセッサ)20へと渡される(図1参照)。後段のプロセッサ20での処理方法は転送されるデータに依存し、どのような処理をすべきかが予め判っているわけではない。そこで、前段のプロセッサ10がデータ転送時に後段のプロセッサ20へアドレス情報を送ることで、どの領域に格納すべきかを後段のプロセッサ20に伝達する。したがって、後段のプロセッサ20はデータ端子XDATA上の信号がアドレス情報であるか転送データであるかを、モード端子XMDの状態で判断する。このため後段のプロセッサ20は、スタートアドレス入力レジスタ(RXSR)3200、エンドアドレス入力レジスタ(RXER)3300へのアドレス設定をしない。
前段のプロセッサ10は、アドレス情報を送る必要があるので、後段のプロセッサ20での処理方法を考慮し、内部バス(BUS)110経由でスタートアドレス出力レジスタ(TXSR)2200、エンドアドレス出力レジスタ(TXER)2300にそれぞれスタートアドレス、エンドアドレスを格納する。更に前段のプロセッサ10は、内部バス(BUS)110経由でコントロールレジスタ(CR)1400にオートモードと設定し、スタートアドレス入力レジスタ(RXSR)3200、エンドアドレス入力レジスタ(RXER)3300にそれぞれアドレスを設定する。その後、それぞれのプロセッサ10,20内でポートをONする。
以下では、図24(後段のプロセッサ20)、図25(前段のプロセッサ10)のタイミング図に従って説明する。ここでは、両ポートがONした後、内部リード/ライト信号(IR/W)1104、出力用内部モード信号(IMDO)1111が図15で示したように自動的に変化し、それに従ってモード端子XMDの状態が変化する。ただし、図24、図25ではモード端子XMDのスタートアドレスモード及びノーマルモードのみが描かれてある。
後段のプロセッサ20は、図24に示すように、ONされた時点で、内部モード信号(IMD)1103がイニシャルモードになり、そのことにより、スタートアドレス入力レジスタ(RXSR)3200の値(1stADDRESS:実は不定値)がカレントデータメモリポインタ(DP)4300にロードされる。そして、内部リード/ライト信号(IR/W)1104の最初の立ち下がりエッジでモード端子XMDの信号を受け、内部モード信号(IMD)1103がスタートアドレスモードとなる。次に、内部リード/ライト信号(IR/W)1104の最初の立ち上がりエッジを受けて、カレントデータメモリポインタ(DP)4300にデータ端子XDATAの信号(start address)がロードされる。これにより、真のスタートアドレスが後段のプロセッサ20に設定される。続いて、同様にして、エンドアドレスの設定がなされる(図示せず)。更に、モード端子XMDの状態はノーマルモードとなるので、以後のデータ端子XDATA上の信号はアドレス情報でないと判断し、カレントデータメモリポインタ(DP)4300の更新に従って、内部データメモリに受信データを順次格納していく。以後の動作は、例1と全く同様である。ただし、図24ではスタートアドレス設定後すぐに、通常のデータ転送になるように描かれてある。
前段のプロセッサ10では、図25に示すように、ONされた時点で、内部モード信号(IMD)1103がイニシャルモードになり、そのことにより、予め設定してあったスタートアドレス入力レジスタ(RXSR)3200の値(1stADDRESS)がカレントデータメモリポインタ(DP)4300にロードされる。また、同時に内部データメモリリード信号(IMRD)1101がアクティブになり、内部データメモリにリードを促す。次に、内部動作クロック信号(ICLK)104に同期して、遅れて内部送信データホールド信号(ITDHLD)1106が出力される。このことにより、データ出力レジスタ(TXMR)2400に内部データメモリからのデータ(1st data)が保持される。そして、内部リード/ライト信号(IR/W)1104の最初の立ち下がりに同期して、内部モード信号(IMD)1103はスタートアドレスモードとなり、スタートアドレス出力レジスタ(TXSR)2200の値(start address)がデータ端子XDATAに出力される。以後は、内部モード信号(IMD)1103が内部リード/ライト信号(IR/W)1104の立ち下がりエッジに同期して自動的にスタートアドレスモードから、エンドアドレスモード、ノーマルモードへと順次変化する。ただし、図25ではエンドアドレスモードの図示を省略している。内部モード信号(IMD)1103がノーマルモードとなってからは、例1と全く同様である。
上記のようにして、2つのプロセッサ10,20の各々で簡単なユーザプログラムを実行するだけで、転送先のデータ格納場所が指定でき、したがって後段のプロセッサ20にデータ処理方法を伝えることができる。
なお、図2に示したような、
(例3) スレーブ送信−−−>マスタ受信;アドレス情報なし
(例4) スレーブ送信−−−>マスタ受信;アドレス情報あり
も同様である。更に、アドレス情報を転送する場合でも、インタラクティブモード、オートモードのいずれも任意に選択できる。
本発明に係るインタフェースを利用したマルチプロセッサシステムの構成例を示すブロック図である。 本発明に係るインタフェースを利用したマルチプロセッサシステムの他の構成例を示すブロック図である。 図1及び図2中の各インタフェースの内部構成例を示すブロック図である。 図3中のリード/ライト端子XR/W及びモード端子XMDの入出力方向の切り替えを示す図である。 図3中のデータ端子XDATAの入出力方向の切り替えを示す図である。 図3中の制御回路(CNTRL)の詳細構成を示すブロック図である。 図6中の2つのマルチプレクサの選択動作を示す図である。 図6中の転送モード制御回路(MDCNT)の動作を示すタイミング図である。 図6中のリード/ライト信号生成回路(R/W GEN)の動作を示すタイミング図である。 図6中のメモリ制御回路(MEMCNT)の動作を示す図である。 図6中のメモリ制御回路(MEMCNT)の動作を示すタイミング図である。 図6中のメモリ制御回路(MEMCNT)の動作を示す他のタイミング図である。 図6中のコントロールレジスタ(CR)の詳細構成を示すブロック図である。 図13のコントロールレジスタ(CR)にインタラクティブモードでマスタ動作をするようにとの設定をした場合の図6の制御回路(CNTRL)の動作を示すタイミング図である。 図13のコントロールレジスタ(CR)にオートモードでマスタ動作をするようにとの設定をした場合の図6の制御回路(CNTRL)の動作を示すタイミング図である。 図3中の出力バッファ(OUTBUF)の詳細構成を示すブロック図である。 図16中のマルチプレクサの選択動作を示す図である。 図3中の入力バッファ(INBUF)の詳細構成を示すブロック図である。 図18中のマルチプレクサの選択動作を示す図である。 図3中のデータメモリポインタ(DPTR)の詳細構成を示すブロック図である。 図20中のマルチプレクサの選択動作を示す図である。 アドレス情報を転送しない場合の後段スレーブプロセッサにおける図3のインタフェースの動作を示すタイミング図である。 アドレス情報を転送しない場合の前段マスタプロセッサにおける図3のインタフェースの動作を示すタイミング図である。 アドレス情報を転送する場合の後段スレーブプロセッサにおける図3のインタフェースの動作を示すタイミング図である。 アドレス情報を転送する場合の前段マスタプロセッサにおける図3のインタフェースの動作を示すタイミング図である。
符号の説明
10,20 プロセッサ
11,21 インタフェース
101 リード/ライト端子XR/Wからのリード/ライト信号(R/W)
102 モード端子XMDからのモード信号(MD)
103 データ端子XDATAからの入力信号(INPUT)
104 内部動作クロック信号(ICLK)
105 内部データメモリ出力データ(DMOUT)
110 内部バス(BUS)
1000 制御回路(CNTRL)
1101 内部データメモリリード信号(IMRD)
1102 内部データメモリライト信号(IMWT)
1103 内部モード信号(IMD)
1104 内部リード/ライト信号(IR/W)
1105 内部受信データホールド信号(IRDHLD)
1106 内部送信データホールド信号(ITDHLD)
1107 内部スタートアドレスホールド信号(ISAHLD)
1108 内部エンドアドレスホールド信号(IEAHLD)
1109 内部ポインタインクリメント信号(IPINC)
1110 内部マスタ/スレーブ指示信号(IM/S)
1111 出力用内部モード信号(IMDO)
1112 転送方向内部指示信号(IDIR)
1200 メモリ制御回路(MEMCNT)
1300 転送モード制御回路(MDCNT)
1400 コントロールレジスタ(CR)
1401 仮モード信号(PMD)
1402 フラグ信号(FLG)
1410 マスタ/スレーブレジスタ
1411 転送方向指示レジスタ
1412 オートレジスタ
1413 オンレジスタ
1414 初期値ロード許可レジスタ
1420 フラグレジスタ
1430 モード指示レジスタ
1500 リード/ライト信号生成回路(R/W GEN)
1501 仮リード/ライト信号(PR/W)
1600,1700 マルチプレクサ
2000 出力バッファ(OUTBUF)
2101 データ端子XDATAへの出力信号(OUTPUT)
2100 マルチプレクサ
2200 スタートアドレス出力レジスタ(TXSR)
2300 エンドアドレス出力レジスタ(TXER)
2400 データ出力レジスタ(TXMR)
3000 入力バッファ(INBUF)
3100 マルチプレクサ
3101 アクセススタートアドレス(SA)
3102 アクセスエンドアドレス(EA)
3103 データメモリ入力データ(DMIN)
3200 スタートアドレス入力レジスタ(RXSR)
3300 エンドアドレス入力レジスタ(RXER)
3400 データ入力レジスタ(RXMR)
4000 データメモリポインタ(DPTR)
4100 マルチプレクサ
4101 データメモリアドレス(DMADR)
4102 データメモリポインタ一致信号(DPEQL)
4200 インクリメンタ
4300 カレントデータメモリポインタ(DP)
4400 コンパレータ(CMP)

Claims (8)

  1. CPU(中央処理装置)と内部データメモリを有しかつ他のプロセッサと結合されマルチプロセッサを構成するプロセッサに設けられたインタフェースであって、
    前記内部データメモリとの間でデータ信号の入出力を行う第1のデータ信号入出力部と、
    前記内部データメモリへアドレス信号の出力を行う第1のアドレス信号出力部と、
    前記プロセッサの外部との間でデータ信号の入出力を行う第2のデータ信号入出力部と、
    前記プロセッサの外部との間でアドレス信号の入出力を行う第2のアドレス信号入出力部と、
    前記CPUから設定されるモードに応じて前記第1のデータ信号入出力部を介して入出力されるデータ信号および前記第1のアドレス信号出力部を介して出力されるアドレス信号を保持するとともに、前記プロセッサの外部から設定されるモードに応じて前記第2のデータ信号入出力部を介して入出力されるデータ信号および前記第2のアドレス信号入出力部を介して入出力されるアドレス信号を保持するレジスタとを備えることを特徴とするマルチプロセッサ用インタフェース。
  2. 請求項1記載のマルチプロセッサ用インタフェースにおいて、
    前記レジスタは複数のレジスタから構成され、前記CPUから設定されるモードに応じて、前記第1のデータ信号入出力部を介して入出力されるデータ信号、前記第1のアドレス信号出力部を介して出力されるアドレス信号、前記第2のデータ信号入出力部を介して入出力されるデータ信号および前記第2のアドレス信号入出力部を介して入出力されるアドレス信号を対応するレジスタに保持することを特徴とするマルチプロセッサ用インタフェース。
  3. 請求項2記載のマルチプロセッサ用インタフェースにおいて、
    前記複数のレジスタは、スタートアドレス入力レジスタ、エンドアドレス入力レジスタおよびデータ入力レジスタから構成されることを特徴とするマルチプロセッサ用インタフェース。
  4. 請求項3記載のマルチプロセッサ用インタフェースにおいて、
    前記第2のデータ信号入出力部と前記第2のアドレス信号入出力部は共通化された端子であることを特徴とするマルチプロセッサ用インタフェース。
  5. 請求項4記載のマルチプロセッサ用インタフェースにおいて、
    前記第2のデータ信号入出力部と前記第2のアドレス信号入出力部は共通化された端子で入出力される信号が入出力されるマルチプレクサを備えることを特徴とするマルチプロセッサ用インタフェース。
  6. 請求項1記載のマルチプロセッサ用インタフェースにおいて、
    前記第1のデータ信号入出力部は第1のデータ信号入力部と第1のデータ信号出力部から構成され、
    前記第2のデータ信号入出力部は第2のデータ信号入力部と第2のデータ信号出力部から構成され、
    前記第2のアドレス信号入出力部は第2のアドレス信号入力部と第2のアドレス信号出力部から構成されることを特徴とするマルチプロセッサ用インタフェース。
  7. 互いに結合されマルチプロセッサシステムを構成する第1および第2のプロセッサ間におけるデータ転送方法であって、
    前記第1のプロセッサから前記第2のプロセッサ内のインタフェースを介して信号を前記第2のプロセッサに入力する工程と、
    前記第1のプロセッサから前記第2のプロセッサ内のインタフェースに設けられたレジスタにモードを設定する工程とを備え、
    前記第2のプロセッサは前記レジスタに設定されたモードに基づいて、前記第1のプロセッサから入力された信号を受信することを特徴とするデータ転送方法。
  8. 請求項7記載のデータ転送方法において、
    前記第1のプロセッサから入力される信号はデータ信号およびアドレス信号であることを特徴とするデータ転送方法。
JP2007332049A 2000-11-06 2007-12-25 マルチプロセッサ用インタフェース Pending JP2008135047A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007332049A JP2008135047A (ja) 2000-11-06 2007-12-25 マルチプロセッサ用インタフェース

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000337094 2000-11-06
JP2007332049A JP2008135047A (ja) 2000-11-06 2007-12-25 マルチプロセッサ用インタフェース

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001334171A Division JP2002229966A (ja) 2000-11-06 2001-10-31 マルチプロセッサ用インタフェース

Publications (1)

Publication Number Publication Date
JP2008135047A true JP2008135047A (ja) 2008-06-12

Family

ID=39559816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007332049A Pending JP2008135047A (ja) 2000-11-06 2007-12-25 マルチプロセッサ用インタフェース

Country Status (1)

Country Link
JP (1) JP2008135047A (ja)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62221057A (ja) * 1986-03-06 1987-09-29 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド ポインタアドレスを発生するための装置および方法
JPS63231665A (ja) * 1987-03-20 1988-09-27 Fujitsu Ltd バス有効利用方式
JPH0683715A (ja) * 1992-08-31 1994-03-25 Nec Corp メモリデータコピー方式
JPH06274441A (ja) * 1993-03-19 1994-09-30 Oki Electric Ind Co Ltd Cpuのシリアルインタフェース
JPH07105099A (ja) * 1993-10-05 1995-04-21 Nippon Telegr & Teleph Corp <Ntt> 分散メモリ保護管理装置
JPH08161259A (ja) * 1994-11-30 1996-06-21 Mitsubishi Electric Corp 直列データ受信装置及び直列データ転送装置
JPH08212179A (ja) * 1995-02-08 1996-08-20 Nec Corp マルチプロセッサシステム用データ通信装置
JPH08314854A (ja) * 1995-05-17 1996-11-29 Hitachi Ltd データ転送システムおよびこれに関連する装置
JPH09305549A (ja) * 1996-05-21 1997-11-28 Fujitsu Ltd マルチcpuシステムのデータ処理方法
JPH10207834A (ja) * 1997-01-17 1998-08-07 Mitsubishi Electric Corp シリアル入出力回路
JPH1153338A (ja) * 1997-08-08 1999-02-26 Mitsubishi Electric Corp 半導体集積回路およびその半導体集積回路における外部バスモード選択方法
JP2000010685A (ja) * 1998-06-19 2000-01-14 Hitachi Ltd 画像入出力装置およびその画像入出力装置用ケーブル
JP2000207171A (ja) * 1999-01-18 2000-07-28 Nec Ic Microcomput Syst Ltd スタ―トポイントのサ―チ方法とその装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62221057A (ja) * 1986-03-06 1987-09-29 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド ポインタアドレスを発生するための装置および方法
JPS63231665A (ja) * 1987-03-20 1988-09-27 Fujitsu Ltd バス有効利用方式
JPH0683715A (ja) * 1992-08-31 1994-03-25 Nec Corp メモリデータコピー方式
JPH06274441A (ja) * 1993-03-19 1994-09-30 Oki Electric Ind Co Ltd Cpuのシリアルインタフェース
JPH07105099A (ja) * 1993-10-05 1995-04-21 Nippon Telegr & Teleph Corp <Ntt> 分散メモリ保護管理装置
JPH08161259A (ja) * 1994-11-30 1996-06-21 Mitsubishi Electric Corp 直列データ受信装置及び直列データ転送装置
JPH08212179A (ja) * 1995-02-08 1996-08-20 Nec Corp マルチプロセッサシステム用データ通信装置
JPH08314854A (ja) * 1995-05-17 1996-11-29 Hitachi Ltd データ転送システムおよびこれに関連する装置
JPH09305549A (ja) * 1996-05-21 1997-11-28 Fujitsu Ltd マルチcpuシステムのデータ処理方法
JPH10207834A (ja) * 1997-01-17 1998-08-07 Mitsubishi Electric Corp シリアル入出力回路
JPH1153338A (ja) * 1997-08-08 1999-02-26 Mitsubishi Electric Corp 半導体集積回路およびその半導体集積回路における外部バスモード選択方法
JP2000010685A (ja) * 1998-06-19 2000-01-14 Hitachi Ltd 画像入出力装置およびその画像入出力装置用ケーブル
JP2000207171A (ja) * 1999-01-18 2000-07-28 Nec Ic Microcomput Syst Ltd スタ―トポイントのサ―チ方法とその装置

Similar Documents

Publication Publication Date Title
JP2011170868A (ja) 改善された計算アーキテクチャ用パイプライン加速器、関連システム、並びに、方法
US11386025B2 (en) Daisy chain complex commands
JP2008181551A (ja) ベクトルレジスタを備えたコンピュータにおけるベクトルテールゲーティング
US20060047754A1 (en) Mailbox interface between processors
US6360307B1 (en) Circuit architecture and method of writing data to a memory
CN114518902A (zh) 一种内存定序器系统和应用该系统的内存定序方法
US6643749B2 (en) Interface for multi-processor
EP1588276A1 (en) Processor array
US20060140047A1 (en) Apparatus, system and method for generating self-generated strobe signal for peripheral device
JP2002152020A (ja) パルス信号生成装置
JPH057738B2 (ja)
JP2008135047A (ja) マルチプロセッサ用インタフェース
US6961280B1 (en) Techniques for implementing address recycling in memory circuits
JP2003208788A (ja) 2ポートメモリによるバッファ
JP6493044B2 (ja) マルチプロセッサシステム
JP5126010B2 (ja) メモリアクセス制御回路及び画像処理装置
JP2002229966A (ja) マルチプロセッサ用インタフェース
JP2004071103A (ja) 自己同期型fifoメモリ装置
JPS59178667A (ja) メモリ装置
JP4826403B2 (ja) 同期化回路
JP4438276B2 (ja) データ転送装置
JP2005235216A (ja) ダイレクト・メモリ・アクセス制御
JP2003196972A (ja) メモリ装置
JP4149345B2 (ja) データ転送制御装置および該データ転送制御装置を備えるデータ駆動型プロセッサ
JPH10112178A (ja) Fifoメモリおよびその製造方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

A02 Decision of refusal

Effective date: 20110222

Free format text: JAPANESE INTERMEDIATE CODE: A02