Program mode access control system

Abstract: A group of control registers (18a) for controlling a plurality of input output devices (15-0, 15-1 ... 15-N) respectively are formed on a random access memory (18) connected to a microprocessor bus (25) of an input out­ put control device (14), a history of a program mode access from a central processing apparatus to the RAM is recorded in a first-in first-out memory (FIFO) (19), the microprocessor (17) of the input output control device (14) reads an access information of the FIFO, accesses the group of the control registers (18a) on the RAM (18), and controls the input output device (14) accord­ ing to the read control information, and thus control of a plurality of input output devices (15-0, 15-1 ... 15-N) is carried out by one input output device (14).

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program mode access control system by which a plurality of input output devices are controlled by one input output control device and a rapid program mode access is made between this input output device and a central processing device. 2. Description of the Related Arts The construction of an input output control device which controls an input output device such as a magnetic tape device, a magnetic disc device, a magnetic floppy device, a line printer, etc., usually comprises a microprocessor, and corresponds to the construction of the input output device. Therefore, a standardization of the input output device is desired. The conventional processing device, for example, has the construction shown as follows. That is, a processor bus is connected by a central processing unit, a main memory device and a channel device, a plurality of input output control devices are connected via the channel device and a common bus, and each input output control device is connected to an input output device such as a magnetic tape device, a magnetic disc device, a magnetic floppy device, a line printer, or a display device etc. Each input output control device is formed by an internal control portion formed by a microprocessor, etc., a receiver driver, a control register, an input output interface circuit, etc., and one or a plurality of the same kind of input output devices are connected to the input output interface circuit. As mentioned above, the conventional input output control device provides a control register formed by a plurality of registers, sets the control information in the control register and reads out the content thereof to carry out the desired control operation, and thus, the control system due to the wired logic is conventionally used. However, due to recent developments of microprocessors, the control system can now be operated with firmware, and a flexible control for the input output device is now possible, which leads to a reduction of the hardware needed. The construction of the control system on the firmware by such a wired logic corresponds to that of the input output device, such as the magnetic tape device, magnetic disc device, display device, etc., and thus when a plurality of the input output devices are controlled, is restricted to that of one kind of input output device. However, control of a plurality of the input output device should be made by the same input output control device, and in such case, the operating speed of the microprocessor (the internal control portion) in the input output control device can not follow the access operation for the high speed control register due to command checks from the central processing device side. Further, when using hard logic, much hardware is required for the control register and thus a unified control of a plurality of different kinds of input output devices becomes difficult. WO-8302180 describes a data communication arrangement in which an interface processor effects the transmission of messages between two processors of a multiprocessor system. The interface processor is connected to the communicating processors via direct memory access circuits. A processor stores messages in a send buffer in memory and controls a pointer in memory indicating the loading of such a buffer. The interface processor reads this pointer and the messages, and writes a pointer and the messages in a received buffer of a receiving processor. The interface processor limits the loading of new messages into the send buffer by delaying the updating of an unload pointer, creating memory space for new messages, until the receiving processor has processed the transmitted messages. Messages can also be used to initiate the transfer of a block of data from the memory of one processor to that of another. Initialization of the interface processor is a joint effort of the communication processors. The send and receive buffers are first-in first-out memory and are used for storing messages. EP-0125561 describes a data-processing system having a block-multiplexed system channel coupled to a processing engine and a byte-multiplexed bus coupled to multiple I/O devices. A multi-buffer adapter transfers data by cycle-steal (direct memory access) opertions between the channel and the bus. The adapter has multiple buffers switchable to the channel in a burst mode by a channel interface and to the bus in a byte mode by a device-level interface. The multi-buffer adapter includes first-in first-out memory devices in order to store at least one block of data units in a single burst. SUMMARY OF THE INVENTION The object of the invention is to provide a control of a plurality of the input output devices by one input output control device, and if a rapid access from the master device such as the central processing unit, etc., to the control reguster is carried out, a sufficient processing by the microprocessor in the input output control device is carried out. The above-mentioned object can be achieved by providing an input output control system having a master device including a central processing unit, and an input output control device which carries out an interface control with a plurality of input output devices under the control of said master device, said input output control device comprising: a random access memory; control registers representing control information for each of said plurality of input output devices; an internal processor bus connected to said plurality of input output devices; and a first-in first-out (FIFO) memory characterized by: said input output control device including a microprocessor for controlling transfer of data between the input output devices and the master device; said random access memory including said control registers and being directly accessible by said master device; said internal processor bus being connected to said microprocessor, and said random access memory to permit access of the microprocessor to the RAM; said first-in first-out memory being directly accessible by both said master device and said microprocessor for recording a history of a program mode access from the master device to the control registers as access information for accessing the control registers; said master device storing the access information, in access order, in said first-in first-out memory in parallel with program mode access of said control registers; and said access information recorded in said first-in first-out memory being readable by said microprocessor, the control of said control registers being read out or renewed by said microprocessor in accordance with said address information, so that a specified input output device among said plurality of input output devices is controlled. Further features and advantages of the present invention will be apparent from the ensuing description with reference to the accompanying drawings to which, however, the scope of the invention is in no way limited. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1A is a block diagram of one example of a conventional program mode access control system, and Fig. 1B is a time chart for explaining the operation of the system shown in Fig. 1A; Fig. 2 is a block diagram showing a principle of a program mode access control system of the present invention; Fig. 3 is a block diagram of one embodiment of the program mode access control system according to the present invention; Fig. 4 is a block diagram of a first-in first-out circuit (FIFO) shown in Fig. 3; Fig. 5 is a diagram showing register regions (REGA) shown in Fig. 3; Fig. 6 is a diagram explaining an internal difinition of the FIFO shown in Fig. 3; Fig. 7 is a time chart for explaining the operation of the system shown in Fig. 3; and Fig. 8 is a flow chart for explaining the operation of the system shown in Fig. 3. DESCRIPTION OF THE PREFERRED EMBODIMENTS A conventional processing device has, for example, a construction shown in Fig. 1A, wherein a processor bus 3 is connected by a central processing unit (CPU) 1, a main memory device (MM) 2, and a channel device (CH) 4, a plurality of input output control devices (10C) 6-0, 6-1, ... 6-n are connected via the channel device 4 and a common bus 5, and each input output control device 6-0, 6-1, ... 6-n is connected to an input output device (I/O) 11-0, 11-1, ... 11-n, such as a magnetic tape device, a magnetic disc device, a magnetic floppy device, a line printer, or a display device, etc. Each input output control device 6-0, 6-1, ... 6-n is formed by an internal control portion (CTL) 7 formed by a microprocessor, etc., a receiver driver (RV/DV) 8, a control register (REG) 9, an input output interface circuit (INF) 10 etc., and one or a plurality of the same kind of input output devices 11-0, 11-1, ... 11-n are connected to the input output interface circuit 10. The control register 9 is constructed by, for example, a device status register (DSR) which determines whether or not the input output control device is transmitting the data, a byte count register (BCR) showing the number of bytes of the transmitted data, a memory address register (MAR) which specifies the address of the data written in the main memory device 2 or the data read out therefrom, and a command register (CMR) which specifies a read or write operation, etc. The write operation to the control register REG is carried out by a program mode from the central processing unit 1 via the processor bus 3, the channel device 4, and the common bus 5. In the case, the input output control device 6-0, 6-1, ..., 6-n discriminates whether or not an own input output control device is specified in an address collation circuit (not shown in the drawing). In accordance with the content written in the control register REG, the internal control portion 7 controls the transfer of data from the input output device 11-0, 11-1, ... 11-n to the main memory device 2 and the data read out from the main memory device 2 to the input output device 11-0, 11-1, ..., 11-n. In this case, the transfer control of the data is usually carried out by a direct memory access (DMA) system. Figure 1B is a time chart for explaining the transfer of the data in the device shown in Fig. 1A. In Fig. 1B, SIO₀ ∼ SIO n are start commands, INT₀ ∼ INT n interruptions, S₀ ∼ S n start sequences, T₀ ∼ T n data transfer sequences, and E₀ ∼ E n end sequences. As mentioned above, the conventional input output control device 6-0, 6-1, ..., 6-n provided the control register 9 formed by a plurality of registers, sets the control information in the control register 9, and reads out the content thereof so as to carry out the desired control operation, and thus the control system due to the wired logic is conventionally used. However, due to recent development of microprocessors, the control system can be operated with firmware, and a flexible control of the input output device becomes possible, which greatly reduces the hardware needed. The construction of the control system or the firmware by such a wired logic corresponds to the kind of input output device 11-0, 11-1, ... 11-n, such as a magnetic tape device, magnetic disc device, display device, etc., and thus when a plurality of the input output device 11-0, 11-1, ..., 11-n are controlled, is restricted to that of one kind of input output device. Therefore, the control of a plurality of the input output devices by the same input output control device has been considered. In such a case, the operating speed of the microprocessor (the internal control portion 7) in the input output control device 6-0, 6-1, ... 6-n can not follow the access operation for the high speed control register 9, due to command checks from the central processing device 11-0, 11-1, ... 11-n side. Further, when using hard logic, much hardware is required for the control register, and thus a unified control of the plurality of different kinds of input output devices becomes difficult. The object of the invention is to provide a control of a plurality of the input output device by one input output control device, and if a rapid access from the master device such as the central processing unit, etc. to the control register is carried out, a sufficient processing by the microprocessor in the input output control device is carried out. In the program mode access control system according to the present invention, the group of control registers corresponding to the plurality of the input output devices are formed in the random access memory, the access operation from the master device side such as the central processing unit, etc., is recorded by using the first-in first-out memory, and the content thereof is read out so that the microprocessor carries out the control. An explanation of this operation will be given by referring to Fig. 2. In a processing system in which a master device 12 including a central processing unit or a channel unit and an input output control device 14 carrying out interface control with each kind of input output devices (I/O) 15-0, 15-1, ..., 15-n under the control of the master devices, said units and devices being connected via a common bus 13, a microprocessor (MPU) 17, a random access memory (RAM) 18 and an input output device interface circuit (INF) 21, a first-in first-out memory (FIFO) 19 and a receiver driver (RV/DV) 20 are connected between the common bus 13 and an internal processor bus 16 of the input output control device 14 and a group of the registers (REGA) 18a are formed in the random access memory 18, corresponding to the plurality of the input output devices 15-0, 15-1, ... 15-n. A history of a program mode access from the master device 12 to the group of the control registers 18 is recorded in the first-in first-out memory 19, access information recorded in the first-in first-out memory 19 is read by the process speed of the microprocessor 17, and the content of the control registers 18a based on the access information is read out so that a specified input output control device among a plurality of the input output control devices 15-0, 15-1, ..., 15-n is controlled. The random access memory 18 can be directly accessed from the master device 12 side via the receiver driver 20, and when each kind of control information is written in the control register 18a corresponding to the input output device 15-0, 15-1 ..., 15-n by the program mode access, the access information (the information concerning access, write/read, whether or not a parity error is included or not) is recorded at the same time in the first-in first-out memory 19. The microprocessor 17 reads the access information recorded in the first-in first-out memory 19 and reads the content of the group of control registers 18a according to the access information, to control the input output device 15-0, 15-1, ..., 15-n. Therefore, if the high speed access for the group of the control registers 18a corresponding to the plurality of the input output device 15-0, 15-1, ..., 15-n exists, the microprocessor 17 reads all of the content of the group of the control registers 18a, to control the input output device 15-0, 15-1, ..., 15-n. Therefore, a plurality of the input output device 15-0, 15-1, ..., 15-n can be easily controlled by one input output control device 14. Hereinafter, embodiments of the present invention will be explained in detail with reference to Fig. 3, in which the same elements as shown in Fig. 2 are designated by the same reference numeral. In Fig. 3, 23 is a central processing unit (CPU), 24 is a main memory device (MM), 25 is a processor bus, 26 is a channel device (CH), 33 is a read only memory (ROM) storing programs, etc., 18 is a random access memory used for temporarily storing each kind of data, 18a is a group of control registers (REGA) corresponding to the input output device, 27 is a program mode control circuit (PMCTL), 28 is a receiver, 29 is a first-in first-out memory (FIFO) for recording access information for the group of the control registers 18a, 30 is an access information display circuit (PMACT) for displaying whether or not the access information is recorded in the first-in first-out circuit, 31 is a direct memory access circuit (DMAC), and 32 is a bus arbitration control circuit (ABTCTL). Fig. 4 shows an example of the FIFO circuit 29 of Fig. 3. In Fig. 4, 41a is a biport memory array, 41b, 41c are an input buffer and an output buffer respectively, 42a, 42b, are a write address pointer and a read address pointer, 43a, 43b are a write control and a read control, and 44 is a flag-logic. The FIFO is applied as a rate buffer for sourcing and absorbing data at different rates, (eg. interfacing first processors and slow peripherals). The full and empty flag are provided to prevent data overflow and underflow. The data is loaded and emptied on an FIFO basis, and the latency for the retrieval of data is approximately one load cycle (write). Since the write and read operations are internally sequential, address information is not required. The ninth bit, for example, is provided to support control or parity functions. The FIFO shown in Fig. 4 employs a memory-based architecture wherein a byte written into the FIFO is stored at the biport memory array, where it remains until over-written. The address pointers automatically generate the addresses required for each read and write operation. The empty/full flag circuit prevents illogical operations, such as reading un-written bytes or over-writing un-written bytes. Once a byte stored at a given address has been read, it can be over-written. Address pointers loop back to address zero after reaching final address. The empty/full status of the FIFO is therefore a function of the distance between the pointer, not of their absolute location. As long as the pointers do not overlap, the FIFO can be written and read continuously without ever becoming full or empty. Resetting the FIFO resets the address pointers to address zero. Now, in Fig. 3, each kind of the input output device 15-0, 15-1, ... 15-N is connected to the input output device interface circuit 21 of the input output control device 14, and the group of the control registers 18a corresponding to these input output devices 15-0, 15-1, ... 15-N is formed in the random access memory 18. The group of the control registers 18a is formed, for example, as shown in Fig. 5, by device status registers DSR, byte counter registers BCR, memory address registers MAR, command registers CMR, etc., and the last figures 0, 1, 2, ... of each symbol correspond to the last figure of the symbol of the input output device. This random access memory 18 can be accessed from the central processing unit 23 via the processor bus 25, the channel device 26, the common bus 13, the receiver driver 20 and the internal processor bus 16. In this case, the bus arbitration control circuit 32 controls the right to use the internal processor bus 16 according to information from the program mode control circuit 27, so that access from the channel device 26 via the receiver driver 20 is possible, and, for example, the control information can be written in the group of control registers 18a. The access information for the group of the control registers 18a is recorded in the first-in first-out memory (FIFO), and this FIFO is formed, for example as shown in Fig. 6, the bit DPE for showing whether or not the parity error exists, the read write bit R/W showing whether the data is read from the input output device or the data is written therein, address information on the random access memory 18, and the number of records (memory capacitance) can be selected according to difference between the speed of direct access from the host device to the group of the registers 18a in the random access memory 19 and the speed of processing of the microprocessor 17. Next, an explanation is given of the case when the control information is written in the group of the control registers 18a. When the central processing unit 23 executes the program stored in the main memory device 24 and writes (via the channel device 26) the control information to the group of the control registers 18a, (a) the input output control device 14 is accessed from the channel device 26 via the common bus 13, (b) the input output control device 14 sends a request for the right to use the random access memory 18 (the right to use the internal processor bus 16) to the bus arbitration control circuit 32 by the program mode control circuit 27. (c) when the bus arbitration control circuit 32 obtains (from the microprocessor) the right to use the internal processor bus 16, an acknowledgement is sent to the program mode control circuit 27. (d) The program mode control circuit 27 sets the control information to the group of the control registers corresponding to the input output device of the random access memory 18, via the receiver driver 20 and the internal processor bus 16. (e) In parallel to the setting of this control information, the access information such as shown in Fig. 6 on the common bus 13 is recorded at the FIFO 29. (f) when the program mode access on the common bus 13 is finished, the bus arbitration control circuit 32 returns the right to use the internal processor bus 16 to the microprocessor 17. (g) when the microprocessor 17 obtains the right to use the internal processor bus 16, it reads the content of the display circuit 30 showing whether or not access information exists, discriminates whether the access information is recorded in the FIFO, and when the access information is recorded therein, the microprocessor 17 reads the access information already recorded in the FIFO, and by the address information and the read write bit R/W, the group of registers corresponding to the input output device and the kind of access are recognized. (h) based on the access information read from the FIFO 29, the microprocessor 17 reads the content of the group of the control registers 18a, and controls the input output device corresponding to the address information. (i) if this control includes the finish of the operation of the input output device, the necessary information is set in the group of control registers and an interrupt is made at the common bus 13. Then, the usual interruption process is executed. When the group of the registers 18a is read out, as in the above-mentioned (a), the input output control device 14 is accessed from the channel device 26 via the common bus 13. In this case, sometimes the actual state of the input output device and the content of the group of the control registers 18a are different. However, as the microprocessor 17 reads the newest state information from the input output device, so as to renew the group of the control registers 18a, the renewed content can be read at the time of the read operation of the next program mode. When the control information is rapidly set, for example, corresponding to the input output devices 15-0, 15-1, to the above-mentioned control register 18a, "10" is set in the byte count register BCR0, "AAA" is set in the memory address register MAR0, the command which reads the data of the input output device 15-0 is set in the command register CMR0, "20" is set in the byte count register BCR1, "BBB" is set in the memory address register MAR1, and the command which transfers the data to the input output device 15-2 is set in the command register CMR1. When the access information is recorded in the access information display circuit 30, this is read by the microprocessor 17 so as to read the access information for the above-mentioned input output device 15-0 recorded previously in the FIFO. By this reading, the access information previously recorded in the FIFO 29 is cleared. As the address information on the random access memory 18 can be known by the access information read from the FIFO 29, the control information set in the group of the control register 18a can be read. As the content of the command register CMR0 commands a transfer of the data of the input output device 15 to the main memory device 24, the direct memory access control circuit 31 is started and the necessary information for the transfer control of the byte count register BCR0, the memory address register MAR0, etc., is transferred to the direct memory access circuit 31. The direct memory access control circuit 31 sends a request to the bus arbitration circuit 32 for the right to use the internal processor bus 16, and when the bus arbitration control circuit 32 obtains the right to use the internal processor bus 16 from the microprocessor 17, it then sends an acknowledgement of this right to use the internal processor bus 16 to the direct memory access control circuit 31. Then, the direct memory access control circuit 31 transfers the data of the input output device 15-0 to address AAA of the main memory device 24, one byte by one byte, and when 10 bytes are completely transferred, returns the right to use the internal processor 16 to the microprocessor 17. Since the access information display circuit display shows that the access information still exists, the microprocessor 17 reads the next access information of the FIFO 29, reads the control information set in the group of the control registers 18a according to the access information, and clears the access information of the FIFO 29. In this case, as is well known the data is transferred, according to the content of the command register CMR1, from the main memory device 24 to the input output device 15-1. Also, in this case, as already mentioned, the direct memory access control circuit 31 is activated, and after obtaining the right to use the internal microprocessor 16 by the control of the bus competition control circuit 32, the 20 bytes of data is transferred from the address BBB of the main memory device 24 set in the memory address register MAR1 to the input output device 15-1, one byte by one byte. When the control information is written only in the group of control registers corresponding to the two input output devices 15-0, 15-1 mentioned above, if the last access information is read out from the FIFO 29, the access information display circuit 30 shows that no access information exists, and the microprocessor 17 does not carry out the control for reading the access information from the FIFO 29. In the data transfer control due to the direct memory access control circuit 31 mentioned above, when the buffer memory is provided in the input output device 14 and this buffer memory is connected to the common bus 13, the construction in which the data can be transferred via this buffer memory with the main memory device can be obtained. Further, the kind of the number of the input output devices which can be connected to one input output device can be selected by consideration of the speed, etc., of the microprocessor 17, and the region of the group of the control register 18a is set in the random access memory 18, corresponding to th maximum connectable number. Alternatively, it can be set case by case corresponding to the connected number. Figure 7 is a time chart for explaining the transfer of the data in the device shown in Fig. 3. In Fig. 7, SIO₀ ∼ SIO n are start commands, INT₀ ∼ INT n interruptions, S₀ ∼ S n start sequences, T₀ ∼ T n data transfer sequences, E₀ ∼ E n end sequences, and IO₀ ∼ IO n input output devices. In the time chart shown in Fig. 7, the following points should be noted. (a) When one IO is in the data transmitting state (IOC ↔ IO i ), another IO cannot enter the data transmission sequence. (b) Similarly, when one IO is in the start sequence or in the end sequence, another IO cannot enter the same kind of sequence as the first-mentioned IO. (c) When the sequences are different, these different sequences can be processed in parallel, for example, when IO₀ is in the T₀ sequence, an S₁ sequence of IO₁ can be processed, and when IO₀ is in the E₀ sequence, IO₁ can enter the T₁ sequence and IO n can enter the S n sequence. Figure 8 is a flow chart of the operation of the system shown in Fig. 3. As shown in Fig. 8, the start sequence is formed by blocks 51 ∼ 60, the data transfer sequence is formed by blocks 61 ∼ 67, and the end sequence is formed by blocks 68 ∼ 71. In the start sequence, when the start command for IO i is received by the IOC from the host device (block 51), the command is transmitted from the PMCTL to the MPU in block 52. Then, the access information is set in the FIFO, and when the control register is in the write state in the program mode, the control information (BCR i , MAR i , CMR i ) for the corresponding IO i is set in the REGA on RAM. The MPU reads the FIFO and checks the history of the access from the host in block 53 and the MPU checks the PMACT in block 54, and when the FIFO is empty (block 55), the process is transferred to block 56, and when the FIFO is not empty, the process is returned to block 53. In block 56, the MPU reads the control information BCR i , MAR i , CMR i , etc., of the IO i on the REGA, and when the program mode is for a write operation in block 57 and a CMR write exists in block 58, the MPU analyzes the CMR i command corresponding IO i . If a write to the CMR from the host does not exist, for example, only the write to the BCR, MAR exists, the MPU does not start the corresponding IO i but recognizes only the access from the host, and the process is ended. In block 59, when the DSR is in the read access mode, the DSR information corresponding to IO i is read and is set in the DSR corresponding to IO i on the REGA. In the data transfer sequence, the MPU issues a start command to the corresponding IO i in accordance with the command CMR in block 61 and when the block 62 is in the read system command mode, i.e., the data is transferred in the direction of IO → IOC → (DMAC) → Host (CH-MM), the process is transferred to block 63, and if not, the process is transferred to block 65. In blocks 63 and 66, the data transfer between IO i and IOC (RAM) is carried out by the DMA, or the MPU carried out a read and write for the IO i at every one unit transfer. In blocks 64 and 65, the command for the MAR, BCR and the transfer direction, etc., are supplied to DMAC, to start the DMA. It is recognized that the other IO should be started in the block 67, and the process is returned to block 61. In the end sequence, the MPU transfers the interruption process to the host in block 68. In block 69, a complete bit of DSR i in set in the case of the normal end, and in block 70, the host reads the DSR i of the corresponding IO i on the REGA on RAM and recognizes the end (normal) of the command, and when it is recognized that an interruption is not required in block 71, the process is finished. As already mentioned, in the present invention, the group of the control registers 18a is formed in the random access memory 18, the access information for this group of the control registers 18a is recorded in the FIFO 29, and the microprocessor 17 reads this access information of the FIFO 29 so as to read the content of the group of the control registers 18a. Therefore, if a high speed access is carried out from the control processing device to the group of the control registers due to a random access or chain command, the access information is recorded in the FIFO 29, then the microprocessor 23 can access the group of the control registers 18a by reading the access information recorded in the FIFO 23 corresponding to its operation velocity. Therefore, by forming the group of the control registers 18a in the random access memory 18, the construction becomes relatively simple, and a plurality of kinds of numbers of input output devices can be controlled by one input output control device.

