EEE 410 Microprocessors I Spring 2005/2006 Lecture Notes PDF
Document Details
Uploaded by Deleted User
Tags
Related
Summary
These lecture notes provide an outline and overview of microcomputers and microprocessors, covering the evolution of Intel 80x86 family microprocessors and binary/hexadecimal number systems. They delve into the fundamental components of a computer system, including the CPU, memory, inputs, and outputs. The notes also discuss computer buses, the roles of RAM and ROM, and the internal organization of a CPU.
Full Transcript
EEE 410 – Microprocessors I Spring 05/06 – Lecture Notes # 1 Outline of the Lecture Microcomputers and Microprocessors Evolution of Intel 80x86 Family Microprocessors Binary and Hexadecimal Number Systems MICROCOMPUTERS AND MICROPROCESSORS There are three m...
EEE 410 – Microprocessors I Spring 05/06 – Lecture Notes # 1 Outline of the Lecture Microcomputers and Microprocessors Evolution of Intel 80x86 Family Microprocessors Binary and Hexadecimal Number Systems MICROCOMPUTERS AND MICROPROCESSORS There are three major parts of a Computer System. 1. Central Processing Unit (CPU): Also simply called as the microprocessor and acts as the brain coordinating all activities within a computer. 2. The Memory: The program instructions and data are primarily stored. 3. The Input/Output (I/O) Devices: Allow the computer to input information for processing and then output the results. I/O Devices are also known as computer peripherals. The integrated Circuit (IC) chip containing the CPU is called the microprocessor and the entire computer including the microprocessor, memory and I/O is called a microcomputer. The CPU is connected to memory and I/O devices through a strip of wires called a bus. The bus inside a computer carries information from place to place. In every computer there are three types of busses: 1. Address Bus: The address bus is used to identify the memory location or I/O device the processor intends to communicate with. The width of the Address Bus rages from 20 bits (8086) to 36 bits for (Pentium II). 2. Data Bus: Data bus is used by the CPU to get data from / to send data to the memory or the I/O devices. The width of a microprocessor is used to classify the microprocessor. The size of data bus of Intel microprocessors vary between 8-bit (8085) to 64-bit (Pentium). 3. Control Bus. How can we tell if the address on the bus is memory address or an I/O device address? This where the control bus comes in. Each time the processor outputs an address it also activates one of the four control bus signals: Memory Read, Memory Write, I/O Read and I/O Write. ¾ The address and control bus contains output lines only, therefore it is unidirectional, but the data bus is bidirectional. ¾ There two types of memory used in microcomputers: ♦ RAM (Random Access Memory/ Read-Write memory) is used by the computer for the temporary storage of the programs that is running. Data is lost when the computer is turned off. So known as volatile memory. ♦ ROM (Read Only Memory) the information in ROM is permanent and not lost when the power is turned off. Therefore, it is called nonvolatile memory. Note that RAM is sometimes referred as primary storage, where magnetic /optical disks are called secondary storage. Address Bus RAM ROM Printer Disk Monitor Keyboard CPU Data Bus Read/ Write Control Bus Internal organisation of a microcomputer Inside the CPU: A program stored in the memory provides instructions to the CPU to perform a specific action. This action can be a simple addition. It is function of the CPU to fetch the program instructions from the memory and execute them. 1. The CPU contains a number of registers to store information inside the CPU temporarily. Registers inside the CPU can be 8-bit, 16-bit, 32-bit or even 64-bit depending on the CPU. 2. The CPU also contains Arithmetic and Logic Unit (ALU). The ALU performs arithmetic (add, subtract, multiply, divide) and logic (AND, OR, NOT) functions. 3. The CPU contains a program counter also known as the Instruction Pointer to point the address of the next instruction to be executed. 4. Instruction Decoder is a kind of dictionary which is used to interpret the meaning of the instruction fetched into the CPU. Appropriate control signals are generated according to the meaning of the instruction. Address Bus Instruction Pointer Instruction Register Instruction Decoder Control Flags Timing and control Bus ALU signals are generated Data Bus Internal Register A Busses Register B Register C Register D Internal block diagram of a CPU The Figure below demonstrates the interaction between the CPU, memory and I/O Devices. Brief History of the Computers 1946 The first generation of Computer ENIAC was started to be used based on the vacuum tube technology. 1958 the first transistorized computer TRADIC was announced by IBM. 1959 first IC was invented. 1960s ICs were started to be used in CPU boards. 1970s entire CPU was put in a single chip. (1971 the first microprocessor of Intel 4004 (4-bit data bus and 2300 transistors) Late 1970s Intel 8080/85 appeared with 8-bit data bus and 16-bit address bus and used from traffic light controllers to homemade computers. 1981 First PC was introduced by IBM with Intel 8088 microprocessor. Motorolla emerged with 6800. Apple Machintosh computers started to use 68000 series of microprocessors. EVOLUTION OF INTEL 80X86 FAMILY MICROPROCESSORS Processor Year Transistors Clock Rate External Internal Add. Bus Intro. (MHz.) Data Bus Data Bus 4004 1971 2,250 0.108 4 8 12 8008 1972 3,500 0.200 8 8 14 8080 1974 6,000 3 8 8 16 8085 1976 6,000 6 8 8 16 8086 1978 29,000 10 16 16 20 8088 1979 29,000 10 8 16 20 80286 1982 134,000 12.5 16 16 25 80386DX 1985 275,000 33 32 32 32 80386SX 1988 275,000 33 16 32 24 Pentium C 1993 3,100,000 66 -200 64 32 32 Pentium MMX 1997 4,500,000 300 64 32 32 Pentium Pro 1995 5,500,000 200 64 32 36 Pentium II 1997 7,500,000 233-450 64 32 36 Pentium III 1999 9,500,000 550-733 64 32 36 Itanium 2001 30,000,000 800-… 128 64 64 BINARY AND HEXADECIMAL NUMBER SYSTEMS As human being we use base 10 (decimal) arithmetic Computers use base 2 (binary) system. Base 16 Hexadecimal number system is a convenient way of represented binary numbers. ASCII (binary format of the alphanumeric code) is explained. Decimal and Binary number systems: -There is a speculation of the fact that Humans use base 10 system is because they have 10 fingers. But there is no speculation behind the fact that the computers use binary system. The binary system is used in computers, because 1 and zero represent the two voltage levels of on and off. There are 10 digits in Decimal system: 0,1,2,3,4,5,6,7,8,9 There are only 2 digits in Binary system: 0,1 (Binary digits are referred as bits) Converting from decimal to binary: Example: Convert 2510 to binary: Remainder 25/2 = 12 1 LSB (least significant bit) 12/2 = 6 0 6/2 = 3 0 3/2 = 1 1 1/2 = 0 1 MSB (most significant bit) Therefore, 2510 = 110012 Converting from binary to decimal: Example: Convert 1101012 to decimal: 1101012 = Decimal 1x20 =1x1 = 1 0x21 =0x2 = 0 1x22 =1x4 = 4 0x23 =0x8 = 0 1x24 =1x16 = 16 1x25 =1x32 = + 32 53 1101012 =5310 Hexadecimal Number system: Hexadecimal system is defined to be the base 16 number system and is used as a convenient representation of binary numbers. Hexadecimal Binary Decimal 0 0000 0 Converting from binary to hex (hexadecimal): 1 0001 1 Example: Convert 1001111101012 to hex: 2 0010 2 3 0011 3 1001 1111 0101 4 0100 4 = 9 F 5 5 0101 5 6 0110 6 Therefore, 1001111101012 = 9F5 Hex 7 0111 7 8 1000 8 9 1001 9 Converting from hex to binary: A 1010 10 Example: Convert hex 29B to binary: B 1011 11 2 9 B C 1100 12 = 0010 1001 1011 Dropping zeros, 29B = 1010011011 D 1101 13 E 1110 14 F 1111 15 Converting from decimal to hex (hexadecimal): Example: Convert 4510 to hex: Quotient Remainder 45/16 = 2 13 (hex D) LSD (least significant bit) 2/16 = 0 2 MSD (most significant bit) Therefore, 4510 = 2D16 = 2DH Converting from hex to decimal: Example: Convert 6B216 to decimal: 6B216 = Decimal 2 x 160 = 2 x 1 = 2 11x161 = 11x16 = 176 6 x 162= 6x256 = + 1536 1714 Therefore, 6B216 = 171410 Addition and subtraction in binary numbers: Addition Example: 1101 A+B Carry Sum 1001 0+0 0 0 + 10110 0+1 0 1 101100 1+0 0 1 1+1 1 0 Binary Addition Subtraction of Binary Numbers: Given binary numbers x and y. x–y is performed by taking 2’s complement of y and adding to x. 11001001 – 10011101 => 2’s complement of 10011101= 01100010 (1’s complement) +1 01100011 (2’s complement) 11001001 + 01100011 1 00101100 Addition and subtraction in hex numbers: Addition Example: 23D9 LSD : 9 + 14 = 23 23-16= 7 with a carry to next digit + 94BE 1+13+11 = 25 25-16= 9 with a carry to next digit B897 1+3+4 = 8 MSD 2 + 9 = B Subtraction Example: 59F LSD : 15 - 8 =7 – 2B8 25 (9+16) – 11 (B) = 14, which is E 2E7 MSD 4 (5–1) –2 =2 ASCII Code : (American Standard Code for Information Interchange) Hex Symbol Hex Symbol 41 A 61 a 42 B 62 b 42 C 62 c 44 D 64 D 45 E 65 E 46 F 66 F 47 G 67 G 48 H 68 H 49 I 69 I 4A J 6A J 4B K 6B K 4C L 6C L 4D M 6D M 4E N 6E N 4F O 6F O 50 P 70 P 51 Q 71 Q 52 R 72 R 53 S 73 S 54 T 74 T 55 U 75 U 56 V 76 V 57 W 77 W 58 X 78 X 59 Y 79 Y 5A Z 7A Z Some important terminology: bit 0 nibble 0000 byte 0000 0000 word 0000 0000 0000 0000 double-word 0000 0000 0000 0000 0000 0000 0000 0000 quad-word 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1 kilobyte is 210 bytes. (Abbreviation K is used) Some floppy disks holds 356K bytes of data. 1 megabyte is 220 bytes. (a little over a million 1,048,576) 1 gigabyte is 230 bytes (over 1 trillion) 1 terabyte is 240 bytes