JPH0476150B2 - - Google Patents

Info

Publication number
JPH0476150B2
JPH0476150B2 JP60217073A JP21707385A JPH0476150B2 JP H0476150 B2 JPH0476150 B2 JP H0476150B2 JP 60217073 A JP60217073 A JP 60217073A JP 21707385 A JP21707385 A JP 21707385A JP H0476150 B2 JPH0476150 B2 JP H0476150B2
Authority
JP
Japan
Prior art keywords
value
byte count
fetch
register
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.)
Expired - Lifetime
Application number
JP60217073A
Other languages
English (en)
Other versions
JPS6275861A (ja
Inventor
Masao Koyabu
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP21707385A priority Critical patent/JPS6275861A/ja
Publication of JPS6275861A publication Critical patent/JPS6275861A/ja
Publication of JPH0476150B2 publication Critical patent/JPH0476150B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 中央処理装置(CPU)からの指令に従つて、
主記憶装置(MS)と入出力装置(IO0〜I0n)と
の間でデータ転送を制御するチヤネル処理装置
(CH0〜CHn)において、主記憶装置(MS)か
ら入出力装置にデータを転送(MSフエツチ)す
る際、該MSフエツチのデータ転送開始アドレス
から、転送境界(バウンダリ)アドレス迄のデー
タ量を求めて最初のデータ転送を行い、バイトカ
ウントレジスタ(BC)から該データ量を減算し
た後は、バイトカウントレジスタ(BC)の値に
関係なく、主記憶装置(MS)からのデータ転送
単位(例えば、16バイト単位)のデータ数(即
ち、16)をバイトカウントレジスタ(BC)から
減算しながらデータ転送を行い、該バイトカウン
トレジスタ(BC)の値が上記転送単位の数(即
ち、減算値)より小さくなつた時には、該減算結
果の出力を‘0'に変換して、全‘0'検出回路に設
定し、該演算結果が‘0'になつたことを監視する
ことによりデータ転送制御を行うようにしたもの
である。
〔産業上の利用分野〕
本発明は中央処理装置(CPU)からの指令に
従つて、主記憶装置(MS)と入出力装置(I/
O)との間でのデータ転送を制御するチヤネル処
理装置(CH)に係り、特に、主記憶装置(MS)
からのデータ転送(MS フエツチ)の終了時点
を監視する為の条件を生成する方式に関する。
最近の半導体技術の著しい進歩に伴つて、制御
メモリの大容量化と、経済化が図られるようにな
つてきたこと、及び設計の容易化等から、計算機
システムに対するマイクロプログラム制御化が盛
んに行われており、主記憶装置(MS)と入出力
装置(I/O)との間でデータ転送を行うチヤネ
ル装置(CH)についても例外ではない。
然しながら、該チヤネル処理装置(CH)に、
各種の機能が追加されるようになり、マイクロプ
ログラム容量の増大、及び従来のハートウエア制
御がマイクロプログラム制御になつたことによる
処理の遅れが問題になつてきており、効果的なデ
ータ転送制御方式が待たれるようになつてきた。
〔従来の技術〕
第2図は一般の計算機システムのブロツク図で
ある。
本図において、1は中央処理装置(CPU)、2
は主記憶装置(MS)、3はチヤネル処理装置
(CH0〜CHn)、そして、4は入出力装置(IO0〜
IOn)である。
チヤネル処理装置(CH0〜CHn)3は中央処
理装置(CPU)1からの指令に従つて、主記憶
装置(MS)2と、入出力装置(IO0〜IOn)との
間のデータ転送を制御する。
第3図は上記従来のチヤネル処理装置における
主記憶装置(MS)に対するフエツチに関連する
演算制御部をブロツク図で示した図であり、アド
レスレジスタ(以下、ADRと云う)11は主記
憶装置(以下、MSと云う)2に対するデータ転
送のアドレスを保持するレジスタ、バイトカウン
トレジスタ(以下、BCと云う)12は転送すべ
きデータのバイト数を保持するレジスタ、減数レ
ジスタ(LNG)13は後述する演算器(ALU)
15に対する加減算値を保持するレジスタ、演算
制御レジスタ(ALUC)14は演算の種類(例え
ば、ADR11に対する加減算、BC12に対する
減算等)を保持するレジスタ、そして、ALU1
5は前述の演算器である。
チヤネル処理装置(CH0〜CHn)3は、上記
ADR11に保持したMSアドレスと、BC12に
保持されたバイトカウント値をMSアクセス毎
に、演算器(ALU)15で更新しながらデータ
転送を制御する。
第4図はMSフエツチの一例を示した図であつ
て、MS2の1004(H)番地から40バイトのデータを、
入出力装置(IO0〜IOn)4にライトする場合を
示している。この例では、MSフエツチは、16バ
イトバウンダリ単位に行うものとしている。
上記、第2図〜第4図によつて、従来のMSフ
エツチにおけるバイトカウント値を更新する制御
方法を説明する。尚、入出力装置との間のデータ
転送、及び、入出力装置から主記憶装置(MS)
へのストア動作は、本発明とは関係しないので、
以後の説明は、全て、主記憶装置(MS)からの
MSフエツチ時のデータ転送に限定して説明す
る。
先ず、MS2の1004(H)番地から40バイトのデー
タを入出力装置(IO0〜IOn)4にライトする場
合、前述の16バイトバウンダリ単位にMSフエツ
チをすると、3回のMSフエツチが必要となる。
1回目のMSフエツチでは1000(H)番地から16バ
イトをフエツチし、1004(H)番地からの12バイトを
入出力装置(IO0〜IOn)4にライトする。この
時、MSアドレスは演算器(ALU)15で+12さ
れ、バイトカウント値は−12される。この場合、
該加減算値12が減数レジスタ(LNG)13に
置数された後、減算処理では該減数レジスタ
(LNG)13の内容が否定回路130によつて、
1の補数がとられ、演算器(ALU)15に入力
されるが、加算処理では、その侭演算器(ALU)
15に入力されることにより上記加減算が行われ
る。
以下、同じようにして、2回目のMSフエツチ
では、1010(H)番地から16バイトをフエツチし、全
バイトを入出力装置(IO0〜IOn)4にライトす
る。この時、MSアドレスは+16、バイトカウン
ト値は−16される。
3回目のMSフエツチでは、1020(H)、番地から
16バイトをフエツチし、該1020(H)番地から12バイ
トを入出力装置(IO0〜IOn)4にライトする。
この時、該バイトカウント値の更新結果は‘0'と
なり、MSフエツチは終了する。
このように、バイトカウント値の更新結果が‘
0'になつたかどうかによりMSフエツチの終了を
判定している。
従来方式においては、普通の演算器(ALU)
15を使用して、上記バイトカウント値を更新し
ていた。
尚、通常のデータ転送では、MSアドレスは減
数レジスタ(LNG)13の値だけ加算されるが、
バツクワード転送では逆に減算されるように動作
する。
〔発明が解決しようとする問題点〕
従つて、従来方式においては、2回目以降の
MSフエツチでバイトカウント値を更新した時、
更新後のバイトカウント値が15以下になつたかど
うかを調べ、3回目のMSフエツチではバイトカ
ウント値が15以下であるので、前述の演算値15
を使用しないで、該バイトカウント値を‘0'にセ
ツトする必要があつた。
又、本例においては、バイトカウント値の初期
値は40バイトであるが、例えば、3バイトである
と、1回のMSフエツチだけで当該データ転送は
終了することになる。従つて、1回のMSフエツ
チで済むか、2回以上のMSフエツチが必要か
は、前述のMSアドレスと、バイトカウント値と
から調べる必要があつた。
これは、従来方式の最後のMSフエツチの処理
が、他のMSフエツチの処理と異なり、必ず、残
りのデータ転送バイト数が、15以下になつている
かどうかを調べる必要がある為であり、従来技術
においては、MSフエツチの都度、複雑な制御を
必要とする問題があつた。
本発明は従来の欠点に鑑み、簡単なハードウエ
ア制御により、例えば、最後のMSフエツチを検
出する方法を提供することを目的とするものであ
る 〔問題点を解決する為の手段〕 第1図は本発明の一実施例をブロツク図で示し
た図である。
本発明においては、演算器(ALU)15で減
算した時、減算値の方が大きい場合に、演算結果
を‘0'に変換する手段17と、該演算結果が‘0'
になつたことを検出する手段18とを、当該演算
器(ALU)15に設けるように構成する。
即ち、1回目のMSフエツチでは、MSアドレ
スの初期値から16バイトバウンダリ迄のバイト数
を、簡単な演算{例えば、(28:31)+1}
で求め、その値をバイトカウントレジスタ(BC)
12から減算し、第2回目以降のMSフエツチで
バイトカウント値を更新する場合は、1回のMS
フエツチのデータ転送バイト数、例えば、16を減
算し続け、該バイトカウントレジスタ(BC)1
2の値が、該データ転送バイト数より小さくなつ
たことを検出した時点で、演算結果を‘0'に変換
して、全‘0'検出回路に設定し、該全‘0'検出回
路の出力値が‘0'になつたかどうかを調べれば良
いようにする。
〔作用〕
即ち、本発明によれば、中央処理装置(CPU)
からの指令に従つて、主記憶装置(MS)と入出
力装置(IO0〜IOn)との間でデータ転送を制御
するチヤネル処置装置(CH0〜CHn)において、
MSフエツチを行う際の、該データ転送開始アド
レスから、転送境界(バウンダリ)アドレス迄の
データ量を求めて最初のデータ転送を行い、バイ
トカウントレジスタ(BC)から該データ量を減
算した後は、該転送単位(例えば、16バイト単
位)のデータ数(即ち、16)をバイトカウントレ
ジスタ(BC)から減算しながらデータ転送を行
い、該バイトカウントレジスタ(BC)の値が上
記転送単位の数(即ち、減算値)より小さくなつ
た時には、該演算結果を‘0'とし、該演算結果が
‘0'になつたことを監視することにより主記憶装
置(MS)からのフエツチ時のデータ転送制御を
行うようにしたものであるので、該MSフエツチ
時のバイトカウント値の更新処理が簡単になると
共に、高速化できる効果がある。
〔実施例〕
以下本発明の実施例を図面によつて詳述する。
第1図は本発明の一実施例をブロツク図で示した
もので、演算器(ALU)15において、バイト
カウントレジスタ(BC)の値より減算値の値が
大きい時、即ち、当該演算器(ALU)15のバ
イトカウントレジスタ(BC)に対する演算部分
150,151でボロウ信号Bが検出された時、
該演算結果を‘0'とする手段(点線で囲んだ部
分)17と、該演算結果が‘0'になつたことを検
出する全‘0'検出回路(DEC)18が本発明を実
施するのに必要な回路である。尚、全図を通し
て、同じ符号は同じ対象物を示しているものとす
る。
本発明を実施しても、アドレスレジスタ
(ADR)11に対する演算方法は本発明には関係
しないので、ここでは省略し、MSフエツチ時の
バイトカウントレジスタ(BC)12に対する演
算方法を中心に、本発明によるバイトカウントレ
ジスタ(BC)制御方式を説明する。
先ず、1回目のMSフエツチでは、MSアドレ
スの初期値から16バイトバウンダリ迄の更新値
を、簡単な演算{例えば、(28:31)+1}
で求め、その値をバイトカウントレジスタ(BC)
12から減算する。例えば、MSアドレスの初期
値が1004(H)番地であると、バイトカウントレジス
タ(BC)12の初期値に関係なく、−12を減算値
レジスタ(LNG)13に設定して減算を行えば
良い。この結果、該1004(H)番地から、16バイトバ
ウンダリ迄のデータ転送が行われる。
次に、第2回目以降のMSフエツチで、バイト
カウント値を更新する場合は、1回と転送バイト
数が本例では16バイトであるので、演算制御部レ
ジスタ(ALUC)14からの制御線aにより16(H)
が演算器(ALU)15に入力されるように制御
することにより、データ転送毎に、バイトカウン
トレジスタ(BC)12から16を減算することが
できる。
この減算で減算値の方が大きい場合には、減算
器151からボロウ信号(B)が出力されるの
で、該信号(B)を演算制御レジスタ(ALUC)
14をデコードした信号線bによつてナンド回路
161で検出し、その出力信号で該演算器
(ALU)150,151の出力を制御することに
より、該演算結果を強制的に‘0'とすることがで
きる。
この演算結果を、全‘0'検出回路18で検出す
ることにより、当該データ転送での最終MSフエ
ツチを検知することができる。
このように、本発明におけるバイトカウントレ
ジスタ(BC)12に対する減算処理は、第1回
目のMSフエツチのみ、バウンダリアドレス迄の
減算を行い、以降のMSフエツチにおいては、デ
ータ転送単位のバイト数、例えば、16を減算する
だけで、最終のMSフエツチを認識することがで
きるようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のチヤネ
ル処理装置は、中央処置装置(CPU)からの指
令に従つて、主記憶装置(MS)と入出力装置
(IO0〜IOn)との間でデータ転送を制御するチヤ
ネル処理装置(CH0〜CHn)において、データ
転送開始アドレスから、転送境界(バウンダリ)
アドレス迄のデータ量を求めて最初のデータ転送
を行い、バイトカウントレジスタ(BC)から該
データ量を減算した後は、該転送単位(例えば、
16バイト単位)のデータ数(即ち、16)をバイト
カウントレジスタ(BC)から減算しながらデー
タ転送を行い、該バイトカウントレジスタ(BC)
の値が上記転送単位の数(即ち、減算値)より小
さくなつた時には、該演算結果を‘0'に変換し
て、全‘0'検出回路に設定し、該全‘0'検出回路
の出力値が‘0'になつたかどうかを監視すること
により、最終のMSフエツチを認識するようにし
たものであるので、該MSフエツチ時のバイトカ
ウント値の更新処理が簡単になると共に、高速化
できる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例をブロツク図で示し
た図、第2図は一般の計算機システムのブロツク
図、第3図は従来のチヤネル処理装置における演
算制御部をブロツク図で示した図、第4図はMS
フエツチの一例を示した図、である。 図面において、1は中央処理装置(CPU)、2
は主記憶装置(MS)、11はアドレスレジスタ
(ADR)、12はバイトカウントレジスタ(BC)、
13は減数レジスタ(LNG)、14は演算制御レ
ジスタ(ALUC)、15は演算器(ALU)、17
は演算結果を‘0'にする手段、18は全‘0'検出
回路、3はチヤネル処理装置(CH0〜CHn)、4
は入出力装置(IO0〜IOn)、a,b,Bは制御信
号、をそれぞれ示す。

