Chapter-9-Internal-Microprocessor - Architecture
Chapter-9-Internal-Microprocessor - Architecture
The 80286 and above operate in either the real or protected mode. Only the
8086 and 8088 operate exclusively in the real mode. In the 64-bit operation
mode of the Pentium 4 and Core2, there is no real mode operation. Real
mode operation allows the microprocessor to address only the first 1M
byte of memory space—even if it is the Pentium 4 or Core2
microprocessor. Note that the first 1M byte of memory is called the real
memory, conventional memory, or DOS memory system. The DOS
operating system requires that the microprocessor operates in the real
mode. Windows does not use the real mode.
Real mode operation allows application software written for the
8086/8088, which only contains 1M byte of memory, to function in the
80286 and above without changing the software. The upward compatibility
of software is partially responsible for the continuing success of the Intel
family of microprocessors. In all cases, each of these microprocessors
begins operation in the real mode by default whenever power is applied or
the microprocessor is reset. Note that if the Pentium 4 or Core2 operate in
the 64-bit mode, it cannot execute real mode applications; hence, DOS
applications will not execute in the 64-bit mode unless a program that
emulates DOS is written for the 64-bit mode.
Electrical Eng. Dept. Microprocessor and Computer Architecture I
Second Class Asst. Lec. Farah M. Ali
Isolated I/O. The most common I/O transfer technique used in the Intel
microprocessor-based system is isolated I/O. (Figure 11–1 illustrates both
the isolated and memory-mapped address spaces for any Intel 80X86 or
Pentium–Core2 microprocessor.) The addresses for isolated I/O devices,
called ports, are separate from the memory. Because the ports are separate,
the user can expand the memory to its full size without using any of
memory space for I/O devices. A disadvantage of isolated I/O is that the
data transferred between I/O and the microprocessor must be accessed by
the IN, INS, OUT, and OUTS instructions. 𝐼𝑂𝑅𝐶 ̅̅̅̅̅̅̅ and 𝐼𝑂𝑊𝐶
̅̅̅̅̅̅̅̅ are used as
control signals. An 8-bit port address is used to access devices located on
the system board, such as the timer and keyboard interface, while a 16-bit
port is used to access serial and parallel ports as well as video and disk
drive systems.
The personal computer uses part of the I/O map for dedicated functions.
Figure 11–2 shows the I/O map for the PC. Note that I/O space between
ports 0000H and 03FFH is normally reserved for the computer system and
the ISA bus. The I/O ports located at 0400H–FFFFH are generally
available for user applications, main-board functions, and the PCI bus.
Electrical Eng. Dept. Microprocessor and Computer Architecture I
Second Class Asst. Lec. Farah M. Ali
The basic input device is a set of three-state buffers. The basic output
device is a set of data latches. The term IN refers to moving data from the
I/O device into the microprocessor and the term OUT refers to moving data
out of the microprocessor to the I/O device.
The Basic Input Interface. Three-state buffers are used to construct the
8-bit input port depicted in Figure 11–3. The external TTL [Transistor–
transistor logic is a logic family built from bipolar junction transistors. Its name signifies
that transistors perform both the logic function (the first "transistor") and the amplifying
function (the second "transistor")] data (simple toggle switches in this example)
are connected to the inputs of the buffers. The outputs of the buffers
connect to the data bus. The exact data bus connections depend on the
version of the microprocessor. For example, the 8088 has data bus
connections D7–D0, the 80386/80486 has connections D31–D0, and the
Pentium–Core2 have connections D63–D0. The circuit of Figure 11–3
allows the microprocessor to read the contents of the eight switches that
̅̅̅̅̅
connect to any 8-bit section of the data bus when the select signal 𝑆𝐸𝐿
becomes a logic 0. Thus, whenever the IN instruction executes, the
contents of the switches are copied into the AL register.
The Basic Output Interface. The basic output interface receives data from
the microprocessor and usually must hold it for some external device. Its
latches or flip-flops, like the buffers found in the input device, are often
built into the I/O device.
Figure 11–4 shows how eight simple light-emitting diodes (LEDs) connect
to the microprocessor through a set of eight data latches. The latch stores
the number output by the microprocessor from the data bus so that the
LEDs can be lit with any 8-bit binary number. Latches are needed to hold
the data because when the microprocessor executes an OUT instruction,
the data are only present on the data bus for less than 1.0 μs. Without a
latch, the viewer would never see the LEDs illuminate. When the OUT
instruction executes, the data from AL, AX, or EAX are transferred to the
latch via the data bus.
Handshaking
Many I/O devices accept or release information at a much slower rate than
the microprocessor. Another method of I/O control, called handshaking
or polling, synchronizes the I/O device with the microprocessor. An
example of a device that requires handshaking is a parallel printer that
prints a few hundred characters per second (CPS). It is obvious that the
microprocessor can send more than a few hundred CPS to the printer, so a
way to slow the microprocessor down to match speeds with the printer
must be developed.
Electrical Eng. Dept. Microprocessor and Computer Architecture I
Second Class Asst. Lec. Farah M. Ali
Figure 11–5 illustrates the typical input and output connections found on a
printer. Here, data are transferred through a series of data connections (D7–
D0). BUSY indicates that the printer is busy. STB is a clock pulse used to
send data to the printer for printing.