JPH1097411A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH1097411A
JPH1097411A JP25029396A JP25029396A JPH1097411A JP H1097411 A JPH1097411 A JP H1097411A JP 25029396 A JP25029396 A JP 25029396A JP 25029396 A JP25029396 A JP 25029396A JP H1097411 A JPH1097411 A JP H1097411A
Authority
JP
Japan
Prior art keywords
data
bus
circuit
memory
buffer
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
JP25029396A
Other languages
English (en)
Inventor
Haruo Kamimaki
春雄 上牧
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 JP25029396A priority Critical patent/JPH1097411A/ja
Publication of JPH1097411A publication Critical patent/JPH1097411A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】シリアルインタフェース回路によるバス占有時
間を削減する。 【解決手段】同一のバス16に接続された複数のリアル
インタフェース回路の各々3a内に設けた送信バッファ
7に送信データを一時的に保持させ、送信部1がNワー
ド送信するごとに、転送要求回路3により送信データの
転送をバス権制御回路4に要求し、メモリ読み出し回路
5と連続書き込み回路81を用いてメモリ12から送信
データをNワードずつまとめてバス14、16を介して
送信バッファ7に転送する。同様に、受信部2が受信し
たデータを受信バッファ8に一時的に保持させ、Nワー
ドのデータを受信するごとに、転送要求回路3により受
信データの転送をバス権制御回路4に要求し、連続読み
出し回路82とメモリ書き込み回路6とを用いて受信バ
ッファ8から送信データをNワードづつまとめてメモリ
12に転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術の分野】本発明は外部装置との間で
データをビットシリアルに送信あるいは受信するシリア
ルインタフェース回路を持つデータ処理装置に関する。
【0002】
【従来の技術】従来のデータ処理装置に内蔵されたシリ
アルインタフェース回路は、プロセッサ内部のレジスタ
およびプロセッサが使用するメモリに接続された第1の
バスとは別の第2のバスに接続され、この第2のバスは
第1のバスにバス接続回路を介して接続されている。プ
ロセッサがメモリをアクセスするときには、第2のバス
を第1のバスから切り離す。それにより第1のバスの容
量や抵抗を低減し、それによりこのバスをプロセッサが
高速の内部クロックで使用する。シリアルインタフェー
ス回路が上記メモリをアクセスするときには、バス接続
回路は第1、第2のバスを接続する。シリアルインタフ
ェース回路は、メモリへのデータの書き込み、読み出し
の単位である1ワード分のデータをこれらのバスを介し
て上記メモリあるいはプロセッサ内部のレジスタとの間
で交換する。一般には、シリアルインタフェース回路
は、上記内部クロックより遅い周辺回路用のクロックに
同期してデータをビットシリアルに送信及び受信する。
【0003】シリアルインタフェース回路は、外部装置
からデータを受信する受信部と外部装置にデータを送信
する送信部を有し、受信部は、1ワード分のデータ、例
えば、8ビットのデータを受信するごとに、上記第1、
第2のバスの使用権を要求し、バス権制御回路により使
用権が与えられた時点で、上記第1のバス、上記バス接
続回路、上記第2のバスを介して上記メモリあるいはプ
ロセッサ内部のレジスタに受信した1ワードのデータを
書き込む。受信部は、この書き込み動作を新たに1ワー
ド分のデータが受信されるごとに繰り返す。
【0004】上記第2のバスに接続される回路と、上記
メモリあるいはプロセッサ内部のレジスタとのデータ転
送は、通常アドレスバスのアドレス値と、リード/ライ
ト信号が用いられ、メモリとのデータ転送と同じ扱いで
行われ、シリアルインタフェース回路では、受け取った
アドレスとリード/ライト信号より、上記第2のバスか
らデータを受け取り格納するための制御信号や、上記第
2のバスへデータを出力するための制御信号を生成す
る。ここで第1、第2のバスを接続する上記バス接続回
路の複雑さや、第2のバスの容量や抵抗等による信号遅
延のため、シリアルインタフェース回路とメモリの間の
1ワードのデータ転送を1サイクルで行うことは困難で
あり、前記インタフェース回路における制御信号の作成
に1サイクル以上の余裕、いわゆるオーバーヘッドを持
たせ1ワードのデータ転送に2サイクルや3サイクルが
使われる。このため、データ転送時間を見かけ上低減す
るために、受信部に、二重バッファを構成する二つの受
信用レジスタを設け、一方の受信用レジスタに受信され
た1ワードを保持させ、この1ワードを上記メモリに転
送する間に並行して受信される後続の1ワードは第2の
受信用レジスタに書き込む技術も提案されている。この
技術に依れば、送信部も同様の構造を有し、1ワード分
のデータを外部装置に送信するごとに、上記メモリある
いはプロセッサ内部のレジスタから次ぎの1ワードを読
み出す動作を繰り返す。
【0005】近年開発されている無線携帯端末などで
は、複数のシリアルインタフェース回路が上記第2のバ
スに接続されている。例えば、無線でデータを送受信す
る無線部や、あるいは音声データあるいは画像データを
送受信するA/D変換器あるいはD/A変換器その他の
回路が使用されつつある。更にはシリアルインタフェー
ス回路のビット転送クロックは、前記第2のバスの転送
クロックの1/2以下でも十分だったものが、同じ速度
が必要になりつつある。
【0006】
【発明が解決しようとする課題】上記従来技術に依れ
ば、同一のバスに接続されたシリアルインタフェース回
路の数がさらに増大すると、バスの使用率が増大する。
前述のように、一つのシリアルインタフェース回路とメ
モリの間の1ワードのデータ転送に2サイクルまたは3
サイクルが使われると、この使用率の増大がさらに顕著
になる。この結果、あるシリアルインタフェース回路
は、受信した1ワードのデータをメモリに転送するため
にバス空き待ちの状態に滞在する期間が長くなり、この
間に次のデータを受信してしまい、受信部内のまだ転送
されていない受信データが後続の受信データにより上書
きされることが生じる。いわゆる受信データの損失が発
生する。送信データに関しても類似の問題が生じる。す
なわち、送信完了した1ワードのデータの後続の1ワー
ドのデータをメモリあるいはプロセッサ内部のレジスタ
から読み出すためにバス空き待ちの状態に滞在すること
が長くなり、この間に先のデータの送信が完了し、この
ために、送信部は誤って、送信済みのデータを再度送信
することが生じる。いわゆる送信データの重複である。
【0007】たとえば、外部の転送クロックが、内部の
バスの転送クロックと同じであり、さらにシリアルイン
タフェース回路を3ポート使用し、各ポートで送信と受
信が行われている状況において、1ワード送信あるいは
受信するごとに、メモリとシリアルポートの間でデータ
転送を行うので、1ワードを8ビットとする。1ワード
のデータのバス転送に2サイクル必要な場合、3ポート
の送受信のために内部メモリとそれらのポートの間で必
要なデータの転送によするサイクル数の総数は、3ポー
ト×2ワード×2サイクル=12サイクルとなる。とこ
ろが、各シリアルポートがと外部装置との間のデータ転
送は、1ワード当たり8サイクル必要とする。この8サ
イクルの間に6つの送信あるいは受信のデータが転送さ
れる必要があり、そのためには12サイクル必要であ
る。したがって、この転送には4サイクル不足すること
になる。
【0008】また、シリアルインタフェース回路がバス
を使用している間、CPUはメモリアクセス等のために
バスを使用することができない。従って、受信データの
損失あるいは送信データの重複が生じない段階でも、シ
リアルインタフェース回路によるバスの使用時間を低減
できることが望ましい。
【0009】従って、本発明の目的は、シリアルインタ
フェース回路によるデータ転送のためのバスの使用時間
を低減することである。
【0010】本発明のより具体的な目的は、シリアルイ
ンタフェース回路の数が増大した場合にも、これらの回
路がこのようなバス待ち状態になる期間を低減でき、そ
れでもって、受信データの損失あるいは送信データの重
複を防止することができるデータ処理装置を提供するこ
とである。
【0011】
【課題を解決するための手段】上記問題を解決するため
に、本発明では、シリアルインタフェース回路に、上記
メモリにバスを介して接続され、複数ワードの送信デー
タを一時的に保持するバッファと、該バッファに保持さ
れたデータを外部装置にシリアルに送信する送信部、該
送信部が該バッファ内の所定の複数ワードのデータを送
信するごとに、該メモリから該バッファへ後続の送信デ
ータの転送を要求する転送要求回路とが設けられ、上記
データ処理装置には、上記転送要求に応答して後続の複
数ワードの送信データを該バスを介して該メモリから該
バッファに連続して転送する回路が設けられる。これに
より、1ワードのデータ転送に付き1サイクル必要であ
った前記オーバーヘッドを前記複数ワードの送信データ
転送に付き1サイクルとする。このことにより、バス待
ち状態の低減を実現する。同じ技術は、外部装置からデ
ータをシリアルに受信する受信部を有するシリアルイン
タフェース回路にも適用される。
【0012】
【発明の実施の形態】以下、本発明に係るデータ処理装
置を図面に示した実施の形態を参照してさらに詳細に説
明する。
【0013】(1)装置の概要 図1において、データ処理装置は、命令を実行する中央
処理ユニット(CPU)11と、このCPU用のメモリ
12と、それらを接続するバス14と、シリアルインタ
フェース回路用のバス16と、このバス16に接続され
た複数のシリアルインタフェース回路、例えばaと、バ
ス14と16を接続するとともに、いずれかのシリアル
インタフェース回路とメモリ12との間のデータ転送を
制御する転送制御回路bと、内部クロックmを生成する
クロック発生回路(CPG)cと、外部回路に接続され
る信号線の端子を有する端子部dとからなる。データ処
理装置は、複数のシリアルインタフェース回路を有する
が、ここでは、簡単化のためにそれらの一つのみを図示
している。
【0014】シリアルインタフェース回路aは、互いに
独立にアクセス可能な送信バッファ7と受信バッファ8
とを含む。シリアルインタフェース回路aに含まれた転
送要求回路3は、送信部1により送信されたデータが予
め定められた複数(N)ワード分に達するごとに、次の
送信データの転送を転送制御回路bに要求し、受信部2
により受信されたデータがNワード分に達するごとに、
その受信データの転送を転送制御回路bに要求する回路
である。連続書き込み回路72は、送信バッファ7にメ
モリ12から読み出されたNワードの送信データを連続
して書き込むための回路であり、連続読み出し回路82
は受信バッファ8からNワードの受信データを連続して
読み出すための回路である。ここで、ワードは、メモリ
12へのデータの書き込み、読み出しの単位であり、一
度のアクセスによりメモリ12から読み書きできるデー
タの大きさである。バス14、16はこの1ワードを構
成する複数のビットを並列に転送できるように構成され
ている。
【0015】転送制御回路b内のバス権制御回路4は、
転送要求回路3から出力された送信データ転送要求ある
いは受信データ転送要求に応答して、バス14、16の
使用権を獲得し、その獲得が成功するとバス14と16
の接続をバス接続回路9に指示するとともに、送信バッ
ファ7とメモリ12との間でNワード分の送信データを
連続して転送するためにメモリ読み出し回路5と連続書
き込み回路72を起動し、あるいは、受信バッファ8と
メモリ12との間のNワード分の受信データを連続して
転送するのために連続読み出し回路82とメモリ書き込
み回路6を起動するようになっている。
【0016】本実施の形態では、送信バッファ7から複
数(N)ワードのデータを外部装置に送信するごとに、
メモリ12から後続のNワードの送信データを送信バッ
ファ7に連続して転送し、これにより、シリアルインタ
フェース回路aとメモリ12との間のデータ転送時間を
減少させ、それによりバスの使用率を低減し、もってシ
リアルインタフェース回路における送信データの重複あ
るいは受信データの損失を防止する点に特徴がある。同
様に、受信バッファ8にNワードの受信データが書き込
まれるごとに、これらの受信データをメモリ12に転送
し、これにより上と同じ理由により受信データの損失を
防止する。以下、さらに回路の詳細と動作を説明する。
なお、以下においては、他の図示しない複数のシリアル
インタフェース回路の動作の説明は省略するが、それら
は図示した回路aのそれと同じである。
【0017】(2)送信動作 (2A)CPUによる送信データの先頭Sワードの送信
バッファへ転送 CPUは、送信動作を指示する前に、メモリ12に予め
送信データバッファ領域を確保し、そこに複数ワードの
送信データを書き込み、この送信データの開始アドレス
と終了アドレスとをメモリ読み出し回路5に通知する。
本実施の形態では、送信データはNワードづつ連続して
メモリ12の送信データバッファ領域から読み出され、
送信バッファ7に格納され、その後送信部1によりNワ
ードが外部装置に送信されるごとに、次のNワードがメ
モリ12から読み出され、以下同じ動作が繰り返され
る。但し、後に説明するように、送信バッファ7はNワ
ードより大きなSワードの大きさを有し、送信データを
最初にメモリ12から送信バッファ7に転送するときに
は、メモリ12内の送信データの最初のSワードが転送
される。すなわち、送信データはメモリ12から送信バ
ッファ7にはS、N、N、、、ワードづつ転送される。
従って、最初のSワードの転送のためには、CPUは、
送信データバッファ領域の先頭アドレスとその先頭アド
レス+Sとをそれぞれ開始アドレス、終了アドレスとし
てメモリ読み出し回路5内の開始アドレスレジスタ5
1、終了アドレスレジスタ50(図4)に書き込む。
【0018】図2に示すように、転送要求回路3は、バ
ス16に接続された転送データ数レジスタ39を有し、
このレジスタは、シリアルインタフェース回路aの送信
部1あるいは受信部2が連続的に送信あるいは受信すべ
きデータのワード数を保持するもので、本実施の形態で
は、送信部1が連続して送信するデータ量と受信部2が
連続して受信するデータ量はともにNと仮定している。
しかし、CPUがメモリ12から送信バッファ7への送
信データの転送を指示するときには、このレジスタは最
初に連続して転送されるSワードのデータの量(S)を
保持するのに使用される。従って、今議論しているCP
Uが送信データの転送を指示するときには、その指示の
前に、CPUは、上記Sをこのレジスタ39にセットす
る命令を実行する。バス権制御回路4(図3)内のアド
レスデコーダ48は、CPU11が、転送要求回路3の
このデータ数設定レジスタ39か後に説明するコントロ
ールレジスタ30に値を設定する命令を実行した結果、
CPUアドレスバスjにセットされるアドレスが前記コ
ントロールレジスタ30か転送データ数レジスタ39を
示すときに、値1を出力する。OR回路47はアドレス
デコーダ48が値1を出力しているときにバス接続信号
404を出力し、バス接続回路9にバス14、16を接
続させる。こうして、CPUが発行した、転送データ数
レジスタ39に転送データ数を設定する命令により、バ
ス14、16を介してこのレジスタ39にこの命令が指
定するデータ数Sを書き込むことができる。
【0019】その後、CPUは送信データの転送要求を
線111を介してバス権制御回路4に送出する。図3に
示すように、バス権制御回路4では、バス調停回路40
は、CPUからの転送要求111と後に説明する転送要
求回路3から供給される送信データ転送要求311およ
び受信データ送信要求321の一つを選択し、それにバ
スの使用権を与える。バス調停回路40は、CPUから
の転送要求111もしくは転送要求回路3から供給され
る送信データ転送信号311にバスの使用権を与たとき
にフリップフロップ42を線415によりセットし、転
送要求回路3から供給される受信データ転送信号321
にバスの使用権が与えたときにフリップフロップ41を
線415を介してセットする。
【0020】ANDゲート45は、2つのフリップフロ
ップ41,42の反転出力411,412が両方とも1
の時、CPUに対するバス使用許可信号401を出力す
る。今議論している、送信動作の開始前の段階では、フ
リップフロップ41、42はいずれもセットされていな
いと仮定している。従って、ANDゲート45からはC
PUに対するバス使用許可信号401が出力されている
状態であり、この状態ですでに説明したいろいろの命令
がCPUにより実行される。
【0021】バス調停回路40では、ANDゲート44
には、ORゲート46を介してCPUからの転送要求1
11もしくは転送要求回路3から供給される送信データ
転送信号311が与えられ、さらに、フリップフロップ
41の反転出力411が与えられている。従って、フリ
ップフロップ41がリセットされている状態でCPUか
らの転送要求111が供給されると、CPUからの転送
要求111が選択される。
【0022】フリップフロップ42は、セットされると
送信データ転送信号402をメモリ読み出し回路5およ
び連続書き込み回路72に送り、メモリ12から送信バ
ッファ7への送信データの転送のためにそれらの回路を
起動する。さらに、OR回路47は送信データ転送信号
402が出力されると、バス接続信号404を出力し、
バス接続回路9にバス14、16を接続させる。なお、
本バス権制御回路はシリアルインタフェース回路が1つ
の場合について図示されているが、複数のシリアルイン
タフェース回路が接続される場合、本バス権制御回路は
フリップフロップを、必要数(シリアルインタフェース
回路数*2)だけ装備し、更にバス調停回路40のAN
D回路の数は前記フリップフロップの数+1とし、各A
ND回路の入力は、前記フリップフロップの数と同じに
する。
【0023】図4を参照するに、メモリ読み出し回路5
では、ANDゲート5aは、バス権制御回路4により送
信データ転送信号402が与えられる間、クロック発生
回路c(図1)から線mを介して与えられるCPU駆動
用の内部クロックInClkに同期して読み出し要求R
−Sigを線501を介してメモリ12に与える。開始
アドレスレジスタ51、終了アドレスレジスタ50には
先にCPUにより指定された、送信データの先頭アドレ
スおよび先頭アドレス+Sがデータバスjを介してセッ
トされる。カウンタ53には初期値としてレジスタ51
内の開始アドレスがセットされ、その後、読み出し要求
R−Sigによりカウントアップされる。このカウンタ
の値は線502、アドレスバスjを介してメモリ12に
メモリアクセスアドレスとして与えられる。比較回路5
2は、カウンタ53の値がレジスタ50内の終了アドレ
スに一致したことを検出すると、カウンタ53をリセッ
トする。こうして、メモリ12から送信データの先頭の
Sワードが順次読み出され、バス14、16を介して送
信バッファ7に送られる。
【0024】図5を参照するに、連続書き込み回路72
では、AND回路73が、バス権制御回路4により与え
られた送信データ転送信号402と内部クロックInC
lkにより書き込み信号721を生成し、カウンタ74
が、書き込み信号721によりインクリメント処理を行
い、その値を書き込みアドレス722として送信バッフ
ァ7に出力する。こうして、メモリ12から読み出され
た送信データが順次送信バッファ7の先頭位置から順次
書き込まれる。
【0025】図2を参照するに、転送要求回路3では、
バス権制御回路4により与えられた送信データ転送信号
402が与えられている間、内部クロックInClkに
よりカウンタ74がカウントアップを開始し、比較回路
37が、そのカウント値が、転送データレジスタ39内
の転送データ数(今の例ではS)に一致したことを検出
すると、線312を介して転送終了信号をバス権制御回
路4に送り、その中のフリップフロップ42をリセット
する。こうして、メモリ12内の送信データの先頭Sワ
ードが順次読み出され、送信バッファ7に1ワードづつ
書き込まれる。
【0026】(2B)CPUによる送信動作の起動 その後、CPUは、前記メモリ読み出し回路5の開始ア
ドレスレジスタ51に、メモリ12内の残りの送信デー
タの先頭アドレス(すなわち、元の送信データの先頭の
アドレス+S+1)を書き込み、さらに、そのメモリ読
み出し回路5内の終了アドレスレジスタ50に送信デー
タの終了アドレスを書き込む。更に転送要求回路3のデ
ータ数設定レジスタ39に、転送データ数として前記N
を設定する。 図2に示すように、転送要求回路3は、
バス16に接続されたコントロールレジスタ30をさら
に有し、このレジスタは、シリアルインタフェース回路
aの送信部1または受信部2にそれぞれ送信動作および
受信動作を許可するか否かを示す送信許可ビットと受信
許可ビットを保持可能である。CPUは送信部1に送信
動作を指示するときに、送信許可ビットをこのレジスタ
30にセットする命令を実行し、バス14、16を介し
てこのレジスタに30にこの許可ビットを書き込む。
【0027】(2C)送信の実行 コントロールレジスタ30に送信許可ビットが設定され
ると、フリップフロップ3cはその許可ビットを線30
Tを介して受けて、セットされ、送信動作許可信号31
3を送信部1に出力し、送信動作の開始を指示する。送
信部1では、送受信クロックgに同期して送信動作を開
始し、まず送信データの準備を要求する送信データ要求
信号101を出力する。図6に示すように、読み出し回
路71は送信データ要求信号101を受け取ると、その
信号を読み出し信号R−Sigとして線711を介して
送信バッファ7に出力するとともに、カウンタ75の値
を読み出しアドレスR−Addとして線712を介して
送信バッファに7に出力する。送信バッファ7では、読
み出しアドレスR−Addと読み出し信号R−Sigに
より送信データの先頭の1ワードを出力する。送信部1
は送信バッファ7から読み出された1ワードのデータを
ビットシリアルに送信し始める、次に送信するためのデ
ータの準備を要求する送信データ要求信号101を送受
信クロックgに同期して再度出力し、送信バッファ7か
らは送信データの次の1ワードが出力される。こうし
て、送信部1は送信バッファ7に保持された送信データ
をビットシリアルに線e、端子部4を介して外部の回路
(図示せず)に送信する。
【0028】(2D)後続の送信データのメモリからの
転送 図2を参照するに、転送要求回路3では、送信カウンタ
31は、送信データ要求信号101の数をカウントし、
比較回路35は、カウント値がレジスタ39内の転送デ
ータ数Nになったことを検出すると、線303を介して
フリップフロップ3aをセットする。このフリップフロ
ップは、セットされると、バス権制御回路4に対し送信
データ転送要求311を出力する。バス権制御回路4内
のバス調停回路40は、この信号に対してバス権の調停
を行い、この送信データ転送要求311に対してバス権
を与えたときには、さきにCPUからの転送要求111
の場合と同様に、フリップフロップ42をセットする。
その後は、先のCPUによる送信データの転送の場合と
同じ方法により、メモリ12内の送信データの次のNワ
ードが送信バッファ7に転送される。こうして、送信部
1による先行するNワードのデータの送信と並行して、
後続のNワードの送信データをメモリから12から読み
出し、送信バッファ7に転送される。
【0029】(2E)送信の終了 以上の動作を繰り返した結果として、メモリ読み出し回
路5(図4)では、比較回路52は、終了アドレスレジ
スタ50とカウンタ53の内容の一致を検出するに至
り、その結果、カウンタ53をリセットする。一方、C
PUは、コントロールレジスタ30内の送信許可ビット
をリセットする命令を発行する。フリップフロップ3c
は、送信許可ビットがリセットされた後に、送信部1が
要求した後続のNワードの送信が完了した時点で、リセ
ットされるようになっている。これにより、送信バッフ
ァ7中のNワードの転送の途中で送信が中断しないよう
なっている。このために、送信カウンタ35によりレジ
スタ39内の転送データ数Nと送信部1が発行した送信
要求の総数の一致が検出されたときに、比較回路35の
一致出力はANDゲート3Tをオンにする。この結果、
ANDゲート3Tは、コントロールレジスタ30内のリ
セットされた送信許可ビットをが線30Tを介してフリ
ップフロップ3cに供給し、これをリセットする。
【0030】(3)受信動作 受信動作の基本的なところは、送信動作と類似であるの
で、以下では、受信動作の内、送信動作と異なる部分の
みを主として説明する。
【0031】(3A)動作の概要 CPUは、受信動作を指示する前に、メモリ12に予め
受信データバッファ領域を確保し、そこに複数ワードの
送信データを書き込み、この送信データの開始アドレス
と終了アドレスとをメモリ書き込み回路6に通知する。
本実施の形態では、受信データは受信バッファ8からN
ワードづつ連続してから読み出され、メモリ12の受信
データバッファ領域に格納され、その後受信部2により
Nワードが外部装置から受信されるごとに、次のNワー
ドが受信バッファ8から読み出され、メモリ12に書き
込まれる。以下同じ動作が繰り返される。受信バッファ
8は、受信バッファ8からメモリ12へのデータ転送の
間もデータをい受信し続けるように、送信バッファ7と
同様にNワードより大きなSワードの大きさを有する。
しかし、送信データの転送と異なり、受信データを最初
に受信バッファ8からメモリ12に転送するときを含
め、受信バッファ8内の受信データをメモリ12に転送
するときにはいつもNワードづつ転送される。
【0032】(3B)CPUによる受信動作の起動 CPUは、受信動作の起動の前に、送信の場合と同様に
して、メモリ書き込み回路6の開始アドレスレジスタ
(図示せず)に、メモリ12内の上記受信バッファ領域
の先頭アドレスを書き込み、さらに、終了アドレスレジ
スタ(図示せず)に上記受信バッファ領域の終了アドレ
スを書き込む。更に転送要求回路3のデータ数設定レジ
スタ39に、転送データ数として前記Nを設定する。さ
らに、CPUは受信動作を指示するときに、受信許可ビ
ットを転送要求回路3内のコントロールレジスタ30に
セットする命令を実行し、バス14、16を介してこの
レジスタに30にこの許可ビットを書き込む。なお、C
PUは送信と受信を並行して起動するときには、送信許
可ビットと受信許可ビットを同時にこのレジスタ30に
設定することができる。
【0033】(3C)受信の起動、実行、終了 コントロールレジスタ30に受信許可ビットが設定され
ると、フリップフロップ3dはその許可ビットを線30
Rを介して受けて、セットされ、受信動作許可信号32
3を受信部2に出力し、受信動作の開始を指示する。受
信部2は、この指示を受けて送受信クロックgに同期し
て受信動作を開始し、受信されたデータは書き込み回路
81により受信バッファ8に1ワードづつ書き込まれ
る。書き込み回路81の構成と動作は、読み出し回路7
1と同じであるのでその詳細は図示しない。受信部2は
さらに、1ワードのデータを受信するごとに、受信要求
信号を線201を介して転送要求回路3に供給する。
【0034】図3において、転送要求回路3では、受信
カウンタ32がこの要求をカウントし、その値がレジス
タ39内の転送データ数Nに一致したときに、比較回路
36は、フリップフロップ3bを線304を介してセッ
トし、フリップフロップ3bは、線321を介して受信
データ転送要求をバス権制御回路4に送る。
【0035】図4において、バス権制御回路4内のバス
調停回路40では、ANDゲート43は、フリップフロ
ップ42の反転出力412が1の時、この受診データ転
送要求321をフリップフロップ41に出力する。すで
に述べたように、フリップフロップ42は、転送要求回
路3からの送信データ転送要求がバス権を与えられたと
きにセットされる。従って、フリップフロップ42がセ
ットされていないときに、すなわち、バス14、16が
送信データの転送に使用されていないときに、上記受信
データ転送要求がバス権を与えられることになる。
【0036】フリップフロップ41は、セットされると
受信データ転送信号403をメモリ書き込み回路6およ
び連続読み出し回路82に送り、受信バッファ8からメ
モリ12への受信データの転送のためにそれらの回路を
起動する。連続読み出し回路82の構成と動作は、連続
書き込み回路72と同じであるのでその詳細は図示しな
い。こうして、受信バッファ8にNワードが書き込まれ
るごとに、連続読み出し回路82により受信バッファ8
内のNワードが読み出される。読み出されたNワードは
バス16、14を介してメモリ12にメモリ書き込み回
路6により書き込まれる。メモリ書き込み回路6の構成
と動作は、メモリ読み出し回路5と同じであるのでその
詳細は図示しない。こうして、受信部2による後続のN
ワードのデータの受信と並行して先行するNワードの受
信データを受信バッファ8から読み出し、メモリ12に
転送される。なお、OR回路47は受信データ転送信号
403が出力されると、バス接続信号404を出力し、
バス接続回路9にバス14、16を接続させるのは送信
の場合と同じである。転送要求回路3では、Nワードの
受信データを転送した段階で、比較回路38は、カウン
タ34の値とレジスタ39内の転送データ数Nとの一致
を検出し、線322を介してフリップフロップ41をリ
セットする。こうして、Nワードのデータの転送が終了
する。
【0037】以上の動作を繰り返した結果として、メモ
リ書き込み回路6では、メモリ書き込みアドレスが受信
データ用バッファ領域の最終アドレスとの一致を検出す
るに至ると、CPUは、コントロールレジスタ30内の
受信許可ビットをリセットする命令を発行し、受信動作
の終了を指示する。
【0038】(4)送信バッファ7と受信バッファ8の
バッファサイズ 送信バッファ7は、まず1回の転送で転送されるNワー
ドのデータを格納できる必要があり、更に後続のNワー
ドのデータがメモリ12からその送信バッファ7に転送
されている間もデータの送信を行うためには、その分の
データが送信バッファ7に格納されている必要がある。
更には、送信バッファ7へのデータ転送は、転送要求3
11が発行する直前に受信バッファ8のデータの転送が
開始されている場合、前記受信バッファ8のデータ転送
が終了するまで、データの転送を行えないため、この間
に送信されるデータも格納しておく必要がある。以上の
ことは、受信バッファ8についても全く同じこととな
る。メモリ12と送信バッファ7の間で後続のNワード
の送信データが転送中に、送信部1により送信されるデ
ータの数をMワードとするならば、双方のバッファ7、
8の各々に必要とされるバッファサイズSワードは以下
の数1で表される。
【0039】
【数1】 S = N + 2M (数1) ここで内部の転送は内部クロック同期で行われるため、
その速度は内部クロックmと同じであり、送信、受信の
速度は外部との転送クロックgと同じである。また非同
期対策の観点より通常の送信、受信のクロックgは内部
クロックmより速くなることはない。そこで内部クロッ
クmの周波数をL、送受信クロックgの周波数をKと
し、送受信するデータの1ワードをBビットとすると、
上記Nワードのデータ転送中に送信されるデータの数は
数2で現すことができる。
【0040】
【数2】 M=(N*L)/(K*B) (数2) 数2を数1にあてはめると、必要なバッファサイズSは
次の数3によって与えられる。
【0041】
【数3】 S=N+2(N*L)/(K*B) (数3) なお、数2、3において端数が出るときには、切り上げ
るものとする。
【0042】ここで、シリアルポートがA,B2つ使用
されている場合についても考えてみる。シリアルポート
Aに必要な送信バッファのバッファ数SAワードには、
シリアルポートBとメモリ12との転送による、バス待
ちの間に送信するデータをも準備する必要がある。ここ
で、シリアルポートAにおける一度の転送において転送
されるデータをNAワードとし、シリアルポートAとメ
モリ12との転送中に送信されるデータをMBワードと
し、更にシリアルポートBとメモリにおいて転送してい
る間に、シリアルポートAにおいて送信されるデータを
MBワードとすると。SAワードは数4の様になる。
【0043】
【数4】 SA=NA+2MA+2MB (数4) ここでMA,MBは数2により求めることができる。シ
リアルポートA,Bの送信クロックの周波数をそれぞ
れ、KA,KBとし、MA,MBを数2より求め、数4
にあてめると、SAは数5よって与えられる。
【0044】
【数5】 SA=NA+2(L*NA)/(KA*B) +2(L*NB)/(KA*B) (数5) 数5において(L*NB)/(KA*B)は、シリアルポート
Bの転送中にシリアルポートAから送信されるデータの
ワード数を現す。このように送信及び受信バッファに必
要なバッファサイズSはシリアルポートの数と、それぞ
れの一度に転送するデータのワード数にも影響される。
【0045】次に送信の開始時について考えると、送信
開始時に前記数3もしくは数5に示すだけの数のデータ
が事前に送信バッファ7に格納されている必要がある。
よって本実施の形態では、データ数設定レジスタ39を
転送要求回路3に備え、これをCPU11によりソフト
的に変更できるようにすると共に、CPU11が転送要
求111を出力して、メモリ12から送信バッファ7へ
の転送が行えるようにしている。なお、受信バッファ8
のサイズも同様であり、さらに、最初にSワードのデー
タが受信されてから、メモリ12に対する転送を開始さ
せる。このように、バッファサイズを連続転送データ数
Nより大きくすることにより、送信部1あるい受信部2
は、送信あるいは受信を途絶えさせることなく実行でき
る。
【0046】たとえば、全てのポートにおいて、連続し
て転送するワード数Nを40と仮定すると、解決すべき
課題に関して記載したのと同じ条件では、転送要求が各
シリアルポートにより発生するのは40ワード×8ビッ
トで、320サイクルに1回発生することになる。これ
に対し、一回の転送に必要なサイクル数は、オーバーヘ
ッド1サイクル+データ40サイクルで41サイクルと
なる。したがって、6つのポート全てでは、41サイク
ル×6回となり。74サイクルの余裕が出てくる。
【0047】以上から明らかなように、本実施の形態で
は、シリアルインタフェース回路aとメモリ12の間の
データ転送が連続して複数ワードの送信データ及び受信
データに対して行われるので、1ワードのデータを別々
に転送する場合に比較して、データ転送のオーバヘッド
が小さくなる。そのために、1ワード当たりのデータ転
送時間が小さくなる。この結果、従来のように、バスの
使用率が増大することによる、送信データの重複送信、
受信データの喪失という問題を回避できる。特に、シリ
アルインタフェース回路の数が増大したときに有効であ
る。さらに、このようなデータの転送時間が大きいと、
CPUがメモリ12を使用するためにバス14を使用で
きる時間が減少する。従って、送信データの重複送信、
受信データの喪失という問題がない場合でも、本実施例
はCPUによるバス利用時間を増大できるという利点を
有する。
【0048】
【発明の効果】本発明によれば、シリアルインタフェー
ス回路とデータ処理装置用のメモリとの間の送信データ
または受信データの転送時間を低減でき、それらを接続
するバスの混雑を低減できる。
【図面の簡単な説明】
【図1】本発明によるデータ処理装置の概略構成図。
【図2】転送要求回路の構成図。
【図3】バス権制御回路の構成図。
【図4】メモリ読み出し回路の構成図。
【図5】送信バッファへの連続書き込み回路の構成図。
【図6】送信バッファへの読み出し回路の構成図。
【符号の説明】
c…クロック発生回路(CPG)、11…中央処理ユニ
ット(CPU)

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】処理装置と、 その処理装置がアクセスするメモリと、上記メモリにバ
    スを介して接続された少なくとも一つのシリアルインタ
    フェース回路とを有するデータ処理装置であって、 上記シリアルインタフェース回路は、 上記メモリにバスを介して接続され、複数ワードの送信
    データを一時的に保持するバッファと、 該バッファに保持された複数ワードの送信データを外部
    装置にシリアルに送信する送信部と、 該送信部が該バッファ内の所定の複数のワード数のデー
    タを送信するごとに、該メモリから該バッファへの後続
    の送信データの転送を要求する転送要求を発行する転送
    要求回路とを有し、 上記データ処理装置は、上記転送要求に応答して、上記
    所定の複数のワード数の後続の送信データを該メモリか
    ら読み出し該バスを介して該バッファに連続して転送す
    るための転送制御回路をさらに有するデータ処理装置。
  2. 【請求項2】上記バッファは、上記所定の複数のワード
    数のデータより多いデータを保持可能に構成され、 上記転送制御回路は、上記CPUが発行した、送信デー
    タの先頭部分の転送要求に応答して、上記メモリに保持
    された送信データの先頭に位置する、上記所定の複数の
    ワード数のデータより多い送信データを上記メモリから
    連続して読み出し、上記バッファに転送する回路を有す
    る請求項1記載のデータ処理装置。
  3. 【請求項3】上記バッファは、上記転送要求回路による
    上記転送要求の発行後に上記所定の複数のワード数の後
    続の送信データが上記メモリから上記バッファに転送さ
    れるまでの間に、上記バッファに保持された送信データ
    の残りを引き続き送信できるように、上記所定の複数の
    ワード数のデータより多いデータを保持可能に構成され
    ている請求項2記載のデータ処理装置。
  4. 【請求項4】上記バスは、 上記処理装置と上記メモリを接続するための第1のバス
    と、 上記シリアルインタフェース回路に接続された第2のバ
    スと、 上記第1、第2のバスの接続を制御するバス接続回路と
    を含み、 上記転送制御回路は、 上記メモリから複数ワードの送信データを上記第1のバ
    ス上に順次読み出す回路と、 上記第1のバスと第2のバスの使用権を上記知り合うイ
    ンタフェース回路及び上記中央処理装置に対して制御す
    るバス制御回路とを有し、 上記転送要求回路は、上記所定の複数のワード数の後続
    の送信データが該メモリから読み出されるまでの間上記
    転送要求を維持する回路を有し、 上記バス制御回路は、上記転送要求に応答して、上記シ
    リアルインタフェース回路に上記バスの使用権を与えた
    ときに、上記転送要求が出力されている間、該第1、第
    2の使用権を該上記シリアルインタフェース回路に与え
    続ける回路と、 その間、上記第1、第2のバスを接続するように上記バ
    ス接続回路を制御した状態で、上記読み出し回路を繰り
    返し起動する回路を有する請求項1から3のいずか一つ
    に記載のデータ処理装置。
  5. 【請求項5】処理装置と、 その処理装置がアクセスするメモリと、 上記メモリにバスを介して接続された少なくとも一つの
    シリアルインタフェース回路とを有するデータ処理装置
    であって、 上記シリアルインタフェース回路は、 上記メモリにバスを介して接続され、複数ワードの受信
    データを一時的に保持するバッファと、 外部装置からシリアルに複数ワードのデータを受信し該
    バッファに供給する受信部と、 該受信部が所定の複数ワードのデータを受信するごと
    に、該バッファから該メモリへの受信データの転送を要
    求する転送要求回路とを有し、 上記データ処理装置は、上記転送要求に応答して複数ワ
    ードの受信データを該バスを介して該バッファから該メ
    モリに連続して転送する回路をさらに有するデータ処理
    装置。
  6. 【請求項6】上記バッファは、上記転送要求回路による
    上記転送要求の発行後に上記所定の複数のワード数の後
    続の受信データが上記バッファから上記メモリに転送さ
    れるまでの間に、上記バッファに保持された受信済みの
    データを保持する領域以外の領域に引き続き受信したデ
    ータを保持できるように、上記所定の複数のワード数の
    データより多いデータを保持可能に構成されている請求
    項5記載のデータ処理装置。
  7. 【請求項7】上記バスは、 上記処理装置と上記メモリを接続するための第1のバス
    と、 上記シリアルインタフェース回路に接続された第2のバ
    スと、 上記第1、第2のバスの接続を制御するバス接続回路と
    を含み、 上記転送制御回路は、 上記第1のバスと第2のバスの使用権を上記知り合うイ
    ンタフェース回路及び上記中央処理装置に対して制御す
    るバス制御回路を有し、 上記転送要求回路は、 上記転送要求が上記バス制御回路により受理された後
    に、該バッファから上記所定の複数のワード数の受信デ
    ータを上記第2のバスに順次読み出す回路と、 上記所定の複数のワード数の受信データが該バッファか
    ら読み出されるまでの間上記転送要求を維持する回路を
    有し、 上記バス制御回路は、上記転送要求に応答して、上記シ
    リアルインタフェース回路に上記バスの使用権を与えた
    ときに、上記転送要求が出力されている間、該第1、第
    2の使用権を該上記シリアルインタフェース回路に与え
    続ける回路と、 その間、上記第1、第2のバスを接続するように上記バ
    ス接続回路を制御した状態で、上記第1のバス上のデー
    タを上記メモリに順次書き込む回路とを有する請求項5
    または6記載のデータ処理装置。