Claims (1)

  1. 【特許請求の範囲】 1 中央処理装置(CPU)1からの指令に従つ
    て、主記憶装置(MS)2と入出力装置(IO0〜
    I0n)4との間でデータ転送を制御するチヤネル
    処理装置(CH0〜CHn)3であつて、 被減算値から減算値を減算する機能を有する演
    算器(ALU)15と、 該演算器(ALU)15において減算した時に、
    減算値の方が大きい場合に演算結果を‘0'に置き
    替える第1の手段17と、 該演算結果が‘0'に置き替えられたことを検出
    する第2の手段(DEC)18とを設け、 上記主記憶装置(MS)2からフエツチするデ
    ータのバイト数を示すバイトカウントレジスタ
    (BC)12の値を更新するとき、上記演算器
    (ALU)15に設けられている上記第1の手段1
    7を有効にし、 上記主記憶装置(MS)2からのデータのフエ
    ツチで、2回目以降のフエツチ時には、該主記憶
    装置(MS)2からのデータ転送単位のバイト数
    を、該バイトカウントレジスタ(BC)12から
    減算し、 該減算結果が全“0”になつたことを、上記第
    2の手段(DEC)18で監視することにより、
    該主記憶装置(MS)2からの最終フエツチを認
    識することを特徴とするチヤネル処理装置。
