MEHULENTERPRISE

Driven by knowledge, powered by nature.

Home

Products

Services

Profile

Contact

Guide
Memory Module
RAM stands for ‘Random Access Memory’, the computer’s main memory. No memory, no computing power. Just like the human brain, which helps to determine what to do and when, computers need blocks of space which it can address from time to time to help in processing arithmetical and logical operations. The bus interface unit retrieves data and instructions from the RAM. Information goes either to a code cache, which stores the instructions that tell the processor what to do or to a data cache, where the data to be processed are stored until needed by other parts of the microprocessor. The branch predictor unit anticipates the most likely path the instructions will take, thus getting a head start on the work. The instruction fetch and decode unit translate instructions into simple operations that the execution units can perform. The reservation station and reorder buffer determine the most efficient order for instructions to be processed. The heart of the chip is its execution unit. They perform various operations and send results back to the data cache. The floating-point unit handles mathematical operations on the largest and smallest numbers. The data cache ferries the processed information to the bus interface unit, which in turn sends the results to the RAM. The moment a program is launched, the microprocessor of the computer loads the program file from the hard disk into RAM. The moment data is freed and the memory modules are ready to receive fresh instructions from the processor. The computer tends to slow down when there are too many applications or windows running simultaneously. The moment certain programs or windows are closed; memory is freed allowing the system to function a bit faster. Each byte of data is stored in RAM at a specific address, where the processor can locate it when it is needed. The processor writes information into RAM using a unique process called co-operative multitasking, which allows support for different programs running at the same time, allocating individual space in memory. When an application is launched, it communicates with the operating system to set aside a block of space in RAM for that application’s needs. Within the space allocated to an application are two areas called ‘Stack’ and ‘Heap’. The stack and the heap contain tools, application resources, as well as permanent and temporary file information. The stack and the heap are constantly expanding and contracting, maintaining a balance between the data that a file contains, and the applications tools that can be used to modify it. A memory bus can be likened to a set of wires that is used to carry memory addresses and data to and from the system RAM, and in most computers, is also shared with the processor bus, connecting the system memory to the processor and the system chipset. The memory bus is made up of two parts, ‘Data Bus’ which carries actual memory data within the computer and ‘Address Bus’ which is used to select the memory address that the data will come from or go to based on a read/write operation. More information can be transmitted simultaneously if the data part of the bus is wider. The bandwidth of the data bus is a pointer to how much information can flow through it, and is a function of the bus width in bits and its speed in MHz. More bandwidth means batter performance, but this is possible only if the rest of the system can make use of the increased bandwidth. The memory controller, normally integrated into the chipset, generates the typical signals that govern the reading and writing of information to and from the memory, interfacing the memory with the other major parts of the system. A single module of RAM resembling a compartment with various sections or cells lined row-wise. When the processor gets instructions to execute, the instruction may contain the address of some memory, one particular section in the compartment from which data is to be read. This address is sent to the RAM controller, which then organises the request and sends it down the appropriate address lines to the processor's buffer known as ‘Level One’ which is in-built and ‘Level Two’ cache. A Larger memory module holds more cells and more rows, and thus performs faster, as it does not have to undergo constant swapping till all its cells are completely utilised. If many applications are executed simultaneously, the memory requirement can really add up, even 512 MB to 1 GB but the application can even be run on computers with only 32 MB. This is possible due to virtual memory managers that swap or temporarily relocate sections of the RAM, that are not addressed too frequently, onto the hard disk, so that newer requests are handled by the now freed section of RAM. The lesser the system RAM, the more swapping, and this brings down the performance of the system considerably, as reading swapped data from sectors on the hard disk is much slower than accessing it directly from RAM.