JPH0756846A - 入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法 - Google Patents

入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法

Info

Publication number
JPH0756846A
JPH0756846A JP5204126A JP20412693A JPH0756846A JP H0756846 A JPH0756846 A JP H0756846A JP 5204126 A JP5204126 A JP 5204126A JP 20412693 A JP20412693 A JP 20412693A JP H0756846 A JPH0756846 A JP H0756846A
Authority
JP
Japan
Prior art keywords
data
register
address
instruction
stored
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
JP5204126A
Other languages
English (en)
Inventor
Koichi Sato
浩一 佐藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5204126A priority Critical patent/JPH0756846A/ja
Publication of JPH0756846A publication Critical patent/JPH0756846A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【目的】 入出力処理実行時のマイクロプロセッサの負
荷を低減し、高速な入出力処理が可能なデータ処理シス
テムを提供する。 【構成】 ディスクコントローラ90は、ディスク装置
31からのデータが順次格納されるデータレジスタ21
と、データレジスタ21において有効なデータが存在す
るか否かを示すデータ状態レジスタ26と、リトライ信
号生成回路23と、を有している。データレジスタ21
に有効なデータが格納されていないにもかかわらず、C
PU1からデータレジスタ21へのアクセスがある場合
には、リトライ信号生成回路23によってリトライ信号
がアサートされ、これを受けたCPU1はリトライ機能
を開始する。 【効果】 ポーリング処理をリトライ機能を利用してハ
ードウエアで実現することによってマイクロプロセッサ
の負荷を軽減しつつ処理速度を向上させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、他の装置間との入出
力処理を行う入出力制御装置と、これを高速化させるデ
ータの転送方法と、この転送方法を命令として有するマ
イクロプロセッサと、入出力制御装置とマイクロプロセ
ッサとを組み合わせて構築したデータ処理システムと、
に関するものである。
【0002】
【従来の技術】図9は、従来のデータ処理システム20
0のハードウエアの構成例を示すブロック図である。デ
ータ処理システム200はディスクコントローラ20に
よってディスク装置31と、マイクロプロセッサ(以
降、CPUと記す)6及びメモリ34の間でデータの入
出力が行われる。ディスク装置31はケーブル30を介
して、またCPU6及びメモリ34はCPUバス33を
介して、それぞれディスクコントローラ20に接続され
る。ディスクコントローラ20及びメモリ34へはCP
Uバス33を介して、CPU6からアクセスできるよう
に構成されている。
【0003】このディスクコントローラ20へのアクセ
スとは、その内部に構成されているデータレジスタ2
1、制御レジスタ27、バイト数指定レジスタ28、セ
クタ番号指定レジスタ29等に対するアクセスであり、
バス制御回路22を介して行われる。これらのレジスタ
は、通常、いずれもCPU6のメモリマップの一部にマ
ッピングされ、即ちCPU6のアドレス空間の一部に割
り付けられているので、このアドレス空間におけるアド
レスを用いてCPU6から各レジスタ21,27,2
8,29へのアクセスを行うことができる。
【0004】データ処理システム200において、ディ
スク装置31からデータを読み出してメモリ34に格納
する場合を説明する。ディスク装置31からデータを読
み出す時は、通常セクタ番号とバイト数を指定する。セ
クタ番号は、読み出したいデータが、ディスク装置31
の備えるディスクの何処に存在するかという位置を示
す。またバイト数は、その位置から何バイトを読み出す
のかを指定する。通常はこのようにして、ディスクから
まとめて複数バイトのデータが読み出される。
【0005】セクタ番号とバイト数の指定のため、ディ
スクコントローラ20の内部には、セクタ番号指定レジ
スタ29とバイト数指定レジスタ28が設けられてい
る。そして読み出したいデータに対応したセクタ番号と
バイト数が、CPU6によってバス制御回路22を介し
てそれぞれのレジスタへ設定される(矢印110,11
1)。更にCPU6は、バス制御回路22を介して制御
レジスタ27に、データを読み出す命令に対応する所定
の値を書き込む(矢印112)。
【0006】以上に示す様なCPU6からディスクコン
トローラ20の内部へのアクセスによって、ディスクコ
ントローラ20はケーブル30を介してディスク装置3
1と必要な情報をやり取りした後、指定されたデータを
ディスク装置31から読み始める。読み出されたデータ
は、ディスクコントローラ20内部の外部バスインタフ
ェース回路102を介し、データレジスタ21に順次格
納される(矢印114)。多くの場合には、データレジ
スタ21はFIFO形式になっている。
【0007】この後、CPU6はバス制御回路22を介
してディスクコントローラ20内のデータレジスタ21
から格納されたデータを順次読み出し(矢印113)、
メモリ34に書き込んでいく。これによって、データの
読み出しに関する一連の処理が終了する。
【0008】データレジスタ21から読み出されたデー
タをメモリ34に書き込む(以下、データレジスタ21
からメモリ34へのデータの「転送」ともいう。)際に
は、所定の手順で行われる。市販されているCPUに
は、例えばM33210GS(三菱電機製)のようにS
MOVというニーモニックで示される命令(以下、SM
OV命令という。)をサポートしているものがあり(三
菱32ビットマイクロプロセッサM32/100 M3
3210 GS−20/FP−2 ユーザーズマニュア
ル;三菱電機株式会社発行(1989年6月)参照)、
このSMOV命令を用いてデータレジスタ21からメモ
リ34へのデータの転送を行うことができる。
【0009】図10は、SMOV命令によって実行され
るマイクロプログラムの手順を例示するフローチャート
である。CPU6は図9に示されるように汎用レジスタ
R0,R1,R2を備えており、これらにそれぞれ転送
元先頭アドレス、転送先先頭アドレス、データサイズが
指定されている。そしてSMOV命令が発行されると、
まず汎用レジスタR1に格納された転送先先頭アドレス
において格納されているデータ@R1を、汎用レジスタ
R0に格納された転送元先頭アドレスにおいて格納され
ているデータ@R0に、書き換える(ステップ13
1)。
【0010】次に汎用レジスタR0の値を1増加させ
(ステップ132)、汎用レジスタR1の値を1増加さ
せる(ステップ133)。これにより、転送元のデータ
のうち、引き続いて読み出されるべきデータのアドレス
を得ることができ、またこの読み出されたデータを、既
に転送されたデータが格納されたアドレスの次のアドレ
スに転送する準備ができる。
【0011】一方、ステップ131によって既に一つの
データが転送されたのであるから、データサイズを示す
汎用レジスタR2の値を1減少させる(ステップ13
4)。そしてこのデータサイズが0になればデータの転
送が完了したことになる(ステップ135)。
【0012】つまり、SMOV命令は、メモリのある領
域から他の領域に、指定されたデータサイズだけ順次デ
ータを転送してブロックコピーを行う命令である。ここ
ではデータレジスタ21のアドレスは固定されているの
で、データサイズを1とし、SMOV命令を複数回繰り
返すことになる。
【0013】ところでデータの読み出しを行う際、CP
U6がデータレジスタ21を読み出す速度に比べ、ディ
スクコントローラ20がデータレジスタ21へデータを
格納する速度が遅い場合がある。この場合には、ディス
クコントローラ20がデータレジスタ21へデータを格
納するのが間に合わず、CPU6は未だデータが入って
いない「空の」データレジスタ21を読むことになる。
ここでCPU6がデータレジスタ21から読み出したデ
ータは正しいデータではない。
【0014】このような不都合を防ぐため、通常ポーリ
ングと呼ばれる方法がとられている。ポーリングにおい
ては、CPU6はまずデータレジスタ21におけるデー
タの有無を調べ、データの存在を確認すればデータレジ
スタ21からのデータの読み出しを行い、データの不存
在を確認すれば、新たなデータがデータレジスタ21に
格納されてからデータの読み出しが行われる。データレ
ジスタ21におけるデータの有無を調べるため、データ
レジスタ21の状態を確認するデータ状態レジスタ26
がディスクコントローラ20内部に設けられている。
【0015】図11はポーリングの手順を示すフローチ
ャートである。データの読み出しのため、既述のように
CPU6はCPUバス33及びバス制御回路22を介
し、制御レジスタ27、バイト数指定レジスタ28、セ
クタ番号指定レジスタ29の各々に所定の値を書き込む
(ステップ80)。そして更にディスクコントローラ2
0内部のデータ状態レジスタ26を参照する。これは図
9の矢印115に対応している(ステップ81)。
【0016】データ状態レジスタ26を参照することに
より、未だデータレジスタ21にデータが存在していな
いことが確認されれば再びデータ状態レジスタ26を繰
り返し参照して、新しいデータがデータレジスタ21に
格納されるまで待つ(ステップ82)。そして既にデー
タレジスタ21にデータが存在していることが確認され
れば、これからデータが読み出され、それがメモリ34
に書き込まれる(ステップ83)。
【0017】次いで、読み出すべき全てのデータが読み
出されたか否か、即ち指定されただけのバイト数が読み
出されたか否かが調べられ(ステップ84)、読み出し
たデータが指定バイト数に達していなかった場合には、
ステップ81に戻ってデータ状態レジスタ26の参照か
ら手順が繰り返される。
【0018】
【発明が解決しようとする課題】以上のように、従来の
ポーリングによる方法では、ソフトウエアによって毎回
必ずデータ状態レジスタ26を参照し、データレジスタ
21におけるデータの有無を確認してからデータレジス
タ21を読み出しており、CPU6への負荷が大きいと
いう問題点があった。
【0019】更に、ディスクコントローラ20とディス
ク装置31間のデータの転送速度が、CPU6によるデ
ータレジスタ21からメモリ34へのデータの転送速度
と同程度、もしくは速い場合には、ディスク装置31か
らのデータの読み出しが遅くなるという問題点があっ
た。これは既に新たなデータがデータレジスタ21に存
在するにもかかわらず、CPU6がデータ状態レジスタ
26を調べるという「オーバーヘッド」が生じるためで
ある。
【0020】また、SMOV命令では一つのデータを転
送する毎に転送元アドレスと転送先アドレスがそれぞれ
変化する。このため、そのアドレスが固定されたデータ
レジスタ21から複数のデータを順次読み出してメモリ
34に転送するような場合には、既述の様に複数回SM
OV命令を行わなければならず、多くの実行時間が必要
となって処理速度が遅いという問題点もあった。
【0021】この発明は上記の問題点を解決するために
なされたもので、ハードウエアによってポーリングの実
行速度を高める入出力制御装置、データの入出力におい
て好適な命令を備えるマイクロプロセッサ、及び両者を
備えて他の装置間との入出力処理を高速化したデータ処
理システムの実現を目的とする。
【0022】
【課題を解決するための手段】この発明にかかる入出力
制御装置は、第1の態様として(a)所定のデータが格
納されるデータレジスタと、(b)前記データレジスタ
に前記所定のデータが格納されているか否かの情報が与
えられるデータ状態レジスタと、(c)前記データ状態
レジスタの状態を示す第1信号が与えられる第1信号線
と、(d)前記データレジスタへのアクセスを試みるこ
とを示す第2信号が与えられる第2信号線と、(e)前
記第1及び第2信号を基にして、前記アクセスが許され
ない場合にアサートする制御信号を生成する制御信号生
成手段と、を備える。
【0023】望ましくは、第2の態様として前記入出力
制御装置には(x)前記所定のデータが格納される外部
記憶装置が接続される。そして前記データレジスタが格
納していた記憶データの読み出しが行われた場合には、
前記記憶データが消去される。そして前記データ状態レ
ジスタは、(b−1)前記外部記憶装置から前記所定の
データが前記データレジスタに与えられた場合にネゲー
トされ、(b−2)前記データレジスタから前記記憶デ
ータの読み出しが行われた場合にアサートされる、状態
信号を与える。
【0024】更に望ましくは、第3の態様として前記入
出力制御装置には(y)リトライ機能を有するマイクロ
プロセッサが更に接続される。そして前記状態信号が前
記第1信号に相当し、前記第2信号は、前記アクセス
が、前記データレジスタからの前記記憶データの読み出
しで有る場合にアサートされる。そして前記制御信号生
成手段は前記第1及び第2信号のいずれもがアサートさ
れた場合に前記制御信号をアサートし、前記制御信号は
前記リトライ機能を開始させる。
【0025】この発明にかかるデータの転送方法は、複
数のデータを記憶しうる少なくとも一つの記憶手段にお
けるデータの転送方法である。そして(a)前記記憶手
段のうち固定された第1の番地に既に割り当てられた既
記憶データを順次読み出す工程と、(b)前記既記憶デ
ータを、前記記憶手段のうち第2の番地に続く領域に指
定されたサイズだけ書き込む工程と、を備える。
【0026】あるいは、複数のデータを記憶しうる少な
くとも一つの記憶手段におけるデータの転送方法であっ
て、(a)前記記憶手段のうち固定された第1の番地に
既に割り当てられた既記憶データを読み出す工程と、
(b)前記既記憶データを、前記記憶手段のうち第2の
番地に書き込む工程と、(c)前記第2の番地を更新す
る工程と、(d)前記工程(a)〜(c)について、所
定の回数だけの繰り返しを行う工程と、を備える。
【0027】望ましくは、前記工程(a),(b)の間
に(e)前記既記憶データを第3の番地に一旦書き込ん
で退避させ、退避フラグをセットする工程と、(f)前
記既記憶データを前記第3の番地から読み出し、前記退
避フラグをクリアする工程と、を更に備える。そして、
前記工程(e),(f)は、前記退避フラグがクリアさ
れている場合のみ実行される。
【0028】望ましくは、前記工程(d)は、(d−
1)前記所定の回数を1づつ減らして更新する工程と、
(d−2)前記所定の回数が0になった場合に前記繰り
返しを終了する工程と、を含む。
【0029】この発明にかかるマイクロプロセッサは、
第1の態様として複数のデータを記憶しうる少なくとも
一つの記憶手段においてデータの転送を行うマイクロプ
ロセッサである。そして(a)第1及び第2の番地並び
に所定のサイズをそれぞれ格納する第1乃至第3レジス
タと、(b)所定の命令を解釈してこれを実行する命令
解釈手段と、を備える。そして前記命令解釈手段は、
(b−1)前記第1の番地に既に割り当てられた既記憶
データを順次読み出す工程と、(b−2)前記既記憶デ
ータを、前記第2の番地に続く領域に前記所定のサイズ
だけ書き込む工程と、を実行するマイクロプログラムを
有する。
【0030】あるいは、第2の態様として複数のデータ
を記憶しうる少なくとも一つの記憶手段においてデータ
の転送を行うマイクロプロセッサであって、(a)第1
及び第2の番地並びに所定の回数をそれぞれ第1乃至第
3レジスタと、(b)所定の命令を解釈してこれを実行
する命令解釈手段と、を備える。そして前記命令解釈手
段は、(b−1)前記第1の番地に既に割り当てられた
既記憶データを読み出す工程と、(b−2)前記既記憶
データを、前記第2の番地に書き込む工程と、(b−
3)前記第2の番地を更新する工程と、(b−4)前記
工程(a)〜(c)について、前記所定の回数だけの繰
り返しを行う工程と、を実行するマイクロプログラムを
有する。
【0031】望ましくは、第3の態様として前記マイク
ロプロセッサは、(c)第3の番地に対応する退避レジ
スタと、(d)前記退避レジスタの状態を示す退避フラ
グが与えられる退避状態レジスタと、を更に備える。そ
して前記マイクロプログラムは、前記工程(b−1),
(b−2)の間に(b−5)前記既記憶データを前記第
3の番地に一旦書き込んで退避させ、退避フラグをセッ
トする工程と、(b−6)前記既記憶データを前記第3
の番地から読み出し、前記退避フラグをクリアする工程
と、を更に備える。そして、前記工程(b−1),(b
−5)は、前記退避フラグがクリアされている場合のみ
実行される。
【0032】望ましくは、第4の態様として前記工程
(b−4)は、(b−4−1)前記所定の回数を1づつ
減らして更新する工程と、(b−4−2)前記所定の回
数が0になった場合に前記繰り返しを終了する工程と、
を含む。
【0033】この発明にかかるデータ処理システムは、
前記入出力制御装置の前記第3の態様を備えたデータ処
理システムであって、前記リトライ機能を有するマイク
ロプロセッサとして、前記マイクロプロセッサの前記第
1の態様又は第3の態様を用いる。そして前記第1の番
地を前記データレジスタに対応させて前記データの転送
を行う。
【0034】
【作用】この発明にかかる入出力制御装置において、デ
ータレジスタにデータが存在しない時にデータレジスタ
の読み出しアクセスを受けた場合に、制御信号がアサー
トされる。よってこの入出力制御装置をリトライ機能を
有するマイクロプロセッサと接続し、制御信号をリトラ
イ機能を開始させるリトライ信号として用いることによ
り、次のバスサイクルで再びデータレジスタのアクセス
が行われる。このリトライ機能を用いて、データレジス
タに有効なデータが格納されるまでリトライし続け、制
御信号はハードウエアによって生成されるので、マイク
ロプロセッサの負担を軽減しつつ、ほとんどオーバーヘ
ッドなしにポーリングを実現することができる。
【0035】この発明にかかるデータの転送方法におい
ては、固定された第1の番地から順次既記憶データを読
み出し、第2の番地に続く領域に、指定されたサイズだ
けデータの転送を行うので、ソフトウエアを介すること
なく、高速に、入出力制御装置のデータレジスタから、
他のメモリの指定領域へのデータ転送を単独で行うこと
ができる。
【0036】また、既記憶データを一旦退避させ、その
退避の有無は退避フラグによって判断可能でなので、た
とえ途中で割り込みが入っても、入出力制御装置のデー
タレジスタを二重に読み出すことがなく、データの取り
こぼしがない。
【0037】この発明にかかるマイクロプロセッサは、
この発明にかかるデータの転送方法によってデータを転
送する命令を備えているので、入出力制御装置に接続し
て用いることにより、データレジスタからのデータ読み
取りの際に割り込み処理が生じても、データの取りこぼ
しがない。
【0038】また、この発明にかかるデータ処理システ
ムは、この発明にかかる入出力制御装置とこの発明にか
かるマイクロプロセッサを接続したものであり、データ
処理速度を向上させることができる。
【0039】
【実施例】
第1実施例:図1は、この発明の第1実施例にかかるデ
ィスクコントローラ90を備えたデータ処理システム3
00のハードウエアの構成を示すブロック図である。デ
ータ処理システム300においては、CPU1の制御の
下、ディスクコントローラ90を介してメモリ34とデ
ィスク装置31とのデータの入出力が実行される。
【0040】ディスクコントローラ90は、従来のデー
タ処理システム200の備えるディスクコントローラ2
0と同様に、CPU1及びメモリ34と、CPUバス3
3を介して接続されている。但し、CPUバス33のう
ち、第1バス33aのみがメモリ34に接続され、第2
バス33bはCPU1とのみ接続されている。
【0041】ディスクコントローラ90は、従来のデー
タ処理システム200の備えるディスクコントローラ2
0と同様に、その内部にデータレジスタ21、制御レジ
スタ27、バイト数指定レジスタ28、セクタ番号指定
レジスタ29を備えている。これらはバス制御回路91
を介してバス33に接続され、従来のデータ処理システ
ム200と同様にしてCPU1によって所定の値が書き
込まれ(矢印110〜112)、またデータが読み出さ
れる(矢印113)。
【0042】更にディスクコントローラ90は、ポーリ
ングのため、データレジスタ21に読み出すべきデータ
が存在するか否かを示すデータ状態レジスタ26を備え
ている。データ状態レジスタ26にはバス制御回路91
から信号線104が、外部バスインタフェース回路10
2から信号線105が、それぞれ接続されており、両者
によってデータレジスタ21の状態(読み出すべきデー
タが存在するか否か)が設定される。データ状態レジス
タ26は、例えばリセットセットフリップフロップ10
6から構成されている。
【0043】バス制御回路91は、CPU1がデータレ
ジスタ21からデータを読み出した場合に信号線104
を一時的にアサートする。通常、データレジスタ21は
FIFO形式になっているので読み出されたデータは消
失し、CPU1がデータレジスタ21からデータを読み
出した場合には、データレジスタ21は有効なデータを
記憶していない「空の」状態にある。つまり信号線10
4のアサートは、データレジスタ21に読み出すべきデ
ータが存在しないことを示すことになる。そして信号線
104はリセットセットフリップフロップ106のセッ
ト端子Sに接続されているので、リセットセットフリッ
プフロップ106のQ出力は、データレジスタ21に読
み出すべきデータが存在しない場合にアサート(イネー
ブル)される。
【0044】一方、外部バスインタフェース回路102
はデータレジスタ21にディスク装置31からのデータ
を書き込んだ時に、信号線105を一度アサートする。
つまり信号線105のアサートは、データレジスタ21
に読み出すべきデータが存在することを示すことにな
る。そして信号線105はリセットセットフリップフロ
ップ106のリセット端子Rに接続されているので、リ
セットセットフリップフロップ106のQ出力は、デー
タレジスタ21に読み出すべきデータが存在する場合に
ネゲート(リセット)される。
【0045】以上のように、リセットセットフリップフ
ロップ106はリセット端子Rが一旦アサートされると
Q出力をネゲート(リセット)して、またセット端子S
が一旦アサートされるとQ出力をアサート(セット)し
て、それぞれその状態を保持する。このため、リセット
セットフリップフロップ106のQ出力に接続され、デ
ータ状態レジスタ26から出力される信号線24は、デ
ィスク装置31からの新しいデータがデータレジスタ2
1に存在する場合にはネゲートされ、そのデータがCP
U1により読み出されてデータレジスタ21に存在しな
い場合にはアサートされることになる。
【0046】本実施例におけるバス制御回路91は、従
来のデータ処理システム200の備えるバス制御回路2
2の構成に加え、デコーダ101とリトライ信号生成回
路23を含んでいる。ここでデコーダ101は、CPU
1からディスクコントローラ90に与えられた命令をデ
コードし、これがデータレジスタ21からデータを読み
出す命令であると判断された場合に信号線103をアサ
ートする。また、例えばリトライ信号生成回路23はA
NDゲート107で構成されており、データ状態レジス
タ26からの信号線24の論理と、デコーダ101から
の信号線103の論理との論理積が出力される。
【0047】従って、リトライ信号生成回路23は、デ
ータ状態レジスタ26からの信号線24と、デコーダ1
01からの信号線103の出力が共にアサート(ここで
は論理“H”に相当する)された場合にのみ自身の出力
をリトライ信号としてアサート(ここでは論理“H”に
相当する)する。つまりデータレジスタ21に読むべき
データが存在せず、かつCPU1からディスクコントロ
ーラのデータレジスタ21にアクセスがあった場合にの
みリトライ信号生成回路23の出力(リトライ信号)は
アサートされる。
【0048】図2は、この実施例におけるポーリングの
手順を示すフローチャートである。ディスクコントロー
ラ20は、CPU1からデータ読み出しサイクルがある
か否かを調べる。そうでなければ同じ判断が繰り返され
る(ステップ121)。そしてデータ読み出しサイクル
があれば次のステップ122へと進む。
【0049】ステップ122では、データレジスタ21
に読み出すべきデータがあるか否かを調べ、ある場合に
はステップ123に進む。そしてステップ123におい
てCPU1の読み出しサイクルに対応してデータレジス
タ21のデータをCPU1に読み込ませる。
【0050】一方、ステップ122においてデータレジ
スタ21に読み出すべきデータが無いと判断された場合
には、ステップ124に進む。そしてCPU1からの読
み出しサイクルが終了するまでリトライ信号をアサート
し続ける。
【0051】次に図1に戻って、ステップ124の内容
について説明する。リトライ機能は現在市販されている
ほとんどのCPUでサポートされており、リトライ信号
がアサートされた場合にバスの再実行が行われる。
【0052】ディスクコントローラ90は、リトライ信
号生成回路23の出力(ANDゲート107の出力)に
接続されたリトライ信号出力端子25を備えている。こ
れは第2バス33bによってCPU1の備えるリトライ
信号入力端子10に接続されている。既述のように第1
バス33aと第2バス33bとはいずれもCPUバス3
3を構成するが、図1においては説明の便宜のために分
離して図示している。
【0053】CPU1は、自身から発行される命令を所
定のバスサイクルでCPUバス33に与える、バス制御
回路5を備えている。リトライ信号入力端子10はバス
制御回路5に接続されており、バス制御回路5はアサー
トされたリトライ信号を受けた場合にバスの再実行を行
う。具体的には次のバスサイクルで再びデータレジスタ
21の読み出しが試みられる。
【0054】以上に説明されたように、第1実施例にお
いてはディスクコントローラ90がデータ状態レジスタ
26の内容を反映してリトライ信号を生成し、CPU1
のリトライが行われる。このため図11に示されたステ
ップ81,82をソフトウエアで行わなくとも、ハード
ウエアの機能により、読み出すべきデータがデータレジ
スタ21に現れるまでリトライが繰り返されるので、ポ
ーリングの実行においてCPUの負荷が低減される。し
かも、オーバーヘッドが生じることもない。
【0055】第1実施例では、ディスクコントローラ9
0のデータレジスタ21を読み出す命令についてのみ説
明したが、書き込み命令についても同様の動作をさせる
ことができ、同様な効果を得ることができる。
【0056】第2実施例:第2実施例はCPUに関する
ものであり、データ処理システム300,200のよう
に、アドレスが固定されたデータレジスタ21から複数
のデータを順次読み出してメモリ34へデータを転送す
るのに好適な命令を備えている。現在のCPUにおいて
は、従来の技術で説明されたSMOV命令のような比較
的機能性の高い命令は、通常マイクロプログラムを用い
て実現されており、第2実施例に関する命令もマイクロ
プログラムを用いて実現することができる。この命令を
説明するのに先立ち、図1を用いてCPU1の構成を説
明する。
【0057】但し、第2実施例は図1において示された
第1実施例にかかるディスクコントローラ90にのみ適
用されるものではなく、図9において示された従来の技
術にかかるディスクコントローラ20にも適用すること
が可能である。即ちデータ状態レジスタ26に基づいて
リトライ信号を作ることが、第2実施例の前提になるも
のではない。なお、第2実施例は第1実施例に適用され
ることで一層効果的であるが、これについては第3実施
例において詳述する。
【0058】CPU1は、既に説明されたバス制御回路
5を含め、互いに内部バス11で接続された命令デコー
ド部2、命令実行部3、汎用レジスタR0,R1,R2
を備えている。更に命令実行部3はマイクロROM4を
備えており、ここには各命令に対応するマイクロプログ
ラムが格納されている。
【0059】メモリ34からバス制御回路5を通じて取
り込まれた命令は、命令デコード部2で所定のアドレス
に変換され、内部バス11を介して命令実行部3に伝達
される。このアドレスはマイクロROM4のアドレスで
あり、このアドレスにおいて、取り込まれた命令に対応
するマイクロプログラムがマイクロROM4に格納され
ている。命令実行部3ではそのアドレスで指定されるマ
イクロプログラムを実行することにより、取り込まれた
命令を処理する。
【0060】このようにして、マイクロプログラムを用
いて命令を実行するCPUでは、マイクロプログラムを
変更することにより、容易に新しい命令を実現すること
が可能である。
【0061】第2実施例にかかる命令は、既述のSMO
V命令における転送元先頭アドレスを単一のアドレスに
固定したものであり、これと併せて転送先先頭アドレ
ス、データサイズを指定することにより、ある固定アド
レスからデータサイズ分の回数だけ読み出しを行い、読
み出したデータを順次転送先先頭アドレスから引き続く
領域に格納していく命令である。以下、この新しい命令
をIOSMOV命令と呼ぶことにする。
【0062】図3は、IOSMOV命令を実行するマイ
クロプログラムの手順を示すフローチャートである。S
MOV命令の場合と類似して、汎用レジスタR0,R
1,R2のそれぞれには、転送元アドレス、転送先先頭
アドレス、データサイズが指定されている。
【0063】IOSMOV命令が発行されると、まずス
テップ51において転送先のアドレスのデータ@R1
を、転送元の内容@R0に書き換える。そしてステップ
52において汎用レジスタR1の内容を1増加させて転
送先アドレスを更新し、次の書き込みサイクルで引き続
いたアドレスに書き込めるようにする。そして、ステッ
プ53で汎用レジスタR2の格納するデータサイズを1
減らし、ステップ54で所定のデータサイズの転送が完
了したか否かを判断し、未だ完了していない場合にはス
テップ51に戻る。このようにして同一の転送元アドレ
スから複数のデータを順次メモリ34の連続したアドレ
スに転送してゆく。
【0064】IOSMOV命令の動作を明確にするた
め、これをSMOV命令との比較において説明する。表
1はIOSMOV命令とSMOV命令の動作を比較して
例示する表であり、各動作の実行順に記載されている。
【0065】
【表1】
【0066】いま、転送元先頭アドレスあるいは転送元
アドレス(汎用アドレスR0において最初に格納された
アドレス)を1000番地とし、転送先先頭アドレス
(汎用アドレスR1において最初に格納されたアドレ
ス)を2000番地とし、転送するデータサイズ(汎用
アドレスR2において最初に格納されたデータサイズ)
を4バイトとする。
【0067】データ転送は一度に1バイトで行われると
すると、IOSMOV命令もSMOV命令も、その動作
は4回のデータの転送を含む。しかし、SMOV命令に
おいては転送元のアドレスが順次更新されてゆくのに対
し、IOSMOV命令においては転送元のアドレスは固
定されたままである。よって、ディスクコントローラ9
0の備えるアドレスの固定されたデータアドレス21か
ら、複数のアドレスが割り当てられるメモリ34へとデ
ータを順次転送する場合には、データサイズを1として
複数回行う必要のあるSMOV命令よりも、転送元アド
レスとしてデータレジスタ21のアドレスを指定すれば
1命令で処理することができるIOSMOV命令の方が
好適であることがわかる。
【0068】このIOSMOV命令のマイクロプログラ
ムに対応したフローチャート(図3)におけるステップ
51,52,53,54は、図10において示されたS
MOV命令のマイクロプログラムに対応したフローチャ
ートにおけるステップ131,133,134,135
とそれぞれ同一である。従って、IOSMOV命令のマ
イクロプログラムは、既に存在するSMOV命令のマイ
クロプログラムからステップ132に相当する部分、即
ち転送元アドレスの更新に関する部分のみを除去するだ
けで簡単に実現することができる。第2実施例にかかる
CPU1は、その備えるマイクロROM4がIOSMO
V命令のマイクロプログラムを有しているという点で、
図9に示されたデータ処理システム200の備えるCP
U6と異なることになる。
【0069】図4は、IOSMOV命令を用いてディス
ク装置31からデータを読み取る手順を示すフローチャ
ートである。まずステップ60でCPU1はCPUバス
33を介し、制御レジスタ27、バイト数指定レジスタ
28、セクタ番号指定レジスタ29の各々に、ディスク
装置31に関する所定の値を書き込む。その後ステップ
61〜63でCPUの内部レジスタにIOSMOV命令
のパラメータを指定する。具体的には、ステップ61に
おいて、転送元であるデータレジスタ21のアドレスを
汎用レジスタR0に与える。そしてステップ62におい
て、転送先であるメモリ34のアドレスのうち、データ
レジスタ21から読み出されたデータをどこから格納す
るかを示す転送先先頭アドレスを汎用レジスタR1に与
える。そして汎用レジスタR2に転送すべきデータのデ
ータサイズが与えられる。
【0070】この後、ステップ64においてIOSMO
V命令が実行される。既述のように、IOSMOV命令
は単独で、固定されたアドレスから順次複数のデータを
読み出して転送するので、ディスク装置31からのデー
タの転送は簡単な手順で行われ、SMOV命令を複数回
用いる場合よりも処理速度が向上する。
【0071】なお、ここではIOSMOV命令としてデ
ータレジスタ21からメモリ34へのデータ転送につい
て説明したが、その逆に適用することも可能である。
【0072】第3実施例:第2実施例において述べたよ
うに、IOSMOV命令は第1実施例にかかるディスク
コントローラ90を前提とするものではない。しかし、
データ状態レジスタ26に基づいてリトライ信号を作る
リトライ信号生成回路23を有するディスクコントロー
ラ90にIOSMOV命令を与えることで、データ処理
システム300の処理速度は更に向上する。
【0073】図5は、この場合におけるIOSMOV命
令の実行手順を示すフローチャートであり、図4に示さ
れたステップ64の内部に相当する。ステップ64にお
けるIOSMOV命令の実行中にも、第1実施例で示さ
れたリトライ機能を用いるハードウエアによるポーリン
グが行われる。
【0074】まずステップ641において、IOSMO
V命令が発行される。これは既述のように、命令デコー
ド部2から内部バス11を介して命令実行部3に、マイ
クロROM4の格納するIOSMOV命令のマイクロ命
令のアドレスが与えられることに対応する。この後、ス
テップ642において、ディスクコントローラ90によ
るデータレジスタ21のリード操作が開始される。ここ
でリード操作とはデータレジスタに対するアクセスをい
う。
【0075】次にステップ643において、リトライ信
号のアサートの判断がなされる。リトライ信号のアサー
トがされていればこの判断が繰り返され、アサートされ
ていなければステップ644へ進む。これは図2におい
て示されたステップ122,124に対応しており、ハ
ードウエアによって実行されるものである。
【0076】そしてステップ644ではリード操作が完
了され、読み出されたデータの書き込みが行われる。こ
れは図2に示されたステップ123、図3に示されたス
テップ51に対応している。
【0077】この後、ステップ645において、指定さ
れたバイト数のデータが転送されたか否かが判断され、
指定されたバイト数のデータの転送が終了していればI
OSMOV命令が終了し、ディスク装置31からのデー
タの読み出しも終了する。指定されたバイト数のデータ
の転送が終了していなれば、ステップ643に戻り、リ
トライ信号のネゲートを条件としてステップ644の処
理が繰り返される。このステップ645は、図3に示さ
れたステップ52〜54に対応する。
【0078】データ処理システム300においてIOS
MOV命令を用いると、ディスク装置31からのデータ
の読み出しは以上のようにして行われるので、処理速度
の向上が図れる上、リトライ機能がハードウエアたるリ
トライ信号生成回路23によって利用されるので、CP
U1の負担が少ないポーリングが実行でき、一層処理速
度が向上する。
【0079】第4実施例:第4実施例は、第2実施例に
示されたIOSMOV命令を改良した命令を備えるCP
Uに関する。この命令はIOSMOV命令実行中の割り
込み処理に対応するものであり、これの説明に先立ち、
まず一般的な割り込み処理について説明する。
【0080】図6は一般的な割り込み処理を示すフロー
チャートである。割り込み処理は割り込みプログラムを
強制的に実行するものである。ここで示される各ステッ
プは、ハードウエアで行われることもあればソフトウエ
アで行われることもある。
【0081】ステップ40で割り込み処理が始まると、
ステップ41で、もし割り込みが生じなければ次に実行
されるはずであった命令のアドレスが待避される。そし
て、ステップ42では、割り込みプログラムの実行によ
り内容が変化する可能性のあるレジスタ(内部状態を示
すレジスタや汎用レジスタ)の内容の待避を行う。これ
らの待避は通常、メモリ上のスタックと呼ばれる場所に
なされる。
【0082】そしてステップ43において割り込みプロ
グラムが実行され、これが終了すると、ステップ44,
45において、それぞれ内部レジスタ群の内容を復帰さ
せ、次の命令のアドレスを取り込む。これで割り込み処
理が終了して元の状態に戻る。
【0083】ここで割り込みが発生した後にすぐに割り
込み処理が開始されるわけではなく、一般には現在実行
中の命令が終了してから割り込み処理に入る。例えば、
単に固定アドレスから固定アドレスへとデータの転送を
行うMOV命令では、転送すべきデータの読み出しサイ
クルと、これの書き込みサイクルとの組合わせが終了し
た後で割り込み処理が開始される。このため、割り込み
処理の最初のステップ41ではMOV命令に続いて実行
すべき後発の命令のアドレスの待避が行われ、割り込み
プログラムの終了後はこの後発の命令の実行が開始され
る。
【0084】しかし、命令の種類によっては、それが実
行中であってもこれを一旦停止させて割り込みプログラ
ムが処理される場合がある。例えば、SMOV命令のよ
うに実行時間が長くなる命令では、割り込みへの高速応
答性を失わないために、その命令実行中でも割り込みを
処理が行われる。
【0085】このような場合には、次に実行すべき命令
として、現在実行中のSMOV命令自身のアドレスが待
避される。即ち割り込みプログラムの終了後に同一の命
令を実行するのである。
【0086】図10において示されたように、SMOV
命令は、CPU内部の汎用レジスタR0〜R2に格納さ
れた転送元先頭アドレス、転送先先頭アドレスやデータ
サイズをマイクロプログラムで更新しながら実行され
る。このため、割り込み処理において各レジスタの内容
がステップ42で待避され、ステップ44で復帰される
限り、割り込みプログラムの終了後に同一の命令を実行
しても、データの転送に必要なアドレスは更新されてい
るため、原則的には割り込み処理に入る前の状態からS
MOV命令の処理が連続して行われたのと同一の処理が
なされる。これは図3にその手順が示されたIOSMO
V命令も同様である。
【0087】SMOV命令と同様に、IOSMOV命令
はデータの読み出しサイクルと、データの書き込みサイ
クルとの組合わせで処理が進められる。これは図3にお
いてステップ51でまとめて図示されているが、汎用レ
ジスタR0が格納するアドレスの内容@R0が(例えば
データレジスタ21の内容が)読み出された後に割り込
み処理が入った場合には、その場で直ちに割り込み処理
がかかる。一方、FIFO形式のデータレジスタ21で
は、読み出されたデータは消失している。
【0088】よって、割り込みプログラムが終了してI
OSMOV命令が再開されてデータレジスタ21の内容
が読み出される場合には、その内容は既に更新されてい
たり、有効なものでないことになる。つまり、データレ
ジスタ21は2回続けて読み出され、その1回目に読み
出されたデータはメモリ34に格納されることなく取り
こぼすことになってしまう。
【0089】第4実施例ではこのようなデータの取りこ
ぼしが生じないようにIOSMOV命令を改良するもの
である。図7は第4実施例にかかるCPU7のハードウ
エア構成を示すブロック図である。第2実施例において
図1を用いて説明されたCPU1の構成に加え、転送レ
ジスタ12及び内部状態レジスタ13が備えられ、内部
バス11に接続されている。
【0090】転送レジスタ12はIOSMOV命令の転
送データを一時的に格納しておくためのレジスタであ
る。また内部状態レジスタ13は、CPU7の各種の内
部状態を示すレジスタである。そしてその一部には転送
レジスタ状態フィールド14が設けられており、これは
転送レジスタ12にデータが存在するかどうかを示す。
転送レジスタ状態フィールド14はマイクロプログラム
でセット、クリアされる。
【0091】図8は、このような構成を有するCPU7
において実行される、改良されたIOSMOV命令の手
順を示すフローチャートである。IOSMOV命令の発
行により、まずステップ50で内部状態レジスタ13中
の転送レジスタ状態フィールド14が参照される。転送
レジスタ状態フィールド14がクリアされていた場合
(セットされていなかった場合)にはステップ511に
進む。
【0092】ステップ511は図3のステップ51に対
応し、データの読み出しサイクルに相当するステップ5
12,513、及びデータの書き込みサイクルに相当す
るステップ514,515から構成されている。ステッ
プ50で内部状態レジスタ13中の転送レジスタ状態フ
ィールド14がセットされていると判断された場合に
は、データの読み出しサイクルに相当するステップ51
2,513をスキップし、データの書き込みサイクルに
相当するステップ514,515が実行される。
【0093】ステップ511は、データの読み出しサイ
クルとデータの書き込みサイクルとの間に転送レジスタ
12へのデータの転送をバッファとして設けた構成をと
っている。まずステップ512において、転送レジスタ
状態フィールド14をセットする。そしてR0レジスタ
で指定されるアドレス(例えばディスクコントローラ2
0のデータレジスタ21のアドレスなど)からデータを
読み込み、転送レジスタ12にこれを格納する(ステッ
プ513)。このステップ512,513はCPU内部
での操作であり、両者の間において割り込み処理が介入
することはない。もし既に転送レジスタ状態フィールド
14がセットされていた場合には、転送レジスタ12に
汎用レジスタR0で指定されるアドレスから読み出され
たデータが退避されているはずであるから、既述のよう
にステップ50からステップ514へと処理が進められ
る。
【0094】ステップ514では、転送レジスタ12に
退避していたデータが汎用レジスタR1で指定されるア
ドレスに格納される。そしてステップ515によって、
転送レジスタ状態フィールド14がクリアされる。この
ステップ514,515もCPU内部での操作であり、
両者の間において割り込み処理が介入することはない。
【0095】但し、ステップ513とステップ514の
間では割り込み処理を介入させ、割り込みプログラムの
開始を遅延させない。そしてここで割り込み処理が介入
しても、転送レジスタ12や、内部状態レジスタ13な
どの待避が図6に例示したステップ42において行われ
るので、ステップ512,513が二重に実行されるこ
とがなく、IOSMOV命令の実行を正常に継続するこ
とができる。このため、データの取りこぼしは回避され
ることになる。
【0096】上記の説明から明白なように、ステップ5
12,513はその内容を互いに入れ換えることがで
き、またステップ514,515はその内容を互いに入
れ換えることもできる。
【0097】なお、第4実施例では転送レジスタ12を
新しく付加した構成を持つCPU7について説明した
が、転送レジスタ12は汎用レジスタなどで代用するこ
とが可能である。
【0098】また、第4実施例に示されたCPU7を第
1実施例に示されたディスクコントローラ90と接続し
て用い、データ処理システムを構築することができるの
はいうまでもない。
【0099】
【発明の効果】この発明は以上に説明した通り、入出力
制御装置におけるポーリング処理をハードウエアで行う
ことを可能とし、またデータレジスタからの複数のデー
タの転送を単一の命令で行うことを可能とし、マイクロ
プロセッサの負荷を軽減させつつ、データの入出力の処
理を高速化することができる。
【図面の簡単な説明】
【図1】この発明の第1実施例を示すブロック図であ
る。
【図2】この発明の第1実施例を示すフローチャートで
ある。
【図3】この発明の第2実施例を示すフローチャートで
ある。
【図4】この発明の第2実施例を示すフローチャートで
ある。
【図5】この発明の第3実施例を示すフローチャートで
ある。
【図6】この発明の第4実施例の背景を示すフローチャ
ートである。
【図7】この発明の第4実施例を示すブロック図であ
る。
【図8】この発明の第4実施例を示すフローチャートで
ある。
【図9】従来の技術を示すブロック図である。
【図10】従来の技術を示すフローチャートである。
【図11】従来の技術を示すフローチャートである。
【符号の説明】
1,7 マイクロプロセッサ(CPU) 3 命令実行部 12 データレジスタ 23 リトライ信号生成回路 26 データ状態レジスタ 90 ディスクコントローラ 91 バス制御装置 R0〜R2 汎用メモリ
【手続補正書】
【提出日】平成5年11月26日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項6
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】つまり、SMOV命令は、メモリのある領
域から他の領域に、指定されたデータサイズだけ順次デ
ータを転送してブロックコピーを行う命令である。ここ
ではデータレジスタ21のアドレスは固定されており、
データサイズは1である。よって複数バイトのデータ転
送を行う場合には、SMOV命令を複数回繰り返すこと
になる。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0020
【補正方法】変更
【補正内容】
【0020】また、SMOV命令では一つのデータを転
送する毎に転送元アドレスと転送先アドレスがそれぞれ
変化する。このため、そのアドレスが固定されたデータ
レジスタ21から複数のデータを順次読み出してメモリ
34に転送するような場合には、既述の様に複数回SM
OV命令を行わなければならず、SMOV命令を効果的
に使うことができない。従って多くの実行時間が必要と
なって処理速度が遅いという問題点もあった。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正内容】
【0027】望ましくは、前記工程(a),(b)の間
に(e)前記既記憶データを第3の番地に一旦書き込ん
で退避させ、退避フラグをセットする工程と、(f)前
記既記憶データを前記第3の番地から読み出し、前記退
避フラグをクリアする工程と、を更に備える。そして、
前記工程(),()は、前記退避フラグがクリアさ
れている場合のみ実行される。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0051
【補正方法】変更
【補正内容】
【0051】次に図1に戻って、ステップ124の内容
について説明する。リトライ機能は現在市販されている
ほとんどのCPUでサポートされており、リトライ信号
がアサートされた場合にバスサイクルの再実行が行われ
る。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0053
【補正方法】変更
【補正内容】
【0053】CPU1は、自身から発行される命令を所
定のバスサイクルでCPUバス33に与える、バス制御
回路5を備えている。リトライ信号入力端子10はバス
制御回路5に接続されており、バス制御回路5はアサー
トされたリトライ信号を受けた場合にバスサイクルの再
実行を行う。具体的には次のバスサイクルで再びデータ
レジスタ21の読み出しが試みられる。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0070
【補正方法】変更
【補正内容】
【0070】この後、ステップ64においてIOSMO
V命令が実行される。既述のように、IOSMOV命令
は単独で、固定されたアドレスから順次複数のデータを
読み出して転送するので、ディスク装置31からのデー
タの転送は簡単な手順で行われ、複数バイトの読み出し
をハードウェアで高速に処理できる。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 (a)所定のデータが格納されるデータ
    レジスタと、 (b)前記データレジスタに前記所定のデータが格納さ
    れているか否かの情報が与えられるデータ状態レジスタ
    と、 (c)前記データ状態レジスタの状態を示す第1信号が
    与えられる第1信号線と、 (d)前記データレジスタへのアクセスを試みることを
    示す第2信号が与えられる第2信号線と、 (e)前記第1及び第2信号を基にして、前記アクセス
    が許されない場合にアサートする制御信号を生成する制
    御信号生成手段と、を備える、入出力制御装置。
  2. 【請求項2】 前記入出力制御装置には、 (x)前記所定のデータが格納される外部記憶装置が接
    続され、 前記データレジスタが格納していた記憶データの読み出
    しが行われた場合には、前記記憶データが消去され、 前記データ状態レジスタは、 (b−1)前記外部記憶装置から前記所定のデータが前
    記データレジスタに与えられた場合にネゲートされ、 (b−2)前記データレジスタから前記記憶データの読
    み出しが行われた場合にアサートされる、状態信号を与
    える請求項1記載の入出力制御装置。
  3. 【請求項3】 前記入出力制御装置には、 (y)リトライ機能を有するマイクロプロセッサが更に
    接続され、 前記状態信号が前記第1信号に相当し、 前記第2信号は、前記アクセスが、前記データレジスタ
    からの前記記憶データの読み出しで有る場合にアサート
    され、 前記制御信号生成手段は前記第1及び第2信号のいずれ
    もがアサートされた場合に前記制御信号をアサートし、 前記制御信号は前記リトライ機能を開始させる、請求項
    2記載の入出力制御装置。
  4. 【請求項4】 複数のデータを記憶しうる少なくとも一
    つの記憶手段におけるデータの転送方法であって、 (a)前記記憶手段のうち固定された第1の番地に既に
    割り当てられた既記憶データを順次読み出す工程と、 (b)前記既記憶データを、前記記憶手段のうち第2の
    番地に続く領域に指定されたサイズだけ書き込む工程
    と、を備えるデータの転送方法。
  5. 【請求項5】 複数のデータを記憶しうる少なくとも一
    つの記憶手段におけるデータの転送方法であって、 (a)前記記憶手段のうち固定された第1の番地に既に
    割り当てられた既記憶データを読み出す工程と、 (b)前記既記憶データを、前記記憶手段のうち第2の
    番地に書き込む工程と、 (c)前記第2の番地を更新する工程と、 (d)前記工程(a)〜(c)について、所定の回数だ
    けの繰り返しを行う工程と、を備えるデータの転送方
    法。
  6. 【請求項6】 前記データの転送方法は、前記工程
    (a),(b)の間に (e)前記既記憶データを第3の番地に一旦書き込んで
    退避させ、退避フラグをセットする工程と、 (f)前記既記憶データを前記第3の番地から読み出
    し、前記退避フラグをクリアする工程と、を更に備え、 前記工程(a),(e)は、前記退避フラグがクリアさ
    れている場合のみ実行される、請求項4又は5記載のデ
    ータの転送方法。
  7. 【請求項7】 前記工程(d)は、 (d−1)前記所定の回数を1づつ減らして更新する工
    程と、 (d−2)前記所定の回数が0になった場合に前記繰り
    返しを終了する工程と、を含む請求項5記載のデータの
    転送方法。
  8. 【請求項8】 複数のデータを記憶しうる少なくとも一
    つの記憶手段においてデータの転送を行うマイクロプロ
    セッサであって、 (a)第1及び第2の番地並びに所定のサイズをそれぞ
    れ格納する第1乃至第3レジスタと、 (b)所定の命令を解釈してこれを実行する命令解釈手
    段と、を備え、 前記命令解釈手段は、 (b−1)前記第1の番地に既に割り当てられた既記憶
    データを順次読み出す工程と、 (b−2)前記既記憶データを、前記第2の番地に続く
    領域に前記所定のサイズだけ書き込む工程と、を実行す
    るマイクロプログラムを有するマイクロプロセッサ。
  9. 【請求項9】 複数のデータを記憶しうる少なくとも一
    つの記憶手段においてデータの転送を行うマイクロプロ
    セッサであって、 (a)第1及び第2の番地並びに所定の回数をそれぞれ
    第1乃至第3レジスタと、 (b)所定の命令を解釈してこれを実行する命令解釈手
    段と、を備え、 前記命令解釈手段は、 (b−1)前記第1の番地に既に割り当てられた既記憶
    データを読み出す工程と、 (b−2)前記既記憶データを、前記第2の番地に書き
    込む工程と、 (b−3)前記第2の番地を更新する工程と、 (b−4)前記工程(a)〜(c)について、前記所定
    の回数だけの繰り返しを行う工程と、を実行するマイク
    ロプログラムを有するマイクロプロセッサ。
  10. 【請求項10】 前記マイクロプロセッサは、 (c)第3の番地に対応する退避レジスタと、 (d)前記退避レジスタの状態を示す退避フラグが与え
    られる退避状態レジスタと、を更に備え、 前記マイクロプログラムは前記工程(b−1),(b−
    2)の間に (b−5)前記既記憶データを前記第3の番地に一旦書
    き込んで退避させ、退避フラグをセットする工程と、 (b−6)前記既記憶データを前記第3の番地から読み
    出し、前記退避フラグをクリアする工程と、を更に備
    え、前記工程(b−1),(b−5)は、前記退避フラ
    グがクリアされている場合のみ実行される、請求項8又
    は9記載のマイクロプロセッサ。
  11. 【請求項11】 前記工程(b−4)は、 (b−4−1)前記所定の回数を1づつ減らして更新す
    る工程と、 (b−4−2)前記所定の回数が0になった場合に前記
    繰り返しを終了する工程と、を含む請求項9記載のマイ
    クロプロセッサ。
  12. 【請求項12】 請求項3記載の入出力制御装置を備え
    たデータ処理システムであって、 前記リトライ機能を有するマイクロプロセッサとして、
    請求項8記載のマイクロプロセッサ及び請求項10記載
    のマイクロプロセッサの少なくともいずれか一方を用
    い、 前記第1の番地を前記データレジスタに対応させて前記
    データの転送を行うデータ処理システム。
