JPH0152776B2 - - Google Patents

Info

Publication number
JPH0152776B2
JPH0152776B2 JP16166980A JP16166980A JPH0152776B2 JP H0152776 B2 JPH0152776 B2 JP H0152776B2 JP 16166980 A JP16166980 A JP 16166980A JP 16166980 A JP16166980 A JP 16166980A JP H0152776 B2 JPH0152776 B2 JP H0152776B2
Authority
JP
Japan
Prior art keywords
input
output
signal
bus control
output bus
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
Application number
JP16166980A
Other languages
Japanese (ja)
Other versions
JPS5785129A (en
Inventor
Junichi Kihara
Yoshuki Kobayashi
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP16166980A priority Critical patent/JPS5785129A/en
Publication of JPS5785129A publication Critical patent/JPS5785129A/en
Publication of JPH0152776B2 publication Critical patent/JPH0152776B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 本発明は、特にマルチプレクサチヤネルに好適
する入出力制御装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an input/output control device particularly suitable for multiplexer channels.

一般にマルチプレクサチヤネルは複数の入出力
装置に接続されている。そして、マルチプレクサ
チヤネルは入出力装置からの割込み、或いは
CPU(中央処理装置)からのチヤネル起動命令の
都度、入出力装置を切替えて主メモリと入出力装
置との間のデータ転送制御を行なう。第1図はこ
のようなマルチプレクサチヤネルの従来の動作手
順を示すものである。入出力装置からの割込み
(A)、或いはCPUのチヤネル起動命令の実行(B)が
あると、チヤネルは〔入出力装置からの割込み(A)
であれば、割込み機器番号をチヤネル内に取込む
マイクロ命令を実行し(C)、〕機器番号から実行す
べきチヤネルコントロールブロツク(以下、
CCBと称する)を読出して解読する(D)。次にチ
ヤネルは当該チヤネルと入出力装置とを接続する
ためのマイクロ命令を実行する(E)。これにより、
対応する入出力装置のアドレスFFがセツトされ
(F)、上述の接続が終了する。そして。以後チヤネ
ルによる入出力バス制御(データ転送制御)対象
は、上記接続された入出力装置となる。
A multiplexer channel is typically connected to multiple input/output devices. The multiplexer channel then receives interrupts from input/output devices, or
Each time a channel activation command is issued from the CPU (central processing unit), the input/output device is switched and data transfer control between the main memory and the input/output device is performed. FIG. 1 shows the conventional operating procedure of such a multiplexer channel. Interrupts from input/output devices
(A), or when the CPU executes a channel start command (B), the channel is interrupted by an interrupt from an input/output device (A).
If so, execute the microinstruction that imports the interrupt device number into the channel (C), and execute the channel control block (hereinafter referred to as
(referred to as CCB) and decipher it (D). Next, the channel executes a microinstruction for connecting the channel and the input/output device (E). This results in
The address FF of the corresponding input/output device is set.
(F), the above connection is terminated. and. Thereafter, the input/output bus control (data transfer control) by the channel will be performed on the above-mentioned connected input/output devices.

次に、チヤネルはデータ転送準備のためのマイ
クロ命令を実行する(G)。すなわち、チヤネルはス
タートアドレスをメモリアドレスレジスタにセツ
トし、転送バイト数をカウンタにセツトし、しか
る後、リードデータバツフアにデータをセツトす
る。次に、チヤネルは入出力装置のスチータスを
チヤネル内に取込むためのマイクロ命令を実行
し、ステータスチエツクを行なう(H)。そして、正
常ステータスであれば、チヤネルはデータ転送
(授受)を行ない(I)、CCBの更新を行なう(J)。こ
のCCB更新により、スタートアドレスが+1さ
れ、転送バイト数が−1される。このような動作
が繰り返し実行されて転送バイト数が「0」にな
ると、チヤネルはDMAバスを介してCPUに割込
みをかける。これにより、CCBで指定された動
作が終了したことがCPUに通知される。
Next, the channel executes microinstructions to prepare for data transfer (G). That is, the channel sets the start address in the memory address register, sets the number of transferred bytes in the counter, and then sets data in the read data buffer. Next, the channel executes a microinstruction to import the status of the input/output device into the channel, and performs a status check (H). If the status is normal, the channel performs data transfer (transfer/reception) (I) and updates the CCB (J). By updating the CCB, the start address is increased by 1 and the number of transferred bytes is decreased by 1. When such an operation is repeatedly executed and the number of transferred bytes reaches "0", the channel interrupts the CPU via the DMA bus. This notifies the CPU that the operation specified by the CCB has ended.

以上の説明から明らかなように、従来のマルチ
プレクサチヤネルでは、入出力装置の接続(E)、ス
テータス読出し、チエツク(F)、およびデータ転送
(I)などのための各種入出力バス制御マイクロ命令
の実行中に他のマイクロ命令の処理ができず、全
て直列的な処理動作が行なわれていた。しかも、
入出力装置の接続(E)の如き入出力バス制御動作
は、一般に時間を要するため、従来のマルチプレ
クサチヤネルでは処理効率(スループツト)の向
上を図ることが極めて困難であつた。
As is clear from the above explanation, conventional multiplexer channels connect input/output devices (E), read status, check (F), and transfer data.
While various input/output bus control microinstructions such as (I) were being executed, other microinstructions could not be processed, and all processing operations were performed serially. Moreover,
Since input/output bus control operations such as connection (E) of input/output devices generally require time, it has been extremely difficult to improve processing efficiency (throughput) with conventional multiplexer channels.

本発明は上記事情に鑑みてなされたものでその
目的は、入出力バス制御マイクロ命令と、その他
のマイクロ命令とを、必要に応じて並行して実行
することができ、処理効率が著しく向上できる入
出力制御装置を提供することにある。
The present invention has been made in view of the above circumstances, and its purpose is to be able to execute input/output bus control microinstructions and other microinstructions in parallel as necessary, thereby significantly improving processing efficiency. Its purpose is to provide an input/output control device.

以下、本発明の一実施例を図面を参照して説明
する。第2図は本発明に関係する情報処理システ
ムの構成を示すブロツク図である。図中、111
はCPU、112は入出力バス、113,113
…は入出力装置(I/O)である。114は主メ
モリ、115はメモリ制御装置である。116は
本発明が適用されるマルチプレクサチヤネル、1
17はDMA(Direct Memory Access)バスで
ある。
Hereinafter, one embodiment of the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing the configuration of an information processing system related to the present invention. In the figure, 111
is the CPU, 112 is the input/output bus, 113, 113
... is an input/output device (I/O). 114 is a main memory, and 115 is a memory control device. 116 is a multiplexer channel to which the present invention is applied, 1
17 is a DMA (Direct Memory Access) bus.

第3図は上記マルチプレクサチヤネル116の
構成を示すもので図中、201は高速DMAバス
117のデータが通る高速バスドライバ・レシー
バ回路、202は高速バス制御回路である。20
3はCPU111にCCB動作終了を知らせるター
ミネーシヨンレジスタである。204はメモリの
読出しデータを保持するリードデータレジスタで
ある。205はメモリ114への書込みデータを
保持するライトデータレジスタである。206は
データ転送のメモリアドレスを保持するメモリア
ドレスレジスタである。207はCPU111か
らのチヤネル起動命令によつてチヤネルに通知さ
れるCCB先頭アドレスを保持するCCBアドレス
レジスタである。208はCPU111からのチ
ヤネル起動命令によりチヤネルに通知されるチヤ
ネル番号、機器番号を保持するデバイスナンバレ
ジスタである。209は内部バスA(A−BUS)
で、各レジスタ、RAM等のデータが通るバスで
ある。210は入出力バス112に送出するデー
タを保持するリードデータバツフアレジスタであ
り、マイクロコンピユータ220が各レジスタ、
RAM等のデータを取込む時のデータを保持する
レジスタとしても用いられる。211は入出力バ
ス112からのデータを保持するライトデータバ
ツフアレジスタであり、マイクロコンピユータ2
20からのデータを保持するレジスタとしても用
いられる。212は転送バイト数を保持するカウ
ンタであり、入出力装置113とのデータ転送毎
に減算される。213はRAM(ランダムアクセ
スメモリ)であり、CCB、入出力データ等が記
憶される。214はCCWレジスタであり、RAM
213にストアしているCCWを保持する。21
5はCCWをデコードしてマイクロプログラムの
実行開始番地をマイクプログラムカウンタ217
に知らせるデコードROMである。216は
ROMアドレスセレクタであり、マイクロプログ
ラムカウンタ217に分岐先をセレクトするゲー
トである。217はマイクロプログラムカウンタ
であり、次に実行するマイクロプログラムのアド
レスを保持する。このカウンタ217はマイクロ
プログラムの実行毎に「1」ずつインクリメント
され、分岐を伴なうマイクロ命令の場合には
ROMアドレスセレクタ216からのデータを保
持する。218はマイクロプログラムが格納され
ているROM、219はROM218からの読出
しデータを保持するROMデータレジスタ、RD
**1はROMデータレジスタ219からの出力
ライン、220はマイクロコンピユータ、221
は入出力バス制御回路、222は内部バスA20
9の制御を行なう内部バス制御回路、223はテ
スト(TEST)条件判定回路である。224は内
部バスB(B−BUS)でありマイクロコンピユー
タ220との入出力データ、入出力バス112の
入出力データ等が通る。225は入出力バス11
2との間のデータの受渡しを行なうための入出力
バスドライバ・レシーバ回路である。226は割
込みをかけた機器番号を保持するレジスタ、22
7はチヤネル起動命令により起動のかけられた機
器番号を保持するSIOスタツク、228はSIOス
タツク227の読出しデータを保持するスタツク
レジスタである。上記レジスタ226,228の
出力はRAM213のアドレス情報となる。22
9は機器番号を保持し入出力バス112に送出す
るためのアドレスレジスタである。
FIG. 3 shows the configuration of the multiplexer channel 116. In the figure, 201 is a high-speed bus driver/receiver circuit through which data on the high-speed DMA bus 117 passes, and 202 is a high-speed bus control circuit. 20
3 is a termination register that notifies the CPU 111 of the end of CCB operation. A read data register 204 holds read data from the memory. A write data register 205 holds write data to the memory 114. A memory address register 206 holds a memory address for data transfer. A CCB address register 207 holds the CCB start address notified to the channel by the channel activation command from the CPU 111. A device number register 208 holds the channel number and device number notified to the channel by the channel activation command from the CPU 111. 209 is internal bus A (A-BUS)
This is the bus through which data from each register, RAM, etc. passes. 210 is a read data buffer register that holds data to be sent to the input/output bus 112, and the microcomputer 220 controls each register,
It is also used as a register to hold data when importing data from RAM, etc. 211 is a write data buffer register that holds data from the input/output bus 112;
It is also used as a register to hold data from 20. 212 is a counter that holds the number of transferred bytes, and is decremented every time data is transferred with the input/output device 113. 213 is a RAM (random access memory) in which CCB, input/output data, etc. are stored. 214 is a CCW register, and RAM
The CCW stored in 213 is retained. 21
5 decodes the CCW and inputs the execution start address of the microprogram to the microphone program counter 217.
This is a decode ROM that informs the 216 is
This is a ROM address selector and a gate that selects a branch destination for the microprogram counter 217. A microprogram counter 217 holds the address of the next microprogram to be executed. This counter 217 is incremented by "1" each time the microprogram is executed, and in the case of a microinstruction that involves a branch,
Holds data from ROM address selector 216. 218 is a ROM in which the microprogram is stored, and 219 is a ROM data register that holds data read from the ROM 218, RD.
**1 is the output line from the ROM data register 219, 220 is the microcomputer, 221
is an input/output bus control circuit, 222 is an internal bus A20
An internal bus control circuit 223 controls a test condition determination circuit. 224 is an internal bus B (B-BUS) through which input/output data with the microcomputer 220, input/output data of the input/output bus 112, etc. are passed. 225 is input/output bus 11
This is an input/output bus driver/receiver circuit for exchanging data between the two. 226 is a register that holds the device number that caused the interrupt;
7 is an SIO stack that holds the device number activated by the channel activation command, and 228 is a stack register that holds the read data of the SIO stack 227. The outputs of the registers 226 and 228 become address information of the RAM 213. 22
Reference numeral 9 is an address register for holding the device number and sending it to the input/output bus 112.

第4図は上記入出力バス制御回路221の要部
構成を詳細に示すもので、301はROMデータ
レジスタ219の保持内容を保持するレジスタで
ある。本実施例において、このレジスタ301に
は、ROMデータレジスタ219の保持内容が第
5図に示される如きフオーマツトの入出力バス制
御マイクロ命令である場合に、当該マイクロ命令
のモード部(3ビツト)およびレジスタ部(3ビ
ツト)の6ビツト情報が保持される。第5図にお
いて、OPは命令コード、MODEはモード部、R
はレジスタ部、STPはストツプ指定ビツトであ
る。ここで、命令コードOPは入出力バス制御マ
イクロ命令であることを示している。第5図の入
出力バス制御マイクロ命令がROMデータレジス
タ219に保持された場合、その命令コードOP
が図示せぬデコーダによつてデコードされること
により、信号CIIO1がアクテイブとなる(末尾
の数字1は論理“1”でアクテイブとなることを
示している)。また、モード部MODEは入出力バ
ス制御動作の種別を指定し、レジスタ部Rはデー
タ転送(授受)に際し、チヤネル116内のどの
レジスタを使用するかを指定するためのフイール
ドである。更にストツプビツトSTPは、入出力
バス制御動作の完了を待つて次のマイクロ命令に
進むか、或いは入出力バス制御動作の完了を待た
ずに次のマイクロ命令に進むか、すなわち入出力
バス制御マイクロ命令と他のマイクロ命令との並
列処理を行なうか否かを指定(以下、ストツプ指
定と称する)するためのフイールドである。
FIG. 4 shows in detail the main part configuration of the input/output bus control circuit 221, and 301 is a register that holds the contents of the ROM data register 219. In this embodiment, when the content held in the ROM data register 219 is an input/output bus control microinstruction in the format shown in FIG. 5, this register 301 contains the mode part (3 bits) and 6-bit information in the register section (3 bits) is held. In Figure 5, OP is the instruction code, MODE is the mode section, and R
is a register part, and STP is a stop designation bit. Here, the instruction code OP indicates an input/output bus control microinstruction. When the input/output bus control microinstruction shown in FIG. 5 is held in the ROM data register 219, the instruction code OP
is decoded by a decoder (not shown), so that the signal CIIO1 becomes active (the number 1 at the end indicates that it is active with logic "1"). The mode section MODE is a field for specifying the type of input/output bus control operation, and the register section R is a field for specifying which register in the channel 116 is to be used during data transfer (transfer/reception). Furthermore, the stop bit STP determines whether to wait for the completion of the I/O bus control operation before proceeding to the next microinstruction, or to proceed to the next microinstruction without waiting for the completion of the I/O bus control operation; This field is used to specify whether or not to perform parallel processing with other microinstructions (hereinafter referred to as stop specification).

302は入出力バス制御動作のための各種コン
トロール信号を入出力バス112へ出力するデコ
ーダである。デコーダ302はレジスタ301に
保持されている入出力バス制御マイクロ命令のモ
ード部MODEの情膜をデコードし、対応するコ
ントロール信号を発生する。
A decoder 302 outputs various control signals for input/output bus control operations to the input/output bus 112. The decoder 302 decodes the information of the mode part MODE of the input/output bus control microinstruction held in the register 301 and generates a corresponding control signal.

303は入出力バス112を通して入出力装置
113,113…から送られる(応答)信号
OSYNL0(末尾の0は論理“0”でアクテイブ
となることを示している)を入力とするインバー
タ、304は信号CSYNL0を基本クロツク信号
CBCK11で同期化するためのD型フリツプフロ
ツプである。フリツプフロツプ304はインバー
タ303の出力をD入力、基本クロツク信号
CBCK11をクロツク(CK)入力とし、出力端
子Q,よりそれぞれ信号FSYNL1、信号
FSYNL0を発生する。
303 is a (response) signal sent from the input/output devices 113, 113, . . . through the input/output bus 112.
An inverter that receives OSYNL0 (the trailing 0 indicates that it is active at logic "0"), and 304 uses the signal CSYNL0 as the basic clock signal.
This is a D-type flip-flop for synchronization with CBCK11. The flip-flop 304 receives the output of the inverter 303 as a D input, and uses it as a basic clock signal.
CBCK11 is used as clock (CK) input, and signals FSYNL1 and FSYNL1 are output from output terminal Q, respectively.
Generates FSYNL0.

305は前記信号CIIO1と信号CLBSY0とを
入力とするアンドゲートである。信号CLBSY0
はチヤネル116と入出力装置113との間で入
出力動作が行なわれているか否か、すなわち入出
力バス制御回路221が動作中であるか否かを示
す信号で、1つの入出力動作が終了するまでの
間、論理“0”(アクテイブ)となつている。3
06は入出力バス制御回路221の入出力制御開
始/終了を指定するためのJ−Kフリツプフロツ
プである。フリツプフロツプ306はアンドゲー
ト305の出力をJ入力、フリツプフロツプ30
4のQ出力すなわち信号FSYNL1をK入力、基
本クロツク信号CBCK11をクロツク(CK)入
力とし、出力端子Q,よりそれぞれ信号
FIOCT1、信号FIOCT0を発生する。この信号
FIOCT1はレジスタ301のクロツク端子CKに
入力される。
305 is an AND gate which receives the signal CIIO1 and the signal CLBSY0 as inputs. Signal CLBSY0
is a signal indicating whether an input/output operation is being performed between the channel 116 and the input/output device 113, that is, whether the input/output bus control circuit 221 is in operation, and indicates that one input/output operation has been completed. Until then, it remains at logic "0" (active). 3
06 is a JK flip-flop for specifying start/end of input/output control of the input/output bus control circuit 221. Flip-flop 306 receives the output of AND gate 305 as J input, and flip-flop 30
The Q output of 4, that is, the signal FSYNL1, is used as the K input, and the basic clock signal CBCK11 is used as the clock (CK) input, and the signals are output from the output terminal Q.
FIOCT1 and generates signal FIOCT0. this signal
FIOCT1 is input to the clock terminal CK of register 301.

307は上記信号FIOCT1とフリツプフロツ
プ304の出力すなわち信号FSYNL0とを入
力とするアンドゲート、308は入出力バス制御
のタイミングを生成するためのシフトレジスタで
ある。シフトレジスタ308はアンドゲート30
7の出力をデータ(D)入力、基本クロツク信号
CBCK11をクロツク(CK)入力とし、入力さ
れたデータを1ビツトずつ順次シフトし、信号
RLSQ11、信号RLSQ21、および信号RLSQ
31を発生する。この信号RLSQ11は、入出力
バス制御マイクロ命令のレジスタ部Rで指定され
たレジスタの保持内容を入出力バス112へ送出
するためのタイミング信号に用いられている。こ
のレジスタ保持内容の送出は、信号RLSQ31が
アクテイブ(論理“1”)の間、行なわれるよう
になつている。309は信号RLSQ21を入力と
するインバータである。このインバータ309は
デコーダ302のイネーブル端子ENに入力され
る。
307 is an AND gate which receives the signal FIOCT1 and the output of flip-flop 304, that is, signal FSYNL0, and 308 is a shift register for generating input/output bus control timing. The shift register 308 is an AND gate 30
7 output as data (D) input, basic clock signal
CBCK11 is used as a clock (CK) input, and the input data is sequentially shifted one bit at a time, and the signal is
RLSQ11, signal RLSQ21, and signal RLSQ
31 is generated. This signal RLSQ11 is used as a timing signal for sending the contents held in the register designated by the register section R of the input/output bus control microinstruction to the input/output bus 112. The contents held in the register are sent out while the signal RLSQ31 is active (logic "1"). 309 is an inverter that receives the signal RLSQ21 as an input. This inverter 309 is input to the enable terminal EN of the decoder 302.

310は前記信号RLSQ21と信号FSYNL0
を入力とするナンドゲートである。このナンドゲ
ート310の出力は、シフトレジスタ308のモ
ードM入力となつている。311は前記信号
FIOCT0と信号FSYNL0とを入力とするナンド
ゲートである。ナンドゲート311は、ナンド条
件不成立時に入出力動作状態を示す信号CLBSY
1(論理“1”でアクテイブ)を発生する。31
2は信号CLBSY1を入力とするインバータであ
る。インバータ312は信号CLBSY1のレベル
を反転して信号CLBSY0(論理“0”でアクテ
イブ)を発生する。
310 is the signal RLSQ21 and the signal FSYNL0
It is a NAND gate whose input is . The output of this NAND gate 310 serves as the mode M input of the shift register 308. 311 is the signal
This is a NAND gate that receives FIOCT0 and signal FSYNL0 as inputs. The NAND gate 311 outputs a signal CLBSY indicating the input/output operation state when the NAND condition is not satisfied.
1 (active at logic “1”). 31
2 is an inverter that receives the signal CLBSY1 as an input. The inverter 312 inverts the level of the signal CLBSY1 and generates a signal CLBSY0 (active at logic "0").

313は前記信号CIIO1と後述する信号
CRCLK1とを入力とするナンドゲート、314
は入出力バス制御回路221の動作状態を記憶す
るレジスタである。このレジスタ314は3個の
D型フリツプフロツプを含んでおり、後述する信
号RD121、前記信号CLBSY1、および信号
RLSQ11をそれぞれD入力とし、ナンドゲート
313の出力をクロツク(CK)入力としている。
レジスタ314は信号RD121のD入力に対応
して、出力端子Q,よりそれぞれ信号FSTP1
1、信号FSTP10を発生する。また、レジスタ
314は信号CLBSY1のD入力に対応して、出
力端子Q,よりそれぞれ信号FSTP21、信号
FSTP20を発生する。同じく、レジスタ314
は信号RLSQ11のD入力に対応して、出力端子
Q,よりそれぞれ信号FSTP31、信号FSTP
30を発生する。上記信号RD121は、ROM
データレジスタ219の出力ラインD**1中の
特定出力ラインRD121の論理状態を示すもの
で、第5図に示される入出力バス制御マイクロ命
令中のストツプビツトSTP(ビツト12)情報に対
応している。
313 is the signal CIIO1 and a signal described later.
NAND gate with CRCLK1 as input, 314
is a register that stores the operating state of the input/output bus control circuit 221. This register 314 includes three D-type flip-flops, and receives the signal RD121, the signal CLBSY1, and the signal CLBSY1, which will be described later.
The RLSQ11 is used as a D input, and the output of the NAND gate 313 is used as a clock (CK) input.
The register 314 receives the signal FSTP1 from the output terminal Q in response to the D input of the signal RD121.
1. Generate signal FSTP10. Further, the register 314 outputs the signal FSTP21 and the signal FSTP21 and the signal from the output terminal Q, respectively, corresponding to the D input of the signal CLBSY1.
Generates FSTP20. Similarly, register 314
correspond to the D input of the signal RLSQ11, and the signals FSTP31 and FSTP are output from the output terminal Q, respectively.
Generates 30. The above signal RD121 is ROM
This shows the logic state of the specific output line RD121 in the output line D**1 of the data register 219, and corresponds to the stop bit STP (bit 12) information in the input/output bus control microinstruction shown in FIG. .

315は信号FSTP31とFSTP11とを入力
とするアンドゲート、316はD型フリツプフロ
ツプである。フリツプフロツプ316はアンドゲ
ート315の出力をD入力、信号FIOCT0をク
ロツク(CK)入力とし、出力端子より信号
FSTP40を発生する。この信号FSTP40はフ
リツプフロツプ314のクリア入力端子CLRに
入力される。
315 is an AND gate which receives signals FSTP31 and FSTP11, and 316 is a D-type flip-flop. The flip-flop 316 uses the output of the AND gate 315 as the D input, the signal FIOCT0 as the clock (CK) input, and receives the signal from the output terminal.
Generates FSTP40. This signal FSTP40 is input to the clear input terminal CLR of flip-flop 314.

317は3つのアンドゲート3171〜3173
を備えたアンド・オア・インバータである。アン
ドゲート3171は信号FSTP11と信号FSTP2
0と信号FIOCT1とを入力としている。また、
アンドゲート3172は信号FSTP31と信号
FSTP11とを入力としている。そして、アンド
ゲート3173は信号FSTP10と、信号FSTP2
1と、信号CIIO1と、信号FIOCT0とを入力と
している。318は基本クロツク信号CBCK11
とアンド・オア・インバータ317の出力と、フ
リツプフロツプ316の出力すなわち信号
FSTP40とを入力とするアンドゲートである。
アンドゲート316はアンド条件成立期間中、ア
クテイブなROMクロツク信号CRCLK1を発生
する。このROMクロツク信号CRCLK1によつ
てROM218に対するフエツチサイクルが決定
される。すなわち、アンドゲート316は次のマ
イクロ命令をROM218からROMデータレジ
スタ219にフエツチするか否かの判定を行なう
ものである。
317 is three AND gates 317 1 to 317 3
It is an and-or inverter with AND gate 317 1 is signal FSTP11 and signal FSTP2
0 and signal FIOCT1 are input. Also,
AND gate 317 2 is the signal FSTP31 and the signal
FSTP11 is used as input. And the AND gate 3173 receives the signal FSTP10 and the signal FSTP2.
1, a signal CIIO1, and a signal FIOCT0 as inputs. 318 is the basic clock signal CBCK11
and the output of the AND-OR inverter 317 and the output of the flip-flop 316, i.e., the signal
This is an AND gate that takes FSTP40 as input.
AND gate 316 generates an active ROM clock signal CRCLK1 while the AND condition is satisfied. The fetch cycle for ROM 218 is determined by this ROM clock signal CRCLK1. That is, AND gate 316 determines whether or not to fetch the next microinstruction from ROM 218 to ROM data register 219.

次に本発明の一実施例の動作を説明する。ま
ず、本発明の理解を容易にするために、マルチプ
レクサチヤネル116を中心とする動作説明を行
なう。CPU111がチヤネル116を起動する
場合、CPU111は第6図に示される如きCCB
を主メモリ114の指定領域に格納する。図中6
1はチヤネルコントロールワード(COW)であ
り、動作の種別(リード、ライト等)、チエイン
等の指定をするワードである。62はデータ転送
を行なうべきメモリ(主メモリ114)の転送開
始番地(スタートアドレス)である。63の「転
送バイト数」はデータ転送量(データ転送の領
域)を指定し、「コマンド」は入出力装置113
に送出するコマンドデータを指定し、「ターミナ
ルキヤラクタ」はデータ転送に際してこの欄で指
定したデータと一致した場合、データ転送を終了
させる指定である。64はCCBの動作終了時に
チヤネル番号(チヤネルのアドレス)と、機器番
号(入出力装置のアドレス)と、チヤネルステー
タスと、機器ステータスとが格納される欄であ
る。また、65のチエインアドレスは、CCBの
動作終了後、新CCBへチエインする指定(COW
61で指定)がある場合に、メモリ(主メモリ1
14)における新CCBの格納先頭アドレス
(CCBアドレス)をこの欄で指定するためのもの
である。
Next, the operation of one embodiment of the present invention will be explained. First, in order to facilitate understanding of the present invention, an explanation will be given centering on the operation of the multiplexer channel 116. When the CPU 111 activates the channel 116, the CPU 111 activates the CCB as shown in FIG.
is stored in a designated area of main memory 114. 6 in the diagram
1 is a channel control word (COW), which is a word that specifies the type of operation (read, write, etc.), chain, etc. 62 is a transfer start address (start address) of the memory (main memory 114) to which data is to be transferred. 63 "Transfer byte count" specifies the data transfer amount (data transfer area), and "command" indicates the input/output device 113.
Specify the command data to be sent to the ``terminal character'' field, and the ``terminal character'' specifies that the data transfer will be terminated if it matches the data specified in this field. 64 is a column in which the channel number (channel address), device number (input/output device address), channel status, and device status are stored at the end of the CCB operation. Chain address 65 specifies chaining to a new CCB after the CCB completes its operation (COW
61), the memory (main memory 1
This field is used to specify the storage start address (CCB address) of the new CCB in 14).

CPU111はCCBを主メモリ114に格納し
た後、第7図に示されるスタートI/O命令
(SIO命令)を発行する。図中、OPは命令コー
ド、R1はゼネラルレジスタ指定部、Nはサブコ
ードでありチヤネル動作を指定する。そして、
CPU111がSIO命令を実行すると、当該命令の
ゼネラルレジスタ指定部で示されるCPU111
内部のR1レジスタの内容と、R1+lレジスタ
の内容とがDMAバス117を通してチヤネル1
16に送出される。第8図aはR1レジスタの内
容を示すもので、ここでチヤネル番号、機器番号
を指定する。また、第8図bはR1+lレジスタ
の内容を示すもので、ターミネーシヨンキユー番
号とCCB格納先頭アドレス(CCBアドレス)を
指定する。
After storing the CCB in the main memory 114, the CPU 111 issues a start I/O command (SIO command) shown in FIG. In the figure, OP is an instruction code, R1 is a general register specification section, and N is a subcode that specifies channel operation. and,
When the CPU 111 executes an SIO instruction, the CPU 111 specified by the general register specification part of the instruction
The contents of the internal R1 register and the contents of the R1+l register are transferred to channel 1 through the DMA bus 117.
16. FIG. 8a shows the contents of the R1 register, where the channel number and device number are specified. Further, FIG. 8b shows the contents of the R1+1 register, which specifies the termination queue number and the CCB storage start address (CCB address).

以後のチヤネル動作を第3図を参照して説明す
る。スタートI/O命令によりR1レジスタ、R
1+lレジスタの内容は、高速バスドライバ・レ
シーバ回路201を通つてデバイスナンバレジス
タ208、CCBアドレスレジスタ207に保持
される。上記R1、R1+lレジスタの内容が上
記レジスタ208,207に保持されると、高速
バス制御回路202から内部バス制御回路222
に要求が伝達される。内部バス制御回路222が
内部バスA209の使用を許可すると、CCBア
ドレスレジスタ207のデータはRAM213
へ、又、デバイスナンバレジスタ208のデータ
はSIOスタツク227に保持される。このRAM
213、SIOスタツク227に上記データが保存
されると、内部バス制御回路222からTEST条
件判定回路223へSIO受付の信号が伝達され
る。而してTEST条件判定回路223はセレクタ
216、カウンタ217を介してROM218か
らSIO受付けのテスト&ブランチマイクロプログ
ラムを読出し実行する。そして、次にROM21
8から読出されるマイクロプログラムによつて
SIO命令の処理に入る。
The subsequent channel operation will be explained with reference to FIG. The R1 register, R
The contents of the 1+l register are held in the device number register 208 and CCB address register 207 through the high-speed bus driver/receiver circuit 201. When the contents of the R1 and R1+l registers are held in the registers 208 and 207, the high-speed bus control circuit 202 transfers the contents to the internal bus control circuit 222.
The request is communicated to When the internal bus control circuit 222 permits the use of the internal bus A209, the data in the CCB address register 207 is transferred to the RAM 213.
Furthermore, the data in the device number register 208 is held in the SIO stack 227. This RAM
213, when the above data is stored in the SIO stack 227, an SIO acceptance signal is transmitted from the internal bus control circuit 222 to the TEST condition determination circuit 223. The TEST condition determination circuit 223 then reads out the SIO acceptance test & branch microprogram from the ROM 218 via the selector 216 and counter 217 and executes it. And then ROM21
By the microprogram read from 8
Start processing SIO command.

以下SIO命令の処理の説明を行なう。ROM2
18からのSIO命令を処理するマイクロプログラ
ムのマイクロ命令が順次読出され、先ずROMデ
ータレジスタ219を介して内部バス制御回路2
22にSIOスタツク取出し指令が出されると、内
部バス制御回路222はSIOスタツク227から
スタツクレジスタ228へ機器番号を転送する。
この動作時に、内部バス制御回路222は以後の
RAM213のアドレスとしてスタツクレジスタ
228を選ぶように動作する。次にROM218
から、RAM213からCCBアドレスを取出し、
メモリアドレスレジスタ206へセツトする指令
が同じく内部バス制御回路222へ出力され実行
される。然る後、ROM218から高速バス制御
回路202へメモリリード指令が出される。メモ
リリード指令が出されると高速バス制御回路20
2はメモリ制御装置115へバス使用要求を出
し、バス117の使用が許可されるとメモリアド
レスレジスタ206のデータをメモリ制御装置1
15に送る。メモリ制御装置115が動作して主
メモリ114からのメモリリードが終り、読出し
データをチヤネル116に送つて来ると、リード
データレジスタ204にデータが保持される。そ
してROM218から内部バス制御回路222に
ストア命令が出力されリードデータレジスタ20
4のデータがRAM213に保存される。これに
より、主メモリ114内のCCRがチヤネル11
6内のRAM213に取込まれる。そして、上述
の動作が繰り返されてCCBの取出しが終ると、
内部バス制御回路222はROM218からのマ
イクロ命令によりRAM213に格納したCCWレ
ジスタ214に取出す。CCWレジスタ214の
出力はデコードROM215のアドレス信号にな
つており、デコードROM215によりCCWの解
読が行なわれ、次に実行するマイクロプログラム
のアドレスがROMアドレスセレクタ216を通
つてマイクロプログラムカウンタ217に入力さ
れる。従つて、マイクロプログラムが分岐し、
CCBを処理するマイクロプログラムのマイクロ
命令がROM218から順次読出される。
The processing of the SIO command will be explained below. ROM2
The microinstructions of the microprogram that processes the SIO instructions from 18 are sequentially read out, and first they are sent to the internal bus control circuit 2 via the ROM data register 219.
When an SIO stack retrieval command is issued to 22, the internal bus control circuit 222 transfers the device number from the SIO stack 227 to the stack register 228.
During this operation, the internal bus control circuit 222
It operates to select stack register 228 as the address of RAM 213. Next ROM218
From, extract the CCB address from RAM213,
A command to set the memory address register 206 is also output to the internal bus control circuit 222 and executed. Thereafter, a memory read command is issued from the ROM 218 to the high-speed bus control circuit 202. When a memory read command is issued, the high-speed bus control circuit 20
2 issues a bus use request to the memory control device 115, and when use of the bus 117 is permitted, the data in the memory address register 206 is sent to the memory control device 115.
Send to 15th. When the memory control device 115 operates to finish reading the memory from the main memory 114 and sends read data to the channel 116, the data is held in the read data register 204. Then, a store command is output from the ROM 218 to the internal bus control circuit 222 and the read data register 20
4 data is stored in the RAM 213. As a result, the CCR in main memory 114 becomes
The data is taken into the RAM 213 in 6. Then, when the above operation is repeated and the CCB is removed,
The internal bus control circuit 222 takes out the data into the CCW register 214 stored in the RAM 213 according to the microinstruction from the ROM 218. The output of the CCW register 214 becomes an address signal for the decode ROM 215, and the decode ROM 215 decodes the CCW, and the address of the next microprogram to be executed is input to the microprogram counter 217 via the ROM address selector 216. . Therefore, the microprogram branches,
The microinstructions of the microprogram that processes the CCB are sequentially read from the ROM 218.

以下CCWでライト(WRITE)モードの指令が
ある時の動作を第9図の動作状態図を参照して説
明する。先ず入出力装置113とチヤネル116
とを接続するために、アドレスレジスタ229に
保持されている機器番号を入出力バス112に送
出する指令(マイクロ命令)がROM218から
読出されROMデータレジスタ219を介して入
出力バス制御回路221に出力される。入出力バ
ス制御回路221は入出力バス112に機器番号
を送出した後、バスの情報が機器番号であること
を示す第9図のアドレス信号CADRL0(9−
1)を入出力バス112に送出する。なお( )
内の数字は第9図との対応関係を示す。入出力バ
ス112に接続されている入出力装置113は、
入出力バス112上に送出された機器番号情報と
自装置に固有の番号とを比較し、一致がとれると
図示せぬアドレスフリツプフロツプをセツトす
る。なお、詳述はしないが、一般に入出力装置
が、チヤネルより送られた機器番号情報が自装置
固有の番号に一致するか否かを比較する比較回路
と、一致時にセツトされるアドレスフリツプフロ
ツプとを備えていることは周知のことである。そ
して、機器番号の一致のとれた入出力装置(I/
O)から信号CSYNL0(9−2)が返つてくる
と、入出力バス制御回路221は機器番号と信号
CADRL0(9−1)の送出を止める。
The operation when a write (WRITE) mode command is issued in the CCW will be explained below with reference to the operation state diagram in FIG. First, the input/output device 113 and channel 116
In order to connect the be done. After sending the device number to the input/output bus 112, the input/output bus control circuit 221 sends an address signal CADRL0 (9--) in FIG. 9 indicating that the bus information is the device number.
1) to the input/output bus 112. In addition( )
The numbers inside indicate the correspondence with FIG. 9. The input/output device 113 connected to the input/output bus 112 is
The device number information sent on the input/output bus 112 is compared with a number unique to the device itself, and if a match is found, an address flip-flop (not shown) is set. Although not described in detail, input/output devices generally have a comparison circuit that compares whether the device number information sent from the channel matches a number unique to the device itself, and an address flip-flop that is set when a match occurs. It is well known that it is equipped with a Then, select the input/output device (I/O device) with the matching device number.
When the signal CSYNL0 (9-2) is returned from O), the input/output bus control circuit 221 receives the device number and signal.
Stop sending CADRL0 (9-1).

