Processing

Please wait...

Settings

Settings

1. WO2000043894 - METHOD AND APPARATUS FOR COMMUNICATING BETWEEN MULTIPLE FUNCTIONAL UNITS IN A COMPUTER ENVIRONMENT

Publication Number WO/2000/043894
Publication Date 27.07.2000
International Application No. PCT/US2000/001491
International Filing Date 20.01.2000
Chapter 2 Demand Filed 15.08.2000
IPC
G06F 13/16 2006.01
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
13Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
14Handling requests for interconnection or transfer
16for access to memory bus
CPC
G06F 13/1605
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
13Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
14Handling requests for interconnection or transfer
16for access to memory bus
1605based on arbitration
G06F 13/1684
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
13Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
14Handling requests for interconnection or transfer
16for access to memory bus
1668Details of memory controller
1684using multiple buses
Applicants
  • ANALOG DEVICES, INC. [US/US]; One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, US
Inventors
  • GREENFIELD, Zvi; IL
Agents
  • PRITZKER, Randy, J.; Wolf, Greenfield & Sacks, P.C. 600 Atlantic Avenue Boston, MA 02210, US
Priority Data
09/235,02521.01.1999US
Publication Language English (EN)
Filing Language English (EN)
Designated States
Title
(EN) METHOD AND APPARATUS FOR COMMUNICATING BETWEEN MULTIPLE FUNCTIONAL UNITS IN A COMPUTER ENVIRONMENT
(FR) PROCEDE ET DISPOSITIF PERMETTANT LA COMMUNICATION ENTRE PLUSIEURS UNITES FONCTIONNELLES DANS UN ENVIRONNEMENT INFORMATIQUE
Abstract
(EN)
A CPU includes a number of functional units that cooperate together to execute instructions. On-chip memory is divided into several sections, each of which is connected to an associated internal bus. All of the functional units are connected to each of the internal busses so that each of the functional units can read from and write to all memory locations. To conduct a transaction with memory, a functional unit determines which memory location it requires, and then arbitrates for mastership of the bus associated with the section of memory containing that memory location. By providing two or more internal busses, two or more bus transactions can occur simultaneously. A virtual bus is provided to facilitate transactions between functional units. The virtual bus is a bus arbiter without an associated physical bus. To conduct a transaction with another functional unit, the functional unit arbitrates for mastership of the virtual bus, the virtual bus monitors the internal busses or communicates with the other bus arbiters to determine which of the internal busses is unoccupied and, upon receiving a request to access the virtual bus, assigns one of the internal busses to the requesting functional unit. Using a virtual bus is advantageous since requesting access to the virtual bus has the affect of arbitrating for each of the physical busses simultaneously. Thus, the amount of time spent arbitrating for access to the physical busses is minimized. Also, since the physical busses typically do not run at 100 % capacity, allocating use of the physical busses to non-memory transactions maximizes use of the physical busses without significantly distracting from the ability of the functional units to access memory. Finally, using a virtual bus instead of an additional physical bus takes up much less space than would be required if a dedicated physical bus were provided for transactions between functional units.
(FR)
L'invention concerne une UC comprenant un certain nombre d'unités fonctionnelles qui coopèrent pour exécuter les instructions. Une mémoire interne est divisée en plusieurs sections, dont chacune est connectée à un bus interne. Toutes les unités fonctionnelles sont connectées à chaque bus interne, de façon que chaque unité puisse lire et écrire dans tous les emplacements mémoire. Afin d'exécuter une transaction avec la mémoire, une unité fonctionnelle détermine quel emplacement mémoire est nécessaire à ladite transaction, puis arbitre en vue de la maîtrise du bus associé à la section de la mémoire contenant ledit emplacement. La présence de plusieurs bus internes permet d'effectuer simultanément plusieurs transactions de bus. Un bus virtuel facilite les transactions entre unités fonctionnelles. Le bus virtuel est un arbitre de bus qui n'est pas associé à un bus physique. Pour effectuer une transaction avec une autre unité fonctionnelle, l'unité fonctionnelle arbitre en vue de la maîtrise du bus virtuel; celui-ci contrôle les bus internes ou communique avec d'autres arbitres de bus afin de déterminer quel est le bus interne non occupé et, après réception d'une demande d'accès au bus virtuel, attribue l'un des bus internes à l'unité fonctionnelle demandeuse. L'utilisation d'un bus virtuel est avantageuse par le fait que la demande d'accès audit bus virtuel entraîne un arbitrage simultané pour tous les bus physiques, ce qui minimise le temps passé à arbitrer pour l'accès à ces derniers. En outre, comme les bus physiques ne tournent généralement à 100 % de leur capacité, leur attribution à des transactions ne concernant pas la mémoire maximise leur utilisation sans interférer de manière significative avec la capacité des unités fonctionnelles à accéder à la mémoire. Enfin, l'utilisation d'un bus virtuel à la place d'un bus physique supplémentaire occupe moins d'espace que ce ne serait le cas si un bus physique spécialisé était utilisé pour les transactions entre unités fonctionnelles.
Also published as
Latest bibliographic data on file with the International Bureau