dual pipelines
separate code and data caches
superscalar architecture
branch prediction
support for virtual memory
support for symmetric multiprocessing (in some models)
MMX technology (in some models)
dynamic execution (in some models)
pipelined FPU
support for 32-bit address bus
support for 64-bit data bus
support for protected mode
support for real mode