信号CADRL0(9−1)の送出が停止される
と、すなわち信号CADRL0(9−1)がアクテ
イブ状態から非アクテイブ状態になると、入出力
装置側において信号CSYNL0(9−2)が非ア
クテイブ状態にされる。
When the transmission of signal CADRL0 (9-1) is stopped, that is, when signal CADRL0 (9-1) changes from an active state to an inactive state, the signal CSYNL0 (9-2) changes to an inactive state on the input/output device side. be done.

ところで、アドレスフリツプフロツプがセツト
して、上述の信号状態になると、以後のデータ転
送(授受)はアドレスフリツプフロツプがセツト
している入出力装置とのみ行なわれる。すなわ
ち、アドレスフリツプフロツプがセツトされるこ
とによつて、チヤネル−入出力装置間の接続(以
下、入出力装置接続と称する)が行なわれたこと
になる。いいかえれば入出力装置接続とは入出力
装置内のアドレスフリツプフロツプをセツトする
ことを意味する。入出力装置接続が完了すると
ROM218から読出されるマイクロ命令により
内部バス制御回路222はRAM213に保存し
ているスタートアドレス62をメモリアドレスレ
ジスタ206にセツトする。次に転送バイト数6
3をカウンタ212にセツトし、然る後、RAM
213に読み込んでいるデータをリードデータバ
ツフアレジスタ210にセツトする。これによつ
てデータ転送準備が完了する。そして入出力バス
制御回路221は次にROM218から出力され
るマイクロ命令を解読し、ステータスリクエスト
信号CSRQL0(9−3)を入出力バス112に
送出し、接続状態にある入出力装置113のステ
ータスデータを取込む。入出力バス制御回路22
1はステータスをチエツクし異常がなければリー
ドデータバツフア210のデータを入出力バス1
12に介して入出力装置113へ送出する。次に
入出力バス制御回路221が入出力装置113か
らデータを受取つた事を示す信号CSYNL0(9
−2)を受信すると、内部バス制御回路222に
よつてカウンタ212が「1」減算され、メモリ
アドレスレジスタ206が「1」インクリメント
され、再びRAM213に保存される。通常高速
DMAバス117は入出力バス112のデータ幅
のn倍で構成されるから転送バイト数63がnの
整数倍毎にメモリ114からの読出しが行なわ
れ、RAM213に保存される。
By the way, when the address flip-flop is set to the above-mentioned signal state, subsequent data transfer (transfer/reception) is performed only with the input/output device to which the address flip-flop is set. That is, by setting the address flip-flop, a connection between a channel and an input/output device (hereinafter referred to as an input/output device connection) is established. In other words, connecting an I/O device means setting an address flip-flop in the I/O device. Once the input/output device connection is complete
In response to a microinstruction read from ROM 218, internal bus control circuit 222 sets start address 62 stored in RAM 213 in memory address register 206. Next, the number of bytes transferred is 6.
3 in the counter 212, and then the RAM
213 is set in the read data buffer register 210. This completes the data transfer preparation. The input/output bus control circuit 221 then decodes the microinstruction output from the ROM 218, sends a status request signal CSRQL0 (9-3) to the input/output bus 112, and sends the status request signal CSRQL0 (9-3) to the input/output device 113 in the connected state. take in. Input/output bus control circuit 22
1 checks the status and, if there is no abnormality, transfers the data from the read data buffer 210 to the input/output bus 1.
12 to the input/output device 113. Next, signal CSYNL0 (9) indicates that the input/output bus control circuit 221 has received data from the input/output device 113.
-2), the counter 212 is decremented by "1" by the internal bus control circuit 222, the memory address register 206 is incremented by "1", and the data is stored in the RAM 213 again. Normally high speed
Since the DMA bus 117 has a data width n times the data width of the input/output bus 112, the number of transfer bytes 63 is read from the memory 114 every integral multiple of n and stored in the RAM 213.

