JPS6118032A - external memory controller - Google Patents
external memory controllerInfo
- Publication number
- JPS6118032A JPS6118032A JP59139662A JP13966284A JPS6118032A JP S6118032 A JPS6118032 A JP S6118032A JP 59139662 A JP59139662 A JP 59139662A JP 13966284 A JP13966284 A JP 13966284A JP S6118032 A JPS6118032 A JP S6118032A
- Authority
- JP
- Japan
- Prior art keywords
- data
- magnetic disk
- address
- buffer memory
- data transfer
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、外部メモリ制御装置に関し、特にデータ転送
速度の異なる磁気ディスク装置間と、中央処理装置間の
データ授受を並行して行うことができるマイクロプログ
ラム制御の磁気ディスク制御装置に関するものである。[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to an external memory control device, and in particular, to an external memory control device that can transfer data in parallel between magnetic disk devices with different data transfer speeds and between a central processing unit. This invention relates to a microprogram-controlled magnetic disk control device.
従来より、小形計算機システムにおいては、第1図に示
すように、共通バス400に中央処理装置(以下処理装
置と略記する)100、主メモリ200および外部メモ
リ制御装置500、例えば磁気ディスク制御装置300
等が接続されており、処理装置100と外部メモリ制御
装置は主メモリ200を共用している。例えば、磁気デ
ィスク装置301へデータを書き込み、または読み出す
ため、主メモリ200と磁気ディスク装置301間でデ
ータ転送を行っている期間中は、共通バス400を占有
されているため、処理装置100は主メモリ200にア
クセスできず、処理を停止して待機状態(ホールド状態
)となる。したがって、入出力装置とのデータ転送時間
が長いほど、処理装置100のホールド状態の時間は長
くなり効率が低下する。Conventionally, in small computer systems, as shown in FIG. 1, a common bus 400 includes a central processing unit (hereinafter abbreviated as a processing unit) 100, a main memory 200, and an external memory control device 500, such as a magnetic disk control device 300.
etc., and the processing device 100 and external memory control device share the main memory 200. For example, during a period in which data is transferred between the main memory 200 and the magnetic disk device 301 in order to write or read data to the magnetic disk device 301, the common bus 400 is occupied, so the processing device 100 is The memory 200 cannot be accessed, and processing is stopped and placed in a standby state (hold state). Therefore, the longer the data transfer time with the input/output device, the longer the hold state time of the processing device 100 becomes, and the efficiency decreases.
従来、磁気ディスク制御装Rにおいては、処理装置側と
の間と、磁気ディスク装置側との間のデータ転送速度が
異なる場合、その差を吸収し、処理装置側または磁気デ
ィスク装置側に最適なデータ転送を行う方法として、デ
ータ用バッファ・メモリヲ用い、転送するデータを一旦
このバッファ・メモリに格納した後に、同バッファ・メ
モリより処理装置側、または磁気ディスク装置側にそれ
ぞれデータを転送している。Conventionally, in the magnetic disk controller R, when the data transfer speeds between the processing device side and the magnetic disk device side are different, the difference is absorbed and the optimum data transfer speed is set for the processing device side or the magnetic disk device side. As a method of data transfer, a data buffer memory is used, and after the data to be transferred is stored in this buffer memory, the data is transferred from the same buffer memory to the processing device side or the magnetic disk device side, respectively. .
オフィス・コンピュータ、パーソナル・コンピュータ等
の小形計算機の場合、転送速度は処理装置に比べて磁気
ディスク装置の方が高速である。In the case of small-sized computers such as office computers and personal computers, the transfer speed of magnetic disk devices is faster than that of processing devices.
この速度差を吸収するためのバッファ・メモリの制御方
法としては、ハードウェアにより行う方法と、マイクロ
プログラムにより行う方法とがある。Buffer memory control methods for absorbing this speed difference include a method using hardware and a method using a microprogram.
ハードウェアによる制御方法では、処理速度を上げるこ
とはできるが、バッファ・メモリの周辺制御回路が複雑
、かつ大規模になるとともに、処理装置側および磁気デ
ィスク装置側の転送速度により一義的に固定されるため
、例えば磁気ディスク装置を交換したときに対処できな
い(汎用性に欠ける)。With hardware control methods, processing speed can be increased, but the peripheral control circuits of the buffer memory become complex and large-scale, and the transfer speeds of the processing unit and magnetic disk unit are uniquely fixed. Therefore, it cannot be handled when replacing the magnetic disk device, for example (lack of versatility).
また、マイクロプログラムによる制御方法では、ハード
ウェアを軽減化できるが、転送すべき全デ1−夕を一旦
、バッファ・メモリに格納した後に次の動作を行うため
、処理時間が遅くなるとともに、大容量の磁気ディスク
装置の場合にはバッファ・メモリの容量が大きくなり、
しかも1回のコマンド動作によって転送可能なデータ数
がバッファ・メモリ容量により制限される。In addition, although the microprogram-based control method can reduce the amount of hardware required, all the data to be transferred is stored in the buffer memory before the next operation is performed, which slows down the processing time and increases the cost. In the case of a large-capacity magnetic disk device, the buffer memory capacity increases,
Moreover, the number of data that can be transferred by one command operation is limited by the buffer memory capacity.
磁気ディスクの1セクタには例えば、256バイトのデ
ータを書き込むことができるので、1回 □のコマン
ドで256バイト×nセクタ分のデータが転送される。For example, 256 bytes of data can be written in one sector of a magnetic disk, so one □ command transfers 256 bytes x n sectors of data.
前述のように、磁気ディスク制御装置と処理装置間、磁
気ディスク制御装置と磁気ディスク装置間のデータ転送
速度が異なるため、従来の転送方法は第2図に示すよう
に、必ず全データを一旦バツファ・メモリに格納した後
、磁気ディスク装置への書き込み動作、または処理装置
へのデータ転送を行う必要がある。すなわち、第2図で
は処理装置Hから磁気ディスク装置りにデータを転送す
る場合が示されており、制御装置のバッファBから磁気
ディスクDへの転送と、処理装置HからバッファBへの
転送を交互に実行するため、直列処理となって、時間が
かかり、しかも大容量のバッファBが必要となる。As mentioned above, the data transfer speeds between the magnetic disk control unit and the processing unit and between the magnetic disk control unit and the magnetic disk unit are different, so the conventional transfer method always buffers all data once, as shown in Figure 2. - After storing data in memory, it is necessary to perform a write operation to a magnetic disk device or data transfer to a processing device. That is, FIG. 2 shows the case where data is transferred from the processing device H to the magnetic disk device, and the data is transferred from the control device's buffer B to the magnetic disk D, and from the processing device H to the buffer B. Since the processing is executed alternately, serial processing is required, which takes time and requires a large-capacity buffer B.
そして、第1図に示すように、磁気ディスク制御装置3
00が共通バス400を占有してデータ転送を行う時間
が長いと、処理装fiilooのホールド時間も長くな
り、システムの効率は低下する。Then, as shown in FIG. 1, the magnetic disk controller 3
If 00 occupies the common bus 400 for a long time to perform data transfer, the hold time of the processing device fiiloo also becomes long, and the efficiency of the system decreases.
本発明の目的は、このような従来の問題を解消し、簡単
な制御により小容量のバッファ・メモリを用いて、高速
にデータ転送を行うことができ、かつシステムの処理効
率を向上させることができる外部メモリ制御装置を提供
することにある。The purpose of the present invention is to solve such conventional problems, to enable high-speed data transfer using a small-capacity buffer memory with simple control, and to improve system processing efficiency. The object of the present invention is to provide an external memory control device that is capable of controlling external memory.
上記目的を達成するため、本発明の外部メモリ制御装置
は、処理装置と外部メモリ装置間のデータ転送を、共通
のバッファ・メモリを介して行5外部メモリ制御装置に
おい【、上記バッファ・メモリと処理装置間(第1の区
間)および上記バッファ・メモリと外部メモリ装置間(
第2の区間)の各データ転送時にそれぞれ上記バッファ
・メモリをアクセスするための各バッファ・アドレスと
、データ転送の一時停止または終了を検出するための各
ストップ・アドレスとをそれぞれ格納する手段、上記各
バッファ・アドレス格納手段の内容により、上記第1の
区間と第2の区間でセクタ単位のデータ転送が行われた
時点を検出して割り込み信号を発生する手段、および上
記割り込へ信号をマイクロプログラムにより監視し、上
記第1と第2の区間でのデータ転送進行状況をチェック
して、上記バッファ・メモリを制御する手段を有するこ
とに特徴がある。To achieve the above object, the external memory control device of the present invention transfers data between the processing device and the external memory device in the row 5 external memory control device via a common buffer memory. Between processing units (first section) and between the buffer memory and external memory device (
means for respectively storing each buffer address for accessing the buffer memory during each data transfer in the second section) and each stop address for detecting a temporary stop or end of the data transfer; Depending on the contents of each buffer address storage means, there is a means for detecting the point in time when sector-by-sector data transfer is performed in the first period and the second period and generating an interrupt signal, and a microprocessor for transmitting the signal to the above-mentioned interrupt. A feature of the present invention is that it includes means for controlling the buffer memory by monitoring it by a program and checking the progress of data transfer in the first and second sections.
以下、本発明の原理および実施例を、図面により説明す
る。Hereinafter, the principle and embodiments of the present invention will be explained with reference to the drawings.
第3図は、本発明のバッファ・メモリ制御回路の原理図
、第4図は本発明のデータ転送方法の原理を示す説明図
である。FIG. 3 is a diagram showing the principle of the buffer memory control circuit of the present invention, and FIG. 4 is an explanatory diagram showing the principle of the data transfer method of the present invention.
本発明においては、(1)磁気ディスク装置への書き込
み/読み出し動作を、セクタ単位で行うこと、(ii)
1つのバッファ・メモリを介して処理装置側とのデータ
転送と、磁気ディスク装置側とのデータ転送を同時に並
行して実行すること、および(lii)磁気ディスク装
置が1セクタ分処理する時間は少くとも数100μsで
あるため、この間にマイクロプログラム制御を介入させ
ること、の3つを要点としている。In the present invention, (1) write/read operations to the magnetic disk device are performed in sector units; (ii)
Data transfer with the processing unit side and data transfer with the magnetic disk device side are simultaneously executed in parallel via one buffer memory, and (lii) The time required for the magnetic disk device to process one sector is short. Since both times are several 100 μs, there are three key points: intervening microprogram control during this time.
このため、次の条件を満足させる。Therefore, the following conditions are satisfied.
(a)磁気ディスク装置への書き込み動作時、処理装置
からのデータ転送が磁気ディスク装置へのデータ転送よ
りも常に1セクタ分以上先行していること、(b)磁気
ディスク装置からの読み出し時には、磁気ディスク装置
からのデータ転送が、処理装置とのデータ転送よりも常
に1セクタ分以上先行していること、(C)磁気ディス
ク装置の1セクタ分のデータを転送するごとに、各々割
り込みを発生し、この割り込みによりマイクロプログラ
ムがセクタ単位で双方の転送処理状況を監視し、続行ま
たは停止等の制御を行うこと。(a) When writing to the magnetic disk device, data transfer from the processing device always precedes data transfer to the magnetic disk device by one sector or more; (b) When reading from the magnetic disk device, Data transfer from the magnetic disk device always precedes data transfer with the processing device by at least one sector; (C) An interrupt is generated each time one sector of data from the magnetic disk device is transferred. Then, using this interrupt, the microprogram monitors the status of both transfer processes on a sector-by-sector basis and controls whether to continue or stop the process.
これらの各条件を満足させるため、第3図に示すように
、磁気ディスク制御装置のバッファ・メモリ26に、処
理装置100側からアクセスするためのアドレス・レジ
スタ30とストップ・アドレス・レジスタ32を設ける
とともに、磁気ディスク装置301側からアクセスする
ためのアドレス・レジスタ29とストップ・アドレス・
レジスタ31を設け、さらにアドレス・レジスタ29゜
30とストップ・アドレス・レジスタ31.32の内容
がそれぞれ一致したとき、つまり1セクタ分の転送処理
が終了した時点で、マイクロプロセッサ16に割り込み
信号5を送出する。これにより、マイクロプロセッサ1
6がバッファ・メモリ26の処理状況を監視し、制御す
る。これによって、処理速度の異なる処理装置100の
データ転送と、磁気ディスク装置のデータ転送を同時動
作させることができる。In order to satisfy each of these conditions, as shown in FIG. 3, the buffer memory 26 of the magnetic disk control device is provided with an address register 30 and a stop address register 32 for access from the processing device 100 side. In addition, an address register 29 and a stop address register 29 for access from the magnetic disk device 301 side are provided.
A register 31 is provided, and an interrupt signal 5 is sent to the microprocessor 16 when the contents of the address registers 29, 30 and stop address registers 31, 32 respectively match, that is, when the transfer process for one sector is completed. Send. This allows microprocessor 1
6 monitors and controls the processing status of the buffer memory 26. As a result, data transfer between the processing devices 100 having different processing speeds and data transfer between the magnetic disk devices can be performed simultaneously.
磁気ディスク装置の方が処理装置より転送処理速度が早
い場合、磁気ディスク装置からバッファ・メモリに書き
込む時間の方が、処理装置へ読み出す時間より短いので
バッファ・メモリ内のデータがなくなって処理装置への
転送データが途切れてしまう心配はないのに対して、処
理装置から磁気ディスク装置への転送時には、書き込む
時間より読み出す時間の方が短いので、転送データの途
切れが生じるおそれがあり、マイクロプログラムの制御
が重要になる。そこで、処理装置Hからディスク装置り
へのデータ転送時には、第4図(a)に示すように、処
理装置HからバッファBへ1セクタ分のデータが書き込
まれた後にバッファBからディスク装置りに読み出しを
行い、読み出し動作が書き込み動作に追いついた場合に
は、バッファBからの読み出しを一時中止させ、バッフ
ァBへの1セクタ分の書き込みが終了した後に読み出し
動作を再起動する。このように、書き込み動作が読み出
し動作より1セクタ分先行するように、マイクロプログ
ラムで制御することにより、バッファ・メモリへの書き
込みと読み出しを同時に並行して行わせることができる
。この動作をさら、に詳しく説明するための図が、第4
図(b)である。If the magnetic disk device has a faster transfer processing speed than the processing device, the time it takes to write from the magnetic disk device to the buffer memory is shorter than the time to read it to the processing device, so the data in the buffer memory runs out and is transferred to the processing device. However, when transferring data from a processing unit to a magnetic disk device, the reading time is shorter than the writing time, so there is a risk that the transferred data may be interrupted. Control becomes important. Therefore, when data is transferred from the processing device H to the disk device, as shown in FIG. When reading is performed and the reading operation catches up with the writing operation, reading from buffer B is temporarily stopped, and after writing of one sector to buffer B is completed, the reading operation is restarted. In this way, by controlling the microprogram so that the write operation precedes the read operation by one sector, writing and reading from the buffer memory can be performed simultaneously and in parallel. The fourth diagram is for explaining this operation in more detail.
It is figure (b).
バッファ・メモリ26には、例えば“0000”から“
0511”″番地の2セクタ(512バイト)分のアド
レスが割り付けられており、処理装置から転送されたデ
ータが“oooo”から“o255”番地まで書き込ま
れた時点でマイクロプロセッサに割り込みINTを発生
する。マイクロプログラムは、1セクタ分のデータが書
き込まれたことを知り、次の“0256″から“051
1”番地までのデータの書き込み動作を続行させるとと
もに、“oooo”から“0255”番地までのデータ
の読み出しを開始させて、磁気ディスク装置に転送する
。“0255″番地まで読み出し動作が終了する ′
七、マイクロプロセッサに割り込みINTを発生するこ
とにより、マイクロプログラムは、次の“0256”か
ら゛0511″番地までデータの書き込みが先行して行
われていることを確認して、この範囲のデータの読み出
しを続行させ、もしまだ1セクタ分のデータの書き込み
が終了してないときには、終了するまで読み出し動作を
一時停止させる。For example, the buffer memory 26 stores data from “0000” to “
The address for 2 sectors (512 bytes) at address 0511"" is assigned, and an interrupt INT is generated to the microprocessor when the data transferred from the processing unit is written from address "ooooo" to address "o255". . The microprogram learns that one sector worth of data has been written, and starts from the next “0256” to “051”.
The write operation of data up to address ``0255'' is continued, and reading of data from address ``oooo'' to address ``0255'' is started and transferred to the magnetic disk device. The read operation is completed up to address ``0255''.'
7. By generating an interrupt INT to the microprocessor, the microprogram confirms that data has been written in advance from the next address "0256" to "0511" and writes the data in this range. The reading operation is continued, and if writing of data for one sector is not yet completed, the reading operation is temporarily stopped until the writing is completed.
第5図は、本発明の一実施例を示す磁気ディスク制御装
置のブロック図であり、第6図は第5図のデータ転送制
御回路の詳細ブロック図である。FIG. 5 is a block diagram of a magnetic disk control device showing one embodiment of the present invention, and FIG. 6 is a detailed block diagram of the data transfer control circuit of FIG. 5.
マイクロアドレス・バス2とマイクロデータ・バス3K
G”j、、マイクロプロセッサ16、アドレス・ラッチ
17、マイクロプログラムR,0M15、プログラムR
AM19が接続されており、またデータバス・ゲート2
0.命令デコーダ21およびアドレスバス・ゲート22
により、データ・バス4゜データ・バッファRAMアド
レスバス6がマイクロアドレス・バス2とマイクロデー
タ・バス3に接続される。処理装置(HO8T)側には
、データ・レジスタ23、アドレス・レジスタ24、コ
マンド・レジスタ25が設けられ、磁気ディスク装置側
には磁気ディスク装置フォーマット・コントロール回路
28が設けられている。また、データ・バス生にはデー
タ・バッファRAM26が、データ・バッファRAMア
ドレスバス6にはデータ転送制御回路27が、それぞれ
接続されている。Microaddress bus 2 and microdata bus 3K
G"j,, microprocessor 16, address latch 17, microprogram R, 0M15, program R
AM19 is connected, and data bus gate 2
0. Instruction decoder 21 and address bus gate 22
The data bus 4.degree. data buffer RAM address bus 6 is connected to the microaddress bus 2 and the microdata bus 3. A data register 23, an address register 24, and a command register 25 are provided on the processing device (HO8T) side, and a magnetic disk device format control circuit 28 is provided on the magnetic disk device side. Further, a data buffer RAM 26 is connected to the data bus, and a data transfer control circuit 27 is connected to the data buffer RAM address bus 6.
マイクロプログラムROM18の内容にしたがって、マ
イクロプロセッサ16がデータ転送制御回路27および
磁気ディスク装置フォーマット・コントロール回路28
を制御して、磁気ディスク装置を動作させる。According to the contents of the microprogram ROM 18, the microprocessor 16 controls the data transfer control circuit 27 and the magnetic disk drive format control circuit 28.
to operate the magnetic disk drive.
処理装[(HO8’l’)からのデータは、ホストデー
タ・バス7、データ・レジスタ23、およびデータ・バ
ス生を経由してデータ・バッファRAM26に格納され
る。RAM25に格納されたデータは、データ・バス4
、磁気ディスク装置フォーマット・コントロール回路2
8を経由して、ライト・データ11で磁気ディスク装置
に書き込まれる。処理装置からRAM26に磁気ディス
ク装置での1セクタ分のデータが格納されると、データ
転送制御回路27から割り込み信号が発生し、バス5を
経由してマイクロプロセッサ16に送出される。マイク
ロプロセッサ16は、マイクロプログラムにより割り込
み信号の発生回数を計数してデータ転送セクタ数をチェ
ックする。また、RAM26から磁気ディスク装置に1
セクタ分のデータが転送されると、この場合にもデータ
転送制御回路27から割り込み信号が発生し、バス5を
経由してマイクロプロセッサ16に送出される。マイク
ロプロセッサ16は、マイクロプログラムにより割り込
み信号の発生回数を計数して、磁気ディスク装置側への
データ転送数をチェックすることにより、双方のデータ
転送進行状況を監視する。Data from the processing unit (HO8'l') is stored in the data buffer RAM 26 via the host data bus 7, data register 23, and data bus output. The data stored in RAM 25 is transferred to data bus 4.
, magnetic disk device format control circuit 2
8, the write data 11 is written to the magnetic disk device. When data for one sector of the magnetic disk device is stored in the RAM 26 from the processing device, an interrupt signal is generated from the data transfer control circuit 27 and sent to the microprocessor 16 via the bus 5. The microprocessor 16 uses a microprogram to count the number of times an interrupt signal has been generated and check the number of data transfer sectors. Also, from RAM 26 to the magnetic disk device 1
When a sector worth of data is transferred, an interrupt signal is generated from the data transfer control circuit 27 in this case as well, and is sent to the microprocessor 16 via the bus 5. The microprocessor 16 monitors the progress of data transfer on both sides by counting the number of times an interrupt signal has been generated and checking the number of data transfers to the magnetic disk device side using a microprogram.
一方、磁気ディスク装置から読み出したデータを処理装
置へ転送する場合も、同じように、リード・データ12
で読み込まれたデータを、フォーマット・コントロール
回路28およびデータ・バス4を経由してRAM26に
格納する。そして、1セクタ分のデータが格納されたと
き、データ転過制御回路27から割り込み信号を発生し
、バス5を経由してマイクロプロセッサ16に送出スる
。On the other hand, when data read from a magnetic disk device is transferred to a processing device, the read data 12
The data read in is stored in the RAM 26 via the format control circuit 28 and data bus 4. When one sector worth of data is stored, an interrupt signal is generated from the data transfer control circuit 27 and sent to the microprocessor 16 via the bus 5.
マイクロプロセッサ16は、マイクロプログラムにより
割り込み信号の発生回数を計数してデータ転送数をチェ
ックする。また、RAM26に格納されたデータをデー
タ・パス養とデータ・レジスタ23とバス7を経由して
処理装置に転送するときも、lセクタ分のデータが処理
装置に転送されたならば、割り込み信号を発生し、バス
5を経由してマイクロプロセッサ16に送出する。マイ
クロプロセッサ16は、マイクロプログラムにより割り
込み信号の発生回数を計数し、データ転送数をチェック
して、双方のデータ転送進行状況を監視する。The microprocessor 16 counts the number of times an interrupt signal has been generated and checks the number of data transfers using a microprogram. Also, when data stored in the RAM 26 is transferred to the processing device via the data path, data register 23, and bus 7, an interrupt signal is sent once l sectors worth of data have been transferred to the processing device. is generated and sent to the microprocessor 16 via the bus 5. The microprocessor 16 uses a microprogram to count the number of occurrences of interrupt signals, check the number of data transfers, and monitor the progress of both data transfers.
データ転送制御回路27は、第6図に示すように、リー
ド/ライト・コントロール36、チャンネルlDMAア
ドレス・レジスタ29、チャンネルlDMAアドレス・
レジスタ30.チャンネル0ストツプ・アドレス・レジ
スタ31、チャネル1ストツプ・アドレス・レジスタ3
2、マルチブレクサ33,34.およびアドレス比較口
H!535から構成される。As shown in FIG. 6, the data transfer control circuit 27 includes a read/write control 36, a channel IDMA address register 29, and a channel IDMA address register 29.
Register 30. Channel 0 stop address register 31, Channel 1 stop address register 3
2. Multiplexer 33, 34. And address comparison mouth H! Consists of 535.
第7図、第8図は、第5図および第6図の動作フローチ
ャートである。7 and 8 are operational flowcharts of FIGS. 5 and 6.
処理装置より磁気ディスク制御装置に対して起動命令が
発行されると、マイクロプロセッサ16に起動がかかり
マイクロプログラムROM15の内容にしたがって処理
を実行する。処理装置より発行された起動命令は、コマ
ンド・レジスタ25に格納されているため、先ずコマン
ド・レジスタ25の内容をマイクロプロセッサ16に読
み込み、その命令を解析し、ライト動作かリード動作か
をチェックする(ステップ45,4ej)。When the processing device issues a startup command to the magnetic disk control device, the microprocessor 16 is started and executes processing according to the contents of the microprogram ROM 15. Since the activation command issued by the processing device is stored in the command register 25, the contents of the command register 25 are first read into the microprocessor 16, the command is analyzed, and it is checked whether it is a write operation or a read operation. (Step 45, 4ej).
ライト命令の場合、処理装置からアドレス・レジスタ2
4にデータ転送開始アドレスをセットする(ステップ4
7)。次に、処理装置からのデータをデータ・バッファ
RAM26に書き込むため、RAM26の先頭アドレス
をチャンネルlDMAアドレス・レジスタ30にセット
するとともに、RAM26に格納されたデータを磁気デ
ィスク装置に転送するため、RAM26の先頭アドレス
をチャンネルQ DMAアドレス・レジスタ29にセッ
トする(ステップ48)。ここで、処理装置側をチャン
ネル1、磁気ディスク装置側をチャンネル0としている
。次に、チャンネルl DMAアドレス・レジスタ30
のストップ・アドレス(転送データ数終了時のアドレス
)を、ストップ・アドレス・レジスタ32にセットする
とともに、チャンネルQ DMAアドレス・レジスタ2
9のストップ・アドレス(2セクタ分の転送データ数終
了時のアドレス)をストップ・アドレス・レジスタ31
にセットする(ステップ49)。次に、処理装置からR
AM26へ、さらにRAM26から磁気ディスク装置へ
のデータ転送モード指定を行い、データ転送の起動命令
を実行する(ステップ50゜51)。これにより、リー
ド/ライト・コントロール回路36よりデータ要求信号
40がバス9を経由して処理装置に送られると、アドレ
ス・レジスタ24で指定された処理装置内のメモリから
バスOを経由してデータ要求応答信号41とデータが転
送されてくる。データ要求応答信号41がリード/ライ
ト・コントロール回路36に入力されると、コントロー
ル回M36よりRAM26に対してメモリ・ライト信号
37を送出し、アドレス・レジスタ30で指定したアド
レスよりデータを書き込む。この動作を指定されたセク
タ(この場合は1セクタ)数分だけ繰り返し実行する。In the case of a write instruction, address register 2 is sent from the processing unit.
Set the data transfer start address to 4 (step 4).
7). Next, in order to write the data from the processing device to the data buffer RAM 26, the start address of the RAM 26 is set in the channel IDMA address register 30, and in order to transfer the data stored in the RAM 26 to the magnetic disk device, the start address of the RAM 26 is set. The start address is set in the channel Q DMA address register 29 (step 48). Here, the processing device side is channel 1, and the magnetic disk device side is channel 0. Next, channel l DMA address register 30
Set the stop address (address at the end of the number of transferred data) in the stop address register 32, and also set the stop address of the channel Q DMA address register 2.
9 stop address (address at the end of transfer data for 2 sectors) is stored in the stop address register 31.
(step 49). Next, from the processing device
The data transfer mode is specified to the AM 26 and from the RAM 26 to the magnetic disk device, and a data transfer start command is executed (steps 50 and 51). As a result, when the data request signal 40 is sent from the read/write control circuit 36 to the processing device via the bus 9, the data is sent from the memory in the processing device specified by the address register 24 via the bus O. A request response signal 41 and data are transferred. When the data request response signal 41 is input to the read/write control circuit 36, the control circuit M36 sends a memory write signal 37 to the RAM 26, and data is written from the address specified by the address register 30. This operation is repeated for a specified number of sectors (one sector in this case).
そして、1バイト分のデータがI’LAM26に書き込
まれるごとに、アドレス・レジスタ30の内容を+1カ
ウント・アップし、256バイト分のデータが転送され
ると、割り込み信号44を発生する。マイクロプロセッ
サ16は、割り込み信号44を監視してデータ転送の進
行度をチェックし、チャンネルl DMAストップ・ア
ドレス・レジスタ32の値と等しくなるまで転送を続行
させる(ステップ52)。すなわち、処理装置よりRA
M26に2セクタ分以上のデータが転送されたときは、
比較回路35からバス39を介してリード/ライト・コ
ントロール回路36に通知することにより、コントロー
ル回路36からバス13を介して磁気ディスク装置フォ
ーマット・コントロール回路28に起動をかける。これ
Kより、コントロール回路28よりリード/ライト・コ
ントロール回路36に対しバス13を介してデータ要求
信号42を出力することにより、コントロール回路36
がメモリ・リード信号をRAM25に出力し、RAM
26からアドレス・レジスタ29で指定されたアドレス
にしたがって1バイト分のデータが読み出されて、コン
トロール回路28を経由して磁気ディスク装置に転送さ
れ、書き込まれる(ステップ53)。Each time 1 byte of data is written to I'LAM 26, the contents of address register 30 are counted up by +1, and when 256 bytes of data have been transferred, an interrupt signal 44 is generated. Microprocessor 16 monitors interrupt signal 44 to check the progress of the data transfer and causes the transfer to continue until it equals the value in channel I DMA stop address register 32 (step 52). In other words, RA from the processing device
When data of 2 sectors or more is transferred to M26,
By notifying the read/write control circuit 36 from the comparison circuit 35 via the bus 39, the control circuit 36 activates the magnetic disk drive format control circuit 28 via the bus 13. From this K, the control circuit 28 outputs a data request signal 42 to the read/write control circuit 36 via the bus 13, and the control circuit 36
outputs a memory read signal to RAM25, and
One byte of data is read from 26 in accordance with the address specified by address register 29, transferred to the magnetic disk device via control circuit 28, and written (step 53).
RAM26より1バイト分のデータが読み出されるごと
に、アドレス・レジスタ29の内容を+1だけカウント
・アップし、256バイト分のデータが読み出された時
点で割り込み信号43を発生し、これをマイクログロセ
ツ?1e+に送出する。Each time 1 byte of data is read from the RAM 26, the contents of the address register 29 are counted up by +1, and when 256 bytes of data are read, an interrupt signal 43 is generated and this is sent to the microprogram. Setsu? Send to 1e+.
マイクロプロセッサ16は、割り込み信号43を監視し
てデータ転送数をチェックしながらチャンネルOストッ
プ・アドレス・レジスタ31の値と等しくなるまで転送
を行わせる。そして、割り込み信号43.44を監視し
ながらデータ転送数をチェックする(ステップ54)。The microprocessor 16 monitors the interrupt signal 43 to check the number of data transfers and causes transfers to occur until the number becomes equal to the value in the channel O stop address register 31. Then, the number of data transfers is checked while monitoring the interrupt signals 43 and 44 (step 54).
このとき、処理装置側のデータ転送速度より磁気ディス
ク装置側のデータ転送速度の方が早い場合、チャンネル
Oストップ・アドレス・レジスタ31を更新する前に、
アドレス・レジスタ29とストップ・アドレス・レジス
タ31とが等しくなることが考えられる。その場合には
、アドレス・レジスタ29とストップ・アドレス・レジ
スタ31の値が等しくなった時点で、一旦磁気ディスク
装置へのデータ転送を停止し、処理装置側からRAM2
6へのデータ転送が2セクタ分以上になるのを待って、
再びチャンネル0ストツプ・アドレス・レジスタ31に
2セクタ分のデータ転送終了アドレスをセットし、磁気
ディスク装置に対して一旦動作を停止したセクタから残
りのセクタ数分のライト動作の起動をかけて、データ転
送を開始する。At this time, if the data transfer speed on the magnetic disk device side is faster than the data transfer speed on the processing device side, before updating the channel O stop address register 31,
It is possible that address register 29 and stop address register 31 will be equal. In that case, when the values of the address register 29 and the stop address register 31 become equal, data transfer to the magnetic disk device is temporarily stopped, and the data is transferred from the processing device side to the RAM 2.
Wait until the data transfer to 6 is more than 2 sectors,
Set the data transfer end address for 2 sectors in the channel 0 stop address register 31 again, start the write operation for the remaining number of sectors from the sector where the operation was temporarily stopped for the magnetic disk device, and transfer the data. Start the transfer.
以降、同じ動作を繰り返し、チャンネルl DMAアド
レス・レジスタ30とチャンネル1ストツプ・アドレス
・レジスタ32が等しくなるまで、磁気ディスク装置に
処理装置からのデータを書き込む。Thereafter, the same operation is repeated to write data from the processing device to the magnetic disk device until the channel 1 DMA address register 30 and the channel 1 stop address register 32 become equal.
リード動作の場合には、チャンネルOストップ・アドレ
ス・レジスタ31にデータ転送数終了時の最終アドレス
を、チャンネル1ストツプ・アドレス・レジスタ32に
は2セクタ分の転送終了時のアドレスを、それぞれセッ
トすること、ストップ・アドレスの更新はチャンネル1
ストツプ・アドレス・レジスタ32に対して行うこと、
および磁気ディスク装置からR,AM26.RAM26
から処理装置にデータを転送すること、を除けばライト
動作と同一である。なお、このとき、処理装置側のデー
タ転送速度より磁気ディスク装置側のデータ転送速度が
遅い場合、チャンネル1ストツプ・アドレス・レジスタ
32を更新する前にアドレス・レジスタ30とストップ
・アドレス・レジスタ32の値が等しくなることがある
が、そのときにはレジスタ30と32が等しくなった時
点で、一旦処理装置側へのデータ転送を停止し、磁気デ
ィスク装置からRAM26へのデータ転送が2セクタ分
以上になるのを待って、再びチャンネル1ストツプ・ア
ドレス・レジスタ32に2セクタ分のデー夕転送終了ア
ドレスをセットして、処理装置に対し起動をかけてデー
タ転送を開始する。以後、同じ動作を繰り返して、チャ
ンネルlDMAアドレス・レジスタ29とチャンネルO
ストップ・アドレス・レジスタ31の値が等しくなるま
で、磁気ディスク装置からの読み出しデータを処理装置
に転送する(ステップ47〜61)。In the case of a read operation, set the final address at the end of the number of data transfers in the channel O stop address register 31, and set the address at the end of the transfer of two sectors in the channel 1 stop address register 32. In other words, the stop address is updated on channel 1.
What to do with stop address register 32;
and R, AM26. from the magnetic disk device. RAM26
This is the same as a write operation, except that the data is transferred from the source to the processing device. At this time, if the data transfer speed on the magnetic disk device side is slower than the data transfer speed on the processing device side, the address register 30 and stop address register 32 are updated before updating the channel 1 stop address register 32. The values may become equal, but in that case, once registers 30 and 32 become equal, data transfer to the processing unit is temporarily stopped, and data transfer from the magnetic disk device to RAM 26 is for two sectors or more. After waiting for this, the data transfer end address for two sectors is set in the channel 1 stop address register 32 again, and the processing device is activated to start data transfer. After that, the same operation is repeated to set the channel I DMA address register 29 and channel O.
Data read from the magnetic disk device is transferred to the processing device until the values of the stop address registers 31 become equal (steps 47 to 61).
なお、第7図、第8図の実施例では、RAM26への書
き込みアドレスが2セクタ分以上になるのを待って、R
AM26からの読み出しを開始しているが、書き込みア
ドレスが1セクタ分以上になるのを待って読み出しを開
始させることもでき、その場合には両ストップ・アドレ
ス31.32に1セクタ分のデータ転送終了アドレスを
セットして起動をかける。ストップ・アドレスにセット
すべき初期値を、それ以外の値にすることも可能である
。In the embodiments shown in FIGS. 7 and 8, R
Reading from AM26 has started, but reading can also be started after waiting for the write address to become one sector or more. In that case, one sector worth of data is transferred to both stop addresses 31 and 32. Set the end address and start. It is also possible to set the initial value to be set to the stop address to be another value.
このように、マイクロプログラムで両アドレスの進行を
監視することにより、バッファ・メモリの同時動作が可
能であり、かつ磁気ディスク装置側のデータ転送速度と
処理装置側のデータ転送速度に差があっても、効率のよ
い処理が可能となる。In this way, by monitoring the progress of both addresses with a microprogram, it is possible to operate the buffer memory simultaneously, and there is a difference between the data transfer speed on the magnetic disk device side and the data transfer speed on the processing device side. Also, efficient processing becomes possible.
また、チャンネルlDMAアドレス、チャンネル1スト
ツプ・アドレスおよびチャンネルODMAアドレス、チ
ャンネルOストップ・アドレスをラップ・アラウンド、
すなわちバッファ・メモリの最終アドレスまで転送した
ならば、再びバッファ・メモリの先頭番地に戻ってデー
タ転送を繰り返すようKすれば、少ないバッファ・メモ
リ容量でデータの授受が可能となる。なお、本発明は他
の外部メモリ制御装置にも適用可能であることは勿論で
ある。It also wraps around the channel IDMA address, channel 1 stop address, channel ODMA address, and channel O stop address.
That is, once the data has been transferred to the final address of the buffer memory, the data can be sent and received with a small buffer memory capacity by returning to the starting address of the buffer memory and repeating the data transfer. Note that the present invention is of course applicable to other external memory control devices.
以上説明したように、本発明によれば、(a)処理装置
側のデータ転送と磁気ディスク装置側のデータ転送とを
、1つのバッファ・メモリを介し同時に動作させること
ができるので、処理能力の向上およびバッファ・メモリ
容量の低減を図ることができる。また、(b)バッファ
・メモリ容量が小さくなり、かつバッファ・メモリをマ
イクログログラムで制御するので、制御回路が簡素化さ
れ、ハードウェア構成が小規模ですむ。As explained above, according to the present invention, (a) data transfer on the processing device side and data transfer on the magnetic disk device side can be performed simultaneously via one buffer memory, thereby reducing processing capacity. It is possible to improve the performance and reduce the buffer memory capacity. Furthermore, (b) the buffer memory capacity is reduced and the buffer memory is controlled by a microprogram, so the control circuit is simplified and the hardware configuration can be small-scale.
また、(C)処理装置および磁気ディスク装置のデータ
転送速度が変更になっても、マイクロプログラムの一部
変更のみで対処でき、拡張性を持たせることができる。Furthermore, (C) even if the data transfer speeds of the processing device and magnetic disk device are changed, this can be handled by only partially changing the microprogram, and expandability can be achieved.
さらに、(d)磁気ディスク装置に対する転送処理が短
時間で終了するので、処理装置のホールド時間も短縮さ
れ、処理装置本来の処理をその分だけ多く実行できるの
で、システムの効率が向上する。Furthermore, (d) since the transfer process to the magnetic disk device is completed in a short time, the hold time of the processing device is also shortened, and the processing device can perform more of its original processing, thereby improving the efficiency of the system.
第1図、第2図は従来の小形計算機システムの磁気ディ
スク装置に対するデータ転送時のブロック図と動作シー
ケンス・チャート、第3図、第4図は本発明のバッファ
・メモリ制御方法の原理を示すブロック図と動作シーケ
ンス・チャート、第5図は本発明の一実施例を示す磁気
ディスク制御装置のブロック図、第6図は第5図のデー
タ転送制御回路の詳細ブロック図、第7図、第8図は第
5図、第6図の動作フローチャートである。
15二基本クロック発生器、16:マイクロプロセッサ
、17:アドレス・ラッチ、18:マイクロプログラム
ROM、19ニブログラムRAM。
20:データパス・ゲート、21:命令デコーダ、22
ニアドレスパス・ゲー)、23:データ・レジスタ、2
4ニアドレス・レジスタ、25:コマンド・レジスタ、
26:データ・バッファRAM。
27:データ転送制御回路、28:磁気ディスク装置フ
ォーマット・コントロール回路、29.30: DMA
アドレス・レジスタ、31.32ニストツプ・アドレス
・レジスタ、33.34:マルチプレクサ、35ニアド
レス比較回路、36:リード/ライト・コントロール回
路。1 and 2 show a block diagram and an operation sequence chart during data transfer to a magnetic disk device in a conventional small computer system, and FIGS. 3 and 4 show the principle of the buffer memory control method of the present invention. Block diagram and operation sequence chart, FIG. 5 is a block diagram of a magnetic disk control device showing one embodiment of the present invention, FIG. 6 is a detailed block diagram of the data transfer control circuit of FIG. 5, FIG. FIG. 8 is an operational flowchart of FIGS. 5 and 6. 15 two basic clock generators, 16: microprocessor, 17: address latch, 18: microprogram ROM, 19 nibprogram RAM. 20: Data path gate, 21: Instruction decoder, 22
Near Address Pass Game), 23: Data Register, 2
4 Near address register, 25: Command register,
26: Data buffer RAM. 27: Data transfer control circuit, 28: Magnetic disk device format control circuit, 29.30: DMA
Address register, 31. 32 Nistup address register, 33. 34: Multiplexer, 35 Near address comparison circuit, 36: Read/write control circuit.
Claims (1)
通のバッファ・メモリを介して行う外部メモリ制御装置
において、上記バッファ・メモリと処理装置間(第1の
区間)および上記バッファ・メモリと外部メモリ装置間
(第2の区間)の転送データを授受するとき、それぞれ
上記バッファ・メモリをアクセスするための各バッファ
・アドレスと、データ転送の一時停止または終了を検出
するための各ストップ・アドレスとをそれぞれ格納する
手段、上記各バッファ・アドレス格納手段の内容により
、上記第1の区間と第2の区間でセクタ単位のデータ転
送が行われた時点を検出して割り込み信号を発生する手
段、および上記割り込み信号をマイクロプログラムによ
り監視し、上記第1と第2の区間でのデータ転送進行状
況をチェックして、上記バッファ・メモリを制御する手
段を有することを特徴とする外部メモリ制御装置。(1) In an external memory control device that transfers data between a processing device and an external memory device via a common buffer memory, data transfer between the buffer memory and the processing device (first section) and between the buffer memory and the When transmitting and receiving transfer data between external memory devices (second section), each buffer address is used to access the buffer memory, and each stop address is used to detect a temporary stop or end of data transfer. and means for detecting, based on the contents of each of the buffer address storage means, a point in time when data transfer is performed in sector units in the first section and the second section, and generating an interrupt signal. and means for controlling the buffer memory by monitoring the interrupt signal using a microprogram and checking the progress of data transfer in the first and second sections.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59139662A JPS6118032A (en) | 1984-07-05 | 1984-07-05 | external memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59139662A JPS6118032A (en) | 1984-07-05 | 1984-07-05 | external memory controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6118032A true JPS6118032A (en) | 1986-01-25 |
Family
ID=15250491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59139662A Pending JPS6118032A (en) | 1984-07-05 | 1984-07-05 | external memory controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6118032A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01134642A (en) * | 1987-11-20 | 1989-05-26 | Fujitsu Ltd | Controlling and processing system for data base |
JPH0347169U (en) * | 1989-09-13 | 1991-05-01 |
-
1984
- 1984-07-05 JP JP59139662A patent/JPS6118032A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01134642A (en) * | 1987-11-20 | 1989-05-26 | Fujitsu Ltd | Controlling and processing system for data base |
JPH0347169U (en) * | 1989-09-13 | 1991-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5740466A (en) | Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses | |
US6105075A (en) | Scatter gather memory system for a hardware accelerated command interpreter engine | |
US5283872A (en) | SCSI device having transfer parameter storage memory blocks which correspond to each apparatus | |
EP0189638A1 (en) | Bus width adapter | |
US4792898A (en) | Method and apparatus for temporarily storing multiple data records | |
US5931920A (en) | Command interpreter system in an I/O controller | |
JP2770901B2 (en) | Disk control method | |
JPH0340868B2 (en) | ||
US3961312A (en) | Cycle interleaving during burst mode operation | |
US6772311B2 (en) | ATAPI device unaligned and aligned parallel I/O data transfer controller | |
US6938118B1 (en) | Controlling access to a primary memory | |
JP2981711B2 (en) | Disk storage device | |
JPS6118032A (en) | external memory controller | |
JPH05233513A (en) | Interface circuit for controlling data transfer | |
US5734900A (en) | Information handling system including efficient power on initialization | |
JP2978626B2 (en) | DMA controller | |
JPH0355642A (en) | Memory control system | |
JPS6391756A (en) | Partial write instruction processing system for storage device | |
JPH0820934B2 (en) | Disk cache control method | |
JPS5919375B2 (en) | Data buffer control method | |
JPS61239339A (en) | Page data transfer control method | |
JPH02307123A (en) | Computer | |
JPS61151769A (en) | Bus driving device | |
JPS60142450A (en) | memory system | |
JPH05181778A (en) | Input/output processor |