JP21707385A 1985-09-30 1985-09-30 チヤネル処理装置 Granted JPS6275861A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21707385A JPS6275861A (ja) 1985-09-30 1985-09-30 チヤネル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21707385A JPS6275861A (ja) 1985-09-30 1985-09-30 チヤネル処理装置

Publications (2)

Publication Number Publication Date
JPS6275861A JPS6275861A (ja) 1987-04-07
JPH0476150B2 true JPH0476150B2 (ja) 1992-12-02

Family

ID=16698407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21707385A Granted JPS6275861A (ja) 1985-09-30 1985-09-30 チヤネル処理装置

Country Status (1)

Country Link
JP (1) JPS6275861A (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116061A (ja) * 1983-11-29 1985-06-22 Fujitsu Ltd 入出力処理方式

Also Published As

Publication number Publication date
JPS6275861A (ja) 1987-04-07

Similar Documents

Publication Publication Date Title
US5043868A (en) System for by-pass control in pipeline operation of computer
KR940009094B1 (ko) 데이타처리 시스템
JPH0213333B2 (ja)
JPS61118850A (ja) マイクロプロセツサ
JP3098242B2 (ja) データ処理装置
US4580238A (en) Arithmetic operating system
JPH0476150B2 (ja)
KR900002436B1 (ko) 컴퓨터의 파이프라인 처리시의 바이패스 제어를 위한 시스템
JPS6236575B2 (ja)
JP2901247B2 (ja) 掃出し制御方式
JPS5971542A (ja) 演算処理装置
JPS5933551A (ja) オペランド重複検出回路
JPH02127726A (ja) 情報処理装置
JPS62151936A (ja) マイクロプロセツサに内蔵されるキヤツシユ回路
JPS58127245A (ja) マイクロプログラム制御デ−タ処理装置
JPH01205340A (ja) データ処理装置
JPH04245333A (ja) 情報処理装置
JPH05158734A (ja) マイクロプロセッサ
JPH04174041A (ja) データアクセス制御方式
JPH0228724A (ja) 分岐命令制御方式
JPS6231434A (ja) 命令アドレス制御方式
JPS62108333A (ja) 半導体装置
JPS63311438A (ja) ストア命令不一致制御回路
JPS6250854B2 (ja)
JPS58151659A (ja) デ−タ処理装置の論理解析用測定装置