Microprocessors Module 1 Summary
Microprocessors Module 1 Summary
HISTORICAL BACKGROUND
Mechanical Age.
1889: Herman Hollerith developed the punch card for storing data
Punch cards were used in early computer systems are referred to as Hollerith
Cards w/ a 12-bit code called Hollerith Code.
1946: ENIAC – The 1st general-purpose, programmable electronic computer
system with vacuum tubes was developed at the University of Pennsylvania.
1947: The development of transistor at Bell Labs by John Bardeen, William Shockley,
and Walter Brattain.
1958: The invention of integrated circuit by Jack Kilby.
Programming Advancements.
Machine Language: The 1st such language, replaced the practical rewiring of circuits
and began the programming revolution.
John Von Neuman: 1st person to develop a system that accepted instructions and
stored them in memory.
Assembly Language: This language simplified programming using mnemonic codes.
UNIVAC use this language in the early 1950s.
1957: High level programming language.
- FLOW-MATIC: Invented by Grace Hopper.
- FORTRAN (FORmula TRANsistor): developed by IBM.
COBOL: The 1st successful and widespread programming language for business
applications.
Microprocessor Age.
MOORE’S LAW – Named after the co-founder of Intel, Gordon Moore. Transistor count in
dense circuit doubles every 2 years.
TERMINOLOGY
1. BIT – A digit of the binary number or code.
2. NIBBLE – The 4-bit binary number or code.
3. BYTE – The 8-bit binary number or code.
4. WORD – The 16-bit binary number or code.
5. DOUBLE WORD – The 32-bit binary number or code.
6. Data – The quantity (binary number/code) operated by an instruction of a program.
7. Address – This is an identification number in binary for memory locations.
8. Memory Word Size – The size of binary information that can be stored inn a memory
location.
9. Bus – Is a group of conducting lines that carries data, address, and control
signals.
3 Classification of Busses
Data Bus.
Address Bus.
Control Bus.
10. CPU bus – The group of conducting lines that are directly connected to the
microprocessor.
11. System Bus- The group of conducting lines that carries data, address, and control
signals in a microcomputer system.
12. RISC Processor – Reduced Instruction Set Computer. Designed to reduce the
execution time by simplifying the instruction set of the computer.
13. CISC Processor – Complex Instruction Set Computer. Designed to minimize the
number of instructions per program, ignoring the number of cycles per instruction.
BUS CONNECTIONS
I. MWTC – Memory Write Control.
II. MRDC – Memory Read Control.
III. IOWC – I/O Write Control.
IV. IORC – I/O Read Control.
8086 MICROPROCESSOR – Has a pipelined architecture. The processor will have several
functional units and the execution time of each unit overlaps. Each functional unit works
independently most of the time.
2 Functional Units of 8086:
1. Bus Interface Unit (BIU).
- Contains the segment registers, instruction pointer, instruction queue, address
generation unit, and bus control unit.
- Contains instruction queue, which is a FIFO (First-in-First-Out) group of
registers.
- Gets up to 6 bytes of instructions and stores them in the instruction queue.
- Pipelining – fetching the next instruction while the current instruction executes.
- BIU has 4 segment buses:
1. Code Segment (CS) Register.
2. Data Segment (DS) Register.
3. Stack Segment (SS) Register.
4. Extra Segment (ES) Register.
- The 4 segment registers are used to hold 4 segment base addresses.
- The contents of the segment registers are programmable.
The Flag Register of the 8086 is 16-bit and 9 of those bits are defined as flags.
The six flags are used to indicate the status of the result of the arithmetic or logical
operations and are called the conditional flags.
1. Zero Flag – It is set to 1 if the result is zero and is cleared to zero to any non-
zero result.
2. Sign Flag – It is set to 1 if the most significant bit of the result is 1 and is
cleared to zero for a non-negative result.
3. Overflow Flag – It is set to 1 if the size of the result exceeds the capacity of
the destination location.
4. Carry Flag – It is set to 1 if there is a carry from the addition or borrow from
the subtraction.
5. Parity Flag – It is set to 1 if the result has even parity and is cleared to zero
for odd parity.
6. Auxiliary Flag – It set to 1 if there is a carry from low nibble to high nibble of
the low order 8-bit of 16-bit number.
The three flags are used to control the processor operations and are called control
flags.
1. Trace Flag – It is set to 1 to place the 8086 in the single-step mode.
2. Interrupt Flag – It is set to 1 to cause the 8086 to recognize external
maskable interrupts and cleared to zero to disable the interrupts.
3. Direction Flag – It is set to 1 for autodecrement and is cleared to zero for
autoincrement of SI and DI registers during string data accessing.
8086 MICROPROCESSOR ADDRESSING MODES (LESSON 3)
INTRODUCTION
The job of the microprocessor is to execute a set of instructions stored in memory to perform
specific task. These operations require the following:
1. The operator or opcode – which determines what will be done.
2. The operand – which defines the data to be used in the operation.
ADDRESSING MODES – The methods to designate the effective address of these operands or
get them directly from the register.