EP0598417B1 - Data processing system having scanner for searching memory for message having top priority and/or identity code identical with new message - Google Patents
Data processing system having scanner for searching memory for message having top priority and/or identity code identical with new message Download PDFInfo
- Publication number
- EP0598417B1 EP0598417B1 EP93118684A EP93118684A EP0598417B1 EP 0598417 B1 EP0598417 B1 EP 0598417B1 EP 93118684 A EP93118684 A EP 93118684A EP 93118684 A EP93118684 A EP 93118684A EP 0598417 B1 EP0598417 B1 EP 0598417B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- address
- message
- identity code
- latch circuit
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
Definitions
- This invention relates to a data processing system and, more particularly, to a small-sized computer system communicable with another computer system.
- FIG. 1 illustrates a typical example of the computer system.
- Reference numeral 1 designates the prior art computer system, and comprises a central processing unit 2 abbreviated as "CPU”, a random access memory unit 3 abbreviated as "RAM”, a peripheral unit 4, a communication unit 5 and an internal bus 6.
- CPU central processing unit
- RAM random access memory
- peripheral unit 4 a communication unit 5 and an internal bus 6.
- the central processing unit 2 executes various program sequences, and one of the program sequence achieves an exchange of messages with another computer system (not shown).
- the random access memory unit 3 has a plurality of addressable memory areas for a storage of messages, and is accessible by the central processing unit 2. Namely, the central processing unit 2 supplies an address signal indicative of one of the memory areas through the internal bus 6 to the random access memory unit 3, and reads out a data code from and writes a data code into the memory area. The data code is transferred through the internal bus 6 between the central processing unit 2 and the random access memory unit 3.
- the communication unit 5 is coupled with a communication port assigned to input and output data codes TX and RX each expressing a message to or from another computer system.
- a message to be delivered is supplied from the central processing unit 2 through the internal bus 6 to the communication unit 5, and a message arriving at the communication port is transferred from the communication unit 5 through the internal bus 6 to the central processing unit 2.
- the message is formatted into a predetermined code, and the predetermined code is broken down into an identity sub-area and a data sub-area.
- the lower four bits are assigned to the data sub-area, and are representative of a data information.
- the higher four bits are assigned to the identity sub-area, and are indicative of a priority of delivery. Therefore, the higher four bits and the lower four bits are hereinbelow referred to as "identity bits (or an identity code)" and "data information bits (or a data information code)”. If identity bits are indicative of an absolute value greater than the absolute value of other identity bits, the data information accompanied with the greater identity bits is transferred to a destination earlier than the other data information.
- the random access memory unit 3 stores messages as shown in Table 1, by way of example, and the message C" has the top priority, because the identity bits of "0000" are indicative of the least absolute value.
- Address Message Identity bits Data information 0 "A” 0010 0000 1 "B” 0100 0001 2 "C” 0000 0010 3 "D" 0001 0100
- the peripheral unit supplies an output enable signal TRG1 to the communication unit 5 upon termination of a comparing sub-routine program in the program sequence for the exchange of messages, and the communication unit 5 delivers an output message TX from the communication port to the designation.
- the random access memory unit 3 is assumed to store the messages "A" to “D” at the memory areas respectively assigned addresses 0 to 3.
- the central processing system 2 supplies the address signal indicative of address "0" through the internal bus 6 to the random access memory unit 3 in synchronism with the system clock "1" as shown in Fig. 2, and fetches the message "A” stored in the address area "0" in synchronism with the system clock "2".
- the message "A” thus fetched has the identity code of "0010” and the data information code of "0000", and the central processing unit 2 stores the identity code of "0010” and the data information code of "0000" in first and second internal registers thereof.
- the central processing unit 2 transfers the address signal indicative of address "1" through the internal bus 6 to the random access memory unit 3 and relocates the identity code of "0010" and the associated data information code to third and fourth internal registers in synchronism with the system clock "3".
- the third and fourth internal registers are assigned to the identity code indicative of the least absolute value and to the data information code with the presently top priority.
- the central processing unit 2 fetches the message "B” stored in address area "1" in synchronism with the system clock "4", and the message “B” thus fetched has the identity code of "0100” and the data information code of "0001".
- the identity code of "0100” and the data information code of "0001" of the message “B” are stored in the first and second internal registers, and the identity code of "0100” of the message “B” is compared with the identity code of "0010" of the message "A”. Then, the central processing unit 2 makes a decision that the message "A" contains the data information code with the top priority. Therefore, the third and fourth internal registers are still occupied by the identity code and the data information code of the message "A".
- the central processing unit 2 further supplies the address signal indicative of address "2" through the internal bus 6 to the random access memory unit 3 in synchronism with the system clock "5".
- the message “C” is read out from the address area "2" of the random access memory unit 3, and the identity code of "0000” and the data information code of the message “C” are respectively stored in the first and second registers in synchronism with the system clock "6". This means that the central processing unit 2 discards the identity code and the data information code of the message "B".
- the central processing unit 2 compares the identity code "0000" of the message “C” in the first internal register with the identity code "0010" of the message "A”, and makes a decision that the message "C” has the priority over the message "A".
- the central processing unit 2 further supplies the address signal indicative of address "3" through the internal bus 6 to the random access memory unit 3, and transfers the identity code of "0000” and the data information code of the message "C” to the third and fourth internal registers in synchronism with the system clock 7.
- the message “D” is read out from the address "3" to the first and second internal registers of the central processing unit 2 in synchronism with the system clock "8", and the central processing unit 2 compares the identity code of "0001" of the message "D” with the identity code of "0000” of the message "C”.
- the central processing unit 2 confirms that the message "C” has the priority over the message "D", and keeps the identity code of "0000” and the data information code of the message "C” in the third and fourth internal registers.
- the central processing unit 2 informs the peripheral unit 4 that the sequential comparison is terminated, and transfers the message "C", i.e., the identity code "0000” and the data information code of "0010" through the internal bus 6 to the communication unit 5.
- the peripheral unit 4 is responsive to the control signal indicative of the termination of the sequential comparison, and supplies the output enable signal TRG1 to the communication unit 5.
- the communication unit 5 produces the output data signal TX indicative of the message "C", and delivers the output data signal TX from the communication port.
- the communication unit 5 reports the arrival of the input data signal RX to the central processing unit 2, and the central processing unit 2 fetches the message represented by the input data signal RX.
- the message represented by the input data signal RX is hereinbelow referred to as "message X", and the message "X" also has an identity code and a data information code.
- the identity code and the data information code of the message "X" are assumed to be stored in the first and second internal registers of the central processing unit 2.
- the central processing unit 2 is, thereafter, supplied the address signal indicative of address "0" to the random access memory unit 3 in synchronism with a system clock, and fetches the message "A" through the internal bus 6 to the third and fourth internal registers in synchronism with the next system clock.
- the identity code of the message "A” is compared with the identity code of the message "X” to see whether or not the identity codes are consistent with each other. If the identity code of the message "A" is consistent with the identity code of the message "X", the central processing unit 2 writes the data information code of the message "X" into the data sub-area of the memory area assigned address "0".
- the central processing unit 2 fetches the message "B", and compares the identity code of the message "X” with the identity code of the message “B” to see whether the identity codes are consistent or inconsistent with each other.
- the central processing unit 2 sequentially compares the messages stored in the random access memory unit 3 with the message "X", and the data information code of the message "X" is written into the data sub-area of the memory area assigned to the message with the same identity code.
- the prior art small-sized computer system thus arranged is communicable with another computer, and can exchange messages at random.
- the central processing unit 2 is expected to search the random access memory unit 3 for the message with the top priority and a message identical with the received message through the sequential comparison, and is prohibited from execution of other program sequences such as, for example, a data processing sequence for producing massages.
- the central processing unit 2 accesses the messages "A" to "D" stored in the random access memory unit 3 through the internal bus 6, and each access consumes two system clocks. If the random access memory unit 3 stores n messages, the sequential comparison consumes more than 2n system clocks.
- the present invention proposes to incorporate a scanning unit exclusively used for the search and the identification in a data processing system.
- a data processing system communicable with another computer system, comprising: a) a central processing unit executing a program sequence; b) a memory unit having a plurality of addressable memory areas for respectively storing messages in a rewritable manner, each of the messages having an identity code and a data code; c) a communication unit for communicating with the another computer system operative to receive a new message having an identity code and a data code for storing in one of the memory areas assigned to one of the messages with the identity code identical with the identity code of the new message and to produce an output signal representative of a message read out from one of the memory areas assigned to one of the messages with the identity code indicative of a transmission; and d) a scanning means physically separated from the central processing unit, and searching the memory unit for the one of the memory so as to allow the communication unit to communicate with the memory unit regardless of the program sequence simultaneously executable by the central processing unit.
- reference numeral 10 designates a small-sized computer system embodying the present invention, and the computer system 10 comprises a central processing unit 11, a random access memory unit 12, a peripheral unit 13, a scanning unit 14 and a communication unit 15.
- the central processing unit 11 is communicable with the random access memory unit 12, the peripheral unit 13 and the scanning unit 14 through a shared bus system 16, and a private bus system 17 is available for scanning messages stored in the random access memory unit 12 and for transferring a message with the top priority to the communication unit 15.
- the central processing unit 11 fetches instruction codes of program sequences stored in a program memory (not shown), and one of the program sequences is used for writing a data information code of a message supplied from another computer system 18.
- the program memory does not store any program sequence for scanning a message with the top priority.
- the random access memory unit 12 has a plurality of addressable memory areas, and stores a plurality of messages in the memory areas in a rewritable manner.
- An address signal indicative of an address makes one of the memory areas accessible, and a message is written into or read out from the memory area assigned the address identical with the address represented by the address signal.
- the message is formatted into the same predetermined code as that of the prior art computer system, and the messages "A" to "D" are assumed to be stored in the random access memory unit 12 as shown in Table 1.
- Predetermined jobs are assigned to the peripheral unit 13, and one of the jobs is production of an output enable signal TRG1.
- Another job is to report an arrival of a new message to the central processing unit in response to a write-request signal TRG2, and the central processing unit 11 starts the program sequence for searching the random access memory unit 12 for a message identical with the new message, and writes the data information code of the new message into the data sub-area of the memory area.
- the searching sequence and the write-in operation area similar to those of the prior art, and no further description is incorporated hereinbelow.
- the communication unit 15 is responsive to the output enable signal TRG1, and produces an output data signal Tx representative of a message with the top priority from the message transferred from the random access memory unit 12.
- the communication unit 15 is further operative to monitor a communication port to see whether or not a new message arrives thereat, and produces the request signal TRG2.
- the request signal TRG2 is supplied to the peripheral unit 13, and the peripheral unit requests the central processing unit 11 to identify the new message as well as to write the data information code of the new message into a memory area assigned to the message with the same identity code.
- the private bus system 17 has a data bus 17a, first and second address buses 17b and 17c and a control signal bus 17d.
- the data bus 17a transfers a message from the random access memory unit 12 to the scanning unit 14 and from the random access memory unit 12 to the communication unit 15, and the first address bus 17b transfers an address signal indicative of an address sequentially incremented in a scanning sequence from the scanning unit 14 to the random access memory unit 12.
- the second address bus 17c supplies the random access memory unit 12 the address signal indicative of the address assigned to the memory area storing the message with the top priority, and the control signal bus 17c propagates the output enable signal TRG1 and the request signal TRG2 between the peripheral unit 13 and the communication unit 15.
- the scanning unit 14 comprises a counter 14a, a latch circuit 14b, a register 14c, latch circuits 14d and 14e and a subtracter 14f.
- the counter 14a is responsive to a system clock signal for sequentially incrementing the address signal indicative of one of the memory areas of the random access memory unit 12, and supplies the address signal to the random access memory unit 12 and the latch circuit 14b.
- the latch circuit 14b temporally keeps the address signal presently supplied to the random access memory unit 12, and the address stored in the latch circuit 14b is sequentially incremented by the counter 14a.
- the register 14c is responsive to a borrow signal BORO for storing the address signal in the latch circuit 14b, and the address signal stored therein is indicative of the memory area storing a message with the presently top priority.
- the latch circuit 14d stores an identity code read out from the memory area assigned the address represented by the address signal in the latch circuit 14b, and the latch circuit 14d supplies the identity code to the subtracter 14f and the latch circuit 14e.
- the latch circuit 14e stores the identity code indicative of the least absolute value, and the subtracter 14f the absolute value of the identity code in the latch circuit 14d from the least absolute value.
- the subtracter 14f produces the borrow signal BORO, and the borrow signal BORO is supplied to not only the register 14c but also the latch circuit 14e. Then, the register 14c replaces the address signal indicative of the address storing the message with the previous top priority with the address signal indicative of the address storing the message with the present top priority. Similarly, the latch circuit 14e replaces the identity code indicative of the previous least absolute value with the identity code indicative of the new least absolute value.
- the central processing unit 11 searches the random access memory unit 12 for a message with the same identity code as that of a new message through a program sequence, and description is focused on a scanning sequence for transmission of the output data signal TX with reference to Fig. 5 on the assumption that the messages "A" to "D" are stored in the random access memory unit 12 as shown in Table 1.
- the central processing unit 11 requests the scanning unit 14 to search the random access memory unit 12 for a message with the top priority through the shared bus system 16
- the counter 14a resets the address therein to zero in synchronism with the leading edge of the system clock "1", and the address signal indicative of address "0" is transferred from the counter 14a to the first address bus 17b and the latch circuit 14b.
- the random access memory unit 12 supplies the identity code of the message "A” from the memory area assigned address "0" to the data bus 17a.
- the latch circuit 14b latches address "0" in synchronism with the leading edge of the system clock "2", and the counter 14a increments the address to "1".
- the address "0" is transferred to the register 14c, and is stored in the register 14c, because address "0" is indicative of the first memory area.
- the latch circuit 14d is responsive to the leading edge of the system clock "1", and stores the identity code of the message "A".
- the identity code of the message "A" is immediately transferred to the latch circuit 14e, and is stored in the latch circuit 14e, because the identity code is read out from the first memory area.
- the first identity code and the first address "0" may be stored in the latch circuit 14e and the register 14c as follows.
- the central processing unit 11 instructs the scanning unit 14 to search the random access memory unit 12 for the address storing the message with the top priority
- an identity code indicative of the maximum absolute value is loaded to the latch circuit 14e. If so, the subtracter 14f produces the borrow signal BORO at the leading edge of the system clock "2", and address "0" and the first identity code are respectively stored in the register 14c and the latch circuit 14e, respectively.
- the random access memory unit 12 supplies the identity code of the message "B" from address "1" through the data bus 17a to the latch circuit 14d at the trailing edge of the system clock "2".
- the latch circuits 14b and 14d latch address "1" and the identity code of the message "B” in synchronism with the leading edge of the system clock "3", and the subtracter 14f subtracts the absolute value of the identity code of the message "A” stored in the latch circuit 14e from the absolute value of the identity code of the message "B” in the latch circuit 14d.
- the identity code of the message “B” is greater in absolute value than the identity code of the message "A”, and any borrow signal BORO is not produced through the subtraction. This results in that the register 14c and the latch circuit 14e keep address "0" and the identity code of the message "A".
- the counter 14a increments the address to "2" in synchronism with the leading edge of the system clock "3", and the address signal indicative of address "2" is supplied from the counter 14a to the first address bus 17b and the latch circuit 14b.
- the random access memory unit 12 supplies the identity code of the message "C” through the data bus 17a to the latch circuit 14d at the trailing edge of the system clock "3".
- the latch circuits 14b and 14d latch address "2" and the identity code of the message "C” in synchronism with the leading edge of the system clock "4", and the subtracter 14f subtracts the absolute value of the identity code of the message “A” in the latch circuit 14e from the absolute value of the identity code of the message “C” in the latch circuit 14d. Since the identity code of the message "A” is greater in absolute value than the identity code of the message "C”, the subtracter 14f produces the borrow signal BORO, and supplies it to the register 14c and the latch circuit 14e. As a result, address "2" and the identity code of the message "C” are respectively stored in the register 14c and the latch circuit 14e.
- the counter 14a increments the address to "3" in synchronism with the leading edge of the system clock "4", and the address signal indicative of address "3" is supplied to the first address bus 17b and the latch circuit 14b.
- the random access memory unit 12 supplies the identity code of the message “D” from address "3” through the data bus 17a to the latch circuit 14d at the trailing edge of the system clock "4".
- the latch circuits 14b and 14d latch address "3" and the identity code of the message "D" at the leading edge of the system clock "5", and the subtracter 14f subtracts the absolute value of the identity code of the message "C” in the latch circuit 14e from the absolute value of the identity code of the message "D" in the latch circuit 14d. Since the identity code of the message "D" is greater in absolute value than the identity code of the message "C", any borrow signal BORO is not produced, and the register 14c and the latch circuit 14e keeps address "2" and the identity code of the message "C".
- all of the messages are sequentially read out from the random access memory unit 12, and are calculated by the subtracter 14f so as to look for a message with the top priority, i.e., the identity code indicative of the least absolute value.
- the message C is given the priority, and the register 14c and the latch circuit 14e keep address "2" and the identity code of the message "C" at the end of the search.
- the scanning unit 14 reports the termination of the scanning to the central processing unit 12, and the central processing unit 12 requests the peripheral unit 13 to supply the output enable signal TRG1 to the communication unit 15.
- the register 14c supplies the address signal indicative of address "2" through the second address bus 17c to the random access memory unit 12 in response to the output enable signal TRG1, and the message "C" is read out from the random access memory unit 12 to the data bus 17a.
- the communication unit 15 produces the output data signal TX representing the message "C", and the output data signal TX delivers the output data signal TX to the computer system 18.
- a selector unit (not shown) may be connected between the first and second data buses 17b and 17c and the random access memory unit 12, and the selector unit selects the second address bus 17c in the presence of the output enable signal TRG1.
- the scanning unit 14 searches the random access memory unit 12 for a message with the top priority independent from the central processing unit 11, and allows the central processing unit 11 to execute a program sequence while the scanning unit 14 is searching the random access memory unit 12. This results in improvement in the throughput of the instructions.
- a scanning unit 24 incorporated in another computer system embodying the present invention is illustrated.
- a central processing unit, a random access memory unit, a peripheral unit and a communication unit are incorporated in the computer system implementing the second embodiment, these component units are similar to those of the first embodiment, and are labeled with the same references as those of the first embodiment without detailed description.
- the scanning unit 24 is available for identifying a new message represented by an input data signal Rx with a message already stored in the random access memory unit 12, and the central processing unit 11 searches the random access memory unit 12 for a message with the top priority through a program sequence similar to the prior art.
- the scanning unit 24 identifies the new message with one of the messages already stored in the random access memory unit 12 by comparing the identity codes, and ,for this reason, the subtracter 14f is replaced with a comparator 24f in the scanning unit 24.
- the other components are labeled with the same references as those of the scanning unit 14, and the latch circuit 14e is directly connected with the data bus 17a for storing the identity code of the new message.
- the communication unit 15 When the identity code of the new message arrives at the communication port, the communication unit 15 latches the identity code, and requests the central processing unit 11 to specify the memory area of the random access memory unit 12 for storing the new message. Then, the communication unit 15 supplies the identity code of the new message to the data bus 17a. However, the data code of the new message is maintained in the communication unit 15. The central processing unit 11 instructs the scanning unit 24 to search the random access memory unit 12 for an identity code identical with the identity code of the new message.
- the scanning unit 24 Upon receipt of the instruction from the central processing unit 11, the scanning unit 24 resets the counter 14a to zero, and latches the identity code of the new message at the leading edge of the system clock "1".
- the random access memory unit 12 supplies the identity code of the message "A” from address "0" through the data bus 17a to the latch circuit 14d at the trailing edge of the system clock "1".
- the latch circuits 14b and 14d latch address "0" and the identity code of the message "A" at the leading edge of the system clock "2", and the comparator 24f compares the identity code of the new message with the identity code of the message "A".
- the identity code of the new message and the identity code of the message "A” are "0100” and "0010", and are different from each other.
- the comparator 24f does not produce the detecting signal ZERO.
- the counter 14a increments the address to "1" in synchronism with the leading edge of the system clock "2", and supplies the address signal indicative of address "1" to the first address bus 17b and the latch circuit 14b.
- the random access memory unit 12 supplies the identity code of "0100" from the memory area assigned to the message "B” through the data bus 17a to the latch circuit 14d at the trailing edge of the system clock "2".
- the latch circuits 14b and 14d latch address "1" and the identity code of the message "B" at the leading edge of the system clock "3", and the comparator 24f compares the identity code of the new message with the identity code of the message "B". Since the identity code of the new message and the identity code of the message "B" are "0100", the comparator 24f makes a decision that the identity codes are identical with each other. Then, the comparator 24f produces the detecting signal ZERO, and supplies the detecting signal ZERO to the register 14c.
- the latch circuit 14b has already stored address "2”, and the register 14c memorizes address "1" in response to the detecting signal ZERO.
- the scanning unit 24 When the scanning unit 24 identifies the identity code of the message "B" with the identity code of the new message, the scanning unit 24 reports the termination of the scanning to the central processing unit 11, and the central processing unit 11 requests the peripheral unit 13 to supply the write-request signal TRG2 to the communication unit 15.
- the second address bus 17c propagates the address signal indicative of address "1" from the register 14c to the random access memory unit 12, and the communication unit 15 transfers the data code of the new message through the data bus 17a to the memory area assigned address "1".
- the data code of the message "B” is replaced with the data code of the new message without any execution of a program sequence by the central processing unit 11.
- a scanning unit 34 is incorporated in yet another computer system embodying the present invention.
- the other units of the computer system implementing the third embodiment are similar to those of the first embodiment, and no further description is incorporated hereinbelow for the sake of simplicity.
- the scanning unit 34 is a compromise of the first and second embodiments, and is available for both of the search for a message with the top priority and the identification of the message already stored. Therefore, the scanning unit 34 has all of the components of the first and second embodiments labeled with the same references.
- the scanning unit 34 further has a flag register 34a and three selectors 34b, 34c and 34d for selectively executing the search and the identification.
- the central processing unit 11 supplies a flag signal indicative of the search or the identification to the flag register 34a, and the flag register 34 controls the selectors 34b, 34c and 34d. If the central processing unit 11 requests the scanning unit 34 to search the random access memory unit for a message with the top priority, the selectors 34b and 34c connect the latch circuits 14d and the 14e with the subtracter 14f, and the selector 34d connects the latch circuit 14d with the latch circuit 14e.
- the selectors 34b ad 34c connect the latch circuits 14d and 14e with the comparator 24f, and the selector 34d connects the data bus 17a with the latch circuit 14e.
- the searching sequences are similar to those of the first and second embodiments, and description is omitted for avoiding repetition.
- the comparator may be implemented by an array of exclusive-OR gates, and the comparator of the second embodiment may be replaced with a subtracter accompanied with a NOR gate for discriminating the difference of "0".
- the priority of transmission may be given to an identity code indicative of the greatest absolute value, and a calculator may subtract the absolute value in the latch circuit 14e from the absolute value in the latch circuit 14d for producing the borrow signal.
Description
- This invention relates to a data processing system and, more particularly, to a small-sized computer system communicable with another computer system.
- A small-sized computer system such as a desk-top personal computer system can exchange messages with another computer system through a built-in communication unit, and Fig. 1 illustrates a typical example of the computer system.
Reference numeral 1 designates the prior art computer system, and comprises acentral processing unit 2 abbreviated as "CPU", a randomaccess memory unit 3 abbreviated as "RAM", aperipheral unit 4, acommunication unit 5 and aninternal bus 6. - The
central processing unit 2 executes various program sequences, and one of the program sequence achieves an exchange of messages with another computer system (not shown). - The random
access memory unit 3 has a plurality of addressable memory areas for a storage of messages, and is accessible by thecentral processing unit 2. Namely, thecentral processing unit 2 supplies an address signal indicative of one of the memory areas through theinternal bus 6 to the randomaccess memory unit 3, and reads out a data code from and writes a data code into the memory area. The data code is transferred through theinternal bus 6 between thecentral processing unit 2 and the randomaccess memory unit 3. - The
communication unit 5 is coupled with a communication port assigned to input and output data codes TX and RX each expressing a message to or from another computer system. A message to be delivered is supplied from thecentral processing unit 2 through theinternal bus 6 to thecommunication unit 5, and a message arriving at the communication port is transferred from thecommunication unit 5 through theinternal bus 6 to thecentral processing unit 2. - The message is formatted into a predetermined code, and the predetermined code is broken down into an identity sub-area and a data sub-area. The lower four bits are assigned to the data sub-area, and are representative of a data information. On the other hand, the higher four bits are assigned to the identity sub-area, and are indicative of a priority of delivery. Therefore, the higher four bits and the lower four bits are hereinbelow referred to as "identity bits (or an identity code)" and "data information bits (or a data information code)". If identity bits are indicative of an absolute value greater than the absolute value of other identity bits, the data information accompanied with the greater identity bits is transferred to a destination earlier than the other data information.
- Therefore, the random
access memory unit 3 stores messages as shown in Table 1, by way of example, and the message C" has the top priority, because the identity bits of "0000" are indicative of the least absolute value.Address Message Identity bits Data information 0 "A" 0010 0000 1 "B" 0100 0001 2 "C" 0000 0010 3 "D" 0001 0100 - The peripheral unit supplies an output enable signal TRG1 to the
communication unit 5 upon termination of a comparing sub-routine program in the program sequence for the exchange of messages, and thecommunication unit 5 delivers an output message TX from the communication port to the designation. - The exchange of messages is hereinbelow described. The random
access memory unit 3 is assumed to store the messages "A" to "D" at the memory areas respectively assignedaddresses 0 to 3. Thecentral processing system 2 supplies the address signal indicative of address "0" through theinternal bus 6 to the randomaccess memory unit 3 in synchronism with the system clock "1" as shown in Fig. 2, and fetches the message "A" stored in the address area "0" in synchronism with the system clock "2". The message "A" thus fetched has the identity code of "0010" and the data information code of "0000", and thecentral processing unit 2 stores the identity code of "0010" and the data information code of "0000" in first and second internal registers thereof. - Subsequently, the
central processing unit 2 transfers the address signal indicative of address "1" through theinternal bus 6 to the randomaccess memory unit 3 and relocates the identity code of "0010" and the associated data information code to third and fourth internal registers in synchronism with the system clock "3". The third and fourth internal registers are assigned to the identity code indicative of the least absolute value and to the data information code with the presently top priority. - The
central processing unit 2 fetches the message "B" stored in address area "1" in synchronism with the system clock "4", and the message "B" thus fetched has the identity code of "0100" and the data information code of "0001". The identity code of "0100" and the data information code of "0001" of the message "B" are stored in the first and second internal registers, and the identity code of "0100" of the message "B" is compared with the identity code of "0010" of the message "A". Then, thecentral processing unit 2 makes a decision that the message "A" contains the data information code with the top priority. Therefore, the third and fourth internal registers are still occupied by the identity code and the data information code of the message "A". - The
central processing unit 2 further supplies the address signal indicative of address "2" through theinternal bus 6 to the randomaccess memory unit 3 in synchronism with the system clock "5". The message "C" is read out from the address area "2" of the randomaccess memory unit 3, and the identity code of "0000" and the data information code of the message "C" are respectively stored in the first and second registers in synchronism with the system clock "6". This means that thecentral processing unit 2 discards the identity code and the data information code of the message "B". Thecentral processing unit 2 compares the identity code "0000" of the message "C" in the first internal register with the identity code "0010" of the message "A", and makes a decision that the message "C" has the priority over the message "A". - The
central processing unit 2 further supplies the address signal indicative of address "3" through theinternal bus 6 to the randomaccess memory unit 3, and transfers the identity code of "0000" and the data information code of the message "C" to the third and fourth internal registers in synchronism with thesystem clock 7. The message "D" is read out from the address "3" to the first and second internal registers of thecentral processing unit 2 in synchronism with the system clock "8", and thecentral processing unit 2 compares the identity code of "0001" of the message "D" with the identity code of "0000" of the message "C". Thecentral processing unit 2 confirms that the message "C" has the priority over the message "D", and keeps the identity code of "0000" and the data information code of the message "C" in the third and fourth internal registers. - When the sequential comparison is terminated, the
central processing unit 2 informs theperipheral unit 4 that the sequential comparison is terminated, and transfers the message "C", i.e., the identity code "0000" and the data information code of "0010" through theinternal bus 6 to thecommunication unit 5. Theperipheral unit 4 is responsive to the control signal indicative of the termination of the sequential comparison, and supplies the output enable signal TRG1 to thecommunication unit 5. Then, thecommunication unit 5 produces the output data signal TX indicative of the message "C", and delivers the output data signal TX from the communication port. - On the other hand, if the input data signal RX reaches the communication port, the
communication unit 5 reports the arrival of the input data signal RX to thecentral processing unit 2, and thecentral processing unit 2 fetches the message represented by the input data signal RX. The message represented by the input data signal RX is hereinbelow referred to as "message X", and the message "X" also has an identity code and a data information code. The identity code and the data information code of the message "X" are assumed to be stored in the first and second internal registers of thecentral processing unit 2. - The
central processing unit 2 is, thereafter, supplied the address signal indicative of address "0" to the randomaccess memory unit 3 in synchronism with a system clock, and fetches the message "A" through theinternal bus 6 to the third and fourth internal registers in synchronism with the next system clock. The identity code of the message "A" is compared with the identity code of the message "X" to see whether or not the identity codes are consistent with each other. If the identity code of the message "A" is consistent with the identity code of the message "X", thecentral processing unit 2 writes the data information code of the message "X" into the data sub-area of the memory area assigned address "0". - However, if the identity code of the message "X" is inconsistent with the identity code of the message "A", the
central processing unit 2 fetches the message "B", and compares the identity code of the message "X" with the identity code of the message "B" to see whether the identity codes are consistent or inconsistent with each other. - Thus, the
central processing unit 2 sequentially compares the messages stored in the randomaccess memory unit 3 with the message "X", and the data information code of the message "X" is written into the data sub-area of the memory area assigned to the message with the same identity code. - The prior art small-sized computer system thus arranged is communicable with another computer, and can exchange messages at random. However, the
central processing unit 2 is expected to search the randomaccess memory unit 3 for the message with the top priority and a message identical with the received message through the sequential comparison, and is prohibited from execution of other program sequences such as, for example, a data processing sequence for producing massages. - Moreover, the
central processing unit 2 accesses the messages "A" to "D" stored in the randomaccess memory unit 3 through theinternal bus 6, and each access consumes two system clocks. If the randomaccess memory unit 3 stores n messages, the sequential comparison consumes more than 2n system clocks. - Therefore, the prior art computer system suffers from a low throughput of the other program sequences.
- It is therefore an important object of the present invention to provide a data processing system which releases an central processing unit from a search for an message with the top priority and from an identification of a received message.
- To accomplish the object, the present invention proposes to incorporate a scanning unit exclusively used for the search and the identification in a data processing system.
- In accordance with the present invention, there is provided a data processing system communicable with another computer system, comprising: a) a central processing unit executing a program sequence; b) a memory unit having a plurality of addressable memory areas for respectively storing messages in a rewritable manner, each of the messages having an identity code and a data code; c) a communication unit for communicating with the another computer system operative to receive a new message having an identity code and a data code for storing in one of the memory areas assigned to one of the messages with the identity code identical with the identity code of the new message and to produce an output signal representative of a message read out from one of the memory areas assigned to one of the messages with the identity code indicative of a transmission; and d) a scanning means physically separated from the central processing unit, and searching the memory unit for the one of the memory so as to allow the communication unit to communicate with the memory unit regardless of the program sequence simultaneously executable by the central processing unit.
- The features and advantages of the data processing system according to the present invention will be more clearly understood from the following description taken in conjunction with the accompanying drawings in which:
- Fig. 1 is a block diagram showing the arrangement of the prior art small-sized computer system communicable with another computer system;
- Fig. 2 is a timing chart showing the sequential comparison executed by the central processing unit incorporated in the prior art small-sized computer system;
- Fig. 3 is a block diagram showing the arrangement of a computer system according to the present invention;
- Fig. 4 is a block diagram showing the arrangement of a scanning unit incorporated in the computer system according to the present invention;
- Fig. 5 is a timing chart showing a sequential comparison executed by the scanning unit;
- Fig. 6 is a block diagram showing a scanner incorporated in another computer system according to the present invention;
- Fig. 7 is a timing chart showing a sequential comparison executed by the scanner shown in Fig. 6; and
- Fig. 8 is a block diagram showing the arrangement of a scanning unit incorporated in yet another computer system according to the present invention.
-
- Referring to Fig. 3 of the drawings,
reference numeral 10 designates a small-sized computer system embodying the present invention, and thecomputer system 10 comprises acentral processing unit 11, a randomaccess memory unit 12, aperipheral unit 13, ascanning unit 14 and acommunication unit 15. - The
central processing unit 11 is communicable with the randomaccess memory unit 12, theperipheral unit 13 and thescanning unit 14 through a sharedbus system 16, and aprivate bus system 17 is available for scanning messages stored in the randomaccess memory unit 12 and for transferring a message with the top priority to thecommunication unit 15. - The
central processing unit 11 fetches instruction codes of program sequences stored in a program memory (not shown), and one of the program sequences is used for writing a data information code of a message supplied from anothercomputer system 18. However, the program memory does not store any program sequence for scanning a message with the top priority. - The random
access memory unit 12 has a plurality of addressable memory areas, and stores a plurality of messages in the memory areas in a rewritable manner. An address signal indicative of an address makes one of the memory areas accessible, and a message is written into or read out from the memory area assigned the address identical with the address represented by the address signal. The message is formatted into the same predetermined code as that of the prior art computer system, and the messages "A" to "D" are assumed to be stored in the randomaccess memory unit 12 as shown in Table 1. - Predetermined jobs are assigned to the
peripheral unit 13, and one of the jobs is production of an output enable signal TRG1. Another job is to report an arrival of a new message to the central processing unit in response to a write-request signal TRG2, and thecentral processing unit 11 starts the program sequence for searching the randomaccess memory unit 12 for a message identical with the new message, and writes the data information code of the new message into the data sub-area of the memory area. However, the searching sequence and the write-in operation area similar to those of the prior art, and no further description is incorporated hereinbelow. - The
communication unit 15 is responsive to the output enable signal TRG1, and produces an output data signal Tx representative of a message with the top priority from the message transferred from the randomaccess memory unit 12. Thecommunication unit 15 is further operative to monitor a communication port to see whether or not a new message arrives thereat, and produces the request signal TRG2. The request signal TRG2 is supplied to theperipheral unit 13, and the peripheral unit requests thecentral processing unit 11 to identify the new message as well as to write the data information code of the new message into a memory area assigned to the message with the same identity code. - The
private bus system 17 has adata bus 17a, first andsecond address buses data bus 17a transfers a message from the randomaccess memory unit 12 to thescanning unit 14 and from the randomaccess memory unit 12 to thecommunication unit 15, and thefirst address bus 17b transfers an address signal indicative of an address sequentially incremented in a scanning sequence from thescanning unit 14 to the randomaccess memory unit 12. Thesecond address bus 17c supplies the randomaccess memory unit 12 the address signal indicative of the address assigned to the memory area storing the message with the top priority, and thecontrol signal bus 17c propagates the output enable signal TRG1 and the request signal TRG2 between theperipheral unit 13 and thecommunication unit 15. - Turning to Fig. 4 of the drawings, the
scanning unit 14 is illustrated in detail, and thescanning unit 14 is available for searching a memory unit for a message with the top priority. Thescanning unit 14 comprises acounter 14a, alatch circuit 14b, aregister 14c,latch circuits 14d and 14e and a subtracter 14f. Thecounter 14a is responsive to a system clock signal for sequentially incrementing the address signal indicative of one of the memory areas of the randomaccess memory unit 12, and supplies the address signal to the randomaccess memory unit 12 and thelatch circuit 14b. Thelatch circuit 14b temporally keeps the address signal presently supplied to the randomaccess memory unit 12, and the address stored in thelatch circuit 14b is sequentially incremented by thecounter 14a. Theregister 14c is responsive to a borrow signal BORO for storing the address signal in thelatch circuit 14b, and the address signal stored therein is indicative of the memory area storing a message with the presently top priority. The latch circuit 14d stores an identity code read out from the memory area assigned the address represented by the address signal in thelatch circuit 14b, and the latch circuit 14d supplies the identity code to the subtracter 14f and thelatch circuit 14e. Thelatch circuit 14e stores the identity code indicative of the least absolute value, and the subtracter 14f the absolute value of the identity code in the latch circuit 14d from the least absolute value. If the absolute value of the identity code in the latch circuit 14d is less than the least absolute value, the subtracter 14f produces the borrow signal BORO, and the borrow signal BORO is supplied to not only theregister 14c but also thelatch circuit 14e. Then, theregister 14c replaces the address signal indicative of the address storing the message with the previous top priority with the address signal indicative of the address storing the message with the present top priority. Similarly, thelatch circuit 14e replaces the identity code indicative of the previous least absolute value with the identity code indicative of the new least absolute value. - As described hereinbefore, the
central processing unit 11 searches the randomaccess memory unit 12 for a message with the same identity code as that of a new message through a program sequence, and description is focused on a scanning sequence for transmission of the output data signal TX with reference to Fig. 5 on the assumption that the messages "A" to "D" are stored in the randomaccess memory unit 12 as shown in Table 1. - When the
central processing unit 11 requests thescanning unit 14 to search the randomaccess memory unit 12 for a message with the top priority through the sharedbus system 16, thecounter 14a resets the address therein to zero in synchronism with the leading edge of the system clock "1", and the address signal indicative of address "0" is transferred from thecounter 14a to thefirst address bus 17b and thelatch circuit 14b. The randomaccess memory unit 12 supplies the identity code of the message "A" from the memory area assigned address "0" to thedata bus 17a. - The
latch circuit 14b latches address "0" in synchronism with the leading edge of the system clock "2", and thecounter 14a increments the address to "1". The address "0" is transferred to theregister 14c, and is stored in theregister 14c, because address "0" is indicative of the first memory area. The latch circuit 14d is responsive to the leading edge of the system clock "1", and stores the identity code of the message "A". The identity code of the message "A" is immediately transferred to thelatch circuit 14e, and is stored in thelatch circuit 14e, because the identity code is read out from the first memory area. - The first identity code and the first address "0" may be stored in the
latch circuit 14e and theregister 14c as follows. When thecentral processing unit 11 instructs thescanning unit 14 to search the randomaccess memory unit 12 for the address storing the message with the top priority, an identity code indicative of the maximum absolute value is loaded to thelatch circuit 14e. If so, the subtracter 14f produces the borrow signal BORO at the leading edge of the system clock "2", and address "0" and the first identity code are respectively stored in theregister 14c and thelatch circuit 14e, respectively. - The random
access memory unit 12 supplies the identity code of the message "B" from address "1" through thedata bus 17a to the latch circuit 14d at the trailing edge of the system clock "2". - The
latch circuits 14b and 14d latch address "1" and the identity code of the message "B" in synchronism with the leading edge of the system clock "3", and the subtracter 14f subtracts the absolute value of the identity code of the message "A" stored in thelatch circuit 14e from the absolute value of the identity code of the message "B" in the latch circuit 14d. The identity code of the message "B" is greater in absolute value than the identity code of the message "A", and any borrow signal BORO is not produced through the subtraction. This results in that theregister 14c and thelatch circuit 14e keep address "0" and the identity code of the message "A". - The
counter 14a increments the address to "2" in synchronism with the leading edge of the system clock "3", and the address signal indicative of address "2" is supplied from thecounter 14a to thefirst address bus 17b and thelatch circuit 14b. The randomaccess memory unit 12 supplies the identity code of the message "C" through thedata bus 17a to the latch circuit 14d at the trailing edge of the system clock "3". - The
latch circuits 14b and 14d latch address "2" and the identity code of the message "C" in synchronism with the leading edge of the system clock "4", and the subtracter 14f subtracts the absolute value of the identity code of the message "A" in thelatch circuit 14e from the absolute value of the identity code of the message "C" in the latch circuit 14d. Since the identity code of the message "A" is greater in absolute value than the identity code of the message "C", the subtracter 14f produces the borrow signal BORO, and supplies it to theregister 14c and thelatch circuit 14e. As a result, address "2" and the identity code of the message "C" are respectively stored in theregister 14c and thelatch circuit 14e. - The
counter 14a increments the address to "3" in synchronism with the leading edge of the system clock "4", and the address signal indicative of address "3" is supplied to thefirst address bus 17b and thelatch circuit 14b. The randomaccess memory unit 12 supplies the identity code of the message "D" from address "3" through thedata bus 17a to the latch circuit 14d at the trailing edge of the system clock "4". - The
latch circuits 14b and 14d latch address "3" and the identity code of the message "D" at the leading edge of the system clock "5", and the subtracter 14f subtracts the absolute value of the identity code of the message "C" in thelatch circuit 14e from the absolute value of the identity code of the message "D" in the latch circuit 14d. Since the identity code of the message "D" is greater in absolute value than the identity code of the message "C", any borrow signal BORO is not produced, and theregister 14c and thelatch circuit 14e keeps address "2" and the identity code of the message "C". - Thus, all of the messages are sequentially read out from the random
access memory unit 12, and are calculated by the subtracter 14f so as to look for a message with the top priority, i.e., the identity code indicative of the least absolute value. In the example shown in Table 1, the message C is given the priority, and theregister 14c and thelatch circuit 14e keep address "2" and the identity code of the message "C" at the end of the search. - When the search is completed, the
scanning unit 14 reports the termination of the scanning to thecentral processing unit 12, and thecentral processing unit 12 requests theperipheral unit 13 to supply the output enable signal TRG1 to thecommunication unit 15. Theregister 14c supplies the address signal indicative of address "2" through thesecond address bus 17c to the randomaccess memory unit 12 in response to the output enable signal TRG1, and the message "C" is read out from the randomaccess memory unit 12 to thedata bus 17a. Thecommunication unit 15 produces the output data signal TX representing the message "C", and the output data signal TX delivers the output data signal TX to thecomputer system 18. - In order to select one of the first and
second data buses second data buses access memory unit 12, and the selector unit selects thesecond address bus 17c in the presence of the output enable signal TRG1. - As will be understood from the foregoing description, the
scanning unit 14 searches the randomaccess memory unit 12 for a message with the top priority independent from thecentral processing unit 11, and allows thecentral processing unit 11 to execute a program sequence while thescanning unit 14 is searching the randomaccess memory unit 12. This results in improvement in the throughput of the instructions. - Turning to Fig. 6 of the drawings, a
scanning unit 24 incorporated in another computer system embodying the present invention is illustrated. Although a central processing unit, a random access memory unit, a peripheral unit and a communication unit are incorporated in the computer system implementing the second embodiment, these component units are similar to those of the first embodiment, and are labeled with the same references as those of the first embodiment without detailed description. - The
scanning unit 24 is available for identifying a new message represented by an input data signal Rx with a message already stored in the randomaccess memory unit 12, and thecentral processing unit 11 searches the randomaccess memory unit 12 for a message with the top priority through a program sequence similar to the prior art. Thescanning unit 24 identifies the new message with one of the messages already stored in the randomaccess memory unit 12 by comparing the identity codes, and ,for this reason, the subtracter 14f is replaced with a comparator 24f in thescanning unit 24. The other components are labeled with the same references as those of thescanning unit 14, and thelatch circuit 14e is directly connected with thedata bus 17a for storing the identity code of the new message. - Description is made on a sequential comparison of the identity codes with reference to Fig. 7 of the drawings, and the random
access memory unit 12 is assumed to store the messages "A" to "D" as shown in Table 1. An input data signal RX expresses the new message, and the new message is assumed to have an identity code of "0100" followed by a data code. - When the identity code of the new message arrives at the communication port, the
communication unit 15 latches the identity code, and requests thecentral processing unit 11 to specify the memory area of the randomaccess memory unit 12 for storing the new message. Then, thecommunication unit 15 supplies the identity code of the new message to thedata bus 17a. However, the data code of the new message is maintained in thecommunication unit 15. Thecentral processing unit 11 instructs thescanning unit 24 to search the randomaccess memory unit 12 for an identity code identical with the identity code of the new message. - Upon receipt of the instruction from the
central processing unit 11, thescanning unit 24 resets thecounter 14a to zero, and latches the identity code of the new message at the leading edge of the system clock "1". The randomaccess memory unit 12 supplies the identity code of the message "A" from address "0" through thedata bus 17a to the latch circuit 14d at the trailing edge of the system clock "1". - The
latch circuits 14b and 14d latch address "0" and the identity code of the message "A" at the leading edge of the system clock "2", and the comparator 24f compares the identity code of the new message with the identity code of the message "A". The identity code of the new message and the identity code of the message "A" are "0100" and "0010", and are different from each other. The comparator 24f does not produce the detecting signal ZERO. - The
counter 14a increments the address to "1" in synchronism with the leading edge of the system clock "2", and supplies the address signal indicative of address "1" to thefirst address bus 17b and thelatch circuit 14b. The randomaccess memory unit 12 supplies the identity code of "0100" from the memory area assigned to the message "B" through thedata bus 17a to the latch circuit 14d at the trailing edge of the system clock "2". - The
latch circuits 14b and 14d latch address "1" and the identity code of the message "B" at the leading edge of the system clock "3", and the comparator 24f compares the identity code of the new message with the identity code of the message "B". Since the identity code of the new message and the identity code of the message "B" are "0100", the comparator 24f makes a decision that the identity codes are identical with each other. Then, the comparator 24f produces the detecting signal ZERO, and supplies the detecting signal ZERO to theregister 14c. Thelatch circuit 14b has already stored address "2", and theregister 14c memorizes address "1" in response to the detecting signal ZERO. - When the
scanning unit 24 identifies the identity code of the message "B" with the identity code of the new message, thescanning unit 24 reports the termination of the scanning to thecentral processing unit 11, and thecentral processing unit 11 requests theperipheral unit 13 to supply the write-request signal TRG2 to thecommunication unit 15. Thesecond address bus 17c propagates the address signal indicative of address "1" from theregister 14c to the randomaccess memory unit 12, and thecommunication unit 15 transfers the data code of the new message through thedata bus 17a to the memory area assigned address "1". Thus, the data code of the message "B" is replaced with the data code of the new message without any execution of a program sequence by thecentral processing unit 11. - Turning to Fig. 8 of the drawings, a
scanning unit 34 is incorporated in yet another computer system embodying the present invention. The other units of the computer system implementing the third embodiment are similar to those of the first embodiment, and no further description is incorporated hereinbelow for the sake of simplicity. - The
scanning unit 34 is a compromise of the first and second embodiments, and is available for both of the search for a message with the top priority and the identification of the message already stored. Therefore, thescanning unit 34 has all of the components of the first and second embodiments labeled with the same references. Thescanning unit 34 further has aflag register 34a and threeselectors - Namely, the
central processing unit 11 supplies a flag signal indicative of the search or the identification to theflag register 34a, and theflag register 34 controls theselectors central processing unit 11 requests thescanning unit 34 to search the random access memory unit for a message with the top priority, theselectors latch circuit 14e. On the other hand, when thecentral processing unit 11 requests thescanning unit 34 to search the randomaccess memory unit 12 for a message corresponding to the new message, theselectors 34b adlatch circuits 14d and 14e with the comparator 24f, and the selector 34d connects thedata bus 17a with thelatch circuit 14e. - The searching sequences are similar to those of the first and second embodiments, and description is omitted for avoiding repetition.
- Although particular embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that various changes and modifications may be made without departing from the scope of the present invention as defined by the appended claims. For example, the comparator may be implemented by an array of exclusive-OR gates, and the comparator of the second embodiment may be replaced with a subtracter accompanied with a NOR gate for discriminating the difference of "0". Moreover, the priority of transmission may be given to an identity code indicative of the greatest absolute value, and a calculator may subtract the absolute value in the
latch circuit 14e from the absolute value in the latch circuit 14d for producing the borrow signal.
Claims (6)
- A data processing system (10) communicable with another computer system (18), comprising:a) a central processing unit (11) executing a program sequence;b) a memory unit (12) having a plurality of addressable memory areas for respectively storing messages in a rewritable manner, each of said messages having an identity code and a data code; andc) a communication unit (15) for communicating with said another computer system operative to receive a new message having an identity code and a data code for storing in one of said memory areas assigned to one of said messages with the identity code identical with said identity code of said new message and to produce an output signal (TX) representative of a message read out from one of said memory areas assigned to one of said messages with the identity code indicative of a transmission,d) a scanning means (14; 24; 34) physically separated from said central processing unit, and searching said memory unit for said one of said memory areas so as to allow said communication unit to communicate with said memory unit regardless of said program sequence simultaneously executable by said central processing unit.
- The data processing system as set forth in claim 1, in which said scanning means (14) comprisesan address counter (14a) connectable through a first address bus (17b) with an address port of said memory unit (12), and sequentially incrementing an address of an address signal indicative of an addressable memory area of said plurality of addressable memory areas,a first latch circuit (14b) connected with said address counter for storing said address signal sequentially incrementing said address,a register (14c) responsive to a control signal (BORO) for storing said address signal in said first latch circuit, and connectable through a second address bus (17c) with said address port of said memory unit for supplying said address signal,a second latch circuit (14d) connected through a data bus (17a) with a data port of said memory unit (12) for storing said identity code read out from said addressable memory area indicated by said address signal propagated through said first address bus, said data bus being further connected with said communication unit (15),a third latch circuit (14e) responsive to said control signal (BORO) for storing said identity code indicative of said transmission in a rewritable manner, anda calculator (14f) executing a calculation on said identity codes in said second and third latch circuits (14d/ 14e) to see whether or not said identity code in said second latch circuit has a priority of said transmission over said identity code in said third latch circuit, said calculator producing said control signal (BORO) when said identity code in said second latch circuit has the priority over said identity code in said third latch circuit.
- The data processing system as set forth in claim 2, in which said calculator is a subtracter (14f) for subtracting the value indicated by said identity code in one of said second and third latch circuits from the value indicated by said identity code in the other of said second and third latch circuit, said control signal being produced when a borrow take place in the subtraction.
- The data processing system as set forth in claim 2, in which said memory unit (12) supplies a message with the priority of transmission from said one of said plurality of addressable memory areas indicated by said address signal propagated through said second address bus (17c) through said data bus (17a) to said communication unit (15) so that said communication unit produces said output signal (TX) indicative of said message supplied from said memory unit.
- The data processing system as set forth in claim 1, in which said scanning means (24) comprisesan address counter (14a) connectable through a first address bus (17b) with an address port of said memory unit (12), and sequentially incrementing an address of an address signal indicative of an addressable memory area of said plurality of addressable memory areas,a first latch circuit (14b) connected with said address counter (14a) for storing said address signal sequentially incrementing said address,a register (14c) responsive to a control signal (ZERO) for storing said address signal in said first latch circuit, and connectable through a second address bus (17c) with said address port of said memory unit for supplying said address signal,a second latch circuit (14d) connected through a data bus (17a) with a data port of said memory unit (12) for storing said identity code read out from said addressable memory area indicated by said address signal propagated through said first address bus (17b), said data bus being further connected with said communication unit (15),a third latch circuit (14e) connected with said data bus (17a) for storing said identity code of said new message, anda comparator (24f) operative to compare said identity code of said new message in said third latch circuit with said identity code stored in said second latch circuit to see whether or not said identity codes are consistent with each other, said comparator producing said control signal (ZERO) when said identity codes are consistent with one anther.
- The data processing system as set forth in claim 5, in which said communication unit (15) supplies said data code of said new message through said data bus (17a) to said memory unit (12) for writing said data code of said new message into said one of said plurality of addressable memory areas indicated by said address signal propagated through said second address bus (17c).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP309916/92 | 1992-11-19 | ||
JP30991692A JP3190748B2 (en) | 1992-11-19 | 1992-11-19 | RAM scanning device |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0598417A2 EP0598417A2 (en) | 1994-05-25 |
EP0598417A3 EP0598417A3 (en) | 1994-06-15 |
EP0598417B1 true EP0598417B1 (en) | 1999-03-24 |
Family
ID=17998891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP93118684A Expired - Lifetime EP0598417B1 (en) | 1992-11-19 | 1993-11-19 | Data processing system having scanner for searching memory for message having top priority and/or identity code identical with new message |
Country Status (5)
Country | Link |
---|---|
US (1) | US5507031A (en) |
EP (1) | EP0598417B1 (en) |
JP (1) | JP3190748B2 (en) |
KR (1) | KR0128506B1 (en) |
DE (1) | DE69324103T2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5918006A (en) * | 1994-12-20 | 1999-06-29 | Canon Kabushiki Kaisha | Communication device provided with a storage medium for storing a control program |
US6108689A (en) * | 1996-10-11 | 2000-08-22 | International Business Machines Corporation | Method and system for processing messages in a distributed computing environment |
KR20000039973A (en) * | 1998-12-16 | 2000-07-05 | 김영환 | Method for recognizing starting position of application program by operation structure in mobile communication system |
US6996820B1 (en) | 1999-04-05 | 2006-02-07 | Cisco Technology, Inc. | Efficient multiple priority list memory system |
GB2569270B (en) * | 2017-10-20 | 2020-02-19 | Graphcore Ltd | Parallel computing |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3512134A (en) * | 1967-04-03 | 1970-05-12 | Burroughs Corp | Apparatus for performing file search in a digital computer |
US4152762A (en) * | 1976-03-03 | 1979-05-01 | Operating Systems, Inc. | Associative crosspoint processor system |
FR2348543A1 (en) * | 1976-04-15 | 1977-11-10 | Honeywell Bull Soc Ind | ASSOCIATIVE LIVE MEMORY |
US4197588A (en) * | 1977-01-25 | 1980-04-08 | International Business Machines Corporation | Segmented storage logging and controlling for random entity selection |
US4145737A (en) * | 1977-04-19 | 1979-03-20 | Semionics Associates | Associative memory device with time shared comparators |
DE3104941A1 (en) * | 1981-02-11 | 1982-08-26 | Siemens AG, 1000 Berlin und 8000 München | MICROCALCULATOR SYSTEM FOR RAPIDLY DETECTING LABEL BLOCKS |
IT1140233B (en) * | 1981-10-20 | 1986-09-24 | Italtel Spa | INPUT-OUTPUT INTERFACE CIRCUIT CONTROL UNIT OF AN ELECTRONIC PROCESSOR |
JPS619748A (en) * | 1984-06-25 | 1986-01-17 | Nec Corp | Input and output controller |
JPS62224823A (en) * | 1986-03-26 | 1987-10-02 | Nec Corp | Ranking device |
WO1988001411A1 (en) * | 1986-08-22 | 1988-02-25 | Commonwealth Scientific And Industrial Research Or | A content-addressable memory system |
JPH0714164B2 (en) * | 1987-02-19 | 1995-02-15 | 富士通株式会社 | Header driven packet switch |
-
1992
- 1992-11-19 JP JP30991692A patent/JP3190748B2/en not_active Expired - Lifetime
-
1993
- 1993-11-19 KR KR1019930024708A patent/KR0128506B1/en not_active IP Right Cessation
- 1993-11-19 EP EP93118684A patent/EP0598417B1/en not_active Expired - Lifetime
- 1993-11-19 DE DE69324103T patent/DE69324103T2/en not_active Expired - Fee Related
- 1993-11-19 US US08/155,434 patent/US5507031A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0598417A2 (en) | 1994-05-25 |
DE69324103T2 (en) | 1999-12-09 |
KR0128506B1 (en) | 1998-04-15 |
US5507031A (en) | 1996-04-09 |
JP3190748B2 (en) | 2001-07-23 |
JPH06161866A (en) | 1994-06-10 |
DE69324103D1 (en) | 1999-04-29 |
EP0598417A3 (en) | 1994-06-15 |
KR940012162A (en) | 1994-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5375215A (en) | Multiprocessor system having shared memory divided into a plurality of banks with access queues corresponding to each bank | |
US5317747A (en) | Multiprocessor system and interruption control device for controlling interruption requests between processors and peripheral devices in the multiprocessor system | |
US4412303A (en) | Array processor architecture | |
KR890004994B1 (en) | Address translation control system | |
US5295251A (en) | Method of accessing multiple virtual address spaces and computer system | |
US4365292A (en) | Array processor architecture connection network | |
US6122712A (en) | Cache coherency controller of cache memory for maintaining data anti-dependence when threads are executed in parallel | |
US4481573A (en) | Shared virtual address translation unit for a multiprocessor system | |
US4928225A (en) | Coherent cache structures and methods | |
US5142638A (en) | Apparatus for sharing memory in a multiprocessor system | |
US6848023B2 (en) | Cache directory configuration method and information processing device | |
US4385351A (en) | Multiprocessor system with apparatus for propagating cache buffer invalidation signals around a circular loop | |
JPH05282203A (en) | Cache controller | |
JPH04306748A (en) | Information processor | |
JP2825906B2 (en) | Computer system | |
JPH01269142A (en) | Buffer memory control system | |
EP0598417B1 (en) | Data processing system having scanner for searching memory for message having top priority and/or identity code identical with new message | |
US4441152A (en) | Data processing system having ring-like connected multiprocessors relative to key storage | |
JP3505728B2 (en) | Storage controller | |
JPH01187650A (en) | Buffer storage device | |
US4802125A (en) | Memory access control apparatus | |
KR950004249B1 (en) | Method for data transmission between host and node computers of parallel processing system | |
JPH05158793A (en) | Parallel cache memory | |
JPS6059621B2 (en) | Buffer invalidation control method | |
US6996665B2 (en) | Hazard queue for transaction pipeline |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): DE FR GB IT NL |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): DE FR GB IT NL |
|
RHK1 | Main classification (correction) |
Ipc: G06F 15/415 |
|
17P | Request for examination filed |
Effective date: 19940929 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
17Q | First examination report despatched |
Effective date: 19980721 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB IT NL |
|
REF | Corresponds to: |
Ref document number: 69324103 Country of ref document: DE Date of ref document: 19990429 |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E |
|
NLS | Nl: assignments of ep-patents |
Owner name: NEC ELECTRONICS CORPORATION |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: TP |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 20031105 Year of fee payment: 11 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20031110 Year of fee payment: 11 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20031119 Year of fee payment: 11 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20031127 Year of fee payment: 11 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20041119 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050601 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050601 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20041119 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050729 |
|
NLV4 | Nl: lapsed or anulled due to non-payment of the annual fee |
Effective date: 20050601 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED. Effective date: 20051119 |