JPH10134013A - マルチcpuシステム - Google Patents

マルチcpuシステム

Info

Publication number
JPH10134013A
JPH10134013A JP29138796A JP29138796A JPH10134013A JP H10134013 A JPH10134013 A JP H10134013A JP 29138796 A JP29138796 A JP 29138796A JP 29138796 A JP29138796 A JP 29138796A JP H10134013 A JPH10134013 A JP H10134013A
Authority
JP
Japan
Prior art keywords
data
data transfer
main cpu
cpu
address
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
JP29138796A
Other languages
English (en)
Inventor
Kanzo Noda
完三 野田
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP29138796A priority Critical patent/JPH10134013A/ja
Publication of JPH10134013A publication Critical patent/JPH10134013A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 メインCPUからサブCPUへとデータやプ
ログラムを転送する際における処理時間が少なくて済
み、データ転送の高速化を容易に実現することが可能な
マルチCPUシステムを提供する。 【解決手段】 本発明にかかるマルチCPUシステム
は、メインCPU11及びサブCPU21aを備えてお
り、共有メモリ23aを介したうえでCPU11,21
a同士間のデータ受け渡しを実行するデータ転送制御方
式とされたものであり、メインCPU11のメモリ12
からのデータ読み出し動作の開始を検出して共有メモリ
23aへのデータ書き込み動作の開始を指示する動作制
御手段38aを備えている。なお、マルチCPUシステ
ムが、動作制御手段38aとともに、メインCPU11
のメモリ12からのデータ読み出し動作を制御する読み
出し制御手段14を備えていてもよい。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はマルチCPUシステ
ムにかかり、特には、メインCPUからサブCPUへの
データ転送制御方式に関する。
【0002】
【従来の技術】マルチCPUシステムのうちには1つの
メインCPUと複数のサブCPUとを具備して構成され
たものがあり、このマルチCPUシステムにおいては、
メインCPUでもって各サブCPUの実行を制御すると
ともに、共有メモリなどの通信手段を介したうえでコマ
ンドやステータス、データなどの制御情報を受け渡すこ
とが行われている。なお、ここでの共有メモリは、サブ
CPUにおけるプログラムや辞書データ、画像データ、
音声データなどを転送する際にも使用されることにな
る。そして、このようなデータ転送制御方式を有するマ
ルチCPUシステムとしては、図1でシステムの全体構
成を示し、図2でメインCPU及びサブCPUそれぞれ
のメモリマップを示すとともに、図12で共有RAM制
御部の構成を示しており、かつ、図13のフローチャー
トでメインCPUからサブCPU(0)へのデータ転送
の手順を、また、図14でデータ転送時のタイムチャー
トを示すようなものがある。
【0003】ところで、これらの図中における符号1は
メインCPUブロック、2a,2bのそれぞれはサブC
PU(0)ブロック及びサブCPU(1)ブロック、3
はメインCPUバス、11はメインCPU、12はメモ
リとしてのRAM、13はROM、21aはサブCPU
(0)、21bはサブCPU(1)、22a,22bは
共有RAM制御部、23a,23bは共有メモリである
ところの共有RAM、24a,24bはROM、25
a,25bはRAM、26a,26bはサブCPUバ
ス、27a,27bは共有RAMバスを示している一
方、31aはコマンドレジスタ、32aはステータスレ
ジスタ、33aはメインアクセス検出回路、34aはサ
ブアクセス検出回路、35aはOR回路、36aはバス
選択回路、37aは共有RAMアクセス許可フラグを示
している。
【0004】このマルチCPUシステムは、図1で示す
ように、1つのメインCPUブロック1と2つのサブC
PUブロック、つまり、サブCPU(0)ブロック2a
及びサブCPU(1)ブロック2bとを備えている。そ
して、サブCPU(0)ブロック2aの共有RAM23
aは、図2のメモリマップで示すように、サブCPU
(0)21aからアクセスする場合にはサブCPU
(0)21aのメモリ空間上のアドレス領域(200000〜
2FFFFF)に対して割り付けられ、また、メインCPU1
1からアクセスする場合にはメインCPU11のメモリ
空間上のアドレス領域(800000〜8FFFFF)に対して割り
付けられることになっている。
【0005】そこで、メインCPUブロック1における
RAM12内のデータ転送用バッファからサブCPU
(0)21aの共有RAM23aへのデータ転送は、図
13のフローチャートで示す手順に従って実行される。
まず、サブCPU(0)21aへのデータ転送が必要に
なったメインCPU11は、サブCPU(0)21aの
共有RAM制御部22a内のコマンドレジスタ31aに
対し、メインCPUバス3を経由したうえでデータ転送
を指示するデータ転送コマンドを発行する(ステップS
9)。そして、サブCPU(0)21aがコマンドレジ
スタ31aからデータ転送コマンドを読み取ってメイン
CPU11からのデータ転送が行われることを検出する
と、サブCPU(0)21aは共有RAM23aのアク
セスを中止したうえでステータスレジスタ32aに対し
て共有RAMアクセス許可フラグ37aをセットする
(ステップS10)。
【0006】さらに、共有RAMアクセス許可フラグ3
7aはバス選択回路36aに対するバスセレクト信号と
して入力されることになり、バス選択回路36aはメイ
ンCPUバス3を選択したうえで共有RAMバス27a
に接続する。一方、この際、メインCPU11は、ステ
ータスレジスタ32aを読み取って共有RAMアクセス
許可フラグ37aがセットされたことを確認する(ステ
ップS11)。その結果、メインCPU11の共有RA
M23aに対するアクセスが可能となり、メインCPU
11がアドレス領域(800000〜8FFFFF)を選択して特定
すると、共有RAM23aが選択されたことになる。
【0007】引き続いてデータ転送処理が開始されるこ
とになり、メインCPU11は、図2のメモリマップで
示したRAM12内のデータ転送用バッファからアドレ
ス領域(200000〜2FFFFF)のデータを1ワード単位で読
み出したうえ(ステップS12)、読み出したデータを
アドレス領域(800000〜8FFFFF)の共有RAM23aに
対して書き込むことを実行する(ステップS13)。つ
まり、ここでは、メインCPUバス3及び共有RAMバ
ス27a上における1ワード単位のデータ転送を示す図
14のタイムチャートからも明らかなように、RAM1
2内のデータ転送用バッファにおける200000番地のデー
タを共有RAM23aの800000番地に対して転送するこ
とが行われる。そして、この際、メインCPUバス3で
は、バスクロック信号BCLKに基づき、T1及びT2
の2クロックサイクルでもってメモリアクセスなどのバ
スサイクルが実行される。
【0008】その後、ステップS12及びステップS1
3を繰り返し実行することによって必要数のデータ転送
が終了したことを確認し(ステップS14)、コマンド
レジスタ31aに対して転送終了コマンドを発行する
(ステップS15)。そして、サブCPU(0)21a
がコマンドレジスタ31aを読み取って転送終了コマン
ドを検出すると(ステップS16)、サブCPU(0)
21aはステータスレジスタ32aの共有RAMアクセ
ス許可フラグ37aをリセットする(ステップS1
7)。なお、ここでは、メインCPU11とサブCPU
(0)21aとの間におけるデータ受け渡しの手順を述
べているが、メインCPU11とサブCPU(1)21
bとの間におけるデータ受け渡しの手順も同様となる。
【0009】
【発明が解決しようとする課題】ところで、前記従来構
成のマルチCPUシステムにおけるメインCPU11か
らサブCPU(0)21aの共有RAM23aへのデー
タ転送を実行するに際しては、RAM12からの読み出
し(ステップS12)とともに、共有RAM23aヘの
書き込み(ステップS13)という2つの命令ステップ
が必要であり、命令フェッチやループ命令実行などを除
いた実際の1ワード単位のデータ転送が、データ転送用
バッファリード及び共有RAMライトの2バスサイクル
(=4クロックサイクル)でもって行われている。その
ため、プログラムのダウンロードや画像データの転送な
どのような大量のデータ転送を実行する際にも、データ
の転送に長時間を要することが避けられず、メインCP
U11からサブCPU(0)21aへのデータ転送を高
速化できないという不都合が生じていた。
【0010】本発明は、このような不都合に鑑みて創案
されたものであり、メインCPUからサブCPUへとデ
ータやプログラムを転送する際における処理時間が少な
くて済み、データ転送の高速化を容易に実現することが
可能なマルチCPUシステムの提供を目的としている。
【0011】
【課題を解決するための手段】本発明の請求項1にかか
るマルチCPUシステムは、メインCPU及びサブCP
Uを備えており、共有メモリを介したうえでCPU同士
間のデータ受け渡しを実行するデータ転送制御方式とさ
れたものであって、メインCPUのメモリからのデータ
読み出し動作の開始を検出して共有メモリへのデータ書
き込み動作の開始を指示する動作制御手段を備えてい
る。そして、本発明の請求項2にかかるマルチCPUシ
ステムは、請求項1に記載されたものであり、共有メモ
リの書き込みアドレスを指定するアドレス指定手段を備
えている。また、本発明の請求項3にかかるマルチCP
Uシステムは、請求項2に記載されたものであって、共
有メモリへのデータ転送数を指定する転送数指定手段を
備えている。
【0012】本発明の請求項4にかかるマルチCPUシ
ステムは、メインCPU及びサブCPUを備えており、
かつ、共有メモリを介したうえでCPU同士間のデータ
受け渡しを実行するデータ転送制御方式とされたもので
あり、メインCPUのメモリからのデータ読み出し動作
を制御する読み出し制御手段と、この読み出し制御手段
の動作開始を検出して共有メモリへのデータ書き込み動
作の開始を指示する動作制御手段とを備えている。そし
て、本発明の請求項5にかかるマルチCPUシステム
は、請求項4に記載されたものであり、共有メモリの書
き込みアドレスを指定するアドレス指定手段を備えてい
る。また、本発明の請求項6にかかるマルチCPUシス
テムは、請求項5に記載されたものであって、共有メモ
リへのデータ転送数を指定する転送数指定手段を備えて
いる。
【0013】
【発明の実施の形態】以下、本発明にかかる実施の形態
を図面に基づいて説明する。
【0014】(実施の形態1)図1は本実施の形態にか
かるマルチCPUシステムの全体構成を示すブロック
図、図2はメインCPU及びサブCPUのメモリマップ
を示す説明図、図3は共有RAM制御部の構成を示すブ
ロック図、図4はデータ転送検出回路の構成を示すブロ
ック図、図5はメインCPUからサブCPU(0)への
データ転送の手順を示すフローチャートであり、図6は
データ転送時のタイムチャートである。そして、これら
の図における符号4は内部バス、12はメインCPU1
1のメモリであるRAM、23a,23bのそれぞれは
共有メモリであるところの共有RAM、38aはデータ
転送検出回路、41aはデータバッファアクセス検出回
路、42aはAND回路、43aは遅延回路、44aは
OR回路、45aはCMSEL2信号である。なお、マ
ルチCPUシステム及び共有RAM制御部の構成と、メ
インCPU及びサブCPUのメモリマップとは、従来の
形態と基本的に異ならないので、図1ないし図3につい
ては同一図面を用いることとし、図4ないし図6におい
て図12ないし図14と互いに共通する部品、部分には
同一符号を付している。
【0015】このマルチCPUシステムは、従来の形態
と同じく、図1で示すように、1つのメインCPUブロ
ック1と、サブCPU(0)ブロック2a及びサブCP
U(1)ブロック2bとを備えている。そして、サブC
PU(0)ブロック2aの共有RAM23aは、図2の
メモリマップで示すように、サブCPU(0)21aか
らアクセスする場合にはサブCPU(0)21aのメモ
リ空間上のアドレス領域(200000〜2FFFFF)に割り付け
られ、また、メインCPU11からアクセスする場合に
はメインCPU11のメモリ空間上のアドレス(800000
〜8FFFFF)に割り付けられることになっている。
【0016】そこで、メインCPUブロック1における
RAM12内のデータ転送用バッファからサブCPU
(0)21aの共有RAM23aへのデータ転送は、図
5のフローチャートで示す手順に従って実行される。ま
ず、サブCPU(0)21aへのデータ転送が必要にな
ったメインCPU11は、サブCPU(0)21aの共
有RAM制御部22a内のコマンドレジスタ31aに対
し、メインCPUバス3を経由したうえでデータ転送を
指示するデータ転送コマンドを発行する(ステップS
1)。そして、サブCPU(0)21aがコマンドレジ
スタ31aからデータ転送コマンドを読み取ってメイン
CPU11からのデータ転送が行われることを検出する
と、サブCPU(0)21aは共有RAM23aのアク
セスを中止したうえでステータスレジスタ32aに対し
て共有RAMアクセス許可フラグ37aをセットする
(ステップS2)。
【0017】さらに、共有RAMアクセス許可フラグ3
7aはバス選択回路36aに対してバスセレクト信号と
して入力されることになり、バス選択回路36aはメイ
ンCPUバス3を選択したうえで共有RAMバス27a
に接続する。そこで、メインCPU11は、ステータス
レジスタ32aを読み取って共有RAMアクセス許可フ
ラグ37aがセットされたことを確認する(ステップS
3)。その結果、メインCPU11の共有RAM23a
に対するアクセスが可能となり、メインCPU11がア
ドレス領域(800000〜8FFFFF)を選択して特定すると、
共有RAM23aが選択されたことになる。すなわち、
ここまでのステップは、従来の形態と同じである。
【0018】引き続いてデータ転送処理が開始されるこ
とになり、メインCPU11は、図2のメモリマップで
示したRAM12内のデータ転送用バッファからアドレ
ス領域(200000〜2FFFFF)のデータを1ワード単位で読
み出したうえ、読み出したデータをアドレス領域(8000
00〜8FFFFF)の共有RAM23aに対して書き込むこと
を実行する(ステップS4)。そして、この際には、R
AM12内のデータ転送用バッファからデータを読み出
す動作が開始されたことをデータ転送検出回路38aが
検出し、かつ、このデータ転送検出回路38aから内部
バス4を経由したうえでバス選択回路36aに対して出
力される制御信号に基づき、共有RAM23aへのデー
タの書き込み動作を同時的に開始することが指示され
る。すなわち、ここでのデータ転送検出回路38aは、
メインCPU11のメモリであるRAM12からのデー
タ読み出し動作の開始を検出したうえで共有メモリであ
るサブCPU(0)21aの共有RAM23aに対する
データ書き込み動作の開始を指示する動作制御手段とし
て機能している。このような手順に従って共有RAM2
3aに対して読み取りデータが書き込まれてしまうと、
1ワード単位のデータ転送は終了することになる。
【0019】その後、ステップ4の動作を繰り返して実
行し、必要数のデータ転送が終了したことが確認される
と(ステップS5)、コマンドレジスタ31aに対して
転送終了コマンドを発行することが行われる(ステップ
S6)。そして、サブCPU(0)21aがコマンドレ
ジスタ31aを読み取って転送終了コマンドを検出する
と(ステップS7)、サブCPU(0)21aはステー
タスレジスタ32aの共有RAMアクセス許可フラグ3
7aをリセットすることになり(ステップS8)、メイ
ンCPU11からサブCPU(0)21aへのデータ転
送が終了する。なお、ここでは、メインCPU11とサ
ブCPU(0)21aとの間におけるデータ受け渡しの
手順を述べているが、メインCPU11とサブCPU
(1)21bとの間におけるデータ受け渡しの手順も同
様となる。
【0020】つぎに、図4及び図6に基づき、図5で示
したフローチャートのステップ4における1ワード単位
のデータ転送を詳しく説明する。なお、図6はメインC
PUバス3及び共有RAMバス27a上における1ワー
ド単位のデータ転送を示すタイムチャートであり、この
図6はRAM12内のデータ転送用バッファにおける20
0000番地のデータを共有RAM23aの200000番地に対
して転送する際の状態を示している。
【0021】まず、メインCPU11が200000番地の読
み出しを開始すると、データ転送検出回路38a内のデ
ータバッファアクセス検出回路41aによってデータ転
送用バッファからの読み出し動作が開始されたことが検
出されることになり、このデータバッファアクセス検出
回路41aからの出力55aがアクティブになる。そし
て、メインCPUバス3のREAD信号がアクティブに
なると、AND回路42aから出力されて図3中のOR
回路35aに入力するCMSEL2信号45aがアクテ
ィブとなる結果、バス選択回路36aがイネーブルとな
る。また、この際、AND回路42aから出力されたC
MSEL2信号45aは、遅延回路43a及びOR回路
44aを経由し、かつ、内部バス4を経由したうえでB
WRITE信号としてバス選択回路36aに対して出力
される。
【0022】そこで、バス選択回路36aにおいてはB
WRITE信号がイネーブル状態で入力されていること
になり、メインCPUバス3上のデータ及びアドレス信
号と共有RAM23aへの書き込み信号であるCMWR
信号とを共有RAMバス27a上に出力したうえ、共有
RAM23aへのデータ書き込み動作が開始される。な
お、ここでは、メインCPUバス3上のアドレス信号を
そのまま共有RAM23aへの書き込みアドレスを指定
する信号として用いているため、図6のタイムチャート
で示すように、メインCPU11のRAM12内のデー
タ転送用バッファにおける200000番地の内容はサブCP
U(0)21aの200000番地に対して、また、メインC
PU11の2FFFFF番地の内容はサブCPU(0)21a
の2FFFFF番地に対して書き込まれる。
【0023】すなわち、この際におけるメインCPUバ
ス3では、バスクロック信号BCLKに基づいたうえ、
T1及びT2の2クロックサイクルでもってメモリアク
セスなどのバスサイクルが実行されていることになり、
メインCPU11からサブCPU(0)21aへのデー
タ転送、つまり、命令フェッチやループ命令実行などを
除いた実際の1ワード単位のデータ転送は、データ転送
用バッファリードの1バスサイクル(=2クロックサイ
クル)で行われている。そのため、本実施の形態を採用
した際には、データ転送処理に要する時間が半分に短縮
されることになり、命令フェッチやループ実行時間など
を加算したとしても、従来の形態を採用した場合に比べ
てプログラムなどのデータ転送時間の大幅な短縮が図れ
ることになる。
【0024】(実施の形態2)図7は実施の形態2にか
かる共有RAM制御部が備えるデータ転送検出回路の構
成を示すブロック図、図8はデータ転送検出回路におけ
るアドレスレジスタ回路の構成を示すブロック図であ
り、図7は図4と対応している。そして、これらの図に
おける符号46aはアドレスレジスタ回路、47aはア
ドレス選択回路、48aはアドレスレジスタ出力、49
aはアドレスレジスタを示しており、これらによって
は、共有メモリとして機能する共有RAM23aにおけ
る書き込みアドレスを指定するためのアドレス指定手段
が構成されている。
【0025】実施の形態1では、メインCPUバス3上
のアドレス信号をそのまま共有RAM23aへの書き込
みアドレス信号として用いることが行われており、メイ
ンCPU11のRAM12内におけるデータ転送用バッ
ファのアドレスと共有RAM23aのアドレスとが互い
に1対1で対応しているため、共有RAM23aの特定
されたアドレスに対するデータ転送を行う際には、書き
込むべきアドレスに対応して特定されたデータ転送用バ
ッファのアドレスに対してデータを用意しておく必要が
あることになってしまう。そこで、この実施の形態2に
おいては、共有RAM23aのアドレスを指定可能なア
ドレスレジスタ49aを設けたうえ、任意のアドレスに
対するデータ転送を可能とすることが行われている。
【0026】すなわち、この実施の形態2にかかるマル
チCPUシステムが備えるメインCPU11からサブC
PU(0)21aへとデータを転送する際、メインCP
U11は、前記したステップS1からステップS3の手
順に従ったうえでサブCPU(0)21aから共有RA
M23aに対するアクセスの許可を得ることになり、ア
クセスの許可を得たうえでのデータ転送処理がステップ
S4で実行されることになる。まず、データ転送を行う
メインCPU11は、アドレスレジスタ回路46a内の
アドレスレジスタ49aに対してデータ転送先である共
有RAM23aにおける任意のアドレスを特定してセッ
トした後、RAM12内のデータ転送用バッファからデ
ータを1ワード単位ずつ読み出す。そして、この際に
は、RAM12内のデータ転送用バッファからデータを
読み出す動作が開始されたことをデータ転送検出回路3
8aのデータバッファアクセス検出回路41aが検出
し、バス選択回路36aに対して共有RAM23aへの
書き込み動作を開始するよう指示する。
【0027】また、同時に、データバッファアクセス検
出回路41aからは、アドレスレジスタ49aの出力4
8aを内部バス4へ出力するようアドレス選択回路47
aに対してアドレスセレクト信号55aが出力される。
その結果、アドレスレジスタ49aの内容が共有RAM
バス27a上のアドレス信号として出力されることにな
り、これらのアドレス信号によって指定された共有RA
M23aのアドレスに対して読み出しデータを書き込む
動作が行われた後、1ワード単位のデータ転送が終了す
る。さらに、1ワード単位のデータの書き込み動作が終
了すると、アドレスレジスタ46aの内容はCMSEL
2信号45aによってカウントアップされることにな
り、次のアドレスが指定される。そこで、データ転送用
バッファからの読み出し動作を繰り返したうえ、必要数
のデータ転送が終了したことが確認されると、メインC
PU11は前記したステップS5からステップS8の手
順に従ってデータ転送処理を終了する。そして、このよ
うな実施の形態2にかかる構成を採用した際には、共有
RAM23aにおける任意のアドレス領域へのデータ転
送が可能となる。
【0028】(実施の形態3)図9は実施の形態3にか
かるアドレスレジスタ回路の構成を示すブロック図であ
り、この図9は図8と対応している。そして、この図9
における符号51aはアドレスレジスタ、53aは転送
長レジスタ、52a,54aのそれぞれはカウンタを示
しており、これらによっては共有メモリへのデータ転送
数を指定するための転送数指定手段が構成されている。
【0029】この実施の形態3にかかるマルチCPUシ
ステムは、共有RAM23aへのデータ転送を実行する
に際し、転送先の共有メモリである共有RAM23aへ
の書き込みアドレスとともに、転送されるデータのデー
タ長を指定しうる構成とされたものであり、共有RAM
23aの特定されたアドレス領域へ繰り返してデータを
転送する際におけるメインCPU11の処理を簡単化す
ることが可能となる。すなわち、この実施の形態3で
は、データ転送が必要になると、メインCPU11が共
有RAM23aに対するアクセスの許可を得たうえで実
際のデータ転送処理を実行することになり、メインCP
U11は、図9で示すアドレスレジスタ回路46a内の
アドレスレジスタ51aに対してデータ転送先である共
有RAM23aにおける任意のアドレスを特定してセッ
トするとともに、転送長レジスタ53aに対して1ワー
ド単位のデータが有するデータ長をセットする。
【0030】その後、メインCPU11はRAM12内
のデータ転送用バッファからデータを1ワード単位ずつ
読み出すことになり、データ読み出し動作が開始された
ことをデータ転送検出回路38aのデータバッファアク
セス検出回路41aが検出したうえ、このデータバッフ
ァアクセス検出回路41aからバス選択回路36aに対
して共有RAM23aへの書き込み動作を開始するよう
指示される。そこで、共有RAM23aに対する読み出
しデータの書き込み動作が実行されることになり、1ワ
ード単位のデータ転送が終了する。そして、この際に
は、実施の形態2と同じく、アドレスレジスタ49aの
内容が共有RAMバス27a上のアドレス信号として出
力され、かつ、これらのアドレス信号によって指定され
た共有RAM23aのアドレスに対して読み出しデータ
を書き込むことが実行されるとともに、アドレスレジス
タ51aに指定されていたアドレスがカウンタ52aに
対してロードされたうえでアドレス選択回路47aによ
ってカウンタ出力が選択されることになり、また、転送
長レジスタ53aの内容をカウンタ54aにロードする
ことが行われる。
【0031】このようにして1ワード単位のデータの書
き込み動作が終了すると、カウンタ52aの内容はカウ
ントアップされる一方、カウンタ54aの内容はカウン
トダウンされることになり、次のアドレスが指定され
る。そして、引き続き、RAM12内のデータ転送用バ
ッファからの読み出し動作を繰り返したうえ、必要数の
データ転送、つまり、転送長レジスタ53aにセットさ
れていた数のデータ転送が終了すると、カウンタ54a
の内容が“0”となり、かつ、ZERO出力がアクティ
ブとなる結果、カウンタ52aに対してはアドレスレジ
スタ51aの内容がリロードされる一方、カウンタ54
aには転送長レジスタ53aの内容がリロードされるこ
とになる。そのため、次回からはアドレス指定を行う必
要がなくなり、共有RAM23aの同一アドレス領域に
対するデータ転送が可能となる。なお、このような構成
を採用した際には、同一アドレス領域に対して繰り返し
データ転送される画像処理データなどのような処理が容
易になるという利点がある。さらに、必要数のデータ転
送が終了したことが確認されると、メインCPU11は
データ転送処理を終了する。
【0032】(実施の形態4)図10は実施の形態4に
かかるマルチCPUシステムの全体構成を示すブロック
図、図11はメモリ読み出し制御部の構成を示すブロッ
ク図であり、これらの図における符号14はメモリ読み
出し制御部を示している。そして、このメモリ読み出し
制御部14は、データ転送用バッファからの読み出しア
ドレスを設定するアドレスレジスタ61と、メモリ読み
出し動作の起動及び終了を制御するためのコマンドレジ
スタ62と、読み出しアドレスのカウントアップを行う
カウンタ63と、メインCPUバス3を制御することに
よってメモリ読み出し動作を実行するメモリ読み出し制
御回路64と、転送されるデータのデータ長を指定する
転送長レジスタ65とから構成されている。なお、マル
チCPUシステムの全体構成及び基本的な動作は実施の
形態1ないし3と異ならないので、ここでの詳しい説明
は省略することとし、図10及び図11において図1な
いし図9と互いに共通する部品、部分には同一符号を付
している。
【0033】すなわち、実施の形態1ないし3にかかる
マルチCPUシステムがRAM12のデータ転送用バッ
ファからの読み出し動作をメインCPU11のプログラ
ムによって実行する構成であったのに対し、読み出し制
御回路14が設けられた実施の形態4にかかるマルチC
PUシステムでは、メインCPU11での読み出し時の
命令フェッチ時間及びループ実行時間が不要となるデー
タ転送制御方式を採用することが行われている。本実施
の形態にかかるマルチCPUシステムが備えるメインC
PU11からサブCPU(0)21aへのデータ転送が
必要になると、メインCPU11は共有RAM23aに
対するアクセスの許可を得たうえで実際のデータ転送処
理を実行することになり、メインCPU11はメインC
PUバス3を経由したうえでメモリ読み出し制御部14
のアドレスレジスタ61に対して転送元であるRAM1
2におけるデータ転送用バッファの所定アドレスをセッ
トし、かつ、転送長レジスタ65に対して転送されるデ
ータのデータ長をセットした後、コマンドレジスタ62
に対してRAM12からのデータ読み出し動作の開始を
指示するデータ転送コマンドを発行する。
【0034】一方、メモリ読み出し制御部64は、デー
タ転送コマンドによってデータ読み出し動作の開始が指
示されると、メインCPUバス3のバスアクセス権を獲
得してメインCPU11をHALT状態にした後、アド
レスレジスタ61にセットされたアドレスに従ってRA
M12のデータ転送用バッファから1ワード単位のデー
タを読み出すことになる。そして、この際におけるメモ
リ読み出し制御部64の読み出しサイクルは、メインC
PU11による読み出しサイクルと同様、バスクロック
信号BCLKに基づいた2クロックサイクルでもって実
行されるので、共有RAM制御部22aによっては実施
の形態1と同様な動作に従ったうえでの共有RAM23
aに対する書き込み動作が行われる。
【0035】さらに、このような手順に従って1ワード
単位の読み取りデータが書き込まれてしまうと、カウン
タ63がカウントアップすることになり、次のアドレス
を読み出したうえで書き込む動作が実行される。その
後、転送すべきデータの読み出し及び書き込み動作を繰
り返して実行したうえ、転送長レジスタ65にセットさ
れていた所定数のデータ転送が終了すると、データ転送
処理が終了したことになり、メモリ読み出し制御回路6
4がメインCPUバス3を開放する結果、メインCPU
11が再び動作可能となる。そして、このような実施の
形態4にかかる構成を採用した際には、メインCPU1
1での読み出し時の命令フェッチ時間及びループ実行時
間が不要となるため、実施の形態1にかかる構成を採用
した場合よりもデータ転送を高速化しうることになる。
なお、ここでは、メインCPU11とサブCPU(0)
21aとの間におけるデータ受け渡し手順を述べている
が、メインCPU11とサブCPU(1)21bとの間
におけるデータ受け渡しの手順も同様となる。
【0036】ところで、実施の形態4にかかるマルチC
PUシステムにおいて、図7及び図8で示した実施の形
態2と同様、サブCPU(0)ブロック2aの共有RA
M制御部22aを構成するデータ転送検出回路38aに
対し、共有メモリである共有RAM23aの書き込みア
ドレスを指定するためのアドレス指定手段として機能す
るアドレスレジスタ回路46a、アドレス選択回路47
aなどを設けておいてもよく、このような構成を採用し
た際には、共有RAM23aにおける任意のアドレス領
域へのデータ転送が可能になる。さらにまた、図9で示
した実施の形態3と同じく、共有メモリへのデータ転送
数を指定する転送数指定手段として機能するためのアド
レスレジスタ51aや転送長レジスタ53aなどを設け
ておくことも可能であり、このような構成を採用した際
には、次回からのアドレス指定を行う必要がなくなる結
果として共有RAM23aの同一アドレス領域に対する
データ転送が容易になるという利点が得られる。
【0037】
【発明の効果】以上説明したように、本発明にかかるマ
ルチCPUシステムによれば、メインCPUのメモリか
らのデータ読み出し動作の開始を検出して共有メモリへ
のデータ書き込み動作の開始を指示する動作制御手段を
設けており、読み出し動作の開始に伴って書き込み動作
を開始するので、従来の形態におけるような2つの命令
ステップを必要とすることがなくなり、データ転送の高
速化を容易に実現できるという効果が得られる。そし
て、共有メモリの書き込みアドレスを指定するアドレス
指定手段を設けてもよく、アドレス指定手段を設ける
と、共有メモリにおける任意のアドレス領域に対するデ
ータ転送が可能になるという利点が得られる。
【0038】また、共有メモリへのデータ転送数を指定
する転送数指定手段を設けておくことも可能であり、転
送数指定手段を設けておけば、共有メモリの同一アドレ
ス領域に対して繰り返しデータ転送を行うことができ
る。さらに、メインCPUのメモリからのデータ読み出
し動作を制御する読み出し制御手段を設けておいてもよ
く、読み出し制御手段を設けた際には、メインCPUで
の読み出し時の命令フェッチ時間及びループ実行時間が
不要となる結果、データ転送のより一層の高速化を図る
ことができるという効果が得られる。
【図面の簡単な説明】
【図1】実施の形態1〜3及び従来の形態にかかるマル
チCPUシステムの全体構成を示すブロック図である。
【図2】実施の形態1〜3及び従来の形態にかかるメイ
ンCPU及びサブCPUのメモリマップを示す説明図で
ある。
【図3】実施の形態1〜3にかかる共有RAM制御部の
構成を示すブロック図である。
【図4】実施の形態1にかかるデータ転送検出回路の構
成を示すブロック図である。
【図5】実施の形態1〜3にかかるメインCPUからサ
ブCPU(0)へのデータ転送の手順を示すフローチャ
ートである。
【図6】実施の形態1〜3にかかるデータ転送時のタイ
ムチャートである。
【図7】実施の形態2にかかるデータ転送検出回路の構
成を示すブロック図である。
【図8】実施の形態2にかかるアドレスレジスタ回路の
構成を示すブロック図である。
【図9】実施の形態3にかかるアドレスレジスタ回路の
構成を示すブロック図である。
【図10】実施の形態4にかかるマルチCPUシステム
の全体構成を示すブロック図である。
【図11】実施の形態4にかかるメモリ読み出し制御部
の構成を示すブロック図である。
【図12】従来の形態にかかる共有RAM制御部の構成
を示すブロック図である。
【図13】従来の形態にかかるメインCPUからサブC
PU(0)へのデータ転送の手順を示すフローチャート
である。
【図14】従来の形態にかかるデータ転送時のタイムチ
ャートである。
【符号の説明】 1 メインCPUブロック 2a サブCPUブロック 11 メインCPU 12 RAM(メモリ) 14 メモリ読み出し制御部(読み出し制御手段) 21a サブCPU 23a 共有RAM(共有メモリ) 38a データ転送検出回路(動作制御手段)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】メインCPU及びサブCPUを備えてお
    り、共有メモリを介したうえでCPU同士間のデータ受
    け渡しを実行するデータ転送制御方式のマルチCPUシ
    ステムであって、 メインCPUのメモリからのデータ読み出し動作の開始
    を検出して共有メモリへのデータ書き込み動作の開始を
    指示する動作制御手段を備えていることを特徴とするマ
    ルチCPUシステム。
  2. 【請求項2】請求項1記載のマルチCPUシステムであ
    って、 共有メモリの書き込みアドレスを指定するアドレス指定
    手段を備えていることを特徴とするマルチCPUシステ
    ム。
  3. 【請求項3】請求項2記載のマルチCPUシステムであ
    って、 共有メモリへのデータ転送数を指定する転送数指定手段
    を備えていることを特徴とするマルチCPUシステム。
  4. 【請求項4】メインCPU及びサブCPUを備えてお
    り、共有メモリを介したうえでCPU同士間のデータ受
    け渡しを実行するデータ転送制御方式のマルチCPUシ
    ステムであって、 メインCPUのメモリからのデータ読み出し動作を制御
    する読み出し制御手段と、この読み出し制御手段の動作
    開始を検出して共有メモリへのデータ書き込み動作の開
    始を指示する動作制御手段とを備えていることを特徴と
    するマルチCPUシステム。
  5. 【請求項5】請求項4記載のマルチCPUシステムであ
    って、 共有メモリの書き込みアドレスを指定するアドレス指定
    手段を備えていることを特徴とするマルチCPUシステ
    ム。
  6. 【請求項6】請求項5記載のマルチCPUシステムであ
    って、 共有メモリへのデータ転送数を指定する転送数指定手段
    を備えていることを特徴とするマルチCPUシステム。
