Data Sheet
3 FUNCTIONAL DESCRIPTION
3. Functional Description
This chapter describes the functions implemented in ESP32.
3.1 CPU and Memory
3.1.1 CPU
ESP32 contains two low-power Xtensa
®
32-bit LX6 microprocessors with the following features.
• 7-stage pipeline to support the clock frequency of up to 240 MHz
• 16/24-bit Instruction Set provides high code-density
• Support Floating Point Unit
• Support DSP instructions, such as 32-bit Multiplier, 32-bit Divider, and 40-bit MAC
• Support 32 interrupt vectors from about 70 interrupt sources
The dual CPUs interface through:
• Xtensa RAM/ROM Interface for instruction and data
• Xtensa Local Memory Interface for fast peripheral register access
• Interrupt with external and internal sources
• JTAG interface for debugging
3.1.2 Internal Memory
ESP32’s internal memory includes:
• 448 KBytes ROM for booting and core functions
• 520 KBytes on-chip SRAM for data and instruction
• 8 KBytes SRAM in RTC, which is called RTC SLOW Memory and can be used for co-processor accessing
during the Deep-sleep mode
• 8 KBytes SRAM in RTC, which is called RTC FAST Memory and can be used for data storage and main CPU
during RTC Boot from the Deep-sleep mode
• 1 Kbit of EFUSE, of which 256 bits are used for the system (MAC address and chip configuration) and the
remaining 768 bits are reserved for customer applications, including Flash-Encryption and Chip-ID
3.1.3 External Flash and SRAM
ESP32 supports 4 x 16 MBytes of external QSPI Flash and SRAM with hardware encryption based on AES to
protect developer’s programs and data.
ESP32 accesses external QSPI Flash and SRAM by the high-speed caches�
• Up to 16 MBytes of external Flash are memory mapped into the CPU code space, supporting 8-bit, 16-bit
and 32-bit access. Code execution is supported.
Espressif Systems 10 http://www.espressif.com