摘要:
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). Additionally, each peripheral device has a queue control register configured to access a selected channel of the queue memory. The queue memory system described herein efficiently uses the cycle time of a central processing unit (12) of the system to perform queue accesses without disrupting more general processing steps. The queue memory system will wait 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.
摘要:
A method and apparatus for unstacking registers in a data processing system (100). In one form, the present invention is a more time efficient solution to the problem of unstacking and stacking registers (154-158) during interrupt processing in a data processing system (100). By taking advantage of the fact that pulling a register value off of the stack does not change any of the values stored in the memory which is being used as the stack, the present invention reduces the unstacking and stacking each time that two interrupts are processed back to back with no non-interrupt processing in between. The present invention eliminates the unstacking of the program counter register (158) and the re-stacking of registers (154-158) by changing the value of the stack pointer register (161) without any corresponding stacking or unstacking operation.
摘要:
A digital timer apparatus (10) incorporates a free running counter (12), an interval timer (18), a capture register (14), a pulse accumulator (20) and holding logic (16, 22). A rising or falling edge of an external signal causes the current contents of the free running counter (12) to be loaded into the capture register (14) and causes the pulse accumulator (20) to be incremented. The output of the interval timer (18) can cause the contents of the pulse accumulator (20) and capture register (14) to be stored into the holding logic (16, 22). The timer apparatus (10) is particularly well suited to performing tasks related to the determination of the speed of rotation of a rotating member and may be used, for instance, in detecting wheel rotational speeds in an anti-lock brake system or detecting shaft rotation speeds in an automatic transmission.
摘要:
A data processing system (10) performs indexed addressing, autoincrementing, and autodecrementing using power of two byte boundaries. For example, a 5-bit offset allows a user to progress sixteen bytes either forward or backward through a table of data. An instruction specifying an operation to be performed, a pointer register (58, 60), and an offset value is provided to an execution unit (14). The pointer register (58, 60) stores a first address value and the offset value has a sign and a magnitude. An arithmetic logic unit, ALU, (52) inverts the sign of the offset value to provide an inverted sign value. A plurality of adders (100, 102, 104, 106, and 108) adds the offset value, the first address value, and the inverted sign value to generate an offset sum. A positive offset value is increased by one to generate a symmetric power of two offset range.
摘要:
A data processing system (10) capable of generating an output waveform (22) that has enhanced pulse width resolution. In one form, the system uses a counter (34) which is incremented by an input clock (20) running at an operating frequency of the system. Instead of incrementing the counter (34) by one, the counter (34) is incremented by a power of two so that the counter (34) appears to be counting a power of two faster. However, in order to increase the effective resolution of the counter (34) , the second edge of the output waveform (22) must be correctly adjusted depending on the desired duty cycle and period. The end result is a counter (34) that can produce a power of two greater resolution while still using the operating frequency of the system as an input clock (20).
摘要:
A digital timer apparatus (10) incorporates a free running counter (12), an interval timer (18), a capture register (14), a pulse accumulator (20) and holding logic (16, 22). A rising or falling edge of an external signal causes the current contents of the free running counter (12) to be loaded into the capture register (14) and causes the pulse accumulator (20) to be incremented. The output of the interval timer (18) can cause the contents of the pulse accumulator (20) and capture register (14) to be stored into the holding logic (16, 22). The timer apparatus (10) is particularly well suited to performing tasks related to the determination of the speed of rotation of a rotating member and may be used, for instance, in detecting wheel rotational speeds in an anti-lock brake system or detecting shaft rotation speeds in an automatic transmission.
摘要:
A method and apparatus for unstacking registers in a data processing system (100). In one form, the present invention is a more time efficient solution to the problem of unstacking and stacking registers (154-158) during interrupt processing in a data processing system (100). By taking advantage of the fact that pulling a register value off of the stack does not change any of the values stored in the memory which is being used as the stack, the present invention reduces the unstacking and stacking each time that two interrupts are processed back to back with no non-interrupt processing in between. The present invention eliminates the unstacking of the program counter register (158) and the re-stacking of registers (154-158) by changing the value of the stack pointer register (161) without any corresponding stacking or unstacking operation.
摘要:
A data processor (12) has built-in circuitry for scan testing certain circuits. The data processor generates and stores test vectors in a memory system (22) normally used for data and instruction storage. These vectors can be much larger than the size of any scan chain. During testing, the stored vectors are automatically routed to the circuits to be tested (36, 38) and the outputs compared to a benchmark. The data processor (12) need not pause to generate additional test vectors. Therefore, the data processor (12) can use a single circuit to generate scan data and compress scan results with minimal timing or size implications.