Some architectures, such as Alpha, are trivial to virtualize. In recent chips, Intel and AMD have both made a lot of fuss over the support for virtualization, but x86 chips have had some form of it for a very long time.
With the 386, Intel introduced Virtual 8086 mode (also called VM86 mode). This feature was crucial for people migrating to 32-bit operating systems. It allowed a 32-bit operating system to run a virtual instance of a 16-bit system. Windows and OS/2 used this capability to run DOS programs, as did Linux with the DOSEMU program.
In VM86 mode, programs see the same 20-bit address space that they would on a real 8086, but it's implemented on top of the paging system provided by the 386 in protected mode. Interrupts that called DOS or BIOS routines were trapped by the operating system, allowing it to implement a complete fake DOS environment for running 16-bit programs.