Abstract:
Three prioritization schemes for determining which of several CPUs receives priority to become bus master of a host bus in a multiprocessor system, and an arbitration scheme for transferring control from one bus master to another. Each prioritization scheme prioritizes n elements, where a total of (n/2)x(n-1) priority bits monitors the relative priority between each pair of elements. An element receives the highest priority when each of the n-1 priority bits associated with that element points to it. In the arbitration scheme, the current bus master of the host bus determines when transfer of control of the host bus occurs as governed by one of the prioritization schemes. The arbitration scheme gives EISA bus masters, RAM refresh and DMA greater priority than CPUs acting as bus masters, and allows a temporary bus master to interrupt the current bus master to perform a write-back cache intervention cycle. The arbitration scheme also supports address pipelining, bursting, split transactions and reservations of CPUs aborted when attempting a locked cycle. Address pipelining allows the next bus master to assert its address and status signals before the beginning of the data transfer phase of the next bus master. Split transactions allow a CPU posting a read to the EISA bus to arbitrate the host bus to another device without re-arbitrating for the host bus to retrieve the data. The data is asserted on the host bus when it is idle even if the host bus is being controlled by another device.
Abstract:
Three prioritization schemes for determining which of several CPUs receives priority to become bus master of a host bus in a multiprocessor system, and an arbitration scheme for transferring control from one bus master to another. Each prioritization scheme prioritizes n elements, where a total of (n/2)x(n-1) priority bits monitors the relative priority between each pair of elements. An element receives the highest priority when each of the n-1 priority bits associated with that element points to it. In the arbitration scheme, the current bus master of the host bus determines when transfer of control of the host bus occurs as governed by one of the prioritization schemes. The arbitration scheme gives EISA bus masters, RAM refresh and DMA greater priority than CPUs acting as bus masters, and allows a temporary bus master to interrupt the current bus master to perform a write-back cache intervention cycle. The arbitration scheme also supports address pipelining, bursting, split transactions and reservations of CPUs aborted when attempting a locked cycle. Address pipelining allows the next bus master to assert its address and status signals before the beginning of the data transfer phase of the next bus master. Split transactions allow a CPU posting a read to the EISA bus to arbitrate the host bus to another device without re-arbitrating for the host bus to retrieve the data. The data is asserted on the host bus when it is idle even if the host bus is being controlled by another device.
Abstract:
Three prioritization schemes for determining which of several CPUs receives priority to become bus master of a host bus in a multiprocessor system, and an arbitration scheme for transferring control from one bus master to another. Each prioritization scheme prioritizes n elements, where a total of (n/2)x(n-1) priority bits monitors the relative priority between each pair of elements. An element receives the highest priority when each of the n-1 priority bits associated with that element points to it. In the arbitration scheme, the current bus master of the host bus determines when transfer of control of the host bus occurs as governed by one of the prioritization schemes. The arbitration scheme gives EISA bus masters, RAM refresh and DMA greater priority than CPUs acting as bus masters, and allows a temporary bus master to interrupt the current bus master to perform a write-back cache intervention cycle. The arbitration scheme also supports address pipelining, bursting, split transactions and reservations of CPUs aborted when attempting a locked cycle. Address pipelining allows the next bus master to assert its address and status signals before the beginning of the data transfer phase of the next bus master. Split transactions allow a CPU posting a read to the EISA bus to arbitrate the host bus to another device without re-arbitrating for the host bus to retrieve the data. The data is asserted on the host bus when it is idle even if the host bus is being controlled by another device.
Abstract:
Three prioritization schemes for determining which of several CPUs receives priority to become bus master of a host bus in a multiprocessor system, and an arbitration scheme for transferring control from one bus master to another. Each prioritization scheme prioritizes n elements, where a total of (n/2)x(n-1) priority bits monitors the relative priority between each pair of elements. An element receives the highest priority when each of the n-1 priority bits associated with that element points to it. In the arbitration scheme, the current bus master of the host bus determines when transfer of control of the host bus occurs as governed by one of the prioritization schemes. The arbitration scheme gives EISA bus masters, RAM refresh and DMA greater priority than CPUs acting as bus masters, and allows a temporary bus master to interrupt the current bus master to perform a write-back cache intervention cycle. The arbitration scheme also supports address pipelining, bursting, split transactions and reservations of CPUs aborted when attempting a locked cycle. Address pipelining allows the next bus master to assert its address and status signals before the beginning of the data transfer phase of the next bus master. Split transactions allow a CPU posting a read to the EISA bus to arbitrate the host bus to another device without re-arbitrating for the host bus to retrieve the data. The data is asserted on the host bus when it is idle even if the host bus is being controlled by another device.
Abstract:
L'invention utilise trois programmes de classement par ordre de priorité pour déterminer laquelle de plusieurs unités centrales reçoit la priorité de devenir le processeur maître de bus d'un bus hôte dans un système à multiprocesseur, et un programme d'arbitrage pour transférer le contrôle d'un maître de bus à un autre. Chaque programme de classement par ordre de priorité classe par priorité n éléments, où un total de (n/2)x(n-1) bits de priorité permet de contrôler la priorité relative entre chaque paire d'éléments. Un élément reçoit la plus grande priorité lorsque chacun des n-1 bits de priorité associés à cet élément le désigne. Dans le programme d'arbitrage, le maître de bus effectif détermine à quel moment le transfert de contrôle du bus hôte se produit tel qu'il est régi par l'un des programmes de classement par ordre de priorité. Le programme d'arbitrage donne aux maîtres de bus EISA, à la régénération de mémoire RAM et à l'accès en mémoire direct DMA une priorité plus grande qu'aux unités centrales agissant comme maîtres de bus, et il permet à un maître de bus temporaire d'interrompre le maître de bus en cours pour effectuer un cycle d'intervention de réécriture en antémémoire. Le programme d'arbitrage permet également un traitement "pipeline" d'adresses, une transmission en salve, des transactions fractionnées et des réservations d'unités centrales avortées, lors de l'essai d'un cycle verrouillé. Le traitement "pipeline" d'adresses permet au prochain maître de bus de transmettre son adresse et les signaux d'état avant le début de la phase de transfert de données du prochain maître de bus. Les transactions fractionnées permettent à une unité centrale, ayant demandé une lecture dans le bus EISA, d'affecter après arbitrage le bus hôte à un autre dispositif sans qu'il soit nécessaire de procéder à un réarbitrage du bus hôte pour récupérer les données. Les données sont transmises sur le bus hôte lorsque celui-ci est inactif, même lorsque le bus hôte est commandé par un autre dispositif.