Memory and Programmable Logic
ROM
Read-only memory stores information that is not normally changed during operation. Historical forms include mask ROM, PROM, EPROM, EEPROM, and flash.
RAM
Random-access memory allows data to be read and written during operation. Two major families are SRAM and DRAM.
| Memory | Storage idea | General traits |
|---|---|---|
| SRAM | Bistable transistor cell, commonly six transistors in CMOS. | Fast; no refresh; larger cell area. |
| DRAM | Charge stored on a tiny capacitor controlled by a transistor. | Very dense; requires periodic refresh. |
| EEPROM | Charge retained on insulated floating-gate structures. | Nonvolatile; electrically erasable. |
| Flash | Floating-gate or charge-trap nonvolatile memory organized for block erase/program. | High density; used in storage and firmware. |
Address and data buses
A memory IC uses address inputs to select a location and data pins to read or write the stored bits. Control signals decide whether the memory is enabled and whether a cycle is a read or write.
Programmable logic
Instead of buying a fixed logic function, designers can use programmable logic whose internal connections are configured after manufacture.
PAL and GAL
Programmable-array and generic-array logic devices replaced collections of small gate packages in many systems. They implemented custom Boolean functions in one IC.
CPLD
A complex programmable logic device combines multiple programmable logic blocks with a structured interconnection network. CPLDs are useful for glue logic, state machines, sequencing, and deterministic control.
FPGA
A field-programmable gate array contains a large matrix of configurable logic blocks, flip-flops, routing, memories, clock networks, and often arithmetic or processor resources.
An FPGA is not “running software” in the same sense as a CPU. Its configuration defines hardware logic that then operates in parallel.
Memory inside processors
Modern microcontrollers and processors integrate caches, SRAM, ROM, flash, register files, and other storage on the same die as logic.
Volatile versus nonvolatile
Volatile memory loses information when power is removed. Nonvolatile memory retains it. That distinction is independent of whether the device is read-only or writable during system operation.