JP5204126A 1993-08-18 1993-08-18 入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法 Pending JPH0756846A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5204126A JPH0756846A (ja) 1993-08-18 1993-08-18 入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5204126A JPH0756846A (ja) 1993-08-18 1993-08-18 入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法

Publications (1)

Publication Number Publication Date
JPH0756846A true JPH0756846A (ja) 1995-03-03

Family

ID=16485262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5204126A Pending JPH0756846A (ja) 1993-08-18 1993-08-18 入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法

Country Status (1)

Country Link
JP (1) JPH0756846A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6808642B2 (en) 2000-12-28 2004-10-26 Tdk Corporation Method for producing multilayer substrate and electronic part, and multilayer electronic part
WO2009098737A1 (ja) * 2008-02-08 2009-08-13 Panasonic Corporation 外部デバイスアクセス装置、その制御方法及びシステムlsi

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6808642B2 (en) 2000-12-28 2004-10-26 Tdk Corporation Method for producing multilayer substrate and electronic part, and multilayer electronic part
WO2009098737A1 (ja) * 2008-02-08 2009-08-13 Panasonic Corporation 外部デバイスアクセス装置、その制御方法及びシステムlsi
JPWO2009098737A1 (ja) * 2008-02-08 2011-05-26 パナソニック株式会社 外部デバイスアクセス装置、その制御方法及びシステムlsi

