- 締切済み
※ ChatGPTを利用し、要約された質問です(原文:1個のメモリを2個のCPUで共有する方法)
1個のメモリを2個のCPUで共有する方法について
このQ&Aのポイント
- 1個のメモリを2個のCPUで共有する方法についてご教示ください。
- メモリに画像を取り込み認識する際に、処理速度向上のために画像取り込みと認識を分けることを考えています。
- メモリを共有する際に気をつけるべきことについても教えてください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
noname#230359
回答No.4
マルチ(デュアル)ポートRAMと言うものがあります。 使用上の注意点は、一つのメモリセルに対して、片方のバス(CPU)から アクセス中は、もう一方のバスから同じメモリセルをアクセスしない ことです。 セマフォを利用したり、それぞれのCPUでアクセスの手順を取り決めしても 良しです。
noname#230359
回答No.3
MailBoxとかFIFOもあります。 http://japan.renesas.com/fmwk.jsp?cnt=special_memory_root.jsp&fp=/products/assp/peripherals_for_pc_mpumcu/special_memory/ タイミングは全て要注意です。
noname#230359
回答No.2
デュアルポートメモリーが簡単だと思いますが、思うような容量が得られない可能性と製造中止後の代替が無い可能性から、 擬似デュアルポートメモリを作るのが良いかと思います。 ひとつのメモリーに対して、2系統のバスのアクセス制御(調停)を行えば良いです。 間違っても、各CPUとメモリーのバスは共有にしないでください(笑) 処理時間を考えると、1ライン分ずつ処理する場合は回答(3)の方法が良いかもしれません。 1画面分まとめて処理しなければならない場合は、回答(3)は不向きかもしれません。結局、ワークメモリーに転送しなければならない為、余計時間がかかる可能性があります。 CPU1がメモリに画像を転送して、次の画像が転送されるまで時間があって、CPU2がそれまでに処理を行える場合、私の提案が合っている可能性があります。
noname#230359
回答No.1
私も実際には使ったことはありませんが、デュアルポートRAMというメモリがあり、watawataさんの希望する使い方にピッタリだと思います。 参考URLを掲載しました。