JPH0721137A - 通信装置及び処理装置 - Google Patents

通信装置及び処理装置

Info

Publication number
JPH0721137A
JPH0721137A JP15014993A JP15014993A JPH0721137A JP H0721137 A JPH0721137 A JP H0721137A JP 15014993 A JP15014993 A JP 15014993A JP 15014993 A JP15014993 A JP 15014993A JP H0721137 A JPH0721137 A JP H0721137A
Authority
JP
Japan
Prior art keywords
processor
read
address space
address
data
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
JP15014993A
Other languages
English (en)
Inventor
Koji Takaoka
浩二 高岡
Kazuhiro Umekita
和弘 梅北
Masatsugu Kametani
雅嗣 亀谷
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15014993A priority Critical patent/JPH0721137A/ja
Publication of JPH0721137A publication Critical patent/JPH0721137A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 共有メモリを介してのプロセッサ間通信に必
要なメモリ容量及び処理時間の資源を少なくする。 【構成】 ライト時にはアドレスレジスタ2cにDPR
のライトアドレスを、ライトデータレジスタ2bにライ
トデータをセットしDPRへアクセスする。リード時は
アドレスレジスタ2cにDPRのリードアドレスをセッ
トしてDPRにアクセスし、読みだされたデータをリー
ドデータレジスタ2eへセットし、これを取り込む。 【効果】 アドレスレジスタ2cのサイズで決まるアド
レス空間をDPRに割り付けられるから、プロセッサの
メモリ消費は少なくても十分大きな空間のDPRへアク
セスできる。またDPRがプロセッサから離れた場所に
あっても、本装置をプロセッサの近くにおけば、長距離
で時間のかかる処理は本装置とDPR間で行われるか
ら、プロセッサはその待ちの間別の処理が行え、処理効
率が向上する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、共有メモリを用いてプ
ロセッサ間通信を行うための通信装置に係わり、とくに
共有メモリ空間が大きく、またプロセッサ間の距離が長
い場合でも、共有メモリへのアクセスを効率よく行うこ
とが出来る通信装置及び処理装置に関する。
【0002】
【従来の技術】プロセッサ間通信の1つの方法として、
共有メモリのデータを共有するものがあり、例えば特開
平4−304550号公報に記載の技術がある。この従
来技術では、共有メモリエリアを各プロセッサの固有の
アドレス空間中に直接割り付け、一方のプロセッサが書
き込んだデータを他方のプロセッサが読みだすことによ
り通信を行う。また、拡張アドレス空間という、プロセ
ッサ固有のアドレス空間から独立した空間を作り出す方
法が、「システムと制御」Vol.31 No.7P500〜P5
01に記載されている。この方法は、プロセッサのアドレ
ス空間と共有メモリのアドレス空間とを直接対応させる
のではなく、プロセッサのI/Oデータを共有メモリア
ドレスとしても用い、I/Oデータで表せる空間を拡張
アドレス空間としてこれを共有メモリのアドレス空間と
対応させるもので、直接対応の場合より広い空間を通信
用に使うことができる。
【0003】
【発明が解決しようとする課題】上記した特開平4−3
04550号に示された従来技術では、共有メモリ領域
がプロセッサのアドレス空間より大きいと、共有メモリ
領域の全てをプロセッサの固有のアドレス空間に割り付
けることが出来ない。また、共有メモリ領域がプロセッ
サの固有アドレス空間より小さい場合でも、共有メモリ
領域をプロセッサの固有アドレス空間にそのまま割り付
けると、プロセッサのアドレス空間を大幅に消費し、プ
ロセッサのアドレス空間に他のデバイスを割り付ける事
が出来ないことがあった。また、通信を行う2つのプロ
セッサの間の距離が長い場合、少なくとも1つのプロセ
ッサと共有メモリとの距離も長くなる。この距離が長く
なるにつれて、離れたプロセッサが共有メモリにアクセ
スする処理に時間がかかってしまい、共有メモリへのア
クセスの次に実行すべき命令の処理が遅れ、当該プロセ
ッサの処理効率が下がるという問題があった。また、拡
張アドレス空間を用いる方法では、プロセッサのメモリ
空間を使わなくても共有メモリへのアクセスが可能で、
メモリ消費という問題はないが、この方法を共有メモリ
を用いたプロセッサ間通信に応用した場合のハードウェ
ア通信プロトコル、ソフトウェア通信プロトコル等の通
信実現手段に関しては記載されていない。
【0004】本発明の目的は、拡張アドレス空間を用い
て共有メモリへアクセスできる通信装置及び処理装置を
提供するにある。
【0005】
【課題を解決するための手段】上記の目的は、デュアル
ポートメモリと、第1のプロセッサと上記デュアルポー
トメモリの一方のポートとの間に設置されプロセッサか
ら出力されたアドレス情報をラッチするアドレスラッチ
機構、プロセッサから出力されたデ−タ情報をラッチす
るデータラッチ機構、および上記アドレス情報により指
定されたデュアルポートメモリのアドレスに上記データ
情報を書き込むためのライトアクセス信号を生成するラ
イト信号生成機構を備えたインタフェース手段とを設け
ることにより達成され、また、上記インタフェース手段
に、上記アドレス情報により指定された上記デュアルポ
ートメモリのアドレスのデータを読みだすためのリード
アクセス信号を生成するリード信号生成手段と、上記リ
ードアクセス信号により上記デュアルポートメモリから
読みだされたデータをラッチするためのリードデータラ
ッチ機構とを付加することにより達成される。
【0006】
【作用】第1のプロセッサからデュアルポートメモリに
ライトアクセスするときは、アクセスしたい拡張アドレ
ス空間のアドレスをインタフェース手段のアドレスラッ
チ機構に書き込み、ライトしたいデータをライトデータ
ラッチ機構にライトし、さらにライト信号生成機構によ
り生成したライトアクセス信号によりデュアルポートメ
モリにデータをライトする。また第1のプロセッサから
リードアクセスするときは、アクセスしたい拡張アドレ
ス空間のアドレスをインタフェース手段のアドレスラッ
チ機構に書き込み、リード信号生成手段により生成され
たリードアクセス信号を出力する。これによりデュアル
ポートメモリから読みだされたデータをリードデータラ
ッチ機構へ取り込み、第1のプロセッサがこれを読む。
こうしてインタフェース手段のアドレスラッチ機構に設
定可能なアドレスエリアの大きさをもつ空間をデュアル
ポートメモリのアドレスと対応づけることで、第1のプ
ロセッサのメモリエリアを殆ど使わなくてもデュアルポ
ートメモリ及びそれと接続された第2のプロセッサとの
通信が可能となる。また第1のプロセッサとデュアルポ
ートメモリとの距離が大きくても、第1のプロセッサと
インタフェース手段との距離は十分小さくしておけば、
第1のプロセッサはインタフェース手段とのアドレス、
データ、アクセス信号などのやり取りを短時間で行え
る。そしてインタフェース手段とデュアルポートメモリ
との間のアクセスにかかる時間が長くても、その処理を
待つ間に第1のプロセッサは別の処理が行えるので、こ
のプロセッサの処理効率が向上する。
【0007】
【実施例】以下、本発明を実施例を用いて詳細に説明す
る。図2は、本発明の特徴とする拡張アドレス空間生成
回路2aを用いて、デュアルポートRAM(DPR)3
経由でプロセッサ1aとプロセッサ1bの間で通信を行
うシステムを示したものであり、図1は、拡張アドレス
空間生成回路部の一実施例である。
【0008】図1に示す拡張アドレス空間生成回路は例
えば図14、図15に示す様なハードウエア通信プロト
コルを提供する。このハードウエア通信プロトコルは拡
張アドレス空間制御用スイッチ(拡張アドレス空間用ワ
ードライトコマンドスイッチ、拡張アドレス空間用ワー
ドリードコマンドスイッチ)と拡張アドレス空間用アド
レスレジスタ、拡張アドレス空間用データレジスタ(拡
張アドレス空間用ライトデータレジスタ、拡張アドレス
空間用リードデータレジスタ)を有しており、これらを
用いることによって拡張アドレス空間を生成することが
出来る。ここで図14は拡張アドレス空間制御用スイッ
チと拡張アドレス空間用アドレスレジスタと拡張アドレ
ス空間用データレジスタとをI/Oポートに割付けた例
であり、図15は上記レジスタをメモリポートに割り付
けた例である。
【0009】ハードウェア通信プロトコルを用いてDP
R3にアクセスするプロトコルをソフトウェア通信プロ
トコルと呼ぶことにする。図3は図14に示すハードウ
ェア通信プロトコルを用いたソフトウェア通信プロトコ
ルの一例を示し、図4は、図15に示すハードウェア通
信プロトコルを用いたソフトウェア通信プロトコルの一
例を示している。以下の通信手順は、図4に示すソフト
ウェア通信プロトコルを用いるものとする。
【0010】図1において、デコーダ10の動作は、以
下の5通りである。 (1)拡張アドレス空間用アドレスレジスタ2cにライ
トアクセスが生じたとき、WY6−N出力(−Nはロー
アクティブな信号を示す)、OCS−N出力をアクティ
ブにする。 (2)拡張アドレス空間用ライトデータレジスタ2bに
ライトアクセスが生じたとき、WY0−N出力、OCS
−N出力をアクティブにする。 (3)拡張アドレス空間用リードデータレジスタ2eに
リードアクセスが生じたとき、RY0−N出力、OCS
−N出力をアクティブにする。 (4)拡張アドレス空間用ワードライトコマンドスイッ
チ(図15参照)にライトアクセスが生じたとき、WY
2−N出力、OCS−N出力をアクティブにする。
(5)拡張アドレス空間用ワードリードコマンドスイッ
チ(図15参照)にリードアクセスが生じたとき、RY
2−N出力、OCS−N出力をアクティブにする。
【0011】次に、プロセッサ1aからDPR3にライ
トアクセスするときの動作を説明する。まず、プロセッ
サ1aがアクセスすべき拡張アドレス空間のアドレスを
拡張アドレス空間用アドレスレジスタ2cにライトす
る。この動作は、図1において拡張アドレス空間用アド
レスレジスタ2cのアドレス(EADDL:3FC6)
をプロセッサ1aがA15〜A0に出力し、ライト信号
WT−Nをアクティブにし、拡張アドレス空間のアクセ
スすべきアドレスデータをD15〜D0に出力すること
により行われる。このときリード信号RD−Nは非アク
ティブ(HI)状態である。デコーダ10は上記の入力
をデコードして、WY6−N、OCS−N出力をアクテ
ィブにする。また、リード信号RD−Nは非アクティブ
であるから、データスイッチバッファ11は、そのディ
レクション入力(DIR)がHIとなり、信号はAから
B方向へ通過する。(このようなデータスイッチバッフ
ァ11の例として、例えばTTL74シリーズの245
がある。)また、WT−N、OCS−N出力がアクティ
ブであるから、データスイッチバッファ11のゲート入
力G−Nはアクティブとなって、D15〜D0信号は拡
張アドレス空間用アドレスレジスタ2cの入力に入る。
従って、プロセッサ1aのこのライトバスサイクルの終
了時までに、拡張アドレス空間のアドレスを示すデータ
が、拡張アドレス空間用アドレスレジスタ2cにラッチ
され、拡張アドレス空間のアドレス(OA15〜OA
1)としてDPR3側に出力される。
【0012】次に、拡張アドレス空間にライトしたいデ
ータを拡張アドレス空間用ライトデータレジスタ2bに
ライトする。この動作は、図1において拡張アドレス空
間用ライトデータレジスタ2bのアドレス(EDAT
A:3FC0)をプロセッサ1aがA15〜A0に出力
し、ライト信号WT−Nをアクティブにし、拡張アドレ
ス空間にライトすべきデータをD15〜D0に出力する
ことにより行われる。このとき、リード信号RD−Nは
非アクティブ状態である。デコーダ10は、上記の入力
をデコードして、WY0−N、OCS−N出力をアクテ
ィブにする。また、リード信号RD−Nは非アクティブ
であるから、データスイッチバッファ11は、そのディ
レクション入力がHIとなり、信号はAからB方向へ通
過する。また、WT−N、OCS−N出力がアクティブ
であるから、データスイッチバッファ11のゲート入力
G−Nはアクティブとなって、D15〜D0信号は拡張
アドレス空間用ライトデータレジスタ2bの入力に入
る。従って、プロセッサ1aのこのライトバスサイクル
の終了時までに、拡張アドレス空間にライトすべきデー
タが、拡張アドレス空間用ライトデータレジスタ2bに
ラッチされ、拡張アドレス空間へのライトデータ(OD
15〜OD0)としてDPR3側に出力される。また、
WY0−N出力がLOパルスを出力したとき、フリップ
フロップ(以下FFと称す)12のD入力がLO→HI
→LOとなり、FF12のQ−N出力がLOパルスを生
成する。このときFF13のQ出力(OA0)がLO
に、Q−N出力(OBHE:DPR3側に対するバスハ
イイネーブル信号)がHIにラッチされていると、これ
らはそれぞれ反転し、次の操作で拡張アドレス空間用ワ
ードライトコマンドスイッチにライトアクセスし、ワー
ドライトアクセスを指令するまで、OA0をHIに、O
BHEをLOに保つことができる。
【0013】次に、拡張アドレス空間用ワードライトコ
マンドスイッチにライトアクセスする。この動作は、図
1において拡張アドレス空間用ワードライトコマンドス
イッチのアドレス(EBSON:3FC2)をプロセッ
サ1aがA15〜A0に出力し、ライト信号WT−Nを
アクティブにすることにより行われる。このとき、リー
ド信号RD−Nは非アクティブ状態である。デコーダ1
0は、上記入力をデコードして、WY2−N、OCS−
N出力をアクティブにする。WY2−N出力がアクティ
ブとなったとき、次のように動作する。FF13のCL
R−N入力はアクティブになり、FF13のQ出力(O
A0)がHIに、Q−N出力(OBHE)がLOにラッ
チされていても(いなくても)OA0はLOに、OBH
EはHIになり、DPR3側に対してワードアクセスを
指令できる。また、OALE−N(アドレスラッチイネ
ーブル)をアクティブにし、DPR3側に対し、アドレ
スのラッチを許可する。また、FF15のD入力がLO
となるため、FF15のQ出力がLOになり、これによ
りFF16のCLR−N入力がアクティブになって、F
F16のQ−N出力(OMWT:DPR3側に対するラ
イト信号)がLOからHIに変化する。同様に、FF1
6のQ出力はLOになり、NANDゲート22のB入力
はHIとなる。
【0014】次に、拡張アドレス空間用リードデータレ
ジスタ2bをリードアクセスする。この動作は、図1に
おいて拡張アドレス空間用リードデータレジスタ2bの
アドレス(EDATA:3FC0)をプロセッサ1aが
A15〜A0に出力し、リード信号RD−Nをアクティ
ブにすることにより行われる。このとき、ライト信号W
T−Nは非アクティブ状態である。デコーダ10は、上
記入力をデコードして、RY0−N、OCS−N出力を
アクティブにする。RY0−N出力がアクティブとなっ
たとき、FF12のD入力がHIとなり、FF12のQ
−N出力はLOレベルにラッチされる。次いでリードア
クセス終了時にRY0−N出力が非アクティブとなる
と、FF12のD入力はLOとなり、FF12のQ−N
出力をHIレベルにラッチする。この動作により、FF
13のCLK入力にはLOパルスが入力される。このと
き、FF13のCLR−N入力は既に非アクティブとな
っているため、FF13のQ出力(OA0)がLOに、
Q−N出力(OBHE)がHIにラッチされていると、
これらはそれぞれ反転しOA0=HI、OBHE=LO
になる。この状態(OA0=HI、OBHE=LO)は
次に拡張アドレス空間用ワードライトコマンドスイッチ
にライトアクセスを発生して、ワードライトアクセスを
指令するまで保たれる。
【0015】ここで、プロセッサ1a側へのレディ信号
(RDY)は、アクティブの時、プロセッサ1aの動作
を進め、非アクティブの時、プロセッサ1aの動作を止
める(プロセッサ1aをウェイトさせる)信号である。
RY0−N出力がアクティブとなったとき、ANDゲー
ト21のA入力はHIになる。このとき、NANDゲー
ト22のB入力は、前手順の拡張アドレス空間用ワード
ライトコマンドスイッチへのライトアクセスによって、
HIにラッチされているから、ANDゲート21のB入
力がHIになれば、プロセッサ1a側へのレディ信号
(RDY)を非アクティブにすることができる。
【0016】一方、DPR3側からのレディ信号REA
DYは、HIアクティブ信号であり、HIのときDPR
3側がレディ状態であることを示し、LOのときDPR
3側がレディ状態でないことを示す。DPR3側がレデ
ィ状態でないとき、READY信号はLOレベルとな
り、FF20のD入力はLOレベルとなって、FF20
のQ出力はLOにラッチされる。従って、FF19のD
入力はLOとなり、FF19のQ−N出力即ちANDゲ
ート21のB入力はHIとなる。従って、プロセッサ1
a側へのレディ信号(RDY)はLOになり、プロセッ
サ1aをウェイトさせることが出来る。
【0017】また、DPR3側がレディ状態のときは、
READY信号はHIレベルとなり、FF20のD入力
はHIレベルとなって、FF20のQ出力はHIにラッ
チされる。従って、FF19のD入力はHIとなり、F
F19のQ−N出力即ちANDゲート21のB入力はL
Oになる。このときプロセッサ1a側へのレディ信号
(RDY)は、アクティブになるから、プロセッサ1a
の動作をウェイトさせずに、進めることができる。
【0018】この様に、DPR3側からREADY信号
がアクティブレベルで返ってきたとき、プロセッサ1a
側へのレディ信号(RDY)はアクティブになり、プロ
セッサ1aは動作を進めることができ、拡張アドレス空
間用リードデータレジスタ2eへのリードアクセスサイ
クルを終了する。この結果、デコーダ10はRY0−
N、OCS−N出力を非アクティブにする。RY0−N
出力が非アクティブとなったとき、FF16のCLK入
力はLOからHIになり、このときFF16のCLR−
N入力はすでに非アクティブになっているため、FF1
6のQ出力はHIにラッチされ、NANDゲート22の
B入力はLOになり、初期状態に戻る。また、このと
き、FF16のQ−N出力はLOにラッチされ、DPR
側に対するライト信号OMWTはアクティブ状態から非
アクティブ状態へ戻る。
【0019】以上のソフトウェア通信プロトコルにより
拡張アドレス空間用アドレスレジスタ2cにセットされ
た拡張アドレス空間のアドレスに、拡張アドレス空間用
ライトデータレジスタ2bにセットしたデータがライト
される。
【0020】以上がプロセッサ1aからDPR3へのラ
イトアクセス動作であるが、次にDPR3へリードアク
セスするときの動作を説明する。まず、プロセッサ1a
がアクセスすべき拡張アドレス空間のアドレスを拡張ア
ドレス空間用アドレスレジスタ2cにライトする。この
動作は、図1において拡張アドレス空間用アドレスレジ
スタ2cのアドレス(EADDL:3FC6)をプロセ
ッサ1aがA15〜A0に出力し、ライト信号WT−N
をアクティブにし、拡張アドレス空間のアクセスすべき
アドレスデータをD15〜D0に出力することにより行
われる。このとき、リード信号RD−Nは非アクティブ
状態である。デコーダ10は、上記の入力をデコードし
て、WY6−N、OCS−N出力をアクティブにする。
また、リード信号RD−Nは非アクティブであるから、
データスイッチバッファ11は、そのディレクション入
力がHIとなり、AからB方向へ信号が通過する。ま
た、WT−N、OCS−N出力がアクティブであるか
ら、データスイッチバッファ11のゲート入力(G−
N)はアクティブとなって、D15〜D0信号は拡張ア
ドレス空間用アドレスレジスタ2cの入力に入る。従っ
て、プロセッサ1aのこのライトバスサイクルの終了時
までに、拡張アドレス空間のアドレスを示すデータが、
拡張アドレス空間用アドレスレジスタ2cにラッチさ
れ、拡張アドレス空間のアドレス(OA15〜OA1)
としてDPR3側に出力される。
【0021】次は、拡張アドレス空間用ワードリードコ
マンドスイッチにリードアクセスする。この動作は、図
1において拡張アドレス空間用ワードリードコマンドス
イッチのアドレス(EBSON:3FC2)をプロセッ
サ1aがA15〜A0に出力し、リード信号RD−Nを
アクティブにすることにより行われる。このとき、ライ
ト信号WT−Nは非アクティブ状態である。デコーダ1
0は、上記の入力をデコードして、RY2−N、OCS
−N出力をアクティブにする。RY2−N出力がアクテ
ィブとなったとき、次のように動作する。FF13のC
LR−N入力はアクティブになり、FF13のQ出力
(OA0)がHIに、Q−N出力(OBHE)がLOに
ラッチされいても(いなくても)、OA0はLOに、O
BHEはHIになり、DPR3側に対してワードアクセ
スを指令出来る。また、ANDゲート23のB入力をH
Iにする。また、OALE−Nをアクティブにし、DP
R3側に対し、アドレスのラッチを許可する。また、F
F17のD入力がLOとなるため、FF17のQ出力が
LOになり、これによりFF18のCLR−N入力がア
クティブになって、FF18のQ−N出力(OMRD:
DPR3側に対するリード信号)がLOからHIに変化
する。同様に、FF18のQ出力は、LOになり、NA
NDゲート22のB入力は、HIとなる。
【0022】次に、拡張アドレス空間用リードデータレ
ジスタ2eをリードアクセスする。この動作は、図1に
おいて拡張アドレス空間用リードデータレジスタのアド
レス(EDATA:3FC0)をプロセッサ1aがA1
5〜A0に出力し、リード信号RD−Nをアクティブに
することにより行われる。このとき、ライト信号WT−
Nは非アクティブ状態である。デコーダ10は、上記の
入力をデコードして、RY0−N、OCS−N出力をア
クティブにする。RY0−N出力がアクティブとなった
とき、FF12のD入力がHIとなり、FF12のQ−
N出力はLOレベルにラッチされる。次いでリードアク
セス終了時RY0−N出力が非アクティブとなると、F
F12のD入力はLOとなり、FF12のQ−N出力を
HIレベルにラッチする。この動作により、FF13の
CLK入力にはLOパルスが入力される。このとき、F
F13のCLR−N入力は既に非アクティブとなってい
るため、FF13のQ出力(OA0)がLOに、Q−N
出力(OBHE)がHIにラッチされていると、これら
はそれぞれ反転しOA0=HI、OBHE=LOにな
る。この状態(OA0=HI、OBHE=LO)は次に
拡張アドレス空間用ワードリードコマンドスイッチにリ
ードアクセスを発生して、ワードリードアクセスを指令
するまで、保たれる。
【0023】ここで、プロセッサ1a側へのレディ信号
RDYは、DPR3へのライトアクセス動作のときと同
じく、アクティブのときプロセッサ1aの動作を進め、
非アクティブのときプロセッサ1aの動作を止める(プ
ロセッサ1aをウェイトさせる)信号である。RY0−
N出力がアクティブとなったとき、ANDゲート23の
A入力がHIになる。ANDゲート23のB入力は、前
手順の拡張アドレス空間用ワードリードコマンドスイッ
チへのリードアクセスによってHIにラッチされている
から、ANDゲート23の出力即ち拡張アドレス空間用
リードデータレジスタ2eのゲート入力GはHI、即ち
アクティブとなる。また、RY0−N出力がアクティブ
となったとき、拡張アドレス空間用リードデータレジス
タ2eのアウトプットコントロール入力OC−NはL
O、即ちアクティブとなる。従って、本ステップまでに
DPR3側から読み出され、拡張アドレス空間用アドレ
スレジスタ2cにラッチされている拡張アドレス空間ア
ドレスのデータ(ID15〜ID0)が、本ステップに
おいて拡張アドレス空間用リードデータレジスタ2eに
ラッチされる。また、リード信号RD−Nはアクティブ
であるから、データスイッチバッファ11は、そのディ
レクション入力がLOとなり、BからA方向へ信号が通
過する。また、RD−N、OCS−N出力がアクティブ
であるから、データスイッチバッファ11のゲート入力
G−Nはアクティブとなる。従って、プロセッサ1aの
このリードバスサイクルの終了時までに、拡張アドレス
空間用リードデータレジスタ2eにラッチされたデータ
(ID15〜ID0)をプロセッサ1aはリードするこ
とができる。
【0024】ここでDPR3側からのレディ信号REA
DYは、HIアクティブ信号であり、HIのときDPR
3側がレディ状態であることを示し、LOのときDPR
3側がレディ状態でないことを示す。DPR3側がレデ
ィ状態でないとき、READY信号はLOレベルとな
り、FF20のD入力はLOレベルとなって、FF20
のQ出力はLOにラッチされる。従って、FF19のD
入力はLOとなり、FF19のQ−N出力即ちANDゲ
ート21のB入力はHIとなる。従って、プロセッサ1
a側へのレディ信号RDYはLOになり、プロセッサ1
aをウェイトさせることができる。
【0025】DPR3側がレディ状態のときは、REA
DY信号はHIレベルとなり、FF20のD入力はHI
レベルとなって、FF20のQ出力はHIにラッチされ
る。従って、FF19のD入力はHIとなり、FF19
のQ−N出力即ちANDゲート21のB入力はLOにな
る。このときプロセッサ1a側へのレディ信号RDY
は、アクティブになるから、プロセッサ1aの動作をウ
ェイトさせずに進めることができる。
【0026】このように、DPR3側からREADY信
号がアクティブレベルで返ってきたとき、プロセッサ1
a側へのレディ信号RDYはアクティブになり、プロセ
ッサ1aは動作を進めることができ、拡張アドレス空間
用リードデータレジスタ2eへのリードアクセスサイク
ルを終了する。この結果、デコーダ10はRY0−N、
OCS−N出力を非アクティブにする。RY0−N出力
が非アクティブとなったとき、FF18のCLK入力は
LOからHIになり、このときFF18のCLR−N入
力はすでに非アクティブになっているため、FF18の
Q出力は、HIにラッチされ、NANDゲート22のB
入力はLOになり、初期状態に戻る。また、このとき、
FF18のQ−N出力はLOにラッチされ、DPR3側
に対するリード信号OMRDはアクティブ状態から非ア
クティブ状態へ戻る。
【0027】以上のソフトウェア通信プロトコルによ
り、拡張アドレス空間用アドレスレジスタ2cにセット
された拡張アドレス空間のアドレスから読み出され、拡
張アドレス空間用リードデータレジスタ2eにラッチさ
れたデータが、プロセッサ1aにリードされる。
【0028】以上が図1に示した拡張アドレス空間生成
回路部の一実施例と図15のハードウェア通信プロトコ
ルと図4のソフトウェア通信プロトコルにもとづく詳細
な動作であるが、次にこの動作によって実現されるプロ
セッサ1aとプロセッサ1bとの間をDPR3を用いて
接続した通信の、動作の一例を図5に模式的に示す。同
図において、DPR3は拡張アドレス空間生成回路2a
が生成する拡張アドレス空間2dとプロセッサ1bの固
有のアドレス空間5bとの両方にマッピングされてい
る。プロセッサ1aは前記ハードウェア通信プロトコル
とソフトウエア通信プロトコルを用いることで拡張アド
レス空間2dにアクセス出来るから、これによりこの空
間に割り付けられているDPR3にアクセス出来る。従
って、このDPR3をプロセッサ1aとプロセッサ1b
との共有メモリとすることが出来、これによってプロセ
ッサ1aとプロセッサ1bとの間で通信を行うことが出
来る。しかもハードウェア通信プロトコルとして少量の
メモリ(図15の場合)又はI/Oポート(図14の場
合)の6バイト(リードデータ用に2バイト、ライトデ
ータ用に2バイト、アドレス用に2バイト)をプロセッ
サ1aの固有のアドレス空間5aに設けることにより、
プロセッサ1aの固有のアドレス空間5aとは独立に大
きなリニアアドレス空間(拡張アドレス空間2d:図1
5または図14の場合、アドレスが2バイトであるから
64kB)を生成することが出来る効果がある。従っ
て、例えばプロセッサ1aとプロセッサ1bとで共有し
たいDPR3の領域が大きく、プロセッサ1aの固有の
アドレス空間5aにこのDPR3領域をそのまま割り付
けることが出来ない場合や、そのまま割り付けるとプロ
セッサ1aの固有のアドレス空間5aのフリーエリアが
小さくなって問題となる場合でも、本発明を用いること
によって、このDPR3エリアを拡張アドレス空間2d
に割り付けることが出来、このDPR3を共有メモリと
して用いたプロセッサ1aとプロセッサ1bとの間の通
信が可能になる。
【0029】次に、図2において、プロセッサ1aのD
PR3に対するリード/ライトのタイムチャートについ
て説明する。ライト時には、図4(1)に示したコマン
ドが実行されるが、このときのタイムチャートが図7で
ある。また、比較のため図6に、DPR8を共有メモリ
として用いたプロセッサ6とプロセッサ7との間の従来
の通信システムを示し、この通信システムで用いること
が出来る従来方式によるI/Oアクセスドライバの一例
を図8に示し、また従来方式によるメモリアクセスドラ
イバの一例を図9に示す。この図8、図9のソフトウエ
ア通信プロトコルは、本発明の場合の図3、図4にそれ
ぞれ対応する。さらに図9の(1)に示した従来例で、
図6におけるプロセッサ6がDPR8に対してのライト
を行うときのタイムチャートを図10に示す。以下では
図10に示す従来例と図7に示す本発明の例(どちらも
図1の詳細説明で用いたのと同じメモリポート経由のア
クセス)とを比較しながら説明する。
【0030】まず図10に示す従来例の場合、プロセッ
サ6はDPR8にライトするとき、アドレス、データ、
制御信号をDPR8に出力する。ここでプロセッサ6と
DPR8との距離が長いとすると、前記信号がDPR8
側で安定するまでかかる時間(図10の例の場合ΔT
1)も長くなるため、この間はバスサイクル中にウエイ
トサイクルTWを入れなくてはいけない。プロセッサ6
はこの間待つことになってしまい、このウエイトサイク
ルの入ったバスサイクルが終了するまで次の命令(図1
0の例の場合ADD BX,2)が処理出来なくなって
しまう。
【0031】これに対し、本発明による図2に示す実施
例では、プロセッサ1aはDPR3に直接アドレス、デ
ータ、制御信号を出すのではなく、まず拡張アドレス空
間生成回路2aの拡張アドレス空間用アドレスレジスタ
2c、拡張アドレス空間用ライトデータレジスタ2b、
コマンドスイッチ等に対してアクセスする方式を採って
いる。プロセッサ1aと拡張アドレス空間生成回路2a
の距離は短くすることが出来るから、図7に示すように
プロセッサ1aが拡張アドレス空間生成回路2aに対し
てアクセスすること(図7の例の場合“To拡張アドレ
ス空間生成回路”と記した所)は、ウエイトサイクルを
入れなくても可能である。拡張アドレス空間生成回路2
aからDPR3までの距離は、図6の従来例におけるプ
ロセッサ6とDPR8との距離と同様であるため、拡張
アドレス空間生成回路2aからDPR3に対して出力さ
れる信号(図7の例の場合“ToDPR”と記した所)
がDPR3側で安定するまでにかかる時間(図7の例の
場合ΔT2)は従来例の図10におけるΔT1とほぼ同程
度である。即ち本発明の場合、拡張アドレス空間生成回
路2aからDPR3へ出力されるアドレス信号、データ
信号、制御信号は、これらがDPR3側で十分安定する
までの時間(ΔT2)の間出力されているので、プロセ
ッサ1a、拡張アドレス空間生成回路2aとDPR3と
の距離が長くなっても、プロセッサ1aからDPR3へ
のアクセスを正しく行うことが出来る。さらに本発明で
は、プロセッサ1aから拡張アドレス空間生成回路2a
に対してのアクセス時間ΔA2(図7)は、従来例の図
6におけるプロセッサ6からDPR8へのアクセス時間
ΔA1(図10)に比べ大幅に短く出来る。従ってΔT2
を保つために、図4のライト命令中の(MOV EB
SON,AX)と(MO V AX,EDATA)と
の間に設ける空き時間に、プロセッサ1aがDPR3へ
のアクセスの次に処理すべき命令(例えばADD B
X,2)を処理することが出来、プロセッサ1aはDP
R3へのアクセスとDPR3へのアクセスの次の処理と
を並列に処理することが出来て、プロセッサ1aの処理
効率を高めることが出来るという効果がある。
【0032】プロセッサとDPRとの距離が長くなるほ
ど、従来例の図10におけるΔT1と本発明図7におけ
るΔT2が長くなる。この場合、従来例ではプロセッサ
がDPRへのアクセスの次に処理すべき命令(以下次の
命令と称す)が実行されるまでの時間がさらに長くなる
のに対し、本発明ではΔT2が長くなる分(MOVE
BSON,AX)と(MOV AX,EDATA)と
の処理の間に、より多くの次の命令の処理を行うことが
出来、従来例に比べプロセッサの処理効率をさらに上げ
ることが出来るという効果がある。
【0033】図4の(2)に示したプロセッサ1aのD
PR3に対するリード命令が実行された時のタイムチャ
ートを図11に示す。また比較のための従来方式はライ
ト時の例と同じ図6のシステムで、図9のメモリアクセ
スドライバを用いるものとする。即ち今の場合は、図9
の(2)に示した命令により図6のプロセッサ6がDP
R8に対してのリードを行うものとし、このときのタイ
ムチャートを図12に示す。
【0034】まず図12に示す従来例の場合、プロセッ
サ6がDPR8からリードするときは、プロセッサ6は
アドレス、制御信号をDPR8に出力する。ここでプロ
セッサ6とDPR8との距離が長い場合、例えばプロセ
ッサ6がアドレスを出力してからデータがDPR8から
プロセッサ6に出力されるまでの時間(図12の例の場
合ΔT3)も長くなるため、この間はバスサイクル中に
ウエイトサイクルを入れざるを得ない。プロセッサ6は
この間待つことになってしまい、このウエイトサイクル
の入ったバスサイクルが終了するまで次の命令(図12
の例の場合ADD BX,2とSUB DX,2)が処
理出来なくなってしまう。
【0035】これに対し本発明による図1に示す実施例
では、プロセッサ1aはDPR3に直接アドレス、制御
信号を出すのではなく、まず拡張アドレス空間生成回路
2aの拡張アドレス空間用アドレスレジスタ2c、コマ
ンドスイッチ等に対してアクセスする方式を採ってい
る。プロセッサ1aと拡張アドレス空間生成回路2aの
距離は短くすることが出来るので、図11に示すように
プロセッサ1aが拡張アドレス空間生成回路2aに対し
てアクセスすること(図11の例の場合To/From
拡張アドレス空間生成回路と記した所)は、ウエイトサ
イクルを入れなくても可能である。拡張アドレス空間生
成回路2aからDPR3までの距離は図6の従来例にお
けるプロセッサ6とDPR8との距離と同様であるた
め、例えば拡張アドレス空間生成回路2aがDPR3に
対してアドレスを出力してから、データがDPR3から
拡張アドレス空間生成回路2aに出力されるまでの時間
(図11の例の場合ΔT4)は従来例の図12における
ΔT3とほぼ同程度である。即ち本発明の場合の図11
において、拡張アドレス空間生成回路2aからDPR3
へ出力されるアドレス信号、制御信号は、拡張アドレス
空間生成回路2aがDPR3に対してアドレスを出力し
てから、データがDPR3から拡張アドレス空間生成回
路2aに出力されるまでの時間(ΔT4)の間出力され
ているので、プロセッサ1a、拡張アドレス空間生成回
路2aとDPR3との距離が長くなっても、プロセッサ
1aからDPR3へのアクセスを正しく行うことが出来
る。さらに本発明ではプロセッサ1aから拡張アドレス
空間生成回路2aに対してのアクセス時間ΔA4(図1
1)は、従来例の図6におけるプロセッサ6からDPR
8へのアクセス時間ΔA3(図12)に比べ大幅に短く
できる。従ってΔT4を保つために、図4のリード命令
中の(MOV AX,EBSON)と(MOV D
X,EDATA)との間に設ける空き時間に、次の命令
の2つ(例えばADD BX,2とSUB DX,2)
を処理することが出来、プロセッサ1aはDPR3への
アクセスと、DPR3へのアクセスの次に実行すべき命
令の処理とを並列に処理することが出来て、プロセッサ
1aの処理効率を高めることが出来るという効果があ
る。
【0036】プロセッサとDPRとの距離が長くなるほ
ど、従来例の図12におけるΔT3、本発明の図11に
おけるΔT4が長くなる。この場合、従来例では次の命
令が実行されるまでの時間がさらに長くなるのに対し、
本発明ではΔT4が長くなる分(MOV AX,EB
SON)と(MOV DX,EDATA)との処理の
間に、より多くの次の命令の処理を行うことが出来、従
来例に比べプロセッサの処理効率をさらに上げることが
出来るという効果がある。
【0037】以上の実施例では、2つのプロセッサ間を
共有メモリとしてのDPRを介して結合する場合を説明
したが、本発明の通信装置は一般にプロセッサとサブシ
ステム間の結合にも有効である。図13はその一実施例
を示すブロック図で、プロセッサ1aに拡張アドレス空
間生成回路2aを接続し、これにサブシステム4を接続
する。ここで拡張アドレス空間生成回路2aは、図1で
説明した第1の実施例と同様のハードウエア通信プロト
コルを提供する。即ち、このハードウエア通信プロトコ
ルは拡張アドレス空間制御用スイッチ(ワードライトコ
マンドスイッチ、ワードリードコマンドスイッチ)と拡
張アドレス空間用アドレスレジスタと拡張アドレス空間
用データレジスタ(ライトデータレジスタ、リードデー
タレジスタ)とを有しており、これらを用いることによ
って拡張アドレス空間を生成することが出来る。サブシ
ステム4は拡張アドレス空間生成回路2aの生成する拡
張アドレス空間2dに割り付けられており、プロセッサ
1aからサブシステム4へのアクセスは第1の実施例と
同様に行う。また、プロセッサ1aのサブシステム4に
対するリード/ライトのタイムチャートについても第1
の実施例と同様であり、効果についても同様の効果があ
る。
【0038】
【発明の効果】本発明によれば、プロセッサ固有のアド
レス空間とは別に大きなリニアアドレス空間を別に持つ
ことが出来、また、プロセッサから離れた場所にあるメ
モリに対してプロセッサがアクセスする際でも、プロセ
ッサのメモリへのアクセス処理と次にプロセッサが実行
すべき命令の処理とをプロセッサに並列に行わせること
が出来る。従って離れた場所にあるプロセッサ間での、
プロセッサの処理効率の高い通信が実現できる効果があ
る。
【図面の簡単な説明】
【図1】本発明の特徴とする拡張アドレス空間生成回路
部の一実施例を示す図である。
【図2】図1の拡張アドレス空間生成回路を用いた本発
明の通信装置の一実施例を示す図である。
【図3】本発明のハードウェア通信プロトコル(I/O
ポート)を用いたソフトウェア通信プロトコルの例であ
る。
【図4】本発明のハードウェア通信プロトコル(メモリ
ポート)を用いたソフトウェア通信プロトコルの例であ
る。
【図5】プロセッサ間をDPRを用いて接続した通信動
作の一例を示す模式図である。
【図6】DPRを共有メモリとして用いた場合の従来の
プロセッサ間の通信方式の例である。
【図7】本発明によるメモリライト動作のタイムチャー
トである。
【図8】従来方式によるI/Oアクセスドライバの例で
ある。
【図9】従来方式によるメモリアクセスドライバの例で
ある。
【図10】従来方式によるメモリライト動作を示すタイ
ムチャートである。
【図11】本発明によるメモリリード動作のタイムチャ
ートである。
【図12】従来方式によるメモリリード動作を示すタイ
ムチャートである。
【図13】本発明の他の実施例を示す図である。
【図14】本発明のハードウェア通信プロトコル例を示
す図である。
【図15】本発明のハードウェア通信プロトコル例を示
す図である。
【符号の説明】
1a プロセッサ 1b プロセッサ 2a 拡張アドレス空間生成回路 2b 拡張アドレス空間用ライトデータレジスタ 2c 拡張アドレス空間用アドレスレジスタ 2d 拡張アドレス空間 2e 拡張アドレス空間用リードデータレジスタ 3 デュアルポートRAM(DPR) 4 サブシステム 6 プロセッサ 7 プロセッサ 8 デュアルポートRAM(DPR) 10 デコーダ 11 データスイッチバッファ 12 フリップフロップ 13 フリップフロップ 15 フリップフロップ 16 フリップフロップ 17 フリップフロップ 18 フリップフロップ 19 フリップフロップ 20 フリップフロップ 21 ANDゲート 22 NANDゲート 23 ANDゲート 25 NORゲート

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 第1、第2のプロセッサ間の通信を行う
    通信装置において、第1、第2のポートを有し第2のポ
    ートが第2のプロセッサに接続されたデュアルポートメ
    モリと、該デュアルポートメモリの第1のポートと第1
    のプロセッサ間に設けられた拡張アドレス空間生成手段
    と、より成る通信装置。
  2. 【請求項2】 上記デュアルポートメモリは、プロセッ
    サ固有のアドレス空間と別のリニアアドレス空間を持つ
    こととした請求項1の通信装置。
  3. 【請求項3】 第1、第2のプロセッサ間の通信を行う
    通信装置において、第1、第2のポートを有し第2のポ
    ートを介して第2のプロセッサとの間でリード/ライト
    を行うデュアルポートメモリと、第1のプロセッサと上
    記デュアルポートメモリの一方のポートとの間に設置さ
    れたインタフェース手段と、から成ると共に、該インタ
    フェース手段は、第1のプロセッサから出力されたアド
    レス情報をラッチするアドレスラッチ機構と、プロセッ
    サから出力されたデ−タ情報をラッチするデータラッチ
    機構と、上記アドレス情報により指定されたデュアルポ
    ートメモリのアドレスに上記データ情報を書き込むため
    のライトアクセス信号を生成するライト信号生成機構
    と、を備えたことを特徴とする通信装置。
  4. 【請求項4】 前記インタフェース手段に、前記アドレ
    ス情報により指定された前記デュアルポートメモリのア
    ドレスのデータを読みだすためのリードアクセス信号を
    生成するリード信号生成手段と、上記リードアクセス信
    号により上記デュアルポートメモリから読みだされたデ
    ータをラッチするためのリードデータラッチ機構とを付
    加したことを特徴とする請求項3記載の通信装置。
  5. 【請求項5】 プロセッサとサブシステムの間に設置さ
    れ、プロセッサとサブシステムとの間の通信を行う通信
    装置において、プロセッサから出力されたアドレス情報
    をラッチするアドレスラッチ機構と、プロセッサから出
    力されたデ−タ情報をラッチするデータラッチ機構と、
    および上記アドレス情報により指定されたサブシステム
    のアドレスに上記データ情報を書き込むためのライトア
    クセス信号を生成するライト信号生成機構と、を備えた
    ことを特徴とする通信装置。
  6. 【請求項6】 前記アドレス情報により指定された前記
    サブシステムのアドレスのデータを読みだすためのリー
    ドアクセス信号を生成するリード信号生成手段と、上記
    リードアクセス信号により上記サブシステムから読みだ
    されたデータをラッチするためのリードデータラッチ機
    構とを付加したことを特徴とする請求項5記載の通信装
    置。
  7. 【請求項7】 第1、第2のプロセッサと、第1、第2
    のポートを有し第2のポートが第2のプロセッサに接続
    されたデュアルポートメモリと、該デュアルポートメモ
    リの第1のポートと第1のプロセッサ間に設けられた拡
    張アドレス空間生成手段と、より成る処理装置。
  8. 【請求項8】 第1、第2のプロセッサと、第1、第2
    のポートを有し第2のポートを介して第2のプロセッサ
    との間でリード/ライトを行うデュアルポートメモリ
    と、第1のプロセッサと上記デュアルポートメモリの第
    1のポートとの間に設置されたインタフェース手段と、
    から成ると共に、該インタフェース手段は、第1のプロ
    セッサから出力されたアドレス情報をラッチするアドレ
    スラッチ機構と、プロセッサから出力されたデ−タ情報
    をラッチするデータラッチ機構と、上記アドレス情報に
    より指定されたデュアルポートメモリのアドレスに上記
    データ情報を書き込むためのライトアクセス信号を生成
    するライト信号生成機構と、を備えたことを特徴とする
    処理装置。
  9. 【請求項9】 前記インタフェース手段に、前記アドレ
    ス情報により指定された前記デュアルポートメモリのア
    ドレスのデータを読みだすためのリードアクセス信号を
    生成するリード信号生成手段と、上記リードアクセス信
    号により上記デュアルポートメモリから読みだされたデ
    ータをラッチするためのリードデータラッチ機構とを付
    加したことを特徴とする請求項8記載の処理装置。
