Computer system including system controller with a write buffer and plural read buffers for decoupled busses
First Claim
1. A virtual, multi-ported memory for facilitating concurrent operations in a computer system having multiple buses, the virtual, multi-ported memory comprising:
- a single-ported main memory device;
a memory controller coupled to the main memory device for reading and writing memory locations in the main memory device responsive to signals from buffers;
a write buffer coupled between the memory controller and the multiple buses of the computer system, for buffering write signals between the multiple buses and the memory controller;
a first read buffer coupled between the memory controller and a first bus of the multiple buses for buffering read signals between the first bus and the memory controller and for snooping write signals to the write buffer; and
a second read buffer coupled between the memory controller and a second bus of the computer system for buffering read signals between the second bus and the memory controller and for snooping write signals to the write buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system includes a processor having a cache memory and coupled to a system controller through a processor bus, a main memory coupled to the system controller through a dedicated memory bus, and a local bus master coupled to the system controller through a local bus. The system controller includes a write register and a read register that form a first path for coupling bus signals between the processor bus and main memory, and the system controller also includes a second read register that with the write buffer forms a second path to the main memory for coupling bus signals between the local bus and main memory. The first and second paths of the system controller decouple the processor and local buses, allowing processor-cache operations to proceed concurrently with operations between the local bus master and main memory. The first and second read buffers are fully snooped and implement replacement schemes that allow them to function as caches for the the processor and the local bus master, respectively, and a snoop tag register in the system controller stores recently snooped main memory addresses to eliminate redundant snoop cycles to the processor.
-
Citations
27 Claims
-
1. A virtual, multi-ported memory for facilitating concurrent operations in a computer system having multiple buses, the virtual, multi-ported memory comprising:
-
a single-ported main memory device; a memory controller coupled to the main memory device for reading and writing memory locations in the main memory device responsive to signals from buffers; a write buffer coupled between the memory controller and the multiple buses of the computer system, for buffering write signals between the multiple buses and the memory controller; a first read buffer coupled between the memory controller and a first bus of the multiple buses for buffering read signals between the first bus and the memory controller and for snooping write signals to the write buffer; and a second read buffer coupled between the memory controller and a second bus of the computer system for buffering read signals between the second bus and the memory controller and for snooping write signals to the write buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system controller for use in a computer system that includes a main memory, a central processor unit with a cache memory, a processor bus, and a local bus, the system controller comprising:
-
a first bus interface for translating bus signals between the processor bus and the system controller; a second bus interface for translating bus signals between the local bus and the system controller; a memory controller for providing control signals to the main memory, responsive to the receipt of read and write bus signals; a write buffer coupled between the first bus interface and the memory controller and between the second bus interface and the memory controller, for buffering write bus signals that are applied to the first and second bus interfaces, respectively, to the memory controller; a first read buffer coupled between the first bus interface and the memory controller for buffering read signals between the first bus interface and the memory controller, the first bus interface, the write buffer, and the first read buffer forming a first path to the memory controller; and a second read buffer coupled between the second bus interface and the memory controller for buffering read bus signals between the second bus interface and the memory controller;
the second bus interface, the write buffer, and the second read buffer forming a second path to the memory controller that is decoupled from the first path to the memory controller formed by the first bus interface, the write buffer, and the first read buffer. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A multi-bus computer system comprising:
-
a central processor having a cache memory; a processor bus coupled to the central processor for coupling us signals to and from the central processor; a local bus; a main memory; and a system controller coupled to the processor and local buses and the main memory for coupling bus signals between the processor and local buses and between main memory device and the processor and local buses, the system controller comprising; a first bus interface for translating bus signals between the processor bus and the system controller; a second bus interface for translating bus signals between the local bus and the system controller; a memory controller for providing control signals to the main memory, responsive to the receipt of read and write bus signals; a write buffer coupled between the first bus interface and the memory controller and between the second bus interface and the memory controller, for buffering write bus signals that are applied to the first and second bus interfaces, respectively, to the memory controller; a first read buffer coupled between the first bus interface and the memory controller for buffering read signals between the first bus interface and the memory controller, the first bus interface, the write buffer, and the first read buffer forming a first path to the memory controller; and a second read buffer coupled between the second bus interface and the memory controller for buffering read bus signals between the second bus interface and the memory controller, the second bus interface, the write buffer, and the second read buffer forming a second path to the memory controller that is decoupled from the first path to the memory controller formed by the first bus interface, the write buffer, and the first read buffer. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification