3.1. HOW MEMORYWORKS WITH THE PROCESSOR
Main components of a computer system.
The CPU is often referred to as the brain of the computer. This is where all the actual computing is done.
The chipset supports the CPU. It usually contains several “controllers” which govern how information travels between the processor and other components in the system. Some systems have more than one chipset.
The memory controller is part of the chipset, and this controller establishes the information flow between memory and the CPU.
A bus is a data path in a computer, consisting of various parallel wires to which the CPU, memory, and all input/output devices are connected. The design of the bus, or bus architecture, determines how much and how fast data can move across the motherboard. There are several different kinds of busses in a system, depending on what speeds are required for those particular components. The memory bus runs from the memory controller to the computer’s memory sockets. Newer systems have a memory bus architecture in which a frontside bus (FSB) runs from the CPU to main memory and a backside bus (BSB) which runs from the memory controller to L2 cache.
MEMORY SPEEDWhen the CPU needs information from memory, it sends out a request that is managed by the memory controller. The memory controller sends the request to memory and reports to the CPU when the information will be available for it to read. This entire cycle - from CPU to memory controller to memory and back to the CPU - can vary in length according to memory speed as well as other factors, such as bus speed.
Memory speed is sometimes measured in Megahertz (MHz), or in terms of access time - the actual time required to deliver data - measured in nanoseconds (ns). Whether measured in Megahertz or nanoseconds, memory speed indicates how quickly the memory module itself can deliver on a request once that request is received.
ACCESS TIME (NANOSECONDS)Access time measures from when the memory module receives a data request to when that data becomes available. Memory chips and modules used to be marked with access times ranging from 80ns to 50ns. With access time measurements (that is, measurements in nanoseconds), lower numbers indicate faster speeds.
In this example, the memory controller requests data from memory and memory reacts to the request in 70ns.The CPU receives the data in approximately 125ns. So, the total time from when the CPU first requests information to when it actually receives the information can be up to 195ns when using a 70ns memory module. This is because it takes time for the memory controller to manage the information flow, and the information needs to travel from the memory module to the CPU on the bus.
MEGAHERTZ (MHZ)Beginning with Synchronous DRAM technology, memory chips had the ability to synchronize themselves with the computer’s system clock, making it easier to measure speed in megahertz, or millions of cycles per second. Because this is the same way speed is measured in the rest of the system, it makes it easier to compare the speeds of different components and synchronize their functions. In order to understand speed better, it’s important to understand the system clock.
SYSTEM CLOCKA computer’s system clock resides on the motherboard. It sends out a signal to all other computer components in rhythm, like a metronome. This rhythm is typically drawn as a square wave, like this:
In reality, however, the actual clock signal, when viewed with an oscilloscope, looks more like the example shown below.
Each wave in this signal measures one clock cycle. If a system clock runs at 100MHz, that means there are 100 million clock cycles in one second. Every action in the computer is timed by these clock cycles, and every action takes a certain number of clock cycles to perform. When processing a memory request, for example, the memory controller can report to the processor that the data requested will arrive in six clock cycles.
It’s possible for the CPU and other devices to run faster or slower than the system clock. Components of different speeds simply require a multiplication or division factor to synchronize them. For example, when a 100MHz system clock interacts with a 400MHz CPU, each device understands that every system clock cycle is equal to four clock cycles on the CPU; they use a factor of four to synchronize their actions.
Many people assume that the speed of the processor is the speed of the computer. But most of the time, the system bus and other components run at different speeds.