JP15014993A 1993-06-22 1993-06-22 通信装置及び処理装置 Pending JPH0721137A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15014993A JPH0721137A (ja) 1993-06-22 1993-06-22 通信装置及び処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15014993A JPH0721137A (ja) 1993-06-22 1993-06-22 通信装置及び処理装置

Publications (1)

Publication Number Publication Date
JPH0721137A true JPH0721137A (ja) 1995-01-24

Family

ID=15490573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15014993A Pending JPH0721137A (ja) 1993-06-22 1993-06-22 通信装置及び処理装置

Country Status (1)

Country Link
JP (1) JPH0721137A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8414466B2 (en) 2009-06-30 2013-04-09 Kubota Manufacturing Corporation Centrifuge rotor cover

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8414466B2 (en) 2009-06-30 2013-04-09 Kubota Manufacturing Corporation Centrifuge rotor cover

Similar Documents

Publication Publication Date Title
US5115510A (en) Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information
KR102332375B1 (ko) 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체
EP0242879B1 (en) Data processor with wait control allowing high speed access
JPH03129450A (ja) データ転送方法及びデータ転送装置
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
EP0361497B1 (en) Program/data memory employed in microcomputer system
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
JPS5911921B2 (ja) 数値制御装置
US3480917A (en) Arrangement for transferring between program sequences in a data processor
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JPH0721137A (ja) 通信装置及び処理装置
EP0660229A1 (en) Method and apparatus for modifying the contents of a register
US6339809B1 (en) Memory unit and buffer access control circuit for updating an address when consecutively accessing upper and lower buffers
EP0020972B1 (en) Program controlled microprocessing apparatus
JPH0337897A (ja) マイクロコンピュータ
JPH064398A (ja) 情報処理装置
KR940005780B1 (ko) 멀티프로세서 시스템에서의 캐쉬메모리 구현방법
KR100304607B1 (ko) 프로그래머블로직콘트롤러용고속명령처리시스템
SU1683039A1 (ru) Устройство обработки данных дл многопроцессорной системы
JP2710483B2 (ja) 半導体集積回路
JPH09282897A (ja) Romライター装置
JP2000029508A (ja) プログラマブルコントローラ
JP2000066946A (ja) メモリコントローラ
JPS6267648A (ja) 排他制御命令処理方式
JPH033047A (ja) 演算機能付きメモリ