Monday, August 31, 2009

Intel 80188 microprocessor and Intel 80186 microprocessor


The Intel 80188 is a version of the Intel 80186 microprocessor with an 8 bit external data bus, instead of 16 bit. This makes it less expensive to connect to peripherals. Since the 80188 is very similar to the 80186, it had a throughput of 1 million instructions per second.
As the 8086, the 80188 featured four 16-bit general registers, which could also be accessed as eight 8-bit registers. It also included six more 16-bit registers, which included, for example, the stack pointer, the instruction pointer, index registers, or a status word register that acted like a flag, for example, in comparison operations.
Just like the 8086, the processor also included four 16-bit segment registers that enabled the addressing of more than 64 KB of memory, which is the limit of a 16-bit architecture, by introducing an offset value that was added, after being shifted left 4 bits, to the value of another register. This addressing system provided a total of 1 MB of addressable memory, a value that, at the time, was considered to be very far away from the total memory a computer would ever need.
The Intel 80186 is a microprocessor and microcontroller introduced in 1982. It was based on the Intel 8086 and, like it, had a 16-bit external data bus multiplexed with a 20-bit address bus. It was also available as the Intel 80188, with an 8-bit external data bus.
The 80186 and 80188 series was generally intended for embedded systems, as microcontrollers with external memory. Therefore, to reduce the number of chips required, it included features such as clock generator, interrupt controller, timers, wait state generator, DMA channels, and external chip select lines.
The initial clock rate of the 80186 and 80188 was 6 MHz, but due to more hardware available for the microcode to use, especially for address calculation, many individual instructions ran faster than on an 8086 at the same clock frequency. For instance, the common register+immediate1 addressing mode was significantly faster than on the 8086, especially when a memory location was both (one of the) operand(s) and the destination. Multiply and divide also showed great improvement and were several times as fast as on the original 8086. Multi-bit shifts were done in a single pass through the ALU rather than one pass per bit of shift.
A few new instructions were introduced with the 80186 (referred to as the 8086-2 instruction set in some datasheets): enter/leave (replacing several instructions when handling stack frames), pusha/popa (push/pop all general registers), bound (check array index against bounds), ins/outs (input/output of string). A useful immediate mode was added for the push, imul, and multi-bit shift instructions. These instructions were included in the 80286 and successor chips.
The (redesigned) CMOS version, 80C186, introduced DRAM refresh, a power-save mode, and a direct interface to the 8087 or 80287 floating point numeric coprocessor.

No comments:

Post a Comment