入出力装置113が出力動作を終了すると、割
込みをチヤネル116にかける。割込みを受付け
ると、承認信号CACKL0(9−6)が入出力バ
ス制御回路221から入出力バス112を介して
割込みを発生した入出力装置113に送出され
る。そして、前記入出力装置113から割込み機
器番号が入出力バス112、入出力バスドライ
バ、レシーバ回路225を介して割込み機器番号
レジスタ226にセツトされる。入出力バス制御
回路221が信号CACKL0(9−6)を出すと
以後のRAM213のアドレスは割込み機器番号
レジスタ226が選ばれる。SIO命令の時と同様
にRAM213のCCWがCCWレジスタ214に
読出され、以後同様のシーケンスでデータ転送が
行なわれる。尚、アドレスレジスタ229へのデ
ータセツトは、CCWをRAM213から取出す時
に行なわれる。以後入出力装置113からの割込
みがある毎に同様の動作が行なわれ、カウンタ2
12の内容が「0」になつた時点で、動作の終了
状態、即ち転送終了時のメモリアドレス62、転
送バイト数63、チヤネルステータス、機器ステ
ータス64等がメモリ114に格納される。
When the input/output device 113 finishes its output operation, an interrupt is applied to the channel 116. When an interrupt is accepted, an acknowledge signal CACKL0 (9-6) is sent from the input/output bus control circuit 221 to the input/output device 113 that generated the interrupt via the input/output bus 112. Then, the interrupt device number is set from the input/output device 113 to the interrupt device number register 226 via the input/output bus 112, the input/output bus driver, and the receiver circuit 225. When the input/output bus control circuit 221 outputs the signal CACKL0 (9-6), the interrupt device number register 226 is selected as the subsequent address of the RAM 213. As with the SIO instruction, the CCW of the RAM 213 is read to the CCW register 214, and thereafter data transfer is performed in the same sequence. Note that data is set in the address register 229 when the CCW is taken out from the RAM 213. Thereafter, the same operation is performed every time there is an interrupt from the input/output device 113, and the counter 2
When the contents of 12 become "0", the end state of the operation, that is, the memory address 62, the number of transferred bytes 63, the channel status, the device status 64, etc. at the time of the end of the transfer are stored in the memory 114.

