Unit I- Introduction to Microprocessor 8088/8086 Objectives: 1. 2. 3. 4. 5. 6. Define what is a microprocessor. Discuss the history of microprocessor. Identify the categories of Explain the role of microprocessor Draw the structure of a microprocessor Explain the function of data bus, address bus, and control bus. The Microprocessor The silicon chip that contains the CPU where most calculations take place Microprocessors are distinguished by 3 characteristics Instruction set: the set of instructions that the microprocessor can execute Bandwidth: the number of bits processed in each instruction Clock speed: (MHz) It determines how many instructions/second the processor can execute The Microprocessor The brain or engine of the PC is the processor (sometimes called microprocessor), or central processing unit (CPU). The CPU performs the system's calculating and processing. Brief History Intel is generally credited with creating the first microprocessor in 1971 with the introduction of a chip called the 4004. All PC-compatible systems use either Intel processors or Intel-compatible processors from a handful of competitors Example: AMD or Cyrix. Late 1970s the two most popular processors for PCs were not from Intel (although one was a clone of an Intel processor). Personal computers of that time primarily used the Z80 by Zilog and the 6502 by MOS Technologies. Z-80 was noted for being an improved and less expensive clone of the Intel 8080 processor, similar to the way companies today such as AMD, Cyrix, IDT, and Rise Technologies have cloned Intel's Pentium processors. Intel 1971 - 4004 First microprocessor All CPU components on a single chip 4 bit Followed in 1972 by 8008 8 bit Both designed for specific applications 1974 - 8080 Intel’s first general purpose microprocessor Pentium Evolution 8080 first general purpose microprocessor 8 bit data path Used in first personal computer – Altair 8086 much more powerful 16 bit instruction cache, prefetch few instructions 8088 (8 bit external bus) used in first IBM PC 80286 16 Mbyte memory addressable up from 1Mb 80386 32 bit Support for multitasking 80486 sophisticated powerful cache and instruction pipelining built in maths co-processor Pentium Superscalar Multiple instructions executed in parallel Pentium Pro Increased superscalar organization Aggressive register renaming branch prediction data flow analysis speculative execution Pentium II MMX technology graphics, video & audio processing Pentium III Additional floating point instructions for 3D graphics Pentium 4 Note Arabic rather than Roman numerals Further floating point and multimedia enhancements Itanium 64 bit Categories of microprocessor Processors can broadly be divided into the categories of: CISC, RISC, hybrid, and special purpose. Complex Instruction Set Computers (CISC) have a large instruction set, with hardware support for a wide variety of operations. In scientific, engineering, and mathematical operations with hand coded assembly language (and some business applications with hand coded assembly language), CISC processors usually perform the most work in the shortest time. Categories of microprocessor Reduced Instruction Set Computers (RISC) have a small, compact instruction set. In most business applications and in programs created by compilers from high level language source, RISC processors usually perform the most work in the shortest time. Hybrid processors are some combination of CISC and RISC approaches, attempting to balance the advantages of each approach. Special purpose processors are optimized to perform specific functions. Digital signal processors and various kinds of co-processors are the most common kinds of special purpose processors. Role of The Microprocessor Fetch the Instruction from the memory Fetch the operands of the Instruction Decode the Instruction Execute the Instruction Output the results CPU continuously does the (Fetch-Decode-Execute) Cycle Role of The Microprocessor To coordinate the functioning of the various components of the system by generating and responding to control signals and to perform various arithmetic and logic functions. Microprocessor Architecture Basic Components CPU Registers special memory locations constructed from flip-flops and implemented on-chip e.g., accumulator, count register, flag register Arithmetic and Logic Unit (ALU) ALU is where most of the action take place inside the CPU Bus Interface Unit (BIU) responsible for controlling the address and data busses when accessing main memory and data in the cache Control Unit and Instruction Set CPU has a fixed set of instructions to work on, e.g., MOV, CMP, JMP CPU Structure - Top Level System Architecture Address Bus - provides a memory address to system memory and I/O address to system I/O devices Data Bus transfers - data between the microprocessor and the memory and I/O attached to the system Control Bus provides control signals that cause memory or I/O devices to perform a read or write operation A19 Address Bus A0 8086 System Data Bus (16 bit) Control Bus D15 To memory D0 and I/O RD/WR Memory I/O Evaluation: 1. Identify the latest processor produced by Intel. 2. Draw and label the top level structure of microprocessor. Describe each component. 3. Differentiate the types of buses. Objectives: 1. Draw and explain the internal block diagram of CPU. 2. Calculate maximum address in a memory. 3. Identify data types stored in memory. The 8086 family of Microprocessors Processor Data and Address Bus Sizes Examples Memory Microprocessor addresses a maximum of 2n different memory locations, where n is a number of bits on the address bus Logical Memory 80x86 supports byte addressable memory byte (8 bits) is a basic memory unit e.g., when you specify address 24 in memory, you get the entire eight bits when the microprocessors address a 16-bit word of memory, two consecutive bytes are accessed Physical Memory The physical memories of 80x86 family differ in width e.g., 8088 memory is 8 bits wide, 8086, 80286 memory is 16 bits wide, and 80386dx, 80486 memory is 32 bits wide for programming there is no difference in memory width, because the logical memory is always 8-bit wide memory is organized in memory banks a memory bank is an 8-bit wide section of the memory e.g., the 16-bit microprocessors contain two memory banks to form 16-bit wide section of memory that is addressed as bytes or words The Memory Subsystem What is a memory location? The 80x86 family support Byte Addressable Memory (a byte is the basic memory unit) With an address bus of size n, the processor can address a maximum of 2n memory locations ex:ample: with 20, 24, and 32 address lines, the 80x86 can address 1Mbyte, 16Mbytes, and 4Gbytes The Memory Subsystem 32 bit Processors 32 bit processors (80386, 80486, and Pentium) use four banks of memory connected to the 32 bit data bus Can access a double word in a one memory operation Memory Data Types Numbers bit (e.g., 1) ; nibble = 4 bits DB: byte = octet = 8 bits DW: Word = 2 bytes = 16 bits (80x86 terminology) DD: DoubleWord = 4 bytes = 32 bits (80x86 terminology) Intel uses little endian format (i.e., LSB at lower address) Signed Integers (2's complement) Text Letters and characters (7-bit ASCII standard), e.g., 'A'=65=0x41 Extended ASCII (8-bit) allows for extra 128 graphics/symbols) Collection of characters = Strings Collection of Strings = Documents Programs Commands (MOV, JMP, AND, OR, NOT) Collections of commands = subroutines Collection of subroutines = programs Floating point numbers Images (GIF, TIF, JPG, BMP) Video (MPEG, QuickTime, AVI) Audio (voice, music)