Claims
- 1. A method for programmably allocating system resources to accommodate I/O transactions at I/O ports of a multiprocessor computer system comprising the steps of:
determining the number and type of transactions anticipated at a port, determining the number and type of devices being serviced via the port, setting criteria for transactions at the port with respect to the number and type of transactions and devices, assigning the system resources to the port with respect to the criteria.
- 2. The method as defined in claim 1 further comprising the steps of:
providing at least one control register for each port, wherein the control register includes a plurality of programmable fields.
- 3. The method as defined in claim 2 further comprising the steps of configuring the control register fields to contain a number of direct memory access engines available at a port to support a transaction, a number of cache lines for requested data, and a number representing priorities among the anticipated transactions.
- 4. The method as defined in claim 1 further comprising the step of preparing for hot swapping an assembly, wherein the preparing for hot swapping comprises, with respect to the assembly being replaced, copying the assembly's state, the state of its associated memory systems, its status and control registers, and the contents of its cache and memory systems.
- 5. The method as defined in claim 4 wherein the copying comprises the steps of:
flushing the data in the local cache and local memory to storage not affected by the hot swapping, invalidating data in cache, setting a flush indicator in the port's cache status and control register, flushing directory data to non-affected storage, finding and stopping any new transactions, completing any transactions already started or pending, flushing the translation look-aside buffers, invalidating the contents of the translation look-aside buffers, and updating the system directory.
- 6. A system for allocating system resources to accommodate I/O transactions at I/O ports of a multiprocessor computer system comprising:
the number and type of transactions anticipated at a port, number and type of devices being serviced via the port, criteria for operations at the port with respect to the number and type of transactions and devices, means for assigning the system resources to the port with respect to the criteria.
- 7. The system as defined in claim 6 further comprising:
at least one control register for each port, wherein the control register includes a plurality of programmable fields.
- 8. The system as defined in claim 7 wherein the control register fields include a number of direct memory access engines available at a port to support a transaction, a number of cache lines for requested data, and a number representing priorities among the anticipated transactions.
- 9. The method as defined in claim 6 further comprising:
means for hot swapping of an assembly, including means for copying the assembly's state, the state of its associated memory systems, its status and control registers, and the contents of its cache and memory systems.
- 10. The system as defined in claim 9 wherein the means for copying comprises:
means for flushing the data in the local cache and local memory to storage not affected by the hot swapping, means for flushing, modifying and invalidating unmodified data in cache, means for setting a flush indicator in the port's cache status and control register, means for flushing directory data to non-affected storage, means for finding and stopping any new transactions, means for completing any transactions already started or pending, means for flushing the translation look-aside buffers, means for invalidating the contents of the translation look-aside buffers, and means for updating the directory.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority from U.S. Provisional Patent Application Serial No. 60/229,830, which was filed on Aug. 31, 2000, by the present inventors among others for a Symmetrical Multiprocessor Computer System and which is hereby incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60229830 |
Aug 2000 |
US |