なお、チヤネル−入出力装置間の動作におい
て、チヤネル116から入出力装置113への転
送時には、入出力バス制御回路221が入出力バ
ス112にデータを送出したのち、データの意味
を示すコントロール信号をアクテイブ(論理
“0”)にする。第9図に示されているように、デ
ータアベイラブル信号CDAVL0(9−4)は入
出力装置(I/O)に出力する転送データである
ことを意味し、コマンド信号CCMDL0(9−
7)はコマンドデータであることを意味する。ま
た、入出力装置113に対して入出力装置113
からチヤネル116への転送を要求する場合に
は、入出力バス制御回路221がコントロール信
号をアクテイブにし、然る後I/Oから要求され
たデータが送出されると共に信号CSYNL0(9
−2)が返つてくると、入出力バス制御回路22
1はコントロール信号を非アクテイブ状態(論理
“1”)にする。第9図に示されているように、ス
テータスリクエスト信号CSRQL0(9−3)は
ステータスデータの要求を意味し、データリクエ
スト信号CDRQL0(9−5)は入力データ要求
を意味し、(割込み)承認信号CACKL0(9−
6)は割込み機器番号情報の送出要求を意味す
る。
In the operation between the channel and the input/output device, when transferring data from the channel 116 to the input/output device 113, after the input/output bus control circuit 221 sends data to the input/output bus 112, it sends a control signal indicating the meaning of the data. Make it active (logic “0”). As shown in FIG. 9, the data available signal CDAVL0 (9-4) means transfer data to be output to the input/output device (I/O), and the command signal CCMDL0 (9-4)
7) means command data. In addition, the input/output device 113 is connected to the input/output device 113.
When requesting transfer from the I/O to the channel 116, the input/output bus control circuit 221 activates the control signal, and then the requested data is sent from the I/O and the signal CSYNL0 (9
-2) is returned, the input/output bus control circuit 22
1 makes the control signal inactive (logic "1"). As shown in FIG. 9, the status request signal CSRQL0 (9-3) means a request for status data, the data request signal CDRQL0 (9-5) means an input data request, and (interrupt) acknowledgement. Signal CACKL0 (9-
6) means a request to send interrupt device number information.

