US2011314473A1PendingUtilityA1

System and method for grouping multiple processors

Assignee: YANG ERIC KUO-UEIPriority: Apr 14, 2002Filed: Aug 29, 2011Published: Dec 22, 2011
Est. expiryApr 14, 2022(expired)· nominal 20-yr term from priority
H04L 47/19G06F 13/1663H04L 47/28
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A distributed multi-processor out-of-order system includes multiple processors, an arbiter, a data dispatcher, a memory controller, a storage unit, multiple memory access requests issued by the multiple processors, and multiple data units that provide the results of the multiple memory access requests. Each of the multiple memory access requests includes a tag that identifies the priority of the processor that issued the memory access request, a processor identification number that identifies the processor that issued the request, and a processor access sequence number that identifies the order that the particular one of the processors issued the request. Each of the data units also includes a tag that specifics the processor identification number, the processor access sequence number, and a data sequence number that identifies the order of the data units satisfying the corresponding one of the memory requests. Using the tags, a distributed arbiter and data dispatcher can execute the requests out-of-order, handle simultaneous memory requests, order the memory requests based on, for example, the priority, return the data units to the processor that requested it, and reassemble the data units.

Claims

exact text as granted — not AI-modified
1 - 45 . (canceled) 
     
     
         46 . A system of grouping multiple processors, the system comprising:
 an input scheduler; and   a plurality of processors coupled to the input scheduler to receive commands from the input scheduler,   wherein the plurality of processors are grouped into a plurality of groups, a group of processors having:
 a first processor, 
 at least a second processor, and 
 a communication channel connecting the first and the second processors, wherein when the first processor can receive a command from the input schedule, execute the command, then forward the command to the second processor through the communication channel. 
   
     
     
         47 . The system of  claim 46 , wherein the processors within a group of processors execute commands in a circular sequence, wherein the first processor in the group executes a first command, the second processor in the group executes a second command, then the first processor in the group executes a third command. 
     
     
         48 . The system of  claim 46 , wherein the input scheduler assigns a command to the first processor, then waits for the first processor to report that a current buffer is an end of packet (EOP) buffer before assigning a command to the second processor. 
     
     
         49 . The system of  claim 48 , wherein when the current buffer is not an EOP buffer, the first processor forwards the command to the second processor through the communication channel and the input scheduler waits for the second processor to report that the current buffer is an EOP buffer before assigning a command to a third processor in the same group of processors as the first and second processors. 
     
     
         50 . The system of  claim 48 , wherein when the current buffer is the EOP buffer, the input scheduler assigns a command to the second processor. 
     
     
         51 . The system of  claim 46 , wherein the processors execute commands corresponding to flows of information elements, and wherein the input scheduler tracks which processor is executing a command belonging to a particular flow of information elements. 
     
     
         52 . The system of  claim 51 , wherein when the input scheduler receives a new command, the input scheduler determines if any of the processors are processing a command belonging to the same flow of information elements as the new command. 
     
     
         53 . The system of  claim 52 , wherein when a processor is determined to be processing a command belonging to the same flow of information elements as the new command, the scheduler assigns the new command to the group of processors having the processor that was determined to be processing the command belonging to the same flow of information elements as the new command. 
     
     
         54 . The system of  claim 52 , wherein when none of the processors is determined to be processing a command belonging to the same flow of information elements as the new command, the schedule assigns the new command to any of the groups of processors ready to process a command. 
     
     
         55 . The system of  claim 46 , wherein each of the processors are assigned to an output port to output data through the output ports, and further comprising: an output scheduler coupled to each of the plurality of processors to schedule the output of data. 
     
     
         56 . The system of  claim 55 , wherein processors within a group of processors transfers data to the output scheduler on a first-in-first-out basis. 
     
     
         57 . The system of  claim 56 , wherein the group of processors transfers data corresponding to a particular flow of information elements in sequence to the output scheduler. 
     
     
         58 . The system of  claim 56 , wherein the groups of processors transfer data to the output scheduler on a first-ready-first-out basis. 
     
     
         59 . The system of  claim 58 , wherein the groups of processors transfer data corresponding to different flows of information elements to the output scheduler. 
     
     
         60 . The system of  claim 59 , wherein a group of processors is selected to transfer data to the output scheduler, and wherein the group of processors remains selected until an end of packet (EOP) indication is received by the output scheduler. 
     
     
         61 . A method of grouping multiple processors, the method comprising:
 grouping a plurality of processors into a plurality of groups, wherein a group of processors include:
 a first processor, 
 at least a second processor, and 
 a communication channel connecting the first and second processors; 
   and   assigning a command from an input scheduler to the first processor, wherein the command can be forwarded by the first processor to the second processor through the communication channel.   
     
     
         62 . The method of  claim 61  further comprising:
 executing commands within a group of processors in a circular sequence, wherein: 
 a first command is executed by the first processor in the group, 
 a second command is executed by the second processor in the group after the first command has been executed by the first processor, and 
 a third command is executed by the first processor after the second command has been executed by the second processor. 
 
     
     
         63 . The method of  claim 61 , wherein assigning a command comprises:
 assigning a command to the first processor from the input scheduler; and   waiting to receive a report from the first processor that a current buffer is an end of packet (EOP) buffer before assigning a command to the second processor from the input scheduler.   
     
     
         64 . The method of  claim 63 , wherein when the current buffer is not an EOP buffer,
 forwarding the command from the first processor to the second processor through the communication channel; and   waiting to receive from the second processor that the current buffer is an EOP buffer before assigning a command to a third processor in the same group of processor as the first and second processors.   
     
     
         65 . The method of  claim 63 , wherein when the current buffer is an EOP buffer, assigning a command to the second processor from the input scheduler. 
     
     
         66 . The method of  claim 61 , wherein the processors execute commands corresponding to flows of information elements, and further comprising:
 tracking which processor is executing a command belonging to a particular flow of information elements.   
     
     
         67 . The method of  claim 66  further comprising:
 when a new command is received by the input scheduler, determining if any of the processors are processing a command belonging to the same flow of information element as the new command. 
 
     
     
         68 . The method of  claim 67 , wherein when a processor is determined to be processing a command belonging to the same flow of information elements as the new command, assigning the new command to the group of processors having the processor that was determined to be processing the command belonging to the same flow of information elements as the new command. 
     
     
         69 . The method of  claim 67 , wherein when one of the processors is determined to be processing a command belonging to the same flow of information elements as the new command, assigning the new command to any of the groups of processors ready to process a command. 
     
     
         70 . The method of  claim 61 , wherein each of the processors are assigned to an output port to output data through the output ports, and further comprising:
 scheduling the output of data from the processors using an output scheduler coupled to the processors.   
     
     
         71 . The method of  claim 70 , wherein processors within a group of processors transfers data to the output scheduler on a first-in-first-out basis. 
     
     
         72 . The method of  claim 70 , wherein the data transferred by the group of processors corresponds to a particular flow of information elements. 
     
     
         73 . The method of  claim 71 , wherein the groups of processors transfers data to the output schedule on a first-ready-first-out basis. 
     
     
         74 . The method of  claim 73 , wherein the groups of processors transfer data corresponding to different flows of information elements to the output scheduler. 
     
     
         75 . The method of  claim 74 , wherein a group of processors is selected to transfer data to the output scheduler, and wherein the group of processors remains selected until an end of packet (EOP) indication is received by the output scheduler. 
     
     
         76 - 111 . (canceled)

Join the waitlist — get patent alerts

Track US2011314473A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.