Computer Memory
Computer Memory
Memory
Presented by,
Soma Chatterjee
Computer memory
• In computing, memory is a device or system that is used to store information for immediate use in
a computer or related computer hardware. The term memory is often synonymous with the term primary
storage or main memory. An archaic synonym for memory is store.
• Computer memory operates at a high speed compared to storage that is slower but offers higher capacities. If
needed, contents of the computer memory can be transferred to storage.
• The computer memory holds the data and instructions needed to process data and produce output. The
computer memory is divided into large number of small parts known as cells. Each cell has a unique address
which varies from 0 to memory size minus one.
• Logically they are organized as groups of bits called words that are assigned an address.
• Data and instructions are accessed through these memory address.
• The speed with which these memory addresses can be accessed determines the cost of the memory.
• Faster the memory speed, higher the price.
Computer memory
• Computer memory is of two types: Volatile (RAM) and Non-volatile (ROM). The secondary memory (hard disk) is
referred as storage not memory.
• But, if we categorize memory on behalf of space or location, it is of four types:
• Register memory
• Cache memory
• Primary memory
• Secondary memory
Comparison
Computer memory can be said to be organized in a hierarchical way where memory with the fastest access speeds and
highest costs lies at the top whereas those with lowest speeds and hence lowest costs lie at the bottom.
Computer systems generally consist of three main parts:
• The central processing unit (CPU) that processes data,
• The memory that holds the programs and data to be processed, and
• I/O (input/output) devices as peripherals that communicate with the outside world.
Note:
BUS: In computer architecture, a bus ( historically also called data highway) is a communication system that transfers data
and address between components inside a computer, or between computers.
Register Memory
• Register memory is the smallest and fastest memory in a computer. It is not a part of the main memory and
is located in the CPU in the form of registers, which are the smallest data holding elements.
• A register temporarily holds frequently used data, instructions, and memory address that are to be used by
CPU.
• They hold instructions that are currently processed by the CPU.
• All data is required to pass through registers before it can be processed. So, they are used by CPU to process
the data entered by the users.
• Registers hold a small amount of data around 32 bits to 64 bits.
• The speed of a CPU depends on the number and size (no. of bits) of registers that are built into the CPU.
• Registers can be of different types based on their uses. Some of the widely used Registers include
Accumulator or AC, Data Register or DR, the Address Register or AR, Program Counter (PC), I/O Address
Register, and more.
Types and Functions of Computer Registers:
• Data Register: It is a 16-bit register, which is used to store operands (variables) to be operated by the processor. It
temporarily stores data, which is being transmitted to or received from a peripheral device.
• Program Counter (PC): It holds the address of the memory location of the next instruction, which is to be fetched
after the current instruction is completed. So, it is used to maintain the path of execution of the different programs
and thus executes the programs one by one, when the previous instruction gets completed.
• Instructor Register: It is a 16-bit register. It stores the instruction which is fetched from the main memory. So, it is
used to hold instruction codes, which are to be executed. The Control Unit takes instruction from Instructor
Register, then decodes and executes it.
• Accumulator Register: It is a 16-bit register, which is used to store the results produced by the system. For
example, the results generated by CPU after the processing are stored in the AC register.
• Address Register: It is a 12-bit register that stores the address of a memory location where instructions or data is
stored in the memory.
• I/O Address Register: Its job is to specify the address of a particular I/O device.
• I/O Buffer Register: Its job is to exchange the data between an I/O module and the CPU.
Note:
• BUS: In computer architecture, a bus ( historically also called data highway) is a communication system that transfers data between components
inside a computer, or between computers.
Cache Memory
• Cache memory is a high-speed memory, which is small in size but faster than the main memory (RAM). The CPU can
access it more quickly than the primary memory. So, it is used to synchronize with high-speed CPU and to improve its
performance.
• Cache memory can only be accessed by CPU. It can be a reserved part of the main memory or a storage device outside
the CPU. It holds the data and programs which are frequently used by the CPU. So, it makes sure that the data is instantly
available for CPU whenever the CPU needs this data. In other words, if the CPU finds the required data or instructions in
the cache memory, it doesn't need to access the primary memory (RAM). Thus, by acting as a buffer between RAM and
CPU, it speeds up the system performance.
Types of Cache Memory:
• L1: It is the first level of cache memory, which is called Level 1 cache or L1 cache. In this type of cache
memory, a small amount of memory is present inside the CPU itself. If a CPU has four cores (quad core cpu),
then each core will have its own level 1 cache. As this memory is present in the CPU, it can work at the same
speed as of the CPU. The size of this memory ranges from 2KB to 64 KB. The L1 cache further has two types
of caches: Instruction cache, which stores instructions required by the CPU, and the data cache that stores
the data required by the CPU.
Types of Cache Memory:
• L2: This cache is known as Level 2 cache or L2 cache. This level 2 cache may be inside the CPU or outside the
CPU. All the cores of a CPU can have their own separate level 2 cache, or they can share one L2 cache among
themselves. In case it is outside the CPU, it is connected with the CPU with a very high-speed bus. The
memory size of this cache is in the range of 256 KB to the 512 KB. In terms of speed, they are slower than
the L1 cache.
Types of Cache Memory:
• L3: It is known as Level 3 cache or L3 cache. This cache is not present in all the processors; some high-end
processors may have this type of cache. This cache is used to enhance the performance of Level 1 and Level
2 cache. It is located outside the CPU and is shared by all the cores of a CPU. Its memory size ranges from 1
MB to 8 MB. Although it is slower than L1 and L2 cache, it is faster than Random Access Memory (RAM).
How does cache memory work with CPU?
• When CPU needs the data, first of all, it looks inside the L1 cache. If it does not find anything in L1, it looks
inside the L2 cache. If again, it does not find the data in L2 cache, it looks into the L3 cache. If data is found
in the cache memory, then it is known as a cache hit. On the contrary, if data is not found inside the cache, it
is called a cache miss.
• If data is not available in any of the cache memories, it looks inside the Random Access Memory (RAM). If
RAM also does not have the data, then it will get that data from the Hard Disk Drive.
• So, when a computer is started for the first time, or an application is opened for the first time, data is not
available in cache memory or in RAM. In this case, the CPU gets the data directly from the hard disk drive.
Thereafter, when you start your computer or open an application, CPU can get that data from cache memory
or RAM.
Thank You