以上の動作説明は、前述したようにマルチプレ
クサチヤネル116を中心とする機能を理解する
ために行なつたものであり、入出力バス制御マイ
クロ命令実行中に、他のマイクロ命令を実行しな
い場合の動作手順を述べたものである。いいかえ
れば、上述の動作は、従来例で示したように入出
力装置接続のための入出力バス制御マイクロ命令
の実行終了後に、データ転送準備のためのマイク
ロ命令に進む場合である。
The above explanation of the operation was made in order to understand the functions centered on the multiplexer channel 116 as described above, and the operation is performed when no other microinstruction is executed while the input/output bus control microinstruction is being executed. This describes the procedure. In other words, the above-mentioned operation is a case where, as shown in the conventional example, after the execution of the input/output bus control microinstruction for connecting the input/output device is completed, the process proceeds to the microinstruction for data transfer preparation.

次に、本発明に直接関係する、入出力バス制御
マイクロ命令の実行中に他のマイクロ命令を並行
して実行する場合の動作を、第10図のタイミン
グチヤートを参照して説明する。たとえば今、
ROMクロツク信号CRCLK1(第10図ロ)に
よつてROM218から入力バス制御マイクロ命
令(第5図参照)が読出され、ROMデータレジ
スタ219に保持されたものとする。この入出力
バス制御マイクロ命令が入出力装置接続のための
命令であり、ストツプビツトSTPによるストツ
プ指定がないものとする。
Next, the operation when another microinstruction is executed in parallel while the input/output bus control microinstruction is being executed, which is directly related to the present invention, will be described with reference to the timing chart shown in FIG. For example, now
It is assumed that the input bus control microinstruction (see FIG. 5) is read from the ROM 218 by the ROM clock signal CRCLK1 (FIG. 10b) and held in the ROM data register 219. It is assumed that this input/output bus control microinstruction is an instruction for connecting an input/output device, and there is no stop specification by the stop bit STP.

入出力バス制御マイクロ命令がROMデータレ
ジスタ219に保持されると、そのOP部が図示
せぬデコーダによつてデコードされることによ
り、信号CIIO1がアクテイブ(論理“1”)とな
る。このとき、第10図ルに示されるように信号
CLBSY0が非アクテイブ状態(論理“1”)、す
なわち入出力バス制御回路221が動作中でない
場合、アンドゲート305のアンド条件が成立す
る。この結果、フリツプフロツプ306は基本ク
ロツク信号CBCK11(第10図イ)の立下りの
タイミングでセツト状態となり、第10図ハに示
されるように信号FIOCT1(論理“1”)を発生
する。このとき、信号FIOCT0は論理“1”か
ら論理“0”状態に変化する。そして、信号
FIOCT1が発生されることによつて、入出力バ
ス制御回路221の入出力バス制御が開始され
る。すなわち、この信号FIOCT1の立上りのタ
イミングで、ROMデータレジスタ219に保持
されている入出力バス制御マイクロ命令のモード
部MODEの3ビツト(ビツト5〜ビツト7)と、
同じくレジスタ部Rの3ビツト(ビツト9〜ビツ
ト11)との6ビツト情報が対応する出力データラ
インRD**1を経由して入出力バス制御回路2
21内のレジスタ301に取り込まれる。したが
つて、入出力バス制御マイクロ命令がROM21
8からROMデータレジスタ219に取り出され
ている場合でも、信号CLBSY0がアクテイブ状
態(論理“0”)、すなわち入出力バス制御回路2
21が動作中の場合、(アンドゲート305のア
ンド条件が成立せず)フリツプフロツプ306よ
り信号FIOCT1は発生されないため、当該マイ
クロ命令はレジスタ301に取り込まれず、新た
な入出力バス制御は入出力バス制御回路221が
非動作状態となるまで待たされる。
When the input/output bus control microinstruction is held in the ROM data register 219, its OP part is decoded by a decoder (not shown), and the signal CIIO1 becomes active (logic "1"). At this time, as shown in Figure 10, the signal
When CLBSY0 is in an inactive state (logic "1"), that is, when the input/output bus control circuit 221 is not operating, the AND condition of the AND gate 305 is satisfied. As a result, the flip-flop 306 enters the set state at the falling timing of the basic clock signal CBCK11 (FIG. 10A), and generates the signal FIOCT1 (logic "1") as shown in FIG. 10C. At this time, the signal FIOCT0 changes from logic "1" to logic "0" state. And the signal
By generating FIOCT1, input/output bus control of the input/output bus control circuit 221 is started. That is, at the timing of the rise of this signal FIOCT1, the 3 bits (bits 5 to 7) of the mode part MODE of the input/output bus control microinstruction held in the ROM data register 219,
Similarly, the 6-bit information of the 3 bits (bits 9 to 11) of the register section R is sent to the input/output bus control circuit 2 via the corresponding output data line RD**1.
The data is taken into the register 301 in 21. Therefore, the input/output bus control microinstructions are stored in the ROM21.
8 to the ROM data register 219, the signal CLBSY0 is in the active state (logic "0"), that is, the input/output bus control circuit 2
21 is operating, the signal FIOCT1 is not generated from the flip-flop 306 (the AND condition of the AND gate 305 is not satisfied), so the microinstruction is not taken into the register 301, and the new input/output bus control is changed to the input/output bus control. This waits until the circuit 221 becomes inactive.

一方、ナンドゲート311はフリツプフロツプ
306がセツトして信号FIOCT0が論理“1”
から論理“0”に変化したタイミングで信号
CLBSY1をアクテイブ(論理“1”)にする。
これにより第10図ルに示されるように信号
CLBSY0もアクテイブ(論理“0”)となり、
入出力バス制御回路221が動作中であることが
示される。
On the other hand, the flip-flop 306 sets the NAND gate 311 so that the signal FIOCT0 becomes logic "1".
The signal at the timing when it changes from to logic “0”
Make CLBSY1 active (logic “1”).
This results in a signal as shown in Figure 10.
CLBSY0 also becomes active (logic “0”),
This indicates that the input/output bus control circuit 221 is in operation.

