An address that is used by the operating system and the applications running on it to access memory. A virtual address is a logical address that is mapped to a physical address in the computer's memory.
Allows multiple applications to share the same physical memory
Ensures each application can only access its own virtual address space, preventing one application from accessing the memory of another
Allows applications to use more memory than is physically available by swapping out data from memory to disk when it's not needed and swapping it back in when it is needed again
Acts as a temporary storage area that the computer's processor can retrieve data from easily
Designed to store data and programs that are frequently accessed by the central processing unit (CPU), enabling data and programs to be delivered to the computer more quickly than via standard RAM
Despite being faster than RAM, memory cache is slower than a CPU cache, primarily because it is not in close proximity to the processor
1. CPU checks if the information it needs is stored in the cache
2. If it is, the cache returns the data to the CPU
3. If the information is not in the cache, the CPU retrieves it from the main memory
4. Disk cache memory operates similarly, but the cache is used to hold data that have recently been written on, or retrieved from, a magnetic disk or other external storage device
There is now a significant gap in performance between CPUs and RAM: this gap has gotten so large that a single memory access can take hundreds of CPU cycles to occur
Increasing cache size will make a cache more accurate, but there's a tradeoff - when you increase the size of your cache, you also slow it down. Doubling the size of the cache results in a 1.41x increase in latency
Cache memory that is not built into a CPU chip, designed to provide high speed data storage and processing services to the computer processor, its primary/native cache and the main memory
Very fast, matter of few cycles to fetch data, uses bigger transistors and is small in size, most x86 CPUs have 64kB, usually separate for instructions (L1I) and data (L1D)
Slower than L1 but much bigger, x86 usually in range of 512kB, accessed after L1 cache, serves the CPU with less frequently used data in comparison to L1 but still more frequently used than DRAM data
Used some time ago by Intel, shared between CPU and GPU, 64 - 128MB in size, not used any more in consumer but available on workstations. Some mobile chips use DDR as L3 cache and share it between CPU and GPU
A computer's short term memory. A small amount of data can be stored here to be accessed quickly when the processor needs it. Unlike internal SSD or HDD, RAM only stores data temporarily and resets when the computer is rebooted.
RAM is essential in any computer. Without it, everything would run much slower since the processor would have to constantly access slower storage devices.