#Types of Memory
#By Physical Nature
#Semiconductor (Solid State)
#Magnetic
#Optic
- CDs
vacuum (obsolete)
#By Access to Data capability
#Random
Each byte can be accessed independent no matter which byte has been accessed before. e.g. RAM.
#Sequential
Bytes must be accessed in order. Accessing bytes that are not sequential has a high penalty in recovery time.
- magnetic hard disks
- magnetic tapes
- DVDs
#By Their Retention Time
#Volatile
#Non-volatile
- Flash
- cdrom
- magnetic disks
#Memory Configurations
#Single Channel
- One RAM module connected to one memory controller channel
- Single data path between RAM and CPU
- Lower theoretical bandwidth
#Dual Channel
- 2 RAM modules connected to two memory controller channels
- 2 parallel data paths between RAM and CPU
- Double the theoretical bandwidth compared to single channel
- Both modules work together simultaneously.
#Memory Address Maps
Memory maps in microcontrollers are used to organize the different types of memory available in a microcontroller. Different address blocks are used to map different kinds of memory (i.e. volatile or non-volatile) and also peripherals.
Memory-mapped peripherals are controlled writing and reading values to specific regions of the address space.
To use memory-mapped peripherals, the programmer must know the memory map of the microcontroller. The memory map is a diagram that shows the location of each memory-mapped peripheral in the microcontroller’s memory space.
#Memory Hierarchy
Since fast memory is expensive, a memory hierarchy is organized into several levels. Each level is smaller, faster and more expensive per byte than the next lower level, which is farther from the processor. The goal is to provide a memory system with cost per byte almost as low as the cheapest level of memory and speed almost as fast as the fastest level.
#Memory Protection Schemes
Paging The most popular is adding protection restrictions to each page of virtual memory.
Fixed-sized pages, typically 4kb or 8kb long, are mapped from the virtual address space into physical address space via a page table.
Since only the operating system can update the page table, the paging mechanism provides total access protection.
- Types of memory
- By physical nature
- Solid-state (semiconductor)
- Magnetic
- Optic
- By access pattern
- Random
- Sequential
- By duration
- Volatile
- SRAM
- DRAM
- Non-volatile
- Flash
- CDRom
- Volatile
- By physical nature
- Memory configurations
- Single channel
- Dual channel
- Memory address maps
- Memory hierarchy
- Memory protection schemes
- Paging
- Page table
- Paging