ところで、前述したように信号CIIO1がアク
テイブとなると、ナンドゲート313の出力は論
理“0”となる。そして、ナンドゲート313の
出力の立下りのタイミングで入出力バス制御マイ
クロ命令がROMデータレジスタ219に取り込
まれた時点の入出力バス制御回路221の動作状
態(信号RLSQ11、信号OLBSY1、信号RD1
21)が、レジスタ314に記憶される。この時
点では信号CLBSY1はまだ論理“0”であり、
また信号RD121はストツプ指定がないため論
理“0”(非アクテイブ)である。したがつて、
FSTP11=“0”、FSTP21=“0”となり、
アンドゲート3171〜3173のアンド条件は全
て不成立となつている。このため、アンド・オ
ア・インバータ317の出力は論理“1”とな
り、アンドゲート318は基本クロツクCBCK1
1と同期して、ROMクロツク信号CRCLK1を
発生する。そして、このROMクロツク信号
CRCLK1によつて次のマイクロ命令がROM2
18からROMデータレジスタ219に取り出さ
れる。このマイクロ命令はデータ転送準備のため
の命令である。すなわち、本実施例によれば、入
出力装置接続のための入出力バス制御マイクロ命
令の実行に、データ転送準備のためのマイクロ命
令がフエツチされることになる。このマイクロ命
令は内部バス制御回路222に取り込まれる。そ
して、内部バス制御回路222は前述したよう
に、RAM213に保存しているスタートアドレ
ス42を内部バスA209を経由してメモリアド
レスレジスタ206にセツトする。同じく内部バ
ス制御回路222は、次のROMクロツク信号
CRCLK1によつて取り込まれた新たなマイクロ
命令に従つて、前述したように転送バイト数63
をカウンタ212にセツトし、更に続いてRAM
213に読み込んでいるデータをリードデータバ
ツフアレジスタ210にセツトする。これによ
り、データ転送準備が完了する。このように、本
実施例によれば、入出力装置接続のための入出力
バス制御マイクロ命令とデータ転送準備のための
各種マイクロ命令との並列処理が可能となり、処
理効率が向上する。
By the way, as described above, when the signal CIIO1 becomes active, the output of the NAND gate 313 becomes logic "0". Then, the operating state of the input/output bus control circuit 221 (signal RLSQ11, signal OLBSY1, signal RD1
21) is stored in register 314. At this point, the signal CLBSY1 is still at logic “0”;
Furthermore, since there is no stop designation, the signal RD121 is at logic "0" (inactive). Therefore,
FSTP11="0", FSTP21="0",
The AND conditions of the AND gates 317 1 to 317 3 are all not satisfied. Therefore, the output of the AND-OR inverter 317 becomes logic "1", and the AND gate 318 outputs the basic clock CBCK1.
1, a ROM clock signal CRCLK1 is generated. And this ROM clock signal
The next microinstruction is transferred to ROM2 by CRCLK1.
18 to the ROM data register 219. This microinstruction is an instruction to prepare for data transfer. That is, according to this embodiment, a microinstruction for data transfer preparation is fetched when an input/output bus control microinstruction for connecting an input/output device is executed. This microinstruction is taken into internal bus control circuit 222. Then, as described above, the internal bus control circuit 222 sets the start address 42 stored in the RAM 213 in the memory address register 206 via the internal bus A209. Similarly, the internal bus control circuit 222 receives the next ROM clock signal.
According to the new microinstruction fetched by CRCLK1, the number of bytes transferred is 63 as described above.
is set in the counter 212, and then the RAM
213 is set in the read data buffer register 210. This completes the data transfer preparation. As described above, according to this embodiment, parallel processing of the input/output bus control microinstructions for connecting input/output devices and various microinstructions for data transfer preparation is possible, and processing efficiency is improved.

次に、入出力装置接続のための入出力バス制御
マイクロ命令の実行動作を説明する。前述したよ
うに入出力バス制御回路221の動作は信号
FIOCT1の発生によつて開始される。そして、
信号FIOCT1は基本クロツク信号CBCK11の
タイミングでシフトレジスタ308に順次シフト
インされる。これにより、シフトレジスタ308
は第10図ニ,ホ,ヘに示されるように信号
RLSQ11、信号RLSQ21、信号RLSQ31を
1クロツクずつずれたタイミングで順次アクテイ
ブ(論理“1”)にする。信号RLSQ11が立上
ると、フリツプフロツプ301に保持されている
レジスタ部Rの3ビツト情報で指定されたレジス
タ(この場合アドレスレジスタ229)の保持内
容(この場合機器番号)が内部バスB224上に
送出される。入出力バス制御回路221は内部バ
スB224上の機器番号情報を、入出力バスドラ
イバレシーバ回路225を介して信号RLSQ31
がアクテイブ状態である間、入出力バス112の
図示せぬデータバスへ送出する。
Next, the execution operation of an input/output bus control microinstruction for connecting an input/output device will be explained. As mentioned above, the operation of the input/output bus control circuit 221 is based on the signal
It is initiated by the occurrence of FIOCT1. and,
The signal FIOCT1 is sequentially shifted into the shift register 308 at the timing of the basic clock signal CBCK11. This allows the shift register 308
is the signal as shown in Figure 10 D, E and F.
RLSQ11, signal RLSQ21, and signal RLSQ31 are made active (logical "1") in sequence at timings shifted by one clock. When the signal RLSQ11 rises, the contents (device number in this case) held in the register (in this case the address register 229) specified by the 3-bit information of the register section R held in the flip-flop 301 are sent onto the internal bus B224. Ru. The input/output bus control circuit 221 sends the device number information on the internal bus B224 to the signal RLSQ31 via the input/output bus driver receiver circuit 225.
While it is in the active state, it is sent to the data bus (not shown) of the input/output bus 112.

信号RLSQ21がアクテイブ状態となると、デ
コーダ302はイネーブル状態となる。この結
果、デコーダ302はフリツプフロツプ301に
保持されている入出力バス制御マイクロ命令のモ
ード部MODEの3ビツト情報をデコードし、第
10図チに示すように対応するコントロール信号
(この場合はアドレス信号CADRL0)を発生す
る。このコントロール信号(アドレス信号
CADRL0)は入出力バス112の図示せぬコン
トロール信号ライン(アドレス信号ライン)へ送
出される。
When the signal RLSQ21 becomes active, the decoder 302 becomes enabled. As a result, the decoder 302 decodes the 3-bit information of the mode part MODE of the input/output bus control microinstruction held in the flip-flop 301, and outputs the corresponding control signal (in this case, the address signal CADRL0) as shown in FIG. ) occurs. This control signal (address signal
CADRL0) is sent to an unillustrated control signal line (address signal line) of the input/output bus 112.

前述したように、入出力装置は入出力バス11
2上に送出された機器番号情報と、自装置に固有
の番号とを比較し、一致がとれるとアドレスフリ
ツプフロツプをセツトすると共に、信号CSYNL
0を返す。そして、信号CSYNL0が返つてくる
と、フリツプフロツプ304は基本クロツク信号
CBCK11のタイミングでセツトされ、この信号
CBCK11に同期した信号FSYNL1を出力端子
Qより発生する。この結果、フリツプフロツプ3
06のK入力はK=“1”となる。この時点では、
ROMデータレジスタ219の内容は前述したよ
うにデータ転送準備のためのマイクロ命令になつ
ており、したがつて信号CIIO1は非アクテイブ
(論理“0”)となつている。このため、フリツプ
フロツプ306のJ入力はJ=“0”となつてお
り、フリツプフロツプ306は基本クロツク信号
CBCK11の立下りでリセツトされる。これによ
り、信号FIOCT1は第10図ハに示されるよう
に非アクテイブ(論理“0”)となる。
As mentioned above, the input/output device is the input/output bus 11.
The device number information sent on 2 is compared with the unique number of the own device, and if they match, the address flip-flop is set and the signal CSYNL is
Returns 0. Then, when signal CSYNL0 is returned, flip-flop 304 outputs the basic clock signal.
It is set at the timing of CBCK11, and this signal
A signal FSYNL1 synchronized with CBCK11 is generated from output terminal Q. As a result, flip-flop 3
The K input of 06 becomes K="1". At this point,
As described above, the contents of the ROM data register 219 are microinstructions for data transfer preparation, and therefore the signal CIIO1 is inactive (logic "0"). Therefore, the J input of the flip-flop 306 is J="0", and the flip-flop 306 receives the basic clock signal.
It is reset at the falling edge of CBCK11. As a result, the signal FIOCT1 becomes inactive (logic "0") as shown in FIG. 10C.

シフトレジスタ308は、信号RLSQ21(第
10図ホ)がアクテイブとなつた時点で、ナンド
ゲート310の出力(論理“0”)に応じてシフ
ト動作を停止する。このナンドゲート310は、
信号CSYNL0が返つてきてフリツプフロツプ3
04がセツトされた時点で信号FSYNL0が論理
“0”となるため(ナンド条件が不成立となり)、
論理“1”の信号を発生する。これによりシフト
レジスタ308は再びシフトモードとなり、次の
基本クロツク信号CBCK11のタイミングからシ
フト動作を開始する。このとき、アンドゲート3
07のアンド条件は、上記信号FSYNL0(論理
“0”)によつて不成立となつている。このため、
シフトレジスタ308には“0”データ(アンド
ゲート307の出力)がシフトインされ、これに
より信号RLSQ11、信号RLSQ21、信号
RLSQ31は第10図ニ,ホ,ヘに示されるよう
に順次非アクテイブ状態(論理“0”)となる。
そして、信号RLSQ21が非アクテイブ状態とな
ることによつて、デコーダ302は第10図チに
示されるようにコントロール信号(アドレス信号
CADRL0)の発生を停止する。
The shift register 308 stops the shift operation in response to the output (logic "0") of the NAND gate 310 when the signal RLSQ21 (FIG. 10(e)) becomes active. This NAND gate 310 is
Signal CSYNL0 is returned and flip-flop 3
Since the signal FSYNL0 becomes logic "0" at the time when 04 is set (NAND condition is not satisfied),
Generates a logic "1" signal. As a result, the shift register 308 enters the shift mode again and starts the shift operation from the timing of the next basic clock signal CBCK11. At this time, and gate 3
The AND condition of 07 is not satisfied due to the signal FSYNL0 (logic "0"). For this reason,
“0” data (output of the AND gate 307) is shifted into the shift register 308, which causes the signal RLSQ11, the signal RLSQ21, and the signal
The RLSQ 31 sequentially becomes inactive (logical "0") as shown in FIG. 10 D, E, and F.
When the signal RLSQ21 becomes inactive, the decoder 302 outputs a control signal (address signal) as shown in FIG.
CADRL0) will stop occurring.