JP25029396A 1996-09-20 1996-09-20 データ処理装置 Pending JPH1097411A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25029396A JPH1097411A (ja) 1996-09-20 1996-09-20 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25029396A JPH1097411A (ja) 1996-09-20 1996-09-20 データ処理装置

Publications (1)

Publication Number Publication Date
JPH1097411A true JPH1097411A (ja) 1998-04-14

Family

ID=17205759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25029396A Pending JPH1097411A (ja) 1996-09-20 1996-09-20 データ処理装置

Country Status (1)

Country Link
JP (1) JPH1097411A (ja)

Similar Documents

Publication Publication Date Title
US5613162A (en) Method and apparatus for performing efficient direct memory access data transfers
US5471632A (en) System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred
US4868742A (en) Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed
US4860244A (en) Buffer system for input/output portion of digital data processing system
US5805927A (en) Direct memory access channel architecture and method for reception of network information
US4490788A (en) Well-logging data processing system having segmented serial processor-to-peripheral data links
CA2050129C (en) Dynamic bus arbitration with grant sharing each cycle
EP0165600B1 (en) Input/output bus for computer
US5276684A (en) High performance I/O processor
KR100231897B1 (ko) 디엠에이 채널의 사이즈 데이터를 수신하는 디엠에이 제어회로
KR19990022324A (ko) 주변 소자 상호연결 버스상의 버스트 전송 시스템및 방법
KR20040044366A (ko) 공유 메모리 데이터 전송장치
JPH0577103B2 (ja)
JP2539058B2 (ja) デ―タプロセッサ
KR930002787B1 (ko) 주변 제어기와 어댑터 인터페이스
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US4896266A (en) Bus activity sequence controller
US5067075A (en) Method of direct memory access control
KR100348545B1 (ko) 통신 dma 장치
JPH1097411A (ja) データ処理装置
EP3819778A1 (en) Bus system and method for operating a bus system
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
KR20010050234A (ko) 메모리(mem)와 결합한 데이터 처리용 디바이스
JPH04225458A (ja) コンピュータ
JP2826780B2 (ja) データ転送方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20050727

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051129