Buffer queue write pointer control circuit notably for self-channelling packet time-division switching system
First Claim
1. A circuit for controlling write pointers of J buffer cell queues temporarily memorizing incoming data groups in chronological order of arrival, where J is a predetermined integer, each of said incoming data groups including a respective channelling word for enabling selection of a respective one of plural buffer queues in one of the cells of which said incoming data group is to be written, a time base providing a cycle of J queue read addresses and a queue cell read pointer to said circuit, said time base incrementing said read pointer by unity during every queue read cycle so as to successively read cells in each of said queues,said circuit comprisingmeans for memorizing decremented values of J write pointers respectively associated with said J buffer queues, a write pointer identifying a cell which is free in the respective queue whereby a further incoming data group including the respective channelling word is written in said free cell of said respective queue,means for reading the memorized decremented value of the write pointer associated with a queue which is selected as a function of said channelling word during writing of an incoming data group in said selected queue and which is selected as a function of said queue read address during reading of an outgoing data group from said selected queue,first means for incrementing by unity the read decremented value of the said write pointer of said selected queue during said outgoing data group reading, thereby deriving a value of said write pointer of said selected queue,second means for incrementing by two units the read decremented value of the write pointer of said selected queue during said incoming data group writing, thereby deriving a value incremented by unity of said write pointer of said selected queue,means for comparing write and read pointers to thereby detect (a) an equality between said value of said write pointer associated with said selected queue and said read pointer value, and (b) an inequality between said incremented-by-one-unit write pointer value and said read point value;
- andmeans for writing said write pointer value of said selected queue in said memorizing means responsive to one of said equality and inequality detected by said comparing means, said equality being consecutive to said outgoing data group reading from said selected queue, and said inequality being consecutive to said incoming data group writing to said selected queue.
1 Assignment
0 Petitions
Accused Products
Abstract
The circuit embodying the invention comprises a pointer memory memorizing J=16 decremented write pointers associated with J=16 buffer queues. A channelling word supplied conjointly to incoming data and indicating the buffer queue in which this data is to be written, addresses the corresponding decremented write pointer. The write pointer and the channelling word form a write address for a buffer memory used as a medium for the J=16 queues. A comparator detects equality between the write pointer and the read pointer and in this case inhibits the acceptance of the incoming data which would overlay data not yet read. Logic means associated with the comparator control the updating, by possible incrementation, of the write pointer values contained in the pointer memory, after each data read in the buffer queues. This circuit is particularly well suited for use in an asynchronous self-channelling packet time-division switching system.
-
Citations
10 Claims
-
1. A circuit for controlling write pointers of J buffer cell queues temporarily memorizing incoming data groups in chronological order of arrival, where J is a predetermined integer, each of said incoming data groups including a respective channelling word for enabling selection of a respective one of plural buffer queues in one of the cells of which said incoming data group is to be written, a time base providing a cycle of J queue read addresses and a queue cell read pointer to said circuit, said time base incrementing said read pointer by unity during every queue read cycle so as to successively read cells in each of said queues,
said circuit comprising means for memorizing decremented values of J write pointers respectively associated with said J buffer queues, a write pointer identifying a cell which is free in the respective queue whereby a further incoming data group including the respective channelling word is written in said free cell of said respective queue, means for reading the memorized decremented value of the write pointer associated with a queue which is selected as a function of said channelling word during writing of an incoming data group in said selected queue and which is selected as a function of said queue read address during reading of an outgoing data group from said selected queue, first means for incrementing by unity the read decremented value of the said write pointer of said selected queue during said outgoing data group reading, thereby deriving a value of said write pointer of said selected queue, second means for incrementing by two units the read decremented value of the write pointer of said selected queue during said incoming data group writing, thereby deriving a value incremented by unity of said write pointer of said selected queue, means for comparing write and read pointers to thereby detect (a) an equality between said value of said write pointer associated with said selected queue and said read pointer value, and (b) an inequality between said incremented-by-one-unit write pointer value and said read point value; - and
means for writing said write pointer value of said selected queue in said memorizing means responsive to one of said equality and inequality detected by said comparing means, said equality being consecutive to said outgoing data group reading from said selected queue, and said inequality being consecutive to said incoming data group writing to said selected queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- and
-
10. A self-channelling packet time-division switching system in which packets received via J incoming time-division multiplexed channels are to be switched towards J outgoing time-division multiplexed channels, where J is a predetermined integer, each of said packets including a channelling word identifying one of said outgoing multiplexed channels to which said packet is to be switched,
said system comprising: -
J input means respectively associated with said incoming multiplexed channels for detecting said packets in said incoming multiplexed channels and for transmitting synchronized incoming packets, means connected to said input means for multiplexing said synchronized incoming packets into incoming multiplexed packets, J buffer cell queues connected to said multiplexing means and respectively associated with said J outgoing multiplexed channels for temporarily memorizing said incoming multiplexed packets, each of said buffer queues being addressable by a respective one of said channelling words and for writing each incoming multiplexed packet including said respective channelling word into a cell of said buffer queue, a time base providing a cycle of J queue read addresses and a queue cell read pointer, said time base incrementing said read pointer by one unit for every queue read cycle so as to successively read cells in each of said queue, means for memorizing decremented values of J write pointers respectively associated with said J buffer queues, a write pointer identifying a cell which is free in the respective queue whereby a further incoming multiplexed packet including the respective channelling word is written in said free cell of said respective queue, means for reading the memorized decremented value of the write pointer associated with a queue which is selected as a function of said channelling word during writing of an incoming multiplexed packet in said selected queue and which is selected as a function of said queue read address during reading of a multiplexed packet outgoing from said selected queue, first means for incrementing by one unit the read decremented value of said write pointer of said selected queue during said outgoing packet reading for deriving a value of said write pointer of said selected queue, second means for incrementing by two units the read decremented value of said write pointer of said selected queue while said incoming packet is written into said means for memorizing and for deriving a value incremented by one unit of said write pointer of said selected queue, means for comparing write and read pointers and for detecting an equality between said value of said write pointer associated with said selected queue and said read pointer value, and an inequality between said incremented-by-one-unit write pointer value and said read pointer value; means for writing said write pointer value of said selected queue in said memorizing means in response to one of said equality and inequality being detected by said comparing means, said equality being consecutive to said outgoing packet being from said selected queue, and said inequality being consecutive to said incoming packet being written into said selected queue, and means for demultiplexing the outgoing packets read cyclically in said buffer cell queues under the control of said time base and for transmitting demultiplexed packets in said outgoing multiplexed channels.
-
Specification