そして、信号CADRL0の送出が停止される
と、第9図にて説明したように入出力装置113
側において信号CSYNL0の送出が停止される
(第10図リ)。信号CSYNL0の送出停止に応じ
てフリツプフロツプ304がリセツトされ、信号
FSYNL1は第10図ヌに示されるように非アク
テイブ(論理“0”)となる。一方、信号
FSYNL0は論理“1”となり、この結果ナンド
ゲート311のナンド条件が成立して信号
CLBSY0が非アクテイブ(論理“1”)となる。
これにより、入出力バス制御回路221が1つの
入出力動作を全て完了して、非動作状態に入つた
ことが示される。
Then, when the transmission of the signal CADRL0 is stopped, the input/output device 113
The transmission of the signal CSYNL0 is stopped on the side (FIG. 10-1). In response to the stop of sending the signal CSYNL0, the flip-flop 304 is reset and the signal CSYNL0 is stopped.
FSYNL1 becomes inactive (logic "0") as shown in FIG. On the other hand, the signal
FSYNL0 becomes logic “1”, and as a result, the NAND condition of the NAND gate 311 is satisfied and the signal
CLBSY0 becomes inactive (logic "1").
This indicates that the input/output bus control circuit 221 has completed one input/output operation and has entered a non-operating state.

次に、第10図ロのROMクロツク信号
CRCLK1のn点のクロツクによつて(データ転
送準備のためのマイクロ命令に続く)ステータス
読出し、チエツクのための入出力バス制御マイク
ロ命令が読み出された場合について説明する。こ
の入出力バス制御マイクロ命令にはストツプ指定
があるものとする。そして、当該マイクロ命令が
取り込まれた時点の入出力バス制御回路221の
動作状態(RLQ11=“1”、CLBSY=“1”、
RD121=“1”)がレジスタ314に記憶され
る。この結果FSTP11=“1”、FSTP31=
“1”となり、アンドゲート3172のアンド条件
が成立する。これによりアンド・オア・インバー
タ317の出力は論理“0”となり、ROMクロ
ツク信号CRCLK1の出力が禁止される。これに
より、新たなマイクロ命令のフエツチが禁止され
る。
Next, the ROM clock signal in Figure 10 (b)
A case will be described in which an input/output bus control microinstruction for status reading and checking (following a microinstruction for data transfer preparation) is read by the n-point clock of CRCLK1. It is assumed that this input/output bus control microinstruction has a stop designation. Then, the operating state of the input/output bus control circuit 221 at the time when the microinstruction is taken in (RLQ11="1", CLBSY="1",
RD121="1") is stored in the register 314. As a result, FSTP11="1", FSTP31="
It becomes "1", and the AND condition of AND gate 3172 is satisfied. As a result, the output of the AND-OR inverter 317 becomes logic "0", and the output of the ROM clock signal CRCLK1 is prohibited. This prohibits fetching new microinstructions.

一方、前記読出された入出力バス制御マイクロ
命令は、第10図ハに示されるように信号
FIOCT1が立上らないため、レジスタ301に
保持されない。したがつて、たとえ上述のように
入出力装置接続のための入出力バス制御マイクロ
命令の実行期間中に、他の入出力バス制御マイク
ロ命令がROMデータレジスタ219に取り出さ
れたとしても、当該命令の実行がなされないた
め、誤動作の恐れはない。
On the other hand, the read input/output bus control microinstruction is processed by a signal as shown in FIG. 10C.
Since FIOCT1 does not rise, it is not held in the register 301. Therefore, even if another input/output bus control microinstruction is fetched into the ROM data register 219 during the execution period of the input/output bus control microinstruction for connecting an input/output device as described above, the instruction is Since this is not executed, there is no risk of malfunction.

前述したように、信号FSYNL1に応じてフリ
ツプフロツプ306がリセツトされ、信号
FIOCT1が立下ると共に、信号FIOCT0が立上
ると、フリツプフロツプ316が動作し、アンド
ゲート315の出力を保持する。この場合、
FSTP31=“1”、FSTP11=“1”であるた
め、アンンドゲート315の出力は論理“1”で
あり、したがつてフリツプフロツプ316はセツ
トされる。この結果、フリツプフロツプ316の
Q出力すなわち信号FSTP40は論理“0”とな
る。そして、信号FSTP40の立下りに応じて、
フリツプフロツプ314はリセツトされ、FSTP
11=FSTP21=FSTP31=“0”、FSTP1
0=FSTP20=FSTP30=“1”となる。こ
の結果、アンドゲート3171〜3173のアンド
ゲート条件は全て不成立となり、アンド・オア・
インバータ317の出力は論理“1”となる。し
たがつて、信号FIOCT0が新たに立上つてフリ
ツプフロツプ316がリセツトされるならば、ア
ンド318によるROMクロツク信号CRCLK1
の出力禁止が解除されることになる。
As previously mentioned, flip-flop 306 is reset in response to signal FSYNL1, and signal
When FIOCT1 falls and signal FIOCT0 rises, flip-flop 316 operates and holds the output of AND gate 315. in this case,
Since FSTP31="1" and FSTP11="1", the output of AND gate 315 is logic "1", and therefore flip-flop 316 is set. As a result, the Q output of flip-flop 316, ie, signal FSTP40, becomes logic "0". Then, in response to the falling of the signal FSTP40,
Flip-flop 314 is reset and the FSTP
11=FSTP21=FSTP31="0", FSTP1
0=FSTP20=FSTP30="1". As a result, the AND gate conditions of AND gates 317 1 to 317 3 all fail, and the AND OR
The output of inverter 317 becomes logic "1". Therefore, if signal FIOCT0 rises anew and flip-flop 316 is reset, ROM clock signal CRCLK1 by AND 318 is reset.
The output prohibition will be lifted.

入出力装置接続のための入出力バス制御マイク
ロ命令の実行が全て完了し、前述したように信号
CLBSY0が非アクテイブ(論理“1”)となる
と、基本クロツク信号CRCK11のタイミングで
フリツプフロツプ306が再びセツトされる。こ
れにより、信号FIOCT1がアクテイブ(論理
“1”)となり、入出力バス制御回路221の入出
力バス制御が再び開始される。この結果、前述し
た装置接続の場合と同様にステータス読出し、チ
エツクのための入出力動作が行なわれる。この場
合、入出力装置接続のときと異なり、フリツプフ
ロツプ316(論理“0”の信号FSTP40)に
よつてROMクロツク信号CRCLK1の出力が禁
止されており、次のマイクロ命令のフエツチは行
なわれない。やがて、フリツプフロツプ306が
リセツトし、信号FIOCT0が立上ると、フリツ
プフロツプ316がリセツトされる。これにより
信号FSTP40が立上り、次の基本クロツク信号
CBCK11に同期してアンドゲート318より
ROMクロツク信号CRCLK1が出力される。す
なわち、フリツプフロツプ316がリセツトして
入出力バス制御回路221の動作終了を指定する
までは、次のマイクロ命令がフエツチされないた
め、入出力バス制御マイクロ命令同志が並行して
実行される恐れはない。
All input/output bus control microinstructions for connecting input/output devices have been executed, and the signals are
When CLBSY0 becomes inactive (logic "1"), flip-flop 306 is set again at the timing of basic clock signal CRCK11. As a result, the signal FIOCT1 becomes active (logic "1"), and the input/output bus control circuit 221 starts controlling the input/output bus again. As a result, input/output operations for status reading and checking are performed in the same manner as in the case of device connection described above. In this case, unlike when the input/output device is connected, the output of the ROM clock signal CRCLK1 is prohibited by the flip-flop 316 (signal FSTP40 of logic "0"), and the next microinstruction is not fetched. Eventually, flip-flop 306 is reset, and when signal FIOCTO rises, flip-flop 316 is reset. This causes the signal FSTP40 to rise, and the next basic clock signal
From ANDGATE 318 in synchronization with CBCK11
ROM clock signal CRCLK1 is output. That is, since the next microinstruction is not fetched until the flip-flop 316 is reset and the operation of the input/output bus control circuit 221 is designated to end, there is no possibility that the input/output bus control microinstructions will be executed in parallel.

