[go: up one dir, main page]

WO1991018346A1 - Device for transmitting a synchronous data - Google Patents

Device for transmitting a synchronous data Download PDF

Info

Publication number
WO1991018346A1
WO1991018346A1 PCT/JP1991/000632 JP9100632W WO9118346A1 WO 1991018346 A1 WO1991018346 A1 WO 1991018346A1 JP 9100632 W JP9100632 W JP 9100632W WO 9118346 A1 WO9118346 A1 WO 9118346A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
system controller
data
write
signal
Prior art date
Application number
PCT/JP1991/000632
Other languages
English (en)
French (fr)
Inventor
Makoto Takebe
Original Assignee
Kabushiki Kaisha Komatsu Seisakusho
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kabushiki Kaisha Komatsu Seisakusho filed Critical Kabushiki Kaisha Komatsu Seisakusho
Priority to US07/938,037 priority Critical patent/US5502822A/en
Publication of WO1991018346A1 publication Critical patent/WO1991018346A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function

Definitions

  • the present invention relates to an asynchronous data transmission device suitable for intermittent asynchronous transmission of continuous data between two system controllers or in a star-type or tree-type network.
  • one buffer device is provided, and the access power from one controller is prioritized over the access from the other controller to prepare for an access collision.
  • an asynchronous data transmission device that asynchronously transmits data from the first system controller to the second system controller
  • First and second memories for writing the output data of the first system controller and reading the write data to the second system controller; and a second system controller of the first system controller Output data of the first system controller is alternately written to the first and second memories in response to data transmission to the first and second memories.
  • Control means for selecting a memory to which data has been written immediately before from among the memories of 2 and reading data from the selected memory;
  • the control means includes a second system controller which, when performing a read operation to the first or second memory during the write operation, stores the first system controller in an opposite memory performing the read operation.
  • the first system controller performs the write operation when performing the read operation in the first or second memory during the read operation.Performs the read operation from the opposite memory when performing the write operation. To do.
  • the memory holding the data to be transferred is duplicated in the first memory and the second memory.
  • the control means selects a memory to be accessed according to the following logic in accordance with the data transmission operation of the first system controller and the data reception operation of the second system controller.
  • the output data of the first system controller is alternately written to the first and second memories in accordance with the data transmission of the first system controller.
  • the second system controller receives data, it reads data from the memory to which the data was written immediately before the first and second memories. That is, when the first system controller completes the write operation, The read operation of the second system controller is performed from the memory of the first, and the write operation of the next system controller is performed on the memory on the opposite side.
  • the second system controller power s
  • the output data of the first system controller is stored in the opposite memory in which the read operation is being performed.
  • the access of one of the system controllers does not need to be temporarily suspended, and the data capacity s and the access of each system controller can be reduced. There is no longer any interruption in the other party's access on the way, and accurate data transmission without errors can be achieved at high speed.
  • the asynchronous data transmission apparatus for transmitting data from the first system controller to the second system controller having an access time shorter than the non-access time of the first system controller
  • a readable and writable first memory for temporarily storing data output from the first system controller; and an output data of the first system controller or a temporarily stored data of the first memory written therein.
  • a second memory for reading the write data to the second system controller; and a second memory for reading the write data in parallel with the second memory, the output data of the first system controller or the temporary storage of the first memory.
  • a third memory for writing data and reading the write data to the second system controller;
  • the memory holding the data to be transferred is doubled (second memory. Third memory), and the first system controller on the data transmitting side is connected to the first system controller.
  • the first memory is arranged between the second and third memories, and when writing data from the first system controller to these second and third memories, the time is shifted twice. Is written separately. That is, at the time of the first write, data is written to one of the second and third memories and the first memory, and at the time of the second write, the data is written to the second and third memories. The same data is written to the second and third memories so that the data of the first memory is written to the memory that has not been written the first time. Further, when reading data from the second and third memories, the side of the second and third memories which has not performed writing in response to a read request from the second system controller. Data is read from the memory.
  • memories are double-laid between these data transmission paths, and one of the system controllers is connected to these memories.
  • write the data in two parts with a time lag, and when reading from these memories from the other system controller, read the data from the unused memory. Since the data is read out, the data is not interrupted in the middle of the access cycle of each system controller, so that the system controller on the receiving side can send the data of the same time and the same contents to the controller on the transmitting side. , So that accurate and accurate data transmission can be achieved.
  • the data transmission between the first system controller and the second system controller using different system clocks wherein the non-access time of the first system controller from the first system controller.
  • Read / write for temporarily storing data output from the first system controller
  • a first memory that can be controlled, and a predetermined priority level is set in advance for access from the first and second system controllers, and output data of the first system controller or the first
  • a second memory and a third memory in a parallel configuration for reading the write data to the second system controller, and starting a write request from the first system controller.
  • First determining means for determining at least three times the access states of the second and third memories by the second system controller with a time lag, and obtaining at least three results;
  • the majority decision means taking the majority logic of the decision of the first decision means, and the second system controller of the second and third memories accesses based on the output of the majority decision means and the priority.
  • a first selecting means for selecting a memory on the power side which is not in operation; and a memory corresponding to a selection result of the first selecting means and the first memory in response to a write request from the first system controller.
  • First writing means for performing first writing control for simultaneously writing output data of the first system controller; and second and second control means for controlling the second system controller upon completion of the first writing control.
  • a second determining means for determining the access state to the memory at least twice at a time lag, and the first selecting means selecting according to a determination result of the second determining means.
  • Second writing means for performing second write control for writing the storage data of the first memory to the other memory of the first memory, and a first system at the time of starting a read request from the second system controller.
  • Third determining means for determining an access state to the second and third memories by writing from the controller or the first memory;
  • a second selecting means for selecting a memory of the second and third memories which is not accessed by the first system controller, based on an output of the third determining means and the first priority
  • read means for reading a storage data from a memory corresponding to a selection result of the second selection means in response to a read request from the second system controller, and outputting the read data to the second system controller.
  • the memory holding the data to be transferred is doubled (second And a third memory), and a first memory between the first system controller on the side that sends data and the second and third memories.
  • the writing is performed twice with a time lag (first write control, second write control).
  • the access state of the second and third memories by the second system controller is determined at least three times with a time lag, and a majority vote of these determination results is taken. And a memory of the third memory which is not accessed by the second system controller, and writes data to the selected memory and the first memory.
  • the first system controller or the first system controller When reading data from the second and third memories, the first system controller or the first system controller responds to a read request from the second system controller.
  • the access state of the second and third memories by writing from the first memory is determined, and the first system controller of the second and third memories accesses the second and third memories in accordance with the result. Select the memory on the other side and read data from the selected memory.
  • the third aspect in data transmission between system controllers using different memory access periods and using different system clock s, it is possible to preferably avoid collision of accesses to the same memory area. , This ensures that, no this and force s such as interrupted in the middle of the data force s access period of each system controller, which by the system controller Ichira on the receiving side of the transmission side control - at the same time and the same contents of the La de one Data can be received and error-free and accurate data transmission can be achieved.
  • the first system controller sends the first system controller An asynchronous data transmission device for transmitting data to a second system controller having an access time longer than a non-access time of a controller
  • a first memory for writing the output data of the first system controller and reading the write data to the second system controller; and a first memory provided in parallel with the first memory. Output data of the system controller is written, a second memory for reading the write data to the second system controller, and storing data of one of the first and second memories for the first and second memories.
  • a buffer means for performing a buffer operation for writing to the other of the second memories; and a first and a second memory for outputting output data of the first system controller in response to a data transfer request of the first system controller.
  • the first write control to write to one of the memories 2 and the first write after the completion of the first write control A second write control for reading the data written by the first write control via the buffer means and writing the read data to the other of the first or second memory written by the first write control via the buffer means.
  • the first and second memories are preset with a predetermined priority force s for access from the first and second system controllers, and the write control means terminates the first write control.
  • First determining means for determining the access state of the second system controller to the first and second memories at a point in time and determining whether to start or wait for a second write control; and When the determination result of the first write control is output from the first determination means, the first write means for executing the second write control, and the determination result of standby are output from the first determination means. Then, a first standby unit that waits for a second write until the access power of the second system controller ends, and the second system controller starts the transfer request from the first system controller.
  • a second determination means for determining the output of Akuse scan state and said first judging means by controller one La to the first and second memory
  • a second writing unit that selects the memory having the higher priority from the first and second memories and performs the first write control, and the second determination When the second write control power is output from the means, the second write control is canceled and the second system controller of the first and second memories accesses the second write control.
  • a third writing unit that performs the first write control on the memory on the side that is not in operation, and a determination result that the second write control is being performed is output from the second determination unit. And a second waiting means for waiting for the first write control until the second write control force ends,
  • the read control means includes: a third determination means for determining a state of the first and second write controls at a start of a read request from the second system controller; and an output of the third determination means.
  • a third determination means for determining a state of the first and second write controls at a start of a read request from the second system controller.
  • the memory holding the data to be transferred is doubled (the first memory and the second memory), and the first system controller and the first system controller on the data transmission side.
  • a buffer means composed of, for example, a large number of flip-flops is arranged between the second memory and when writing data from the first system controller to the first and second memories. Write in two separate times with a delay. That is, at the time of the first write, data is written to one of the first and second memories, and at the time of the second write, the first write of the first and second memories is performed.
  • the data written in the first write is transferred from one memory to the other via the buffer means.
  • the memory to the first and second memories To write the same data.
  • the data When reading data from the first and second memories, the data is not written in the first and second memories in response to a read request from the second system controller. Data is read from the memory on the side.
  • the system waits until the end of the access, and the second time after the end of the access. Is written (the second write ⁇ ). If the second write is being performed when the data transfer request is input from the first system controller, the first write is waited until the second write is completed, and the second write is performed. After the end, start the first write (first write wait).
  • the second system controller is accessing the memory for the second write power s, that is, when the second system controller is accessing the memory for which the second write is to be performed. If there is, cancel the second write that is waiting and perform the next first write process on the area that is not accessed by the second system controller (skip the second write) ).
  • the asynchronous data transmission apparatus for transmitting data from the first system controller to the second system controller having an access time longer than the non-access time of the first system controller.
  • the memory is duplicated between these data transmission paths, and when writing data to these memories from the first system controller, the data is written in two separate times with a delay.
  • data is read from the unused memory, so that data may be interrupted during the access cycle of each system controller.
  • the receiving system controller is synchronized with the transmitting controller at the same time. Data can be received, and thus error-free and accurate data transmission can be achieved.
  • FIG. 1 is a block diagram showing a first embodiment of the present invention
  • FIG. 2 is a conceptual diagram of memory division of the first embodiment
  • FIG. 3 is a detailed circuit diagram of a control circuit of the device of the first embodiment
  • FIG. 4 is a time chart showing the operation of the device of the first embodiment
  • FIG. 5 is a block diagram showing a second embodiment of the present invention
  • FIG. 6 is a detailed block diagram of the internal circuit configuration of the device of the second embodiment
  • FIG. 7 is a time chart conceptually showing the operation of the apparatus of the second embodiment
  • FIGS. 8 to 10 are time charts for explaining the more detailed operation of the apparatus of the second embodiment, respectively.
  • 11 is a block diagram showing a third embodiment of the present invention
  • FIG. 1 is a block diagram showing a third embodiment of the present invention
  • FIG. 3 is a detailed circuit diagram of a control circuit of the device of the first embodiment
  • FIG. 4 is a time chart showing the operation of the device of the first embodiment
  • FIG. 5 is
  • FIG. 12 is a detailed block diagram of the internal circuit configuration of the third embodiment, and FIGS. 13 to 15 are third embodiments.
  • FIG. 16 to FIG. 18 are time charts conceptually showing the operation of the apparatus
  • FIG. 19 is a block diagram showing a fourth embodiment of the present invention
  • FIGS. 20 to 22 are time charts showing the operation of the fourth embodiment
  • FIGS. FIG. 3 is a block diagram showing a modification of the fourth embodiment
  • FIG. 24 is a timing chart for explaining the operation of the modification.
  • FIG. 1 shows a conceptual configuration of a first embodiment of the present invention.
  • controller B system controller (hereinafter abbreviated as controller) B.
  • Controllers B operate completely asynchronously.
  • the memory 10 is a dual-port memory (DPM) having a write / read function that can be accessed from both the controllers A and B.
  • DPM dual-port memory
  • the contents of each signal in Fig. 1 are as follows. Note that, in this specification, an underscore “—” added to the end of a signal, such as CSL—, indicates a logical inversion symbol of the paste.
  • CRCEN “H (high)” is held during a series of read periods of controller B.
  • ALIO Write area selection signal (L area is selected for L, H area is selected for H)
  • AR10 Read area selection signal (L area selects L area, H area selects H area)
  • controller A since data transfer in only one direction from controller A to controller B is a problem, controller A performs only writing and controller B performs only reading. In this data transmission, a plurality of data are processed during a single write section or a read section. Therefore, in the section where the PPCW signal is L, a plurality of write signals W Similarly, there are a plurality of read signals R in a section where the CRCEN signal is H.
  • the control circuit 20 writes / reads the memory 10 based on the PPCW signal output from the controller A and the CRCEN signal output from the controller B.
  • the control that is, the access area selection control of the memory 10 duplicated in the L-side area and the H-side area is performed.
  • the detailed configuration is shown in FIG.
  • the logical configuration of the write / read control for the memory 10 by the control circuit 20 is as follows.
  • the read area is determined by the rising edge of the system clock SCK
  • the write area is determined by the falling edge of the same system clock SCK, so that the determination of the area at the same time is prevented.
  • the write section signal PPCW— input from the controller A is input to a flip-flop (hereinafter abbreviated as FF) 30.
  • the FF 30 outputs the PPCW— signal to the system clock signal S0 (
  • the output of FF30 is input to FF31, gates 32, 33, etc.
  • FF30 latches the output of FF30 at the rising edge of the clock signal SCK and outputs it.
  • the gate 32 by inverting the inverted output of the FF30 and the output of the FF31, when the PPCW— signal falls to L, a short period of time (exactly, the system clock signal SCK Outputs the write section start signal WST that becomes H during one cycle.
  • the gate 33 when the output of the FF30 and the inverted output of the FF31 are ANDed, when the PPCW— signal rises to H, for a short predetermined time (exactly, the system clock signal SCK Outputs the write section end signal WED which becomes H during one cycle.
  • the configuration consisting of gates 34, 35, 36, and FF 37 is a signal indicating the write area selected by the configuration consisting of gates 38 to 40 (which indicates one of the H / L areas). Signal) is latched when the write section start signal WST becomes H, and the value is held until the next write section start signal WST becomes H (the write area is determined at the start of each write section). Yes, the FF 37 outputs the write area selection signal ALIO supplied to the ALH pin of the memory 10.
  • the RST signal is a reset signal that goes high when the power is turned on.
  • the gate 38 takes the AND of the logical inversion signal of the ALIO signal and the logical inversion signal of the read section signal CRCEN input from the controller B, and inputs this to the OR gate 40.
  • the gate 39 takes the AND of the CRCEN signal and the logically inverted signal of the read area selection signal AR10, and inputs this to the OR gate 40. In other words, for 5 minutes, the write area of controller A is determined in accordance with the access state (CRCEN signal) of controller B.
  • controller B In the non-access state of controller B (CRCEN signal is L), A Select the area opposite to the area previously accessed (ALIO signal logic inversion), and if controller B is in the access state (CRCEN signal is H), select the area opposite to the current access area of controller B (The logical inversion of the AR10 signal). More, to achieve the respective circuits 3 4-3 7 and gate one bets 3 8, 4 0 configurations force by s previous predicate logic I, i.e. alternately switching control of the H / L area when the writing control gate 3 9 force s The aforementioned III has been achieved. The selection result of the write area by these gates 38 to 40 is selected by the gate 35 at the start of the write operation, and the selection result is further transmitted to the memory 10 as the write area selection signal ALIO via the FF 37. Added to the address most significant bit ALH.
  • Gate 45 is the logic inverted signal of the ALIO signal and the output of FF 30 (PCW—signal)
  • PCW—signal The AND of the logical inversion signal of the above is input to the OR gate 47.
  • the gate 46 ANDs the output of the FF 44 and the output (PCW—signal) of the FF 30 and outputs this to the OR gate 47. input.
  • this part is to determine the read area of controller B according to the access state (PCW—signal) of controller A synchronized by FF 30.
  • PCW-signal When controller A is in the non-access state, (PCW-signal is H), select the same area as the area where the last write was performed (output of FF44), and when controller A is in the access state (PCW-signal is L) Select the area on the opposite side of the current access area of controller A (the logical inversion of the ALIO signal).
  • gate 46 corresponds to logic II described above
  • gate 45 corresponds to logic IV described above.
  • the FF 48 latches the output of the gate 47 at the rising edge of the CRCEN signal, so that the result of selecting the read area by the gates 45 to 47 is taken into the FF 48 at the start of the read operation. Then, it is added to the address most significant bit ARH of the memory 10 as the read area selection signal AR10.
  • the CRCEN signal input from the controller B is synchronized so that it changes at the rising edge of the system clock signal SCK. Therefore, the read area is determined by the FF48 at the rising edge of the system clock SCK. Is done. In contrast, The write area is determined by the FF37 at the falling edge of the system clock SCK. This implements the logic V described above.
  • FIG. 4 is a time chart showing an H / L area selection mode corresponding to various states (a) to ( ⁇ ) of the PPCW-signal and the CRCE signal. Note that H and L above each signal indicate the H / L area on the selected side of the memory 10, and I, II, III and IV indicated by arrows indicate the logic I, logic II, It corresponds to logic III and logic IV.
  • the controller A is accessing the L-side area of the memory 10, and thus the H-side area is selected as an object to be accessed from the controller B side. (Logic IV).
  • controller A is not accessing memory 10, so the same area as the immediately preceding write area, that is, in this case, the L-side area is selected as an access target from controller B (logical level). II).
  • the controller B since the controller B is not accessing the memory 10, the area of the immediately preceding write area, that is, the H-side area is selected as an access target from the controller A side (logic I). .
  • the L-side area is selected as an access target from controller B side (Logic IV).
  • controller A accesses memory 10
  • controller B is accessing the H area of memory 10;
  • the L side area is selected as the access method (Logic III).
  • the access area of the memory 10 is determined using any one of the logics I to IV.
  • the controller A and the controller B preferably transmit data from the controller A to the controller B without any synchronization. I can do it.
  • the force memory 1 0 shows a case you bisected by MSB ⁇ dresses s, as duplex configuration of the memory, menu a bit other than the most significant bit
  • the memory may be divided into two parts, and a memory composed of two different chips may be used.
  • the logical configuration of the control circuit 20 may be any other logical configuration as long as it achieves the same function as these.
  • FIG. 5 shows a conceptual configuration of a second embodiment of the present invention
  • FIG. 6 shows a schematic configuration example of the second embodiment.
  • system controllers A and B are provided in, for example, industrial machines.
  • the system controller (hereinafter abbreviated as “controller”) A is a master controller that supervises and manages the industrial machine itself in this case, and has a normal computer configuration equipped with CPU.
  • the system controller B exchanges data with the sensor factory installed at various places in industrial machinery.
  • the configuration shown in Fig. 5 shows a configuration for transmitting data from controller A to controller B.
  • the non-access time TNA to the memory of controller A in this case, It is assumed that the non-write time is longer than the memory access period TB of controller B (in this case, the read time).
  • Memory 10 is a dual-port RAM with write / read access that can be accessed from both controllers A and B. In this case, the most significant bit of address “AD”
  • the memory 10 has a so-called double-sided configuration, and the H side area of the memory 10.
  • the L side area is controlled by the controller ⁇
  • controller A since data transfer in only one direction from controller A to controller B is a problem, controller A performs only writing and controller B performs only reading.
  • a buffer circuit 20 is provided between the controller A and the memory 10.
  • the buffer circuit 20 temporarily stores the output data DT and the address AD of the controller A when writing data from the controller A to the memory 10, and then stores the temporarily stored data in accordance with a signal from the control logic 30.
  • the signal is output to either the H-side area or the L-side area of 10.
  • two FIFOs 20, 25 (first-in first-out circuit) are used. That is, FIF020 stores the address from the controller A, and FIF25 stores the data from the controller.
  • CSL Chip select from left side of memory 10 (controller A side)
  • CSR Chip select from right side of memory 10 (controller B side)
  • WL Write enable signal of memory 10
  • R— Read enable signal of memory 10
  • ALH The most significant address bit of the memory 10, and the signal for dividing the memory 10 into the H / L area from the left side (controller A side).
  • ARH The most significant address bit of the memory 10, right side (controller A).
  • the control logic unit 30 is connected to the control buses CB of the controllers A and B as shown in FIG. 5 (specifically, the write request signal WR— from the controller A and the read request signal RD of the controller B are input. ), Which performs write / read control of the memory 10 and the FI F020, 25, and is constituted by a plurality of circuits 31 to 45 as shown in FIG.
  • the logic of the plurality of circuits of the control logic unit 30 is all configured by hardware such as flip-flops and logic gates.
  • control logic unit 30 Before describing each circuit configuration of the control logic unit 30, a logical configuration of write / read control of the memory 10 and the FIFOs 20 and 25 by the control logic unit 30 will be briefly described.
  • the writing / reading is set to be more favorable in the L-side region than in the H-side region by about JI.
  • Previous write data is simultaneously written to either the H-side area or the L-side area of the memory 10 and the FIFO 25, and the address is written to the FIF020.
  • the state of the controller B side is determined at the start of the WR—signal transmission of the controller A, and the controller B determines the H / L area of the memory 10 When the controller B is not accessing the memory 10, it writes to the other side of the memory area. To write.
  • the data written to FIFO 25 and the address written to FIF ⁇ 20 at the time of the previous write described above are immediately written to FI F025 after the end of the previous write. 20 and the read data is converted to the address output from FIFO20. Therefore, write to the H / L area of the memory 10 opposite to the area selected at the time of the previous write.
  • controller B is accessing the area on the opposite side where data from FIF025 is to be written, the controller waits until the access of controller B is completed. Write immediately after.
  • FIG. 7 (a) shows the state of writing from the controller A to the memory 10, (b) shows the state of reading from the controller B, (c) shows the state of writing from the controller A to the FIFOs 20, 25, and (d) Indicates a rear light, and in ⁇ ff, L is active.
  • H and L attached to the ⁇ (sign indicate the H / L area of the memory 10.
  • the controller B since the controller B is accessing the L side area of the memory 10, the controller The H-side area is selected as an object to be accessed from the A side.
  • the data of the controller A is written to the H-side area of the memory 10 and the data of the controller A
  • the pre-write processing power s is written to the address IFOs 25 and 20.
  • the H side area of the memory 10 is occupied by the controller A at the time tl. Therefore, the L side area force s is selected as the access target of the controller B.
  • controller A's front light module ends, a rear light is performed.
  • the L-side area to be tried is occupied by the controller B. Therefore, the control logic unit 30 waits until the access of the controller B ends, and starts the post-write from the end time (time t3). After light takes Td time.
  • the controller A performs the previous write to the L side area on the priority side.
  • the data and address of the controller A are written into FIF I25,20.
  • controller B has not accessed the H-side area where the subsequent write is to be performed. Therefore, in this case, the rear write power is immediately performed from time t7 without any waiting time.
  • the L-side area is selected as a read target of the controller B.
  • the write request signal WR (Fig. 8 (a)) of the controller A is input to the previous write section generation circuit 31 and the gate 32.
  • the pulse cycle of the system clock CK is sufficiently shorter than the pulse width of the write request signal WR-.
  • the circuit 33 outputs a WRED signal indicating the end of the previous write by detecting the rise of the PPCW— signal from L to H.
  • the read section regenerating circuit 35 is a flip-flop, latches the read request signal RD— output from the controller B at the rising edge of the system clock, and outputs the read section signal CORT_ of the controller B (No. 8 figure)).
  • This CORT signal holds its output low while controller B is reading.
  • This C ⁇ RT— signal is input to the CSR— and R— terminals of the memory 10. Therefore, during the period when the CORT signal is L, the stored data is always read from any of the H / L side areas of the memory 10. That is, there is no waiting time for reading.
  • the ARH signal (FIG. 8 (n)) output from the system A side state determination circuit 38.
  • the logic configuration of the system A-side state determination circuit 38 will be described in detail later. That is, the output ARH of the judgment circuit 38 is determined by the states of the CSL signal and the ALH signal when the CORT signal falls to L, and the truth table thereof is shown in Table 1 below. Table 1
  • the ARH signal is H
  • the H-side area of the memory 10 is selected, and when it is, the L-side area of the memory 10 is selected.
  • the signal Al 0H is determined by the state of the C ⁇ RT— signal and the A RH signal when the PPCW signal falls to L (at the start of the previous write), and the truth table is shown in Table 2 below. Become like Table 2
  • H L L H L L L L H CORT— and ARH are the states when PPCW falls to L.
  • the memory 10 has a priority on the L-side area. Therefore, when the CORT— signal is H at the start of the previous write, that is, when the controller B is not accessing, the Al 0H signal corresponds to the priority area (L area) of the memory 10, and at the start of the previous write.
  • the CORT signal is L, that is, when the controller B is accessing, the Al0H signal is the reverse of the ARH signal, and selects the area opposite to the area that the controller B is accessing.
  • the selector 37 switches the A 1 OH signal and its inverted signal according to the state of the PPCW— signal and the PFD— signal and outputs the signal as an ALH signal.
  • the PPCW_ signal is L ( before being written) is non-inverted output force s selection signal A10H, PFD- signal to the trailing Lai preparative final Ryoji since the L (front Lai preparative end) of the inverted output signal a 10H is selected, further
  • L is selected according to the priority area of the memory 10. That is, the selector 37 selects an area on the opposite side to the previous write at the time of rear writing.
  • the ALH signal output from the selector 37 is input to the ALH terminal for selecting the H side area and the L side area of the memory 10.
  • the post-write wait condition generation circuit 39 generates a part of the condition that the post-write to the memory 10 from the FIFOs 20, 25 is made to wait by the access to the memory 10 of the controller B. , ARH- and A10H signals are input and PWT- is output (Fig. 4 (j)). The PWT—signal goes low when the wait conditions shown in Table 3 below are satisfied. Table 3
  • the PWT signal is input to the gate 40, the AND of the PFD signal is inverted with the inverted signal, and after being inverted, the signal is output as the PFDE signal (Fig. 8 (k)). That is, the gate 40 generates and outputs the PFDE signal which becomes L only during the later write period. This PFDE- signal also latches at the falling edge of clock CK.
  • This PFDE signal is input to gates 41, 43, and 44.
  • the gate 41 takes the NOR of the inverted signal of the PFDE— signal and the inverted signal of the PPCW— signal, and inputs the NOR output CSL to the CSL terminal of the memory 10. That is, the gate 41 causes the CSL- signal to go low during the pre-write (PPCW_) and post-write (PFDE-). At this time, the memory 10 is chip-selected from the left.
  • the CSL signal is also input to the system A side status judgment circuit 38.
  • the A side state judgment circuit 38 judges the access state of the controller A side at the time when the C 0 RT— signal falls to L based on the input CSL_ signal and A LH signal.
  • the controller B determines which area (H / L area) of the memory 10 to select, and outputs a signal ARH signal indicating the selection (FIG. 8 (II)).
  • the truth table is as shown in Table 2.
  • the ARH signal the H-side area of the memory 10 is selected when H is H, and the L-side area of the memory 10 is selected when L is L.
  • Pulse signals slightly out of phase from the pulse generator 42 are input to the gates 43 and 4, respectively.
  • the PFDE- signals input to the other terminals of the gates 43 and 44 pass the pulse signals, The cutoff is switched. That is, when the PFDE signal is L, the pulse output from the pulse generator 42 is output from each of the gates 43 and 44.
  • the pulse signal passed through the gate 43 is input to the FR- terminal of FI F020,25. Therefore, the address stored during the previous write is The pulse and data are output according to the output pulse of the pulse generator when the PFDE signal goes low.
  • the address output from FI F020 is input to the AD terminal of the memory 10, and the data output from FIF025 is input to the DT terminal of the memory 10.
  • the pulse signal passed through the gate 44 is input to the gate 45.
  • the gate 45 the output of the gate 32 and the NOR of the output of the gate 44 are taken and input to the WL- terminal of the memory 10. That is, the gate 45 outputs the output of the gate 32 indicating that the previous write is being performed (the WR signal during the period in which the PPCW signal is L, during the previous write) and the output of the gate 44 which indicates that the rear write is being performed (PFDE— By taking the NOR with the output of the pulse generator during the period when the signal is L, the pulse train required for the previous and subsequent write is input to the WL- terminal of the memory 10.
  • the rear light is output control from the hardware configuration FIF 2520, 25, its length (PFDE_) is much shorter than the front light (PPCW—).
  • the same number of pulse signals as the WR- signal are output during the period when the PFDE- signal is low. This is because the PFDE- becomes H by the EF- output from the FIFO, the pre-write end detection signal WRED, and the post-write wait condition signal PWT-, and masks the pulse coming from the pulse generator 42 at all times.
  • the pulse generator also controls the pulse position and duty of the gates 43, 44, which are the source of the FR- of FIF ⁇ and the WL- of the memory 10.
  • control port magic unit 30 The above is the configuration of the control port magic unit 30, and its operation will be described below with reference to the time chart shown in FIG.
  • the first WR— signal is output from the controller A (FIG. 8 (a)).
  • the previous write section generation circuit 31 triggers the L state of the first WR signal at the falling edge of the clock CK, and then outputs the P PCW signal that maintains the L state for a predetermined time TA. (Fig. 8 (b)).
  • the delayed output of this PPCW— signal and the NAND output of the WR— signal are output through the gate 32, and this signal is input to the WF— terminals of the FI FOs 20, 25 and the WL of the memory 10 through the gate 45. — Input to the terminal (Fig. 8 (c) (e)).
  • WF- and WL- are each light-enabled terminals.
  • the PPCW signal is The signal is input to the CSL- terminal (Fig. 8 (d)) of memory 10 and the chip select from the left side is enabled.
  • the system B side state determination circuit 36 determines the state of the controller B side based on the state of the CORT signal and the state of the ARH signal at the time when the PPCW signal falls (time tl). Based on the result, a signal indicating which of the H / L areas of the memory 10 is to be selected is output.
  • the CORT— signal is H and the ARH signal is L at time tl
  • the A 1 OH signal goes L so that the L-side region of the superior 11 is selected (see Table 2).
  • This Al0H signal is input to the ALH terminal of the memory 10 via the selector 37.
  • the data of the controller A is written to the L side area of the memory 10 in synchronization with the WR— signal of the system controller A.
  • the address of the controller A is written to the FIF020, and the data of the controller A is written to the FIFO 25, so that the pre-write processing is executed.
  • the access (reading) of the controller B is also performed during the previous write processing, and the state determination circuit 38 of the system A determines that each falling point of the CORT— signal (time 12, t3, t) At t5 and t6), the access state of the controller A is determined, and the area of the memory 10 to be accessed by the controller B is selected based on the determination result.
  • the controller A selects the L side area of the memory 10 during the previous write, the access target of the controller B during the previous write is as shown in the ARH signal.
  • the previous write end detection circuit 33 is detected by the previous write end detection circuit 33 as the rise of the PPCW signal, and the circuit 33 outputs the WRED signal (see Table 1). Time t7).
  • the WRED_ signal is output from the PFD generation circuit 34:
  • the PFD— signal falls to L at time 17.
  • the selector 37 since the selector 37 outputs an inverted signal of the A1OH signal while the PFD- signal is L, the ALH signal is H during the period from time t7 to t9.
  • the H-side area (A 10 Waiting time (Tc) power s exists because controller B power s read access to H).
  • Tc Waiting time
  • the rear writing is started by the configuration of the rear writing wait condition generating circuit 39 and the gate 40. That is, at time t8, the PFDE— signal falls to L due to the rise of the C 0 RT— signal, and at time 9 thereafter, the PFDE— signal falls to H due to the rise of the PFD— signal caused by the rise of the EF— signal. Get up.
  • the period from time t8 to time t9 is a post-write period.
  • the output pulse of the pulse generator 42 is input to the FR- terminals (read enable) of the FIFOs 20, 25 by the PFD E- signal.
  • the output pulse power of the pulse generator 42 is input to one WL terminal (write enable) of the memory 10.
  • the CSL- terminal of the memory 10 is also in a chip select state by the PFDE- signal.
  • the output of the FIFO 20, that is, the address signal output from the controller A at the time of the previous write is input to the AD terminal of the memory 10, and the output of the FI F025 is That is, at the time of the previous write, the data output from the controller A is input to the DT terminal of the memory 10, and at this time, the ALH terminal is at the H level.
  • the data output from controller A is written. Then, as a result of the subsequent writing, the storage contents of the L-side area and the H-side area of the memory 10 become completely the same.
  • Fig. 10 shows the accurate HI of PFDE-, FR-, WL- in the post-write period.
  • Fig. 9 shows another example of the access cycle from controller A (PPCW-) and the access cycle from controller B (CORT-).
  • the basic operation is the same as that shown in Fig. 8. The description is omitted because they are the same. Also in FIG. 9, there is a slight post-write period Tc.
  • the memory 1.0 is divided into two parts by the most significant bit address.
  • the memory may be divided into two parts by bits other than the most significant bit.
  • a memory consisting of two different chips may be used.
  • the logical configuration of the control logic unit 30 may be any other logical configuration as long as it achieves the same function as these.
  • FIF 0 as a sofa circuit, an ordinary set of flip-flops may be used.
  • FIG. 11 shows a conceptual configuration of a third embodiment of the present invention
  • FIG. 12 shows a detailed schematic configuration example thereof.
  • the system controllers A and B are, for example, used for industrial machinery.
  • the system controller (hereinafter abbreviated as controller) A is a master controller that supervises and manages the industrial machine itself in this case, and has a normal computer configuration equipped with CPU and memory.
  • the system controller B should be able to send and receive data to and from sensor factories installed at various locations in industrial machinery.
  • the configuration shown in FIG. 11 shows a configuration for transmitting data from controller A to controller B.
  • the non-access time Td It is assumed that the non-write time is longer than the memory access period TB (read time in this case) of controller B.
  • system controller A operates by system clock CKA
  • controller B operates by clock CKB.
  • These clocks CKA. CKB are completely different in terms of their period, phase, etc.
  • the memory 10 is a dual-port RAM having a write / read function that can be accessed from both the controllers A and B.
  • the memory area is divided into H and L sides.
  • When accessing from the controller A side set the “ALH” to H / L to select the H / L side area.
  • the memory 10 has a so-called dual configuration, and the H-side area and the L-side area of the memory 10 are consequently completely lost at every writing cycle of the controller A by the control described later of the control port magic section 30. It is adapted to be written the same data force s manual. In this case, as described above, since data transfer in one direction from controller A to controller B is a problem, controller A performs only writing and controller B performs only reading.
  • a buffer circuit 20 is provided between the controller A and the memory 10.
  • the buffer circuit 20 temporarily stores the output data DT and the address AD of the controller A when data is written from the controller A to the memory 10, and thereafter stores the temporarily stored data in the control port ⁇ (signal from the control port 530). Therefore, the data is output to either the H-side area or the L-side area of the memory 10, and in this case, two FI F020, 25 (first-in first-out circuits) are used. That is, the FIF020 stores the address from the controller A, and the FIFO 25 stores the data from the controller, and before describing the internal configuration of the control logic unit 30, The signal input / output terminals of the memory 10 and the FI F020.25 will be described.
  • CSL Chip select from left side of memory 10 (controller A side)
  • CSR Chip select from right side of memory 10 (controller B side)
  • ALH This is the most significant address bit of the memory 10, and is a signal for dividing the memory 10 into H / L area from the left side (controller A side).
  • ARH This is the most significant address bit of the memory 10, and is a signal for dividing the memory 10 into two H / L areas from the right side (controller B side).
  • the control logic unit 30 is connected to the control bus CB of the controllers A and B as shown in FIG. 11 (specifically, the write request signal WR from the controller A and the read request signal RD from the controller B). -Is input), and performs write / read control of the memory 10 and the FI F020, 25, and is composed of a plurality of circuits 31 to 54 as shown in FIG.
  • the logic of all of the plurality of circuits in the control logic unit 30 is configured by hardware such as flip-flops and logic gates.
  • control logic unit 30 Before describing each circuit configuration of the control logic unit 30, a logical configuration of write / read control of the memory 10 and the FI F020, 25 by the control logic unit 30 will be briefly described.
  • the memory 10 is set higher in writing / reading in the L-side region than in the H-side region.
  • Previous write data is simultaneously written to either the H-side area or the L-side area of the memory 10 and FIF ⁇ 25, and the address is written to FIF020.
  • the state of the controller B side is determined at the start of the transmission of the WR signal of the controller A. If controller B has already read and accessed any of the H / L areas of memory 10 at the time of this determination, controller A writes to the opposite area, and controller B If 10 is not accessed, write to the L side area on the priority side.
  • post-write the above-mentioned pre-write After the previous write, the data written to FI F025 and the address written to FIF ⁇ 20 are read from FIF025 and .20, and the data read from FI F025 is output from FI F020.
  • controller B is accessing the area on the opposite side where data from FIF025 should be written, the controller waits until the access of controller B ends, and the access ends. Later write will be performed later.
  • the judgment result at the above three points is H, L, L (H: select the H side area; L; select the L side area)
  • the result of the majority decision is L
  • the controller A determines the L side area.
  • the above three judgment results are L. H and H
  • the result of the majority decision is H and controller A accesses the H side area. It is said that three majority decisions are taken That is, the result of the majority decision cannot be obtained only by the first judgment result, and at least two judgment results are necessary in order to obtain three large numbers.
  • the memory access area of the controller A at the time of the previous write is determined after at least two determination results have been obtained.
  • the result of the majority decision is used as a flag signal indicating the memory access state of the controller A to determine the status of the partner controller A when reading the controller B.
  • this flag signal is in a state corresponding to the first determination result.
  • the state of the controller A is determined only once at the start of the transmission of the read request signal RD- based on the flag signal, and the controller B accesses according to the determination. Determine the memory area. If the read request signal RD- is started at the first judgment point in the judgment at the three different points, the controller B accesses the L-side area on the priority side at the same time. Is set to
  • FIGS. 13 to 15 (a) shows the previous write section by the PP CW 1— signal generated from the write request signal WR— output from the controller A, and (b) shows the PPCW 1— signal (C) shows the clock signal ck, (d) shows the read request signal RD_ output from the controller B and the read period, and e) is a flag that is set by judging the state of the partner controller B when the WR signal falls, ( ⁇ ) is the same flag that is set after half a clock ck when the WR signal falls, ( g) is the same flag that is set one clock ck after the fall of one WR signal, (h) is a flag that takes the majority decision of flags 1 to 3, and (i) is the previous light and the rear light.
  • the flag that determines the memory area to be selected, and (j) indicates the post-write period.
  • the flags 1 to 3 shown in (e) to (g) are the memory areas to be accessed by the own controller A based on the status judgment of the partner controller B at the previous write, as described above. The result of performing the judgment process for selecting at three different points in time is shown.
  • L is active for signals other than flag signals, and H and L on each signal indicate H / L on the selected side of the memory 10. The area is shown.
  • FIG. 13 shows a state where the controller 13 is already accessing the memory 10 at the start of the previous write.
  • the controller B since the controller B is accessing the side area of the memory 10 at the time tO, the H side area is selected as the access target of the controller A, and as a result, the period from the time tl to the time 3
  • the controller A data is written to the H-side area of the memory 10 and the data and address of the controller A are written to FI F025.20.
  • the L-side area is selected as an access target of the controller B. .
  • the control logic unit 30 waits until the access power s of the controller B ends, and starts the post-write from the end time (time t4).
  • the post-write ends at time t5.
  • FIG. 14 shows a case where the falling edge of the PPCW1 signal (described later) generated from the WR signal of the controller A and the falling edge of the RD signal of the controller B are simultaneous (time tO).
  • the controller B which makes only one determination, sends the signal PPCW1—indicating the access of controller A to H (not accessed). ), The L side area on the priority side is selected.
  • the controller B reads the data from the memory 10 to the L-side area. Start access.
  • the flag 1 indicating the result of selecting the memory area to be accessed by the own controller A based on the state of the other controller B at the time t O is a memory access to the L area of the other controller B at the time 10. Remains L because it cannot be detected.
  • the state of the remote controller B can be checked, so that the flag 2 rises to H opposite to the memory access area L of the controller B at time 11.
  • flag 3 which rises to H at time t2. Therefore, many of these flags 1 to 3
  • the majority flag that outputs decision logic rises to H at time 2.
  • the write area selection flag has the same logical value as the majority flag in the previous write, and the inverted value of the majority flag in the subsequent write. Therefore, thereafter, the data output from controller A is written to the H-side area of memory 10 (time t3 to t4).
  • the data addressing power FIF0 25, 20 of controller A is written.
  • the controller B has not accessed the L-side area where the subsequent write is to be performed. Therefore, in this case it is carried out post-La I solved s immediately from the time without waiting time.
  • Fig. 15 shows the case where the falling edge of the RD- signal of the controller B and the falling edge of the RD- signal of the controller B are at the same time half a clock after the falling of the WR- signal of the controller A (more precisely, the PPCW1 signal).
  • flag 1 is set to L on the priority side at time 10.
  • the read request signal RD— of controller B falls to L.
  • the majority flag and the PP CW 1— signal indicating access of controller A are followed.
  • the state of the other controller A is determined based on the light.
  • the majority flag is L at time tl
  • the PP CW1—signal is L, so that the H area power s, which is the reverse of the majority flag, is selected as the read target area of the controller B, and the resultant time tl ⁇
  • the reading power s ' from the H-side area of the memory 10 by the controller B is performed.
  • the write request signal WR— (FIGS. 16, 17 (a)) of the controller A is input to the previous write section generation circuit 31 and the gate 41.
  • the pulse cycle of the system clock CK mentioned above should be sufficiently shorter than the pulse width of the write request signal WR-.
  • the previous write section generation circuit 31 is composed of a one-shot multivibrator circuit, a flip-flop, and the like.
  • the write request signal WR is monitored by the falling edge of the system clock CK, and then the L state is held for a predetermined time TA.
  • the WR- signal is the force that is output from the controller A a number of times during the 1-write period of the controller A (see Fig. 16) from the controller A. These signals correspond to the period when these WR- signals are being output.
  • —Signal is L
  • This PPCW 1— signal is input to the system B state sectional circuit 32 and the like.
  • the system B side state determination circuit 32 includes a gate 33, five D-type flip-flops 34 to 38, and a majority circuit 39.
  • the PPCW1 signal is input to the D terminal of the flip-flop 34, and the PP CW1 signal is delayed by a half cycle (half clock) of the CK signal CK (Fig. 17 (c)). Is output from the flip-flop 34.
  • the PPCW2 signal is further input to the flip-flop 36, so that the PP CW1 signal is delayed by one cycle of the clock CK (one clock), and the PP CW3 signal (Fig. 17 (d)) is flip-flop-connected. Output from step 36.
  • PPCW2 PP CW3 signal is PPC
  • the Wl signal is delayed by half a clock
  • the PPCW1 signal, PPCW 2_ signal, and PPCW3 signal are input to the clock terminals of flip-flops 35, 37, and 38, respectively.
  • the D terminal of these flip-flops 35, 37, and 38 receives the output SBLA of the gate 33.
  • the gate 33 determines the state of the system B side by ANDing each of the inverted output of the read request signal RD— of the system controller B and the output ARH of the system A side state determination circuit 47. "Accordingly, the controller A determines which area (H / L area) of the memory 10 to select and outputs the signal SBLA. This SBLA signal is output from the controller 10 to the H / L It has the property as a judgment material for deciding whether to select a region.
  • the ARH signal indicates which of the H / L area the controller B selects when reading by the controller B, and a logical configuration for outputting the ARH signal will be described later in detail.
  • the ARH signal is H
  • the H-side area force of the memory 10 is selected
  • the ARH signal is L
  • the L-side area is selected.
  • the configuration of the gate 33 and the flip-flop 35 determines the access state of the controller B side based on the state of the RD— signal and the ARH signal when the PPCW 1 — signal falls to L.
  • the A side determines which area (H / L area) of the memory 10 to select, and outputs a signal ABC1 indicating the result (FIG. 17 (e)). That is, the signal ABC1 is determined by the state of the RD-signal and the ARH signal when the PPCW1-signal falls to L, and the truth table thereof is as shown in Table 4 below. Table 4
  • HLLHLLLH RD- and ARH indicate the state when PPCW1- falls to L. That is, as described above, the memory 10 has a priority on the L side area power, and therefore, when the previous write is started, the RD— signal is ⁇ , that is, when the controller is not accessing the memory, the ABC1 signal is the memory 10 power. When the previous write starts, the RD— signal is low, that is, when controller B is accessing, the ABC1 signal is the reverse of the ARH signal, and controller B is accessing. Try to select an area that is the reverse of the area.
  • the flip-flop 37 latches the output SBLA of the gate 33 at the falling point of the PPCW2 signal, that is, half a clock after the falling of the PPCW1 signal, and outputs it as the ABC2 signal (FIG. 17 (f)).
  • the flip-flop 38 latches the output SBLA of the gate 33 at the falling edge of the PPCW3 signal, that is, one clock after the falling edge of the PPCW1 signal, and outputs it as the ABC3 signal (Fig. 17 (g)). ).
  • the flip-flops 35, 37, and 38 latch the output of the gate 33 at three different times shifted by half a clock to determine the state of the controller B three times with a time lag.
  • Corresponding controller A side ⁇ Outputs flag signals ABC1, ABC2, ABC3 indicating the memory area (H / L area) to be selected.
  • These flag signals ABC1 to ABC3 are input to a majority circuit 39, and the majority circuit 39 takes majority logic of these input signals. That is, the majority circuit 39 takes a majority vote at each time point of the input signals ABC1 to ABC3, and outputs the result of the majority decision to A1OH (FIGS. 16 (1) and 17 (p)).
  • the majority circuit 39 takes a majority vote at each time point of the input signals ABC1 to ABC3, and outputs the result of the majority decision to A1OH (FIGS. 16 (1) and 17 (p)).
  • ABC 1 to ABC 3 force at a certain time
  • L is output when L, L.H, and ABC 1 to ABC 3 is L, H, L at a certain time.
  • L is output, and similarly, when H, H, L, H is output.
  • the PPCW3--signal is input to the delay circuit 40, where it is input to the gate 41 after being delayed by several clocks CK.
  • the gate 41 takes the NAND of the WR signal from the controller A and the inverted output of the delayed output of the PPCW 3-signal, and inputs the output to the WF terminal of FI F020, 25 (Fig. 16 ( e), 17th Figure ⁇ ))).
  • the pulse period of the system clock CK is sufficiently shorter than the pulse width of the WR signal, so that the output of the delay circuit 40 that delays one WR signal by several clocks and the WR signal are output.
  • the first pulse of the WR signal is not erased by being input to the gate 41 (see Fig. 17).
  • the delay circuit 40 is used to save time until the output power ⁇ of the selector 50 is applied to the ALH terminal of the memory 10 during the previous write.
  • the FIFOs 20, 25 write the address signal and the data signal output from the controller ⁇ to the memory cells of the FI F020, 25, respectively.
  • the PPCW1 signal and the PPCW3 signal are input to the previous write end detection circuit 42, and the end of the previous write is defined based on these input signals.
  • the intermediate time between the rising edge of the PPCW1 signal and the rising edge of the PPCW3 signal, that is, the rising edge of the PPCW2 signal is defined as the end of the previous write.
  • the previous write end signal WR Output ED is defined as the end of the previous write.
  • the PFD-generating circuit 43 receives the EF- signal, the WRED signal, and the feedback signal from the FIFO 20, and includes a plurality of logic gates, flip-flops, and the like.
  • the EF signal (Fig. 16 (h), Fig. 17 (m)) is the empty flag of the FI FO 20, as described above, and is in the H state during the above-mentioned pre-write and post-write operations. It is in.
  • the PFD-generating circuit 43 forms a PFD signal that rises at the rising edge of the WRED signal, that is, the PPCW2 signal, and rises at the falling edge of the EF signal. That is, the PFD_ signal becomes L from the end of the previous write to the end of the post-write.
  • the selector 50 switches the A10H signal and its inverted signal according to the state of the PPCW1 signal and the PFD signal and outputs the signal as an ALH signal.
  • the PPCW1 signal is L
  • the output ALH is output.
  • the non-inverted output of signal A10H is selected during (almost during the previous write), and the inverted output of signal A10H is output when the PFD signal is L (from the end of the previous write to the end of the later write).
  • L is selected according to the priority area of memory 10. In other words, this select area 50 is used to select the area on the opposite side of the previous write at the time of the later write.
  • the ALH signal output from the selector 50 is Input to ALH pin for selecting H side area and L side area of memory 10.
  • the read request signal RD output from the controller B is directly input to the CSR— and R— terminals of the memory 10. Therefore, during the period when the RD- signal is L, the stored data is always read from any of the H / L areas of the memory 10. That is, there is no waiting time for reading.
  • the ARH signal (FIG. 16 (n), FIG. 17 (o)) output from the system A side state determination circuit 47.
  • the logical configuration of the system A-side state determination circuit 47 is described below in brief with the power 5 ′, which will be described in detail later. That is, the output ARH of the judgment circuit 47 is determined by the state of the CSL— signal and the ALH signal when the RD— signal falls to L.
  • H L L H L L L L H CSL— and A LH indicate the state when RD— falls to L.
  • the ARH signal is H, the H-side area of the memory 10 is selected, and when it is, the L-side area of the memory 10 is selected.
  • the post-write wait condition generation circuit 44 generates a post-write power s from the FIFO 20.25 to the memory 10 and a part of the condition for waiting by the controller B's access to the memory 10, and RD-
  • the signal, the ARH signal and the A10H signal are input signals, and one PWT signal is output (Fig. 16 (j)).
  • PWT — signal goes low when the wait conditions shown in Table 6 below are satisfied.
  • This PWT signal is input to the D terminals of flip-flops 45 and 46.
  • the inverted clock signal of the system clock CK is input to the clock terminal of the flip-flop 45, and the non-inverted signal power of the system clock CK is input to the clock terminal of the flip-flop 46.
  • the PWT- signal is latched twice at a timing shifted by half a clock CK by 46, and their outputs are input to the gate 48.
  • the gate 48 takes the AND of the inverted signal of the PFD- signal and each output of the flip-flops 45 and 46 and outputs the inverted signal as the PFDE- signal (Fig. 16 (k), Fig. 17 (1)). That is, the PFDE signal which becomes L only during the later write period is formed and output by the gate 48.
  • This PFDE signal is input to gates 49, 52 and 53.
  • the gate 49 takes the NOR of the inverted signal of the PFD E— signal and the inverted signal of the PPCW 1— signal, and inputs the NOR output CSL— to the CSL— terminal of the memory 10. That is, the gate 49 causes the CSL one signal to go low during the pre-write (PPCW1—) and post-write (: PFDE—), and the memory 10 is chip-selected from the left.
  • the CSL one signal is also input to the system A side state determination circuit 47.
  • a side state The determination circuit 47 determines the access state of the controller A based on the CSL— signal and the ALH signal input as described above when the RD_ signal falls to L.
  • the controller B The side determines which area (H / L area) of the memory 10 is to be selected, and outputs a signal ARH signal indicating the selection (FIG. 16 (n)).
  • the truth table is as shown in Table 5.
  • the ARH signal the H side area of the memory 10 is selected when the ARH signal is H, and the L side area of the memory 10 is selected when the ARH signal is L.
  • this system A following state determination circuit 47 gives priority to the L side area as shown in Table 5, and therefore, when it is determined that the controller A side power is not being accessed at the falling edge of the RD— signal. (CSL—Signal is H) Immediately, the L side area is accessed. Therefore, if the rear write of controller A is in the L-side area and the fall of the read request signal RD— from controller B and the start of the rear write occur simultaneously, Read and post-write may occur. In order to prevent this, two flip-flops 45 and 46 are provided, and the PWT- signal is latched by the flip-flops 45 and 46 with a time lag, and these latch signals are input to the gate 48. Like that.
  • the pulse signals slightly out of phase from the pulse generator 51 are input to the gates 52 and 53, respectively, and the pulse signals pass through the PFDE- signals input to the other terminals of the gates 52 and 53, respectively.
  • the cutoff is switched. That is, when the PFDE signal is L, the pulse output from the pulse generator 51 is output from each gate 52,53.
  • the pulse signal that has passed through the gate 52 is input to the FR- terminals (FIG. 16 (d)) of the FIFOs 20, 25. Therefore, the addresses and data stored at the time of the previous write are output from the FIFs 020 and 25 according to the output pulse of the pulse generator 51 when the PFDE— signal becomes L.
  • the address output from the FIFO 20 is input to the AD terminal of the memory 10, and the data output from the FIFO 25 is input to the DT terminal of the memory 10.
  • the pulse signal passing through the gate 53 is input to the gate 54.
  • the output of gate 41 and the output of gate 53 are NORed, and the memory 10 W Input to L- terminal. That is, the gate 54 takes the NOR of the output of the gate 41 indicating the previous write and the output of the gate 53 indicating the state of the subsequent write, so that the pulse train required for the previous write and the later write is written to the WL of the memory 10. Input to the terminal.
  • the length (P FDE—) is extremely shorter than the length of the front write (PPCW1 to PPCW3—).
  • the same number of pulse signals as the WR signal are output during the period when the PFDE signal is low. This is because PFDE- becomes H by EF- output from FIF 0, pre-write end detection signal WRED, post-write wait condition signal P WT-, and masks the pulse that is always coming from the pulse generator 42. .
  • the pulse generator also controls the phase and duty of the pulse to gates 43 and 44, which are based on the FR- of the FIFO and the WL- of the memory 10.
  • Lh is the configuration of Control Port Gic II
  • control logic unit 30 Next, the overall operation of the control logic unit 30 will be described with reference to the time chart shown in FIG. The description of the operation shown in FIG. 16 is not always strict about time.
  • the WR signal at the first stop is output from the controller A (Fig. 16 (a)).
  • the previous write section generation circuit 31 triggers the first L state of the WR signal at the falling edge of the clock CK, and then holds the L state for a predetermined time TA during which the controller A is accessing.
  • This PP CW1— signal is delayed by one clock by the flip-flops 34 and 36, further delayed by several clocks by the delay circuit 40, and then input to the gate 41.
  • Gate 41 also receives the WR— signal.
  • the output of the gate 41 is input to the WF- terminals of the FIFOs 20, 25, and is input to one WL terminal of the memory 10 via the gate 54 (FIGS.
  • WF- and WL_ are light enable terminals. Almost at the same time (approximately time tl), the PPCW1 signal is input to the CSL terminal (Fig. 16 (d)) of the memory 10 via the gate 49, and the chip select from the left side is enabled. .
  • the system B side state judgment circuit 36 The state of the controller B side is determined by majority logic based on the states of the RD— signal and the ARH signal at the time when the P CW 3— signal falls, and the H / L area of the memory 10 is determined based on the determination result. Outputs a signal indicating which one to select. In this case, since the RD— signal is H and the ARH signal is L near time tl, the A 1 OH signal is set to B so that the L side area on the priority side is selected. The A10H signal is input to the ALH terminal of the memory 10 via the selector 50.
  • the data of the controller A is written to the L side area of the memory 10 in synchronization with the WR signal of the system controller A, and the address of the controller A is set to FIF ⁇ 20. And the data of controller A is written to FIFO 25, and the pre-write processing is executed.
  • the access (reading) of the controller B is also performed during the previous write processing, and the state determination circuit 47 of the system A determines at the time of each falling of the RD— signal (time t2, t3 , t4, t5, t6), the access state of the controller A is determined, and based on this determination, the area of the memory 10 to be accessed by the controller B is determined.
  • the controller A since the controller A selects the L side area of the memory 10 during the previous write, the access state of the controller B during the previous write can also be determined from the ARH signal. Thus, it becomes the H-side region.
  • the PFD-signal output from the PFD-generation circuit 43 falls to L at time 7.
  • the selector 50 outputs an inverted signal of the A1OH signal while the PFD- signal is L, the ALH signal is H during the period from time t7 to t8.
  • a waiting time exists because the controller B card read access is being performed to the H-side area (A 10 H) of the memory 10 to which the subsequent write is to be performed. Therefore, the configuration of the post-write wait condition generation circuit 44, the flip-flops 45 and 46, and the gate 48 starts the post-write after the waiting time TC exists. That is, at time t9, the PFDE signal rises to the rising edge of the RD_ signal. Therefore, the signal falls to L, and at time 19, the PFD E_ signal rises to H due to the rise of the PFD signal caused by the fall of the EF signal. The period from time 8 to time 9 is the post-write period.
  • the output pulses of the pulse generator 51 are input to the FR- terminals (read enable) of the FIFOs 20 and 25 by the PFDE- signal and 16 (d)), the output pulse of the pulse generator 51 is input to the WL- terminal (write enable) of the memory 10. Further, the CSL- terminal of the memory 10 is also in the chip select state by the PFDE- signal.
  • the output of the FIFO 20 that is, the address signal output from the controller A at the previous write
  • the output of the FIFO 25 The output, that is, the data output from the controller A at the time of the previous write is input to the DT terminal of the memory 10, and at this time, the ALH terminal is at the H level.
  • the data output from controller A is written. Then, as a result of the subsequent writing, the stored contents of the L following area and the H side area of the memory 10 become completely the same.
  • the system A-side state determination circuit 47 determines and outputs the ARH signal at this time tl based on the logic in Table 5 above. In this case, since the CSL- signal is H at time tl, the ARH signal maintains the L state.
  • the output of the flip-flop 35 at the time when PPCW1—signal power 3 ⁇ 4 falls, that is, the ABC 1 signal, is the fourth signal because the fall of the PP CW1 signal is slightly earlier than the fall of the RD— signal. It becomes by the logic of the table (RD is H).
  • the flip-flop 37 latches the output SBLA of the reproduction gate 33 at a time point (time t2) half a clock delay from the fall of the PPCW1 signal.
  • time t2 time point
  • the ABC2 signal rises to H at time t2.
  • the ABC3 signal rises to H at time t3, which is half a clock CK after time t2. Therefore, the A10H signal obtained by taking the majority logic of the ABC1 to ABC3 signals rises to H at time t3.
  • the gate 41 takes the NAND logic of the inverted signal of the PPCW3_ signal delayed by several clocks by the delay circuit 40 and the inverted signal of the WR- signal, and outputs its output to the WF- terminals of the FIFOs 20, 25 and the memory 10 Input to the WL— terminal. Therefore, in this case, from time t4 when the inputs to terminals WF— and WL— fall to L, the data of controller A is written to FI FO 25 and memory 10, and the address force of controller A The previous write, which is written to FO 20, begins.
  • the area in which the data of controller A is written is the H area, which is opposite to the access area (L area) of controller B.
  • Figure 18 shows a Taimuchiya one bets when it Ri falling under force s falling and controller B RD- signal PPCW2- signals simultaneously, Lai preparative start before but which are shown in FIG. 15 of the above Is equivalent to the detailed time chart.
  • the system A side status judgment circuit 47 in accordance with the fall of the RD— signal at time 2 judges that the partner controller A is accessing the L side area based on the input ALH signal, and reverses the ARH signal. Start up at H. As a result, at the same time as the fall of the RD signal at time t2, the read access by the controller B is started to the H-side area of the memory 10.
  • the system B side state determination circuit 32 determines the state of the partner controller B at the time 12 which is a half clock delay from the falling of the PPCW1 signal and at the time 3 which is further half a clock delay after that, Output power of signals ABC2 and ABC3 indicating the memory area to be selected by controller A in this case.
  • RD— is H (controller B is not accessing) or the time is From 12 onwards
  • controller B has started the actual read access to the H-side area of the memory. For this reason, the ABC2 signal and the ABC3 signal remain in the L state, and as a result, the Al0H signal and the ALH signal also remain in the L state.
  • the WL— terminal of the memory 10 and the WF— terminal of the FIFOs 20, 25 are: P PCW3 — Fall to L at a predetermined time (time t4) after the fall of the signal (time t3).
  • the data of the controller A is written to the L-side area of the memory 10, and also written to the FIFO 25, and the address of the controller A is written to the FIF020.
  • the falling of the RD-signal coincides with the falling of the PPCW2-signal, collision of the memory access area can be reliably avoided.
  • the same memory area can be used. Access collision can be suitably avoided.
  • the collision at the start of the front write can be avoided by the configuration of the majority decision circuit 39, and the collision at the start of the rear write can be avoided by the flip-flops 45 and 46.
  • FIG. 19 shows a fourth embodiment of the present invention.
  • system controllers A and B are, for example, those found in industrial machines.
  • the system controller (hereinafter abbreviated as “controller”) A is a master controller that supervises and manages the industrial machine itself, and has a general computer configuration including a CPU, memory, and the like.
  • the system controller B exchanges data with sensor works installed at various locations in industrial machinery.
  • the configuration shown in FIG. 19 shows a configuration for transferring data from controller B to controller A.
  • the access time TA to the memory of controller A this It is assumed that the readout period in this case is longer than the non-access time TNB of controller B (in this case, the period during which no writing is performed).
  • the memory area is divided into H and L sides.
  • the memory 10 has a so-called double configuration.
  • a buffer circuit 20 is provided between the controller B and the memory 10. After writing the data from the controller B to one of the H-side area and the L-side area of the memory 10, the notch circuit 20 reads the written data and writes it to the other area (ie, It functions as a temporary storage buffer in the case of memory-memory data transfer from the H-side area to the L-side area or the L-side area to the H-side area. Data read from one area is buffered by the buffer circuit. Once latched, it is output immediately and written to the other area of memory 10.
  • the buffer circuit 20 is composed of a large number of flip-flops (hereinafter abbreviated as FF groups).
  • the signal input / output terminals of the memory 10 and the FF group 20 are listed below.
  • R— Read enable signal of memory 10 (from right)
  • ALH the most significant address bit of the memory 10; a signal for dividing the memory 10 into two H / L areas from the left side (controller A side); ARH; the most significant address bit of the memory 10, right side (controller B) signal for dividing memory 10 into H / L area from AD
  • the system controller B outputs a transfer ready signal TCAL- in synchronization with the data transfer cycle, and the system controller A outputs a read request signal RD- in synchronization with the data read (reception) cycle.
  • TCAL signal and RD signal The control to input the data output from the controller B to the controller A via the memory 10 by controlling the writing / reading of the memory 10 and the FF group 20 based on the The control ⁇ -jick unit 30 composed of a plurality of circuits to be described.
  • a plurality of circuits of the control logic 3 0 is logically force s configuration all in Haiti Du E ⁇ such flip port Ppuya logic gates.
  • control logic unit 30 Before describing each circuit configuration of the control logic unit 30, a basic logical configuration of write / read control of the memory 10 and the FF group 20 by the control logic unit 30 will be briefly described. I do.
  • the memory 1 0, towards the L-side region with respect to the write / read is set from the H-side region Yu 53 ⁇ 4 Korokurairyoku s high.
  • Previous write data is written to either the H-side area or the L-side area of memory 10.
  • the controller A determines the state of the controller A at the start of the transmission of the TCAL signal from the controller B. If any one of the H / L areas is read-accessed, write to the area on the opposite side.If controller B does not access memory 10, write to the L-side area on the priority side. To write.
  • the H / L area selected at the previous write of memory 10 is replaced with the area selected at the previous write of the same memory 10. Performs memory-to-memory transfer to transfer data to the opposite H / L area. That is, at the time of the subsequent write, the H / L area selected at the time of the previous write of the memory 10 is made readable, and on the other side. 0 of H / L region was a writable state, and latched by temporarily FF group data read from the readable area that was, performs a process of writing the latched output to the writable and the memory area
  • the controller A accesses the memory area that has been made writable (the memory area opposite to that at the time of the previous write)
  • the controller waits until the access of the controller A is completed.
  • write a post light post light weight
  • controller B When the read request R D_ is output from the VI and controller A, the state of controller B is determined at the start of transmission of this RD— signal. If controller B is in the previous write, this previous write area When reading is performed from the area on the opposite side to the next write, and during the subsequent write, the area is set to be readable by memory-to-memory transfer (access area for the previous write performed immediately before the subsequent write) Read from the L side area on the priority side when controller B is not accessing.
  • the status of the controller B is determined by the rising edge of the system clock CK.
  • the status is determined by the falling edge of the system clock CK, so that the determination at the same time is prevented.
  • Lh is an outline of the logic of the control port ⁇ [530].
  • the transfer ready signal TCAL— (FIG. 20 (a)) of the controller B is input to the transfer start detection circuit 31 and the like.
  • the transfer start detection circuit 31 detects the falling of the TCAL- signal, and outputs a signal that rises to H at the falling of the TCAL- signal to the gate 36.
  • the other input terminal of the gate 36 receives an inverted signal s of the PDDE signal.
  • the PDDE signal (Fig. 20 (e)) is output from the post-write section generation circuit 50, and its generation logic indicates the force s described later in detail and the actual post-write section. , H only when the rear write is performed, otherwise it is o
  • the signal output from the gate 36 becomes H when the TCAL signal is input and when no later write is performed.
  • the post-write end detection circuit 33 outputs a signal which rises to H at the end of the post-write by detecting the falling edge of the PDDE signal.
  • the output of the detection circuit 33 is input to the AND circuit 35.
  • the flip-flop 34 latches the PDDE signal at the falling of the TCAL signal by inputting the PDDE signal to its D terminal and the inverted signal of the TCAL signal to its clock terminal. Therefore, the output of the flip-flop 34 rises to H at the time of the fall of the TCAL signal if the write operation is performed after that, and thereafter the state is inverted. That is, the output of the flip-flop 34 becomes H from the time when the “prior write wait” force shown in III starts.
  • the output of the flip-flop 34 is input to gates 35 and 53.
  • the gate 35 performs an AND operation on the output of the post-write end detection circuit 33 and the output of the flip-flop 34, so that even if the post-write is completed and the previous write is started in the aforementioned “pre-write wait” state, N signal that outputs a signal that rises to H
  • the output of the gate 35 is input to a NOR gate 37 and a delay circuit 38.
  • the delay circuit 38 resets the flip-flop 34 after slightly delaying the H output of the AND gate.
  • the gate 53 takes the AND of the output of the flip-flop 34 and the PDDE signal to form the WATPM signal which becomes H during the “previous write-wait” period (FIG. 2 (b)).
  • the NOR gate 37 outputs the FWRST signal indicating the start of the previous write by taking the NOR of the output of the gate 36 and the output of the gate 35.
  • the FWRST signal is not written after the TCAL signal is input (gate 36), and when the previous write starts after the previous write wait (gate 35), the falling edge of L is the previous write.
  • the section generation circuit 39 rises to H at the falling edge of the FWRST signal, and thereafter outputs a previous write section signal SBW that holds this H state for a predetermined time set in advance for the previous write section. (Fig. 20 (c)).
  • the write pulse generator 43 generates a pulse signal for writing data while the SBW signal is at H, and applies this pulse signal to the write enable terminal W— of the memory 10.
  • the SBW signal is input to the controller B, and the controller B outputs data during the period when the SBW signal is input (when SBW is H). That is, the SBW signal input to the controller B is a timing signal indicating the data transmission timing for the controller B.
  • the SBW signal is input to the address generation counter 44, and when the SBW signal is input, the address generation counter 44 starts counting and inputs the count output to the address terminal AD of the memory 10.
  • the address generation counter 44 also receives a PDDE signal indicating a later write period, and operates during the period in which the: PDDE signal is H. Further, the force value output from the counter 44 is also input to the system controller B, and this count value is also an address signal for data transmission.
  • the read section generation circuit 46 takes in the read request signal RD output from the controller A and outputs the read section signal P PC R of the controller A. 0 figure))).
  • This PPCR signal holds its output low while controller A is reading.
  • This PPCR- signal is input to the CSL- and RL- terminals of the memory 10. Therefore, during the period in which the PPCR signal is at L, the stored data is always read from any of the H / L areas of the memory 10. That is, there is no waiting time for reading.
  • which H / L area is selected is determined by the A10L signal (FIG. 20 (i)) output from the system A side access area determination circuit 47.
  • the system A side access area decision circuit 47 receives the SBW signal indicating the previous write section, the PDDE signal indicating the rear write section by the system B side, and the output A 1 OR power s of the highest address decision circuit 40. I have.
  • the Al OR signal indicates the output logic s , which will be described in detail later, and indicates the memory access area of the controller B in the previous write section.
  • H the H side area is selected, and when L, the L side is L side.
  • the area is selected.
  • the output level A 10L of the decision circuit 47 is determined as follows. When A10L is ⁇ , the ⁇ side area is selected, and when it is L, the L side area is selected.
  • PPCR When the signal falls to L, if the controller is in the middle of writing after B seconds (PDDE is H), select the read area (A10R) in the next write. As described above, the signal Al 0L is determined by the read section signal PPCR—SBW, PDDE, and Al OR at the time of falling, and the signal Al 0L is input to the ALU terminal (most significant bit of the address) of the memory 10 and the like. Is done.
  • the most significant address determination circuit 40 determines the state of the controller A at the start of the previous write based on the state of the PPCR—signal and the A10L signal when the FWRST signal falls, indicating the start of the previous write section. And respond to this decision To determine which area of memory 10 to select during the previous write.
  • the memory 10 has a priority on the L-side area. Therefore, at the start of the previous write, when the PPCR signal is H, that is, when the controller A is inactive, the Al OR signal is In response to the priority area (L area) of the memory 10, and when the PCR— signal is low at the start of the previous write, that is, when the controller A is accessing, the A1OR signal is the reverse of the A10L signal. Select the area opposite to the area currently being accessed by controller A.
  • the highest-order address inverting circuit 41 repeatedly outputs the inverted and non-inverted output of the highest-order address during the post-write period (PDDE is H) for the above-mentioned memory-to-memory transfer (post-write).
  • the pulse generation circuit 51 performs one inversion / non-inversion in one cycle of the ⁇ ERR— signal output from 1.
  • 0 E R R — signal is the read clock signal applied to the read enable terminal R — of memory 10.
  • the selector 42 selects the output Al OR of the most significant address determination circuit 40 when the SBW signal is H (during the previous write), and inverts the most significant address when the PDDE signal is H (during the subsequent write).
  • the Al 0RR signal (Fig. 20 (j)) output from this selector selects the inverted / non-inverted output of the highest address output from the circuit 41. Input to the selected ARH pin.
  • the post-write wait flag generation circuit 48 outputs a post-write-wait flag WADD— (see FIG. 20 (see FIG. 20)) from the end of the previous write to the start of the post-write, that is, only during the post-write wait period.
  • the WADD signal in the L state is output when the RDD signal s is input from the rear write cancel circuit 52 (post light skip) or when the PPCR signal rises from L to H ( Rises to H at the end of the access power of controller A).
  • the kei00 synthesis circuit 49 forms a PDD signal (Fig. 20 (d)) that goes high from the end of the previous write to the end of the write after the previous write and the pair. is there. However, this PDD signal falls from H to L at the start of the next previous write if the write after the pair with the previous write is cancelled. That is, the PDD signal is used to determine the end point of the post-write, and the PDD generation circuit 49 has a built-in timer circuit in which a predetermined period required for the post-write is set in advance.
  • this timer circuit starts timing when the previous write s ends (58 falls to), and then counts the predetermined time set in advance. Reset when done. In this case, the period during which PDD becomes H corresponds to the time period s.
  • the timer circuit starts counting from the rising edge of the WADD— signal (the end of the subsequent light wait period). Thereafter, it is reset when the set time is measured. In this case, the period during which PDD becomes H and the time period s do not correspond. In other words, in this case, the PDD signal rises to H at the same time as the end of the previous write (SBW falls to L), and then the H state changes to the post-write wait period (WADD— is L) and the post-write period. It is held during the period (time period).
  • the PDD signal The state is not defined by the clock value of the timer circuit, but by the RDD signal input from the write cancel circuit 52 later. In other words, this is the case where the write is canceled during the wait state of the subsequent write, and the PDD signal goes high due to the falling edge of the SBW signal. Fall to L.
  • the post-write cancel circuit 52 includes an AND gate (WADD 'PDD) for ANDing the inverted signal of the WADD- signal and the PDD signal, and a flip-flop for latching the output of the AND gate at the falling edge of the transfer ready signal CAL-.
  • WADD 'PDD AND gate
  • a flip-flop for latching the output of the AND gate at the falling edge of the transfer ready signal CAL-.
  • the post-write section generation circuit 50 includes an AND gate (WADD-PDD) for ANDing the WADD— signal and the PDD signal, a flip-flop, and the like, and actually performs post-write by the AND logic of the AND gate. Generates and outputs the post-write period signal P DDE after the signal goes low only during this period.
  • WADD-PDD AND gate
  • the gate 45 takes the NOR of the SBW signal and the PDDE signal, and inputs the NOR output to the chip select terminal CSR— of the memory 10.
  • the CSR 45 terminal becomes L at the time of the previous write (SBW) and at the time of the later write (PDDE) by the gate 45, and at this time, the memory 10 is chip-selected from the right side.
  • the pulse generation circuit 51 generates various pulse signals required for subsequent writing (memory memory transfer) while the PDDE signal is at H level.
  • the ERR signal (Fig. 22 (d)) is a read pulse signal of the memory 10, and the c SPG_ signal (Fig. 22) input to the read terminal R of the memory 10 and the highest-order address inversion circuit 41.
  • (f)) is a chip select signal of the FF group 20, which is set to L during a later write period.
  • the SPG__ signal is input to the chip select terminal FCL— of the FF group 20.
  • the P ISD signal (Fig. 22 (e)) shows that the FF group has 20 forces, A read pulse for reading data from the FF group 20, which is input to the read clock terminal FR— of the FF group 20.
  • WER—Signal (Fig. 22 (g)) is stored in memory 10.
  • control port magic unit 30 The above is the configuration of the control port magic unit 30, and its operation will be described below with reference to the timing charts shown in FIGS. In FIGS. 20 and 21, H and L above each signal indicate the selected memory configuration, I indicates the previous write, and II indicates the rear write.
  • the transfer ready signal TCAL— of the controller B falls to L.
  • the PDDE signal is H (during writing)
  • the outputs of gates 36 and 35 are L, and the previous writing start signal FWRST— is not output. That is, from time tO, since until time tl that PDDE signal becomes L being performed post Raitoka s, during pre becomes Lai Toei preparative period (WATPM signal post write period, as shown in FIG. 22
  • the most significant address bit ARH is inverted / non-inverted in synchronization with the read clock ⁇ ERR— by the most significant address inversion circuit 41 (FIG. 22 (b)).
  • the memory-to-memory transfer via the FF group 20 is performed by outputting an address signal other than the upper bits and further outputting various signals as shown in FIG. AD in Fig. 22 (c) is the least significant bit of the address signal output from the address generation counter 44.
  • Fig. 22 the memory-to-memory transfer from the L side area to the H side area of the memory 10 is performed. Is being done
  • the PDDE signal falls to L, and the write operation ends.
  • Later write end detection circuit 33 detects the end of the subsequent write and raises its output to H level.
  • the flip-flop 34 holds the PDDE signal at the H state from time tO, so that the output of the gate 35 rises to H at time 11.
  • the H output of the gate 35 is output to the previous write section generation circuit 39 and the highest address Input to the constant circuit 40.
  • the previous write section signal SBW rises to H at time tl, and this H state is maintained for a preset time.
  • the highest-order address determination circuit 40 determines the state of the partner controller A at the time tl, and determines the memory area to be selected by the controller B in the previous write.
  • the controller A has not accessed the memory 10 (PPCR—is H), so A 1 OR is to select the L side area on the priority side.
  • This Al OR signal is applied to the ARH terminal of the memory 10 via the selector 42.
  • the write pulse generator 43 and the address generation counter 44 operate in response to the H input of the SBW signal. During the H period of the SBW signal, a write pulse is input to the W terminal of the memory 10 and the address signal is input to the memory 10. 10 Input to AD terminal and controller B.
  • the SBW signal is also input to controller B. Therefore, controller B sends data while SBW is high. As a result, during the period from time tl to t2, a pre-write process is executed in which data from the controller B is written to the L side area of the memory 10.
  • the previous write ends, and the 58 signal falls to. Due to the falling of the SBW signal, the PDD generating circuit 49 raises the PDD signal to H. At this time t2, since the partner controller A is not accessing, the rear light wait flag WADD— is not output. Therefore, there is no wait for a later write, and the PDDE signal immediately goes to H at Lh at time 2.
  • the rising edge of the PDDE signal causes the highest-order address inversion circuit 41, the pulse generation circuit 51, and the address generation counter 44 to operate, and the write processing is executed after the above. Thereafter, the write processing is performed until time t5 when the timer circuit in the PDD generation circuit 49 ends the clocking operation. In the subsequent write processing, the write before the pair was performed on the L side area, so the H side area is the write side and the L side area is the read side.
  • PPCR is L
  • P PC R signal goes low.
  • This PPCR signal is input to the CSL terminal and the R terminal of the memory 10, and the memory 10 is in the read state during the time t4 to tl0.
  • the system A side access area determination circuit 47 determines the state of the partner controller B side and determines the memory area to be accessed by the own controller A.
  • the decision circuit 47 determines that the controller A selects the opposite L-side area. Set the A10L signal to L. As a result, during the period from time 4 to time 10, the data force s ′ in the L side area of the memory 10 is read and output to the controller A.
  • the post-write operation ends, and the PDDE signal falls to L.
  • the gate 35 becomes H at time 15 as described above, and as a result, the previous write start signal FWRST— is output at time 5.
  • the above-described pre-write processing is executed from time t5 to time t6 at which the time force s set in the previous write section generation circuit 39 ends. In this case, the pre-write processing is performed on the H-side area because the controller A is already accessing the L-side area.
  • the previous write force s for the H side area ends, and the SBW signal falls to L.
  • the next write is to be performed (the area on the write side of the subsequent write). Since the controller A is accessing the L side area, the output flag of the rear write wait flag generation circuit 48 is output.
  • the output PDD of the PDD generation circuit 49 rises to H, and the wait for the next write starts.
  • the transfer ready signal T C A L— of the controller B falls to L.
  • the rear write cancel circuit 52 latches the AND output of the inverted signal of the WADD signal and the PDD signal, that is, the H state at the falling of the TCAL signal, and converts this latch signal into an instantaneous rising signal. Output as RDD signal.
  • the WADD— signal rises to H, the: PDD signal falls to L, and the wait period for the later write ends.
  • the previous write to the H-side area ends, and the SBW signal falls to L.
  • the controller is accessing the L-side area where a write is to be performed after the controller A, so a wait for the next write occurs again. Thereafter, the weight of the light continues until the time t9 when TCAL—signal strength s falls to L again.
  • the post light is canceled again, and from time t9, the next front light force is performed.
  • the access of the controller A has been completed at the time 10, so after this time (from the time til), only the weight of the previous write exists (the wait of the rear write and the skip of the rear write are not performed). Absent), front write, and rear write are repeated.
  • FIG. 21 shows an example in which the timings of the TCAL signal and the PPCR signal are different from those in FIG. 20, and the basic operation is the same as that shown in FIG. Omitted.
  • the previous write wait WATPM
  • the FF group 20 is used as a buffer means between the controller B and the memory 10.
  • a FIFO First in First Out circuit
  • the method of the weight of the front write and the rear write is slightly different (only memory memory transfer is not performed. The method is the same as that shown in FIG.
  • a FIFO for address storage and a FIFO for data storage are provided, and at the time of previous writing, data is written to either the H-side area or the L-side area of the memory 10 and the FIF
  • the data written to the FIFO during the previous write described above is written.
  • the data and address are read from the FIFO, and the read data is stored in the H / L area of memory 10 opposite to the area selected at the time of the previous write in memory 10 according to the address output from FIF0. Write it down.
  • the controller when the transfer ready signal TCAL- is input from the B, and is carried out post-Lai bets after the after write end, before the force 5 in which the line bets in a row of Migihitsuji, (Weight of the previous light)
  • the following method may be used.
  • the transfer ready signal TCAL— when the transfer ready signal TCAL— is input, the write is forcibly terminated after the execution, and the write is performed to the memory area on the side where the write was performed after the forced termination.
  • the pre-write processing of writing data from the controller B may be executed immediately.
  • the memory area on the side where the subsequent write was forcibly terminated has been rewritten with the latest data of the controller B by the pre-write processing. ing.
  • the SBW signal is set to H and pre-write is performed to the memory area where data is confused, the controller A cannot access the memory area where data power is confused even if the PDE is reset. Therefore, no data is transmitted to the controller A at the time of the different access from the controller B.
  • FIG. 23 shows a modification of the present invention.
  • data is transmitted from a system controller B to two system controllers A and C.
  • a field net is processed in which the controller B processes the ever-changing data with the controller A, and the controller C monitors the data.
  • the configuration of the memory 10 and the FF group 20 is exactly the same as that of FIG. 19, and the control logic unit 80 is different from the control logic unit 30 shown in FIG.
  • the circuit except for the system A side area determination circuit 47 and the lead section generation circuit 46 is provided, and all other circuits are provided.
  • the left terminal (port) of the dual port memory 10 is shared by the controllers A and C to reduce the circuit scale. And to realize the sharing of this left port, the controller A's access request RD1— has priority over controller C's access request RD2—.
  • the system A read section generation circuit 60 reads the controller A read request signal RD
  • the system C read section regenerating circuit 62 uses the controller C read request signal RD
  • the outputs PPCR- and PQCR- of the read section generation circuits 60 and 62 are input to the CSL- terminal and the R terminal of the memory 10 via the NOR gate 63.
  • the PPCR signal is input to controller C. Therefore, the controller C can send the read request signal RD1 when the PPCR signal is not at L or after confirming that the PPCR signal has risen to H (Fig. 24 (a)). Time tl, Figure 24 (b) Time t2).
  • an SBW signal, a PDDE signal, and an Al OR signal are input from the control logic unit 80 to the most significant address determination circuit 61. Therefore, the logic of this decision circuit 61 is basically the same as the above-mentioned logic of the system A side access area decision circuit 47 in FIG. 19, and only the read section signal PQCR of the system C is added to this. Yes, the decision circuit 47 controls the controller B for the area where the controller B is not writing based on three signals input from the control port 80 when the PPCR signal and the PQCR signal fall to L.
  • the A 10 LL signal is determined so that the read access power of A or C is performed, and the signal A 10 LL is applied to the ALH terminal of the memory 10.
  • a circuit (not shown) corresponding to the highest-order address determination circuit 40 in FIG. 19 is provided instead of the PPCR signal and the A10L signal.
  • the output of the gate 63 and the signal A 1 OLL are input, and the circuit determines the memory access area in the previous write based on these input signals.
  • the output of the gate 63 is also input to a circuit corresponding to the post-write wait flag generation circuit 48 in FIG. 19 as an alternative to the PPCR signal. I have.
  • a dual port memory 10 and a control circuit 20 may be provided for each slave station in a network configuration including a master station and a plurality of slave stations. .
  • the present invention is suitable for application to data transfer between two controllers or between one-to-many controllers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