Similar Documents

Publication Publication Date Title
US8825923B2 (en) Memory system having high data transfer efficiency and host controller
US4593354A (en) Disk cache system
US20100169546A1 (en) Flash memory access circuit
US6700582B2 (en) Method and system for buffer management
US8762596B2 (en) Direct memory access controller with multiple transaction functionality
JPH05204709A (ja) プロセッサ
CN112506827A (zh) 一种基于adma控制器的数据传输方法、装置及设备
JPS59231652A (ja) メモリアクセス・オ−バラツプ検出方式
JPH0756846A (ja) 入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
US7987301B1 (en) DMA controller executing multiple transactions at non-contiguous system locations
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JPH0388018A (ja) ディスク制御装置
JP2000029690A (ja) デ―タ処理の方法および装置
KR100348808B1 (ko) 메모리간의 데이타 전송장치
JPS6242301B2 (ja)
JPH0683639A (ja) レジスタ装置
JP3161422B2 (ja) マイクロコンピュータ
JPS59144955A (ja) 情報処理装置
JPH0152775B2 (ja)
JP2604604B2 (ja) スタック制御装置
JPS60123944A (ja) 情報処理装置におけるバツフアメモリ制御方式
JPS6249550A (ja) デ−タ転送装置
JPH0675898A (ja) ダイレクトメモリアクセスコントローラ
JPS596413B2 (ja) チヤネル制御装置