> In x86 CPUs, during the startup process, the CPU indeed begins in 16-bit "real" mode. In this mode, the processor operates using 16-bit registers and can execute instructions that are compatible with the 16-bit x86 instruction set.
However, the x86 CPUs also have a feature called "real mode addressing," which allows them to address memory beyond the 16-bit limit. In real mode, the CPU uses a segmented memory model, where a 20-bit address is formed by combining a 16-bit segment address and a 16-bit offset. This allows access to a maximum of 1 MB of memory (2^20 bytes).