ECE212 B1: Introduction to Microprocessors Lecture 1 Calendar Description Microcomputer architecture, assembly language programming, memory and input/output system, interrupts All the instructions are with common sense No complex math Lecture 1 2 1
Course Content 1. Hardware part Computer architecture How to assign each device a unique identification? (address decoding) How do the devices communicate? (Input/output) 2. Software part (to manage data) The format of data (data representation) Where to find/locate data? (addressing mode) Operations on data: Addition? Subtraction? (instruction set) Advanced programming tools (stack, subroutines, exceptions/interrupts) Lecture 1 3 Course Outline - 1 1. Fundamental Concepts Microprocessor Applications & History Data Representation Binary Arithmetic 2. Computer Architecture CPU & Memory Introduction to Programming in Assembly Language Basics of Assembler 3. Addressing Modes Variable Length Operands Stack Operations Addressing Modes 4. Instruction Set Instruction Details Programming Basics Lecture 1 4 2
Course Outline - 2 5. Subroutines Basic Principles Parameter Passing Stack & Local Variables 6. Input/Output Coldfire I/O 7. Address Decoding Basic Principles Full Address Decoding Partial Address Decoding 8. Exceptions & Interrupts Exceptions Interrupts and interrupt processing Lecture 1 5 What is Microprocessor? A microprocessor is a single-chip central processing unit (CPU). a microprocessor ( P) is the brain of a computer. It understands and executes the sequence of binary instructions in a compiled computer program. The binary instructions in a more understandable way: assembly language instructions (our focus) Compared to the CPU, the other parts of a computer are relatively dumb and require detailed attention from the CPU in order to function properly in the computer system. Lecture 1 6 3
Applications of Microprocessors Microprocessors can be found just about everywhere: In general-purpose computers, like personal computers (PCs). In special-purpose computers, like calculators, personal data assistants (PDAs), and game computers. In embedded computers that control automobiles, appliances, instruments, communication systems, cell phones, factories, assembly lines, lumber mills, etc. Ex. In a car, microprocessors are used in the ignition system, emission control system, anti-lock brakes, dashboard display, entertainment system, navigation system, etc. Modern cars often contain 20 or more microprocessors. Lecture 1 7 Microprocessor History The microprocessor became possible only after integrated circuit technology had advanced to the point where several thousand transistor switches could be integrated onto a single semiconductor chip. The Intel 4004 (1971) was the first microprocessor: originally developed for a desktop calculator product contained 2300 transistors occupied a silicon area of 12 mm 2 implemented in 10 m PMOS semiconductor technology data bus was 4 bits wide 640 bytes of data could be addressed system clock ran at a frequency of 108 KHz could perform roughly 60k operations per second (one operation per 2 system clock cycles) Lecture 1 8 4
Intel 4004 It was Intel's first microprocessor. It contained 2,300 transistors and was built using a 10 micron process. It had a total of 16 pins. Lecture 1 9 Microprocessor History (cont.) The Intel Itanium entered mass production in 2001: intended for servers and workstations (Intel 4004: PCs) contains 25.4 million transistors (Intel 4004: 2300) silicon chip area exceeds 300 mm 2 (Intel 4004: 12) 0.18 m CMOS semiconductor technology (Intel 4004: 10 m) 64-bit data bus; (Intel 4004: 4) memory space of over 18 terabytes (2 64 = 18.45 x 10 18 ). system clock frequency of at least 800 MHz (now >3.7GHz) (Intel 4004: 108KHz) peak performance of 3.2 billion instructions per second (Intel 4004: 60K) Moore s Law: the number of transistors on a chip doubles about every 2 years Lecture 1 10 5
Pentium 4 42 million transistors and circuit lines of 0.18 microns. x86 family Lecture 1 11 Microprocessor Revolution The appearance of the microprocessor revolutionized digital system design starting in the 1970s, and continuing on until the present day. The main advantages of the microprocessor: - Programmable. Sophisticated functions can be provided relatively easily in software. - Powerful. Advances in integrated circuit technology are leading to faster and more powerful microprocessors. - Cost-effective. Microprocessors, because they are multipurpose, are manufactured in large quantities, which tends to minimize their unit cost. - Reliable. Integrated circuits are highly-reliable. Microprocessors have no moving parts. - Compact. More and more functionality can be packed onto a single microprocessor/microcontroller chip. Lecture 1 12 6
Disadvantages of Microprocessor The learning curve for designing and using microprocessors can be steep. Why is this so? Complex: Microprocessors have many complex features. The specification sheets can often fill entire books. Numerous features are provided to satisfy a wide variety of users. Non-intelligent: Microprocessors are completely unforgiving when program errors are made. They will execute exactly what is in the program, and have no common sense or intuition about what the designer intended the program to do. Hard to debug: Debugging tools for microprocessor assembly language programs are usually primitive iti compared to the tools available for programs in high-level languages. Lecture 1 13 Microprocessor-related Terms A microcontroller is an integrated circuit that contains a microprocessor as well as other useful support circuits, such at timers, memory, input/output interface circuits, etc. A microcomputer is a computer system that has been built around a microprocessor chip. The ECE212 lab microcomputer system contains the MCF5270 microprocessor chip. A digital signal processor (DSP) is a specialized microprocessor that has features (e.g. instructions, registers, internal signal paths, arithmetic circuits) that make it particularly efficient at performing the kinds of numericallyintensive calculations that are required in digital signal processing (e.g. in modems and cell phones). Lecture 1 14 7
Microprocessor Families Microprocessor manufacturers tend to release microprocessors in families of increasing complexity and performance. Intel Corp.: 4004 (1971), 8008 ( 72), 8080 ( 74) x86 family: 8086 ( 78), 8088 ( 79), 80186 ( 82), 80286 ( 82), 80386 ( 85), 80486 ( 89), Pentium ( 93), Pentium II ( 97), Pentium III ( 99), Pentium 4 (2000), Xeon (2001), Centrino (2003), Intel Core 2 (2006) IA-64 family: Itanium (2000) Motorola, Inc.: 6800 family: 6800 (1974), 6809 ( 79), 68HC11 ( 84) M68000 family: 68000 (1979), 68010 ( 82), 68020 ( 84), 68030 ( 87), 68040 ( 89), 68332 ( 89), Power PC AMD (Advanced Micro Devices), Inc.: Athlon (2001), Opteron (AMD64, 2003), Athlon64 (2003), Sempron (2004), Turion (64bit for laptop, 2005), Athlon64 (dual, 2005) Microprocessor families make it easier to carry software over from an older mp to the latest mp. Upward compatibility is an important strategy for building customer loyalty. Lecture 1 15 Freescale ColdFire MCF5271 Family MCF5271 and MCF5270 microprocessors. version 2 ColdFire core up to 96 MIPS at 100 MHz. 10/100 Ethernet MAC optional hardware encryption Enhanced Multiply Accumulate Unit (EMAC) 64 Kbytes SRAM, 8 Kbytes configurable cache Lecture 1 16 8