Claims: An input output control system having a master device (12) containing a central processing unit (23), a main memory unit (24) and a channel unit (26), and an input output control device (14) which carries out an interface control with a plurality of input output devices (15-0, ... 15-N) under control of said master device (12), through said channel unit (26) which is connected to said input output control device (14) via a common bus (13), said input output control device (14) comprising: a random access memory (18); control registers (18a) representing control information for each of said plurality of input output devices (15-0, ... 15-N); an internal processor bus (16) connected to said plurality of input output devices (15-0, ... 15-N); and a first-in first-out (FIFO) memory (19, 29) connected between said common bus (13) and said internal processor bus (16); characterized by: said input output control device (14) including: a microprocessor (17) for controlling interface circuits (20,21) respectively with said common bus (13) and said plurality of input output devices (15-0, ... 15-N) by firmware stored in a read-only memory (33); said random access memory (18) being in communication with the common bus (13) and providing a working memory and storing therein said plurality of control registers (18a), each representing control information about said plurality of input output devices (15-0, ... 15-N), said random access memory (18) being directly accessible by said master device (12) through a common bus interface circuit (20) via said common bus (13); said internal processor bus (16) being connected to said microprocessor (17), said read only memory (33) and said interface circuits (20,21) for said common bus (13) and said plurality of input output devices (15-0, ... 15-N), said first-in first-out memory (19,29) being connected for recording a history of a program mode access from the master device (12) to the control registers (18a) as access information for the control registers (18a); said FIFO memory (19,29) storing said history in parallel with said program mode access of said control registers (18a), an address information on said common bus (13) corresponding to each of said control registers (18a) having data which is recorded in access order in said FIFO memory (19,29) and said access information recorded in said FIFO memory (19,29) being readable by said microprocessor (17), the content of said control registers (18a) being read out or renewed by said microprocessor (17) which distinguishes one of said control registers (18a) in accordance with said address information in said access information so that a specified input output device (15-0, ... 15-N) among said plurality of input output devices (15-0, ... 15-N) is controlled. An input output control device according to claim 1, wherein each of the control registers (18a) is based on information stored in a device status register (DSR), said DSR storing condition of each of said input output devices, a byte count register (BCR) specifying the number of bytes of the transferred information, a memory address register (MAR) specifying the address of the information written in a memory (2) of the master device (12) or the information read out therefrom and a command register (CMR) specifying a read or write operation, to each of said input output device (15-0, ... 15-N). An input output control device according to claim 1, wherein each of said access information recorded in said first-in first-out memory (19, 29) further includes a status bit region for displaying whether or not a parity error for control information is detected during the program mode access for setting said control information to one of said control registers (18a), and a region of read/write bit for indicating whether said program mode access for each of said control registers (18a) is a read operation or write a operation. An input output control device according to claim 1, wherein said input output control device (14) further comprises an access information display circuit (39), monitored by said microprocessor (17), for indicating whether or not the access information from the master device (12) is stored in the first-in first-out memory (19, 29), said microprocessor (17) reading out the access information from the first-in first-out memory (19, 29) when said access information display circuit (30) indicates that the access information is stored in the first-in first-out memory (19, 29).

Inventors: KAWAMATA TETSUO, MASUDA HIROKI DAI- YOSHIMURA H, KAWAMATA, TETSUO, MASUDA, HIROKI DAI-5 YOSHIMURA HAITSU 201
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1987
Main classification: G06F13
IPC codes: G06F13