On Early X86-32 Processors

De Transcription | Bibliothèque patrimoniale numérique Mines ParisTech
Révision datée du 30 octobre 2025 à 13:58 par SvenBardon (discussion | contributions) (Page créée avec « <br>A memory controller, often known as memory chip controller (MCC) or a memory controller unit (MCU), is a digital circuit that manages the stream of knowledge going to... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


A memory controller, often known as memory chip controller (MCC) or a memory controller unit (MCU), is a digital circuit that manages the stream of knowledge going to and from a pc's major memory. When a memory controller is built-in into another chip, such as an integral part of a microprocessor, it is normally known as an integrated memory controller (IMC). Memory controllers include the logic necessary to learn and write to dynamic random-entry memory (DRAM), and to offer the important memory refresh and other features. Reading and writing to DRAM is performed by choosing the row and column information addresses of the DRAM as the inputs to the multiplexer circuit, the place the demultiplexer on the DRAM makes use of the converted inputs to select the proper memory location and return the information, which is then handed back via a multiplexer to consolidate the data in order to reduce the required bus width for the operation. Memory controllers' bus widths vary from 8-bit in earlier methods, to 512-bit in additional sophisticated techniques, where they're sometimes implemented as four 64-bit simultaneous memory controllers working in parallel, though some function with two 64-bit memory controllers getting used to access a 128-bit memory system.



Some memory controllers, such because the one built-in into PowerQUICC II processors, include error detection and correction hardware. Many modern processors are also integrated memory administration unit (MMU), which in many working techniques implements digital addressing. On early x86-32 processors, the MMU is built-in in the CPU, but the memory controller is often a part of northbridge. Older Intel and PowerPC-primarily based computer systems have memory controller chips that are separate from the main processor. Typically these are built-in into the northbridge of the computer, also typically called a memory controller hub. Most modern desktop or workstation microprocessors use an integrated memory controller (IMC), together with microprocessors from Intel, AMD, and those built across the ARM structure. Prior Memory Wave to K8 (circa 2003), AMD microprocessors had a memory controller implemented on their motherboard's northbridge. In K8 and later, AMD employed an built-in memory controller. Likewise, until Nehalem (circa 2008), Intel microprocessors used memory controllers implemented on the motherboard's northbridge.



Nehalem and later switched to an integrated memory controller. Different examples of microprocessor architectures that use built-in memory controllers include NVIDIA's Fermi, IBM's POWER5, and Sun Microsystems's UltraSPARC T1. While an built-in memory controller has the potential to extend the system's efficiency, reminiscent of by lowering memory latency, it locks the microprocessor to a specific sort (or sorts) of memory, forcing a redesign in an effort to help newer memory technologies. When DDR2 SDRAM was introduced, AMD launched new Athlon 64 CPUs. These new fashions, with a DDR2 controller, use a distinct bodily socket (often known as Socket AM2), so that they will solely fit in motherboards designed for the brand new type of RAM. When the memory controller just isn't on-die, the same CPU could also be put in on a new motherboard, with an up to date northbridge to make use of newer Memory Wave. Some microprocessors in the nineteen nineties, such because the DEC Alpha 21066 and HP PA-7300LC, had built-in memory controllers; however, somewhat than for performance features, this was applied to cut back the cost of programs by eliminating the need for an external memory controller.
siol.net


Some CPUs are designed to have their memory controllers as devoted external components that are not a part of the chipset. An instance is IBM POWER8, which makes use of exterior Centaur chips which can be mounted onto DIMM modules and act as memory buffers, L4 cache chips, and as the actual Memory Wave Program controllers. The primary model of the Centaur chip used DDR3 memory however an up to date version was later launched which can use DDR4. A couple of experimental memory controllers include a second stage of tackle translation, in addition to the primary level of deal with translation performed by the CPU's memory management unit to enhance cache and bus efficiency. Memory controllers integrated into sure Intel Core processors provide memory scrambling as a feature that turns consumer knowledge written to the primary memory into pseudo-random patterns. Memory scrambling has the potential to prevent forensic and reverse-engineering analysis primarily based on DRAM information remanence by successfully rendering varied types of chilly boot assaults ineffective.



In current follow, this has not been achieved; memory scrambling has only been designed to deal with DRAM-related electrical issues. The late 2010s memory scrambling standards do tackle safety points and are usually not cryptographically secure or open to public revision or analysis. ASUS and Intel have their separate memory scrambling requirements. ASUS motherboards have allowed the consumer to decide on which memory scrambling standard to make use of (ASUS or Intel) or whether or not to turn the feature off entirely. Double knowledge price (DDR) memory controllers are used to drive DDR SDRAM, the place data is transferred on each rising and falling edges of the system's memory clock. Multichannel memory controllers are memory controllers the place the DRAM devices are separated onto multiple buses to allow the memory controller(s) to access them in parallel. This increases the theoretical quantity of bandwidth of the bus by an element of the number of channels. Whereas a channel for every DRAM can be the perfect solution, including extra channels will increase complexity and Memory Wave Program price.