明 細 書
非同期データ伝送装置
技 術 分 野
この発明は、 2つのシステムコントローラ間またはスター型、 ツリー型ネッ トワークで連続したデータを間欠的に非同期伝送する場合に好適な非同期データ 伝送装置に関する。
背 景 技 術
2つのシステムコントローラ間でデータ伝送を行なう場合には、 ハードゥエ ァの同期および速度調整等をとるために、 これらコントローラ間には通常ノ ッフ ァ装置力 s '設けられている。
従来装置においては、 このバッファ装置は 1個設けられ、 一方のコントローラ からのアクセス力他方のコントローラのアクセスに対し優先させることで、 ァク セスの衝突に備えるようにしている。
しかし、 かかる従来構成では、 例えばシステムコントローラ Aからシステム コントローラ Bへのデータ転送を考えコントローラ Aのライト要求がコント口一 ラ Bのリード要求に優先すると設定した場合、 リードの途中にライト要求がきた ときには、 リードの前後でデータが異なることになり、 コントローラ Bはコント ローラ Aの同時刻および同内容のデータを取り扱えないという問題が究生する。 このことは、 デュアルポートメモリを使用してもシステムコントロ一ラ Aから システムコントローラ Bへ 1つのまとまったデータを転送する場合大きな問題で あり、 正確なデータ転送をなし得なくなる。
また、 この種のデータ転送においては、 通常システムコントローラ A. Bでそ れぞれ異なるシステムクロック力 s用いられており、 このため、 これら異なるシス テムクロックに同期して発生するコントロ一ラ Aのライ ト要求とコントロ一ラ B のリ一ド要求と力 s全く同時に発生することがあり、 このような場合同一メモリに ¾ "してライ トとリ一ドカ s衝突してしまう。
この発明はこのような事情に鑑みてなされたもので、 システムコントローラ間 ひとつのまとまつた大量のデータをハンドシェイクなしに正確かつ確実に伝送し 得る非同期データ伝送装置を提供しょうとするものである。 またこの発明は、 異なるシステムクロックが用いられる 2つのシステムコント ローラ間で正確かつ確実なデータ伝送をなし得る非同期データ伝送装置を提供し ようとするものである。
発 明 の 開 示
そこで第 1発明では、 第 1のシステムコントローラから第 2のシステムコント ローラへ非同期でデータを伝送する非同期データ伝送装置において、
前記第 1のシステムコントローラの出力データが書込まれるとともに、 この書 込みデータを前記第 2のシステムコントローラへ読出す第 1および第 2のメモリ と、 前記第 1のシステムコントローラの第 2のシステムコントローラへのデータ 伝送に対応して第 1のシステムコントローラの出力データを前記第 1および第 2 のメモリに対して交互に書き込むとともに、 前記第 2のシステムコントローラ力 データ受信を行うとき前記第 1および第 2のメモリのうちの直前にデータが書き 込まれた側のメモリを選択しこの選択したメモリからデータを読出す制御手段と を具えるとともに、
前記制御手段は、 前記書き込み動作の際第 2のシステムコントローラ力前記第 1または第 2のメモリに読み出し動作を行っているときはこの読み出し動作を行 つている逆のメモリに前記第 1のシステムコントローラの出力データを書き込む とともに、 前記読み出し動作の際第 1のシステムコントローラ力前記第 1または 第 2のメモリに書き込み動作を行っているときはこの書き込み動作を行っている 逆のメモリから読み出し動作を行うようする。
かかる第 1発明では、 転送するデータを保持するメモリを第 1のメモリ. 第 2 のメモリに 2重ィ匕する。 制御手段は、 第 1のシステムコントローラのデータ送 信動作および第 2のシステムコントローラのデ一タ受信動作に対応して、 以下の 論理に従ってアクセスするメモリを選択する。
.第 1のシステムコントローラのデータ伝送に対応して第 1のシステムコント ローラの出力データを第 1および第 2のメモリに対して交互に書き込む。 第 2の システムコントローラがデータ受信を行うとき第 1および第 2のメモリのうちの 直前にデ一夕が書き込まれた側のメモリからデータを読出す。 すなわち、 第 1の システムコントローラが書き込み動作を終了したら、 その書き込みを終了した側 のメモリから第 2のシステムコントローラの読み出し動作を行い、 次の第 1のシ ステムコントローラによる書き込み動作はその逆側のメモリに対して行う。
'書き込み動作の際、 第 2のシステムコントローラ力 s第 1または第 2のメモリ に読み出し動作を行つているときは、 この読み出し動作を行つている逆のメモリ に前記第 1のシステムコントローラの出力データを書き込む。
•読み出し動作の際、 第 1のシステムコントローラ力第 1または第 2のメモリ に書き込み動作を行っているときはこの書き込み動作を行っている逆のメモリか ら読み出し動作を行う。
このように第 1発明によれば、 2つのシステムコントローラ間のデータ伝送に おいて、 片方のシステムコントローラのアクセスを一時ウェイ トさせることがな くなるとともに、 データ力 s、各システムコントローラのアクセスの途中で相手側の アクセスのより途切れるといったことがなくなり、 エラ一のない正確なデータ伝 送を高速に成し得る。
また、 第 2発明では、 第 1のシステムコントローラからこの第 1のシス.テムコ ントローラの非アクセス時間より短いアクセス時間をもつ第 2のシステムコント ローラへデータを伝送する非同期データ伝送装置において、
前記第 1のシステムコントローラから出力されるデータを一時記憶する読み書 き可能な第 1のメモリと、 前記第 1のシステムコントローラの出力データまたは 前記第 1のメモリの一時記憶データが書込まれるとともに、 この書込みデータを 前記第 2のシステムコントローラへ読出す第 2のメモリと、 この第 2のメモリに 並列に傭えられ、 前記第 1のシステムコントローラの出力データまたは前記第 1 のメモリの一時記憶データが書込まれるとともに、 この書込みデータを前記第 2 のシステムコントローラへ読出す第 3のメモリと、
前記第 1のシステムコントローラの 1書込み周期に対応して第 1のシステムコ ントローラの出力データを前記第 2および第 3のメモリのうちのいずれか一方の メモリと前記第 1のメモリとに同時に書込む第 1の書込み制御と、 この第 1の書 込み制御終了後前記第 1のメモリに書込んだデータを前記第 1の書込み制御で書 込んだ一方のメモリの他方に書込む第 2の書込み制御とを行なう書込み制御手段 と、前記第 2のシステムコントローラの 1読出し周期に対応して前記第 2および 第 3のメモリのうちのいずれか一方からデータを読出して第 2のシステムコント ローラへ出力する読出し制御手段とを具えるようにする。
かかる第 2発明では、 転送するデータを保持するメモリを 2重ィ匕し (第 2のメ モリ. 第 3のメモリ) 、 かつデータを送信する側の第 1のシステムコント口 ーラとこれら第 2 , 第 3のメモリとの間に第 1のメモリを配するとともに、 これ ら第 2および第 3のメモリに対して第 1のシステムコントローラからデータを書 込むときは、 時間をずらせて 2回に分けて書込みを行なう。 すなわち、 1回目の 書込みのときは、 前記第 2および第 3のメモリのうちのいずれか一方と前記第 1 のメモリへデータを書込み、 2回目の書込みのときは前記第 2 , 第 3のメモリの うちの 1回目に書込まなかったメモリへ前記第 1のメモリのデータを書込むよう にして、 第 2および第 3のメモリに対して同一のデータを書込む。 また、 これら 第 2および第 3のメモリからデータを読出す際には、 第 2のシステムコントロー ラの読出し要求に応答して、 第 2および第 3のメモリのうちの書込みを行なつて いない側のメモリからデータ読出しを行なう。
このように第 2発明によれば、 メモリアクセス期間の異なるシステムコント口 —ラ間のデータ伝送において、 これらデータ伝送路間にメモリを 2重ィ匕して配し、 これらメモリへ一方のシステムコントローラからデータを書込むときは、 時間を ずらせて 2回にわけて書込みを行なうとともに、 他方のシステムコントローラ力 ら、 これらのメモリに読出しアクセスをするときは、 使用してない側のメモリか らデ一タを読出すようにしたので、 データが各システムコントローラのアクセス 周期の途中で途切れるといったことがなくなり、 これにより受信側のシステムコ ントロ一ラは送信側のコントローラの同時刻および同内容のデータを受信でき、 もってエラ一のない正確なデータ伝送をなし得る。
また第 3発明では、 それぞれ異なるシステムクロックが用いられている第 1の システムコントローラと第 2のシステムコントローラとのデータ伝送であって、 第 1のシステムコントローラからこの第 1のシステムコントローラの非アクセス 時間より短いアクセス時間をもつ第 2のシステムコントロ一ラへデータ伝送する 非同期データ伝送装置において、
前記第 1のシステムコントロ一ラから出力されるデータを一時記憶する読み書 き可能な第 1のメモリと、 前記第 1および第 2のシステムコントローラからのァ クセスに対して所定の優先順位力予め設定され、 前記第 1のシステムコント口一 ラの出力データまたは前記第 1のメモリの一時記憶データが書込まれるとともに、 この書込みデータを前記第 2のシステムコントローラへ読出す並列構成の第 2お よび第 3のメモリと、 前記第 1のシステムコントローラからの書込み要求の開始 に伴ない第 2のシステムコントローラによる第 2および第 3のメモリへのァクセ ス状態を少なくとも 3回、 時間をずらせて判定し、 少なくとも 3つの判^ §果を 得る第 1の判定手段と、
この第 1の判定手段の判 杲の多数決論理をとる多数決手段と、 この多数決 手段の出力および前記優先順位に基づき前記第 2および第 3のメモリのうちの前 記第 2のシステムコントローラがアクセスしていない力側のメモリを選択する第 1の選択手段と、 前記第 1のシステムコントローラからの書込み要求に応 して 前記第 1の選択手段の選択結果に対応するメモリおよび前記第 1のメモリへ第 1 のシステムコントロ一ラの出力データを同時に書込む第 1の書込み制御を行なう 第 1の書込み手段と、 前記第 1の書込み制御終了に伴ない前記第 2のシステムコ ントローラによる第 2および第 3のメモリへのアクセス状態を少なくとも 2回、 時間をずらせて判定する第 2の判定手段と、 この第 2の判定手段の判定結果に応 じて前記第 1の選択手段が選択したメモリの他方のメモリへ前記第 1のメモリの 記憶データを書込む第 2の書込み制御を行なう第 2の書込み手段と、 前記第 2の システムコントローラからの読出し要求の開始時点で第 1のシステムコント口一 ラまたは第 1のメモリからの書込みによる第 2および第 3のメモリへのアクセス 状態を判定する第 3の判定手段と、
この第 3の判定手段の出力および前記優 ¾1頃位に基づき前記第 2および第 3の メモリのうちの前記第 1のシステムコントローラがアクセスしていない側のメモ リを選択する第 2の選択手段と、 前記第 2のシステムコントローラからの読出し 要求に応 して前記第 2の選択手段の選択結果に対応するメモリから記憶デ一夕 を読出し第 2のシステムコントローラへ出力する読出し手段とを具えるようにす る。
かかる第 3発明によれば、 転送するデータを保持するメモリを 2重ィ匕し (第 2 のメモリ、 第 3のメモリ) 、 かつデータを^ f§する側の第 1のシステムコント口 ーラとこれら第 2、 第 3のメモリとの間に第 1のメモリを配するとともに、 これ ら第 2および第 3のメモリに対して第 1のシステムコントローラからデータを書 込むときは、 時間をずらせて 2回に分けて書込みを行なう (第 1の書込み制御、 第 2の書込み制御) 。
1回目の書込みのときは、 第 2のシステムコントローラによる第 2および第 3 のメモリへのアクセス状態を少なくとも 3回、 時間をずらせて判定し、 これら判 定結果の多数決をとることで、 第 2および第 3のメモリのうちの第 2のシステム コントローラがアクセスしていない側のメモリを選択し、 該選択したメモリと前 記第 1のメモリへデータを書込む。 2回目の書込みのときは、 前記 1回目の書込 み終了に伴ない第 2のシステムコントローラによる第 2および第 3のメモリへの アクセス状!^を少なくとも 2回、 時間をずらせて判定し、 これら判^ §杲が一致 した時点で 1回目の書込みでァクセスした第 2または第 3のメモリの他方側へ前 記第 1のメモリのデータを書込む。 このようにして、 第 2および第 3のメモリに 対して同一のデータを書込む。
また、 これら第 2および第 3のメモリからデータを読出す際には、 第 2のシス テムコントロ一ラの読出し要求に応答して第 1のシステムコントローラまたは第
1のメモリからの書込みによる第 2およぴ第 3のメモリへのアクセス状態を判定 し、 この結果に対応して前記第 2および第 3のメモリのうちの第 1のシステムコ ントローラがアクセスしていない側のメモリを選択し、 該選択したメモリからデ —タ読出しを行なう。
このように第 3発明によれば、 メモリアクセス期間が異なり、 かつ異なるシス テムクロック力 s用いられているシステムコントローラ間のデータ伝送において、 同一メモリ領域に対するアクセスの衝突を好適に回避することができ、 これによ り、 データ力 s各システムコントローラのアクセス期間の途中で途切れるといった こと力 sなくなり、 これにより受信側のシステムコントロ一ラは送信側のコントロ ―ラの同時刻および同内容のデ一タを受信でき、 もってエラ一のない正確なデ一 タ伝送をなし得る。
また第 4発明では、 第 1のシステムコントローラから、 この第 1のシステムコ ントローラの非アクセス時間より長いアクセス時間をもつ第 2のシステムコント ローラへデータを伝送する非同期データ伝送装置において、
前記第 1のシステムコントローラの出力データ力書込まれるとともに、 この書 込みデータを前記第 2のシステムコントローラへ読出す第 1のメモリと、 この第 1のメモリに並列に備えられ、 前記第 1のシステムコントローラの出力データが 書込まれるとともに、 この書込みデータを前記第 2のシステムコントローラへ読 出す第 2のメモリと、 前記第 1および第 2のメモリのうちの一方の記憶データを 前記第 1および第 2のメモリのうちの他方へ書込むためのバッファ動作を行なう ノ ツファ手段と、 前記第 1のシステムコントローラのデータ転送要求に対応して 第 1のシステムコントローラの出力データを前記第 1および第 2のメモリのうち のいずれか一方のメモリに書込む 1回目の書込み制御と、 この 1回目の書込み制 御終了後該 1回目の書込み制御で書込んだデータを読み出し、 該読出したデータ を前記バッファ手段を介して前記 1回目の書込み制御で書込んだ第 1または第 2 のメモリの他方に書込む 2回目の書込み制御とを行なう書込み制御手段と、 前記第 2のシステムコントローラの読出し要求に対応して前記第 1および第 2 のメモリのうちのいずれか一方からデータを読出して第 2のシステムコント口一 ラへ出力する読出し制御手段とを具えるようにする。
前記第 1および第 2のメモリは、 前記第 1および第 2のシステムコントロ一ラ からのアクセスに対して所定の優先順位力 s予め設定され、 前記書込み制御手段は、 前記 1回目の書込み制御終了時点で前記第 2のシステムコントローラによる第 1 およぴ第 2のメモリへのアクセス状態を判定し、 2回目の書込み制御を開始する か待機するかを判定する第 1の判定手段と、 この第 1の判定手段から 2回目の書 込み制御開始の判定結果が出力されると 2回目の書込み制御を実行する第 1の書 込手段と、 前記第 1の判定手段から待機の判定結果が出力されると、 前記第 2の システムコントローラによるアクセス力終了するまで 2回目の書込みを待機する 第 1の待機手段と、 前記第 1のシステムコントローラからの転送要求の開始時点 で、 前記第 2のシステムコントロ一ラによる第 1および第 2のメモリへのァクセ ス状態および前記第 1の判定手段の出力を判定する第 2の判定手段と、
この第 2の判定手段から第 2のシステムコントローラカ非アクセス中である判定 結果が出力されると、 第 1および第 2のメモリのうちの前記優 位の高い側の メモリを選択して前記 1回目の書込み制御を行なう第 2の書込手段と、 前記第 2 の判定手段から 2回目の書込み制御力 機中である判 ¾^杲が出力されると、 2 回目の書込み制御をキャンセルし、 前記第 1および第 2のメモリのうちの第 2の システムコントローラがアクセスしていない側のメモリに対して前記 1回目の書 込み制御を行なう第 3の書込手段と、 前記第 2の判定手段から 2回目の書込み制 御を実行中である判定結果が出力されると、 この 2回目の書込み制御力終了する まで当該 1回目の書込み制御を待機させる第 2の待機手段とを具え、
前記読出し制御手段は、 前記第 2のシステムコントローラからの読出し要求の 開始時点で前記 1回目および 2回目の書込み制御の状態を判定する第 3の判定手 段と、 この第 3の判定手段の出力および前記優^) I頃位に基づき、 第 1のシステム コントローラが非ァクセス中のときは第 1および第 2のメモリのうちの前記優先 J頃位の高い側のメモリから、 また前記 1回目の書込み制御が行なわれているとき は第 1および第 2のメモリのうちの 1回目の書込み制御が行なわれているメモリ の逆側のメモリから、 また前記 2回目の書込み制御が行なわれているときは、 前 記第 1および第 2のメモリのうちの 2回目の書込み制御で読出しが行なわれてい る側のメモリから記憶データを読出し第 2のシステムコントローラへ出力する読 出手段とを具える。
かかる第 4発明においては、 転送するデータを保持するメモリを 2重ィ匕し (第 1のメモリ、 第 2のメモリ)、 かつデータを送信する側の第 1のシステムコント ローラとこれら第 1 . 第 2のメモリとの間に例えば多数のフリップフ口ップで構 成されたバッファ手段を配するとともに、 これら第 1および第 2のメモリに対し て第 1のシステムコントローラからデータを書込むときは、 時間をずらせて 2回 に分けて書込みを行なう。 すなわち、 1回目の書込みのときは、 前記第 1および 第 2のメモリのうちのいずれか一方へデータを書込み、 2回目の書込みのときは、 前記第 1および第 2のメモリのうちの 1回目に書込まなかったメモリを書込み可 能状態にしかつ他方のメモリを読出し可能状態とすることで、 1回目の書込みで 書込んだデータを前記バッファ手段を介して一方のメモリから他方のメモリへ転 送するメモリーメモリ転送を行なうことで、 これら第 1およぴ第 2のメモリに対 して同一のデータを書込むようにする。
また、 これら第 1および第 2のメモリからデータを読出す際には、 第 2のシス テムコントローラの読出し要求に応答して、 第 1および第 2のメモリのうちの書 込みを行なつていない側のメモリからデータ読出しを行なう。
また、 上記構成では、 2回目の書込み開始時、 書込みを行なおうとするメモリ に対して第 2のシステムコントロ一ラがアクセスしているときは、 このアクセス 終了まで待機し、 アクセス終了後 2回目の書込みを行なう (2回目の書込みのゥ エイト) 。 また、 第 1のシステムコントローラからデータ転送要求カ入力された 時点で前記 2回目の書込みを行なっているときは該 2回目の書込みが終了するま で 1回目の書込みを待機させ、 2回目の書込み終了後 1回目の書込みを開始する ようにする ( 1回目の書込みウェイト) 。
さらに、 第 1のシステムコントローラからデータ転送要求が入力されたときに 2回目の書込み力 s待機中の場合、 すなわち 2回目の書込みを行なおうとするメモ リへ第 2のシステムコントローラがアクセス中である場合は、 この待機中である 2回目の書込みをキャンセルし、 第 2のシステムコントローラがアクセスしてい ない領域に対して次の 1回目の書込み処理を行なうようにする (2回目の書込み のスキップ) 。
このように第 4発明によれば、 第 1のシステムコントローラからこの第 1のシ ステムコントローラの非アクセス時間より長いアクセス時間をもつ第 2のシステ ムコントロ一ラへデータを伝送する非同期データ伝送装置において、 これらデー 夕伝送路間にメモリを 2重化して配し、 これらメモリへ第 1のシステムコント口 —ラからデータを書込むときは、 時間をずらせて 2回にわけて書込みを行なうと ともに、 第 2のシステムコントローラから、 これらのメモリに読出しアクセスを するときは、 使用してない側のメモリからデータを読出すようにしたので、 デー 夕が各システムコントローラのアクセス周期の途中で途切れるといったことがな くなり、 これにより受信側のシステムコントローラは送信側のコントローラの同 時刻おょぴ同内容のデータを受信でき、 もってエラーのない正確なデータ伝送を なし得る。 図面の簡単な説明
第 1図はこの発明の第 1実施例を示すプロック図、 第 2図は第 1実施例のメモ リ分割の概念図、 第 3図は第 1実施例装置のコントロール回路の詳細回路図、 第 4図は第 1実施例装置の作用を示すタイムチャート、 第 5図はこの発明の第 2実 施例を示すプロック図、 第 6図は第 2実施例装置の内部回路構成の詳細プロック 図、 第 7図は第 2実施例装置の作用を概念的に示すタイムチャート、 第 8図乃至 第 1 0図はそれぞれ第 2実施例装置のより詳細な作用を説明するためのタイムチ ャ一ト、 第 1 1図はこの発明の第 3実施例を示すブロック図、 第 1 2図は第 3実 施例装置の内部回路構成の詳細ブロック図、 第 1 3図乃至第 1 5図は第 3実施例 装置の作用を概念的に示すタイムチヤ一ト、 第 1 6図乃至第 1 8図はそれぞれ第 3実施例装置のより詳細な作用を説明するためのタイムチヤ一ト、 第 1 9図はこ の発明の第 4実施例を示すブロック図、 第 2 0図乃至第 2 2図は第 4実施例装置 の作用を示すタイムチャート、 第 2 3図は第 4実施例のの変形例を示すブロック 図、 第 2 4図は該変形例の作用を説明するためのタイミングチャートである
発明を実施するための最良の形態
以下、 この癸明を添付図面に示す実施例にしたがつて詳述する。
第 1図はこの発明の第 1実施例の概念的構成を示すものである。
この第 1図に示す構成では、 システムコントローラ Aからシステムコントロー ラ (以下コントローラと略す) Bへデータを伝送する場合を想定している。 コン トロ一ラ 、 Bは全く非同期に動作している。
メモリ 1 0はコントローラ A, Bの双方からアクセス可能な書込み/読出し自 在のデュアルポートメモリ (D PM) であり、 この場合該デュアルポートメモリ のアドレス 「A」 の最上位ビット 「A L H」 、 又は 「A R H」 を Hか Lかにす ることで、 メモリ領域を第 2図に示すように H側およぴ L側に 2分割するように なっている。 コントローラ A側からアクセスするときは、 「A L H」 を H/ Lに することで H/ L側領域を選択し、 コントロ一ラ B側からアクセスするときは 「AR H」 を H/ Lにすることで H/ L側領域を選択する。 すなわち、 この場合 メモリ 1 0は謂ゆる 2重ィ匕された構成である。 第 1図中の各信号内容は以下のとおりである。 なお、 本明細書においては、 例 えば C S L—のように信号名の後に付したアンダーバー 「―」 は、 不論糊の論 理反転記号を示している。
A ; アドレス信号 (最上位アドレスは含まない)
D ;データ
W; ライト信号 ( 1データ単位)
R ; リード信号 ( 1データ単位)
C S L—;メモリ 1 0の左側 (コントローラ A) からのチップセレク ト端子 C S R—;メモリ 1 0の右側 (コントローラ B ) からのチップセレクト端子 ALH ;メモリ 1 0の最上位ァドレスビットであり、 左側 (コントローラ A 側 ) からメモリ 1 0を H/ L領域に 2分割するための信号端子 ARH ;メモリ 1 0の最上位ァドレスビッ トであり、 右側 (コントローラ B 側 ) からメモリ 1 0を H/ L領域に 2分割するための信号端子 PPCW—;コントローラ Aの一連のライ ト区間の間 「L (ロー) 」 を保持して レ、る。
CRCEN;コントローラ Bの一連のリード区間の間 「H (ハイ) 」 を保持して いる。
ALIO ;書き込みエリア選択信号 (Lのとき L領域を選択し、 Hのとき H領 域を選択)
AR10 ;読み出しエリア選択信号 (Lのとき L領域を選択し、 Hのとき H領 域を選択)
なお、 この場合は前述したようにコントローラ Aからコントローラ Bへの一方 向についてのみのデータ転送を問題としているため、 コントロ一ラ Aは書込みの みを、 コントローラ Bは読出しのみを行なう。 またこのデータ伝送においては、 1回ライ ト区間またはリ一ド区間の間に複数のデータを処理するようにしており、 このため PPCW—信号が Lである区間には複数のライ ト信号 W力 s存在し、 また同様 に CRCEN信号が Hである区間には複数のリ一ド信号 Rが存在する。
コントロール回路 2 0は、 コン トローラ Aから出力される PPCW—信号おょぴコ ントローラ Bから出力される CRCEN信号に基ずき、 メモリ 1 0の書込み/読出し 制御、 すなわち L側領域および H側領域に 2重化されたメモリ 1 0のアクセス領 域選択制御を行なうものであり、 その詳細構成を第 3図に示す。
コント口一ル回路 2 0によるメモリ 1 0に対しての書込み/読出し制御の論理 構成は以下の通りである。
論理 I
L側領域および H側領域に 2重化されたメモリ 1 0に対する書き込みは、 書 き込み開始時に読み出しカ?行われていない場合、 PPCW—信号の送出周期に対 応して、 L側領域→H側領域→L側領域→H側領域—…というように交互に 行う。 すなわち、 PPC _信号が送出された或るライ ト区間のとき H側領域が 選択されている場合は、 次のライト区間のときにはこれと逆の L側領域を選 択する。
論理 II
読み出しを行う時に書き込み力 s行われていないときには、 直前に書き込みを 行つた領域と同じ領域を選択し、 この選択した領域に対して読み出しを行う このためコントロール回路 2 0では、 直前に書き込みを行った領域を常に 記憶保持している。
論理 III
書き込みを行うときに既に読み出しを行なっているときは読み出しを行って いる領域の逆側領域に対して書き込みを行う。
論理 IV
読み出しを行うときに既に書き込みを行なっているときは書き込みを行って いる領域の逆側領域に対して読み出しを行う。
論理 V
例えば、 読み出し領域はシステムクロック SCK の立上がりで判断し、 書き込 み領域は同システムクロック SCK の立下がりで判断することで、 同時刻にお ける領域決定を防止するようにしている。
以上がコントロール回路 2 0の論理の概略である。
次に、 上記論理を具体ィ匕したコントロール回路 2◦内の各回路構成を第 3図に したがって説明する。 第 3図において、 コントローラ Aから入力されたのライ ト区間信号 PPCW—はフ リップフロップ (以下 F Fと略す。 ) 3 0に入力されており、 F F 3 0は PPCW— 信号をシステムクロック信号 S0( の立ち上がりでラッチする。 F F 3 0の出力は F F 3 1、 ゲート 3 2、 3 3などに入力される。 F F 3 0は F F 3 0の出力をク ロック信号 SCK の立ち上がりでラッチし、 その出力をゲート 3 2、 3 3に入力す る 0
ゲート 3 2では、 F F 3 0の反転出力と F F 3 1の出力のアンドをとることで、 PPCW—信号が Lに立ち下がった時、 短い所定時間の間 (正確にはシステムクロッ ク信号 SCK の 1周期の間) Hになるライ ト区間開始信号 WST を出力する。 ゲ一ト 3 3では、 F F 3 0の出力と F F 3 1の反転出力のアンドをとることで、 PPCW— 信号が Hに立ち上がった時、 短い所定時間の間 (正確にはシステムクロック信号 SCK の 1周期の間) Hになるライト区間終了信号 WED を出力する。
ゲート 3 4、 3 5、 3 6、 および F F 3 7からなる構成は、 ゲート 3 8〜4 0 からなる構成によつて選択する書き込み領域を示す信号 ( H/ L領域のうちの一 方を示す信号) をライト区間開始信号 WST が Hになったときにラッチし次のライ ト区間開始信号 WST が Hになるまでその値を保持する (ライト区間開始毎に書き 込み領域を決定する) ものであり、 F F 3 7からはメモリ 1 0の ALH端子に供給 される書き込みエリア選択信号 ALIOが出力される。 なお、 RST信号は、 電源投入 時に Hとなるリセッ ト信号である。
ゲート 3 8は ALIO信号の論理反転信号とコントローラ Bから入力されるリード 区間信号 CRCEN の論理反転信号のアンドをとり、 これをオアゲ一ト 4 0に入力す る。 ゲート 3 9は CRCEN信号と読み出しエリァ選択信号 AR10の論理反転信号との アンドをとり、 これをオアゲート 4 0に入力する。 すなわち、 この咅 [5分はコント ローラ Bのアクセス状態 (CRCEN信号) に応じてコントローラ Aの書き込み領域 を決定するところであり、 コントローラ B力非アクセス状態のときは (CRCEN信 号が L ) 、 コントローラ A力前回アクセスした領域の逆側の領域を選択し (ALIO 信号の論理反転)、 コントローラ Bがァクセス状態のときは (CRCEN信号が H) コントローラ Bの現時点のアクセス領域と逆側の領域を選択する (AR10信号の論 理反転) 。 さらにいえば、 前記各回路 3 4〜3 7およびゲ一ト 3 8、 4 0による構成力 s前 述の論理 I、 すなわち書き込み制御の際の H/ L領域の交互切り替え制御を実現 し、 ゲート 3 9力 s前述の ¾¾IIIを実現している。 そして、 これらゲート 3 8〜 4 0による書き込み領域の選択結果力書き込み開始時にゲ一ト 3 5によって選択 され、 さらにこの選択結果が F F 3 7を介して書き込みエリア選択信号 ALIOとし てメモリ 1 0のアドレス最上位ビット ALH に加えられる。
つぎに、 ゲート 4 1〜4 3および F F 4 4による構成は、 ゲート 4 2によって ライト区間終了信号 WEDが出力されたときの書き込みェリァ選択信号 ALIOを選択 し、 その他の回路 4 1、 4 3、 4 4でこの選択結果を保持することで、 前述の 理 IIにおける直前に書き込みを行つた領域の記憶保持、 を具体化している。
ゲート 4 5〜4 7および F F 4 8による構成は前述の論理 II、 IVを実現した部 分であり、 ゲート 4 5は ALIO信号の論理反転信号と F F 3 0の出力 (P CW—信 号) の論理反転信号のアンドをとり、 これをオアゲート 4 7に入力し、 ゲート 4 6は F F 4 4の出力と F F 3 0の出力 (P CW—信号) のアンドをとり、 これを オアゲート 4 7に入力する。
すなわち、 この部分は F F 3 0によって同期をとつたコントローラ Aのァクセ ス状態 (P CW—信号) に応じてコントローラ Bの読み出し領域を決定するとこ ろであり、 コントローラ Aが非アクセス状態のときは (P CW—信号が H) 、 直 前に書き込みを行った領域と同じ領域を選択し (F F 4 4の出力) 、 コント口 A一冊 ラ Aがアクセス状態のときは (P CW—信号が L) 、 コントローラ Aの現時点の アクセス領域と逆側の領域を選択する (ALIO信号の論理反転) 。 さらにいえば、 ゲート 4 6カ前述の論理 IIに対応し、 ゲート 4 5力 s前述の論理 IVに対応する。 F F 4 8はゲ一ト 4 7の出力を CRCEN信号の立上がりにラッチするようにしており、 これによりゲート 4 5〜4 7による読み出し領域の選択結果が読み出し動作の開 始時に F F 4 8に取り込まれ、 読み出しエリァ選択信号 AR10としてメモリ 1 0の ァドレス最上位ビッ ト ARH に加えられる。
なお、 、 コントローラ Bから入力される CRCEN信号はシステムクロック信号 SC K の立ち上がりで変化するよう同期がとられており、 このため、 F F 4 8によつ て読み出し領域はシステムクロック SCK の立上がりで判断される。 これに対し、 書き込み領域は F F 3 7によってシステムクロック SCK の立下がりで判断される。 これにより、 前述の論理 Vを実現している。
第 4図は、 PPCW—信号および CRCE 信号の各種状態 (a )〜 (ί ) に対応した H/ L領域の選 態様を示すタイムチャートである。 なお、 各信号の上に付した H、 Lは、 メモリ 1 0の選択された側の H/ L領域を示し、 矢印に付した I、 II、 III、 IVは前述した論理 I、 論理 II、 論理 III、 論理 IVに対応する。
例えば、 第 4図 (a ) において、 時刻 t Oにおいては、 コントローラ Aがメモリ 1 0の L側領域にアクセス中であるため、 コントローラ B側からのアクセス女す象 として H側領域が選択される (論理 IV) 。 時刻 t lについても同様であり、 論理 I Vによって H側領域が選択される。
時刻 t 2においては、 コントロ一ラ Aはメモリ 1 0を非アクセス中であるため、 直前の書き込み領域と同じ領域、 すなわちこの場合 L側領域がコントローラ B側 からのアクセス対象として選択される (論理 II) 。
時刻 1 3においては、 コントローラ Bはメモリ 1 0を非アクセス中であるため、 直前の書き込み領域の の領域、 すなわちこの場合 H側領域がコントローラ A 側からのアクセス対象として選択される (論理 I ) 。
時刻 t 4においては、 コントローラ Aがメモリ 1 0の H側領域にアクセス中であ るため、 コントローラ B側からのアクセス対象として L側領域力選択される (論 理 IV) 。
また、 第 4図 (b ) の時刻 t 5においては、 コントローラ Aがメモリ 1 0をァク セスするとき、 コントローラ Bがメモリ 1 0の H惻 域にアクセス中であるため、 コントローラ A側からのアクセス女豫として L側領域が選択される (論理 III) 。 以下同様にして、 論理 I〜IVのいずれかを用いてメモリ 1 0のアクセス領域が 決定される。
この第 1の実施例構成によれば、 第 4図からも明らかなように、 コントローラ Aおよびコントローラ Bは全く同期をとることなくコントローラ Aからコント口 ―ラ Bへのデ一タ伝送を好適になし得る。
なお、 上記実施例では、 メモリ 1 0は最上位ビットァドレスによって 2分割す る場合を示した力 s、 メモリの 2重化構成として、 最上位ビット以外のビットでメ モリを 2分割するようにしてもよく、 さらに 2つの異なるチップから成るメモリ を用いるようにしてもよい。 また、 コントロール回路 2 0の論理構成も、 これら と同等の機能を達成するものであれば他の任意の論理構成としてもよい。
第 5図はこの発明の第 2実施例の概念的構成を、 第 6図はその詳略構成例を示 すものである。 ' 第 5図および第 6図において、 システムコントローラ A, Bは例えば産業機械 に備えられるものである。 システムコントローラ (以下コントローラと略す) A はこの場合産業機械自体を統轄管理するマスタコントローラで、 C P U . メモリ 等を備えた通常のコンピュ一タ構成である。 またシステムコントローラ Bは産業 機械各所に設置したセンサゃァクチユエ一夕とデータの授受を行うものである。
この第 5図に示す構成は、 コントローラ Aからコントローラ Bへデータを伝送 するための構成を示し、 コントローラ A , Bのメモリアクセス期間について言え ば、 コントローラ Aのメモリに対する非アクセス時間 TNA (この場合は非書込み 時間) がコントローラ Bのメモリアクセス期間 TB (この場合は読出し時間) よ り長いということが前提となっている。
すなわち、 正確に言えば、
システム Aの非アクセス時間 TNA〉
後ライトに要する時間 Td+システム Bのアクセス時間 TB となること力5'前提となっている。 (TNA,Td, TB、 第 7図参照) 。
メモリ 1 0はコントローラ A, Bの双方からアクセス可能な書込み/読出し自 在のデュアルポート R AMであり、 この場合アドレス 「A D」 の最上位ビッ ト
「A L HJ 、 又は 「A R H」 を Hか Lかにすることで、 メモリ領域を H側および
L側に 2分割するようになっている。 コントローラ A側からアクセスするときは、
「A L H」 を H/Lにすることで H/ L側領域を選択し、 コントローラ B側から アクセスするときは 「AR H」 を H/ Lにすることで H/ L側領域を選択する。
すなわち、 この場合メモリ 1 0は謂ゆる 2重ィ匕された構成であり、 該メモリ 1 0 の H側領域. L側領域には制御 πジック部 3 0の後述する制御によってコント口 ーラ Aの書込み周期毎に、 結果的に全く同一のデータ力書込まれるようになって いる。 なお、 この場合は前述したようにコントローラ Aからコントローラ Bへの一方 向についてのみのデータ転送を問題としているため、 コントローラ Aは書込みの みを、 コントローラ Bは読出しのみを行なう。
コントローラ Aと、 メモリ 10との間にはバッファ回路 20力設けられている。 ノ ッファ回路 20は、 コントローラ Aからメモリ 10へのデータ書込みのときに コントローラ Aの出力データ DTおよぴァドレス ADを一時記憶するとともに、 その後制御ロジック 30からの信号にしたがって一時記憶したデータをメモリ 1 0の H側領域および L側領域のいずれか一方に出力するものであり、 この場合は 2つの FI FO 20, 25 (先入れ先出し回路; First in First out) を用いて いる。 すなわち、 F I F020はコントローラ Aからのアドレスを記憶するもの で、 また F IFO 25はコントローラからのデータ言己憶するものである。
次に、 制御ロジック部 30の内部構成を説明する前に、 メモリ 10および FI F020, 25の信号入出力端子について説明する。
CSL—;メモリ 10の左側 (コントローラ A側) からのチップセレクト CSR一;メモリ 10の右側 (コントローラ B側) からのチップセレクト WL—;メモリ 10のライ トイネーブル信号
R—;メモリ 10のリードィネーブル信号
ALH;メモリ 10の最上位ァドレスビッ トであり、 左側 (コントロー ラ A側) からメモリ 10を H/L領域に 2分割するための信号 ARH;メモリ 10の最上位ァドレスビッ トであり、 右側 (コントロー ラ B側) からメモリ 10を H/L領域に 2分割するための信号 AD; ァドレス信号
DT;データ
WF—; F I FOのライ トイネーブル信号
EF一; F I FOが出力するデータェンプティフラグ; (F I F〇内に 記憶データがあるときは H、 F I F〇から記憶データを全て読 出した状態のときは L、 )
FR_; F I F〇のリードィネーブル信号
IN; F I FOのデータ入力端子 OUT; F I F〇のデータ出力端子
制御ロジック部 30は、 第 5図に示すようにコントローラ A, Bのコントロー ルバス CBに接続され (具体的にはコントローラ Aからの書込み要求信号 WR— とコントローラ Bの読出し要求信号 RDが入力される) 、 メモリ 10および FI F020, 25の書込み/読出し制御を行なうものであり、 第 6図に示すように 複数の回路 31〜45によって構成されている。 制御ロジック部 30の複数の回 路はフリップフ口ップゃ論理ゲート等のハードウエアで全てその論理が構成され ている。
以下、 制御ロジック部 30の各回路構成を説明する前に、 該制御ロジック部 3 0によるメモリ 10および FIFO20, 25に対しての書込み/読出し制御の 論理構成について簡単に説明する。
(1) まず、 メモリ 10は、 その書込み/読出しに関して L側領域のほうが H側領域より優^ JI頃位力 く設定してある。
(2) コントローラ Aから書込み要求信号 WR_が出力されると、 メモリ 1 0に対して 2回の書込みを時間をずらせて行なうことで、 メモリ 10 の H側領域および L側領域にコントローラ Aの同一データを書込む。
1回目の書込み (以下前ライトという) 時には、 メモリ 10の H側 領域および L側領域のいずれか一方と F I FO 25にデータを同時に 書込むとともに、 FIF020にアドレスを書込む。 メモリ 10の H /L側領域のいずれを選択するかについては、 コントローラ Aの WR —信号の送出開始時点でコントローラ B側の状態を判断し、 コント口 ーラ Bがメモリ 10の H/L領域のいずれかを読み出しアクセスして いるときは、 その逆側の領域に ¾ "して書込みを行ない、 またコント口 —ラ Bがメモリ 10にアクセスしていない場合は優 5¾1の L側領域に 対して書込みを行なう。
2回目の書込み (以下後ライ トという) 時には、 上述した前ライ ト のときに FIFO 25に書込んだデータと F I F〇 20に書込んだァ ドレスとを上記前ライト終了後、 即座に FI F025. 20から読出 し、 この読出しデータを F I FO 20から出力されるァドレスにした がってメモリ 10の上記前ライ ト時に選択した領域と逆側の H/L領 域に書込む。 ただし、 この後ライト開始時、 FIF025からのデー タを書込むべき前記逆側の領域に対してコントローラ Bがアクセスし ているときは、 このコントローラ Bのアクセス終了まで待機し、 該ァ クセス終了後即座に後ライトを行なうようにする。
(3) コントローラ Bから読出し要求 RD—が出力されると、 この RD信号 の送出開始時点でコントローラ A側の状態を判断し、 コントローラ A がメモリ 10の H/L領域のいずれかを書込みアクセスしているとき は、 その逆側の領域から読出しを行ない、 またコントローラ Aがァク セスしていない場合は優^ |ljの L側領域から読出しを行なう。
(4)相手側コントローラの状態を判断する際、 例えばコントローラ B側の 状態はシステムクロック CKの立上がりで判断し、 コントローラ A側 の状態は同システムクロック C Kの立下がりで判断することで、 同時 刻における判断を防止するようにしている。
以上が制御口ジック部 30の論理の概略である 、 以下、 第 7図のタイムチヤ —トにしたがって、 第 5図の構成の動作について簡単に説明する。
第 7図において、 (a)はコントローラ Aからメモリ 10への書込み状態を、 (b) はコントローラ Bの読出し状態を、 (c)はコントローラ Aから FIFO20, 25 への書込み状態を、 (d)は後ライトを示すものであり、 ^ ff号においては、 Lが能 動である。 また、 ^(言号の上に付した H 、 Lは、 メモリ 10の H/L領域を示す。 時刻 tOにおいては、 コントローラ Bがメモリ 10の L側镇域にアクセス中であ るため、 コントローラ A側からのアクセス す象として H側領域力選択され、 この 結果、 時刻 tO〜時刻 t2の期間にはコントローラ Aのデータがメモリ 10の H側 領域に書き込まれ、 かつコントローラ Aのデータおょぴァドレス力 I FO 25 , 20に書き込まれる、 前ライ ト処理力 s行なわれる。 なお、 時刻 tl〜t3における コントローラ Bの読出し処理においては、 時刻 tlにおいてメモリ 10の H側領域 がコントローラ Aに占拠されているため、 コントローラ Bのアクセス対象として L側領域力 s選択されている。
次に、 コントローラ Aの前ライ トカ s終了した時刻 12においては、 後ライトを行 なおうとする L側領域はコントローラ Bによって占拠されている。 したがって、 制御ロジック部 3 0では、 コントローラ Bのアクセスが終了するまで待機し、 該 終了時点 (時刻 t 3) から後ライトを開始する。 後ライトは Td時間要する。
次に、 時刻 t 4〜t 5のコントローラ Bのアクセス期間においては、 メモリ 1 0 は H/ L領域の双方が空きであるため、 優先領域として設定された L側領域が 選択されている。
また、 その後の時刻 6におけるコントローラ Aのアクセス開始時点においても、 メモリ 1 0は H/L領域の双方が空きであるため、 コントローラ Aは優先側の L 側領域に対して前ライ トを行なう。 勿論、 これと同時に、 コントローラ Aのデ一 タおよびアドレスが F I F〇 2 5 , 2 0に書込まれる。
コントローラ Aの前ライトが終了した時刻 17においては、 後ライトを行なおう とする H側領域に してコントローラ Bがアクセスしていない。 したがって、 こ の場合は待時間なしに、 時刻 t 7から直ちに後ライト力行なわれている。 なお、 時 刻 t 8においては、 メモリ 1 0の H側領域に後ライ トが行なわれているため 、 コントローラ Bの読出し対象として L側領域が選択されている。
次に、 制御ロジック部 3 0内の各回路構成を第 6図にしたがって説明する。 な お、 この第 6図においては、 システムクロック C Kが各所に入力されているが、 要所のみその入力状態を示し、 それ以外は省略している。
コントローラ Aの書込み要求信号 WR一(第 8図 (a) ) は、 前ライト区間発生回 路 3 1およびゲート 3 2に入力されている。 なお、 前述のシステムクロック C K のパルス周期は書込み要求信号 WR—のパルス幅より十分短いものである。
前ライ ト区間発生回路 3 1は、 ワンショットマルチバイブレー夕回路、 フリッ プフロップ等で構成され、 書込み要求信号 WR—をシステムクロック C Kの立下 がりで み、 その後、 L状態を所定時間 TA保持する P P CW信号を形成し、 出 力する (第 8図 (b) ) 。 この P P CW—信号は、 その信号レベルが Lのとき、 コン トローラ Aがライ ト中 (すなわち前ライ ト中) 、 であることを示すフラグ信号で ゲート 3 2は P P CW一信号を遅延回路 5 0で所定時間遅延された出力と上記 WR一信号との各反転出力が入力され、 そのナンド出力を F I F〇 2 0 , 2 5の WF—端子等に入力する (第 8図 (c))。 FIFO20, 25は WF—端子への入 力が Lのとき、 コントローラ Aから出力されるアドレス信号およびデータ信号を 該 FI FO 20, 25の記憶エリアにそれぞれ書込む。
前ライト終了^ Π回路 33は、 上記 P PC W—信号の Lから Hへの立上がりを 検知することで前ライ トの終了を示す WRED信号を出力する。
PFD—生成回路 34には、 F I FO 20からの EF—信号、 WRED信号お よびフィードバック信号が入力され、 その内部は複数の論理ゲート、 フリップフ ロップ等で構成されている。 EF—信号 (第 8図 (h)) は前述したように、 FIF 〇 20のェンプティフラグであり、 前述した前ライ ト、 後ライトカ ?行なわれてい る間は H状態にある。 ?0生成回路34は、 WRED信号の立上がり、 すなわ ち P P C W—信号の立上がりで立下がり、 E F—信号の立下がりで立上がる P F D—信号を形成する。 すなわち PFD—信号は、 前ライ ト終了時から後ライ ト終 了時までの間、 Lになる。 尚、 この PFD—信号はクロック CKの立下がりでラ ツチされる。
リード区間究生回路 35は、 フリップフロップであり、 コントローラ Bから出 力される読出し要求信号 R D—をシステムクロックの立上がりでラッチし、 コン トロ一ラ Bのリード区間信号 CORT_を出力する (第 8図ば))。 この CORT —信号はコントローラ Bがリード中の間、 その出力を Lに保持している。 この C 〇RT—信号は、 メモリ 10の CSR—端子および R—端子に入力される。 した 力つて、 CORT—信号が Lになっている期間には、 必ずメモリ 10の H/L側 領域のいずれかから記憶データ力読出される。 すなわち、 読出しに関しては待時 間は存在しない。
読出しの際、 H/L領域のいずれを選択するかは、 システム A側状態判断回路 38から出力される ARH信号 (第 8図 (n)) によって決定される。 このシステム A側状態判断回路 38の論理構成は、 後で詳述する力 その概略を簡単に述べて おく。 すなわち、 この判断回路 38の出力 ARHは、 CORT—信号が Lに立下 がるときの C S L—信号およぴ A L H信号の状態によって決定され、 その真理値 表を下記第 1表に示す。 第 1表
CSL. ALH ARH
H L L H L L L H 尚、 CSL—, ALHは CORT—が Lに立下がるときの状態である。
そして、 ARH信号が Hのときは、 メモリ 10の H側領域が選択され、 のと きはメモリ 10の L側領域が選択される。
システム B側状態判断回路 36は入力される C 0 R T—信号およぴ A R H信号 の状態に基づきコントローラ B側のアクセス状態を P P CW—信号が Lに立下が る時点に判断し、 この判断にす応してコントローラ A側がメモリ 10のどちらの 領域 (H/L領域) を選択するかを決定し、 その旨を示す信号 A 1 OHを出力 する (第 8図(1)) 。
すなわち、 信号 Al 0Hは、 PPCW—信号が Lに立下がるとき (前ライ ト開 始時) の C〇RT—信号および A RH信号の状態によって決定され、 その真理値 表は下記第 2表のようになる。 第 2表
CORT ARH A 1 OH
H L L H L L L H なお、 CORT—, ARHは PPCWが Lに立下がるときの状態である。
すなわち、 前述したように、 メモリ 10は L側領域が優先となっており、 この ため、 前ライト開始時に COR T—信号が H、 すなわちコントローラ Bが非ァク セス中のとき、 Al 0H信号はメモリ 10の優先領域 (L領域) に対応して と なり、 また前ライト開始時に C OR T—信号が L、 すなわちコントローラ Bがァ クセス中のときには、 Al 0H信号は ARH信号の逆となり、 コントローラ Bが アクセス中の領域と逆の領域を選択する。
セレクタ 37は、 PPCW—信号および PFD—信号の状態に応じて A 1 OH 信号およびその反転信号を切替えて ALH信号として出力するものであり、 その 出力 ALHには、 PPCW_信号が Lのとき (前ライト中) は信号 A10Hの非 反転出力力 s選択され、 PFD—信号が Lのとき (前ライ ト終了時から後ライ ト終 了時まで) は信号 A 10Hの反転出力が選択され、 さらに PPCW—信号かつ P FD—信号が Hのときにはメモリ 10の優先領域に対応して Lが選択される。 す なわち、 このセレクタ 37によって後ライ ト時に前ライ ト時と逆側の領域を選択 するようにしている。 このセレクタ 37から出力される ALH信号はメモリ 10 の H側領域および L側領域を選択する A L H端子に入力される。
後ライト待条件生成回路 39は、 FI FO 20, 25からメモリ 10に対する 後ライ トが、 コントローラ Bのメモリ 10に対するアクセスによってウェイ トさ せられる条件の一部を生成するものであり、 CORT—信号, ARH—信号およ び A 10H信号を入力信号として、 PWT—信号を出力する (第 4図 (j)) 。 PW T—信号は下記第 3表に示すウェイ ト条件が成立したとき Lになる。 第 3表
CORT A 1 OH ARH PWT
L H L L
L L H L それ以外 H すなわち、 上表におて A 1 OHの反転信号は後ライトのメモリ領域を表わして いるため、 1011と 1^ (コントローラ B側のアクセス領域) とが一致した ときであって、 かつ CORT—信号が Lのとき (ユントロ一ラ Bがアクセス中) に、 後ライ トを待たせる必要があるとして、 PWT—信号を Lにする。
この P WT—信号はゲ一ト 40に入力され、 P F D—信号の反転信号とのアン ドがとられ、 さらに反転された後 PFDE—信号として出力される (第 8図 (k)) 。 すなわち、 このゲート 40によって、 後ライト期間中にのみ Lになる PFDE— 信号が形成され、 出力される。 尚、 この PFDE—信号もクロック CKの立下が りでラツチしている。
この PFDE—信号は、 ゲート 41 , 43, 44に入力されている。 ゲート 4 1では、 P F D E—信号の反転信号と: P P CW—信号の反転信号とのノアをとり、 そのノア出力 CSLをメモリ 10の CS L端子に入力する。 すなわち、 ゲート 4 1によって、 前ライト時(PPCW_) と後ライト時(PFDE—) に CSL— 信号は Lとなり、 このときメモリ 10を左側からチップセレクトするようにする。
CSL—信号はシステム A側状態判断回路 38にも入力されている。 A側状態 判断回路 38は、 入力される CSL_信号おょぴ A LH信号に基づきコント口一 ラ A側のァクセス状態を C 0 R T—信号が Lに立下がる時点に判断し、 この判断 に対応して コントローラ B側がメモリ 10のどちらの領域(H/L領域) を選 択するかを決定し、 その選 ^果を示す信号 ARH信号を出力する (第 8図 (II)) 。 その真理値表は第 2表に示した通りである。 なお、 ARH信号は、 ALH信号と 同様、 Hのときメモリ 10の H側領域が選択され、 Lのときメモリ 10の L側領 域が選択される。
ゲート 43, 4 にはパルス発生器 42から若干位相のずれたパルス信号がそ れぞれ入力されており、 各ゲート 43, 44の他方端子に入力される PFDE— 信号によって前記パルス信号の通過、 遮断が切替えられる。 すなわち、 PFDE —信号が Lのときに、 各ゲート 43, 44からパルス発生器 42からのパルス出 力が出力される。
ゲート 43を通過したパルス信号は F I F020, 25の FR—端子に入力さ れる。 したがって、 FIFO20, 25からは前ライトのときに記憶したァドレ スおよびデータが P F D E—信号が Lになったときパルス発生器の出力パルスに したがって出力される。 F I F020から出力されるァドレスはメモリ 10の A D端子に入力され、 FIF025から出力されるデータにメモリ 10の DT端子 に入力される。
一方、 ゲート 44を通過したパルス信号はゲート 45に入力される。 ゲート 4 5では、 ゲート 32の出力とゲート 44の出力のノアをとつて、 メモリ 10の W L—端子に入力する。 すなわち、 ゲート 45は、 前ライト中を示すゲ一ト 32の 出力 (PPCW—信号が Lである期間中の WR—信号、 前ライト中) と後ライ ト 中を示すゲート 44の出力 (PFDE—信号が Lである期間中のパルス発生器 の出力) とのノアをとることで、 前ライ ト、 後ライ トに必要なパルス列をメモリ 10の WL—端子に入力する。
なお、 この場合、 後ライ トはハ一ドウエア構成の F I F〇20, 25からの出 力制御であるため、 前ライ ト (PPCW— ) よりその長さ (PFDE_) 力極端 に短かくなつており、 この PFDE—信号が Lになっている期間中に WR—信号 と同じ数のパルス信号が出力される。 これは PFDE—が F I FOの出力する E F―、 前ライト終了検知信号 WRED、 後ライ ト待ち条件信号 PWT—により H になり、 常時パルス発生器 42からきているパルスをマスクする為である。 なお、 パルス発生器では F I F〇の FR―、 メモリ 10の WL—のもとになるゲ一ト 4 3、 44へのパルスの位ネ目、 デュ一ティ もコントロールしている。
以上が制御口ジック部 30の構成であり、 以下第 8図に示すタイムチャートに したがってその動作を説明する。
時刻 tlにおいて、 1発目の WR—信号がコントローラ Aから出力される (第 8 図 (a)) 。 前ライト区間発生回路 31は、 この 1発目の WR—信号の L状態をクロ ック CKの立下がりでトリガし、 その後所定時間 TAの間この L状態を保持する P PCW—信号を出力する (第 8図 (b)) 。 この PPCW—信号の遅延出力と WR— 信号のナンド出力がゲート 32を介して出力され、 この信号は FI FO20, 2 5の WF—端子に入力されるとともに、 ゲート 45を介してメモリ 10の WL— 端子に入力される (第 8図 (c)(e)) 。 WF— , WL—はそれぞれライ トイネーブ ル端子である。 これと同時に (時刻 tl) PPCW 信号はゲート 41を介してメ モリ 10の CSL—端子 (第 8図 (d)) に入力され、左側からのチップセレクトが 可能な状態となる。 さらに、 これと同時に、 システム B側状態判断回路 36は、 PPCW—信号力立下がった時点 (時刻 tl) における CORT—信号および AR H信号の状態に基づきコントローラ B側の状態を判断し、 この判断結果に基づき メモリ 10の H/L領域のいずれを選択するかを示す信号を出力する。
この場合は、 時刻 tlにおいて CORT—信号は H, ARH信号は Lであるため、 優^ 11の L側領域が選択されるよう A 1 OH信号は Lになる (第 2表参照) 。 こ の Al 0H信号はセレクタ 37を介してメモリ 10の A LH端子に入力される。 この結果、 PPCW—信号が Lである時刻 tl〜時刻 t7の期間中は、 システムコ ントローラ Aの WR—信号に同期してコントロ一ラ Aのデータがメモリ 10の L 側領域に書込まれるとともに、 コントローラ Aのァドレスが F IF020に書込 まれ、 さらにコントローラ Aのデータが F I FO 25に書込まれる、 前ライ ト処 理が実行される。
なお、 この前ライ ト処理の期間中にも、 コントローラ Bのアクセス (読出し) は行なわれており、 システム A側状態判断回路 38では、 CORT—信号の各立 下がり時点 (時刻 12, t3, t . t5. t6) でコントローラ A側のアクセス状態 を判定し、 この判定結果に基づきコントローラ Bがアクセスすべきメモリ 10の 領域を選定している。 この場合、 前ライ トの期間中に、 コントローラ Aはメモリ 10の L側領域を選択しているため、 この前ライトの期間中におけるコントロー ラ Bのアクセス対象は、 ARH信号からも判るように、 H側領域となる (第 1表 その後、 前ライ ト処理が終了すると、 これは PPCW—信号の立上がりとし て前ライト終了検出回路 33で検出され、 該回路 33から WRED—信号が出力 される (時刻 t7) 。
この WRED_信号によって、 PFD生成回路 34から出力される: P FD—信 号は、 時刻 17で Lに立下がる。 セレクタ 37は、 前述したように、 PFD—信号 が Lの期間中は A 1 OH信号の反転信号を出力するため、 時刻 t7〜t9の期間中 ALH信号は Hとなる。
また、 この場合は、 後ライトを行なおうとするメモリ 10の H側領域 (A 10 H) に対してコントローラ B力 s読み出しアクセス中であるため待ち時間 (Tc) 力 s存在してる。 このため、 後ライ ト待条件生成回路 39およびゲート 40の構成 によって、 待ち時間 Tc力 在した後、 後ライトが開始される。 すなわち、 時刻 t 8に、 P F D E—信号は C 0 R T—信号の立上がりによって Lに立下がり、 その後 の時刻 9に P F D E—信号は E F—信号の立上がりに起因した P F D—信号の立 上がりによって Hに立上がる。 この時刻 t8〜t9の期間が後ライト期間であり、 この期間中 FI FO 20, 25の FR—端子 (リードイネ一ブル) には、 PFD E—信号によつてパルス発生器 42の出力パルスが入力されるとともに (第 8図 (d)) 、 メモリ 10の WL一端子 (ライ トイネーブル) には同パルス発生器 42の 出力パルス力'入力される。 さらに、 メモリ 10の CSL—端子も PFDE—信号 によってチップセレク ト状態となっている。
したがって、 この時刻 t8〜 t9の期間中には、 FIFO 20の出力、 すなわち、 前ライ トのときコントローラ Aから出力されたアドレス信号、 がメモリ 10 の AD端子に入力され、 かつ F I F025の出力、 すなわち、 前ライトのときコ ントロ一ラ Aから出力されたデータがメモリ 10の DT端子に入力され、 さらに このとき ALH端子は Hとなっているため、 結果的にメモリ 10の H側領域に前 ライト時にコントロ一ラ Aから出力されたデータ力 s書込まれることになる。 そし て、 この後ライ トの結果、 メモリ 10の L側領域と H側領域との記憶内容は全く 同一となる。 尚、 第 10図に後ライ ト期間における PFDE— , FR— . WL— の正確なタィムチャートの HIを示す。
第 9図は、 コントローラ Aからのアクセス周期 (PPCW— ) とコントローラ Bからのアクセス周期 (CORT— ) に関する他の例を示すものであり、 そ の基本的動作は第 8図に示したものと同じであるため、 説明は省略する。 この第 9図においても、 若干の後ライ トウエイ ト期間 Tcが存在している。
なお、 上記実施例では、 メモリ 1.0は最上位ビッ トアドレスによって 2分割す る場合を示した力 メモリの 2重化構成として、 最上位ビット以外のビットでメ モリを 2分割するようにしてもよく、 さらに 2つの異なるチップから成るメモリ を用いるようにしてもよい。 また、 制御ロジック部 30の論理構成も、 これらと 同等の機能を達成するものであれば他の任意の論理構成としてもよい。 さらに、 ノ ソファ回路としての F I F 0の代わりに、 通常のフリップフ口ップの集合体を 用いてもよい。
第 11図はこの発明の第 3実施例の概念的構成を、 第 12図はその詳略構成例 を示すものである。
第 11図および第 12図において、 システムコントローラ A, Bは例えば産業 機械に傭えられるものである。 システムコントローラ (以下コントローラと略す) Aは、 この場合産業機械自体を統轄管理するマスタコントローラで、 CPU. メ モリ等を備えた通常のコンピュータ構成である。 またシステムコントローラ Bは 産業機械各所に設置したセンサゃァクチユエ一夕とデータの授受を行なうもので める。
この第 1 1図に示す構成は、 コントローラ Aからコントローラ Bへデータを伝 送するための構成を示し、 コントローラ A, Bのメモリアクセス期間について言 えば、 コントローラ Aのメモリに対する非アクセス時間 Td (この場合は非書込み 時間) がコントローラ Bのメモリアクセス期間 TB (この場合は読出し時間) より 長いと言うことが前提となっている。
すなわち、 正確に言えば、
システム Aの非アクセス時間 TNA〉
後ライトに要する時間 Td+システム Bのアクセス時間 TB となることが前提となっている (第 14図 (a) , (j ) 参照) 。 後ライトにつ いては後述する。
なお、 この場合システムコントロ一ラ Aはシステムクロック CK Aによって動 作し、 またコントローラ Bはクロック CKBによって動作する。 これらのクロッ ク CKA. CKBは、 その周期、 位相等に関して全く異なっている。
メモリ 10はコントローラ A, Bの双方からアクセス可能な書込み/読出し自 在のデュアルポート RAMであり、 この場合アドレスの最上位ビット 「ALH」、 または 「ARH」 を Hか Lかにすることで、 メモリ領域を H側および L側に 2分 割するようになっている。 コントローラ A側からアクセスするときは、 「ALH」 を H/ Lにすることで H/ L側領域を選択し、 コントローラ B側からアクセスす るときは 「ARH」 を H/Lにすることで H/L側領域を選択する。 すなわち、 この場合メモリ 10はいわゆる 2重化された構成であり、 該メモリ 10の H側領 域、 L側領域には制御口ジック部 30の後述する制御によってコントローラ Aの 書込み周期毎に結果的に全く同一のデータ力 s書込まれるようになっている。 な お、 この場合は前述したようにコントロ一ラ Aからコントローラ Bへの一方向に ついてのみのデータ転送を問題としているため、 コントローラ Aは書込みのみを、 コントローラ Bは読出しのみを行なう。
コントロ一ラ Aと、 メモリ 10との間にはバッファ回路 20が、設けられている。 バッファ回路 20は、 コントローラ Aからメモリ 10へのデータ書込みのときに コントローラ Aの出力データ DTおよびァドレス ADを一時記憶するとともに、 その後この一時記憶したデ一タを制御口ジック咅 (530からの信号にしたがつてメ モリ 10の H側領域おょぴ L側領域のいずれか一方に出力するものであり、 この 場合は 2つの F I F020, 25 (先入れ先出し回路: First in First out) を 用いている。 すなわち、 FIF020はコントローラ Aからのアドレスを記憶す るもので、 また F I FO 25はコントローラからのデータを言己fするものである。 次に、 制御ロジック部 30の内部構成を説明する前に、 メモリ 10および FI F020. 25の信号入出力端子について説明する。
CSL一 メモリ 10の左側 (コントローラ A側) からのチップセレク ト CSR— メモリ 10の右側 (コントローラ B側) からのチップセレク ト
WL_ メモリ 10のライ トイネーブル信号
R— メモリ 10のリードイネ一ブル信号
ALH メモリ 10の最上位ァドレスビッ トであり、 左側 (コント口一 ラ A側) からメモリ 10を H/L領域に 2分割するための信号
ARH メモリ 10の最上位ァドレスビッ トであり、 右側 (コントロー ラ B側) からメモリ 10を H/L領域に 2分割するための信号
AD 了ドレス信号
DT データ
WF_ F I FOのライ トイネ一ブル信号
EF F I F〇が出力するデ一タエンプティフラグ: (F I F〇内に 記憶データがあるときは H. F I F〇から記憶デ一タを全て読 出した状^のときは L、 )
FR—: F I FOのリードイネ一ブル信号
IN : F IFOのデータ入力端子
OUT: F I FOのデータ出力端子
制御ロジック部 30は、 第 1 1図に示すようにコントローラ A, Bのコントロ —ルバス CBに接続され (具体的にはコントロ一ラ Aからの書込み要求信号 WR —とコントローラ Bの読出し要求信号 RD—が入力される) 、 メモリ 10および F I F020, 25の書込み/読出し制御を行なうものであり、 第 12図に示す ように複数の回路 31〜54によって構成されている。 制御ロジック部 30の複 数の回路はフリップフ口ップゃ論理ゲ一ト等のハードウエアで全てその論理が構 成されている。
以下、 制御ロジック部 30の各回路構成を説明する前に、 該制御ロジック部 3 0によるメモリ 10および FI F020, 25に対しての書込み/読出し制御の 論理構成について簡単に説明する。
(1) まず、 メモリ 10は、 その書込み/読出しに関して L側領域のほうが H側領域より優^)頃位:^高く設定してある。
(2) コントローラ Aから書込み要求信号 WR—が出力されると、 メモリ 1 0に対して 2回の書込みを時間をずらせて行うことで、 メモリ 10の H側領域および L側領域にコント口一ラ Aの同一デ一タを書込む。
1回目の書込み (以下前ライトという) 時には、 メモリ 10の H側 領域および L側領域のいずれか一方と F I F〇 25にデータを同時に 書込むとともに、 F I F020にァドレスを書込む。 メモリ 10の H /L側領域のいずれを選択するかについては、 コントローラ Aの WR —信号の送出開始時に、 コントローラ B側の状態を判断する。 そして この判断時点で既にコントローラ Bがメモリ 10の H/ L領域のいず れかを読出しアクセスしているときは、 コントローラ Aはその逆側の 領域に対して書込みを行ない、 またコントローラ Bがメモリ 10にァ クセスしていない場合は優先側の L側領域に対して書込みを行う。
2回目の書込み (以下後ライ トという) 時には、 上述した前ライ ト のときに F I F025に書込んだデータと F I F〇20に書込んだァ ドレスとを上記前ライト終了後、 FIF025, .20から読出し、 F I F025から読出したデータを F I F020から出力されるァドレ スにしたがってメモリ 10の上記前ライ ト時に選択した領域と逆側の H/L領域に書込む。 ただし、 この後ライト開始時、 FIF025か らのデータを書込むベき前記逆側の領域に対してコントローラ Bがァ クセスしているときは、 このコントローラ Bのアクセス終了まで待機 し、 該アクセス終了後に後ライトを行なうようにする。
(3) コントローラ Bから読出し要求信号 RD— (リード区間の間、 Lにな つている) が出力されると、 この RD—信号の送出開始時点でコント ローラ A側の状態を判断し、 この判断時に既にコントローラ Aがメモ リ 10の H/L領域のいずれかを書込みアクセスしているときは、 そ の逆側の領域から読出しを行ない、 またコントローラ Aがアクセスし ていない場合は優先側の L側領域から読出しを行なう。
(4)相手側コントローラの状態を判断する際は、 次のような方式をとるこ とで、 同一時刻に相手側コントローラの状態をそれぞれ判断した場合 に発生するメモリ 10の同一領域に対する雨コントローラの同時ァク セスを防止するようにしている。
すなわち、 コントローラ A力 s前ライトを行なうときは、 相手側コン トロ一ラ Bのステータス判断に基づいて自コントロ一ラ Aがアクセス すべきメモリ領域 (H/L領域) を選定するための判断処理を複数回 、 例えば 3回、 時間をずらせて行なう。 そして、 これら 3つの異なる 時点における判断結果の多数決をとり、 該多数決の結果によってコン トロ一ラ A力実際にアクセスするメモリ領域を決定する。
例えば、 前記 3つの時点における判断結果が H, L, L (H; H側 領域を選択する。 L; L側領域を選択する) のときは多数決の結果は Lとなり、 コントローラ Aは L側領域をアクセスする。 また前記 3つ の判断結果が L. H, Hであるときは多数決の結果は Hとなりコント ローラ Aは H側領域をアクセスする。 なお、 3つの多数決をとるとい うことは、 最初の判断結果のみでは多数決の結果は得られないという ことであり、 3つの多数^杲カ得られるためには少なくとも 2つの 判断結果が必要である。
すなわち、 前ライ ト時におけるコントローラ Aのメモリアクセス領 域は、 少なくとも 2回の判断結果が出た後に決定される。
上記多数決の結果は、 コントロ一ラ Aのメモリアクセス状態を示す フラグ信号として、 コントロ一ラ Bのリード時における相手側コント ローラ Aのステータス判断に使われる。 なお、 このフラグ信号は、 1 回目の判断結果が出されたときは、 この 1回目の判断結果に対応する 状態、となっている。
コントローラ Bによるメモリ 1 0のリード時には、 読出し要求信号 RD—の送出開始時点で 1回のみ前記フラグ信号に基づきコントロー ラ A側の状態を判断し、 この判断に応じて自コントローラ Bがァクセ スするメモリ領域を決定する。 なお、 前記 3つの異なる時点の判断に おける最初の判断時点で読出し要求信号 R D—が開始された場合は、 全く同時点における判断として、 コントロ一ラ Bに優先側の L側領域 をアクセスするように設定している。
以上が制御ロジック部 3 0の論理の概略である力?、 以下第 1 3図〜第 1 5図の タイムチャートにしたがって、 第 1 1図の構成の動作を各種場合について説明す る o
第 1 3図〜第 1 5図において、 (a ) はコントローラ Aから出力される書込み 要求信号 WR—から生成される P P CW 1—信号による前ライト区間を、 (b ) は前記 P P C W 1—信号による前ライト期間を遅延回路 4 0で遅延させた前ラィ ト区間を、 (c ) はクロック信号 c kを、 (d ) はコントローラ Bから出力され る読出し要求信号 R D_並びに読出し期間を、 (e ) は WR—信号の立下がり時 に相手側コントローラ Bの状態を判断して立てられるフラグ、 (ί ) は WR—信 号の立下がり時の半クロック c k後に立てられる前記と同じフラグ、 (g ) は W R一信号の立下がり時の 1クロック c k後に立てられる前記と同じフラグ、 (h ) はフラグ 1〜 3の多数決をとったフラグ、 ( i ) は前ライ トおよぴ後ラィ ト時に 選択するメモリ領域を決定するフラグ、 (j) は後ライ ト期間をそれぞれ示す。 なお、 (e) 〜 (g) に示したフラグ 1〜フラグ 3は、 前述したように前ライ ト時の相手側コントローラ Bのステ一タス判断に基づいて自コントローラ Aがァ クセスすべきメモリ領域を選択するための判断処理を、 3つの異なる時点に行な つた結果を示すものである。 また、 これら第 13図〜第 15図においては、 フラ グ信号以外の信号は Lが能動であり、 さらに各信号の上に付した H, Lはメモリ 1 0の選択された側の H/L領域を示している。
第 13図は、 前ライト開始時点にコントロ一ラ 13が既にメモリ 10をァクセ ス中である: 1 ^態を示している。
第 13図において、 時刻 tOにおいては、 コントローラ Bがメモリ 10の 側領 域にアクセス中であるため、 コントローラ A側のアクセス対象として H側領域が 選択され、 この結果、 時刻 tl〜時刻 3の期間にはコントローラ Aのデータがメ モリ 10の H側領域に書込まれ、 かつコントローラ Aのデータおょぴアドレスが F I F025. 20に書込まれる、 前ライト処理力行なわれる。 なお、 時刻 t2〜 t4におけるコントローラ Bの読出し処理においては、 時刻 2においてメモリ 1 0の H側領域がコントローラ Aに占拠されているため、 コントローラ Bのァクセ ス対象として L側領域が選択されている。
次に、 コントローラ Aの前ライ トカ終了した時刻 t3においては、 後ライトを行 なおうとする L側領域 (前ライ トの逆領域) はコントローラ Bによって占拠され ている。 したがって、 制御ロジック部 30では、 コントローラ Bのアクセス力 s終 了するまで待機し、 該終了時点 (時刻 t4) から後ライトを開始する。 時刻 t5に 後ライ トが終了する。
第 14図は、 コントローラ Aの WR—信号から生成する PPCW1—信号 (後 述) の立下がりとコントローラ Bの RD—信号の立下がりが同時 (時刻 tO) の場 合を示している。 この場合は、 相手側ステータスを同時に判断することになるが、 このときは 1回しか判断を行なわないコントローラ B側はコントロ一ラ Aのァク セスを示す PPCW1—信号が H (アクセスしていない) と判断するので、 優先 側の L側領域を選択することになる。
したがつて、 時刻 t 0からコントローラ Bは、 メモリ 10の L側領域に読出しァ クセスを開始する。 他方、 時刻 t Oに相手側コントローラ Bの状態に基づき自 コントロ一ラ A側がアクセスしょうとするメモリ領域を選択した結果を示すフラ グ 1は、 時刻 10における相手側コントローラ Bの L領域に対するメモリアクセス を検知し得ないので Lのままである。 しかし、 半クロック後の時刻 t lになると相 手側コントローラ Bの状態、を^ Πできるので、 フラグ 2は時刻 1 1においてコント ローラ Bのメモリアクセス領域 Lと逆の Hに立上がる。 フラグ 3も同様であり、 時刻 t 2に Hに立上がる。 したがって、 これらフラグ 1〜フラグ 3の多数
決論理が出力される多数決フラグは時刻 2に Hに立上がる。 ライト領域選択フラ グは前ライ トのときは多数決フラグと同じ論理値となり、 後ライトのときは多数 決フラグの反転値となる。 したがって、 その後、 コントローラ Aから出力された データはメモリ 1 0の H側領域に書込まれる (時刻 t 3〜t 4) 。 勿論、 この時刻 t 3〜 t 4における前ライト期間には、 コントロ一ラ Aのデータおょぴァドレス力 F I F 0 2 5 , 2 0に書込まれる。 コントローラ Αの前ライトが終了した時刻 t 4においては、 後ライトを行なおうとする L側領域に対してコントローラ Bはァク セスしていない。 したがって、 この場合は待ち時間なしに時刻 から直ちに後ラ ィ トカ s行なわれる。
第 1 5図はコントローラ Aの WR—信号 (正確には P P CW 1—信号) の立下 がりの半クロック後と、 コントローラ Bの R D—信号の立下がり時が同時の場合 を示している。
時刻 t Oにおいては、 コントローラ Bはメモリアクセスを行なっていないので、 フラグ 1は時刻 1 0において優先側の Lとなっている。 この時刻 10から半ク口ッ ク後の時刻 1において、 コントローラ Bの読出し要求信号 R D—が Lに立下がり、 この時点で多数決フラグ及びコントロ一ラ Aのアクセスを示す P P CW 1—信号 と後ライトに基づき相手側コントローラ Aの状態が判断される。 この場合、 時刻 t lにおいて多数決フラグは Lであり、 P P CW 1—信号が Lであるため、 コント ローラ Bの読出し対象領域として多数決フラグと逆の H領域力 s選択され、 この結 杲時刻 t l〜t 3の期間、 メモリ 1 0の H側領域からコントローラ Bによる読出し 力 s '行なわれる。
他方、 時刻 t lにおいて、 コントローラ Bは H側領域を選択しているため、 時刻 tl, 2でその判断動作を行なうフラグ 2、 フラグ 3は Lのままである。 し たがって多数決フラグも Lを維持し、 この結果、 時刻 t2から前ライ トがメモリ 1 0の L側領域に対して開始される。 コントローラ Aの前ライトカ s終了した時刻 t 4においては、 後ライトを行なおうとする H側領域に対してコントローラ Bはァク セスしていない。 したがって、 この場合も、 第 14図と同様、 時刻 t4から直ちに 後ライ トカ s行なわれる。
次に、 制御ロジック部 30内の各回路構成を第 12図にしたがって説明する。 なお、 この第 12図においては、 システムクロック CK力各所に入力されている せ、 要所のみその入力状態を示し、 それ以外は省略している。
コントローラ Aの書込み要求信号 WR— (第 16, 17図 (a) ) は、 前ライ ト区間発生回路 31およびゲート 41に入力されている。 なお、 前述のシステム クロック C Kのパルス周期は書込み要求信号 WR—のパルス幅より十分短いもの でめる。
前ライ ト区間発生回路 31は、 ワンショッ トマルチバイブレータ回路、 フリツ プフロップ等で構成され、 書込み要求信号 WR—をシステムクロック CKの立下 力 りで:^み、 その後、 L状態を所定時間 TA保持する: PPCW1—信号を形成し、 出力する (第 17図 (b) ) 。 すなわち WR—信号はコントローラ Aの 1書込み 期間中 TA (第 16図参照) にコントローラ Aから多数個 j頃次出力される力 これ ら WR—信号が出力されている期間に対応して P P CW 1—信号は Lとなってい る
この P P C W 1—信号はシステム B側状態断面回路 32等に入力されている。 システム B側状態判断回路 32は、 ゲート 33と 5つの D型フリップフロップ 34〜38と多数決回路 39とで構成されている。 PPCW1—信号はフリップ フロップ 34の D端子に入力されることで P P CW 1—信号がク口ック信号 C K の半周期 (半クロック) だけ遅延された PPCW2—信号 (第 17図 (c) ) が フリップフロップ 34から出力される。 この PPCW2—信号はさらにフリップ フロップ 36に入力されることで P P CW 1—信号がクロック CKの 1周期 (1 クロック) だけ遅延された P P CW 3—信号 (第 17図 ( d ) ) がフリップフ口 ップ 36から出力される。 すなわち、 PPCW2 PP CW3 信号は PPC Wl—信号を半クロックずつ遅延したものであり、 PPCW1—信号、 PPCW 2_信号、 PPCW3—信号はそれぞれフリップフロップ 35. 37, 38のク ロック端子に入力されている。 これらフリップフロップ 35, 37, 38の D端 子にはゲート 33の出力 SB L A力入力されている。
ゲート 33は、 システムコントローラ Bの読出し要求信号 RD—およびシステ ム A側状態判断回路 47の出力 ARHの各反転出力のアンドをとることで、 シス テム B側の状態を判断し、 この判断に ¾"応してコントローラ A側がメモリ 10の どちらの領域 (H/L領域) を選択すべきかを判定し信号 SB LAを出力する。 なお、 この SBLA信号はコントローラ A側がメモリ 10のいずれの H/L領域 を選択するかを決定するための判断材料としての性質をもつものである。
ARH信号は、 コントローラ Bによる読出しの際、 コントローラ Bが H/L領 域のいずれを選択するかを示すものであり、 該 ARH信号を出力するための論理 構成は後で詳述する。 なお、 ARH信号が Hのときはメモリ 10の H側領域力選 択され、 Lのときは L側領域が選択される。
すなわち、 ゲート 33およびフリップフロップ 35による構成は、 RD—信号 および A R H信号の状態に基づきコントローラ B側のアクセス状態を P P C W 1 —信号が Lに立下がる時点に判断し、 この判断に対応してコントローラ A側がメ モリ 10のどちらの領域(H/L領域) を選択するかを判定し、 その判 ¾ ^果を 示す信号 ABC 1を出力する (第 17図 (e) ) 。 すなわち、 信号 ABC 1は、 PPCW1—信号が Lに立下がるときの R D—信号および A R H信号の状態によ つて決定され、 その真理値表は下記第 4表のようになる。 第 4表
RD ARH ABC 1
H L L H L L L H なお、 RD— , ARHは PPCW1—が Lに立下がるときの状態を示している。 すなわち、 前述したように、 メモリ 10は L側領域力 ί優先となっており、 この ため、 前ライト開始時に RD—信号が Η、 すなわちコントローラ Β力非アクセス 中のとき、 ABC 1信号はメモリ 10の優先領域 (L領域) に対応して Lとなり、 また前ライ ト開始時に RD—信号が L、 すなわちコントローラ Bがアクセス中の ときには、 ABC 1信号は ARH信号の逆となり、 コントローラ Bがアクセス中 の領域と逆の領域を選択しょうとする。
また、 フリップフロップ 37はゲ一ト 33の出力 SBLAを PPCW2—信号 の立下がり時点、 すなわち PPCW1—信号の立下がりの半クロック後にラツチ し、 ABC2信号として出力する (第 17図 (f) ) 。 フリップフロップ 38は ゲ一ト 33の出力 SBLAを PPCW3—信号の立下がり時点、 すなわち P PC W 1—信号の立下がりの 1クロック後にラッチし、 ABC 3信号として出力する (第 17図 (g) ) 。
すなわち、 フリップフロップ 35, 37, 38はゲート 33の出力を半クロッ クずつずれた 3つの異なる時点にラッチすることで、 コントローラ Bの状態を 3 回、 時間をずらせて判断し、 これら各判断に対応してコントローラ A側力 ί選択す べきメモリ領域 (H/L領域) を示すフラグ信号 ABC 1 , ABC2, ABC 3 を出力する。
これらフラグ信号 ABC 1〜ABC 3は多数決回路 39に入力され、 該多数決 回路 39でこれら入力信号の多数決論理がとられる。 すなわち、 多数決回路 39 は、 これら入力信号 ABC 1〜ABC 3の各時点における多数決をとり、 該多数 決をとつた結果を A 1 OH (第 16図 (1) 、 第 17図 (p) ) を出力するもので あり、 例えばある時点に ABC 1〜ABC 3力、 L, L. Hのときは Lが出力さ れ、 またある時点に ABC 1〜AB C 3が L, H, Lのときは Lが出力され、 さ らに同様に、 H, H, Lのときは Hが出力される。
他方、 PPCW3—信号は遅延回路 40に入力され、 ここで数クロック CK分 の時間遅延された後ゲ一ト 41に入力される。 ゲート 41は、 コントロ一ラ A力 らの WR一信号と上記 PPCW 3—信号の遅延出力の各反転出力のナンドをとり、 該出力を F I F020, 25の WF 端子に入力する (第 16図 ( e ) 、 第 17 図 ϋ ) ) 。 なお、 前述したように、 システムクロック CKのパルス周期は WR —信号のパルス幅より十分短いものであり、 このため、 WR一信号を数クロック 分遅延した遅延回路 40の出力と WR—信号とがゲ一ト 4 1に入力されることに よって、 WR—信号の一発目のパルスが消されることはない (第 17図参照) 。 上記遅延回路 40は前ライト時メモリ 1 0の ALH端子にセレクタ 50の出 力力 λ力されるまでの時間をかせぐためのものである。 F IFO20, 25は^ F—端子への入力が Lのとき、 コントローラ Αから出力されるアドレス信号およ ぴデ一タ信号を該 F I F020, 25の記憶ェリ Ύにそれぞれ書込む。
前ライ ト終了検知回路 42へは、 PPCW1—信号と PPCW3—信号が入力 され、 これら入力信号に基づき前ライト終了時を規定する。 この場合は、 PPC W 1—信号の立上がり時と P P CW 3—信号の立上がり時の中間時刻、 すなわち PPCW2—信号の立上がり時を前ライ ト終了時としており、 この時点で前ライ ト終了信号 WR E Dを出力する。
PFD—生成回路 43には、 F I FO 20からの EF—信号、 WRED信号お よびフィードバック信号が入力され、 その内部は複数の論理ゲート、 フリップフ ロップ等で構成されている。 EF—信号 (第 1 6図 (h) 、 第 17図 (m) ) は 前述したように、 F I FO 20のェンプティフラグであり、 前述した前ライ ト、 後ライ トカ行なわれている間は H状態にある。 PFD—生成回路 43は、 WRE D信号の立上がり、 すなわち PPCW2—信号の立上がりで立下がり、 EF—信 号の立下がりで立上がる PFD—信号を形成する。 すなわち PFD_信号は、 前 ライ ト終了時から後ライ ト終了時までの間、 Lになる。
セレクタ 50は、 PPCW1—信号および PFD—信号の状態に応じて A 10 H信号およびその反転信号を切替えて ALH信号として出力するものであり、 そ の出力 ALHには、 PPCW1—信号が Lのとき (略前ライ ト中) は信号 A 10 Hの非反転出力が選択され、 PFD—信号が Lのとき (前ライ ト終了時から後ラ ィ ト終了時まで) は信号 A 10Hの反転出力が選択され、 さらに PPCW1—信 号および PFD—信号が Hのときにはメモリ 1 0の優先領域に対応して L力選択 される。 すなわち、 このセレク夕 50によって後ライト時に前ライ ト時と逆側の 領域を選択するようにしている。 このセレクタ 50から出力される ALH信号は メモリ 10の H側領域および L側領域を選択する ALH端子に入力される。
次に、 コントローラ Bから出力される読出し要求信号 RDは、 直接メモリ 10 の CSR—端子および R—端子に入力されている。 したがって、 RD—信号が L になっている期間には、 必ずメモリ 10の H/L領域のいずれかから記憶データ 力読出される。 すなわち、 読出しに関しては待ち時間は存在しない。 読出しの際、 H/L領域のいずれを選択するかは、 システム A側状態判断回路 47から出力さ れる ARH信号 (第 16図 (n)、 第 17図 (o) ) によって決定される。 この システム A側状態判断回路 47の論理構成は、 後で詳述する力5'、 その概略を簡単 に述べておく。 すなわち、 この判断回路 47の出力 ARHは、 RD—信号が Lに 立下がるときの C S L—信号および A L H信号の状態によつて決定
され、 その真理値表を下記第 5表に示す。 第 5表
CSL ALH ARH
H L L H L L L H なお、 CSL— , A LHは RD—が Lに立下がるときの状態を示している。 そして、 ARH信号が Hのときは、 メモリ 10の H側領域力選択され、 のと きはメモリ 10の L側領域が選択される。
後ライト待条件生成回路 44は、 FI FO 20. 25からメモリ 10に対する 後ライ ト力 s、 コントローラ Bのメモリ 10に対するアクセスによってウェイ トさ せられる条件の一部を生成するものであり、 RD—信号、 ARH信号および A1 0H信号を入力信号として、 : PWT一信号を出力する (第 16図 ( j ) ) 。 : PW T—信号は下記第 6表に示すウェイ ト条件が成立したとき Lに
なる。 第 6表
RD A 1 OH ARH PWT
L H L L
L L H L
それ以外 H すなわち上表において、 Al OHの反転信号は後ライ トのメモリ領域を表わし ているため、 A10Hの反転と ARH (コントローラ B側のアクセス領域) とが 一致したときであって、 かつ RD—信号が Lのとき (コントローラ Bがアクセス 中) に、 後ライ トを待たせる必要があるとして、 PWT—信号を Lにする。
この PWT—信号はフリップフロップ 45, 46の D端子に入力されている。 フリップフロップ 45のクロック端子にはシステムクロック C Kの反転信号力入 力され、 またフリップフロップ 46のクロック端子にはシステムクロック CKの 非反車云信号力入力されており、 したがって、 これらフリップフロップ 45, 46 によって PWT—信号を半クロック CKずれたタイミングで 2回ラツチし、 それ らの出力をゲ一ト 48に入力している。
ゲート 48では、 PFD—信号の反転信号とフリップフロップ 45. 46の各 出力のアンドをとり、 その反転信号を PFDE—信号として出力する (第 16図 (k) 、 第 17図 (1) ) 。 すなわち、 このゲート 48によって、 後ライ ト期間 中にのみ Lになる PFDE—信号力形成され、 出力される。
この PFDE—信号は、 ゲート 49, 52, 53に入力されている。 ゲート 4 9では、 PFD E—信号の反転信号と P P C W 1—信号の反転信号とのノアをと り、 そのノア出力 CSL—をメモリ 10の CSL—端子に入力する。 すなわち、 ゲート 49によって、 前ライ ト時 (PPCW1— ) と後ライト時 (: PFDE— ) に CSL一信号は Lとなり、 このときメモリ 10を左側からチップセレクトする ようにする。
CSL一信号はシステム A側状態判断回路 47にも入力されている。 A側状態 判断回路 47は、 前述したように入力される C S L—信号および A L H信号に基 づきコントローラ A側のアクセス状態を R D_信号が Lに立下がる時点に判断し、 この判断に対応してコントローラ B側がメモリ 10のどちらの領域 (H/ L領域) を選択するかを決定し、 その選 ^^果を示す信号 ARH信号を出力する (第 16 図 (n) ) 。 その真理値表は第 5表に示した通りである。 なお、 ARH信号は、 ALH信号と同様、 Hのときメモリ 10の H側領域力選択され、 Lのときメモリ 10の L側領域が選択される。
ところで、 このシステム A惻状態判断回路 47は、 第 5表にも示すように L側 領域を優先としており、 このため R D—信号の立下がりでコントローラ A側力 s非 アクセス中だと判断した場合 (CSL—信号が H) 、 即、 L側領域に対してァク セスするようになつている。 したがって、 コントローラ Aの後ライ トが L側領域 であるとするときに、 コントローラ Bからの読出し要求信号 R D—の立下がりと 後ライ トの開始が同時になつた場合、 同じ L側領域に対して読出しと後ライ トが 行なわれる可能性がある。 これを防止するために、 2個のフリップフロップ 45, 46を設け、 該フリップフロップ 45, 46によって PWT—信号を時間をずら せて、 2ィ固ラッチし、 これらラッチ信号をゲート 48に入力するようにしている。 ゲート 52, 53にはパルス発生器 5 1から若干位相のずれたパルス信号がそ れぞれ入力されており、 各ゲート 52, 53の他方端子に入力される PFDE— 信号によって前記パルス信号の通過、 遮断が切替えられる。 すなわち、 PFDE —信号が Lのときに、 各ゲート 52, 53からパルス発生器 51からのパルス出 力が出力される。
ゲ一ト 52を通過したパルス信号は F I FO 20, 25の FR—端子 (第 16 図 (d) ) に入力される。 したがって、 F I F020, 25からは前ライトのと きに記憶したァドレスおよびデータが P F D E—信号が Lになったときパルス発 生器 51の出力パルスにしたがって出力される。 F I FO 20から出力されるァ ドレスはメモリ 10の AD端子に入力され、 F I FO 25から出力されるデータ はメモリ 10の DT端子に入力される。
一方、 ゲート 53を通過したパルス信号はゲ一ト 54に入力される。 ゲ一ト 5 4では、 ゲート 41の出力とゲ一ト 53の出力のノアをとつて、 メモリ 10の W L—端子に入力する。 すなわち、 ゲート 54は、 前ライトを示すゲート 41の出 力と後ライト中を示すゲート 53の出力とのノアをとることで、 前ライト、 後ラ ィ トに必要なパルス列をメモリ 10の WL—端子に入力する。
なお、 この場合、 後ライトはハードウェア構成の FIFO20, 25からの出 力制御であるため、 前ライト (PPCW1―〜 PPCW3— ) よりその長さ (P FDE— ) が極端に短くなつており、 この PFDE—信号が Lになっている期間 中に WR—信号と同じ数のパルス信号が出力される。 これは PFDE—が F I F 0の出力する EF―、 前ライト終了検知信号 WRED、 後ライト待ち条ィ 言号 P WT—により Hになり、 常時パルス発生器 42からきているパルスをマスクする 為である。 なお、 パルス発生器では F I FOの FR―、 メモリ 10の WL—のも とになるゲート 43、 44へのパルスの位相、 デューティもコントロールしてい る o
: Lhが制御口ジック咅 |530の構成である。
次に、 第 16図に示すタイムチャートにしたがって、 制御ロジック部 30の全 体的動作について説明する。 なお、 この第 16図に関する動作説明は、 時間に関 しては必ずしも厳密でない。
時刻 tlにおいて、 一癸目の WR—信号がコントローラ Aから出力される (第 1 6図 (a) )。 前ライ ト区間発生回路 31は、 この一発目の WR—信号の L状態 をクロック CKの立下がりでトリガし、 その後コントロ一ラ Aがアクセスしてい る所定時間 T Aの間この L状態を保持する P P C W 1—信号を出力する。 この PP CW1—信号はフリップフロップ 34, 36によって 1クロック分遅延され、 さ らに遅延回路 40によって数クロック分遅延された後ゲ一ト 41に入力される。 ゲート 41には WR—信号も入力されている。 ゲート 41の出力は F I FO 20, 25の WF—端子に入力されるとともに、 ゲート 54を介してメモリ 10の WL 一端子に入力される (第 16図 (c) , (e) )。 WF—, WL_はそれぞれラ イトネーブル端子である。 これとほとんど同時に (略時間 tl) PPCW1—信号 はゲ一ト 49を介してメモリ 10の CS L一端子 (第 16図 (d) ) に入力され、 左側からのチップセレクトが可能な状態になる。
さらに、 これと同時に、 システム B側状態判断回路 36は、 PPCW1 〜P P CW 3—信号がそれぞれ立下がつた時点における R D—信号および A R H信号 の状態に基づいた多数決論理によってコントローラ B側の状態を判断し、 この判 断結果に基づきメモリ 10の H/L領域のいずれを選択するかを示す信号を出力 する。 この場合は、 時刻 tl近傍において RD—信号は H, ARH信号は Lである ため、 優先側の L側領域が選択されるよう A 1 OH信号は乙になる。 この A10 H信号はセレクタ 50を介してメモリ 10の ALH端子に入力される。 この結果、 時刻 11〜時刻 17の期間中は、 システムコントローラ Aの WR—信号に同期して コントローラ Aのデータがメモリ 10の L側領域に書込まれるとともに、 コント ローラ Aのアドレスが F I F〇 20に書込まれ、 さらにコントローラ Aのデータ が FI FO 25に書込まれる、 前ライト処理が実行される。
なお、 この前ライ ト処理の期間中にも、 コントローラ Bのアクセス (読出し) は行なわれており、 システム A側状態判断回路 47では、 RD—信号の各立下が り時点 (時刻 t2, t3, t4, t5 , t6) でコントローラ A側のアクセス状態を 判定し、 この判 ¾¾杲に基づきコントローラ Bがアクセスすべきメモリ 10の領 域を判定している。 この場合、 前ライ トの期間中に、 コントローラ Aはメモリ 1 0の L側領域を選択しているため、 この前ライ トの期間中におけるコントローラ Bのアクセス女す象は、 ARH信号からも判るように、 H側領域となる。
その後、 前ライ ト処理が終了すると、 これは PPCW2—信号の立上がりとし て前ライト終了検出回路 42で検出され、 該回路 42から WRED信号が出力さ れる (時刻 t7) 。
この WRED信号によって、 PFD—生成回路 43から出力される P FD—信 号は、 時刻 7で Lに立下がる。 セレクタ 50は、 前述したように、 PFD—信号 が Lの期間中は A 1 OH信号の反転信号を出力するため、 時刻 t7〜t8の期間中 ALH信号は Hとなる。
また、 この場合は、 後ライ トを行なおうとするメモリ 10の H側領域 (A 10 H) に対してコントローラ Bカ読出しアクセス中であるため待ち時間 (TC) 存在している。 このため、 後ライト待条件生成回路 44、 フリップフロップ 45, 46およびゲート 48の構成によって、 待ち時間 TCカ 在した後、 後ライ ト が開始される。 すなわち、 時刻 t9に、 PFDE 信号は RD _信号の立上がりに よって Lに立下がり、 その後の時刻 19に P F D E_信号は E F—信号の立下がり に起因した P F D—信号の立上がりによつて Hに立上がる。 この時刻 8〜 9の 期間が後ライト期間であり、 この期間中 FIFO20, 25の FR—端子 (リ一 ドィネーブル) には、 PFDE—信号によってパルス発生器 51の出力パルスが 入力されるとともに (第 16図 (d) ) 、 メモリ 10の WL—端子 (ライトイネ —ブル) には同パルス発生器 5 1の出力パルスが入力される。 さらに、 メモリ 1 0の CSL—端子も PFDE—信号によってチップセレクト状態となっている。 した力 sつて、 この時刻 t8〜t9の期間中には、 FIFO20の出力、 すなわち、 前ライ トのときコントローラ Aから出力されたアドレス信号、 がメモリ 10 の AD端子に入力され、 かつ FIFO 25の出力、 すなわち、 前ライトのときコ ントローラ Aから出力されたデータがメモリ 10の DT端子に入力され、 さらに このとき ALH端子は Hとなっているため、 結果的にメモリ 10の H側領域に前 ライト時にコントロ一ラ Aから出力されたデータが書込まれることになる。 そし て、 この後ライ トの結果、 メモリ 10の L惻镇域と H側領域との記憶内容は全く 同一となる。
第 17図は、 PPCW1—信号の立下がりとコントローラ Bの RD—信号の立 下がりが同時のときのタイムチャートを示し、 これは先の第 14図に示したもの の前ライト開始時の詳細タイムチャートに相当する。 すなわち、 第 17図は第 1 6図の時間軸を大きく引き延ばしたものである。 RD—信号は前述したように、 コントローラ Bのリ一ド区間を示し、 コントロ一ラ Bによって全データをリ一ド する間 Lになっている。
第 17図においては、 時刻 tlに PPCW1—信号と RD—信号とがほとん同時 に立下がつている。 この場合は P P C W 1—信号の立下がりが R D—信号の立下 がりより若干早いとする。
この場合、 システム A側状態判断回路 47では、 この時刻 tlに先の第 5表の論 理に基づいて ARH信号を決定し、 出力する。 この場合、 時刻 tlに CSL—信号 は Hであるので、 A RH信号は L状態を保持する。他方、 PPCW1—信号力 ¾ 下がった時点におけるフリップフロップ 35の出力、 すなわち ABC 1信号は、 P P CW1一信号の立下がりが RD—信号の立下がりより若干早いので先の第 4 表の論理によって になる ( RDが H)。
また、 RD—信号はメモリ 10の CSR—端子および R端子に直接入力されて いるので、 : RD—信号の立下がりと同時にこの場合はメモリ 10の L側領域に対 して読出しアクセスが開始される。
上記 PPCW1—信号の立下がりから半クロック遅れた時点 (時刻 t2) におい て、 フリップフロップ 37は再ぴゲート 33の出力 SBLAをラッチする。 この 時点 12においては、 ゲート 33に入力される RD—信号および ARH信号はそれ ぞれ L, Lとなっているので、 ABC 2信号は時刻 t2で Hに立上がる。 同様にし て、 ABC 3信号は、 時刻 t 2よりさらに半クロック CK後の時刻 t 3に、 Hに立 上がる。 したがって、 これら、 ABC 1〜ABC 3信号の多数決論理をとつた A 10 H信号は時刻 t 3に Hに立上がる。
他方、 ゲート 41では PPCW3_信号を遅延回路 40で数クロック分遅延し たものの反転信号と WR—信号の反転信号のナンド論理をとり、 その出力を F I FO 20, 25の WF—端子およびメモリ 10の WL—端子に入力している。 し たがって、 この場合には、 端子 WF—および WL—に対する入力が Lに立下がる 時刻 t4時点から、 コントローラ Aのデータが F I FO 25およびメモリ 10に書 込まれ、 かつコントローラ Aのァドレス力 F I FO 20に書込まれる、 前ライ ト が開始される。 コントローラ Aのデータ力書込まれる領域は、 コントローラ Bの アクセス領域 (L領域) と逆の H領域である。
このように、 システム B側状態判断回路 32の構成によれば、 相手側コント口 —ラのステータス判断が同時になされた場合においても同一領域に両コントロー ラ A, Bのアクセス力行なわれることは決してない。 なお、 この例では PPCW 1—信号の立下がりが: D—信号の立下がりより若干早い場合について示したが、 逆の場合でもアクセス力 s衝突することはなく、 また全く同時の場合であつてもァ クセス力衝突することはない。
第 18図は PPCW2—信号の立下がりとコントローラ Bの RD—信号の立下 力 sりが同時のときのタイムチヤ一トを示し、 これは先の第 15図に示したものの 前ライ ト開始時の詳細タイムチヤ一トに相当する。
第 18図において、 PPCW1 イ言号が Lに立下がる時刻 tlにおいて ABC 1 信号は RD—信号が Hであるため Lである (第 4表参照) したがって、 時刻 t 1においては多数決回路から出力される A 1 OH信号も Lであり、 また ALH信号 も Lである
時刻 2における RD—信号の立下がりに伴ないシステム A側状態判断回路 47 は入力されている A L H信号に基づき相手側コントローラ Aが L側領域をァクセ スしていると判断し、 ARH信号を逆の Hに立上げる。 この結果、 時刻 t2におけ る RD—信号の立下がりと同時に、 コントローラ Bによる読出しアクセスがメモ リ 10の H側領域に^して開始される。
他方、 システム B側状態判断回路 32では、 PPCW1—信号の立下がりより 半クロック遅れた時刻 12の時点およびそれよりさらに半ク口ック遅れた時点 3 でも相手側コントローラ Bの状態を判断し、 自コントローラ Aが選択すべきメモ リ領域を示す信号 ABC2, ABC3を出力する力 この場合、 時刻七2以前にお いて RD—が H (コントローラ Bがアクセスしていない) であるか、 あるいは時 刻 12以降においてコントロ一ラ Bはメモリの H側領域に対して実際の読出しァク セスを開始している。 このため、 AB C 2信号および ABC 3信号も L状態のま まで、 この結果 Al 0H信号および ALH信号も L状態のままである。
他方、 メモリ 10の WL—端子および FIFO 20, 25の WF—端子は、 : P PCW3—信号の立下がり (時刻 t3) から所定時間後 (時刻 t4) に Lに立下が る o
この結果、 時刻 t4からコントローラ Aのデータはメモリ 10の L側領域に書込 まれるとともに、 FIFO 25に書込まれ、 またコントローラ Aのアドレスが F I F020に書込まれることになる。 このように、 RD—信号の立下がりが P P CW2—信号の立下がりと同時になつた場合においてもメモリァクセス領域の 衝突を確実に回避できる。
なお、 RD—信号の立下がりが PPCW3—信号の立下がりと同時になつた場 合の動作は第 18図とほとんど同じであり、 この場合もメモリアクセス領域の衝 突を回避することができる。
このように、 この第 3実施例による構成によれば、 コントローラ A、 コント口 —ラ B力 s異なるクロックで動作している場合においても、 同一メモリ領域に対す るアクセスの衝突を好適に回避することができる。 特に、 前ライト開始時の衝突 は多数決回路 3 9等の構成により、 また後ライ ト開始時での衝突はフリップフロ ップ 4 5 , 4 6により回避することができる。
第 1 9図はこの発明の第 4実施例を示すものである。 第 1 9図において、 シス テムコントローラ A, Bは例えば産業機械に儋えられるものである。 システムコ ントローラ (以下コントローラと略す) Aはこの場合産業機械自体を統轄管理す るマスタコントローラで、 C P U、 メモリ等を備えた通帯のコンピュータ構成で ある。 またシステムコントローラ Bは産業機械各所に設置したセンサゃァクチュ ェ一夕とデータの授受を行なうものである。
この第 1 9図に示す構成はコントローラ Bからコントローラ Aへデータを転送 するための構成を示し、 コントローラ A , Bのメモリアクセス周期の関係につい て言えば、 コントローラ Aのメモリに対するアクセス時間 TA (この場合は読出 し期間) がコントローラ Bの非アクセス時間 TNB (この場合は書込みを行ってい ない期間) より長いということが前提となっている。
すなわち、 正確に言えば
コントローラ Aのアクセス時間 TA +後ライトに要する時間 Td
>コントローラ Bの非アクセス時間 T B となること力 s前提となっている (第 2 0図 (a) (e)ば) 参照) 。 「後ライト」 に ついては後述する。
メモリ 1 0はコントローラ A , Bの双方からアクセス可能な書込み/読出し自 在のデュアルポート R AMであり、 この場合アドレス 「A D」 の最上位ビッ ト
「A L H」 、 又は 「A R H」 を Hか Lかにすることで、 メモリ領域を H側および L側に 2分割するようになっている。 コントローラ A側からアクセスするときは、
「A L H」 を H/ Lにすることで H/ L側領域を選択し、 コントローラ B側から アクセスするとき 「A R H」 を H/ Lにすることで H/ L側領域を選択する。 す なわち、 この場合メモリ 1 0は謂ゆる 2重化された構成である。
なお、 この場合は前述したようにコントロ一ラ Bからコントローラ Aへの一方 向についてのみのデータ転送を問題としているため、 コントロ一ラ Aは読出しの みを、 コントローラ Bは書込みのみを行なう。 コントローラ Bと、 メモリ 10との間にはバッファ回路 20が設けられている。 ノ ツファ回路 20は、 コントローラ Bからのデータをメモリ 10の H側領域およ ぴ L側領域のうちの一方に書込んだ後、 該書込んだデータを読出して他方の領域 へ書込む (すなわち H側領域→L側領域、 または L側領域→H側領域へのメモリ —メモリ間データ転送) 際の一時記憶バッファとしての働きをするもので、 一方 の領域から読出されたデータはバッファ回路で一旦ラツチされた後、 即座に出力 され、 メモリ 10の他方の領域に書込まれる。 この場合、 バッファ回路 20は多 数のフリップフロップ (以下 FF群と略す) から成っている。
メモリ 10および FF群 20の信号入出力端子を以下に列記する。
CS L—;メモリ 10の左側 (コントローラ A側) からのチップセレクト CSR—;メモリ 10の右側 (コントローラ B側) からのチップセレク ト WL_;メモリ 10のライトイネーブル信号 (左側から)
W_;メモリ 10のライ トイネーブル信号 (右側から)
R L—;メモリ 10のリ一ドィネーブル信号 (左側から)
R—;メモリ 10のリードィネーブル信号 (右側から)
ALH;メモリ 10の最上位ァドレスビットであり、 左側 (コントロー ラ A側) からメモリ 10を H/L領域に 2分割するための信号 ARH;メモリ 10の最上位ァドレスビットであり、 右側 (コントロー ラ B側) からメモリ 10を H/L領域に 2分割するための信号 AD;ァドレス端子
DT;データ端子
D ; FF群 20のデータ入力端子
OUT; FF群 20のデータ出力端子
FCL—; FF群 20のチップセレクト
FR—; FF群 20のリ一ドクロック入力端子
FW_; FF群 20のライ トクロック入力端子
システムコントローラ Bは、 データ転送周期に同期して転送レディ信号 TCA L—を出力し、 またシステムコントローラ Aはデータ読出し (受取り) 周期に同 期して読出し要求信号 RD—を出力する。 これら TCAL 信号および RD 信 号に基づきメモリ 1 0および F F群 2 0の書込み/読出し制御を行なうことで、 コントローラ Bから出力されたデータをメモリ 1 0を経由してコントロ一ラ Aへ 入力する制御を行なうのが、 以下説明する複数の回路から成る制御 πジック部 3 0である。
制御ロジック 3 0の複数の回路はフリップフ口ップゃ論理ゲート等のハ一ドゥ ェァで全ての論理力 s構成されている。
以下、 制御ロジック部 3 0の各回路構成を説明する前に、 該制御ロジック部 3 0によるメモリ 1 0および F F群 2 0に対しての書込み/読出し制御の基本的な 論理構成について簡単に説明する。
I、 まず、 メモリ 1 0は、 その書込み/読出しに関して L側領域のほうが H 側領域より優 5¾頃位力 s高く設定してある。
II、 コントローラ Bから書込み要求を示すデータ転送レディ信号 T C A L— が出力されるとメモリ 1 0の H側領域および L側領域に対して、 基本的 には 2回の書込みを時間をずらせて行なうことで、 メモリ 1 0の11側領 域および L側領域にコントローラ Bの同一データを書込む (例外もある
) o
III、 1回目の書込み (以下前ライトという) 時には、 メモリ 1 0の H側領域 および L側領域のいずれか一方にデータを書込む。 メモリ 1 0の H/ L 側領域のいずれを選択するかについては、 コントローラ Bの T C A L— 信号の送出開始時点で、 コント口一ラ A側の状態を判断し、 コントロー ラ Aがメモリ 1 0の H/ L領域のいずれかを読み出しアクセスしている ときは、 その逆側の領域に対して書込みを行ない、 またコントローラ B がメモリ 1 0にアクセスしていない場合は優先側の L側領域に対して書 込みを行なう。
2回目の書込み (以下後ライ トという) 時には、 上記前ライ ト終了後 、 メモリ 1 0の前ライ ト時に選択した H/ L領域から同メモリ 1 0の上 記前ラィ ト時に選択した領域と逆側の H/ L領域へデータを転送するメ モリ一メモリ転送を行なう。 すなわち、 後ライ ト時には、 メモリ 1 0の 前ライ ト時に選択した H/ L領域を読出し可能状態とし、 かつその逆側 の H/ L領域を書込み可能状態とし、 読出し可能とした領域から読出し たデータを一旦 F F群でラッチし、 そのラッチ出力を書込み可能とした メモリ領域へ書込む処理を行なう 0
ただし、 この後ライト開始時、 前記書込み可能としたメモリ領域 (前 ライト時と逆のメモリ領域) に対してコントローラ Aがアクセスしてい るときは、 このコントローラ Aのアクセス終了まで待機し、 該アクセス 終了後即座に後ラィトを行なうようにする (後ライ トウェイト) 。
IV、 ただし、 上記前ライトにおいて、 T C AL—信号の送出開始時点で 「後 ライト」 を行なっている途中のときには、 該後ライト力 s '終了するまで待 機し (後ライ ト待ち期間)、 この終了時点でコントローラ A側の状態を 判断し、 即座に前ライ トを開始する (前ライトウヱイト) 。 なお、 上記 判断基準では、 前記同様コントローラ Aがメモリ 1 0の H/L領域のい ずれかを読み出しアクセスしているときは、 その逆側の領域に対して書 込みが行なわれ、 またコントローラ Aがメモリ 1 0にアクセスしていな い場合は優先側の L側領域に対して書込みが行なわれる。
V、 さらに、 上記 T C A L—信号の送出開始時点において、 後ライトがゥェ ィト中のとき、 すなわち後ライ トで書込みを行なおうとするメモリ領域 へコントローラ Aがアクセス中であるときには、 このウェイ ト中の後ラ ィ トをキヤンセルし、 コントローラ Aがアクセスしている領域と逆側の 領域に対して即座に次の前ライ トを開始する (後ライ トスキップ) 。
VI、 コントローラ Aから読み出し要求 R D_が出力されると、 この R D—信 号の送出開始時点でコントローラ B側の状態を判断し、 コントローラ B が前ライ ト中のときは、 この前ライト領域と逆側の領域から読出しを行 ない、 後ライ ト中のときは、 メモリ一メモリ転送で読出し可能状態とさ れた領域 (当該後ライ トの直前で行なわれた前ライトでのアクセス領域 ) から読出しを行ない、 またコントローラ Bがアクセスしていない場合 は優先側の L側領域から読出しを行なう。
II、 相手側コントローラの状態を判断する際、 例えばコントローラ B側 の状態はシステムクロック C Kの立上りで判断し、 コントローラ A側の 状態は同システムクロック C Kの立下がりで判断することで、 同時刻に おける判断を防止するようにしている。
: Lhが制御口ジック咅 [530の論理の概略である。
次に、 制御ロジック部 30の各回路構成について説明する。 なお、 この第 1 9図 においては、 システムクロック CKが各所に入力されている力 その図示は省略 している。
コントローラ Bの転送レディ信号 TCAL— (第 20図 (a) ) は転送開始検出 回路 31等に入力されている。 転送開始検出回路 31は、 TCAL—信号の立下 がりを検出するもので、 該 T C A L—信号の立下がりで Hに立上がる信号をゲー ト 36に出力する。 ゲート 36の他方の入力端子には、 P DDE信号の反転信号 力 s入力されている。 PDDE信号 (第 20図 (e) ) は、 後ライ ト区間生成回路 5 0から出力されるもので、 その生成論理は後で詳述する力 s、 実際の後ライト区 間を示すものであり、 後ライトを行っているときのみ Hとなり、 それ以外は で る o
したがって、 ゲート 36から出力される信号は、 TCAL—信号力入力された ときに、 後ライトを行っていないときに Hとなる。
後ライ ト終了検出回路 33は、 P DDE信号の立下がりを検出することで、 後 ライ ト終了時に Hに立上がる信号を出力する。 該検出回路 33の出力はアンド回 路 35に入力されている。
フリップフロップ 34は、 その D端子に: PDDE信号を、 そのクロック端子に TCA L—信号の反転信号を入力することで、 T C A L—信号の立下がり時の P DDE信号をラッチする。 したがって、 フリップフロップ 34の出力は、 TCA L—信号の立下がり時に、 後ライトを行っていればその時点から Hに立上がり、 以後その状態を倒寺する。 すなわち、 フリップフロップ 34の出力は、 前記 IIIに 示した 「前ライ トウエイト」 力始まった時点から Hになる。 フリップフロップ 3 4の出力はゲート 35, 53に入力されている。
ゲート 35は後ライ ト終了検出回路 33の出力とフリップフロップ 34の出力 のアンドをとることで、 前記 「前ライトウエイ ト」 状態のときに後ライトが終了 して前ライ トを開始してもよくなつた時点に Hに立上がる信号を出力する n アン ドゲート 35の出力はノアゲート 37およびディレイ回路 38に入力されている。 ディレイ回路 38はアンドゲートの H出力を少しの時間遅延した後、 フリップフ ロップ 34をリセットする。
ゲート 53は、 フリップフロップ 34の出力と PDDE信号のアンドをとるこ とで、 「前ライ トウエイ ト」 期間のときに Hとなる WATPM信号を形成する (第 2ひ図 (b) ) 。
ノアゲート 37は、 ゲート 36の出力とゲート 35の出力のノアをとることで、 前ライ トのスタートを示す FWRST—信号を出力する。 この FWRST—信号 は、 TCAL—信号が入力された時点で後ライトを行っていないときと (ゲート 36) 、 前ライ トウエイト後の前ライト開始時点に (ゲート 35) 、 Lに立下が 前ライト区間発生回路 39は、 上記 FWRST—信号の立下がりで Hに立上が り、 その後、 この H状態を前ライト区間用に予め設定された所定時間の間保持す る前ライト区間信号 SBWを出力する (第 20図 (c) ) 。
ライ トパルス発生器 43は、 SBW信号が Hの期間中、 データ書込み用のパル ス信号を発生し、 このパルス信号をメモリ 10の書込みイネ一ブル端子 W—に加 える。 一方、 上記 SBW信号はコントローラ Bに入力されており、 コントローラ Bはこの SBW信号力入力されている期間中 (SBWが Hのとき) に、 データを 出力する。 すなわち、 コントローラ Bに入力されている SBW信号は、 コント口 ーラ Bにとつてはデータ送出時期を示すタイミング信号となっている。 さらに、 上記 SBW信号はァドレス発生カウンタ 44に入力されており、 ァドレス発生力 ゥンタ 44は上記 SBW信号力入力されると、 カウントを開始し、 そのカウント 出力をメモリ 10のアドレス端子 ADに入力する。 なお、 このアドレス発生カウ ンタ 44には、 後ライ ト期間を示す PDDE信号も入力されており、 : PDDE信 号が Hになっている期間中にも動作する。 また、 カウンタ 44から出力される力 ゥント値はシステムコントローラ Bにも入力されており、 このカウント値もデー タ送出のためのァドレス信号となっている。
リード区間発生回路 46は、 コントローラ Aから出力される読出し要求信号 R D一をとり込み、 コントローラ Aのリード区間信号 P PC R を出力する (第 2 0図ば) ) 。 この PPCR—信号はコントローラ Aがリード中の間、 その出力を Lに保持している。 この PPCR—信号はメモリ 10の CSL—端子および RL —端子に入力される。 したがって PPCR—信号が Lになっている期間には、 必 ずメモリ 10の H/L領域のいずれかから記憶データ力読出される。 すなわち、 読出しに関しては待ち時間は存在しない。 読出しの際、 H/L領域のいずれを選 択するかは、 システム A側アクセス領域決定回路 47から出力される A 10L信 号 (第 20図(i) ) によって決定される。
システム A側アクセス領域決定回路 47には、 システム B側による前ライ ト区 間を示す SBW信号、 後ライト区間を示す PDDE信号および最上位アドレス決 定回路 40の出力 A 1 OR力 s入力されている。 Al OR信号は、 その出力論理に ついては後で詳述する力 s、 前ライト区間におけるコントローラ B側のメモリァク セス領域を示すものであり、 Hのとき H側領域が選択され、 Lのとき L側領域が 選択される。 尚、 後ライ トすなわち、 メモリーメモリ転送では、 前ライ トのァク セス領域と同じ領域力 売出し領域となり、 逆の領域が書込み領域となる。 この決 定回路 47の出力 A 10Lは、 次のようにして信号レベル力決定される。 A 10 Lは Ηのとき Η側領域が、 Lのとき L側領域が選択される。
(ァ) P P C R信号が Lに立下がつたときコントローラ Βがアクセス中でなけれ ば (SBWが Lでかつ PDDEが L) 、 優 5¾ の L側領域を選択する。
(ィ) PPCR—信号が Lに立下がったとき、 コントローラ B力 s前ライ ト中であ れば (SBW力 S、H) 、 該前ライ トでのメモリアクセス領域 (A 1 OR) の逆側の 領域 (Al OR一) を選択する。
(ゥ) PPCR—信号が Lに立下がったとき、 コント口一ラ B力 s後ライ ト中であ れば (PDDEが H) 、 後ライ トにおける読出し領域 (A 10R) を選択する。 このように、 信号 Al 0Lはリード区間信号 PPCR—カ¾下がる時点におけ る SBW, PDDE, Al ORによって決定され、 該信号 Al 0Lはメモリ 10 の ALU端子 (アドレスの最上位ビット) 等に入力される。
最上位アドレス決定回路 40は、 前ライ ト区間の開始を示す FWRST—信号 力立下がった時点における P P CR—信号および A 10 L信号の状態に基づき、 前ライ ト開始時点におけるコントローラ A側の状態を判断し、 この判断に対応し ててコントローラ B側力 s前ライト時メモリ 10のどちらの領域を選択するかを決 定する。
すなわち A 1 ORの真理値表は以下のようになる。 第 7表
PPC Al OL Al OR
H L L H L L L H すなわち、 前述したように、 メモリ 10は L側領域が優先となっており、 この ため、 前ライト開始時に PPCR—信号が H、 すなわちコントローラ A力非ァク セス中のとき、 Al OR信号はメモリ 10の優先領域(L領域) に対応して と なり、 また前ライト開始時に P PC R—信号が L、 すなわちコントローラ Aがァ クセス中のときには、 A 1 OR信号は A 10L信号の逆となり、 コントローラ A がアクセス中の領域と逆の領域を選択する。
最上位アドレス反転回路 41は、 前述したメモリ一メモリ転送 (後ライト) の ために、 後ライ ト期間中 (PDDEが H) に最上位アドレスの反転、 非反転出力 を に繰返して出力するものであり、 パルス発生回路 5 1から出力される〇E R R—信号の 1周期に 1回の反転/非反転を行なうようになっている。 0 E R R —信号はメモリ 10の読出しィネーブル端子 R—に加えられるリードクロック信
7? 乙ある o
セレクタ 42は、 SBW信号が H (前ライ ト中) のときは、 最上位アドレス決 定回路 40の出力 Al ORを選択し、 PDDE信号が Hのときは (後ライト中) 、 最上位ァドレス反転回路 41から出力される最上位ァドレスの反転/非反転出力 を選択するもので、 このセレクタから出力される Al 0RR信号 (第 20図(j) ) はメモリ 10の H側領域および L側領域を選択する ARH端子に入力されている。 後ライト待ちフラグ生成回路 48は、 前ライ トが終了してから後ライ トが開始 されるまでの間、 すなわち後ライトウエイ ト期間のみ Lになる後ライトウエイ ト フラグ WADD— (第 20図 (g) ) を出力するものであり、 PPCR—信号、 A 10L信号、 A 1 OR信号、 SBW信号、 R D D信号力入力されいる。 すなわち、 WADD_生成回路 48では、 前ライトが終了した時点 (SBWが Lに立下がつ たとき) で、 コントローラ Aがメモリ 10をアクセス中であり (PPCR—力 L)、 かつコントローラ Aのアクセス領域力 s後ライトでの書込み側の領域と一致 (A1 0 L = A 1 OR) した場合に WADD—信号を Uこ立下げる。 そして、 この L状 態にある WADD—信号は、 後ライ トキヤンセル回路 52から RDD—信号力 s入 力されたとき (後ライ トスキップ) 、 または PPCR—信号が Lから Hに立上つ たとき (コントローラ Aのアクセス力終了) に Hに立上がる。
卩00究生回路49は、 当該前ライトが終了してから、 この前ライトとペアの 後ライ トが終了するまでの間 Hになる PDD信号 (第 20図 (d) ) を形成するも のである。 ただし、 この PDD信号は、 当該前ライ トとペアの後ライトがキャン セルされた場合は、 次の前ライ トの開始時点で Hから Lに立下がる。 すなわち、 PDD信号は、 後ライトの終了時点を判断するためのものであり、 該 PDD発生 回路 49内には、 後ライトに要する所定期間が予め設定されたタイマ回路が内蔵 されている。
すなわちこのタイマ回路は、 後ライトのウェイトがない場合 (WADD—が H) は、 前ライ トカ s終了した時点 (58 が に立下がる) で計時開始し、 その後予 め設定された所定時間を計時した時点でリセットされる。 そして、 この場合は P D Dが Hになる期間と計時期間力 s対応している。
しかし、 このタイマ回路は、 前ライ ト終了後、 後ライ トのウェイ 卜がある場合 は (WADD—が L) 、 WADD—信号の立上がり (後ライトウエイト期間の終 了) 力 ら計時開始し、 その後設定時間を計時した時点でリセットされる。 この場 合は、 PDDが Hになる期間と計時期間力 s対応していない。 すなわち、 この場合 PDD信号は、 前ライ ト終了と同時に (SBWが Lに立下がる) 、 Hに立上がり、 その後、 この H状態は、 後ライ トウエイ ト期間 (WADD—が L) と後ライ ト期 間 (計時期間) の間、 保持される。 ただし、 上記前ライ ト終了後、 後ライ トのウェイトがある場合において、 PD D信号の立上がり (SBWが Lに立下がった時) 後、 WADD_信号の立上がり 力 sない場合は、 P D D信号の状態はタィマ回路の時計値によつては規定されず、 後ライトキヤンセル回路 52から入力される RDD信号によって規定される。 す なわち、 これは、 後ライトのウェイト状態中、 この後ライトがキャンセルされる 場合であり、 PDD信号は SBW信号の立下がりによって Hになり、 その後、 こ の H状態は R D D信号の入力によって Lに立下げられる。
後ライトキヤンセル回路 52は、 WADD—信号の反転信号と PDD信号との アンドをとるアンドゲート (WADD ' PDD) と、 このアンドゲ一の出力を転 送レディ信号 C A L—の立下がりでラッチするフリップフロップ等で構成され ており、 コントロ一ラ Bが転送レディになったとき、 後ライウェイ ト中のとき (WADD一が Lで、 PDDが H)、 Hになる、 後ライ トキヤンセル信号 RDD (第 20図 (h) ) を出力するもので、 この RDD信号は、 前記後ライ ト待ちフラ グ生成回路 48、 PDD生成回路 49に入力されている。
後ライト区間生成回路 50は、 WADD—信号と PDD信号とのアンドをとる アンドゲート (WADD一 ' PDD) と、 フリップフロップ等で構成され、 該ァ ンドゲートのアンド論理によって実際に後ライ トを行っている期間のみ Lになる 後ライ ト区間信号 P DDEを形成し、 出力する。
ゲート 45では、 前記 SBW信号と P DDE信号とのノアをとり、 そのノア出 力をメモリ 10のチップセレク ト端子 CSR—に入力する。 すなわち、 ゲート 4 5によって、 CSR一端子は前ライ ト時 (SBW) と後ライト時 (P DDE) に Lとなり、 このときメモリ 10を右側からチップセレクトする。
パルス発生回路 5 1は、 PDDE信号が Hになっている期間、 後ライト (メモ リ一メモリ転送) に要する各種パルス信号を発生するものである。
◦ ERR—信号 (第 22図(d) ) はメモリ 10のリードパルス信号であり、 メ モリ 10のリード端子 R—および最上位アドレス反転回路 41に入力されている c SPG_信号 (第 22図 (f) ) は FF群 20のチップセレクト信号であり、 後ラ ィ ト期間中に Lになっている。 SPG__信号は FF群 20のチップセレクト端子 FCL—に入力されている。 P ISD 信号 (第 22図 (e) ) は、 FF群 20力、 らデータを読出すためのリ一ドパルスであり、 F F群 20のリードクロック端子 FR—に入力されている。 WER—信号 (第 22図 (g) ) はメモリ 10にメモリ
—メモリ転送を行なわせるためのライトパルス信号であり、 メモリ 10のライ ト イネ一ブル端子 W—に入力されている。 SRDL—信号 (第 22図 (b) ) は、 F
F群 20にメモリ 10からデータを書込むためのライトパルスであり、 FF群 2 0のライトクロック端子 FW—に入力されている。
以上が制御口ジック部 30の構成であり、 以下第 20図乃至第 22図に示すタ ィムチャートにしたがってその動作を説明する。 尚、 第 20図、 第 21図におい て、 各信号の上に付した H, Lは選択されたメモリ構成を示し、 また Iは前ライ トを、 IIは後ライトを示している。
第 20図の時刻 tOにおいて、 コントローラ Bの転送レディ信号 TCAL—が L に立下がる。 この時刻 tOでは、 PDDE信号が Hであるため (後ライト中) 、 ゲ ート 36および 35の出力は Lであり、 前ライ ト開始信号 FWRST—は出力さ れない。 すなわち、 この時刻 tOから、 PDDE信号が Lになる時刻 tlまでは後 ライトカ s行なわれているため、 前ライ トウエイ ト期間となる (WATPM信号が 後ライト期間中は、 第 22図に示すように、 最上位アドレス反転回路 41によ つて最上位ァドレスビット AR Hがリ一ドクロック〇E R R—に同期して反転/ 非反転されるとともに (第 22図 (b) ) 、 アドレス発生カウンタ 44から最上位 ビット以外のアドレス信号が出力され、 さらにパルス発生回路 51力ら、 同図に 示すような各種信号が出力されることで、 F F群 20を介したメモリ一メモリ転 送が行なわれる。 なお、 第 22図 (c) の ADはアドレス発生カウンタ 44から出 力されるアドレス信号の最下位ビットである。 なお、 第 22図では、 メモリ 10 の L側領域から H側領域へのメモリ一メモリ転送が行なわれている。
第 20図の時刻 tlに、 PDDE信号が Lに立下がり、 後ライトは終了する。 後 ライト終了検出回路 33は、 この後ライ トの終了を検出し、 その出力を Hに立上 げる。 一方、 フリップフロップ 34は、 時刻 tOから PDDE信号の H状態を保持 しており、 このためゲ一ト 35の出力が時刻 11に Hに立上がる。 ゲート 35の H 出力は、 ゲート 37を介して前ライ ト区間発生回路 39および最上位ァドレス決 定回路 40に入力される。 した力つて、 前ライト区間信号 SBWは時刻 tlで Hに 立上がり、 この H状態は予設定時間だけ保持される。
—方、 最上位アドレス決定回路 40では、 時刻 tlにおいて、 相手側コント口一 ラ Aの状態を判断し、 前ライトにおいて自コントローラ B力選択するメモリ領域 を決定する。 この場合、 時刻 tlにおいては、 コントローラ Aはメモリ 10をァク セスしていないので (PPCR—が H) 、 優先側の L側領域を選択するよう A 1 ORは乙になる。 この Al OR信号はセレクタ 42を介してメモリ 10の ARH 端子に加えられる。 また、 上記 SBW信号の H入力によって、 ライ トパルス発生 器 43およびアドレス発生カウンタ 44が動作し、 SBW信号が Hの期間中、 ラ ィ トパルスをメモリ 10の W端子に入力するとともに、 アドレス信号をメモリ 1 0の AD端子およびコントローラ Bに入力する。 S BW信号もコント口一ラ Bに 入力されている。 したがって、 コントローラ Bは SBWが Hの期間にデータを送 出する。 この結果、 時刻 tl〜t2の期間には、 コントローラ Bからのデータがメ モリ 10の L側領域に書込まれる、 前ライト処理が実行される。
時刻 t2において、 前ライ トが終了し、 58 信号は に立下カ;る。 この SBW 信号の立下がりによって P D D発生回路 49は P D D信号を Hに立上げる。 この 時刻 t2には、 相手側コントローラ Aが非アクセス中なので後ライトウェイトフラ グ WADD—は出力されない。 したがって、 後ライトの待ちは発生せず、 PDD E信号は時刻 2で、 即、 HにLhがる。 この P DDE信号の立上がりによって最 上位アドレス反転回路 41、 パルス発生回路 51、 およびアドレス発生カウンタ 44が動作し、 前述した後ライ ト処理が実行される。 この後ライト処理は、 PD D発生回路 49内のタイマ回路が計時動作を終了する時刻 t5まで行なわれる。 な お、 この後ライ ト処理では、 ペアの前ライトが L側領域に対して行なわれたため、 H側領域が書込み側、 L側領域が読出し側となる。
この後ラィトの途中の時刻 13に、 コントローラ Bから転送レディ信号 T C A L 一が入力される力 後ライ トを行っているため、 時刻 t3から前ライ トウェ ィ ト状態となっている。
また、 この後ライトの途中の時刻 4で、 コントローラ A側からのリード要求が 発生している (PPCR一が L) 。 リード区間発生回路 46は、 この時刻 "から 時刻 110までの間 P PC R—信号を Lにする。 この P PC R—信号はメモリ 10 の CSL—端子おょぴ R—端子に入力され、 メモリ 10は時刻 t4〜tl0の間読出 し状態となる。 また、 PPCR—信号の立下がり時点 (時刻 t4) で、 システム A 側アクセス領域決定回路 47は相手側コントローラ B側の状態を判断し、 自コン トローラ Aがアクセスするメモリ領域を決定する。 この場合、 時刻 t4においては、 メモリ 10の H側領域が書込み状態となっている後ライト処理力 s実行されている ので、 決定回路 47は、 コントローラ Aがその逆の L側領域を選択するよう A 1 0L信号を Lにする。 この結果、 時刻 4〜時刻 10の期間には、 メモリ 10の L 側領域のデータ力 s '読出され、 コントローラ Aに出力される。
このコントローラ Aのアクセス期間中の時刻 t5において、 後ライ トカ終了し、 PDD E信号は Lに立下がる。 この結果、 時刻 15に前記同様、 ゲート 35は Hに なり、 この結果、 時刻 5に前ライト開始信号 FWRST—が出力される。 これに より、 時刻 t5から、 前ライト区間発生回路 39に設定された時間力 s終了する時刻 t6までの間、 前述した前ライ ト処理が実行される。 この場合、 この前ライト処理 は、 コントローラ A力既に L側領域にアクセス中であるため、 H側領域に対して 行なわれる。
時刻 16において、 H側領域に対する前ライト力 s終了し、 SBW信号が Lに立下 がる。 この時刻 t6においては、 後ライ トを行なおうとする (後ライ トの書き 込み側の領域) L側領域にコントローラ Aがアクセス中であるため、 後ライ ト待 ちフラグ生成回路 48の出力フラグ WA D D—が Lに立下がるとともに、 P D D 発生回路 49の出力 PDDが Hに立上がり、 後ライ トのウェイ ト開始となる。 時刻 17にコントローラ Bの転送レディ信号 T C A L—が Lに立下がる。 後ラィ トキヤンセル回路 52は TC A L—信号の立下がりで、 WADD—信号の反転信 号と PDD信号とのアンド出力、 すなわち H状態をラッチし、 このラッチ信号を 瞬時の立上がり信号に変換して、 RDD信号として出力する。 この RDD信号の 入力によって、 時刻 t7に、 WADD—信号は Hに立上がり、 : PDD信号は Lに立 下がり、 後ライ トのウェイ ト期間は終了する。
一方、 時刻 t7において、 ゲート 36の出力が Hに立上がる (PDDEが Lなの で) 。 このゲート 36の H出力によって、 ゲート 37はその出力 FWRST を Lに立下げ、 これにより時刻 t7から前ライトが開始される。
すなわち、 コントローラ Bから転送レディ信号で C A L—が入力された時刻 t においては、 後ライトのウェイト期間中である。 このため、 この後ライトはキヤ ンセルされ、 時刻 t7から次の前ライ トが開始される (後ライトスキップ) 。 時刻 t7〜t8の前ライト期間では、 コントローラ Aが L側領域に対してァクセ ス中であるため、 H側領域に対して書込み力行なわれる。
時刻 t8に、 H側領域に対する前ライトが終了し、 SBW信号が Lに立下がる。 この時刻 8においてもコントローラ A力後ラィトを行なおうとする L側領域 にアクセス中であるため、 再び後ライ トのウェイトが発生する。 この後ライ トの ウェイ トは、 TCAL—信号力 s再び Lに立下がる時刻 t9まで続行する。
時刻 t9においては、 再び後ライ卜がキャンセルされ、 時刻 t9からは次の前ラ イト力行なわれる。 この時刻 t9の後、 時刻 10にコントローラ Aのアクセスが終 了しているので、 この後は (時刻 tilから) 、 前ライトのウェイトのみが 在す る (後ライトのウェイト、 後ライトのスキップは存在しない) 、 前ライト、 およ び後ライトが繰り返し行なわれている。
第 21図は、 TCAL—信号と: PPCR—信号とのタイミングが、 第 20図と 異なる例を示したものであり、 その基本的動作は第 20図に示したものと同じで あるので説明は省略する。 この第 21図の例では前ライトのウェイ ト (WATP M) は存在しない。
なお、 上記実施例では、 コントローラ Bとメモリ 10との間のバッファ手段と して FF群 20を用いるようにした力 これの代わりに FIFO (First in Fir st Out ;先入れ先出し回路) 等を用いるようにしてもよい。 この場合は、 前ラ ィ トと後ライトのウェイトの手法が若干異なる (メモリーメモリ転送は行なわな レ のみで、 その他の前述した後ライトのウェイト、 後ライトのスキップ、 前ラ ィ トのウェイト等の手法は第 19図に示したものと同じである。
すなわち、 FIFOを用いる場合は、 アドレス記憶用の FI FOとデータ記憶 用の FIFOを設け、 前ライト時には、 メモリ 10の H側領域および L側領域の いずれか一方にデータを書込み、 かつ F I F〇にデータおよびァドレスを書込む とともに、 後ライト時には、 上述した前ライトのときに FIFOに書込んだデー タとアドレスを上記前ライ ト終了後、 F I F Oから読出し、 この読出しデータを F I F 0から出力されるアドレスにしたがってメモリ 1 0の上記前ライ ト時に選 択した領域と逆側の H / L領域に書込むようにする。
また、 上記実施例では、 コントローラ Bから転送レディ信号 T C A L—が入力 された時、 後ライ トを行っている場合は、 この後ライト終了後、 前ライ トを行な うようにした力5、 (前ライトのウェイト) 、 このような場合は次のような手法を用 いるようにしてもよい。
すなわち、 このような場合は、 転送レディ信号 T C A L—が入力された時点で、 実行中の後ライ トを強制終了させ、 該強制終了させた後ライ トで書込みを行って いた側のメモリ領域に対して、 コントローラ Bからのデータを書込む、 前ライ ト 処理を即、 実行させるようにしてもよい。 このような制御を行った場合、 後ライ トを強制終了した側のメモリ領域は前ラィ ト処理によってコントローラ Bの最新 データで書き換えられているので、 # ^中は異なるアクセス時のデータで混同し ている。 しかし、 デ一タカ混同しているメモリ領域に、 S BW信号を Hにして前 ライトを行うので、 P D D Eをリセットしてもデータ力混同しているメモリエリ ァをコントローラ Aはアクセスできない。 従って、 コントローラ Aにコント口一 ラ Bの異なるアクセス時のデータ力 s送出されることはない。
第 2 3図は、 この発明の変形例を示すものであり、 この装置では、 システムコ ントロ一ラ Bから、 2つのシステムコントローラ A, Cへデータ伝送を行なう。 この第 2 3図の装置は、 コントローラ Bの時々刻々変化するデータをコント口一 ラ Aで処理し、 かつ前記データをコントローラ Cでモニタリングするようなフィ 一ルドネットを ¾|定している。
第 2 3図の構成において、 メモリ 1 0、 F F群 2 0の構成は第 1 9図と全く 同じであり、 また制御ロジック部 8 0は、 第 1 9図に示した制御ロジック部 3 0 からシステム A側領域決定回路 4 7、 およびリード区間発生回路 4 6を除いたも のに女す応し、 その他の回路は全て有している。
すなわち、 この第 2 3図に示す構成では、 デュアルポ一トメモリ 1 0の左側端 子 (ポート) をコントローラ Aおよび Cで共用することで回路規模を縮小するよ うにしている。 そして、 この左側ポートの共用を実現するために、 コントローラ Aのアクセス要求 RD1—をコントローラ Cのアクセス要求 RD2—より優先させ ている。
システム Aリード区間発生回路 60は、 コントローラ Aの読出し要求信号 RD
1—を入力し、 コントローラ Aのリード区間信号 PPCR—を出力するもので、 そ の動作は第 19図のリード区間生成回路 46と同じである。
システム Cリード区間究生回路 62は、 コントローラ Cの読出し要求信号 RD
2—に基づきコントローラ Cのリード区間信号 P Q C R—を形成出力するものであ る。 しかし、 この発生回路 62では PQCR—信号の状態が で、 メモリ 10を システム Cがアクセス中であっても、 PPCR—信号が Lに立下がると、 PQC R—信号を強制的に Hに立上げ、 コントローラ Cのアクセスを途中で中断するよ うにしている (第 24図 (a) 、 時刻 t2) 。
これらリード区間発生回路 60, 62の出力 PPCR—および PQCR—はノ ァゲート 63を介して、 メモリ 10の CSL—端子、 R一端子に入力されいる。 他方、 PPCR—信号は、 コントローラ Cに入力されている。 したがって、 コ ントロ一ラ Cは、 PPCR—信号が Lでないとき、 または、 PPCR—信号が H に立上がるのを確認して、 読出し要求信号 RD1を送出することができる (第 24 図 (a) 時刻 tl、 第 24図 (b) 時刻 t2)。
最上位ァドレス決定回路 61には、 これら PPCR—信号および PQCR—信 号の他、 制御ロジック部 80から SBW信号、 PDDE信号および Al OR信号 力'入力されている。 したがって、 この決定回路 61の論理は、 第 19図のシステ ム A側アクセス領域決定回路 47の前述した論理と基本的に同じであり、 これに システム Cのリード区間信号 PQCR—が加わっただけであり、 決定回路 47で は P P C R—信号および P Q C R—信号が Lに立下がつたときの制御口ジック部 80から入力される 3つの信号に基づきコントローラ Bが書込みを行っていない 領域に対してコントローラ Aまたは Cの読出しアクセス力 s行なわれるよう A 10 L L信号を決定し、 該信号 A 10LLをメモリ 10の AL H端子に印加するよう にする。
尚、 制御ロジック部 80において、 先の第 19図の最上位アドレス決定回路 4 0に対応する回路 (図示せず) には、 PPCR 信号、 A10L信号に代わるも のとして、 ゲート 6 3の出力および A 1 O L L信号力 s入力されており、 該回路で はこれら入力信号にもとづき前ライ トにおけるメモリアクセス領域を決定する。 また、 同制御ロジック部 8 0において、 先の第 1 9図の後ライ ト待ちフラグ生成 回路 4 8に対応する回路にも、 P P C R—信号に代わるものとして、 ゲート 6 3 の出力が入力されている。
このように、 第 2 3図の実施例では、 コントローラ Aと Cがメモリ 1 0の左側 ポートを共用し、 コントローラ Aがメモリ 1 0を使用していないときに、 コント ローラ Cがメモリ 1 0にアクセスするようにしたので、 コントローラ A , C側の バス使用の効率力上がるとともに回路規模を縮小することができる。
なお、 前述した各実施例は、 第 2 3図の実施例を除いて、 2つのシステムコン トローラ間のデータ伝送の話として説明を行ったが、 これらの実施例はスター型 やツリー型のネットワークにも適用することができる。 これらのネットワークに 本発明を適用する場合は、 主局及び複数の従局で構成されるネットワーク構成に おいて、 各従局毎にデュアルポ一トメモリ 1 0及びコントロール回路 2 0を設け るようにすればよい。
発 明 の 利 用 可 —能 性
この発明は、 2つのコントローラ間または 1対多のコントローラ間のデータ転 送に適用して好適である。

Claims

請 求 の 範 囲
1 . 第 1のシステムコントローラから第 2のシステムコントローラへデータを 非同期で伝送する非同期データ伝送装置において、
前記第 1のシステムコントローラの出力データ力書込まれるとともに、 この書 込みデータを前記第 2のシステムコントローラへ読出す第 1および第 2のメモリ と、
前記第 1のシステムコントローラの第 2のシステムコントローラへのデ一夕伝 送に対応して第 1のシステムコントローラの出力データを前記第 1および第 2の メモリに対して交互に書き込むとともに、 前記第 2のシステムコントローラがデ ータ受信を行うとき前記第 1および第 2のメモリのうちの直前にデータ力嗜き込 まれた側のメモリを選択しこの選択したメモリからデータを読出す制御手段と、 を具えるとともに、
前記制御手段は、 前記書き込み動作の際第 2のシステムコントローラが前記第 1または第 2のメモリに読み出し動作を行っているときはこの読み出し動作を行 つている逆のメモリに前記第 1のシステムコントローラの出力データを書き込む とともに、 前記読み出し動作の際第 1のシステムコントローラが前記第 1または 第 2のメモリに書き込み動作を行っているときはこの書き込み動作を行っている 逆のメモリから読み出し動作を行うようにしたことを特徴とする非同期データ伝
2 . 第 1のシステムコントローラからこの第 1のシステムコントローラの ァ クセス時間より短いアクセス時間をもつ第 2のシステムコントローラへデータを 伝送する非同期データ伝送装置において、
前記第 1のシステムコントローラから出力されるデータを一時記憶する読み書 き可能な第 1のメモリと、
前記第 1のシステムコントローラの出力データまたは前記第 1のメモリの一時 記憶データ力 s '書込まれるとともに、 この書込みデータを前記第 2のシステムコン トローラへ読出す第 2のメモリと、
この第 2のメモリに並列に備えられ、 前記第 1のシステムコントローラの出力 データまたは前記第 1のメモリの一時記憶データ力書込まれるとともに、 この書 込みデータを前記第 2のシステムコントローラへ読出す第 3のメモリと、 前記第 1のシステムコントローラの 1書込み周期に対応して第 1のシステムコ ントローラの出力データを前記第 2および第 3のメモリのうちのいずれか一方の メモリと前記第 1のメモリとに同時に書込む第 1の書込み制御と、 この第 1の書 込み制御終了後前記第 1のメモリに書込んだデータを前記第 1の書込み制御で書 込んだ一方のメモリの他方に書込む第 2の書込み制御とを行なう書込み制御手段 と、
前記第 2のシステムコントローラの 1読出し周期に対応して前記第 2および第 3 のメモリのうちのいずれか一方からデータを読出して第 2のシステムコント口一 ラへ出力する読出し制御手段と、
を具える非同期データ伝送装置。
3 . 前記第 2および第 3のメモリは、 前記第 1および第 2のシステムコント口 —ラからのアクセスに対して所定の優先順位が予め設定され、
前記書込み制御手段は、
前記第 1のシステムコントローラからの書込み要求の開始時点で第 2のシステ ムコントローラによる第 2および第 3のメモリへのアクセス状態を判定する第 1 の判定手段と、
この第 1の判定手段の出力および前記優 5¾頃位に基づき前記第 2および第 3の メモリのうちの前記第 2のシステムコントローラがアクセスしていない側のメモ リを選択する第 1の選択手段と、
前記第 1のシステムコントローラからの書込み要求に応答して前記第 1の選択 手段の選択結果に対応するメモリおよび前記第 1のメモリへ第 1のシステムコン トローラの出力データを同時に書込む前記第 1の書込み制御を行なう第 1の書込 み手段と、
前記第 1の書込み制御終了時点で前記第 2のシステムコントローラによる第 2 およぴ第 3のメモリへのアクセス状態を判定する第 2の判定手段と、
この第 2の判定手段の判 果に応じて前記第 1の選択手段;^選択したメモリ の他方のメモリへ前記第 1のメモリの記憶データを書込む第 2の書込み制御を行 なう第 2の書込み手段と、
を具え、
前記読出し制御手段は、
前記第 2のシステムコントローラからの読出し要求の開始時点で前記第 1のシ ステムコントローラまたは前記第 1のメモリからの書込みによる第 2およぴ第 3 のメモリへのアクセス状態を判定する第 3の判定手段と、
この第 3の判定手段の出力および前記優 5¾1頃位に基づき前記第 2および第 3の メモリのうちの前記第 1のシステムコントローラがアクセスしていない側のメモ リを選択する第 2の選択手段と、
前記第 2のシステムコントローラからの読出し要求に応答して前記第 2の選択 手段の選択結果に対応するメモリから記憶データを読出し第 2のシステムコント ローラへ出力する読出し手段と、
を具える請求項 2記載の非同斯データ伝送装置。
-
4 . 前記第 2の書込み手段は、
前記第 2の判定手段から前記第 2および第 3のメモリのうちの前記第 1のメモ リの記憶データを書込むベきメモリへ前記第 2のシステムコントローラがァクセ ス中であるとする判定結果が出力された場合、 該第 2のシステムコントローラの ァクセスカ終了するまで前記第 2の書込み制御を待機させる待機手段を含むもの である請求項 3記載の非同期データ伝送装置。
5 . 前記第 1および第 2の判定手段は、 その判定時点力常に異なるよう構成さ れている請求項 3記載の非同期データ伝送装置。
6 . それぞれ異なるシステムクロック力?用いられている第 1のシステムコント ローラと第 2のシステムコントローラとのデータ伝送であって、 第 1のシステ ムコントローラからこの第 1のシステムコントローラの非アクセス時間より短い アクセス時間をもつ第 2のシステムコントローラへデータを伝送する非同期デ一 タ伝送装置において、
前記第 1のシステムコントローラから出力されるデータを一時記憶する読み書 き可能な第 1のメモリと、
前記第 1およぴ第 2のシステムコントローラからのアクセスに対して所定の優 先 I位力予め設定され、 前記第 1のシステムコントローラの出力データまたは前 記第 1のメモリの一時記憶データが書込まれるとともに、 この書込みデ一タを前 記第 2のシステムコントローラへ読出す、 並列構成の第 2及び第 3のメモリと、 前記第 1のシステムコントローラからの書込み要求の開始に伴ない第 2のシス テムコントローラによる第 2および第 3のメモリへのアクセス状態を少なく とも 3回、 時間をずらせて判定し、 少なくとも 3つの判 ¾ ^果を得る第 1の判定手段 と、
この第 1の判定手段の判 ¾¾果の多数決論理をとる多数決手段と、
この多数決手段の出力およぴ前記優先順位に基づき前記第 2および第 3のメモ リのうちの前記第 2のシステムコントロ一ラがアクセスしていないが側のメモリ を選択する第 1の選択手段と、
前記第 1のシステムコントローラからの書込み要求に応答して前記第 1の選択 手段の選択結果に対応するメモリおよび前記第 1のメモリへ第 1のシステムコン トローラの出力データを同時に書込む第 1の書込み制御を行なう第 1の書込み手 段と、
前記第 1の書込み制御終了に伴ない前記第 2のシステムコントローラによる第 2および第 3のメモリへのアクセス状態を少なくとも 2回、 時間をずらせて判定 する第 2の判定手段と、
この第 2の判定手段の判 結果に応じて前記第 1の選択手段が選択したメモリ の他方のメモリへ前記第 1のメモリの記憶デ一タを書込む第 2の書込み制御を行 なう第 2の書込み手段と、
前記第 2のシステムコントローラからの読出し要求の開始時点で第 1のシステ ムコントローラまたは第 1のメモリからの書込みによる第 2および第 3のメモリ へのアクセス状態を判定する第 3の判定手段と、
この第 3の判定手段の出力および前記優 5¾頃位に基づき前記第 2および第 3の メモリのうちの前記第 1のシステムコントローラがアクセスしていない側のメモ リを選択する第 2の選択手段と、
前記第 2のシステムコントローラからの読出し要求に応答して前記第 2の選択 手段の選択結果に女す応するメモリから記憶デ一タを読出し第 2のシステムコント ローラへ出力する読出し手段
とを具える非同期データ伝送装置。
7 . 前記第 2の書込み手段は、
前記第 2の判定手段から前記第 2および第 3のメモリのうちの当該第 1のメモ リの記憶データを書込むべきメモリへ前記第 2のシステムコントロ一ラがァクセ ス中であるとする判 ^杲が出力された場合、 該第 2のシステムコントローラの ァクセスカ s終了するまで前記第 2の書込み制御を待機させる待機手段を含むもの である請求項 6記載の非同期データ伝送装置。
8 . 第 1のシステムコントローラから、 この第 1のシステムコントローラの非 アクセス時間より長いアクセス時間をもつ第 2のシステムコントロ一ラへデ一 タを伝送する非同期データ伝送装置において、
前記第 1のシステムコントローラの出力データ力書込まれるとともに、 この書 込みデータを前記第 2のシステムコントローラへ読出す第 1のメモリと、
この第 1のメモリに並列に備えられ、 前記第 1のシステムコントローラの出力 データ力書込まれるとともに、 この書込みデータを前記第 2のシステムコントロ —ラへ読出す第 2のメモリと、
前記第 1および第 2のメモリのうちの一方の記憶データを前記第 1および第 2 のメモリのうちの他方へ書込むためのバッファ動作を行なぅノ ツファ手段と、 前記第 1のシステムコントローラのデータ転送要求に対応して第 1のシステム コントローラの出力データを前記第 1および第 2のメモリのうちのいずれか一方 のメモリに書込む 1回目の書込み制御と、 この 1回目の書込み制御終了後該 1回 目の書込み制御で書込んだデータを読み出し、 該読出したデータを前記バッファ 手段を介して前記 1回目の書込み制御で書込んだ第 1または第 2のメモリの他方 に書込む 2回目の書込み制御とを行なう書込み制御手段と、
前記第 2のシステムコントローラの読出し要求に対応して前記第 1および第 2 のメモリのうちのいずれか一方からデータを読出して第 2のシステムコント口一 ラへ出力する読出し制御手段と
を具える非同期データ伝送装置。
9 . 前記第 1および第 2のメモリは、 前記第 1および第 2のシステムコント口 ーラからのアクセスに対して所定の優先順位力'予め設定され、
前記書込み制御手段は、
前記 1回目の書込み制御終了時点で前記第 2のシステムコントローラによる第 1および第 2のメモリへのァクセス状態を判定し、 2回目の書込み制御を開始す る力待機するかを判定する第 1の判定手段と、
この第 1の判定手段から 2回目の書込み制御開始の判定結果が出力されると 2 回目の書込み制御を実行する第 1の書込手段と、
前記第 1の判定手段から待機の判 ¾ ^果カ出力されると、 前記第 2のシステム コントローラによるアクセス力終了するまで 2回目の書込みを待機する第 1の待 機手段と、
前記第 1のシステムコントローラからの転送要求の開始時点で、 前記第 2のシ ステムコントローラによる第 1および第 2のメモリへのアクセス状態おょぴ前記 第 1の判定手段の出力を判定する第 2の判定手段と、
この第 2の判定手段から第 2のシステムコントローラ力非アクセス中である判 定結果が出力されると、 第 1および第 2のメモリのうちの前記優先順位の高い側 のメモリを選択して前記 1回目の書込み制御を行なう
第 2の書込手段と、
前記第 2の判定手段から 2回目の書込み制御を待機中である判定結果が出力さ れると、 2回目の書込み制御をキャンセルし、 前記第 1および第 2のメモリのう ちの第 2のシステムコントローラがアクセスしていない側のメモリに対して前記 1回目の書込み制御を行なう第 3の書込手段と、
前記第 2の判定手段から 2回目の書込み制御を実行中である判定結果が出力さ れると、 この 2回目の書込み制御力終了するまで当該 1回巨の書込み制御を待機 させる第 2の待機手段と、
を具え、
前記読出し制御手段は、
前記第 2のシステムコントローラからの読出し要求の開始時点で前記 1回目お よび 2回目の書込み制御の状態を判定する第 3の判定手段と、
この第 3の判定手段の出力およぴ前記優^ JI頃位に基づき、 第 1のシステムコン トローラが非ァクセス中のときは第 1および第 2のメモリのうちの前記優先順位 の高い側のメモリカ ら、 また前記 1回目の書込み制御が行なわれているときは第 1および第 2のメモリのうちの 1回目の書込み制御力 s行なわれているメモリの逆 側のメモリから、 また前記 2回目の書込み制御力行なわれているときは、 前記第 1およぴ第 2のメモリのうちの 2回目の書込み制御で読出しが行なわれている側 のメモリから記憶データを読出し第 2のシステムコントローラへ出力する読出手 段
とを具える請求項 8 記載の非同期データ伝送装置。
1 0 . 第 1のシステムコントロ一ラからこの第 1のシステムコントローラの非 アクセス時間より長いアクセス時間をもつ第 2のシステムコントローラへデータ を伝送する非同期デ一タ伝送装置において、
前記第 1のシステムコントローラから出力されるデータを一時記憶する読み書 き可能な第 1のメモリと、
前記第 1のシステムコントローラの出力データまたは前記第 1のメモリの一時 記憶データ力書込まれるとともに、 この書込みデータを前記第 2のシステムコン トローラへ読出す第 2のメモリと、
この第 2のメモリに並列に傭えられ、 前記第 1のシステムコントローラの出力 データまたは前記第 1のメモリの一時記憶データが書込まれるとともに、 この書 込みデータを前記第 2のシステムコントローラへ読出す第 3のメモリと、 前記第 1のシステムコントローラのデータ転送要求に対応して第 1のシステム コントローラの出力データを前記第 2およぴ第 3のメモリのうちのいずれか一方 のメモリと前記第 1のメモリとに同時に書込む 1回目の書込み制御と、 この 1回 目の書込み制御終了後前記第 1のメモリに書込んだデータを前記 1回目の書込み 制御で書込んだ第 2または第 3のメモリの他方に書込む 2回目の書込み制御とを 行なう書込み制御手段と、
前記第 2のシステムコントローラの読出し要求に対応して前記第 2および第 3 のメモリのうちのいずれか一方からデータを読出して第 2のシステムコントロー ラへ出力する読出し制御手段と
を具える非同期データ伝送装置。
1 1 . 第 1のシステムコントローラからこの第 1のシステムコントローラの^ アクセス時間より長いアクセス時間をもつ第 2および第 3のシステムコント口一 ラへデータを伝送する非同期デーダ伝送装置において、
前記第 1のシステムコントローラの出力データ力書込まれるとともに、 この書 込みデータを前記第 2または第 3のシステムコントローラへ読出す第 1のメモリ と、
この第 1のメモリに並列に傭えられ、 前記第 1のシステムコントローラの出力 データ力 s書込まれるとともに、 この書込みデータを前記第 2または第 3のシステ ムコントローラへ読出す第 2のメモリと、
前記第 1および第 2のメモリのうちの一方のデータを前記第 1および第 2のメ モリのうちの他方へ書込むためのバッファ動作を行なうバッファ手段と、
前記第 1のシステムコントローラのデータ転送要求に対応して第 1のシステム コントローラの出力データを前記第 1および第 2のメモリのうちのいずれか一方 のメモリに書込む 1回目の書込み制御と、 この 1回目の書込み制御終了後該 1回 目の書込み制御で書込んだデータを読出し、 該読出したデータを前記バッファ手 段を介して前記 1回目の書込み制御で書込んだ第 1または第 2のメモリの他方に 書込む 2回目の書込み制御とを行なう書込み制御手段と、
前記第 2および第 3のシステムコントローラからの読出し要求に^応して予め 設定した一方のメモリを優先させて前記第 1および第 2のメモリのうちのいずれ か一方からデータを読出して第 2または第 3のシステムコントローラへ出力する 読出し制御手段と、 を具える非同期データ伝送装置。
PCT/JP1991/000632 1990-05-14 1991-05-14 Device for transmitting a synchronous data WO1991018346A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US07/938,037 US5502822A (en) 1990-05-14 1991-05-14 Asynchronous data transmission system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2/123461 1990-05-14
JP2123461A JP2572292B2 (ja) 1990-05-14 1990-05-14 非同期データ伝送装置

Publications (1)

Publication Number Publication Date
WO1991018346A1 true WO1991018346A1 (en) 1991-11-28

Family

ID=14861207

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1991/000632 WO1991018346A1 (en) 1990-05-14 1991-05-14 Device for transmitting a synchronous data

Country Status (4)

Country Link
US (1) US5502822A (ja)
EP (1) EP0530363A4 (ja)
JP (1) JP2572292B2 (ja)
WO (1) WO1991018346A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU630493B2 (en) * 1989-09-22 1992-10-29 Lenovo (Singapore) Pte. Ltd. Apparatus and method for asynchronously delivering control elements with a pipe interface

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437464A (en) * 1991-08-30 1995-08-01 Kabushiki Kaisha Sega Enterprises Data reading and image processing system for CD-ROM
JPH06250931A (ja) * 1993-02-26 1994-09-09 Mitsubishi Electric Corp 情報処理装置
US5671445A (en) * 1993-07-19 1997-09-23 Oki America, Inc. Interface for transmitting graphics data to a printer from a host computer system in rasterized form
US5781802A (en) * 1995-02-03 1998-07-14 Vlsi Technology, Inc. First-in-first-out (FIFO) controller for buffering data between systems which are asynchronous and free of false flags and internal metastability
US5671446A (en) * 1995-03-16 1997-09-23 Apple Computer, Inc. Method and apparatus for atomically accessing a queue in a memory structure where LIFO is converted to FIFO
KR0144038B1 (ko) * 1995-04-18 1998-08-17 김주용 엑세스 타임이 특수한 소자와의 인테페이스 장치 및 방법
US5692137A (en) * 1995-05-08 1997-11-25 Apple Computer, Inc. Master oriented bus bridge
JPH098989A (ja) * 1995-06-19 1997-01-10 Brother Ind Ltd パラレルデータ転送システム及び電子機器
US5819111A (en) * 1996-03-15 1998-10-06 Adobe Systems, Inc. System for managing transfer of data by delaying flow controlling of data through the interface controller until the run length encoded data transfer is complete
NO961248D0 (no) * 1996-03-28 1996-03-28 Vmetro As Anordning for dataoverföring
KR100189530B1 (ko) * 1996-05-21 1999-06-01 윤종용 마이크로 프로세서와 메모리간의 데이타 인터페이스 방법
US5790893A (en) * 1996-06-05 1998-08-04 International Business Machines Corporation Segmented concurrent receive/transfer interface using shared RAM storage
KR100223634B1 (ko) * 1997-01-15 1999-10-15 윤종용 고속 데이타 처리 및 전송을 위한 에러정정용 메모리를 구비하는 시스템 디코더 및 에러정정용 메모리 제어방법
DE59811308D1 (de) * 1997-07-21 2004-06-09 Infineon Technologies Ag Pufferspeicheranordnung
KR100248395B1 (ko) * 1997-10-23 2000-03-15 정선종 디지털 통신용 채널 부호기 설계방법
WO1999066392A1 (en) * 1998-06-17 1999-12-23 Nokia Networks Oy An interface apparatus for connecting devices operating at different clock rates, and a method of operating the interface
US6715009B1 (en) * 1999-12-21 2004-03-30 Intel Corporation Method and apparatus for coordinating cooperating resources and its application
US7788669B2 (en) * 2003-05-02 2010-08-31 Microsoft Corporation System for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory
EP1625506B1 (en) 2003-05-15 2007-08-08 Nxp B.V. Usb host controller with memory for transfer descriptors
US7640370B1 (en) * 2003-11-25 2009-12-29 Marvell International Ltd. Method and apparatus for controlling data transfer between EEPROM and a physical layer device
KR100609265B1 (ko) * 2004-11-10 2006-08-09 삼성전자주식회사 메모리 장치 및 메모리 장치의 듀얼 포트 동작 방법
WO2009131542A1 (en) * 2008-04-23 2009-10-29 Drone Technology Pte Ltd Module for data acquisition and control in a sensor/control network
SE1751567A1 (sv) * 2017-12-18 2019-06-19 Komatsu Forest Ab Arbetsmaskin samt metod för att övervaka ett styrsystem vid en arbetsmaskin
JP7147367B2 (ja) * 2018-08-23 2022-10-05 富士通株式会社 制御装置及び制御プログラム
JP7227769B2 (ja) * 2019-01-10 2023-02-22 キヤノン株式会社 情報処理装置及びメモリ制御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59144929A (ja) * 1983-02-04 1984-08-20 Mitsubishi Electric Corp 周辺機器制御装置
JPS61233857A (ja) * 1985-04-08 1986-10-18 Mitsubishi Electric Corp デ−タ転送装置
JPS6381557A (ja) * 1986-09-26 1988-04-12 Ricoh Co Ltd デユアルポ−トメモリ
JPS6436363A (en) * 1987-07-31 1989-02-07 Meidensha Electric Mfg Co Ltd System for making access to dual port memory
JPH02153453A (ja) * 1988-12-05 1990-06-13 Komatsu Ltd 非同期データ伝送装置
JPH02153455A (ja) * 1988-12-05 1990-06-13 Komatsu Ltd 非同期データ伝送装置
JPH02153454A (ja) * 1988-12-05 1990-06-13 Komatsu Ltd 非同期データ伝送装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2440058A1 (fr) * 1978-10-27 1980-05-23 Materiel Telephonique Systeme de memoire tampon pour unite d'echange entre deux unites fonctionnelles et procede de mise en oeuvre
US4298954A (en) * 1979-04-30 1981-11-03 International Business Machines Corporation Alternating data buffers when one buffer is empty and another buffer is variably full of data
JPS61217858A (ja) * 1985-03-25 1986-09-27 Hitachi Ltd デ−タ伝送装置
US5163132A (en) * 1987-09-24 1992-11-10 Ncr Corporation Integrated controller using alternately filled and emptied buffers for controlling bi-directional data transfer between a processor and a data storage device
JP2736092B2 (ja) * 1989-01-10 1998-04-02 株式会社東芝 バッファ装置
CA1320257C (en) * 1989-04-20 1993-07-13 Ernst August Munter Method and apparatus for input-buffered asynchronous transfer mode switching
JP2531275B2 (ja) * 1989-09-29 1996-09-04 日本電気株式会社 Atmセル転送方式
JP2803262B2 (ja) * 1989-12-15 1998-09-24 日本電気株式会社 パケット・スイッチ

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59144929A (ja) * 1983-02-04 1984-08-20 Mitsubishi Electric Corp 周辺機器制御装置
JPS61233857A (ja) * 1985-04-08 1986-10-18 Mitsubishi Electric Corp デ−タ転送装置
JPS6381557A (ja) * 1986-09-26 1988-04-12 Ricoh Co Ltd デユアルポ−トメモリ
JPS6436363A (en) * 1987-07-31 1989-02-07 Meidensha Electric Mfg Co Ltd System for making access to dual port memory
JPH02153453A (ja) * 1988-12-05 1990-06-13 Komatsu Ltd 非同期データ伝送装置
JPH02153455A (ja) * 1988-12-05 1990-06-13 Komatsu Ltd 非同期データ伝送装置
JPH02153454A (ja) * 1988-12-05 1990-06-13 Komatsu Ltd 非同期データ伝送装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0530363A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU630493B2 (en) * 1989-09-22 1992-10-29 Lenovo (Singapore) Pte. Ltd. Apparatus and method for asynchronously delivering control elements with a pipe interface

Also Published As

Publication number Publication date
EP0530363A4 (en) 1995-11-08
JPH0421053A (ja) 1992-01-24
JP2572292B2 (ja) 1997-01-16
US5502822A (en) 1996-03-26
EP0530363A1 (en) 1993-03-10

Similar Documents

Publication Publication Date Title
WO1991018346A1 (en) Device for transmitting a synchronous data
CA1100590A (en) Multiple microprocessor intercommunication arrangement
EP1040404B1 (en) Method and apparatus for coupling signals between two circuits operating in different clock domains
US5365485A (en) Fifo with fast retransmit mode
US5452443A (en) Multi-processor system with fault detection
US6161168A (en) Shared memory system
US5005151A (en) Interleaved arbitration scheme for interfacing parallel and serial ports to a parallel system port
JP2007525766A (ja) マルチポートメモリシステムにおける衝突検出
EP0273642B1 (en) Apparatus for reading data from memory
US6463000B2 (en) First-in first-out memory device and method of generating flag signal in the same
US7027542B1 (en) Apparatus and method for providing data transfer between two digital circuits with different clock domains and for solving metastability problems
JP2510261B2 (ja) 非同期デ―タ伝送装置
JP2510263B2 (ja) 非同期デ―タ伝送装置
EP1122737A1 (en) Circuit for managing the transfer of data streams from a plurality of sources within a system
JPH06161870A (ja) デュアルポートram回路
JPH0143392B2 (ja)
JPH02153454A (ja) 非同期データ伝送装置
KR19980068130A (ko) 공유메모리를 이용한 데이터 액세스 제어장치
KR0169789B1 (ko) 클럭주기가 다른 블럭들의 데이타 전송방법 및 회로
KR0168224B1 (ko) 주전산기의 통합시험 및 성능측정용 정보처리기의 제어방법
SU1293861A1 (ru) Устройство дл контрол дублированной системы
SU1012235A1 (ru) Устройство дл обмена данными
JPS6336428Y2 (ja)
SU1322293A1 (ru) Устройство дл сопр жени информационных каналов программно-коммутируемой логической сети
JP2722281B2 (ja) データ伝送装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1991920973

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1991920973

Country of ref document: EP

WWR Wipo information: refused in national office

Ref document number: 1991920973

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1991920973

Country of ref document: EP