Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system
First Claim
1. A transaction bus for use with a multi-processor system operating on clock cycles of a clock and having a plurality of processor interfaces and at least one memory interface, the transaction bus comprising:
- a bus structure configured to transfer transaction commands from individual ones of the interfaces and to allow all other ones of the interfaces to monitor the transaction commands; and
an arbiter configured to grant bus access to the interfaces for a transfer rate of one of the transaction commands per one of the clock cycles.
13 Assignments
0 Petitions
Accused Products
Abstract
A preferred embodiment of a symmetric multiprocessor system includes a switched fabric (switch matrix) for data transfers that provides multiple concurrent buses that enable greatly increased bandwidth between processors and shared memory. A Transaction Controller, Transaction Bus, and Transaction Status Bus are used for serialization, centralized cache control, and highly pipelined address transfers. The shared Transaction Controller serializes transaction requests from Initiator devices that can include CPU/Cache modules and Peripheral Bus modules. The Transaction Bus of an illustrative embodiment is implemented using segmented buses, distributed muxes, point-to-point wiring, and supports transaction processing at a rate of one transaction per clock cycle. The Transaction Controller monitors the Transaction Bus, maintains a set of duplicate cache-tags for all CPU/Cache modules, maps addresses to Target devices, performs centralized cache control for all CPU/Cache modules, filters unnecessary Cache transactions, and routes necessary transactions to Target devices over the Transaction Status Bus. The Transaction Status Bus includes both bus-based based and point-to-point control of the target devices. A modified rotating priority scheme is used to provide Starvation-free support for Locked buses and memory resources via backoff operations. Speculative memory operations are supported to further enhance performance.
93 Citations
20 Claims
-
1. A transaction bus for use with a multi-processor system operating on clock cycles of a clock and having a plurality of processor interfaces and at least one memory interface, the transaction bus comprising:
-
a bus structure configured to transfer transaction commands from individual ones of the interfaces and to allow all other ones of the interfaces to monitor the transaction commands; and
an arbiter configured to grant bus access to the interfaces for a transfer rate of one of the transaction commands per one of the clock cycles. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operating a transaction bus for use with a multi-processor system operating on clock cycles of a clock and having a plurality of processor interfaces and at least one memory interface, the method comprising:
-
transferring transaction commands from individual ones of the interfaces over a bus structure;
allowing all other ones of the interfaces to monitor the transaction commands; and
granting bus access to the interfaces for a transfer rate of one of the transaction commands per one of the clock cycles. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification