The 80186 was an Intel microprocessor
(released in 1982) which followed the 8086
and was closely followed by the 80286
. Like the 8086
, it had a 20-bit address bus
(thus supporting up to 1MB
of memory) and a 16-bit data bus
. Internally, it contained the same 16-bit register
set as the 8086.
The 80186 differed from the 8086 primarily in speed. Additionally, it had additional instructions, mainly intended to assist high-level programming languages (ENTER and LEAVE for stack-based procedure calls; PUSHA and POPA for saving and restoring registers; BOUND for bounds checking of array indices; IMUL for signed integer multiplication; and INS and OUTS for outputting strings to I/O ports). It also added new addressing modes for existing instructions. It did not have protected mode: that was introduced to IA-16 in the 80286.
Most importantly for its intended market (viz., embedded systems), the 186 put a great deal of additional logic on-chip. In particular, it added an interrupt controller, timers, and two DMA channels. Thus a single VLSI chip could replace many separate packages, cutting down on production costs and power usage for embedded systems.
There was also an 80188, which had an 8-bit external data bus. It was thus slower, but cheaper to manufacture and use.