The giveaway event for the “Beginner’s Guide to Hardware Design Volume 1” continues to be a hot topic, and many friends have successfully received their copies. For those who have not yet claimed it, please go to the WeChat account: Super Engineer, click on the “View History Messages” option, then open the article titled “New Year’s Big Giveaway – Comprehensive Sharing of Hardware Design Knowledge” and follow the steps in the article to claim your copy.
Memory is widely used in modern computer systems, and it can be said that it is an essential component in embedded design, PC/servers, storage devices, and network switch systems. Previous publications have introduced the evolution of computer system architecture, and the computer system architecture section in the “Beginner’s Guide to Hardware Design Volume 1” has also provided some insights into the role and technological development of memory. Please refer to the relevant sections for detailed content.
In the computer system architecture literature, it has been mentioned that a very important part of the computer’s structure is the storage. The storage is used to store programs and data, and for computers, having storage enables memory functionality, ensuring normal operation. There are many types of storage, which can be divided into main storage and auxiliary storage based on their purposes. Main storage is also known as internal storage (referred to as memory, while in Hong Kong and Taiwan it is called memory).
Memory, also called main memory, is the storage space that the CPU can directly address, made from semiconductor devices. The characteristic of memory is its fast access speed. Memory is a major component in computers, as opposed to external storage. The programs we commonly use, such as the Windows operating system, word processing software, gaming software, etc., are generally installed on external storage like hard drives, but this alone does not allow their functionality to be used; they must be loaded into memory to truly utilize their functions. When we input a piece of text or play a game, we are actually operating in memory. It’s like in an office, where the bookshelf and cabinet storing books represent the computer’s external storage, while our desk represents memory. Typically, we store large amounts of data that need to be permanently saved on external storage, while temporary or small amounts of data and programs are placed in memory. Of course, the quality of memory directly affects the computer’s operating speed.
Memory is a temporary storage place for programs and data. For example, when we use Word to process documents, as you type on the keyboard, the characters are stored in memory, and when you choose to save, the data in memory is then saved to the hard (magnetic) disk. Before further understanding it, we should also recognize its physical concept.
Memory generally uses semiconductor storage units, including random access memory (RAM), read-only memory (ROM), and cache (CACHE). However, because RAM is the most important type of memory among them.
SDRAM (Synchronous Dynamic Random Access Memory): SDRAM has 168 pins and is used in PENTIUM and higher models.
SDRAM locks the CPU and RAM together with the same clock, allowing the CPU and RAM to share a clock cycle and work synchronously at the same speed. Every rising edge of the clock pulse starts to transfer data, and the speed increases by 50% compared to EDO memory.
DDR (Double Data Rate) RAM: This is the updated product of SDRAM, allowing data to be transmitted on both the rising and falling edges of the clock pulse, thereby doubling the speed of SDRAM without needing to increase the clock frequency. With the development of technology, memory has evolved through DDR2, DDR3, and now to DDR4.
1,Physical Memory and Address Space
When discussing memory, it is necessary to mention some concepts related to addresses and addressing. Physical memory and storage address space are two different concepts. However, due to the close relationship between the two, and both being measured in B, KB, MB, GB, it is easy to confuse them. For beginners, clarifying these two different concepts helps in further understanding memory and utilizing memory effectively.
Physical memory refers to the actual existing specific memory chips, such as the memory sticks installed on the motherboard and the ROM chips loaded with the system BIOS, as well as the RAM chips on the display card and the ROM chips loaded with the display BIOS, and various RAM and ROM chips on different adapter cards are all considered physical memory.
Storage address space refers to the range of encoding (addressing) for memory. The so-called encoding means assigning a number to each physical storage unit (one byte), usually called “addressing”. The purpose of assigning a number to a storage unit is to facilitate locating it for reading and writing data, which is referred to as “addressing” (therefore, some people also call the address space the addressing space).
The size of the address space does not necessarily equal the size of the physical memory. For example, in a building with 17 rooms numbered from 801 to 817, these 17 rooms are physical, while their address space uses three-digit encoding, ranging from 800 to 899, totaling 100 addresses, indicating that the address space is larger than the actual number of rooms.
For microcomputers above the 386 level, the address bus is 32 bits, so the address space can reach 2 to the power of 32, which is 4GB. (However, some operating systems we commonly use, such as Windows XP, can only recognize or use up to 3.25G of memory, while 64-bit operating systems can recognize and use 4G and above.)
2,Applications of Memory
In computer systems, memory has two different application forms: discrete memory sticks and integrated designs.
-
For complex computer systems such as PCs/servers/storage, due to the larger memory capacity, discrete memory sticks are generally used. This application has memory slots designed on the motherboard (as shown in the figure below). The memory bus signals connect from the memory controller to the memory slots. The memory sticks (as shown on the right) are designed and manufactured by relevant memory manufacturers, integrating multiple memory chips to form memory sticks of different capacities. The memory bus signals connect from the golden finger interface on the memory stick to different memory chips. The memory stick is inserted into the memory slot on the motherboard, thus connecting the golden finger signals on the memory stick with the pin signals of the memory slot, enabling the signal pathway from the motherboard’s memory controller chip to the memory chips on the memory stick.
-
For small embedded applications, the required memory capacity is relatively small. To save costs, it is often unnecessary to use discrete memory sticks, but instead, memory chips are directly designed onto the motherboard. Memory signals connect directly from the memory controller on the motherboard to the memory chips on the motherboard.
To be continued. To easily and quickly learn more hardware and system design knowledge, please scan or long-press the QR code below to follow the WeChat public account: Super Engineer.