Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
97 words
In a data processing system including one or more requesting processors that generate processor requests directed to one or more peripheral devices, a non-blocking load buffer, comprising: a plurality of variable depth pending queues corresponding to each one of the plurality of peripheral devices for queuing entries of processor requests; a variable length return queuing unit for queuing data returned from said peripheral devices in response to an outstanding processor request; and a free pool of entries for placing entries of the outstanding processor request, after the outstanding processor request is accepted by a corresponding peripheral device.
Claim 2
Dependent Claim
97 words
In a data processing system including one or more requesting processors that generate processor requests directed to one or more peripheral devices, a non-blocking load buffer, comprising: a plurality of variable depth pending queues corresponding to each one of the plurality of peripheral devices for queuing entries of processor requests; a variable length return queuing unit for queuing data returned from said peripheral devices in response to an outstanding processor request; and a free pool of entries for placing entries of the outstanding processor request, after the outstanding processor request is accepted by a corresponding peripheral device.
Claim 3
Dependent Claim
21 words
A non-blocking load buffer according to claim 1, wherein said variable length return queuing unit comprises one variable length return queue.
Claim 4
Dependent Claim
23 words
A non-blocking load buffer according to claim 1, wherein said variable length return queuing unit comprises a plurality of variable length return queues.
Claim 5
Dependent Claim
25 words
A non-blocking load buffer according to claim 3, wherein each of said plurality of variable length return queues corresponds to each of said requesting processors.
Claim 6
Dependent Claim
25 words
A non-blocking load buffer according to claim 3, wherein each of said plurality of variable length return queues corresponds to each of said peripheral devices.
Claim 7
Dependent Claim
24 words
A non-blocking load buffer according to claim 3, wherein each of said plurality of variable length return queues corresponds to a unique priority level.
Claim 8
Dependent Claim
30 words
A non-blocking load buffer according to claim 1, wherein each of said pending queues include a plurality of sub-queues, wherein each of said sub-queues is assigned a unique priority level.
Claim 9
Dependent Claim
54 words
A non-blocking load buffer according to claim 7, wherein said processor requests include an address and a priority tag, said address directs said processor requests to a corresponding one of said pending queues and said priority tag channels said processor requests to a corresponding one of said sub-queues within the one said pending queue.
Claim 10
Dependent Claim
32 words
A non-blocking load buffer according to claim 8, wherein each of said pending queues comprises a priority controller for issuing the processor requests from said sub-queues in a highest priority first manner.
Claim 11
Dependent Claim
89 words
A multiple priority non-blocking load buffer comprising: a variable depth pending queue for queuing entries of memory or I/O requests generated by a processor to peripheral devices, said pending queue including a plurality of sub-queues with each sub-queue having a unique priority level assigned thereto; a variable length return queuing unit for queuing data returned from said peripheral devices in response to an outstanding memory or I/O request; and a free pool of entries for placing entries of the outstanding I/O request, after the outstanding I/O request is accepted.
Claim 12
Dependent Claim
89 words
A multiple priority non-blocking load buffer comprising: a variable depth pending queue for queuing entries of memory or I/O requests generated by a processor to peripheral devices, said pending queue including a plurality of sub-queues with each sub-queue having a unique priority level assigned thereto; a variable length return queuing unit for queuing data returned from said peripheral devices in response to an outstanding memory or I/O request; and a free pool of entries for placing entries of the outstanding I/O request, after the outstanding I/O request is accepted.
Claim 13
Dependent Claim
23 words
A multiple priority non-blocking load buffer according to claim 10, wherein said variable length return queuing unit comprises one variable length return queue.
Claim 14
Dependent Claim
25 words
A multiple priority non-blocking load buffer according to claim 10, wherein said variable length return queuing unit comprises a plurality of variable length return queues.
Claim 15
Dependent Claim
27 words
A multiple priority non-blocking load buffer according to claim 12, wherein each of said plurality of variable length return queues corresponds to each of said peripheral devices.
Claim 16
Dependent Claim
26 words
A multiple priority non-blocking load buffer according to claim 12, wherein each of said plurality of variable length return queues corresponds to a unique priority level.
Claim 17
Dependent Claim
36 words
A multiple priority non-blocking load buffer according to claim 10, wherein said memory or I/O requests include a priority tag, said priority tag channels said memory or I/O requests to a corresponding one of said sub-queues.
Claim 18
Dependent Claim
34 words
A multiple priority non-blocking load buffer according to claim 15, wherein said pending queue comprises a priority controller for issuing said memory or I/O requests from said sub-queues in a highest priority first manner.
Claim 19
Dependent Claim
53 words
A non-blocking load buffer according to claim 7, wherein a maximum number of outstanding processor requests is specified for said unique priority level in each of said sub-queues which prevents entries of processor requests having low priority levels from using one of said sub-queues before entries of processor requests having higher priority levels.
Claim 20
Dependent Claim
57 words
A non-blocking load buffer according to claim 1, wherein priorities corresponding to the entries of processor requests are determined by logical memory addresses, control bits derived from a memory management page table, control bits derived from segmentation entries, virtual addresses of a memory management system, programmable registers which set priorities for each processor, instructions, or instruction operand.
Claim 21
Dependent Claim
61 words
A multiple priority non-blocking load buffer according to claim 10, wherein a maximum number of outstanding memory or I/O requests is specified for said unique priority level in each of said sub-queues which prevents entries of memory or I/O requests having low priority levels from using one of said sub-queues before entries of memory or I/O requests having higher priority levels.
Claim 22
Dependent Claim
59 words
A multiple priority non-blocking load buffer according to claim 10, wherein priorities corresponding to entries of memory or requests are determined by logical memory addresses, control bits derived from a memory management page table, control bits derived from segmentation entries, virtual addresses of a memory management system, programmable registers which set priorities for each processor, instructions, or instruction operand.
Claim 23
Dependent Claim
26 words
A non-blocking load buffer according to claim 1, wherein the variable depth pending queues queue the entries of processor requests using the free pool of entries.
Claim 24
Dependent Claim
19 words
The data processing system according to claim 1, wherein the non-blocking processor requests are generated by running real-time processes.
Claim 25
Dependent Claim
33 words
The data processing system according to claim 1, wherein the processor requests are prioritized in the pending queues such that the higher priority processor requests are processed before the lower priority processor requests.
Claim 26
Dependent Claim
34 words
The data processing system according to claim 23, wherein the pending queues are prioritized such that the higher priority pending queues have a higher number of maximum entries than the lower priority pending queues.
Claim 27
Dependent Claim
46 words
The data processing system according to claim 1, wherein the one or more requesting processors generate the processor requests over a first bus, and wherein the peripheral devices accept the processor requests over a second bus that has a different bus bandwidth from the first bus.
Claim 28
Dependent Claim
23 words
The data processing system according to claim 25, wherein the entries include pointers that point to memory locations on a shared memory device.
Claim 29
Dependent Claim
49 words
The data processing system according to claim 26, wherein the processor requests include control information, addresses and data, and wherein the shared memory device is partitioned for storing the address and control information in a first memory array and for storing the data in a second separate memory array.