INPUT/OUTPUT CONTROL SYSTEM

Abstract: In an input/output control system: a read/write operation for a control register (REG) under a program mode is achieved by hardware; the system, per se, is started or stopped under the control of firmware, and a data transfer in the system is achieved under the control of hardware. Therefore, a high speed data communication is realized, via the system, between a central control unit (CC) and an input/output unit (IO).

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an input/output control system (herein abbreviated as IOC) which performs a transmission control of data communicated between a central control unit (below, abbreviated as CC) and an input/output unit (herein abbreviated as IO). More particularly, it relates to an IOC capable of a high operation speed and having a high reliability. 2. Description of the Related Art The IOC operates to control an IO, such as a typewriter, magnetic tape apparatus, magnetic disk apparatus, and so on. Recently, IO has come under the control of a microprogram. In general, the processors operated by such a microprogram control are classified into two types: (i) a bit-slice processor, and (ii) a one-chip processor The bit-slice processor (i) has a high processing speed, in the order of nanoseconds, and a high processing capability, and thus the bit-slice processor is frequently used for a high speed IOC. In the bit-slice processor, however, a special microprogram is necessary, and therefore, the processor has disadvantages in that it is not beneficial from the viewpoint of a general-purpose applicability in firmware, and that it design of relevant hardware and firmware is difficult. The one-chip processor (ii) does not, however, have the disadvantages inherent to the bit-slice processor (i), and therefore the one-chip processor can be utilized over a wider practical range, compared with the bit-slice processor. The one-chip processor does, however, have a disadvantage in that the processing speed, on the order of nanoseconds, of the one-chip processor is lower than that of the bit-slice processor. The IOC to which the present invention is adapted is controlled with the one-chip processor. The prior art IOC has two major features, as explained hereinafter. First, a direct memory access (so called DMA) transfer is realized by a microprogram, and second, an interruption to a microprocessor (µP) takes place every time a program mode (PM) operation is initiated during a DMA transfer. In view of the above-mentioned two features, two problems arise in prior art IOC. First, a data transmission rate is lowered, and accordingly, a high speed IOC cannot be expected, and second, the related firmware is very complicated. Note, an example of such prior art IOC is shown in U.S. Patent No. 4,467,454. An Article from M. Evans in WESCON TECHNICAL PAPERS, 30th October - 2nd November 1984, pp. 24/6-1 - 24/6-7, Anaheim, California, LA, entitled "Programmable Winchester / floppy disc controller with dual 10MBYTE/SEC DMA channels", describes disk data control including a serial/parallel converter, a formatter, a comparator and an ECC system data control including a 32-byte FIFO and two 16-bit DMA and a microprocessor access control including registers and decoding logics therefor. Accordingly, an object of the present invention is to provide an IOC having a higher operation speed and simpler firmware relative to the aforementioned prior art IOC. The above object is solved by the invention as claimed in claim 1. BRIEF DESCRIPTION OF THE DRAWINGS The above object and features of the present invention will be more apparent from the following description of the preferred embodiments with reference to the accompanying drawings, wherein: Fig. 1 illustrates a typical and conventional input/output control system, mounting therein a one-chip microprocessor, and adjacent members thereof; Fig. 2 shows a register structure forming the program mode control register (PMREG); Fig. 3 is a circuit diagram illustrating a principle construction of an input/output control system according to the present invention; Fig. 4 illustrates a detailed circuit diagram of the periphery of the memory FIFO shown in Fig. 3, but excluding the diagnostic check portion; Fig. 5 shows an example of an address map defined in the input/output control system (IOC); Fig. 6A is a flow chart exhibiting a series of operations generated by a CMR interruption; Fig. 6B is a flow chart exhibiting a series of operations generated by an interruption for finish issued from the input/output unit control circuit (IOCTL); Fig. 6C shows a step generated when a common bus (C-BUS) error occurs; Fig. 7 illustrates a detailed example of the memory FIFO; Fig. 8A illustrates a schematic general view for explaining the diagnostic check with respect to the memory FIFO; Fig. 8B illustrates a schematic general view for explaining the diagnostic check with respect to both the memory FIFO and the unit IO; Fig. 8C illustrates a schematic general view for explaining the diagnostic check with respect to both the memory FIFO and the common bus C-BUS; Fig. 9 illustrates a schematic general view for explaining a data processing mode by the microprocessor µP; Fig. 10 illustrates an example of a detailed circuit diagram of the diagnostic check part (DIGC) cooperating with the memory (FIFO); Figs. 11A and 11B depict timing charts for explaining an information transfer carried out on the common bus C-BUS; Fig. 12 shows an address map defined in the input/output control system (IOC); Fig. 13A depicts an example of a bit arrangement for setting up the register (STR); Fig. 13B depicts an example of bit arrangement for setting up the register (ICMR); Fig. 14 is a partial perspective view of a magnetic disk unit (DKU); Fig. 15 illustrates a common bus connection area of Fig. 4, in more detail; Fig. 16 illustrates peripherals of the memory FIFO; Fig. 17 illustrates peripherals of the circuit IOCTL: Fig. 18 illustrates a detailed example of the direct memory access mode control circuit (DMACTL); Fig. 19 depicts timing charts for explaining the operation of the circuit DMACTL under the DMA write mode, i.e., C-BUS → DKU; Fig. 20 depicts timing charts for explaining the operation of the circuit DMACTL under the DMA read mode, i.e., DKU → C-BUS; Fig. 21 illustrates a detailed example of the input/output unit direct memory access mode control circuit (IDMACTL); Fig. 22 depicts timing charts for explaining the operation of the circuit IDMACTL under the DMA read mode, i.e., DKU → FIFO; Fig. 23 depicts timing charts for explaining the operation of the circuit DMACTL under the DMA write mode, i.e., FIFO → DKU; Fig. 24 illustrates a detailed example of the time supervisor TIMSV. The supervisor (Fig. 15) detects the C-BUS time out and produces the corresponding C-BUS time out signal TOUT; Fig. 25 depicts timing charts for clarifying the operation of the time supervisor (TIMSV) illustrated in Fig. 24; and Fig. 26 illustrates a detailed examples of the input/output control circuit (IOCTL). DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing the embodiments of the present invention, the related art and the disadvantages therein will be described with reference to the related figures. Figure 1 illustrates a typical and conventional input/output control system, mounting therein a one-chip microprocessor, and adjacent members thereof. In Fig. 1, IOC represents an input/output control system. The IOC is connected, via a common bus C-BUS, with a central control unit CC, and is also connected, via an external bus E-BUS, with an input/output unit IO. A variety of IO's exist in a computer system; herein a magnetic disk unit (DKU) is illustrated as an example, but the input/output unit IO may be a typewriter, a cathode ray tube (CRT) display, and the like. A nucleus of the IOC is the one-chip microprocessor µP which, via an internal bus I-BUS, receives data from a read only memory (ROM) and a random access memory (RAM), and via the I-BUS, also sends data to the RAM. Further, the µP is connected via gates GT1 and GT3 being, for example, open-collector type gates, with a program mode control register PMREG and a direct memory access mode data register DMAREG, respectively. These two registers PMREG and DMAREG are further connected with the common bus C-BUS, via gates GT2 and GT4, respectively. Furthermore, the microprocessor µP is connected with a direct memory access mode control circuit (DMACTL) and an interruption control circuit (INTCTL). These circuits DMACTL and INTCTL, a program mode control circuit (PMCTL), and an input/output address matching circuit (IOAM) are connected with the common bus C-BUS. The other buses, I-BUS and E-BUS, are interconnected via an input/output unit control circuit IOCTL. It should be understood that the central control unit CC is usually connected, via the common bus C-BUS, with a plurality of IOC's, however, in Fig. 1, only one IOC, connected with the magnetic disk unit DKU, is representatively displayed. The members in each IOC play the following roles. (a) The input/output address matching circuit IOAM determines whether or not the data, transferred on the common bus C-BUS, has an address which specifies the own side IOC, so that the circuit IOAM can selectively recognize an own side IOC form among a plurality of IOC's. (b) The program mode control circuit PMCTL performs a data transfer under a program mode executed by the central control unit CC. (c) The program mode control register PMREG acts as a buffer for a data transfer under the program mode. (d) The direct memory access mode data register DMAREG acts as a buffer for a data transfer under the DMA mode. (e) The direct memory access mode control circuit DMACTL achieves a data transfer under the DMA mode. (f) The interruption control circuit INTCTL controls the interruption operation. (g) The input/output unit control circuit IOCTL controls the input/output unit IO. The above-mentioned functional members operate as follows. In this explanation of the operations, a content of a control register will be first related, which control register stores program control words. The program control words, in the example, are loaded in the random access memory RAM. Figure 2 shows a register structure forming the program mode control register (PMREG). It should be understood here that the program control words are transferred, via the register PMREG, to the control register formed in the RAM. As seen from Fig. 2, the program control words are set up with a device status register (DSR), a file address register (FAR), a command resister (CMR), a memory address register (MAR), and a word count register (WCR), each being composed of 16 bits. These registers are allotted respective addresses, for example, 200 through 204. The address are particularly defined on the common bus C-BUS and applied to respective IOC's connecting with the C-BUS. The above-mentioned registers play the following roles. (a) The device status register DSR acts as a flag area for indicating a status of the own side IOC. For example, the statuses "data is now being transferred", "data transfer is finished" and so on, are indicated in the flag area. (b) The file address register FAR indicates a file address specifying a desired file data stored in the magnetic disk unit DKU to be accessed. (c) The command register CMR controls the starting or stopping of the IOC and commands various operations, for example, a write operation, a read operation, and so on. (d) The memory address register MAR indicates an address of a main memory (shown by MM in Fig. 1) at which the read data on the C-BUS, from IO, via IOC, is to be stored, and indicates an address of the main memory MM from which the data to be written to the IO, via the C-BUS and the IOC, is read. (e) The word count register WCR indicates how many words of data are to be transferred, i.e., the number of transfer words. Thus, the IOC can be operated in accordance with the contents of the above mentioned registers, in the following manner. 1 ○ To start the IOC, the central control unit CC achieves write operations with respect to the file address register FAR, the memory address register MAR, and the word count register WCR under the program mode (PM), and thus the operations will start for storing the corresponding file address, memory address, and the number of transfer words in respective registers. Assuming that "0" is stored in the register FAR, "100" in the register MAR, and "10" in the register WCR, these conditions actually express that "read data from the file 0 in the unit DKU and then ten words of data should be transferred to the memory MM at the address 100". 2 ○ The IOC recognizes that, by means of the input/output address matching circuit IOAM, the above mentioned write operations must be effected to the own side program mode control register PMREG, and thus starts the-program mode control circuit PMCTL. 3 ○ The control register PMREG sets therein the above mentioned variety of information given from the central control unit CC and then sends the interruption signal to the microprocessor µP for starting the microprogram. 4 ○ In accordance with the command of the microprogram, the information in the control register PMREG is stored in the specified area of the RAM. Thereafter, the central control unit CC executes, in accordance with the thus stored information in the RAM, a variety of operations such as, for example, an operation through which the IOC circuit is started and desired data is read from a specified sector of the unit DKU. 5 ○ The operations up to the storage of information in the specified area are repeated to accumulate all required information in the RAM. When so accumulated, the central control unit CC writes a command to the command register CMR, which command is used to start, for the first time, the entire IOC system. The write operation to the register CMR is also achieved under the program mode (PM), and therefore, an interruption is made to the microprocessor µP and the microprogram is started, as in the aforementioned cases of the registers FAR, MAR, and WCR. 6 ○ In accordance with a command from the microprogram, the command in the register CMR is written in the specified area of the RAM. Assuming that the command is, for example, "read operation", the microprogram starts the input/output unit control circuit IOCTL, as in the example described in the above paragraph 4 . The circuit IOCTL starts the unit DKU to read data therefrom. The thus read data is momentarily stored, in the form of transfer data (TD) in the RAM, via the internal bus I-BUS. 7 ○ The microprogram starts the direct memory access mode control circuit DMACTL to set the read data, stored in the RAM in the direct memory access mode data register DMAREG, one word by one word, via the internal bus I-BUS. The read data is further sent to the central control unit CC via the common bus C-BUS. In this case, the contents of the registers FAR and MAR are incremented by +1, while the content of the register WCR is decremented by -1, every time a one word transmission is completed. 8 ○ When the content of the word count register WCR reaches zero, the microprogram starts the interruption control circuit INTCTL and applies an interruption for finish to the central control unit CC. Also, the microprogram sets an interruption information in the area, corresponding to the device status register DSR, in the memory RAM. Thus, a series of operations in the IOC system is finished and the IOC system is left as it is until a next start is effected thereto. As understood from the above, the typical and conventional IOC suffers from two problems. First, a direct memory access (DMA) transfer is realized by the use of the microprogram, and therefore, a data transmission rate is lowered and a high speed IOC cannot be expected, and second, an interruption to the microprocessor takes place every time the program mode (PM) is activated, and therefore, the construction of the related firmware becomes complicated. To overcome the above mentioned problems, a person skilled in the art may first conceive of employing a data transfer between the circuit IOCTL and the memory RAM performed under the DMA mode. This concept, however, is not advantageous, since the rate of data transfer between the memory RAM and the common bus C-BUS does not become high, but is left as it is, so that the operation speed of the IOC system is not improved as a whole. Figure 3 is a circuit diagram illustrating a principle of the construction of an input/output control system according to the present invention. In Fig. 3, members identical to those of previous figures are represented by the same reference characters (as for all later figures). Therefore, compared with Fig. 1, a major difference in construction, lies in the employment by the IOC system of Fig. 3 of a buffer memory. In the example of the present invention, the buffer memory is comprised of a first-in/first-out (FIFO) memory. For this, a selector (SEL) and an input/output unit direct memory access control circuit (IDMACTL), other than the circuit DMACTL, are introduced thereto. Further, a diagnostic check portion (DIGC) is introduced to the IOC system of the present invention. The DIGC portion is not an indispensable constituent for the present invention, but is beneficial to the present invention. That is, the DIGC carries out a desired diagnostic check operation in cooperation with, under control of the microprocessor µP and/or the central control unit CC, the circuit IDMACTL, the circuit DMACTL and the buffer memory (FIFO). The buffer memory, e.g., the memory FIFO, momentarily stores the transfer data to be communicated between the common bus C-BUS and the input/output unit control circuit IOCTL. The selector SEL, cooperating with the memory FIFO, selects either a transfer data from the internal bus I-BUS or a transfer data from the common bus C-BUS. The input/output unit direct memory access control circuit IDMACTL, cooperating with the memory FIFO, achieves a control of a data transfer between the input/output unit control circuit IOCTL and the memory FIFO. In the IOC system, of the present invention, both a write operation and a read operation, under the program mode (PM), with respect to a control register REG in the system IOC, are achieved by the use of hardware. When a command information is written in the command register CMR, which sends commands for various operations to the system IOC, an interruption is made to the microprocessor µP and then a microprogram is started for activation of the IOC system. When a data transfer series comes to end, that is the operation of the IOC system is ended, an interruption is made from the circuit IOCTL to the microprocessor µP to start the microprogram for stopping the data transfer. The operation of the IOC system is summarized as follows. The DMA transfer of the transfer data, communicated between the IO and the central control unit CC, is achieved without using a microprogram, as in the typical and conventional IOC system. In place of this microprogram, the transfer data traffic is regulated by the memory FIFO. Accordingly, the microprogram is used only for, first, when the IOC system is to be started, starting the input/output unit IO in accordance with the contents of the control register REG, and second, when the operation of the system IOC comes to an end, for editing an interruption information to be applied to the central control unit CC to execute an interruption command. In conclusion, the IOC system according to the present invention incorporates as many as possible automatic hardware operations, and thus a high speed IOC system can be realized. The benefits obtained by an employment of the diagnostic check portion DIGC, will be summarized below. As mentioned above, the data transfer is mainly performed with the use of hardware, represented by the memory FIFO, and thus a portion sandwiched between the unit CC and the unit IO (DKU) becomes seemingly empty. Therefore, once a problem occurs during the data transfer, a relatively long time is needed to carry out troubleshooting. That is, it is difficult to rapidly determine whether the problem has occurred in the memory FIFO, the unit IO or the microprocessor µP. This causes an apparent deterioration in the reliability of the IOC system. To counter this, the diagnostic check portion is introduced thereto, to ensure reliability in the IOC system. The functions of the diagnostic check part are largely classified into two parts. Namely, the first function is to stop, at any time, a request for data transfer to the direct memory access mode control circuit DMACTL and/or the input/output unit direct memory access control circuit IDMACTL. And the second function is to realize a read/write operation for the memory FIFO, only at the time of the stoppage mentioned above, under the microprogram control. Under the above-mentioned functions, the microprocessor µP can achieve a diagnostic check with respect to the memory FIFO alone ... 1 ○ and a diagnostic check with respect to both the memory FIFO and the input/output unit IO alone ... 2 ○, and further, the central control unit CC can achieve a diagnostic check with respect to the memory FIFO and the microprocessor µP alone ... 3 ○. If needed, it is possible to process the data from the central control unit CC by way of the memory FIFO and send the thus processed data to the unit IO ... 4 ○. By using the above recited diagnostic checks 1 ○, 2 ○, and 3 ○, it is easy to efficiently distinguish whether the problem has occurred in the memory FIFO side, the central control unit CC side, or the microprocessor µP side. Also, by using the above recited data processing 4 ○, it is possible to realize, for example a cipher data. Figure 4 illustrates a detailed circuit diagram of a periphery of the memory FIFO shown in Fig. 3, excluding the diagnostic check portion. An explanation thereof will be given below with reference to Figs. 3 and 4. For this explanation, summaries regarding the functions of the major circuit blocks will be first given. Note, the diagnostic check portion will be explained in detail hereinafter. (A) Explanation regarding functions of major circuit blocks (Figs. 3 and 4) 1 ○ Common bus (C-BUS) The common bus C-BUS connects the central control unit CC in common with a plurality of IOC systems, and data is transferred thereto. 2 ○ Input/output address matching circuit (IOAM) The circuit IOAM compares addresses for recognition of each IOC system to which an individual address is allotted in advance. Namely, the circuit IOAM is an address coincidence detection circuit. 3 ○ Program mode control circuit (PMCTL) The circuit PMCTL performs a transfer control under a program mode (PM). 4 ○ Control register (REG) The register REG operates as a buffer register to store therein both control information for controlling the input/output control system IOC and indication information for indicating an internal status of the system IOC. 5 ○ Microprocessor (µP) The microprocessor µP functions as a command element for controlling a variety of operations to be achieved in the IOC system, and comprises, for example, a 16-bit microprocessor. 6 ○ Read only memory (ROM) The ROM stores therein a microprogram, i.e., a control program, for the microprocessor µP. 7 ○ Random access memory (RAM) The RAM momentarily stores therein a variety of information or data to be used in the microprocessor µP. 8 ○ Interruption control circuit (INTCTL) The circuit INTCTL achieves a control of an interruption operation. 9 ○ Input/output unit control circuit (IOCTL) The circuit IOCTL controls the input/output unit IO. First-in/first-out memory (FIFO) The FIFO memory is used for momentarily storing transfer data to be transferred between the common bus C-BUS and the input/output control circuit IOCTL. Input/output unit direct memory access control circuit (IDMACTL) The circuit IDMACTL achieves a transfer control of data to be transferred between the circuit IOCTL and the FIFO memory. The circuit IDMACTL is an indispensable member for realizing the diagnostic check operation which will be explained in detail hereinafter. Direct memory access mode control circuit (DMACTL) The circuit DMACTL achieves a transfer control of data, under a DMA mode, to be transferred between the common bus C-BUS and the FIFO memory. The circuit DMACTL is also an indispensable member for realizing the diagnostic check operation which will be explained in detail hereinafter. Selector (SEL) The selector SEL functions as a selection circuit for inputting, to the FIFO memory, either data from the internal bus I-BUS or data from the common bus C-BUS, selectively. The selector SEL is related to the diagnostic check described later. Internal bus (I-BUS) The bus I-BUS is mounted in the processor system having the microprocessor µP at a center portion thereof. That is, the bus I-BUS functions as a microprocessor bus. The bus I-BUS is also related to the diagnostic check described later. (B) Explanation of address map (Fig. 5) An address allocation, viewed from the microprocessor µP, in the IOC system, is referred to as an address map. Figure 5 shows an example of an address map defined in the IOC system. 1 ○ The addresses 0 through 0FFF, in terms of hexadecimal notation, are allotted to the random access memory RAM. 2 ○ The addresses 1000 through 1004, are allotted to the control register REG, which operates to buffer the program control words and so on for controlling the IOC system. More specifically, the address 1000 is allotted to the device status register DSR, 1001 to the file address register FAR, 1002 to the command register CMR, 1003 to the memory address register MAR, and 1004 to the word count register WCR. Note, the addresses allotted to the above mentioned registers DSR, FAR, CMR ... are not the same as those shown in previous Fig. 2 by 200, 201, 202 .... This is because, the addresses 200, 201, 202 ... are not addresses viewed from the microprocessor µP, but are defined particularly on the common bus C-BUS, as mentioned previously. 3 ○ In this example, the addresses 1005 through 3FFF are not used. 4 ○ The address 4000 is used for indicating the status of the FIFO memory. The status of the FIFO memory is expressed as "FULL" or "EMPTY". The former status indicates that the FIFO memory is full of transfer data, and the latter status indicates that all of the transfer data has been output from the FIFO memory and no transfer data remains therein. Note, the above mentioned two statuses can be detected as respective electric signals, output from terminals FUL and EMP provided by the FIFO memory, as shown in Fig. 4. 5 ○ The address 4001 is an area used for indicating an interruption command to be issued to the common bus C-BUS. 6 ○ The address 4002 is allotted to the control register, mounted in the input/output unit control circuit IOCTL, which buffers control information for controlling the input/output unit IO. 7 ○ In the example, the area with curved hatchings after the address 4003 is not used. 8 ○ The address 8000 is an area used for specifying a write or read operation with respect to the FIFO memory. The address 8000 is effective during the diagnostic check operation by the DIGC. 9 ○ The address 8001 is allotted to the information "DIR", "IDMAEX", and "DMAEX". The information DIR (abbreviation of direction) is used for specifying a direction in which the transfer data TD is to be transferred. The information "IDMAEX" and "DMAEX" are effective during the diagnostic check operation by the DIGC, and are used, respectively, for exciting the input/output unit direct memory access control circuit IDMACTL and the direct memory access mode control circuit DMACTL. The aforesaid transfer direction specifying information DIR of one bit assumes the logic "0", where the data is to be transferred from the magnetic disk unit DKU to the common bus C-BUS, i.e., DKU → C-BUS, which represents a read operation "READ" of stored data from the unit DKU (refer to the center bottom of Fig. 4). On the other hand, when the information bit DIR is "1", the information DIR indicates that the data is to be transferred from the common bus C-BUS to the magnetic disk unit DKU, i.e., C-BUS → DKU, which represents a write operation "WRITE" of data to be written in the unit DKU (refer to the center bottom of Fig. 4). As seen at the center bottom of Fig. 4, it can be understood that the above-mentioned transfer direction specifying information DIR is issued from a transfer direction specifying flip-flop DIR·F/F, as an output thereof. The flip-flop DIR·F/F is set or reset, via the internal bus I-BUS, by the microprocessor µP in accordance with the information of the command register REG. In this example, the area with curved hatchings after the address 8002 is not used. The addresses E000 through FFFF are allotted to the ROM. (C) Explanation regarding operations achieved inside the IOC system (Figs. 6A, 6B and 6C) Here distinctive operations according to the present invention are first explained with reference to flow charts, and the operations achieved inside the input/output control system IOC are explained in detail later. 1 ○ In the IOC system according to the present invention, the read/write control of information from the unit CC to the registers FAR, MAR and WCR is performed by the program mode control circuit PMCTL. Accordingly, control by the microprogram is little needed here. This results in a realization of a high speed input/output control even with the use of relatively simple microprocessor. To be specific, the input/output control is subjected to only three information elements. The first information element indicates whether or not the content of the word count register WCR becomes zero, the second indicates which direction is specified by the transfer direction specifying flip-flop DIR·F/F, and the third indicates the present status of the FIFO memory, i.e., FULL, EMPTY, or neither. Thus, the data transfer is carried out under a condition as if the data transfer is established without internal circuits inside the IOC system.In this regard, the diagnostic check becomes beneficial, as mentioned previously. The PMCTL can be comprised of both a sequence controller and an address decoder. The sequence controller is triggered by the IOAM and controlled by a C-BUS control signal given from the C-BUS. The address decoder receives a C-BUS address signal given from the C-BUS. Thus, the sequence controller functions, in accordance with the C-BUS control signal, to generate, first, a timing signal for fetching data, and second, a timing signal for outputting data. The address decoder functions to dacode the C-BUS address signal, so that a specified one of the registers in the REG, i.e., DSR, FAR, CMR, MAR and WCR, is activated for the read or write operation. In short, the PMCTL functions to fetch data on the C-BUS data line and set the same in one of the PMREG specified by the C-BUS address signal, with a timing predetermined according to a C-BUS protocol. Alternatively, the PMCTL functions to output data to the C-BUS data line, read from the one REG specified by the C-BUS address signal, with a timing predetermined according to the C-BUS protocol. 2 ○ When a command information is set in the command register REG by the central control unit CC, an interruption is made to the microprocessor µP. Thereafter, predetermined operations are sequentially executed as roughly shown by the flow charts of Figs. 6A, 6B and 6C. 3 ○ Figure 6A is a flow chart for exhibiting a series of operations generated by a CMR interruption. When the CMR interruption is applied to the command register CMR, a variety of information, which has been written by the central control unit CC into the respective registers FAR, CMR, MAR and WCR, is loaded in the RAM (refer to step "a" in Fig. 6A). Further, according to the command information written in the register CMR, the transfer direction specifying bit DIR (refer to the address 8001 in Fig. 5) is determined, and then the flip-flop DIR·F/F (Fig. 4) is set or reset in conformity with the bit information DIR. At this time, the input/output unit control circuit IOCTL (Figs. 3 and 4) is started. Further, the circuit IOCTL, after starting the input/output unit IO, controls this unit IO to prepare for the data transfer (refer to step "b" in Fig. 6A). Thereafter, the microprogram waits for the occurrence of a next interruption (refer to "INTERRUPTION WAIT" in Fig. 6A). During the "WAIT INTERRUPTION", a diagnostic check is performed inside the IOC system, if necessary. In the above recited step "a" of Fig. 6A, if the content of the command register CMR loaded in the memory RAM indicates a "read operation", the output logic of the flip-flop DIR·F/F is set as "0" (refer to "0": READ in Fig. 4). In this case, if the status of the FIFO memory is not "FULL", that is, there are empty areas in the FIFO memory, the input/output unit direct memory access control circuit IDMACTL is started to draw data, read from the unit DKU, from the input/output unit control circuit. The thus-obtained data is set in the FIFO memory. Meanwhile, the FIFO memory is placed to a FULL status, so that the activation of the control circuit IDMACTL is released. When the FIFO memory is not placed to an EMPTY status, that is, data remains in the FIFO memory, the data must be sent to the common bus C-BUS. Each time this data send occurs the content of the memory address register MAR is automatically incremented by +1, to renew the write address for the main memory MM to the next write address. Also, the content of the register FAR is incremented by +1, but the content of the register WCR is decremented by -1. As mentioned above, the data read from the unit DKU is automatically transferred and output to the common bus C-BUS. In the above recited step "a" of Fig. 6A, if the content of the command register CMR loaded in the RAM indicates A "write operation", the output logic of the transfer direction specifying flip-flop DIR·F/F is set as "1" (refer to "1": WRITE in Fig. 4). In the write operation, as in the above mentioned read operation, the data transfer is smoothly performed through the FIFO memory. At the same time, the registers MAR and FAR are incremented by +1, respectively, while the register WCR is decremented by -1, each time a data transfer is completed. The related incremental and decremental counts are carried out automatically by hardware. 4 ○ Figure 6B is a flow chart for exhibiting a series of operations generated by an interruption for finish issued from the input/output unit control circuit (IOCTL). When a transfer of a predetermined amount of data is finished, the circuit IOCTL issues an interruption for finish to the microprocessor µP. At this stage, some transfer data may not yet have been transferred, and remains in the memory FIFO. Therefore, after confirmation that the FIFO memory is in the EMPTY status, an interruption is issued to the interruption control circuit INTCTL, whereby a series of data transfers is completed. In step "c" of Fig. 6B, it is determined whether the finish of the control circuit IOCTL is normal (YES) or not (NO). When the finish is normal, step "d" follows thereafter. In step "d", it is determined whether the status of the FIFO memory is EMPTY or FULL. If the memory FIFO is in the EMPTY status, step "e" follows thereafter. In step "e", a normal interruption status is set in the device status register DSR. Thereafter, in step "f", a command for an interruption is issued to the interruption control circuit INTCTL. In step "c", if it is determined that the finish is not normal or an error occurs in the common bus C-BUS, the operation is brought to an end at step "g". In step "g", an abnormal interruption status is set in the device status register DSR. In this case, the interruption for finish operation may be carried out not immediately by an interruption request, but by a resultant condition after a plurality of activations of the circuit IOCTL. 5 ○ Figure 6C shows the step generated when a common bus (C-BUS) error occurs. Step "h" of Fig. 6C is led to step "g" of Fig. 6B via symbols *. If the some problem occurs on the common bus C-BUS side, the related internal circuits, such as the FIFO memory, are clear. In this case, the location of the error source can be found by an investigation of the contents of the registers, such as MAR, WCR, and so on. Note, the occurrence, per se, of a problem in the common bus C-BUS side can be immediately detected through the diagnostic check described later. (D) Explanation of operations achieved in IOC system (Fig. 3) When a start command is generated in the central control unit CC, a series of required information is written in the control register REG. In this case, a write operation to the command register CMR is particularly important, since an interruption to the microproces sor µP occurs under the condition wherein the above mentioned write operation is made. A line L1 in Fig. 3 indicates a route through which the related interruption command is transmitted to the microprocessor µP. When the interruption occurs, the contents of the control register REG are read out under the instruction of the microprogram, and an analysis is then made to determine what is to be done. The analysis is made through the ROM and RAM. According to the result of the analysis, if the microprocessor µP recognizes that the input/output unit IO must be started, the magnetic disk unit DKU, in this example, is started. The data transfer between the thus-started unit DKU and the common bus C-BUS is performed without using the internal bus I-BUS, but by way of the FIFO memory. The FIFO memory is commonly used, as is widely known, to output first-in data first. The first-in data is input to the FIFO memory via the selector SEL, as seen from Figs. 3 and 4. The data transfer between the unit IO and the FIFO memory is chiefly controlled by the input/output unit direct memory access control circuit IDMACTL. The circuit IDMACTL is subjected to the following conditions. It should be noted here that, although a start command is first issued from the microprocessor µP, the overall control is actually performed in accordance with the status of the FIFO memory. First, if the FIFO memory is in an EMPTY status, the input/output unit control circuit IDMACTL is started, so that the data read from the magnetic disk unit DKU is entered in the FIFO memory. Inversely, if the FIFO memory is not in an EMPTY status, the direct memory access mode control circuit DMACTL is started, so that the read data in the FIFO memory is output to the common bus C-BUS. Through the output operation, when the FIFO memory is in a non-FULL status the control circuit IDAMCTL is started again, so that the next data read from the unit DKU is entered in the FIFO memory. Thus, two identical operations are repeated thereafter. That is, the read data is entered in the FIFO memory, and at the moment when the FIFO memory is placed in a non-EMPTY status, the control circuit DMACTL is started. Conversely, the read data is output from the FIFO memory, and at the moment when the FIFO memory is placed in a non-FULL status, the control circuit IDMACTL is restarted. Thus, the transfer data is output from an input to the FIFO memory continuously. In this case, there may be, necessarily, an inbalance between the amounts of read data input and output, however, this inbalance can be absorbed by the FIFO memory. The capability for such absorption is defined by the capacity of the FIFO memory. Of course, the larger the memory capacity, the larger the capability for the above mentioned absorption, and therefore, the inbalance can be ignored. In Fig. 3, the gate GT3 is, for example, an open-collector type gate, which enables a selective cut off between the internal bus I-BUS side and the FIFO memory side, as also shown in Fig. 4. Further, each transfer gate TG is controlled to open and close selectively in accordance with whether the write operation (a data transfer from the common bus C-BUS) or the read operation (a data transfer to the common bus C-BUS) is to be achieved. Furthermore, the microprocessor µP is informed of an interruption for finish from the input/output unit control circuit IOCTL (refer to Fig. 6B), via a line L2. (E) Explanation of operations achieved in the IOC system (Fig. 4) The IOC system according to the present invention is featured by, first, high speed operation, and second, operational high reliability. The high speed operation is realized, since the data transfer is achieved mainly by hardware, as understood from Fig. 4. First, the input/out unit IO, i.e., the magnetic disk unit DKU, is started, via the input/output unit control circuit IOCTL, by the microprocessor µP and a command for data transfer is given to the unit DKU. Assuming that the command for data transfer indicates a read operation of data from the magnetic disk unit DKU, the thus read data is supplied to the FIFO memory. The data is supplied along a route such as; unit DKU → control circuit IOCTL → line L3 (via a buffer amplifier indicated by triangle symbol) → selector SEL → input terminal D in . The above read operation, commanded by the circuit IDMACTL, is commenced when certain conditions are satisfied. First, the transfer direction specifying flip-flop DIR·F/F (corresponding to DIR at address 8001 in Fig. 5) is set as logic "0", i.e. READ. The logic "0" from the DIR·F/F is applied to a gate G1 at one inputs thereof, and accordingly, if the logic "0" is also applied to the other input thereof, the gate G1 is opened. (Note: each small circle, i.e., o, denotes logical inversion, as for all later figures). Therefore, the gate G1 is opened if the FIFO memory is in a non-FULL status, where the related input of the gate Gl is connected via a line L4 to the terminal FUL of the FIFO memory. When the gate G1 is opened, the input/output unit direct memory access control circuit is started, via a gate G3 which is an OR gate, so that a signal RD, i.e., read command, is issued therefrom and the circuit IOCTL is instructed, by the signal RD, to operate under a read mode (R). Then the read operation of data from the unit DKU commences. A signal WT indicates a command for write, which is applied to the circuit IOCTL at an input W thereof, which represents a write mode. The thus read date from the magnetic disk unit DKU is supplied to the FIFO memory, via the line L3 and the selector SEL. The input terminal S1 of the SEL is made conductive under the condition where the write operation is not specified. An input terminal S3 of the SEL is led, via a line L5, to the circuit IDMACTL at a supply terminal thereof of a signal WT', i.e., a write command. In this case, the FIFO memory must be operated under the write mode (W). This condition is satisfied by the reception of the command signal WT' for a write operation, which is given to the FIFO memory at the write mode specifying terminal W, thereof, via a gate G5, i.e., an OR gate. If the FIFO memory is not in the FULL status, the read data stored in the FIFO memory is output from an output terminal D out thereof to the common bus C-BUS. During the output of the read data to the common bus C-BUS, first the FIFO memory must be operated under the read mode (R). The read mode (R) is set by first starting the circuit DMACTL and then applying a command signal RD for a read, operation, sent from the circuit DMACTL, to the FIFO memory, at a read specifying terminal R thereof, via a line L7 and the gate G4. In the above case, the condition wherein the control circuit DMACTL is started is that in which three inputs of a gate G6, i.e., an AND gate, are all supplied with logic "0", except for an input thereof led to the flip-flop DIR·F/F. The latter input is now supplied with the logic "0", since the read operation is now conducted. Due to the thus opened gate G6, the output from the gate G6 starts the control circuit DMACTL via a gate G9, i.e., an OR gate. Accordingly, a transfer of the stored data commences from the FIFO memory to the common bus C-BUS. The above-mentioned three inputs of the gate G6, except for the input led to the DIR·F/F, are supplied with three kinds of signals, respectively. First is a time out signal given from a time supervisor (TIMSV) via a line L9, which indicates a time out occurring on the common bus C-BUS. Second is a signal indicative of EMPTY given, via a line L10, from the terminal EMP of the FIFO memory. Third is a signal indicative of "WCR = 0" given from the register WCR in the control register REG (Fig. 3). With the reception of these signals, the gate G6 is opened, which signals represent that, first a time out has not occurred on the common bus C-BUS, second, the FIFO memory is not in the EMPTY status, and third the word count number (WCR) is not zero. The above mentioned common bus time out specifically means a time out of a control signal S CTL given to the common bus C-BUS side. To be specific, the time out occurs in a case such that, although the control circuit DMACTL issued a request in the form of the signal S CTL for outputting the stored data in the FIFO memory to the common bus C-BUS, a response thereto is not made from the central control unit CC, even though a predetermined time has elapsed. The content of the memory address register MAR is incremented by +1 under control of the circuit DMACTL, each time stored data is read out from the FIFO memory. On the other hand, the content of the word count register WCR is sequentially decremented by -1. When the content of the register WCR reaches zero, the control circuit DMACTL stops sending data to the common bus C-BUS. This is common to both the write operation and read operation, and therefore, the signal indicative of "WCR = 0" is supplied to not only the gate G6 but also a gate G7, i.e., an AND gate. In this case, information indicating the EMPTY status of the FIFO memory, other than the above information indicative of "WCR = 0", is also necessary to release the activation of the control circuit DMACTL. Similarly, in a write operation, a value corresponding to an amount of data to be transferred is preset in the register WCR. Therefore, the content of the register WCR does not reach zero at that time, a write request for the unit DKU is sequentially issued from the input/output system IOC side, i.e., a master side under the DMA mode, to the central control unit CC side, i.e., a slave side under the DMA mode. The above mentioned write request for the unit DKU is generated under the write mode in which the transfer direction specifying flip-flop DIR·F/F provides, at an output thereof, the logic "1" applied to the gate G7, and the gate G7 receives, other than the logic "1", three kinds of signals of the logic "0" at the other three inputs thereof. Under this condition, the control circuit DMACTL is started for the write operation. The three kinds of signals indicate, first information indicating "WCR = 0", second information indicating the FULL status of the FIFO memory, and third information indicating a first condition signal and/or second condition signal output from a gate G8, i.e., an OR gate. The first condition signal relates to the aforesaid time out of the common bus, and the second condition signal relates to a parity error occurring on the common bus. A logical inversion of these three signals is applied to the related gate G7. The output from the gate G8 is also used as an interruption information INT to the microprocessor µP. The above mentioned parity error on the common bus is output as an information PE from a parity check part PTYCHK. The parity check part PTYCHK executes a parity check with respect to the write data on the common bus C-BUS, which data is to be supplied, via an input terminal S2 of the selector SEL, to the input terminal D in of the FIFO memory. When the gate G8 is opened, the control circuit DMACTL issues the command signal WT for a write operation, which is given via the gate G5 to the FIFO memory to place it in the write mode (W). On the other hand, so long as the FIFO memory is not in the EMPTY status (data remains in the FIFO), the control circuit IDMACTL is started continually to issue the command signal WT for a write operation to the control circuit IOCTL to place the same in the write node (W). A write command has already been given, from the microprocessor µP, to the magnetic disk unit DKU, via the control circuit IOCTL. In Fig. 4, the gates G6 and G7 further commonly receive the bit indicative of the DMAEX (refer to the address 8001 in Fig. 5) and the gates G1 and G2 further commonly receive the bit indicative of the IDMAEX (refer to the address 8001 in Fig. 5) at their respective inputs; note, these inputs are not illustrated for brevity. (F) Explanation of the FIFO memory (Fig. 7) The FIFO memory is important as the buffer memory in the present invention, and therefore, will be explained in detail below. Figure 7 illustrates a detailed example of the FIFO memory. The meanings of the characters D in , D out , W, R, FUL and EMP have already been explained with reference to Fig. 4. The write data, at the terminal D in , is momentarily stored in a memory MEM. The thus stored data is read sequentially from the first-in write data and output, as read data, at the terminal D out . The read and write operations therefor are achieved in accordance with each address signal supplied from a multiplexer MPX. The multiplexer MPX produces the two outputs, selectively, from a write address counter WAC and a read address counter RAC. The write address counter WAC is incremented by +1 every time the command signal WT for a write operation (Fig. 4) is generated, while the read address counter RAC is incremented by +1 every time the command signal RD for a read operation (Fig. 4) is generated, whereby the corresponding data is written therein and read therefrom, respectively. When the contents of the counters RAC and WAC coincide with each other, a comparator CMP produces a signal indicative of the EMPTY status from the terminal FUL. When the content of the counter WAC becomes equal to the content of the counter RAC subtracted by 1, i.e., RAC - 1 = WAC, the comparator produces a signal indicative of the FULL status from the terminal FUL. No output is produced from the terminals FUL and EMP so long as either the FULL status or the EMPTY status is created in the FIFO memory. The multiplexer MPX is operated under the so-called time division multiplex method to achieve the write operation and read operation, alternately, where the write and read operations may collide. (G) Explanation of the diagnostic mode (Figs. 8A through 8C) As mentioned previously, the IOC system according to the present invention can operate at a high speed, since th data transfer is controlled mainly by the use of hardware, automatically. It is not, however, easy to rapidly determine the source of a malfunction when such a problem occurs. This is because the portion sandwiched between the CC and IO units appears to be empty due to the automatic data transfer control by the hardware. To counter this, the diagnostic check portion DIGC (Fig. 3) is further incorporated in the IOC system of the present invention, whereby a special diagnostic mode is established to detect the source of any malfunction. Figure 8A illustrates a schematic general view for explaining the diagnostic check with respect to the FIFO memory. That is, Fig. 8A shows a diagnostic mode for the FIFO memory. Under the diagnostic mode, the aforesaid commands for data transfer, performed with the FIFO memory, are stopped. These commands are issued from the control circuits DMACTL and IDMACTL. Note, the circuits DMACTL and IDMACTL are not illustrated in Fig. 8A. Thus, both the units CC and IO are cut off from the FIFO memory. Next, a predetermined diagnostic check data DD is written, via a route I, in the FIFO memory, under control of a microprogram, by the microprocessor µP. The data DD can be stored in advance in the ROM (Fig. 3). The thus written data DD is then read therefrom and sent to the microprocessor µP, via a route II. If no problem exists in the FIFO memory, the data DD is correctly returned to the microprocessor µP. Figure 8B illustrates a schematic general view for explaining the diagnostic check with respect to both the memory FIFO and the unit IO. That is, Fig. 8B shows a diagnostic mode for both the FIFO and the IO. Under the diagnostic mode, the circuit DMACTL stops issuing the aforesaid command for data transfer to the FIFO memory, and thus only the circuit IDMACTL operates as usual. Note, only the circuit IDMACTL is illustrated in Fig. 8B. Thus, first the central control unit CC is cut off from both the FIFO memory and the input/output unit IO. Next, under control of a microprogram by the microprocessor µP, a predetermined diagnostic check data DD is written, via a route I, in the FIFO memory read again from the FIFO memory, and is written in the input/output unit IO via a route II. The thus written data DD in the unit IO is read via a route III, written in the FIFO memory, and read again therefrom to be again sent to the microprocessor µP via a route IV. If no problems exist in both the FIFO memory and the unit IO, the data DD is correctly returned to the microprocessor µP. If the data DD is not correctly returned, it is determined that a malfunction exists in the FIFO memory and/or the unit IO, and an alarm is issued from the microprocessor µP to warn of the occurrence of a malfunction. In the above mentioned case, a further investigation must be made to determine whether the problem has occurred in the FIFO memory or in the unit IO. If the FIFO memory is normal, it is judged that the problem exists in the IO unit. Conversely, if the FIFO memory is abnormal, it is possible that the malfunction exists in both the FIFO memory and the IO unit. In this case, it is necessary to first repair the FIFO memory and then determined whether or not the IO unit is abnormal. Note, the diagnostic mode for the FIFO memory, mentioned previously in reference to Fig. 8A, can be utilized for the investigation into whether the FIFO memory is normal or abnormal. Figure 8C illustrates a schematic general view for explaining the diagnostic check with respect to both the FIFO memory and the common bus C-BUS. That is, Fig. 8C shows a diagnostic mode for both the FIFO memory and the C-BUS. Under the diagnostic mode, the circuit IDMCTL stops issuing the aforesaid command for data transfer to the FIFO memory, and thus only the circuit DMACTL operates as usual. Note, only the circuit DMACTL is illustrated in Fig. 8C. Thus, first the input/output unit IO is cut off from both the FIFO memory and the central control unit CC. Next, under control of the microprogram by the central control unit CC, a predetermined diagnostic check data DD is written, via a route I, in the FIFO memory, read again from the FIFO memory, and fetched by the microprocessor µP via a route II. The data fetched by the microprocessor µP is read and written from and to the FIFO memory again via a route III. The thus written data is read out again by the central control unit CC via a route IV. If no problem exists in either the FIFO memory or the common bus C-BUS, the data DD is correctly returned to the central control unit CC. If the data is not correctly returned thereto, it is determined that a problem exists in the FIFO memory and/or the common bus C-BUS. Thereby, an alarm is issued from the central control unit CC to warn of the occurrence of the problem. In the above mentioned case, a further investigation must be made into whether the problem has occurred in the FIFO memory or in the common bus C-BUS. If the FIFO memory is normal, it is judged that the problem exists in the common bus C-BUS. Inversely, if the FIFO memory is abnormal, it is possible that the problem exists in both the FIFO memory and the common bus C-BUS. In this case, it is necessary to first repair the FIFO memory and then investigate whether or not the common bus C-BUS is abnormal. Note, the diagnostic mode for the FIFO memory, mentioned previously in reference to Fig. 8A, can be utilized for the investigation into whether the FIFO memory is normal or abnormal. Figure 9 illustrates a schematic general view for explaining a data processing mode by the microprocessor µP. In the data processing mode, the transfer data TD provided from the central control unit CC is processed by the microprocessor µP, and the thus processed data is written, as a processed data td, in the IO unit. Under the processing mode, both the circuits DMACTL and IDMACTL operate as usual. In this case, the processed data td may be used as a cipher data to be kept secret. First, a transfer data TD, required to be kept secret, is provided from the central control unit CC via a route I to be written in the FIFO memory, under control of the circuit DMACTL. Thereafter, the thus written data is read from the FIFO memory and sent to the microprocessor µP via a route II. The microprocessor µP provides a predetermined processing to the data given and then the thus processed data td is written in the FIFO memory via a route III. The data td is read therefrom and written in the IO unit via a route IV under control of the circuit IDMACTL. Thus, the cipher data can be stored in the IO unit. (H) Explanation of the diagnostic check part DIGC (Fig.10) Figure 10 illustrates an example of a detailed circuit diagram of the diagnostic check portion (DIGC) cooperating with the FIFO memory. In Fig. 10, the meanings of the characters C-BUS, E-BUS, I-BUS, SEL, FIFO, IDMACTL, DMACTL are identical to those explained previously. Also, the characters "DIR", "IDMAEX" and "DNAEX" have already been explained in relation to the address 8001 of Fig. 5. The output "DIR" is produced from the flip-flop F/F which is represented by a double circle symbol at the center bottom in Fig. 4. In actuality, however, it is comprised of three sets of flip-flops indicated by the character F/F. The flip-flop F/F is provided with three D-inputs, i.e., D₀ , D₁ and D₂ , and with three Q-outputs, i.e., Q₀ , Q₁ and Q₂ The output Q₀ produces the transfer direction specifying information DIR, the output Q₁ produces information for exciting the input/output unit direct memory access mode control circuit IDMACTL and the output Q₂ produces an information for exciting the direct access mode control circuit DMACTL. The information IDMAEX for the excitation issues a commands to decide whether or not the data transfer, between the FIFO and the C-BUS (including the CC), must be executed. To be specific, if the information DMAEX assumes the logic "1", the control circuit DMACTL is excited, and if the information IDMAEX assumes the logic "1", the control circuit IDMACTL is excited. It is important that the DIGC portion is controlled by these set of information for excitation. For example, when the read operation, i.e., the data transfer from the IO unit to the FIFO memory, is carried out, the transfer direction specifying information DIR assumes the logic "0", as mentioned previously. At this time, one of the conditions for opening both gates G21 and G22 is satisfied. The gates G21 and G22, each being an AND gate, correspond to the aforesaid gates G6 and G1 of Fig. 4. Further, a write request WREQ1 is applied from the gate G22 to the control circuit IDMACTL if the conditions are satisfied that the FIFO memory is not in the FULL status and also the information for the excitation of IDMAEX is made logic "1". Thereby, the data read from the unit IO is supplied to the FIFO memory. Further, the gate G21 is opened if the conditions are satisfied that the information DIR is made logic "0", the memory FIFO is not in the EMPTY status, and the information for the excitation of DMAEX assumes the logic "1", so that a read request RREQ2 is output therefrom to the control circuit DMACTL. Thereby, the stored data in the FIFO memory is read therefrom and sent to the common bus C-BUS. On the other hand, when the write operation i.e. the data transfer from the FIFO memory to the IO unit, is carried out, the transfer direction specifying information DIR assumes the logic "1", as mentioned previously. At this time, one of conditions for opening both gates G and G23 is satisfied. The gates G and G23, each being an AND gate, correspond to the aforesaid gates G2 and G7 of Fig. 4. Further, a write request WREQ2 is applied from the gate G23 to the control circuit DMACTL if the conditions are satisfied that the FIFO memory is not in the FULL status and also the information for the excitation of DMAEX is made logic "1". Thereby, the transfer data from the common bus C-BUS is supplied to the FIFO memory. Further, the gate G is opened if the conditions are satisfied that the information DIR is made logic "1", the memory FIFO is not in the EMPTY status, and the information for the excitation of IDMAEX assumes the logic "1", so that a read request RREQ1 is output therefrom to the control circuit IDMACTL. Thereby, the data stored in the FIFO memory is read therefrom and sent to the IO unit. Thus, a variety of the requests, i.e., RREQ1, RREQ2 and so on, are generated by using the outputs from the flip-flop F/F and so on. The flip-flop F/F is supplied, at the clock input CK thereof, with the output from a gate G24 being an AND gate. The gate G24 applies the clock pulse to the input CK every time the write command "WRITE" from the microprocessor µP is issued, which command is first written in the register REG (Fig. 5) at the address thereof, for example 8001. Further, respective commands are given via the internal bus I-BUS and applied to the D-inputs D₀ , D₁ , and D₂. The read operation from the FIFO memory is achieved every time a read command "READ" is issued from the microprocessor µP and set in the register REG (Fig. 5) at the address 8000 thereof. To be specific, among the gates G30 through G35 (refer to left side of Fig. 10), each being an AND gate, the gate G35 is opened. (When the write command "WRITE" is issued, the gate 30 is opened.). Then the output from the gate G35 passes through a gate G42 (corresponding to the gate G4 of Fig. 4), among the gates G40 through G42 each being an OR gate, so that the memory FIFO is operated under the read mode (R). At this time, a gate G50 (illustrated at right bottom side of FIFO memory) is also necessarily opened to make a gate G51, i.e., a transfer gate, active, and thereby a transfer route led to the internal bus I-BUS, is made conductive. On the other hand, a transfer route, led to the external bus E-BUS, is made conductive by a gate G52, i.e., a transfer gate, which is made active by the information for the excitation of IDMAEX. Note, during the read operation under the usual DMA transfer mode, both gates G33 and G34 are opened, respectively, by a read request IDMARD and a read request DMARD. These requests IDMARD and DMARD (corresponding to signals RD' and RD shown in Fig. 4) are given from the control circuits IDMACTL and DMACTL, respectively. Therefore, these gates G33 and G34, together with the gate G42, comprise the gate G4 shown in Fig. 4. The operation to write to the first-in/first/out memory FIFO is achieved every time a write command "WRITE" is issued from the microprocessor µP and set in the register REG (Fig. 5) at the address 8000 thereof. The write command bit is applied to a gate G60 (AND gate) and activates a gate G61 (transfer gate) to make a transfer route from the I-BUS conductive. While a transfer route, let to the external bus E-BUS, is made conductive by a gate G62, i.e., a transfer gate, which is made active by the information for the excitation of IDMAEX. Note, during the write operation under the usual DMA transfer mode, both gates G31 and G32 are opened, respectively, by a write request IDMAWT and a write request DMAWT. These requests IDMAWT and DMAWT (corresponding to signals WT' and WT shown in Fig. 4) are given from the control circuits IDMACTL and DMACTL, respectively. Therefore, these gates G351 and G352, together with the gate G41, comprise the gate G5 shown in Fig. 4. Throughout the descriptions mentioned above, it is believed that the basic concept of the present invention can be sufficiently comprehended by person skilled in the art. Supplemental explanations, however, will be given below in order to further clarify the IOC system according to the present invention, by dislosing detailed examples thereof. Figures 11A and 11B depict timing charts for explaining an information transfer carried out on the common bus C-BUS. As seen from these figures, the information transfer is carried out between a master device M and a slave device S at any time. The transfer is commanded from the master device M at any time, and where the central control unit CC acts as the master device M, is known as a program mode (PM) transfer, and where the IOC system acts as the slave device S, it is known as a direct memory access (DMA) mode transfer. When a device, provided by the bus C-BUS, acts as the master device M, it is necessary to execute a sequence for acquiring a bus activation right. This is not particularly pertinent, and therefore, no further explanation will be given. The information transfer from the master device M (hereinafter simply master M) to the slave device S (hereinafter simply slave S), i.e., M → S, is executed as follows. (1) The master M issues a signal BBSY having a logic "1", which signal indicates, to other devices, that the bus is now being activated, i.e., a bus busy signal. (2) The master M issues, to address bits 2⁰ through 2¹⁵, an address of the control register REG in the IOC system, under the PM, and an address of a memory inside the CC, under the DMA. At the same time, a parity of data is issued on a parity line PTY. (3) The master M issues information to data bits 2⁰ through 2¹⁵. (4) The master M makes a signal WSRVI logic "1", so that the slave S is informed that the information is supplied to the C-BUS; this signal is the so called write service in signal. (5) When the slave S detects that the logic of the signal WSRV is "1", it receives the data and stores the same at a portion specified by the address bits. This portion is the register REG under the PM, and is the DMA memory under the DMA. At the same time, the slave S makes a line SRVO to be logic "1"; this line is the so called service out line. (6) When the master M detects that the logic of the signal WSRVI is "1", it stops sending both the address and data and changes the logic of the signal BBSY to "0". The information transfer from the slave S to the master M, i.e., S → M, is executed as shown below. (1) The first step is identical to that recited in the above paragraph (1) in the case of "M → S". (2) The second step is also identical to that recited in the above paragraph (2) in the case of "M → S". (3) The master M makes the logic of a signal RSRVI "1" to instruct the slave S to send the information to the C-BUS. This signal is the so-called read service in signal. (4) When the slave S detects that the signal RSRVI assumes the logic "1", it reads out information from a portion specified by the address on the address line, and then sends the same to the C-BUS. (5) The slave S changes the logic of a signal SRVO to "1", indicating that the information is supplied to the C-BUS. This signal is the so-called service out signal. (6) When the master M detects that the signal SRVO assumes the logic "1", it receives the data and changes the logic of the signal RSVRI to "0", so that the provision of both the address and data is stopped. Then the signal BBSY is changed to the logic "0". Figure 12 shows an address map defined in the input/output control system (IOC). Note, this address map is basically identical to that shown in previous Fig. 5, however, the address map of Fig. 12 is partially modified with respect to that of Fig. 5, to facilitate an understanding of the example mentioned later. The modifications are as follows. In Fig. 12, the address 4004 and 400 are shown in more detail to express the IOCTL control register. The address 8001 of Fig. 5 is set up at the address 4001 of Fig. 12. The address "FIFO" of Fig.5 is set up at the address 4003 of Fig. 12. The above mentioned IOCTL control register will be clarified below, and is composed of a register STR, a register IMCTR, and a DFIFO memory. The register STR functions as an IOCTL status register which informs the microprocessor µP of a variety of statuses in the IOCTL. The register ICMR functions as an IOCTL command register. When a command is set in this register, the IOCTL begins an operation instructed by the thus set command. The DFIFO memory is a data FIFO memory which is used to set a command parameter supplementing the related command. Alternatively, the DFIFO memory is used as a small capacity FIFO memory serving for data transfer, and having a capacity of, for example, 8 bytes. The input/output unit control circuit IOCTL begins with the following steps. (1) The command parameter is written in the DFIFO memory, which is necessary for execution of the related command. (2) The command is written in the ICMR. (3) A corresponding interruption is generated when the operation, specified by the command, comes to an end. (4) After detection of the interruption, the content of the STR is read to determine whether the operation has finished normally or abnormally. It should be noted that, in Fig. 12, the character W denotes that a write operation is possible by the use of a microprogram, and R denotes that a read operation is possible by the use of a microprogram. When a command is written in the ICMR, the IOCTL operates to read a command parameter from the DFIFO and then starts the related operation. After the commencement of the operation, the IDMACTL is informed of a writing of data to the IOCTL and a reading of data from the IOCTL, by setting a signal DREQ as the logic "1" from the IOCTL. The signal DREQ is the so-called data request signal. Figure 13A depicts an example of a bit arrangement for setting up the register (STR), and Figure 13B depicts an example of a bit arrangement for setting up the register (ICMR). Both registers STR and ICMR are set up at the address 4004 in the map of Fig. 12. In Fig. 13A, CB denotes a control circuit busy and both CEH and CEL denote a command end. The bit CB denotes that the IOCTL is executing a command. The bit CB assumes the logic "1" when the command starts and is changed to "0" when the command execution is finished. In the command end bits CEH and CEL, the conditions CEH = "0" and CEL = "0" denote that the command is being executed, and alternatively, no command is issued; the conditions CEH = "0" and CEL = "1" denote that the operation has finished abnormally; the conditions CEH = "1" and CEL = "0" denote that the operation has finished normally, and the conditions CEH = "1" and CEL = "1" denote that the command is invalid. In Fig. 13B, the bits ICMD are used to set an IOCTL command therein. Figure 14 is a partial perspective view of the magnetic disk unit (DKU). Fig. 14 is referenced for an explanation of the following table. The above table displays an example of commands and command parameters. In the table, CN denotes a cylinder number, HN a head number, SN a sector number, and SCNT a number of the sectors. Figure 15 illustrates a common bus connection area of Fig. 4 in more detail. The common bus C-BUS is mainly composed of an address line, a data line, and a control line. Note, members relating to the program mode (PM) are omitted, since Fig. 15 displays members pertinent to the present invention. The DMA transfer between the bus C-BUS and the memory FIFO is started by the signal WREQ2 or RREQ2 (Fig.10) given from the peripheral of the FIFO memory. When the circuit DMACTL is started by the above mentioned signal, the information transfer, explained in reference to Figs. 11A and 11B, commences execution. A detailed explanation of the operation concerned will be given hereinafter. Figure 16 illustrates peripherals of the FIFO memory. It should be understood that the peripherals of Fig. 16 are arranged to be adopted to the control registers, relating to the FIFO memory, allotted to the addresses 4000, 4001 and 4003 of the address map shown in Fig. 12. The write/read allocation at the address 4001 is achieved through the microprocessor (µP) bus, illustrated as "BUS" in Fig. 16. On the other hand, the write/read allocation at the address 4003 is achieved through the internal bus I-BUS of Fig. 16. In Fig. 16, the signals "WRITE" and "READ" represent instructions for write and read issued from the microprocessor µP. The address signals indicative of 4000, 4001, and 4003 are formed by decoding the addresses given from the microprocessor µP. Signals DMAWT and DMARD represent instructions for write and read given from the control circuit DMACTL. Signals IDMAWT and IDMARD represent instructions for write and read given from the control circuit IDMACTL. The transfer request signals, i.e., WREQ1, WREQ2, RREQ1, and RREQ2, are selectively generated in accordance with the internal status of the FIFO memory and the content of the control register at the address 4001. Figure 17 illustrates peripherals of the circuit IOCTL. It should be understood that the peripherals of Fig. 17 are arranged to be adopted to the control register, relating to the circuit IOCTL, allotted to the addresses 4004 and 4005 of the address map shown in Fig. 12. The write/read allocations at the addresses 4004 and 4005 are achieved through the bus I-BUS connected, via a bidirectional driver, to the bus BUS. In Fig. 17, signals "WRITE" and "READ" represent instructions for write and read issued from the microprocessor µP. The address signals indicative of 4003, 4004, and 4005 are formed by decoding the addresses given from the microprocessor µP. The characters WREQ1 and RREQ1 are transfer requests for starting the circuit IDMACTL, given from the peripheral of the FIFO memory shown in Fig. 16. The circuit IOCTL is started when the command and the command parameters are written at the addresses 4004 and 4005. The DMA transfer request is generated by starting the IOCTL, so that the IOCTL makes the logic of the bit "DREQ" thereof "1". When the DREQ bit is "1", it is detected that the WREQ1 bit or RREQ1 bit assumes "1", the circuit IDMACTL is started, and a write or read command to the IOCTL is issued as a bit IOCWT or a bit IOCRD. When the transfer is completely finished, the IOCTL issues a bit INT having a logic "1" to raise an interruption to the microprocessor µP. Figure 18 illustrates a detailed example of the direct memory access mode control circuit (DMACTL). The circuit DMACTL (Fig. 15) controls a data transfer between the common bus C-BUS and the FIFO memory. In Fig. 18, characters WREQ2 (transfer request from the C-BUS to the FIFO), RREQ2 (transfer request from the FIFO to the C-BUS), RE (C-BUS parity error), TOUT (C-BUS time out), SRVO (service out), BBSY (bus busy), DBGT (data bus gate control), ADGT (address bus gate control), DMARD (read request), WSRVI (write service in), RSRVI (read service in), DMAWT (write request) and MAR+1 (memory address register increment) are all displayed in Fig. 15. In Fig. 18, each character "F", provided by respective characters, represents a flip-flop, in the form of a JK-flip-flop. A timing formation circuit I produces three different timing signals at the terminals T0, T1, and T2 thereof, and therefore, the circuit I can be made of, for example, D-flip-flops connected in tandem and operated in synchronizer with a clock CLK. This is also true for a timing formation circuit II. The operation of the circuit shown in Fig. 18 will be clarified with reference to Figs. 19 and 20. Figure 19 depicts timing charts for explaining the operation of the circuit DMACTL under the DMA write mode, i.e., C-BUS → DKU, and Figure depicts timing charts for explaining the operation of the circuit DMACTL under the DMA read mode, i.e., DKU → C-BUS. Figure 21 illustrates a detailed example of the input/output unit direct memory access mode control circuit (IDMACTL). The control circuit IDMACTL (Fig. 17) controls data transfer between the FIFO memory and the input/output unit control circuit (IOCTL). In Fig. 21, characters WREQ1 (transfer request from the DKU to the FIFO memory), RREQ1 (transfer request from the FIFO memory to the DKU), DREQ (DMA transfer request), IOCRD (read request to the IOCTL), IDMARD (read request to the gate G33 (Fig.10)), IDMAWT (write request to the gate G32 (Fig.10), IOCWT (write request to the IOCTL) are all displayed in Fig. 17. In Figure 21, each character "F", provided by respective characters, represents a flip-flop, in the form of a JK-flip-flop. A timing formation circuit III produces four different timing signals at the terminals IT0, IT1, IT2 and IT3 thereof, and therefore, the circuit III can be made of, for example, D-flip-flops connected in tandem and operated in synchronism with the clock CLK. The operation of the circuit shown in Fig. 21 will be clarified with reference to Figs. 22 and 23. Figure 22 depicts timing charts for explaining the operation of the circuit IDMACTL under the DMA read mode, i.e., DKU → FIFO, and Figure 23 depicts timing charts for explaining the operation of the circuit DMACTL under the DMA write mode, i.e., FIFO → DKU. Thus, the circuit IDMCTL is started when the following conditions are satisfied; first, either WREQ1 or RREQ1 assumes the logic "1", and second, the transfer request DREQ from the IOCTL assumes the logic "1". Figure 24 illustrates a detailed example of the time supervisor TIMSV. The supervisor (Fig. 15) detects the C-BUS time out and produces the corresponding C-BUS time out signal TOUT. That is, the supervisor TIMSV determines whether or not the time from the issuance of WSRVI to the reception SRVO is shorter than the prescribed time. During the case where the time out flip-flop TOUTF is not set, a signal RSRVI or WSRVO (refer to Figs. 11A and 11B) is received. Under such a condition, if the signal SRVO is "1", a counter enable flip-flop CTENF is set and a counter continues counting incrementally so long as the flip-flop CTENF is set. If the signal SRVO changes to logic "1" before an overflow (OVF) of the counter, the flip-flop CTENF is reset. Therefore, the counter is also reset, and thus the flip-flop TOUTF cannot be set. If the counter overflows before the change of the SRVO to "1", the flip-flop TOUTF is set, and both the flip-flop CTENF and the counter are reset. This means that the C-BUS time out is detected. Accordingly, the C-BUS time out detection time is defined with the time up to the overflow of the counter. The operation of the circuit shown in Fig. 24 will be further clarified with reference to Fig. 25. Figure 25 depicts timing charts for clarifying the operation of the time supervisor (TIMSV) illustrated in Fig. 24. In Fig. 25, the triangle symbol at the bottom thereof represents the time at which the time out concerned is detected. Further, the dotted lines represent the case where the C-BUS operation is performed normally. Figure 26 illustrates a detailed example of the input/output control circuit (IOCTL). It should be understood that the IOCTL of Fig. 26 is set up for, among a variety of input/output units, the magnetic disk unit DKU. Therefore, the unit DKU is controlled by the IOCTL by way of a usual DKU interface control circuit, which is not pertinent to the present invention, and therefore, no further explanation will be given therefor. The members shown in this figure are already mentioned in reference to the previous figures. For example, "STR", "ICMR" and "DFIFO" are shown in Fig. 12, and the "READ", "WRITE", "INT", "DREQ" "IOCWT", and "IOCRD" are shown in Fig. 17. As mentioned above in detail, in the present invention, although the IOC system is operated under a low cost one-chip microprocessor which is easy to use but has a low operation speed, the IOC system can substantially act as a high speed operation system due to the use of the hardware concerned. In this case, it becomes difficult, in general, to establish a satisfactory diagnostic check due to employment of such hardware. This problem, however, can be overcome with the use of the diagnostic check portion and thus, a prompt restoration from a malfunction state is assured. This attributes to the realization of a highly reliable IOC system.

Claims: An input/output control system (IOC), the IOC system being operatively connected, via a common bus (C-BUS), with a central control unit (CC) and being operatively connected, via an external bus - (E-BUS), with an input/output unit (IO), so as to control a transfer of data to be communicated between the central control unit (CC) and the input/output unit (IO) comprising: an input/output unit control circuit (IOCTL) for controlling the input/output unit (IO), a data transfer being performed by accessing said input/output unit (IO) via said input/output unit control circuit (I0CTL); a buffer memory in which transfer data is momentarily stored; a direct memory access control means being operative under a command from a microprocessor (µP) to achieve a data transfer control with respect to said buffer memory; and further, characterized in that a control register (REG) is provided in which a plurality of sets of data transfer control information, given from the central control unit (CC) are written; said direct memory access control means achieves data transfer control with the use of data transfer control information written in said control register (REG); and both processes for starting and finishing operations of the control circuit (IOCTL) are carried out by the microprocessor (µP) which executes a predetermined microprogram, said microprogram being stored in a ROM operatively connected with said microprocessor (µP) and said control register (REG) by means of an internal bus (I-BUS), said microprocessor (µP) having access to said buffer memory over said internal bus (I-BUS), and said direct memory access control means is comprised of an input/output unit direct memory access control circuit (IDMACTL) and a direct memory access control circuit (DMACTL), and in which the control circuit (IDMACTL) is operative to perform the data transfer between said buffer memory and the input/output unit control circuit (IOCTL), while the control circuit (DMACTL) is operative to perform the data transfer between the buffer memory and said common bus (C-BUS) located between the IOC system and the central control unit (CC), such that said data transfers are performed without microprogram execution from said microprocessor (µP), and therefore said buffer memory is disconnected from an internal bus (I-BUS) during the data transfer. A system as set forth in claim 1, wherein a program mode control circuit (PMCTL) is connected with the common bus (C-BUS) to achieve the transfer control under a program mode (PM), and the microprocessor (µP) is directly activated, via the control circuit (PMCTL), by an interruption for activation which occurs when a data transfer request is issued from the central control circuit (CC) and, when the related data transfer comes to an end, said activation is released by an interruption for finish which is issued from the input/output unit control circuit (IOCTL). A system as set forth in claim 2, wherein said buffer memory is made of a first-in/first-out memory (FIFO). A system as set forth in claim 3, wherein the first-in/first-out memory (FIFO) is provided with an input terminal (D in ) for a write data, an output terminal (D out ) for a read data, a write mode command reception terminal (W), a read mode command reception terminal (R), a terminal (FUL) for an indication of a full status "FULL" of the memory (FIFO) with the transfer data, and a terminal (EMP) for a indication of an empty status "EMPTY" of the memory (FIFO), also the input/output unit control circuit (IOCTL) is provided with a write mode command reception terminal (W) for starting the input/output unit (IO) under the write mode, and a read mode command reception terminal (R) for starting the input/output unit (IO) under the read mode. A system as set forth in claim 4, wherein the input/output unit direct memory access control circuit (IDMACTL) is operative to receive an output from a first logic gate, as a control input, to produce, first, a signal to be applied to the terminal (W) or the terminal (R), both provided by the first-in/first-out memory (FIFO), and, second, a signal to be applied to the terminal (W) or the terminal (R), both provided by the input/output unit control circuit (IOCTL), and said first logic gate is supplied with, as its input, at least, each output from the terminal (FUL) and the terminal (EMP), both provided by the memory (FIFO). A system as set forth in claim 5, wherein the direct memory access mode control circuit (DMACTL) produces a signal to be applied to the terminal (W) or the terminal (R), both provided by the first-in/first-out memory (FIFO), by receiving, as its control input, the output from a second logic gate which is supplied with, as its input, at least, each output from the terminal (FUL) and the terminal (EMP), both provided by the memory (FIFO), and an information indicative of "WCR = 0", that is the number of the transfer words reaches zero, which number is specified by corresponding one of the sets of said data transfer control information written in the control register (REG). A system as set forth in claim 6, wherein the first-in/first-out memory (FIFO) is commonly used for the one way data transfer and the other way data transfer, selectively, the former transfer is performed from the common bus (C-BUS) to the input/output unit (IO), i.e., the write mode, while the latter transfer is performed from the unit (IO) to the bus (C-BUS), i.e., the read mode. A system as set forth in claim 7, wherein said first logic gate and second logic gate are supplied commonly with a transfer direction specifying information (DIR), so that both the input/output unit direct memory access mode control circuit (IDMACTL) and the direct memory access mode control circuit (DMACTL) are specified to operate under the write mode or the read mode, selectively, which information (DIR) is one of said sets of said data transfer control information written in the control register (REG). A system as set forth in claim 8, wherein said second logic gate is further supplied with an input given from a time supervisor (TIMSV) which is operative to detect a common bus (C-BUS) time out, the common bus (C-BUS) time out representing a condition that no response is returned, after an elapse of a predetermined term, from the central control, which response is to be generated for a control signal (S CTL ) sent, from the direct memory access mode control circuit (DMACTL), on the common bus (C-BUS). A system as set forth in claim 9, wherein said second logic gate is further supplied with an input given from a parity check part (PTYCHK) which is operative to detect a parity error contained, if any, in said transfer data provided on the common bus (C-BUS). A system as set forth in claim 7, wherein the first-in/first-out memory (FIFO) cooperates with a selector (SEL), located at the front stage of the input terminal (W) provided by the memory (FIFO), the selector (SEL) is switched by the control of the direct memory access mode control circuit (DMACTL), so that the transfer data from the common bus (C-BUS) and the transfer data from the input/output unit (IO) are selectively stored in the memory (FIFO). A system as set forth in claim 8, wherein the direct memory access mode control circuit (DMACTL) is operative to increment by +1 a main memory address information for a main memory (MM), connected to the common bus C-BUS, every time each transfer data is supplied, via the common bus (C-BUS), to the main memory (MM), which main memory address information is one of said sets of said data transfer control information written in the control register (REG) to specify the address of the main memory at which each transfer data is to be written. A system as set forth in claim 4, wherein a diagnostic check part (DIGC) is further incorporated in the system for executing a diagnostic operation with regard to the first-in/first-out memory (FIFO), the input/output unit (IO) and the microprocessor (µP), selectively. A system as set forth in claim 13, wherein the diagnostic check part is operative to momentarily stop issuance of said data transfer request to the input/output unit direct access mode control circuit (IDMACTL) and/or the direct memory access mode circuit (DMACTL), selectively. The system as set forth in claim 14, wherein the diagnostic check part (DIGC) is further operative to issue a command for write or read to the first-in/first-out memory (FIFO) under control of said microprogram. The system as set forth in claim 15, wherein the diagnostic check part (DIGC) sets up, at least, a first diagnostic mode, a second diagnostic mode and a third diagnostic mode, selectively, in which, under the first diagnostic mode, a related diagnostic check data (DD) is communicated only between the microprocessor (µP) and the first-in/first-out memory (FIFO), under the second mode, a related diagnostic check data (DD) is communicated only by way of the microprocessor (µP), the memory (FIFO) and the input/output unit (IO), and under the third mode, a related diagnostic check data (DD) is communicated only by way of the microprocessor (µP), the memory (FIFO) and the central control unit (CC). A system as set forth in claim 16, wherein the diagnostic check portion (DIGC) is comprised of logic gates (G20 through G23) at least, the logic gates (G20 through G23) are supplied with at least four sets of information, first, a transfer direction specifying information (DIR) generated by said microprogram, second, an information (IDMAEX) indicative of command for exciting the input/output unit direct memory access mode control circuit (IDMACTL), third, an information (DMAEX) indicative of command for exciting the direct memory access mode control circuit (DMACTL), and fourth, either said "FULL" status information or said "EMPTY" status information regarding the first-in/first-out memory (FIFO), and thus, a read request (RREQ1) given to the control circuit (IDMCTL), a read request (RREQ2) given to the control circuit (DMACTL), a write request (WREQ1) given to the control circuit (IDMCTL) and a write request (WREQ2) given to the control circuit (DMACTL) are output from respective logic gates G20 through G23. A system as set forth in claim 17, wherein the diagnostic check portion (DIGC) is operative to detect that no problem has occurred in the first-in/first-out memory (FIFO), in the input/output unit (IO) and in the microprocessor (µP), respectively under said first, second and third diagnostic modes. A system as set forth in claim 16, wherein the diagnostic check portion (DIGC) is also operative to set up a fifth mode in which the transfer data in the first-in/first-out memory (FIFO) is processed to form another transfer data with the aid of the microprocessor (µP) and then rewritten in the memory (FIFO), so that the thus processed data is stored in the input/output unit (IO). A system as set forth in claim 19, wherein the microprocessor (µP) executes a process for a cipher with respect to said transfer data.

Inventors: GOUKON, KAZUHIKO, SERA, AKIHIRO, SHIBARA, YUJI
Applicants: FUJITSU LIMITED
Application year: 1986
Main classification: G06F13
IPC codes: G06F13, G06F3, G06F11