Queue system having a time-out feature and method therefor
First Claim
1. A method for accessing a queue memory in a data processing system, comprising the steps of:
- i. requesting access to a system address bus and a system data bus by a first queue request signal provided by a peripheral device;
ii. selectively communicating a first data value between a central processing unit and the queue memory when the central processing unit has accessed the system address bus and the system data bus;
iii. selectively interrupting operation of the central processing unit and communicating the first data value between the peripheral device and the queue memory when the central processing unit has accessed the system address bus and the system data bus and a predetermined timeout period has expired;
iv. selectively communicating the first data value between the peripheral device and the queue memory when the central processing unit does not have access of the system address bus and the system data bus; and
v. repeating steps ii. through iii. if the predetermined timeout period has not expired.
18 Assignments
0 Petitions
Accused Products
Abstract
A queue memory system (10) provides a flexible memory transfer system which uses a single transaction to either store a memory value in a queue or to retrieve the memory value from the queue. A queue controller (20) controls the transfer of data between a queue memory (18) and the peripheral devices (22, 24). The queue controller generally includes a register (52, 62) which indicates an address to be accessed and a direction control signal. Additionally, each peripheral device has a queue control register which is configured to access a selected channel of the queue memory. The queue memory system described herein also efficiently uses the cycle time of a central processing unit (12) of the system to perform queue accesses without disrupting more general processing steps. For example, the queue memory system will wait (for up to thirty-two timing cycles) for a timing cycle in which the central processing unit does not require use of a bus. At that time, the queue memory system will transfer data between the queue and a peripheral device. An alternate option is to force the central processing unit to freeze operation so that data will be transferred immediately.
-
Citations
15 Claims
-
1. A method for accessing a queue memory in a data processing system, comprising the steps of:
-
i. requesting access to a system address bus and a system data bus by a first queue request signal provided by a peripheral device; ii. selectively communicating a first data value between a central processing unit and the queue memory when the central processing unit has accessed the system address bus and the system data bus; iii. selectively interrupting operation of the central processing unit and communicating the first data value between the peripheral device and the queue memory when the central processing unit has accessed the system address bus and the system data bus and a predetermined timeout period has expired; iv. selectively communicating the first data value between the peripheral device and the queue memory when the central processing unit does not have access of the system address bus and the system data bus; and v. repeating steps ii. through iii. if the predetermined timeout period has not expired. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A queue memory system, comprising:
-
a central processing unit for executing a plurality of data processing operations, the central processing unit providing a plurality of system data values, a plurality of system address values, and a system control signal, the system control signal indicating when the central processing unit has accessed a system data bus for transferring the plurality of system data values and when the central processing unit has accessed a system address bus for transferring the plurality of system address values; a clock circuit for providing a timeout clock signal; a queue control circuit coupled to the central processing unit for receiving the plurality of system data values, the queue control circuit being coupled to the clock circuit for receiving the timeout clock signal, the queue control circuit receiving a plurality of general address values and a general control signal wherein the general control signal indicates when the central processing unit is executing one of a read and a write operation, the queue control circuit providing a transfer address signal, the queue control circuit comprising; a flow control circuit for asserting a queue drive signal in response to the timeout clock signal, the flow control circuit asserting the queue drive signal when the central processing unit has not provided the plurality of system data values and the plurality of system address values and a predetermined period of time has not expired; and a bus routing circuit coupled to the central processing unit for receiving the plurality of system address values and the system control signal, the bus routing circuit coupled to the queue control circuit for receiving the transfer address signal and the queue drive signal, the bus routing circuit providing the transfer address signal as one of the plurality of general address values when the queue drive signal is in a first predetermined logic state and the bus routing circuit providing the plurality of system address values as the plurality of general address values when the queue drive signal is in a second predetermined logic state. - View Dependent Claims (11, 12)
-
-
13. A method for accessing a queue memory in a data processing system, comprising the steps of:
-
i. requesting access to a system address bus and a system data bus by a first queue request signal provided by one of a plurality of peripheral devices; ii. selectively communicating a first data value between a central processing unit and the queue memory when the central processing unit has accessed the system address bus and the system data bus; iii. selectively communicating the first data value between the peripheral device and the queue memory when the central processing unit has accessed the system address bus and the system data bus and a a predetermined timeout period has expired; selectively communicating the first data value between a first one of the plurality of peripheral devices and a first channel of the queue memory when the central processing unit does not have access of the system address bus and the system data bus and when a first memory request signal is asserted; selectively communicating the first data value between a second one of the plurality of peripheral devices and a second channel of the queue memory when the central processing unit does not have access of the system address bus and the system data bus and when a second memory request signal is asserted; vi. selectively communicating the first data value between the first peripheral device and the queue memory when a first predetermined control bit in a control register is asserted, the central processing unit has accessed the system address bus and the system data bus, and the first memory request signal is asserted; vii. selectively communicating the first data value between the second peripheral device and the queue memory when a second predetermined control bit in the control register is asserted, the central processing unit has accessed the system address bus and the system data bus, and the second memory request signal is asserted; viii selectively communicating the first data value between the first peripheral device and the queue memory when the first memory request signal is asserted and when the predetermined timeout period has expired when the first and second predetermined control bits are negated; viii. selectively communicating the first data value between the second peripheral device and the queue memory when the second memory request signal is asserted and when the predetermined timeout period has expired when the first and second predetermined control bits are negated; and ix. repeating steps ii. through vii. if the predetermined timeout period has not expired. - View Dependent Claims (14, 15)
-
Specification