JPH03294951A - パーソナルコンピュータシステムにおける高速データ転送方式 - Google Patents
パーソナルコンピュータシステムにおける高速データ転送方式Info
- Publication number
- JPH03294951A JPH03294951A JP9676390A JP9676390A JPH03294951A JP H03294951 A JPH03294951 A JP H03294951A JP 9676390 A JP9676390 A JP 9676390A JP 9676390 A JP9676390 A JP 9676390A JP H03294951 A JPH03294951 A JP H03294951A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- personal computer
- external
- output
- 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
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 38
- 230000002093 peripheral effect Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 39
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はパーソナルコンピュータシステムにおけるデー
タ転送方式に関し、特にパーソナルコンピュータが管理
するメモリ上のデータを周辺機器に高速に転送するパー
ソナルコンピュータシステムにおける高速データ転送方
式に関する。
タ転送方式に関し、特にパーソナルコンピュータが管理
するメモリ上のデータを周辺機器に高速に転送するパー
ソナルコンピュータシステムにおける高速データ転送方
式に関する。
従来のパーソナルコンピュータシステムにおけるデータ
転送方式は、パーソナルコンピュータの中央処理ユニッ
ト(CP U)がメモリからデータを読み出して出力ポ
ートに書き込むことにより周辺機器にデータを転送する
という方式であった。
転送方式は、パーソナルコンピュータの中央処理ユニッ
ト(CP U)がメモリからデータを読み出して出力ポ
ートに書き込むことにより周辺機器にデータを転送する
という方式であった。
また、メモリ上のデータをパーソナルコンピュータのC
PUを介在させずに周辺機器に直接転送する方式(ダイ
レクトメモリアクセス転送方式)もあった。
PUを介在させずに周辺機器に直接転送する方式(ダイ
レクトメモリアクセス転送方式)もあった。
ところで、従来、主流であった16ビ7)のパーソナル
コンピュータは、処理速度やメモリ管理方式の点から3
2ビットのパーソナルコンピュータへと移行しつつある
。ただし、32ビットのパーソナルコンピュータでは、
16ビットのパーソナルコンピュータで使用されていた
従来からの周辺機器を使用できるように、装置拡張用の
外部バスは16ビ7)構成となっており、内部処理速度
に比較して外部バスへのアクセス速度がかなり遅くなっ
ており、特に外部バスに接続される増設用メモリボード
については初期の製品でも使用できるようにアクセスの
待ちが多数挿入されていて非常に遅いものとなっていた
。
コンピュータは、処理速度やメモリ管理方式の点から3
2ビットのパーソナルコンピュータへと移行しつつある
。ただし、32ビットのパーソナルコンピュータでは、
16ビットのパーソナルコンピュータで使用されていた
従来からの周辺機器を使用できるように、装置拡張用の
外部バスは16ビ7)構成となっており、内部処理速度
に比較して外部バスへのアクセス速度がかなり遅くなっ
ており、特に外部バスに接続される増設用メモリボード
については初期の製品でも使用できるようにアクセスの
待ちが多数挿入されていて非常に遅いものとなっていた
。
上述した従来のパーソナルコンピュータにおけるデータ
転送方式は、周辺機器へのデータ転送レートに対してパ
ーソナルコンピュータがもつメモリのアクセス速度が十
分に速ければ問題は生じなかったが、32ビットのパー
ソナルコンピュータでは装置拡張用の16ビントの外部
バスに接続されたメモリ (以下、外部メモリという。
転送方式は、周辺機器へのデータ転送レートに対してパ
ーソナルコンピュータがもつメモリのアクセス速度が十
分に速ければ問題は生じなかったが、32ビットのパー
ソナルコンピュータでは装置拡張用の16ビントの外部
バスに接続されたメモリ (以下、外部メモリという。
これに対して内部バスに接続されたメモリを内部メモリ
という)へのアクセス速度が非常に遅くなっているので
、相対的に周辺機器へのデータ転送レートが速すぎてメ
モリのアクセス速度や出力ポートのアクセス速度が間に
合わない場合が生しるという問題点がある。
という)へのアクセス速度が非常に遅くなっているので
、相対的に周辺機器へのデータ転送レートが速すぎてメ
モリのアクセス速度や出力ポートのアクセス速度が間に
合わない場合が生しるという問題点がある。
また、32ビットのパーソナルコンピュータでは内部メ
モリと外部メモリとのアクセス速度が大きく異なるので
、メモリ上のデータを周辺機器に出力する場合には内部
メモリ上のデータと外部メモリ上のデータとではデータ
転送方式を変えなければならず、そのためにはメモリマ
ツプ上における高速な内部メモリと低速な外部メモリと
の場所(アドレス)を前もってアプリケーションプログ
ラムに与えなければならないという問題点がある。
モリと外部メモリとのアクセス速度が大きく異なるので
、メモリ上のデータを周辺機器に出力する場合には内部
メモリ上のデータと外部メモリ上のデータとではデータ
転送方式を変えなければならず、そのためにはメモリマ
ツプ上における高速な内部メモリと低速な外部メモリと
の場所(アドレス)を前もってアプリケーションプログ
ラムに与えなければならないという問題点がある。
さらに、32ビットのパーソナルコンピュータでは、内
部処理およびデータ出力タイミングと周辺機器へのデー
タ転送レートとの間に大きな速度の差が存在するので、
この速度の差を何らかの手段で吸収することが望ましい
という問題点がある。
部処理およびデータ出力タイミングと周辺機器へのデー
タ転送レートとの間に大きな速度の差が存在するので、
この速度の差を何らかの手段で吸収することが望ましい
という問題点がある。
本発明の目的は、上述の点に鑑み、ソフトウェアの介在
を減らしてソフトウェアの処理の一部をハードウェアに
肩代わりさせることにより、通常の出力ポートやダイレ
クトメモリアクセス転送を用いたデータ転送レートより
も高速でパーソナルコンピュータから周辺装置にデータ
転送を行うことができるパーソナルコンピュータシステ
ムにおける高速データ転送方式を提供することにある。
を減らしてソフトウェアの処理の一部をハードウェアに
肩代わりさせることにより、通常の出力ポートやダイレ
クトメモリアクセス転送を用いたデータ転送レートより
も高速でパーソナルコンピュータから周辺装置にデータ
転送を行うことができるパーソナルコンピュータシステ
ムにおける高速データ転送方式を提供することにある。
本発明のパーソナルコンピュータシステムにおける高速
データ転送方式は、32ビットの内部バスと16ビット
の装置拡張用の外部バスとにメモリを接続できかつ内部
バスに接続された内部メモリと外部バスに接続された外
部メモリとでCPUから見たときにアクセス速度が異な
るパーソナルコンピュータと、前記外部バスに接続され
所定のアドレスが前記外部バス上に現れたときにそのデ
ータをFIFOメモリに取り込むとともに前記FIF○
メモリ上のデータを周辺機器に転送するインタフェース
部と、前記パーソナルコンピュータから前記周辺機器に
データを出力するアプリケーションプログラムの起動時
にメモリに対して規定の読出し/書込みを行うことによ
ってアクセス速度を測定しアクセス速度の相違に従って
内部メモリおよび外部メモリのアドレスを検出する初期
設定処理と、前記パーソナルコンピュータから前記周辺
機器へのデータ出力時に前記初期設定処理により検出さ
れた内部メモリおよび外部メモリのアドレスを参照して
アドレスが内部メモリであればメモリマツブトI/○に
より前記FIFOメモリにデータを出力し、アドレスが
外部メモリであれば外部メモリよりデータを読み出した
際に、前記外部バス上のデータを前記インタフェース部
によって前記FIFOメモリに取り込ませることにより
前記周辺機器にデータを転送させるデータ出力処理とを
備えることを特徴とする。
データ転送方式は、32ビットの内部バスと16ビット
の装置拡張用の外部バスとにメモリを接続できかつ内部
バスに接続された内部メモリと外部バスに接続された外
部メモリとでCPUから見たときにアクセス速度が異な
るパーソナルコンピュータと、前記外部バスに接続され
所定のアドレスが前記外部バス上に現れたときにそのデ
ータをFIFOメモリに取り込むとともに前記FIF○
メモリ上のデータを周辺機器に転送するインタフェース
部と、前記パーソナルコンピュータから前記周辺機器に
データを出力するアプリケーションプログラムの起動時
にメモリに対して規定の読出し/書込みを行うことによ
ってアクセス速度を測定しアクセス速度の相違に従って
内部メモリおよび外部メモリのアドレスを検出する初期
設定処理と、前記パーソナルコンピュータから前記周辺
機器へのデータ出力時に前記初期設定処理により検出さ
れた内部メモリおよび外部メモリのアドレスを参照して
アドレスが内部メモリであればメモリマツブトI/○に
より前記FIFOメモリにデータを出力し、アドレスが
外部メモリであれば外部メモリよりデータを読み出した
際に、前記外部バス上のデータを前記インタフェース部
によって前記FIFOメモリに取り込ませることにより
前記周辺機器にデータを転送させるデータ出力処理とを
備えることを特徴とする。
本発明のパーソナルコンピュータシステムにおける高速
データ転送方式では、パーソナルコンピュータが32ビ
ットの内部バスと16ビットの装置拡張用の外部バスと
にメモリを接続できかつ内部バスに接続された内部メモ
リと外部バスに接続された外部メモリとでCPUから見
たときにアクセス速度が異なり、インタフェース部が外
部バスに接続され所定のアドレスが外部バス上に現れた
ときにそのデータをFIF○メモリに取り込むとともに
FIFOメモリ上のデータを周辺機器に転送し、初期設
定処理がパーソナルコンピュータから周辺機器にデータ
を出力するアプリケーションプログラムの起動時にメモ
リに対して規定の読出し/書込みを行うことによってア
クセス速度を測定しアクセス速度の相違に従って内部メ
モリおよび外部メモリのアドレスを検出し、データ出力
処理がパーソナルコンピュータから周辺機器へのデータ
出力時に初期設定処理により検出された内部メモリおよ
び外部メモリのアドレスを参照してアドレスが内部メモ
リであればメモリマツブト、1/OによりFIFOメモ
リにデータを出力し、アドレスが外部メモリであれば外
部メモリよりデータを読み出し、外部バス上のデータを
インタフェース部によってFIFOメモリに取り込ませ
ることにより周辺機器にデータを転送させる。
データ転送方式では、パーソナルコンピュータが32ビ
ットの内部バスと16ビットの装置拡張用の外部バスと
にメモリを接続できかつ内部バスに接続された内部メモ
リと外部バスに接続された外部メモリとでCPUから見
たときにアクセス速度が異なり、インタフェース部が外
部バスに接続され所定のアドレスが外部バス上に現れた
ときにそのデータをFIF○メモリに取り込むとともに
FIFOメモリ上のデータを周辺機器に転送し、初期設
定処理がパーソナルコンピュータから周辺機器にデータ
を出力するアプリケーションプログラムの起動時にメモ
リに対して規定の読出し/書込みを行うことによってア
クセス速度を測定しアクセス速度の相違に従って内部メ
モリおよび外部メモリのアドレスを検出し、データ出力
処理がパーソナルコンピュータから周辺機器へのデータ
出力時に初期設定処理により検出された内部メモリおよ
び外部メモリのアドレスを参照してアドレスが内部メモ
リであればメモリマツブト、1/OによりFIFOメモ
リにデータを出力し、アドレスが外部メモリであれば外
部メモリよりデータを読み出し、外部バス上のデータを
インタフェース部によってFIFOメモリに取り込ませ
ることにより周辺機器にデータを転送させる。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係る高速データ転送方式
が適用されたパーソナルコンピュータシステムの構成を
示す回路ブロック図である。このパーソナルコンピュー
タシステムは、プリンタインタフェース部1と、ランダ
ムアクセスメモリ (RAM)でなる外部メモリ2と、
パーソナルコンピュータ3と、キーボード(KB)4と
、陰極線管デイスプレィ装置(CRT)5と、フロッピ
ディスク装置(FD)6と、固定磁気ディスク装W (
HD)7と、レーザプリンタ8とから、その主要部が構
成されている。
が適用されたパーソナルコンピュータシステムの構成を
示す回路ブロック図である。このパーソナルコンピュー
タシステムは、プリンタインタフェース部1と、ランダ
ムアクセスメモリ (RAM)でなる外部メモリ2と、
パーソナルコンピュータ3と、キーボード(KB)4と
、陰極線管デイスプレィ装置(CRT)5と、フロッピ
ディスク装置(FD)6と、固定磁気ディスク装W (
HD)7と、レーザプリンタ8とから、その主要部が構
成されている。
プリンタインタフェース部lば、パーソナルコンピュー
タ3の16ビットの装置拡張用の外部バス22に接続さ
れる基板上に作成されており、コントローラ(CONT
)11と、FIFO(First−In First
−Out)メモリ12と、パラレル/シリアル変換回路
(P/5)13と、■/○(Inputloutput
)インタフェース14と、マイクロプロセンサユニット
(MPU)15と、ビデオクロック発生回路(VCG)
16とから構成されている。
タ3の16ビットの装置拡張用の外部バス22に接続さ
れる基板上に作成されており、コントローラ(CONT
)11と、FIFO(First−In First
−Out)メモリ12と、パラレル/シリアル変換回路
(P/5)13と、■/○(Inputloutput
)インタフェース14と、マイクロプロセンサユニット
(MPU)15と、ビデオクロック発生回路(VCG)
16とから構成されている。
プリンタインタフェース部1は、パーソナルコンピュー
タ3上で動作するアプリケーションプログラム(図示せ
ず)がメモリ上のデータを読み出す動作をした際に外部
バス22上に現れるアドレスを常に監視し、レーザプリ
ンタ8に出力するデータが格納されているメモリブロッ
ク(512にハイド単位のメモリ集合をいう。以下同様
)の7ドレスが現れたときに外部バス22上のデータを
規定のタイミングでFIFOメモリ12に取り込み、F
IFOメモリ12からレーザプリンタ8に転送する役目
をする。
タ3上で動作するアプリケーションプログラム(図示せ
ず)がメモリ上のデータを読み出す動作をした際に外部
バス22上に現れるアドレスを常に監視し、レーザプリ
ンタ8に出力するデータが格納されているメモリブロッ
ク(512にハイド単位のメモリ集合をいう。以下同様
)の7ドレスが現れたときに外部バス22上のデータを
規定のタイミングでFIFOメモリ12に取り込み、F
IFOメモリ12からレーザプリンタ8に転送する役目
をする。
コントローラ11は、デイプスイッチ等であらかしめ設
定された所定のアドレスのデータが外部バス22上に現
れたときに外部バス22上のデータをFIFOメモリ1
2に取り込むとともに、FIFOメモリ12上のデータ
をデータ出力ライン25を介してレーザプリンタ8に順
次転送する。
定された所定のアドレスのデータが外部バス22上に現
れたときに外部バス22上のデータをFIFOメモリ1
2に取り込むとともに、FIFOメモリ12上のデータ
をデータ出力ライン25を介してレーザプリンタ8に順
次転送する。
FIFOメモリ12は、パーソナルコンピュータ3の内
部処理およびデータ出力タイミングとレーザプリンタ8
へのデータ転送レートとの間に存在する速度の差を吸収
するために使用される大容量の出力用バッファである。
部処理およびデータ出力タイミングとレーザプリンタ8
へのデータ転送レートとの間に存在する速度の差を吸収
するために使用される大容量の出力用バッファである。
なお、デイプスイッチ等によって、FIFOメモリ12
に割り付けるアドレス(■10マツプドアドレス)は、
通信あるいは拡張用の高速メモリブロックのアドレスを
使用し、CPU31からのアクセス時に待ちがかからな
いようにする。
に割り付けるアドレス(■10マツプドアドレス)は、
通信あるいは拡張用の高速メモリブロックのアドレスを
使用し、CPU31からのアクセス時に待ちがかからな
いようにする。
パーソナルコンピュータ3は、32ビットの中央処理ユ
ニット (CPU)31と、キーボードインタフェース
(KB I/F)32と、珍種線管デイスプレィ装置
インタフェース(CRT I/F)33と、フロッピ
ーディスク装置インタフェース(FD I/F)34
と、固定磁気ディスク装置インタフェース(HD I
/F)35と、リードオンリメモリ (ROM)36と
、ランダムアクセスメモリ (RAM)でなる内部メモ
リ37と、I / O(I n p u t / Ou
t p u t )インタフェース38と、バスコン
トローラ(BUSCONT)39とを含んで構成されて
いる。
ニット (CPU)31と、キーボードインタフェース
(KB I/F)32と、珍種線管デイスプレィ装置
インタフェース(CRT I/F)33と、フロッピ
ーディスク装置インタフェース(FD I/F)34
と、固定磁気ディスク装置インタフェース(HD I
/F)35と、リードオンリメモリ (ROM)36と
、ランダムアクセスメモリ (RAM)でなる内部メモ
リ37と、I / O(I n p u t / Ou
t p u t )インタフェース38と、バスコン
トローラ(BUSCONT)39とを含んで構成されて
いる。
なお、第1図において、符号21はパーソナルコンピュ
ータ3内の32ビットの内部バス、22は16ビットの
装置拡張用の外部バス、23はプリンタインタフェース
部1内の8ビットの内部バス、24はコミュニケーショ
ンライン、25はデータ出力ラインをそれぞれ示す。
ータ3内の32ビットの内部バス、22は16ビットの
装置拡張用の外部バス、23はプリンタインタフェース
部1内の8ビットの内部バス、24はコミュニケーショ
ンライン、25はデータ出力ラインをそれぞれ示す。
第2図は、パーソナルコンピュータ3上で動作するアプ
リケーションプログラムの初期設定処理を示す流れ図で
ある。この初期設定処理は、各メモリブロック毎に読出
し/書込みを規定回数、例えば100万回繰り返し行い
、これに費やした時間を測定してアクセス速度が高速な
内部メモリ37および低速な外部メモリ2のメモリマツ
プ上の配lを認識するためにアプリケーションプログラ
ム中に加えられたものであり、判定対象アドレス初期設
定ステップS1と、タイマカウンタクリアステップS2
と、タイマ割込み起動ステップS3と、判定対象アドレ
スデータ規定回数読出し/書込みステップS4と、タイ
マ割込み停止ステップS5と、被比較データへのタイマ
カウンタの設定ステップs6と、判定対象アドレスメモ
リブロック切換えステップS7と、メモリブロック終了
判定ステップS8と、タイマカウンタクリアステップS
9と、タイマ割込み起動ステ、ブSIOと、判定対象ア
ドレスデータ規定回数続出し/書込みステップSllと
、タイマ割込み停止ステップS12と、タイマカウンタ
と被比較データの2倍との比較ステ、プS13と、判定
フラグ0リセツトステツプS14と、判定フラグ1セツ
トステツプS15と、タイマカウンタインクリメントス
テップS16とからなる。
リケーションプログラムの初期設定処理を示す流れ図で
ある。この初期設定処理は、各メモリブロック毎に読出
し/書込みを規定回数、例えば100万回繰り返し行い
、これに費やした時間を測定してアクセス速度が高速な
内部メモリ37および低速な外部メモリ2のメモリマツ
プ上の配lを認識するためにアプリケーションプログラ
ム中に加えられたものであり、判定対象アドレス初期設
定ステップS1と、タイマカウンタクリアステップS2
と、タイマ割込み起動ステップS3と、判定対象アドレ
スデータ規定回数読出し/書込みステップS4と、タイ
マ割込み停止ステップS5と、被比較データへのタイマ
カウンタの設定ステップs6と、判定対象アドレスメモ
リブロック切換えステップS7と、メモリブロック終了
判定ステップS8と、タイマカウンタクリアステップS
9と、タイマ割込み起動ステ、ブSIOと、判定対象ア
ドレスデータ規定回数続出し/書込みステップSllと
、タイマ割込み停止ステップS12と、タイマカウンタ
と被比較データの2倍との比較ステ、プS13と、判定
フラグ0リセツトステツプS14と、判定フラグ1セツ
トステツプS15と、タイマカウンタインクリメントス
テップS16とからなる。
第3図は、パーソナルコンピュータ3上で動作するアプ
リケーションプログラムのデータ出力処理を示す流れ図
である。このデータ出力処理は、メモリ上に確保された
連続する複数のメモリブロックからなる出カバソファの
データをレーザプリンタ8に出力するためにアプリケー
ションプログラム中に設けられたものであり、全メモリ
ブロック出力完了判定ステップS21と、出力データポ
インタへのメモリブロック先頭アドレスのtt定スステ
ップS22、FIF○メモリ空き状態検出ステップS2
3と、ブロック内残りデータ数とFIFOメモリ空き容
量との比較ステップS24と、出力データ数へのFIF
Oメモリ空き容量の設定ステップS25と、出力データ
数へのブロック内残りデータ数の設定ステップ326と
、内部メモリ判定ステップS27と、内部メモリデータ
メモリマフブトI10出カステップ328と、外部メモ
リデータ読取りステップS29と、出力データポインタ
更新ステップ330と、メモリブロック内全データ出力
完了判定ステップ331と、メモリブロック更新ステッ
プS32とからなる。
リケーションプログラムのデータ出力処理を示す流れ図
である。このデータ出力処理は、メモリ上に確保された
連続する複数のメモリブロックからなる出カバソファの
データをレーザプリンタ8に出力するためにアプリケー
ションプログラム中に設けられたものであり、全メモリ
ブロック出力完了判定ステップS21と、出力データポ
インタへのメモリブロック先頭アドレスのtt定スステ
ップS22、FIF○メモリ空き状態検出ステップS2
3と、ブロック内残りデータ数とFIFOメモリ空き容
量との比較ステップS24と、出力データ数へのFIF
Oメモリ空き容量の設定ステップS25と、出力データ
数へのブロック内残りデータ数の設定ステップ326と
、内部メモリ判定ステップS27と、内部メモリデータ
メモリマフブトI10出カステップ328と、外部メモ
リデータ読取りステップS29と、出力データポインタ
更新ステップ330と、メモリブロック内全データ出力
完了判定ステップ331と、メモリブロック更新ステッ
プS32とからなる。
次に、このように構成された本実施例のパーソナルコン
ピュータシステムにおける高速データ転送方式の動作に
ついて説明する。
ピュータシステムにおける高速データ転送方式の動作に
ついて説明する。
(1)初期設定処理
パーソナルコンピュータ3上でアプリケーションプログ
ラムが起動されると、その初期設定処理では、CPU3
1から見たメモリマツプ上の512にバイトを1メモリ
ブロツクとし、メモリブロックの先頭アドレスのデータ
の読出し/書込み動作を100万回繰り返して、この間
にタイマ割込みにより100万回のデータの読出し/書
込みにかかる時間を測定する。パーソナルコンピュータ
3の場合、0H(Hは数字が16進数であることを示す
。以下同様)番地付近のアドレスのメモリブロックは内
部メモリ37であることが分かっているので、このメモ
リブロックの測定値より2倍以上遅い測定値のメモリブ
ロックを外部メモリ2であると判断する。
ラムが起動されると、その初期設定処理では、CPU3
1から見たメモリマツプ上の512にバイトを1メモリ
ブロツクとし、メモリブロックの先頭アドレスのデータ
の読出し/書込み動作を100万回繰り返して、この間
にタイマ割込みにより100万回のデータの読出し/書
込みにかかる時間を測定する。パーソナルコンピュータ
3の場合、0H(Hは数字が16進数であることを示す
。以下同様)番地付近のアドレスのメモリブロックは内
部メモリ37であることが分かっているので、このメモ
リブロックの測定値より2倍以上遅い測定値のメモリブ
ロックを外部メモリ2であると判断する。
詳しくは、初期設定処理では、まず判定対象アドレスに
0OOOOOH番地を設定しくステップS1)、タイマ
カウンタをクリアする(ステップ52)6次に、タイマ
割込みを起動して(ステップS3)、タイマカウンタの
インクリメントを開始させ(ステップ516)、判定対
象アドレスに対してデータの読出し/書込みを100万
回繰り返し行う(ステップS4)。続いて、タイマ割込
みを停止して(ステップS5)、タイマカウンタのイン
クリメントを終了させ、タイマカウンタの内容を被比較
データに設定する(ステップS6)。
0OOOOOH番地を設定しくステップS1)、タイマ
カウンタをクリアする(ステップ52)6次に、タイマ
割込みを起動して(ステップS3)、タイマカウンタの
インクリメントを開始させ(ステップ516)、判定対
象アドレスに対してデータの読出し/書込みを100万
回繰り返し行う(ステップS4)。続いて、タイマ割込
みを停止して(ステップS5)、タイマカウンタのイン
クリメントを終了させ、タイマカウンタの内容を被比較
データに設定する(ステップS6)。
次に、判定対象アドレスを1メモリブロツク(8000
0H番地=512にバイト)分更新しくステップS7)
、メモリブロックが終了であるかどうかをチエツクする
(ステップS8)、メモリブロックが終了でなければ、
タイマカウンタをクリアしくステップS9)、タイマ割
込みを起動して(ステップ510)、タイマカウンタの
インクリメントを開始させ(ステップ516)、判定対
象アドレスに対してデータの読出し/書込みを1゜Oガ
ロ繰り返し行う (ステップ511)。次に、タイマ割
込みを停止して(ステップ512)、タイマカウンタの
インクリメントを終了させ、タイマカウンタの内容が被
比較データの2倍以上であるかどうか(すなわち、メモ
リブロックが外部メモリ2であるかどうか)を判定する
(ステップS13ン。タイマカウンタが被比較データの
2倍以上でなければ、メモリブロックは内部メモリ37
であると判定して判定フラグを0にリセットする(ステ
ップ514)。一方、タイマカウンタが被比較データの
2倍以上であれば、メモリブロックは外部メモリ2であ
ると判定し、判定フラグを1にセットする(ステップ5
15)。この後、制御をステップS7に戻す。そして、
ステップs8でへモリブロックが終了になれば、初期設
定処理は終了する。
0H番地=512にバイト)分更新しくステップS7)
、メモリブロックが終了であるかどうかをチエツクする
(ステップS8)、メモリブロックが終了でなければ、
タイマカウンタをクリアしくステップS9)、タイマ割
込みを起動して(ステップ510)、タイマカウンタの
インクリメントを開始させ(ステップ516)、判定対
象アドレスに対してデータの読出し/書込みを1゜Oガ
ロ繰り返し行う (ステップ511)。次に、タイマ割
込みを停止して(ステップ512)、タイマカウンタの
インクリメントを終了させ、タイマカウンタの内容が被
比較データの2倍以上であるかどうか(すなわち、メモ
リブロックが外部メモリ2であるかどうか)を判定する
(ステップS13ン。タイマカウンタが被比較データの
2倍以上でなければ、メモリブロックは内部メモリ37
であると判定して判定フラグを0にリセットする(ステ
ップ514)。一方、タイマカウンタが被比較データの
2倍以上であれば、メモリブロックは外部メモリ2であ
ると判定し、判定フラグを1にセットする(ステップ5
15)。この後、制御をステップS7に戻す。そして、
ステップs8でへモリブロックが終了になれば、初期設
定処理は終了する。
第4図は、初期設定処理によりメモリブロックの先頭ア
ドレス毎に実測されたタイマカウンタの測定値を例示す
る図である。
ドレス毎に実測されたタイマカウンタの測定値を例示す
る図である。
(2)データ出力処理
パーソナルコンピュータ3上でアプリケーションプログ
ラムが複数の連続するメモリブロックからなる出カバソ
ファにデータを格納してデータ出力処理に制御を移すと
、データ出力処理では、出カバソファとして使用されて
いる全メモリブロンクのデータの出力が完了したか否か
を判断しくステップ521)、完了していなければ、出
力データの位置(アドレス)を指す出力データポインタ
をデータ出力対象のメモリブロックの先頭アドレスに設
定する(ステップ522)。次に、FIFOメモリ12
の空き状態を確認しくステップ523)、FIFOメモ
リ12に規定以上(例えば、4にバイト以上)の空き容
量ができたときに、フロック内残りデータ数とFIFO
メモリ12の空き容量とを比較する(ステップ524)
、ブロック内残りデータ数がFIFOメモリ12の空き
容量より大きければ、出力データ数にFIFOメモリ1
2の空き容量を設定しくステップ525)、フロック内
残りデータ数がFIFOメモリ12の空き容量より太き
(なければ、出力データ数にブロック内残りデータ数を
設定する(ステップ526)。次に、初期設定処理で設
定した判定フラグを参照してデータ出力対象のメモリブ
ロックが内部メモリ37であるか外部メモリ2であるか
を判定しくステップ527)、内部メモリ37であれば
、データ出力ライン25のデータ転送レートに対して内
部メモリ37のアクセス速度が十分に速く、また外部バ
ス22上にアドレスが現れないので、出力データポイン
タが指すアドレスから出力データ数分のデータをFIF
Oメモリ12に割り付けられたメモリマップドI10に
出力する(ステップ328)。
ラムが複数の連続するメモリブロックからなる出カバソ
ファにデータを格納してデータ出力処理に制御を移すと
、データ出力処理では、出カバソファとして使用されて
いる全メモリブロンクのデータの出力が完了したか否か
を判断しくステップ521)、完了していなければ、出
力データの位置(アドレス)を指す出力データポインタ
をデータ出力対象のメモリブロックの先頭アドレスに設
定する(ステップ522)。次に、FIFOメモリ12
の空き状態を確認しくステップ523)、FIFOメモ
リ12に規定以上(例えば、4にバイト以上)の空き容
量ができたときに、フロック内残りデータ数とFIFO
メモリ12の空き容量とを比較する(ステップ524)
、ブロック内残りデータ数がFIFOメモリ12の空き
容量より大きければ、出力データ数にFIFOメモリ1
2の空き容量を設定しくステップ525)、フロック内
残りデータ数がFIFOメモリ12の空き容量より太き
(なければ、出力データ数にブロック内残りデータ数を
設定する(ステップ526)。次に、初期設定処理で設
定した判定フラグを参照してデータ出力対象のメモリブ
ロックが内部メモリ37であるか外部メモリ2であるか
を判定しくステップ527)、内部メモリ37であれば
、データ出力ライン25のデータ転送レートに対して内
部メモリ37のアクセス速度が十分に速く、また外部バ
ス22上にアドレスが現れないので、出力データポイン
タが指すアドレスから出力データ数分のデータをFIF
Oメモリ12に割り付けられたメモリマップドI10に
出力する(ステップ328)。
これにより、パーソナルコンピュータ3から外部バス2
2を介してプリンタインタフェース部lのMPU15が
データ書込み開始通告を受けると、MPU15は、コン
トローラ11にアドレスバス監視開始指示を行う。コン
トローラ11は、この時点から外部バス22上のアドレ
スの監視を開始し、内部メモリ37上のデータが外部バ
ス22上に出力されたことを検出したならば、外部バス
22上に出力されたデータを規定のタイミングでFIF
Oメモリ12に取り込む。コントローラ11は、パーソ
ナルコンピュータ3から外部バス22を介してMPU1
5がデータ書込み終了通告を受は取るか、あるいはFI
FOメモリ12に一定量のデータが取り込まれるまでこ
の動作を続ける。
2を介してプリンタインタフェース部lのMPU15が
データ書込み開始通告を受けると、MPU15は、コン
トローラ11にアドレスバス監視開始指示を行う。コン
トローラ11は、この時点から外部バス22上のアドレ
スの監視を開始し、内部メモリ37上のデータが外部バ
ス22上に出力されたことを検出したならば、外部バス
22上に出力されたデータを規定のタイミングでFIF
Oメモリ12に取り込む。コントローラ11は、パーソ
ナルコンピュータ3から外部バス22を介してMPU1
5がデータ書込み終了通告を受は取るか、あるいはFI
FOメモリ12に一定量のデータが取り込まれるまでこ
の動作を続ける。
FIFOメモリ12に取り込まれたデータは、パラレル
/シリアル変換回路13でシリアルデータに順次変換さ
れてコントローラ11に送られる。
/シリアル変換回路13でシリアルデータに順次変換さ
れてコントローラ11に送られる。
コントローラ11は、送られてきたシリアルデータをビ
デオクロック発生回路16で作られたクロック信号に同
期させてデータ出力ライン25を介してレーザプリンタ
8に出力する。なお、この際、MPU15は、コントロ
ーラ11への指示を行う他に、レーザプリンタ8とのコ
ミュニケーション、レーザプリンタ8の動作制御、パー
ソナルコンピュータ3とのコミュニケーションなどを行
うが、これらの内容は本発明とは直接関係ないので、M
PU15の詳しい動作については割愛する。
デオクロック発生回路16で作られたクロック信号に同
期させてデータ出力ライン25を介してレーザプリンタ
8に出力する。なお、この際、MPU15は、コントロ
ーラ11への指示を行う他に、レーザプリンタ8とのコ
ミュニケーション、レーザプリンタ8の動作制御、パー
ソナルコンピュータ3とのコミュニケーションなどを行
うが、これらの内容は本発明とは直接関係ないので、M
PU15の詳しい動作については割愛する。
一方、データ出力処理のステップS27でデータ出力対
象のメモリブロックが内部メモリ37でなければ(すな
わち、外部メモリ2であれば)、データ出力ライン25
のデータ転送レートに対して外部メモリ2のアクセス速
度が遅いので、出力データポインタが指すアドレスアド
レスから出力データ数分のデータを読み出す(ステップ
329)。
象のメモリブロックが内部メモリ37でなければ(すな
わち、外部メモリ2であれば)、データ出力ライン25
のデータ転送レートに対して外部メモリ2のアクセス速
度が遅いので、出力データポインタが指すアドレスアド
レスから出力データ数分のデータを読み出す(ステップ
329)。
これにより、パーソナルコンピュータ3から外部バス2
2を介してプリンタインタフェース部1のコントローラ
11が外部メモリ読出し開始通告を受けると、アドレス
バス監視開始指示を行う。
2を介してプリンタインタフェース部1のコントローラ
11が外部メモリ読出し開始通告を受けると、アドレス
バス監視開始指示を行う。
コントローラ11は、この時点から外部バス22上のア
ドレスの監視を開始し、外部メモリ2のデータが外部バ
ス22上に読み出されたことを検出したならば、外部バ
ス22上に読み出されたデータを規定のタイミングでF
IF○メモリ12に取り込む。コントローラ11は、パ
ーソナルコンピュータ3から外部バス22を介して外部
メモリ読出し終了通告を受は取るか、あるいはFIFO
メモリ12に一定量のデータが取り込まれるまでこの動
作を続ける。
ドレスの監視を開始し、外部メモリ2のデータが外部バ
ス22上に読み出されたことを検出したならば、外部バ
ス22上に読み出されたデータを規定のタイミングでF
IF○メモリ12に取り込む。コントローラ11は、パ
ーソナルコンピュータ3から外部バス22を介して外部
メモリ読出し終了通告を受は取るか、あるいはFIFO
メモリ12に一定量のデータが取り込まれるまでこの動
作を続ける。
FIF○メモリ12に取り込まれたデータは、パラレル
/シリアル変換回路13でシリアルデータに順次変換さ
れてコントローラ11に送られる。
/シリアル変換回路13でシリアルデータに順次変換さ
れてコントローラ11に送られる。
コントローラ11は、送られてきたシリアルデータをビ
デオクロック発生回路16で作られたクロック信号に同
期させてデータ出力ライン25を介してレーザプリンタ
8に出力する。
デオクロック発生回路16で作られたクロック信号に同
期させてデータ出力ライン25を介してレーザプリンタ
8に出力する。
データ出力処理では、ステップ528あるいはステップ
329の後、出力データポインタに出力データ数を加算
して出力データポインタを更新しくステップ530)、
データ出力対象のメモリブロック内の全データの出力が
完了したか否かを判定しくステップ531)、データ出
力対象のメモリブロック内の全データの出力が完了して
いなければステ、プS23に制御を戻し、データ出力対
象のメモリブロック内の全データの出力が完了していれ
ばデータ出力対象のメモリブロックを次のメモリブロッ
クに更新した後に(ステップ532)、ステップ321
に制御を戻す。
329の後、出力データポインタに出力データ数を加算
して出力データポインタを更新しくステップ530)、
データ出力対象のメモリブロック内の全データの出力が
完了したか否かを判定しくステップ531)、データ出
力対象のメモリブロック内の全データの出力が完了して
いなければステ、プS23に制御を戻し、データ出力対
象のメモリブロック内の全データの出力が完了していれ
ばデータ出力対象のメモリブロックを次のメモリブロッ
クに更新した後に(ステップ532)、ステップ321
に制御を戻す。
そして、ステップS21において、出カバソファとして
使用されている全メモリブロックのデータの出力が完了
したと判断されると、データ出力処理は終了する。
使用されている全メモリブロックのデータの出力が完了
したと判断されると、データ出力処理は終了する。
ところで、上記実施例では、周辺機器をレーザプリンタ
8としたが、パーソナルコンビエータ3に1続される周
辺機器はレーザプリンタ8に限定されるものではなく、
例えば他の種類のプリンタやデイスプレィ装置等であっ
ても本発明が同様に適用されることはいうまでもない。
8としたが、パーソナルコンビエータ3に1続される周
辺機器はレーザプリンタ8に限定されるものではなく、
例えば他の種類のプリンタやデイスプレィ装置等であっ
ても本発明が同様に適用されることはいうまでもない。
以上説明したように、本発明によれば、インタフェース
部を設けて外部メモリ上のデータをアプリケーションプ
ログラムからのデータ読出しで周辺装置に転送できるよ
うにしたことにより、32ビットのパーソナルコンピュ
ータから外部メモリ上のデータも内部メモリ上のデータ
と同等の高速なデータ転送レートで周辺装置に出力する
ことができるという効果がある。
部を設けて外部メモリ上のデータをアプリケーションプ
ログラムからのデータ読出しで周辺装置に転送できるよ
うにしたことにより、32ビットのパーソナルコンピュ
ータから外部メモリ上のデータも内部メモリ上のデータ
と同等の高速なデータ転送レートで周辺装置に出力する
ことができるという効果がある。
また、初期設定処理を設けて32ビットのパーソナルコ
ンピュータにより管理されている内部メモリおよび外部
メモリのアドレスを自動的に認識できるようにしたこと
により、メモリ上のデータが内部メモリ上のデータであ
るか外部メモリ上のデータであるかに応じて周辺装置へ
のデータ転送方式を自動的に切り替えることができると
ともに、パーソナルコンピュータのメモリ増設方法(内
部増設/外部増設)に自由度を与えることができるとい
う効果がある。
ンピュータにより管理されている内部メモリおよび外部
メモリのアドレスを自動的に認識できるようにしたこと
により、メモリ上のデータが内部メモリ上のデータであ
るか外部メモリ上のデータであるかに応じて周辺装置へ
のデータ転送方式を自動的に切り替えることができると
ともに、パーソナルコンピュータのメモリ増設方法(内
部増設/外部増設)に自由度を与えることができるとい
う効果がある。
さらに、インタフェース部における大容量の出力用バッ
ファとしてFIFOメモリを使用することにより、32
ピントのパーソナルコンピュータの内部処理およびデー
タ出力タイミングと周辺機器へのデータ転送レートとの
間に存在する大きな速度の差を吸収することができると
いう効果がある。
ファとしてFIFOメモリを使用することにより、32
ピントのパーソナルコンピュータの内部処理およびデー
タ出力タイミングと周辺機器へのデータ転送レートとの
間に存在する大きな速度の差を吸収することができると
いう効果がある。
第1図は本発明の一実施例に係る高速データ転送方式が
適用されたパーソナルコンピュータシステムの構成を示
す回路ブロック図、 第2図は第1図中のパーソナルコンピュータ上で動作す
るアプリケーションプログラムの初期設定処理を示す流
れ図、 第3図は第1図中のパーソナルコンピュータ上で動作す
るアプリケーションプログラムのデータ出力処理を示す
流れ図、 第4図は第2図に示した初期設定処理によりメモリブロ
ックの先頭アドレス毎に実測されたタイマカウンタの測
定値を例示する図である。 図において、 1・・・プリンタインタフェース部、 2・・・外部メモリ、 3・・・パーソナルコンピュータ、 4・・・キーボード、 34 ・ ・陰極線管デイスプレィ装置、 ・フロッピーディスク装置、 ・固定磁気ディスク装置、 ・レーザプリンタ、 ・コントローラ、 ・FIFOメモリ、 ・パラレル/シリアル変換回路、 ・I10インタフェース、 ・MPU。 ・ビデオクロック発生回路、 ・内部バス、 ・外部バス、 ・内部バス、 ・コミュニケーションライン、 ・データ出力ライン、 ・cpu。 ・キーボードインタフェース、 ・陰極線管デイスプレィ装置インタフェース、 ・フロッピーディスク装置インタフニ ス、 固定磁気ディスク装置インタフェース、ROM。 内部メモリ、 I10インタフェース、 バスコントローラである。
適用されたパーソナルコンピュータシステムの構成を示
す回路ブロック図、 第2図は第1図中のパーソナルコンピュータ上で動作す
るアプリケーションプログラムの初期設定処理を示す流
れ図、 第3図は第1図中のパーソナルコンピュータ上で動作す
るアプリケーションプログラムのデータ出力処理を示す
流れ図、 第4図は第2図に示した初期設定処理によりメモリブロ
ックの先頭アドレス毎に実測されたタイマカウンタの測
定値を例示する図である。 図において、 1・・・プリンタインタフェース部、 2・・・外部メモリ、 3・・・パーソナルコンピュータ、 4・・・キーボード、 34 ・ ・陰極線管デイスプレィ装置、 ・フロッピーディスク装置、 ・固定磁気ディスク装置、 ・レーザプリンタ、 ・コントローラ、 ・FIFOメモリ、 ・パラレル/シリアル変換回路、 ・I10インタフェース、 ・MPU。 ・ビデオクロック発生回路、 ・内部バス、 ・外部バス、 ・内部バス、 ・コミュニケーションライン、 ・データ出力ライン、 ・cpu。 ・キーボードインタフェース、 ・陰極線管デイスプレィ装置インタフェース、 ・フロッピーディスク装置インタフニ ス、 固定磁気ディスク装置インタフェース、ROM。 内部メモリ、 I10インタフェース、 バスコントローラである。
Claims (1)
- 【特許請求の範囲】 32ビットの内部バスと16ビットの装置拡張用の外部
バスとにメモリを接続できかつ内部バスに接続された内
部メモリと外部バスに接続された外部メモリとでCPU
から見たときにアクセス速度が異なるパーソナルコンピ
ュータと、 前記外部バスに接続され所定のアドレスが前記外部バス
上に現れたときにそのデータをFIFOメモリに取り込
むとともに前記FIFOメモリ上のデータを周辺機器に
転送するインタフェース部と、 前記パーソナルコンピュータから前記周辺機器にデータ
を出力するアプリケーションプログラムの起動時にメモ
リに対して規定の読出し/書込みを行うことによってア
クセス速度を測定しアクセス速度の相違に従って内部メ
モリおよび外部メモリのアドレスを検出する初期設定処
理と、 前記パーソナルコンピュータから前記周辺機器へのデー
タ出力時に前記初期設定処理により検出された内部メモ
リおよび外部メモリのアドレスを参照してアドレスが内
部メモリであればメモリマップドI/Oにより前記FI
FOメモリにデータを出力し、アドレスが外部メモリで
あれば外部メモリよりデータを読み出した際に、前記外
部バス上のデータを前記インタフェース部によって前記
FIFOメモリに取り込ませることにより前記周辺機器
にデータを転送させるデータ出力処理とを備えることを
特徴とするパーソナルコンピュータシステムにおける高
速データ転送方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9676390A JPH03294951A (ja) | 1990-04-12 | 1990-04-12 | パーソナルコンピュータシステムにおける高速データ転送方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9676390A JPH03294951A (ja) | 1990-04-12 | 1990-04-12 | パーソナルコンピュータシステムにおける高速データ転送方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03294951A true JPH03294951A (ja) | 1991-12-26 |
Family
ID=14173678
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9676390A Pending JPH03294951A (ja) | 1990-04-12 | 1990-04-12 | パーソナルコンピュータシステムにおける高速データ転送方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03294951A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005018368A (ja) * | 2003-06-25 | 2005-01-20 | Ricoh Co Ltd | バス制御装置、画像処理装置、画像形成装置、画像形成システム、バス制御方法、コンピュータプログラム及び記録媒体 |
-
1990
- 1990-04-12 JP JP9676390A patent/JPH03294951A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005018368A (ja) * | 2003-06-25 | 2005-01-20 | Ricoh Co Ltd | バス制御装置、画像処理装置、画像形成装置、画像形成システム、バス制御方法、コンピュータプログラム及び記録媒体 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2829091B2 (ja) | データ処理システム | |
| JPH04290150A (ja) | Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置 | |
| US5287471A (en) | Data transfer controller using direct memory access method | |
| US6678755B1 (en) | Method and apparatus for appending memory commands during a direct memory access operation | |
| US6584512B1 (en) | Communication DMA device for freeing the data bus from the CPU and outputting divided data | |
| EP0099462A2 (en) | Apparatus and method for buffering data in a data processing system | |
| JPH0221619B2 (ja) | ||
| US6615292B1 (en) | Data transfer apparatus performing DMA data transfer from non-consecutive addresses | |
| JPH03294951A (ja) | パーソナルコンピュータシステムにおける高速データ転送方式 | |
| JPH0696007A (ja) | Dma転送方式 | |
| JPH1063617A (ja) | シリアル通信装置 | |
| EP0410382A2 (en) | Data transfer controller using direct memory access method | |
| JP2533886B2 (ja) | デ―タ転送方式 | |
| JPH05224866A (ja) | グラフィック情報処理システム | |
| JPH0736806A (ja) | Dma方式 | |
| JPH06274450A (ja) | データ転送システム | |
| JPH02287661A (ja) | データアクセス方式 | |
| JP2531209B2 (ja) | チャネル装置 | |
| JPH04130560A (ja) | 高速データ転送装置 | |
| JPH0353736A (ja) | 受信バッファ制御方式 | |
| JP2003186666A (ja) | マイクロコンピュータおよびdma制御回路 | |
| JPH10105488A (ja) | 通信用コントローラ | |
| JP2826780B2 (ja) | データ転送方法 | |
| JP3442099B2 (ja) | データ転送記憶装置 | |
| JPS6294042A (ja) | 通信制御装置 |