Chapter 1
Chapter 1
5
Bit Position
• The positions are numbered from right to left, starting with 0.
• In a word, the bits 0 to 7 form the low byte and the bits 8 to
15 form the high byte.
• For a word stored in memory, its low byte comes from the
memory byte with the lower address and its high byte is from
the memory byte with the higher address.
Bit Positions in a Byte and a Word
Buses
• A processor communicates with memory and I/O circuits by
using signals that travel along a set of wires or connections
called buses.
• There are three kinds of signals: address, data, and control.
• And there are three buses: address bus, data bus, and control
bus.
Buses:
• For example, to read the contents of a memory location, the
CPU places the address of the memory location on the
address bus, and it receives the data, sent by the memory
circuits, on the data bus.
• A control signal is required to inform the memory to perform
a read operation.
• The CPU sends the control signal on the control bus.
Bus Connections of a Microcomputer
Intel 8086 Microprocessor Organization
Intel 8086 Microprocessor
Organization
• There are two main components of :
• Execution unit
• Bus interface unit
Execution Unit ( EU ):
• The purpose of the EU is to execute instructions.
• The arithmetic and logic unit (ALU) can perform arithmetic (+,
‐, x, /) and logic (AND, OR, NOT) operations.
• The data for the operations are stored in circuits called
registers.
• The EU has 8 registers.
• The EU contains temporary registers for holding operands for
the ALU and flag registers whose individual bits reflect the
results of a computation.
Bus Interface Unit ( BIU ):
• The BIU facilitates communication between the EU and the
memory or I/O circuits.
• The BIU is responsible for transmitting addresses, data, and
control signals on the buses.
• The instruction pointer (IP) contains the address of the next
instruction to be executed by the EU.
Instruction Prefetch:
• While the EU is executing an instruction, the BIU fetches up to
six bytes of the next instruction and places them in the
instruction queue.
Machine Instruction:
• The Opcode specifies the type of operation.
• The Operands are often given as memory addresses to the
data to be operated on.
Fetch‐ Execute Cycle:
Fetch
•Fetch an instruction from memory.
•Decode the instruction to determine the operation.
•Fetch data from memory if necessary. Execute
•Perform the operation on the data.
•Store the result in memory if needed.
Programming Languages
• The operations of the computer’s hardware are controlled by
its software.
• When the computer is on, it is always in the process of
executing instructions.
Machine Language:
• The CPU can only execute machine language instructions.
• They are bit strings.
• Machine Instruction Operation
• 10100001 00000000 00000000 Fetch the contents of memory
word 0 and put it in register AX.
• 00000101 00000100 00000000 Add 4 to AX.
• 10100011 00000000 00000000 Store the contents of
• AX in memory word 0.
Assembly Language:
• A more convenient language to use is assembly language.
• In assembly language, we use symbolic names to represent
operations, registers, and memory locations.
• If location 0 is symbolized by A, the preceding program
expressed in IBM PC assembly language would look like this:
Assembly Language:
Assembly Instruction Comment