The 8086 microprocessor has three main units - the Bus Interface Unit (BIU), Execution Unit (EU), and an instruction queue. The BIU fetches instructions and data from memory and I/O devices. The EU decodes and executes instructions using the ALU and flag registers. It also contains general purpose registers like AX, BX, CX and DX. The instruction queue buffers pre-fetched opcodes to improve performance by reducing fetch latency.