Memory is an important part of a computer, also known as memory andMain memory, which is used to temporarily store the calculation data in the CPU, as well as the hard diskExternal memoryData exchanged.It isExternal storageAndCPUAs a bridge for communication, all programs in the computer run in memory. The strength of memory performance affects the overall performance of the computer.As soon as the computer starts running, the operating system will transfer the data to be calculated from the memory to the CPU for calculation. When the calculation is completed, the CPU will send the results.
The running of memory determines the overall running speed of the computer.
Programs we usually use, such as:Windows operating system, typing software, game software, etc.Generally installed on hard diskExternal storageHowever, their functions cannot be used only for this purpose. They must be transferred into memory to run in order to really use their functions.
We usually input a paragraph of text or play a game, but it is actually in memory.It's like in a study, the bookshelf for storing books andBookcaseComputer equivalentExternal storageThe desk we work on is equivalent to memory.
Usually, we will keep a large amount ofdata storage stayExternal storagePut some temporary or small amount of data and programs in memory.Of course, the quality of memory will directly affect the computerrunning speed 。[2]
Memory is a place to temporarily store programs and data.When we useWPSWhen you process a document, when you type a character on the keyboard, it is stored in memory.When you choose to save, the data in the memory will be saved to the hard (magnetic) disk.[2]
development
Announce
edit
Computer didn't exist in the early daysMemory moduleThe concept of.The earliest memory was arranged on the line in the form of magnetic corestransistorA constituentBistable circuitAs one bit (BIT) memory.
Every bit must haveCorn grainFor size, it can be imagined that a machine room can only hold a capacity of no more than 100 k bytes.Later came the integration soldered on the motherboardMemory chip, providing direct support for computer operations in the form of memory chips.
At that timeMemory chipThe capacity is very small. The most common ones are 256K × 1bit and 1M × 4bit.Even so, it was more than enough for computing tasks at that time.[3]
Memory module
Memory chipThe state of ".In view of its disadvantages of being unable to be disassembled and replaced, this has caused a realistic obstacle to the development of computers.
In view of this,Memory moduleThen came into being.takeMemory chipWelding to pre designedPrinted circuit boardOn the computer motherboard, the memory socket is also used.In this way, the problem that memory is difficult to install and replace is completely solved.[3]
Before the 80286 motherboard was released, the world didn't pay attention to memory.At this time, the memory is directly solidified on the motherboard, and the capacity is only 64-256KB.For the working program run by PC at that time, the performance and capacity of this memory are enough to meet thesoftware program Processing needs.
With the emergence of software programs and the new generation 80286 hardware platform, programs and hardware put forward higher requirements for memory performance.In order to improve speed and expand capacity, the memory must bePackaging formAppeared, and thus was born“Memory module”The concept of.[3]
When the 80286 motherboard was first introduced,Memory moduleAdoptedSIMM(Single In lineMemory Modules, unilateral contactMemory module)Interface, 30pin, 256kb capacity, 8 chipsData bitsAnd a check bit to form a bank.
Because of this, the 30pin SIMM we see usually uses four together.Since the PC entered the civil market in 1982, the 30 pin SIMM memory with 80286 processor is the ancestor of the memory field.[3]
Then, in the middle of 1988~1990, PC technology ushered in another development peak, namely the 386 and 486 times.At this time, the CPU has developed to 16bit, so the 30pin SIMM memory can no longer meet the demandMemory bandwidthIt has become a bottleneck that needs to be solved urgently, so the 72pin SIMM memory appears at this time.
72pin SIMM supports 32bit fastPage ModeMemory and memory bandwidth have been greatly improved.The capacity of a single 72pin SIMM memory is generally 512KB-2MB, and only two memories are required to be used at the same time.Because it is not compatible with 30pin SIMM memory, the PC industry resolutely eliminated 30pin SIMM memory at this time.[3]
Therefore, the speed is 15~30% faster than ordinary DRAM.working voltage It is 5V in general, 32bit in bandwidth, and over 40ns in speed. It is mainly used in the 486 and earlyPentiumOn the computer.[3]
From 1991 to 1995, memorytechnological development Relatively slow, almost stagnant.We can see that 72 pin and 168 pin EDO DRAM coexist. In factEDO memoryIt also belongs to the category of 72pin SIMM memory.
But it uses a brand newAddressing mode。EDO has made breakthroughs in cost and capacity, relying on the rapid development of manufacturing technology.Now singleEDO memoryThe capacity of has reached 4~16MB.Due to Pentium and higher CPUData bus widthBoth are 64bit or higher, so EDO DRAM and FPM DRAM must be used in pairs.[3]
SDRAM
From Intel Celeron series andAMD K6Processor and relatedMainboard chipsetAfter the introduction, the performance of EDO DRAM memory can no longer meet the needs.Memory technology must be thoroughly innovated to meet the needs of the new generation of CPU architecture. At this time, memory began to enter the classic SDRAM era.[3]
first generationSDRAMMemory is PC66 specification, but soon due to Intel andAMDThe debate over frequency willCPU external frequencyIt is upgraded to 100MHz.So the PC66 memory was soon replaced by the PC100 memory. Then, with the advent of the 133MHz external frequency PIII and the K7 era, the PC133 specification further improved the overall performance of SDRAM in the same way, and the bandwidth was increased to more than 1GB/sec.
Since the SDRAM bandwidth is 64bit, which corresponds to the CPU's 64bit data bus width, it only needs one memory to work, and its convenience is further improved.In terms of performance, because its input and output signals are kept synchronized with the external frequency of the system, the speed is significantly higher than the EDO memory.[3]
SDRAM memory has developed from 66MHz in the early days to 100MHz and 133MHz later.Although the bottleneck problem of memory bandwidth has not been completely solvedCPU overclockingIt has become an eternal topic for DIY users.
Many users consider PC100 as a good brandMemory overclockingTo 133MHz forCPU overclockingsuccess.In order to facilitate the needs of some overclocking users, some PC150 and PC166 memory specifications have appeared in the market.[3]
The bandwidth of SDRAM PC133 memory can be increased to 1064MB/S. In addition, Intel has started the latestPentium 4Therefore, SDRAM PC133 memory cannot meet future development needs.
In the competition between AMD and Intel, this is the era of frequency competition.At this time, the CPUDominant frequencyContinuous improvement, Intel introduced high-frequency in order to surpass AMDPentiumⅢAnd Pentium 4 processors.
Rambus DRAM memory is regarded by Intel as its own competitive trump card in the future.Rambus DRAM memory highclock frequencyTo simplify eachClock cycleThe amount of data and memory bandwidth were excellent at that time.For example, the bandwidth of PC 1066 1066 MHz 32 bits can reach 4.2G Byte/sec. Rambus DRAM was once considered a perfect match for Pentium 4.[3]
Rambus RDRAM memory was born out of time, and it will still be "robbed" by higher speed DDR.At that time, the Rambus RDRAM memory of PC600 and PC700 appeared Intel 820ChipsetThe "error event" and PC800 Rambus RDRAM made the Pentium 4 platform superior due to the high cost, and could not win the popularity of the public users.
All kinds of problems have killed Rambus RDRAM. Rambus hoped that the PC1066 RDRAM with higher frequency could turn the tide, but he finally succumbed to DDR memory.[3]
DDR era
DDRSDRAM(Double Data Rate SDRAM) is called DDR for short, which also means "double rate SDRAM".
DDR can be said to be an upgraded version of SDRAM.DDR in clock signalRising edgeAnd the falling edge, so that the DDRData transmission speedIt is twice the traditional SDRAM.
Since only the falling edge signal is used, the energy consumption will not increase.As for location andcontrol signalIt is the same as the traditional SDRAM, and only transmits at the rising edge of the clock.[3]
DDR memoryAs a compromise solution between performance and cost, its purpose is to quickly establish a solidMarket space, and then step by step on the frequency, and finally make up for the lack of memory bandwidth.
The first generation DDR200 specification has not been popularized, and the second generation PC266 DDR SRAM (133MHz clock × 2 timesdata transmission=266MHz bandwidth) is derived from PC133SDRAM memory.It brings DDR memory to the first climax.
In 2017, many Celeron and AMD K7 processors were using DDR266 memory, and its later DDR333 memory was also a transition.DDR400 memory has become the mainstream platform option,Dual channelDDR400 memory has become the basic standard for 800FSB processor collocation, and the subsequent DDR533 specification has become the object of choice for overclocking users.[3]
DDR2 era
With the continuous improvement of CPU performance, the requirements of the public on memory performance have gradually increased.
DDR that increases bandwidth based on high frequency will be unable to do so sooner or later, soJEDECThe organization has been brewing DDR2 standards for a long time, plusLGA775The 915/925 interface and the latest 945 and other new platforms begin to support DDR2 memory, so DDR2 memory will begin to define today's memory field.[3]
DDR2 can provide a bandwidth of at least 400MB/s per pin on the basis of 100MHz transmission frequency, and its interface will operate at 1.8V, thus further reducing theCalorific valueTo increase the frequency.
In addition, DDR2 will be integrated into CAS, OCD, ODT and other new technologiesperformance index And interrupt commands, liftingMemory bandwidthUtilization of.From JEDECorganizerAccording to the DDR2 standard, DDR2 memory for PC and other markets will have different clock frequencies of 400, 533 and 667MHz.
The high-end DDR2 memory will have 800 and 1000 MHz frequencies.DDR-II memory will use 200 -, 220 -, 240-PinOfFBGAPackaging form.
The initial DDR2 memory will be 0.13 μ mProduction processThe voltage of memory particles is 1.8V, and the capacity density is 512MB.[3]
Memory technology will have no suspense in 2005, represented by SDRAMStatic memoryIt will not be popularized in five years.QBMIt is also hard to recover the declining trend with RDRAM memory, so the era of coexistence of DDR and DDR2 will be an absolute fact.[3]
Besides PC-133, VCM (VirXual Channel Memory) is also an important successor of PC-100.VCM“virtual channelMemory, which is also a memory standard supported by most newer chipsets.
VCM memory is mainly based onNECIt is a "cache DRAM" technology developed by the company.It integrates the "channel cache"registerConfigure and control.
While realizing high-speed data transmission, VCM also maintains a high level of traditional SDRAMcompatibilityTherefore, VCM memory is usually called VCM SDRAM.
The difference between VCM and SDRAM is that no matter whether the data is processed by CPU or not, it can be submitted to VCM for processing first, while ordinary SDRAM can only process the data processed by CPU, so VCM is better than SDRAMProcessing data20% faster.
At present, there are many chipsets that can support VCM SDRAM, including Intel's 815E, VIA's 694X, etc.[3]
RDRAM era
After Intel introduced PC-100, the 800MB/s bandwidth of PC-100 memory cannot meet the greater demand due to the development of technology.However, the bandwidth improvement of PC-133 is not significant (1064MB/s), which also cannot meet the future development needs.
In order to achieve the goal of monopolizing the market, Intel and Rambus Company jointly promote Rambus DRAM (DirectRambus DRAM) in the PC market.[3]
Rambus DRAM is a memory specification first proposed by Rambus Company. It adopts a new generation of high-speed simple memory architecture and is based on a RISC (Reduced Instruction Set Computing) theory, which can reduce the complexity of data and improve the performance of the entire system.
Rambus uses a 400MHz 16bit busClock cycleYou can transmit data at the same time as the rising edge and falling edge, so that itsActual speedIt is 400MHz × 2=800MHz, and the theoretical bandwidth is (16bit × 2 × 400MHz/8) 1.6GB/s, equivalent to twice of PC-100.
In addition, Rambus can also store 9bit bytes. An additional bit is reserved and may be used as ECC (ErroI Checking and Correction) check bit in the future.Rambus clock can reach 400MHz, and only 30 copper wires are used for connectionMemory controllerandRIMM(Rambus In line MemoryModules, Rambus embeddedMemory module), reducing the length and number of copper wires can reduce theelectromagnetic interference To quickly increase the working frequency of memory.
However, at high frequencies, the heat emitted will definitely increase, so the first Rambus memory even needs to come with its ownCooling fan。[3]
DDR3 era
DDR3Compared with DDR2, it has a lower working voltage, which drops from 1.8V of DDR2 to 1.5V, providing better performance and power saving;The 4 bit read ahead of DDR2 is upgraded to 8 bit read ahead.
At present, DDR3 can reach a maximum speed of 2000Mhz, although the fastest DDR2Memory speedThe speed has been increased to 800Mhz/1066Mhz, butDDR3 memoryThe module will still take off from 1066Mhz.[3]
New design adopted by DDR3 based on DDR2:[3]
1.8bit prefetching design, while DDR2 is 4bit prefetching, so the DRAM core frequency is only 1/8 of the interface frequency, and the core operating frequency of DDR3-800 is only 100MHz.
3. Adopt the production process below 100nm, reduce the working voltage from 1.8V to 1.5V, and add the asynchronous reset and ZQ calibration functions.Some manufacturers have introduced 1.35V low-voltage DDR3 memory.[3]
DDR4 era
In 2012,DDR4The era will open, the working voltage will be reduced to 1.2V, and the frequency will be increased to 2133MHz. The next year, the voltage will be further reduced to 1.0V, and the frequency will be 2667MHz.
New generationDDR4Memory will have two specifications.According to the introduction of several relevant personnel in the semiconductor industry, DDR4 memory will beSingle-EndedSignaling (traditional SE signal) DifferentialSignaling(Differential signalTechnology).amongAMDMr. Phil Hester of the company also confirmed this.
It is expected that these two standards will launch different chip products, so in the era of DDR4 memory, we will see two incompatible memory products.[3]
Second generation HBM3
In July 2023, Micron announced that it had sampled the industry's first 8-layer stacked 24GB second-generation HBM3 memory, based on 1β The DRAM process node high bandwidth memory (HBM) solution has a bandwidth of more than 1.2TB/s and a pin rate of more than 9.2Gb/s, which can improve the performance of the existing HBM3 solution by up to 50%.Meguiar introduced that the second generation HBM3 product has 2.5 times more performance per watt than the previous generation, which can help shorten the training time of large language models (such as GPT-4 and higher) and reduce the total cost of ownership (TCO).[8]
classification
Announce
edit
Memory generally adopts semiconductorStorage unit, includingRandom access memory(RAM),read-only memory(ROM), andCache(CACHE)。Just because RAM is the most important memory.(synchronous) SDRAM synchronous dynamic random access memory: SDRAM has 168 pins, which is the memory used by PENTIUM and above.
SDRAM locks CPU and RAM together through the same clock, so that CPU and RAM can share aClock cycle, working synchronously at the same speed, eachClock pulseThe rising edge of starts to transmit data,Speed ratioEDO memoryIncrease by 50%.
DDR (DOUBLE DATA RATE) RAM: an updated version of SDRAMClock pulseThe rising and falling edges of the SDRAM are used to transmit data, so that the speed of SDRAM can be doubled without increasing the clock frequency.[4]
ROM representationread-only memory(Read Only Memory). When a ROM is manufactured, information (data or programs) is stored and permanently saved.These information can only be read, and generally cannot be written. Even if the machine is powered off, these data will not be lost.
ROM is generally used to store basic programs and data of the computer, such as BIOS ROM.Its physical shape is generally DIPIntegrated block。[4]
Random Access Memory means that data can be read from or written to.When the machine is powered off, the data stored in it will be lost.
We usually buy or upgradeMemory moduleIt is used as the memory of the computer. The memory module (SIMM) is a small piece of RAM integrated blocksCircuit board, which is inserted into theMemory socketTo reduce the space occupied by the RAM integrated block.CommonMemory moduleThere are 4G, 8G, 16G, 32G, etc.
RAM is divided into two types: DRAM and SRAM.[4]
one
DRAM( Dynamic RAM,Dynamic random access memory)The storage unit of iscapacitanceIt is made with related components. The amount of charge stored in the capacitor represents signals 0 and 1.The capacitor has leakage, and insufficient charge will causeStorage unitData error, soDRAMPeriodic refreshes are required to maintain the state of charge.DRAM has a simple structure and high integration, and is usually used to manufacture memory chips in memory modules.[4]
two
SRAM( Static RAM,SRAM)The storage unit of istransistorAnd related componentsLatch, eachStorage unitIt has the function of locking "0" and "1" signals.It is fast and does not require a refresh operation, but has poor integration and high power consumption. It is usually used to create CPU caches with small capacity but high efficiency.[4]
Cache is also a concept we often encounter, which is what we usually seeL1 cache(L1 Cache)、L2 Cache(L2 Cache)、L3 cache(L3 Cache)These data, located between the CPU and the memory, is a faster read/write memory than the memory.When the CPU writes or reads data into the memory, the data is also stored in theCache memoryMedium.When the CPU needs these data again, the CPU willCache memoryRead data instead of accessing slower memory. Of course, if the required data is not in the Cache, the CPU will read the data in memory again.[4]
(Synchronous DynamicRAM, SyncDynamic random access memory)3.3V working voltage is adopted, and the memory data bit width is 64 bits.SDRAM and CPU pass the sameclock frequencyLock them together to make them work synchronously at the same speed.SDRAM transmits data on the rising edge of each clock pulseSDRAMThe memory golden finger is 168 feet.[4]
SDRAMThe memory includes the following types: PC66/100/133150/166,Core frequency66MHz, 100Mz133MHz, 150MHz and 166MHz respectively.clock frequency, equivalent frequency is equal to core frequencySDRAMThe maximum memory data transmission bandwidth is 166MHz × 64bit ÷ 8=1.3GB/s.[4]
Related concepts
Core frequency: is the working frequency of the storage unit inside the memory granule, that is, the refresh frequency of the capacitor.It is the basic frequency of memory operation, and other frequencies are based on it.[4]
clock frequency: Also called memory bus frequency, it is the working frequency provided by the clock chip of the motherboard to the memory.[4]
Equivalent frequency: also called equivalent data transmission frequency, it is the actual frequency of data exchange between memory and outside.Usually, the equivalent efficiency is pasted on the memory label.[4]
(Double data rate SDRAM, double rate synchronizationDynamic random access memory)The 2.5V working voltage is adopted, and the memory data bit width is 64 bits.One DDR SDRAM (DDR memory for short)Clock pulseTransfer data twice, respectively inClock pulseThe rising edge and falling edge of are transmitted once respectively, so it is called double rate SDRAM.[4]
DDRMemory golden fingers are 184 feet.DDR memory includes the following types: DDR 200/266/333/400/500.Core frequencyAndclock frequencyThe equivalent frequencies are 100 MHz, 133 MHz, 166 MHz, 200 MHz and 250 MHz respectively, and the equivalent frequencies are 200 MHz, 266 MHz, 333 MHz, 400 MHz and 500 MHz respectively. Please note that,DDRThe equivalent frequency of memory isclock frequencyBecause DDR memory works at double rate.The DDR memory core adopts 2-bit data pre reading, that is, 2-bit data is taken at a time (one pulse).[4]
The DDR memory core frequency is equal toclock frequency, the equivalent frequency isclock frequencySo that the number of memory cores retrieved at one time (one pulse) can be transmitted in a timely manner.The maximum data transmission bandwidth of a single DDR memory is 500 MHz × 64 bit 8-4 GB/s.[4]
3)DDR2 SDRAM
(Double Data Rate 2SDRAM)1.8Vworking voltage , the memory data bit width is 64 bits.DDR2 memory is the same as DDR memory. One clock pulse transmits data twice, butDDR2But it has twice the memory of the previous generationDDRThe pre read capability of memory, that is, 4-bit data pre read.[4]
DDR 2Memory golden finger is 240 feet.DDR2The memory includes the following types: DDR2 533/667/800/1066.The core frequencies are 133 MHz, 166 MHz, 200 MHz and 266 MHz respectively, the clock frequencies are 266 MHz, 333 MHz, 400 MHz and 533 MHz respectively, and the equivalent frequencies are 533 MHz, 667 MHz, 800 MHz and 1066 MHz respectively.[4]
As has been said before,DDR2The memory core adopts 4-bit data pre reading, that is, four bits are taken at a time (one pulse). If it is the same as the previous generation of DDR memory,clock frequencyIf it is equal to the core frequency and the equivalent frequency is twice the clock frequency, it is impossible to output the extracted data in time;So DDR 2 memoryclock frequencyIt is twice the core frequency, so that the number taken from the memory core in the same time interval can be transmitted in the same time interval.[4]
Single rootDDR2The data transmission bandwidth of the memory is up to 1066 MH2z X 64 bit 8 - 8.6 GB/s.[4]
(Double Data Rate 3SDRAM)Use 1.5 Vworking voltage , the memory data bit width is 64 bits.Similarly, DDR3 memory has twice the pre read capacity of the previous generation DDR2 memory, that is, 8-bit data pre read.[4]
For DDR 3 memory, the following relationship can be obtained:clock frequencyIs 4 times the core frequency, and the equivalent frequency is 2 times the clock frequency, that isDDR3 memoryThe equivalent frequency is 8 times the core frequency.[4]
DDR 3 memory includes the following types: DDR3 1066/1333/1600/1800/2000.The core frequencies are 133 MHz, 166 MHz, 200 MHz, 225 MHz and 250 MHz respectively. The clock frequencies are 533 MHz, 667 MHz, 800 MHz, 900 MHz and 1000 MHz respectively. The equivalent frequencies are 1066 MHz, 1333 MHz, 1600 MHz, 1800 MHz and 2000 MHz respectively.The maximum data transmission bandwidth of a single DDR3 memory is 2000 MHz × 64 bit ÷ 8 - 16 GB/s.[4]
(Double Data Rate 4SDRAM)1.2V working voltage is adopted, memory data bit width is 64 bits, and 16 bit data is pre read.If the dual channel mechanism is canceled, one memory is one channel.working frequency Up to 4266 MHz, singleDDR4Memorydata transmissionThe bandwidth is up to 34 GB/s.[4]
In 1984, shortly after 286 was widely accepted, people increasingly realized that the 640KB limit had become an obstacle to large programs. At this time, Intel and Lotus, two outstanding representatives of hardware and software, jointly developed a scheme combining hardware and software, which made it possible for all PCs to access more than 640KB of RAM.Microsoft just launched WindowsMemory spaceIt also has high requirements, so it joined the ranks in time.[5]
At the beginning of 1985, Lotus, Intel and Microsoft jointly defined LIM-EMS, namelyExtended Memory SpecificationEMS is usually called expanded memory.
At that time, EMS needed a memory expansion card installed in the I/O slot and a memory expansion card called EMSExpand memoryManagement proceduresCan be used.But I/O slotAddress lineOnly 24 bits(ISA bus)This is not suitable for 32-bit computers of 386 or above.
Therefore, memory expansion cards are rarely used nowadays.Nowadays, the expanded memory in microcomputer is usually realized by software such asDOSEMM386 inExtended memorySimulate or expand memory for use.Therefore, the difference between expanded memory and extended memory is not in itsPhysical storageIt depends on the method used to read and write it.Further introduction will be given below.[5]
As mentioned earlier, extended memory can also beAnalog conversionAnd become.Principle of EMS andXMSDifferent, it usesPage frameMode.A page frame is a 64KB space (usually in the reserved memory area, but its physical memory is from the extended memory) specified in a 1MB space. It is divided into 4 pages, 16KB each.EMS memory is also 16KBpaging, 4 pages of content can be exchanged each time, and all EMS memories can be accessed in this way.
There are many EMS compliant drivers, includingEMM386.EXEQEMM, TurboEMS, 386MAX, etc.Both DOS and Windows provide EMM386EXE。[5]
2) Extended memory
Extended Memory Diagram
As we know, there are 24 people in 286Address line, which can address 16MBaddress space386 has a 32-bit address line, which can address up to 4GB of address space. For the sake of distinction, we call the address space above 1MB as extended memory XMS (eXtend memory).[5]
There are two working modes of memory in computers above 386 level, one is called real address mode or real mode, and the other is called protection mode.In real mode,Physical address20 bits are still used, so the maximumAddressing space1MB for compatibility with 8086.32 bit protection modePhysical addressThe addressing range can reach 4GB.
The DOS system works in real mode, and the memory space it manages is still 1MB, so it cannot directly use the extended memory.To this end, Lotus, Intel, AST and Microsoft established the standard for the use of extended memory under MS-DOS, namely, the extended memory specification XMS.Himem.sys, which we often see in the Config.sys file, is the driver for managing extended memory.[6]
The appearance of the extended memory management specification is later than that of the extended memory management specification.
Usually usedhexadecimalIt is written as XXXX: XXXX.ActualPhysical addressBy segment addressShift LeftThe 4 bits are then added with the intra segment offset.If each address is 1, it is FFFF: FFFF.Its actualPhysical addressIt is: FFF0+FFFF=10FFEF, about 1088KB (16 bytes less), which has exceeded 1MB and entered the extended memory.The area entering the extended memory is about 64KB, the first 64KB of more than 1MB.
We call itHigh end memory areaHMA(High Memory Area)。The physical memory of HMA is obtained from the extended memory.Therefore, to use HMA, physical extended storage must exist.In addition, the establishment and use of HMA also requires an XMS driverHIMEM.SYS, so only HIMEM is loadedSYS before HMA can be used.[5]
To explain the concept of upper memory, we have to go back to the reserved memory area.The reserved memory area refers to the area of 640KB~1024KB (384KB in total).This part of the area was clearly reserved for the system at the beginning of the PC, and the user program could not access it.However, this part of the space is not fully used, so everyone wants to make a decision on the remaining part and divide itaddress space(Note: address space, not physical memory).Then another memory area UMB is obtained.[5]
UMB (Upper Memory Blocks) is calledUpper memoryOr upper memory block.It is generated by squeezing the remaining unused space in the reserved memory. Its physical memory is still taken from the physical extended memory. Its management driver is the EMS driver.[5]
For machines with 1MB or more physical memory, how to use the 640KB~1024KB physical memory.Because of this partaddress spaceIt has been allocated for system use, so it cannot be reused.
In order to use this part of physical memory, some 386 systems provide a relocation function, that isAddress relocation1024KB~1408KB.In this way, this part of physical memory becomes extended memory, which can be used of course.
However, this relocation function is no longer used in today's high-end machines, and this part of physical memory is reserved as Shadow memory.What shadow memory can occupyaddress spaceIt is the same as the corresponding ROM.Shadow is composed of RAM, which is much faster than ROM.
When the contents of ROM (various BIOS programs) are loaded into theShadow RAMYou can access BIOS from RAM without having to access ROM.This will greatly improve system performance.Therefore, when setting CMOS parameters,TheThe corresponding Shadow area is set to Enabled.[5]
summary
After the above analysis, the division of internal memory can be summarized as follows:[5]
● The reserved memory occupies 640KB~1024KB address space.Assign to DisplayBuffer memory, eachadapterROM and system ROM BIOS on theUpper memoryUMB。The physical storage of UMB is taken from the physical extended storage.This range of physical RAM can be used as Shadow RAM.[5]
●Upper memory(UMB) Use the unallocatedaddress spaceThe physical memory is obtained from the physical extended memory.UMB is managed by EMS, and its size can be controlled by EMSDriverset up.[5]
● High end memory (HMA)Extended memoryThe first 64KB area in (1024KB~1088KB).By HIMEMSYS establishment and management.[5]
● XMS memory conforms to the extended memory area managed by XMS specification.hisDriverHIMEMSYS。[5]
● EMS memory conforms to the expanded memory area managed by EMS specification.Its driver is EMM386.EXE, etc.[5]
Other types
SRAM
SRAM(Static RAM) means static random access memory.SRAM data does not need to be saved through continuous refreshing, so it is faster than DRAM(Dynamic random access memory)Much faster.However, the disadvantages of SRAM are that DRAM requires a lot of transistors and generates a lot of heat compared with its capacity.Therefore, it is difficult for SRAM to become a high-capacityMain memory, usually only used as cache in CPU and GPU, and the capacity is only tens of K to tens of M.[5]
One branch of SRAM is eSRAM (Enhanced SRAM), which is an enhanced SRAM with larger capacity and higher operating speed.[5]
RDRAM
RDRAM is the memory launched by RAMBUS.RDRAMMemory module16bit, but the SDRAM is higher than that of the same periodOperating frequency, very strong performance.[5]
However, it is a non open technology, and memory manufacturers need to pay licensing fees to RAMBUS.alsoRAMBUS memoryAnother major problem of is that empty channels are not allowed to exist. They must be used in pairs. Idle slots must be usedTerminator。Therefore, except for the short-lived Intel i820 and i850 chipsets, the PC platform does not support RAMBUS memory chipsets.
It can be said that it is an excellent technology, but not a successful commercial product.[5]
XDR RAM
XDR memoryIt is an upgraded version of RDRAM.It is still launched by RAMBUS.XDR is the abbreviation of "eXtreme Data Rate".
XDR still has the problems that RDRAM cannot be widely useddeficiencies。Therefore, the application of XDR memory is still very limited.The common ones areSonyOfPS3 game console。[5]
Fe-RAM
Ferroelectric memoryIt is a nonvolatile memory that will not lose content when power is cut offhigh-density、low power consumptionAnd radiation resistance.Because the data isironThe magnetism of the element is stored, so,Ferroelectric memoryNo need to continuerefresh data。Its running speed will be very optimistic.And it needs fewer transistors than SRAM.It is considered by the industry as the most likely alternative to SDRAM.[5]
In 1968, Stanford Ovshinsky published his first article onAmorphousThe thesis of phase transition, founded amorphous semiconductor science.A year later, he first describedPhase transition theoryMemory: In the process of material changing from amorphous state to crystalline state, and then back to amorphous state, its amorphous and crystalline state show different reflective characteristics and resistance characteristics, so we can use the amorphous and crystalline state to represent "0" and "1" respectivelyStore data。[5]
Interface type
Announce
edit
Memory interface types include DIP, SIMM andDIMMThere are three types (RDRAM adds RMM), of which the last two are what we want to focus on.[7]
DIP
DIP is the abbreviation of "Dual n-Line Package", that is, dual in-line memory chip. Its common single chip capacity is 256KB, IMB, etc.But now memory is developing so fast, where can it be hundreds of KB and several megabytes of memory?Therefore, the DIP interface has long been an obsolete memory interface.[7]
staySIMMandDIMMInterface type memory module, multipleRAMThe chip is soldered on a small circuit board and installed on the main board or memory expansion board through a special socket, so they can also be regarded as aMemory chip。[7]
SIMM
SIMMIs the abbreviation of "Single Line Memory Module", that is, single in-line memory module, which is 5x86 and earlierPCMemory commonly used inInterface mode。In earlierPCMedium (before 486), 30 needleSIMMInterface, whilePentiumThe 72 pin machine is more widely used in the class of machinesSIMMInterface, or withDIMMInterface types coexist.The 72 line memory module is slightly larger and provides 32-bit effective data bits. The common capacities are 4MB.8MB, 16MB and 32MB.[7]
DIMM
DIMMIt is the abbreviation of "Dual In Line Memory Module", that is, dual in-line memory module, that is, both sides of the memory board with this type of interface havedata interface Contact(commonly known asGoldfinger)。[7]
suchInterface modeThe memory of is widely used in today's computers. It is usually 84 pins, but because it is two-sided, there are 168 pins in total, which is commonly referred to as the 168 line memory module.The 168 line memory module is large in size and provides 64 bit effective data bits.[7]
DRAM memory is usually 72 lines,SDRAMThe memory is usually 168 lines, andEDO RAMThe memory has 72 lines and 168 lines.People often call memory by the pipeline number of memory.But it should be noted that not onlySDRAMMemory is 168 line, someSIMMType A memory also has 168 lines.SIMMThe working voltage of is 5v,DIMMIts working voltage is 3.3v.[7]
Technical indicators
Announce
edit
MemoryTechnical indicatorsGenerally includingParity, number of pins, capacity, speed, etc.The number of pins can be classified as memoryInterface type, which will not be discussed here.[7]
If odd parity is used, an additional bit is added to each byte asCheck bitWhen the number of "1" in the original data sequence is odd, the check bit is "0"; otherwise, the check bit is "1", which can ensure that the transmitted data meets the requirements of odd check.When the receiver receives the data, it will detect the number of "1" in the data according to the requirements of odd parity check. If it is odd, it means the transmission is correct, otherwise it means the transmission is wrong.[7]
Same reasonEven checkThe process of parity check is the same as that of odd check, except that the number of "1" in the detection data is even.[7]
Whether the memory module canmemory bank(Bank)Installing for a unit will determine whether the memory works properly, which is different from thedata busThe number of bits is related. The number of bits in the data bus is different for different models of computers.
Memory modules usually have 64MB, 128MB, 256MB and other capacity levels.From this level, we can see that the memory module capacity has doubled. That is, if the memory module capacity is 512MB, it means that it will be 1024MB in the next step.[7]
At present, 8GB and 16GB memory have become mainstream configurations.SDRAMThe memory module has two designs, one side and two sides. Each side uses 8 or 9 SDRAM chips (the extra one is ECC test).[7]
Access time
Access timeIt is another important indicator of memory. Its unit isnanosecond(ns). Common SDRAM includes 6ns, 7ns, 8ns, 10ns, and so onSuperscript6, - 7, - 8, - 10, etc.
The smaller the value,Access speedThe faster, the higher the price.When selecting memory, try to selectCPUOfClock cycleThis will help maximize the efficiency of memory modules.[7]
Slow memory and fast motherboard will affect CPU speed, and may causeSystem crash;The memory is fast while the motherboard is slow, which can only be caused by overqualified studentsResource waste。
When the memory access time is 10ns, itsclock frequencyUp to 100MHz, which means 100MHzfsb Motherboard use;When the access time is 7ns, the clock frequency can reach 142MHz at most, and the external frequency of the motherboard can reach above 133MHz.
However, many memory modules printed with "- 8", "- 7" or even "- 6" on the market do not meet their nominal targets.[7]
CL delay
Memory
CL reaction time is another indicator of memory balance.CL isCAS LatencyAbbreviation of, which refers to thedelay time In short, it is the memory that receives instructions from the CPUreaction rate 。
GeneralParameter valueThere are 2 and 3.The smaller the number, the shorter the reaction time.In the early PC133 memory standard, this value was specified as 3, while in the new Intel specification, CL'sreaction timeMust be 2.
To a certain extent, for the assembly of chips and PCBs of memory manufacturerstechnological requirementsRelatively high, but also to ensure a better quality.Therefore, this is a factor that cannot be ignored when purchasing brand memory.[7]
There is another interpretation:Memory latencyBasically, it can be interpreted as the time for the system to wait for a memory response before entering the data access order state.
To make a vivid analogy, it is like the process of eating in a restaurant.You need to order first, and then wait for the waiter to serve you.
In the same way, the shorter the memory delay time is set, the faster the computer can read data from the memory, and the higher the other performance of the computer.
This rule applies to bothIntelas well asamd processors In the system.Since there is no lower latency than 2-2-2-5, international memoryStandards OrganizationThink that with the currentDynamic memoryTechnology is not yet able to implement 0 or 1 latency.[7]
Usually, we use four connectedArabic numeralsTo indicate a memory delay, such as 2-2-2-5.Among them, the first number is the most important. It represents CAS Latency, that is, the delay time required for memory access to data.
The second number represents RAS-CAS delay, and the next two numbers represent RAS respectivelyPre charge timeAnd Act to Recharge delay.The fourth number is generally the largest among them.[7]
Main frequency of memoryYesMHz(Megahertz)It is measured in units.Main frequency of memoryThe higher the memory is, to some extent, the faster it can reach.The main frequency of the memory determines the maximum frequency at which the memory can work normally.
The vibration of the crystal is shown in the form of sinusoidal harmonic changing current, which isclock signal。The memory itself does not have a crystal oscillator, so the clock signal when the memory is working is determined byMainboard chipsetOfNorth BridgeOr directly from the motherboardClock generatorThat is, the memory cannot determine its own operating frequency, but its actual operating frequency is determined by the motherboard.[7]
DDR memoryandDDR2The frequency of memory can be expressed in two ways: operating frequency and equivalent frequency. The operating frequency isMemory granuleThe actual operating frequency, but because the DDR memory canFalling edgeBoth transmit data, so the equivalent frequency of the transmitted data is twice the working frequency;Each clock of DDR2 memory can read/write data at a speed four times the working frequency, so the equivalent frequency of data transmission is four times the working frequency.
For example, the working frequencies of DDR 200/266/333/400 are 100/133/166/200MHz respectively, while the equivalent frequencies are 200/266/333/400MHz respectively;DDR2The operating frequencies of 400/533/667/800 are 100/133/166/200MHz respectively, while the equivalent frequencies are 400/533/667/800MHz respectively.[7]
bandwidth
Functionally, we can think of memory asMemory controller(generally located atNorth BridgeChip) and CPU or warehouse.Obviously, the memory capacity determines the size of the "warehouse", while the memory bandwidth determines the width of the "bridge". Both are indispensable. This is what we often call "memory capacity" and“Memory speed”。
In addition to memory capacity and memory speed, the delay period is also the key to determine its performance.When the CPU needs the data in memory, it will issue aMemory controllerThe memory controller then sends the request to the memory andreceive data Report to the CPU the time required for the entire cycle (from the CPU to the memory controller, and then back to the CPU).[7]
There is no doubt that shortening the entire cycle is also the key to improving the memory speed, which is just like the police working on the bridge. Its command and unblocking ability is also one of the factors determining the degree of smoothness.
Faster memory technology contributes significantly to overall performance, but improvesMemory bandwidthIt is only part of the solution, and the data isCPUAnd inter memory transfer usually takes more time than the processorperforming functionIt takes longer, so buffers are widely used.
In fact, the so-calledBufferIt is in the CPUL1 cacheAndL2 CacheThey are the "bridge" between the memory and the CPU.
In fact, L1 cache and L2 cache useSRAM, we can also broadly understand it as“Memory bandwidth”, but now it seems more interpreted as“Front end bus”, so we just mention it briefly.
Give us a preview“Front end bus”And“Memory bandwidth”There is a close connection between them, and we will have a deeper understanding in the later tests.[7]
Bandwidth Importance
Basically, when the CPU receives instructions, it will first look for relevant data from the L1 Cache in the CPU. Although the L1 Cache runs at the same frequency as the CPU, it cannot hit every time because of its small capacity.
At this time, the CPU will continue to the next levelL2 Cache(L2Cache)In the same way, when the required data is not available in the L2 cache, it will continue to move to L3Cache (if any, such as K6-2+and K6-3), memory and hard disk.[7]
At present, the system processes a huge amount of data, so almost every step of operation has to go through memory, which is also the most frequently working component in the whole system.
In this way, the performance of the memory determines the performance of the system to a certain extentMultimedia DesignIt is more obvious in software and 3D games.3D graphics cardMemory bandwidth(perhaps calledVideo memoryIt is also self-evident that bandwidth is more appropriate, and its effect is even more obvious than the memory bandwidth of the system.
As you know,Display cardIn progressPixel Shader FromVideo memoryRead and write data in different buffers of.Some of these buffers have placement description pixels ARGB(Alpha channel, red, green, blue), and some pixelsZ value(Data used to describe the depth or visibility of pixels).
Obviously, once the Z-axis data is generated, the burden of video memory will rise abruptlyTexture mapping, depth complexity rendering3D special effects。[7]
Increase memory bandwidth
The calculation method of memory bandwidth is not complicated. You can follow the followingCalculation formula: bandwidth=bus width × bus frequency × oneClock cycleInternally interchangeabledata packetnumber.
Obviously, in thesemultiplierEach of the factors will have a great impact on the final memory bandwidth.However, there is not much to write about the frequency nowadays. After all, it is limited by the manufacturing process and cannot be multiplied in a short time.
The bus width and the number of data packets are quite different. A simple change willMemory bandwidthmake a spurt of progress.DDR technology makes us feel the benefits of increasing the number of data packets. It makesMemory bandwidthCrazily doubled.
Of course, the method to increase the number of data packets is not only limited to writing on the memory, but also can work through multiple memory controllers in parallel, which is now the popular dual channel DDRChipset(e.g. nForce2, I875/865, etc.).[7]
in fact,Dual channelDDRMemory controllerIt is not a new invention, because as early as the RAMBUS era,RDRAMSimilar technologies have been used, but at that time, the bus width of RDRAM was only 16Bit, which could not be compared with the 64Bit of DDR.
Memorytechnological development At this stage, the emergence of the four channel memory controller is onlyTime issues,VIAOfQBMTechnology and SiS chipset supporting four channel RDRAM are the future development directions.
As for video cardsVideo memory bandwidthMore sensitive, which is even an important aspect used by many manufacturers to distinguish between high and low end products.Also useDDR video memory128Bit wide products will be far better than 64Bit wide products.
Of course, improveMemory frequencyIt is also a solution, but its effect is not obvious, and it will greatly increase the cost.It is worth noting that some high-end graphics cards have even usedDDRIITechnology, but at least for now, this technology is too early.[7]
Identify memory bandwidth
For memory, it is quite simple to identify memory bandwidth, becauseSDRAM、DDRRDRAM and RDRAM are very different in appearanceSecondary drawingCan be clearly recognized.
The only thing we need to identify is DDR memory with different frequencies.At present, the mainstream DDR memory is divided intoDDR266、DDR333as well asDDR400, of which the last three digits represent the operating frequency.[7]
adoptMemory moduleThe logo on the can be easily identified.Relatively speaking, it is difficult to identify the video memory bandwidth on the video card.Here, we should focus on "video memory"Bit width”And“Memory frequency”Two important technical indicators.
The calculation method of video memory bit width is: single blockPhanerophoreBit width × total number of video memory particles, and video memory frequency is determined by "1000/nanosecond number of video memory particles".
Generally speaking, we can see its nanosecond number from the last two digits of a serial number on the video memory particles, from which we can also know its video memory frequency.
As for the grain bit width of a single video memory, we can only check it online.HY、SamsungEtronTech, EtronTech, etc. all provide a dedicated video storage number query website, which is quite convenient.asSamsungThe video memory of can be downloaded to the following address, as long as the corresponding video memory particle number is input.
In addition, RivaTuner can also detect the total amount of video memory on the video cardBit widthYou can see it in the MAIN menu by opening RivaTuner.[7]
Purchasing method
Announce
edit
The workmanship should be excellent
For memory selection, the most important thing is stability and performance, and the level of memory workmanship will directly affect the performance, stability and overclocking.
Memory granuleThe quality of memory directly affects the performance of memory, which can be said to be the most important core component of memory.So when you buy, try to choose the memory particles produced by large factories.
Common memory granule manufacturers includeSamsung, ModernMagnesia, South Asia, silicocene, etc. All of them have gone through complete production processes, so their quality is more guaranteed.And those who use these top memory granulesMemory moduleThe quality and performance must be much higher than those of other low-quality memory granules.[7]
At present, the number of layers of mainstream memory PCB circuit boards is generally 6, and such circuit boards have goodElectrical performance, can effectively shield signal interference.More excellent high specification memories are often equipped with 8-layer PCB circuit boards to achieve better performance.[7]
SPD Hidden Information
SPDInformation can be said to be very important, which can directly reflect the performance and system of memory.It stores the indicator information that the memory can work stably, as well as the product production, manufacturer and other information.
However, since each manufacturer can modify the SPD at will, many miscellaneous memory manufacturers will modify the SPD parameters or directly COPYFamous brand productsSPD, but once the computer software detection will reveal its true colors.[7]
Therefore, after you buy the memory, you can use the commonEverest, CPU-Z and other software.However, it should be noted that the SPD parameters are very important for large brands of memory, but the SPD information is not worth fully believing for low-quality memory.[7]
Counterfeit repaired products
At present, some memory grains of different brands and models are often used. You can see the difference at a glance.At the same time, some pervasive JS will also use the falsification method of polishing memory particles, and then print new numbering parameters.However, after careful observation, it will be found that the polished chip is relatively dullFuzzingAnd the words on the overprint are vague and unclear.These are generally counterfeit memory products, which should be noted.[7]
In addition, we should also observe whether the PCB is clean, whether there are burrs, etc,GoldfingerWhether there are obvious traces left by plugging and unplugging. If there are, it is likely that the memory products are repaired (of course, it is not ruled out that some manufacturers have been tested before leaving the factory, but there are a few).
It should be reminded that no matter how cheap the repaired and counterfeit memory is, it is not worth buying because of its serious security risks.[7]
Troubleshooting
Announce
edit
1. No display after startup
becauseMemory moduleCause This type of failure is usually caused by the memory module and the motherboardMemory socketpoor contactCause, just useeraserRub it back and forthGoldfingerThe problem can be solved at the location (do not use alcohol to clean). In addition, memory damage or a problem with the motherboard memory slot can also cause such failures.[1]
Memory[1]
becauseMemory moduleThere is no display fault when starting the machinespeakerIt usually beeps for a long time (for Award Bios)
2、windowsThe system is unstable and often produces illegal errors
This kind of failure is generally caused byMemory chipIt is caused by poor quality or software, if it is determined that it isMemory moduleThe reason is that there is only one way to change.[1]
3、windowsregistryFrequently damaged without reason, prompting the user to recover
Such failures are generally caused byMemory moduleIt is caused by poor quality and is difficult to repair, so it can only be replaced.[1]
This kind of fault is generally caused by the main board andMemory moduleIncompatibility or poor quality of memory modules. Usually, PC133 memory is used on some motherboards that do not support PC133 memory modules. You can tryCMOSReduce the memory reading speed within the setting to see whether the problem can be solved. If not, the only way is to replace the memory module.[1]
This kind of fault is generally due to the use of several different chipsMemory module, because the speed of each memory module is different, there is a time differencecrashThis can be solved by reducing the memory speed in the CMOS settings. Otherwise, only the memory of the same model can be used.Another possibility isMemory moduleIncompatibility with the motherboard, which is generally rare. In addition, the computer randomness may be caused by poor contact between the memory module and the motherboardcrashThis kind of phenomenon is quite common.[1]
6. After increasing the memorysystem resourceInstead, it decreases
This phenomenon is generally caused by the incompatibility between the motherboard and the memory, which is common in PC133Memory moduleIt is used on some motherboards that do not support PC133 memory modules, even ifSystem reassemblyIt can't solve the problem.[1]
7. When Windows starts, the system prompts that there is a problem with some addresses when loading the high-end memory file himem.sys
This problem is usually caused byMemory moduleSome chips of,resolventSee the memory maintenance method below.[1]
This phenomenon is generally due toSystem diskThe surplus space is insufficient, so you can delete some useless files and leave more space, which is generally about 300M.[1]
9. When you boot from the hard disk to install Windows and check the disk space, the system prompts that the memory is insufficient
This kind of fault is generally caused by the userconfig.sysThe emm386.exe file is added to the file. You can solve the problem by masking it.[1]
This kind of failure is generally caused by the damage of the memory module, which can be solved by the memory maintenance method. If not, the only way is to replace the memory module.[1]
11. The system automatically restarts several times when starting Windows
Such failures are generally caused byMemory moduleOr there is a problem with the power quality. Of course, the system restart may also be caused by poor CPU cooling or other man-made faults. This is only usefulExclusion methodStep by step exclusion.[1]
12. Memory maintenance method
After the above faults occur, if the memory is damaged or the chip quality is poor, it can be used if conditions do not permitSoldering ironRemove the chips on one side of the memory to see whether the problem can be solved. If not, replace and remove the chips on the other side until it is successful (so that the welder is afraid of the person who needs to repair the phone).
Of course, conditionalOscilloscopeTesting will get twice the result with half the effort.) After using this method, only half of the memory is available because one chip of the memory has been removed. For example, there is still 32M available for 64M memory. Therefore, there is no need to repair small memory.[1]
Common misunderstandings
Announce
edit
Internal and external memory
This situation mainly occurs in the descriptionMobile DevicesThe internal integrated data storage space of.For example, a mobile phone has 512G datastorage space Many people describe it as "512G memory". In fact, this statement is wrong, because the so-called "512G memory" is aExternal memory。"Internal external memory" cannot be called "memory" for short, because memory is a specific concept, which is called "internal memory" for short.[1]
Memory card capacity
Memory cardThe capacity of should not be called "memory" for short, because it is also external memory.[1]