JP29138796A 1996-11-01 1996-11-01 マルチcpuシステム Pending JPH10134013A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29138796A JPH10134013A (ja) 1996-11-01 1996-11-01 マルチcpuシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29138796A JPH10134013A (ja) 1996-11-01 1996-11-01 マルチcpuシステム

Publications (1)

Publication Number Publication Date
JPH10134013A true JPH10134013A (ja) 1998-05-22

Family

ID=17768264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29138796A Pending JPH10134013A (ja) 1996-11-01 1996-11-01 マルチcpuシステム

Country Status (1)

Country Link
JP (1) JPH10134013A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100310298B1 (ko) * 1999-07-09 2001-11-03 오길록 데이터 전송 제어 회로

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100310298B1 (ko) * 1999-07-09 2001-11-03 오길록 데이터 전송 제어 회로

Similar Documents

Publication Publication Date Title
JP2001142842A (ja) Dmaハンドシェークプロトコル
JPH04246745A (ja) 情報処理装置及びその方法
JPH04363746A (ja) Dma機能を有するマイクロコンピュータシステム
US7240144B2 (en) Arbitration of data transfer requests
JPH10134013A (ja) マルチcpuシステム
JPH11232213A (ja) 入出力装置におけるデータ転送方式
JP2522412B2 (ja) プログラマブルコントロ―ラと入出力装置の間の通信方法
JPS592058B2 (ja) 記憶装置
JP2687716B2 (ja) 情報処理装置
JPH1185673A (ja) 共有バスの制御方法とその装置
JPS6218932B2 (ja)
JPH056333A (ja) マルチプロセサシステム
JP2547329B2 (ja) ロツクデータ設定装置
JPH0333951A (ja) マイクロコンピュータシステム
JPH06314231A (ja) 共用メモリアクセス制御方法
JPS6215645A (ja) 中央処理装置
JPS6336021B2 (ja)
JPH0454552A (ja) デュアルポートメモリアクセス方式
JPS62117056A (ja) マルチタスク処理方式
JPH1139278A (ja) プロセッサおよびメモリアクセス方法
JPH0520253A (ja) データ処理装置
JPH0784963A (ja) Cpuを有する半導体集積回路
JPS6383854A (ja) デ−タ転送回路
JPH09179717A (ja) グラフィックス装置および情報処理装置
JP2002091520A (ja) プログラマブルコントローラ及びメモリモジュール