これは、入出力バス制御回路221が非動作状
態にある場合に、ストツプ指定のある入出力バス
制御マイクロ命令がROMデータレジスタ219
に取り出された場合についても同様である。すな
わち、この時点でレジスタ314には、RD12
1=“1”、CLBSY=“0”、RLSQ11=“0”が
記憶される。この結果、FSTP11=FSTP20
=“1”となる。そして、入出力バス制御回路2
21の動作開始(FIOCT1=“1”)と共に、ア
ンドゲート3171のアンド条件が成立し、アン
ド・オア・インバータ317の出力は論理“0”
となる。この結果、アンドゲート318によつて
ROMクロツク信号CRCLK1の出力が禁止され
る。これにより、次のマイクロ命令がフエツチさ
れる恐れはなく、入出力バス制御マイクロ命令同
志が並行して実行されて誤動作の原因となること
はない。なお、ROMクロツク信号CRCLK1の
出力禁止が解除されるのは、明らかなように信号
FIOCT1が立下つて入出力バス制御回路221
の動作終了が指定される時点(このとき、
FIOCT1=“0”に応じてアンドゲート3171
のアンド条件が成立する)である。以上から理解
できるように、アンド・オア・インバータ317
において、アンドゲート3171はストツプ指定
の入出力バス制御マイクロ命令を実行しようとし
たとき、(FSTP11=“1”)、入出力バス制御回
路221が非動作中(FSTP20=“1”)である
場合の禁止条件を示すものである。また、アンド
ゲート3172およびフリツプフロツプ316は
ストツプ指定の入出力バス制御マイクロ命令を実
行しようとしたとき、フリツプフロツプ306が
セツトしている場合(FIOCT0=“0”)の禁止
条件を示すものである。また、アンドゲート31
3はストツプ指定のない入出力バス制御マイク
ロ命令を実行しようとしたとき(FSTP10=
“1”)、入出力バス制御回路221が動作中
(FSTP21=“1”)である場合の禁止条件を示
すものである。
This means that when the input/output bus control circuit 221 is in an inactive state, an input/output bus control microinstruction with a stop instruction is sent to the ROM data register 219.
The same applies to the case where it is taken out. That is, at this point, the register 314 contains RD12.
1="1", CLBSY="0", and RLSQ11="0" are stored. As a result, FSTP11=FSTP20
= “1”. And input/output bus control circuit 2
21 starts operating (FIOCT1="1"), the AND condition of AND gate 3171 is satisfied, and the output of AND-OR inverter 317 becomes logic "0".
becomes. As a result, by AND gate 318
Output of ROM clock signal CRCLK1 is prohibited. Thereby, there is no fear that the next microinstruction will be fetched, and input/output bus control microinstructions will not be executed in parallel, causing malfunctions. Note that the inhibition of the output of the ROM clock signal CRCLK1 is canceled only when the signal
When FIOCT1 falls, the input/output bus control circuit 221
The point at which the end of the operation is specified (at this time,
AND gate 317 1 according to FIOCT1="0"
The AND condition is satisfied). As can be understood from the above, and or inverter 317
When the AND gate 3171 attempts to execute an input/output bus control microinstruction with a stop specification (FSTP11="1"), the input/output bus control circuit 221 is inactive (FSTP20="1"). This indicates the prohibition conditions when Further, AND gate 3172 and flip-flop 316 indicate a prohibition condition when flip-flop 306 is set (FIOCT0="0") when an attempt is made to execute an input/output bus control microinstruction specifying a stop. Also, and gate 31
7 3 is when an attempt is made to execute an input/output bus control microinstruction without a stop specification (FSTP10=
“1”) indicates a prohibition condition when the input/output bus control circuit 221 is in operation (FSTP21="1").

以上詳述したように本発明の入出力制御装置に
よれば、入出力バス制御マイクロ命令と、その他
のマイクロ命令とを、必要に応じて並行して実行
できるので、処理効率が著しく向上できる。
As described in detail above, according to the input/output control device of the present invention, the input/output bus control microinstructions and other microinstructions can be executed in parallel as necessary, so that processing efficiency can be significantly improved.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は従来のマルチプレクサチヤネル−入出
力装置間のデータ転送手順を説明するための図、
第2図は本発明に関係する情報処理システムの一
実施例を示すブロツク図、第3図は上記実施例に
おいて本発明が適用されるマルチプレクサチヤネ
ルの構成を示すブロツク図、第4図は上記マルチ
プレクサチヤネルにおける入出力バス制御回路の
要部の詳細な回路構成図、第5図は上記実施例に
おける入出力バス制御マイクロ命令のフオーマツ
ト図、第6図はチヤネルコントロールブロツク
(CCB)の構成例を示す図、第7図はスタート
I/O(SIO)命令のフオーマツト図、第8図a,
bは上記スタートI/O命令で示されるレジスタ
の内容を示す図、第9図はチヤネル−入出力装置
間の動作状態例を示す図、第10図は本発明に直
接関係する動作を説明するためのタイミングチヤ
ートである。 111……中央処理装置(CPU)、112……
入出力バス、113……入出力装置、114……
主メモリ、116……マルチプレクサチヤネル、
117……DMAバス、209……内部バスA、
213……RAM、218……ROM、219…
…ROMデータレジスタ、220……マイクロコ
ンピユータ、221……入出力バス制御回路、2
22……内部バス制御回路、234……内部バス
B、229……アドレスレジスタ、301,31
4……レジスタ、304,316……D型フリツ
プフロツプ、302……デコーダ、305,30
7,315,318……アンドゲート、306…
…J−Kフリツプフロツプ、308……シフトレ
ジスタ、317……アンド・オア・インバータ。
FIG. 1 is a diagram for explaining a conventional data transfer procedure between a multiplexer channel and an input/output device.
FIG. 2 is a block diagram showing an embodiment of an information processing system related to the present invention, FIG. 3 is a block diagram showing the configuration of a multiplexer channel to which the present invention is applied in the above embodiment, and FIG. 4 is a block diagram showing the configuration of the multiplexer channel described above. FIG. 5 is a detailed circuit configuration diagram of the main part of the input/output bus control circuit in the channel, FIG. 5 is a format diagram of the input/output bus control microinstruction in the above embodiment, and FIG. 6 is a configuration example of the channel control block (CCB). Figure 7 is a format diagram of the start I/O (SIO) command, Figure 8 a,
b is a diagram showing the contents of the register indicated by the start I/O command, FIG. 9 is a diagram showing an example of the operating state between the channel and the input/output device, and FIG. 10 is a diagram explaining the operation directly related to the present invention. This is a timing chart for. 111...Central processing unit (CPU), 112...
Input/output bus, 113... Input/output device, 114...
Main memory, 116... multiplexer channel,
117...DMA bus, 209...internal bus A,
213...RAM, 218...ROM, 219...
...ROM data register, 220...Microcomputer, 221...I/O bus control circuit, 2
22...Internal bus control circuit, 234...Internal bus B, 229...Address register, 301, 31
4...Register, 304, 316...D-type flip-flop, 302...Decoder, 305, 30
7,315,318...and gate, 306...
...J-K flip-flop, 308...shift register, 317...and-or inverter.

Claims (1)

【特許請求の範囲】 1 チヤネル内を制御するマイクロプログラムが
格納される制御記憶部と、この制御記憶部から入
出力バス制御マイクロ命令が読出された時、当該
マイクロ命令を取り込みチヤネルと入出力装置間
の接続を制御する入出力バス制御回路と、チヤネ
ル起動命令を実行するマイクロプログラムの制御
により主メモリから読取つたチヤネルコントロー
ルワードを格納する記憶装置と、上記制御記憶部
からのマイクロプログラムにより前記記憶装置か
ら前記チヤネルコントロールワードの内容を読出
し所定レジスタにセツトし前記主メモリとチヤネ
ル間のデータ転送準備を行なう手段と、前記入出
力バス制御マイクロ命令が読出された時点の前記
入出力バス制御回路の状態と前記入出力バス制御
マイクロ命令の特定ビツトに基づき次のマイクロ
命令を前記制御記憶部から読出すか否かを判定す
る手段とを具備し、前記入出力バス制御回路の動
作中に前記制御記憶部からの前記データ転送準備
のマイクロ命令によりデータ転送準備動作を並列
処理することを特徴とする入出力制御装置。 2 前記入出力バス制御マイクロ命令が読出され
た時、前記入出力バス制御回路が動作中である場
合、前記入出力バス制御マイクロ命令は前記入出
力バス制御回路に取込まれないことを特徴とする
特許請求の範囲第1項記載の入出力制御装置。 3 前記特定ビツトがセツトされていて、前記入
出力バス制御回路が動作中であれば、前記判定手
段により前記制御記憶部からの次のマイクロ命令
の読出しを禁止することを特徴とする特許請求の
範囲第1項記載の入出力制御装置。
[Scope of Claims] 1. A control storage section in which a microprogram for controlling the inside of a channel is stored, and when an input/output bus control microinstruction is read from this control storage section, the microinstruction is taken in and the channel and input/output device are an input/output bus control circuit for controlling the connection between the two; a storage device for storing the channel control word read from the main memory under the control of a microprogram that executes a channel activation command; means for reading the contents of the channel control word from the device and setting it in a predetermined register to prepare for data transfer between the main memory and the channel; and means for determining whether or not to read a next microinstruction from the control storage section based on the state and specific bits of the input/output bus control microinstruction, and the control storage section is configured to read out the control storage section while the input/output bus control circuit is in operation. An input/output control device characterized in that data transfer preparation operations are processed in parallel by the data transfer preparation microinstructions from the data transfer preparation section. 2. If the input/output bus control circuit is in operation when the input/output bus control microinstruction is read, the input/output bus control microinstruction is not taken into the input/output bus control circuit. An input/output control device according to claim 1. 3. If the specific bit is set and the input/output bus control circuit is in operation, the determination means prohibits reading of the next microinstruction from the control storage section. The input/output control device according to scope 1.
JP16166980A 1980-11-17 1980-11-17 Input/output controller Granted JPS5785129A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16166980A JPS5785129A (en) 1980-11-17 1980-11-17 Input/output controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16166980A JPS5785129A (en) 1980-11-17 1980-11-17 Input/output controller

Publications (2)

Publication Number Publication Date
JPS5785129A JPS5785129A (en) 1982-05-27
JPH0152776B2 true JPH0152776B2 (en) 1989-11-10

Family

ID=15739580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16166980A Granted JPS5785129A (en) 1980-11-17 1980-11-17 Input/output controller

Country Status (1)

Country Link
JP (1) JPS5785129A (en)

Also Published As

Publication number Publication date
JPS5785129A (en) 1982-05-27

Similar Documents

Publication Publication Date Title
US4038642A (en) Input/output interface logic for concurrent operations
US4112490A (en) Data transfer control apparatus and method
EP0464615B1 (en) Microcomputer equipped with DMA controller
US4053950A (en) Residual status reporting during chained cycle steal input/output operations
JPH05274259A (en) Serial input interface circuit
US4218739A (en) Data processing interrupt apparatus having selective suppression control
US4038641A (en) Common polling logic for input/output interrupt or cycle steal data transfer requests
US6581119B1 (en) Interrupt controller and a microcomputer incorporating this controller
WO1988004449A1 (en) Arrangement for controlling memory operations in a pipeline processor
JPH0152776B2 (en)
EP0376003A2 (en) Multiprocessing system with interprocessor communications facility
KR970003319B1 (en) Data processing system having serial interface
JPS634219B2 (en)
JPH0425581B2 (en)
JPS63228856A (en) Communication controller
JP3139310B2 (en) Digital signal processor
JP4182321B2 (en) Dual port memory system
JPS5939766B2 (en) multiplexer channel equipment
JP2871171B2 (en) Microcomputer
JPS6314261A (en) Microprogram controller
JPS6395551A (en) Serial data processor
JPS5935050B2 (en) multiplexer channel equipment
JPS63187943A (en) Communication control equipment
JPS63187944A (en) Communication control equipment
JPS59109942A (en) Programmable controller