Presentation on theme: "ECPE 4535 Microprocessor System Design I ntroduction and Course Overview P rof. A. L. Abbott"— Presentation transcript:
ECPE 4535 Microprocessor System Design I ntroduction and Course Overview P rof. A. L. Abbott
What we expect of you... An understanding of the basics of oCombinational logic oSequential logic oBinary representations and arithmetic oAssembly language o Computer organization Contd …
SEGMENT code What we expect of you... To do some work: oLaboratory assignments Technical content “Writing intensive” content oShort quizzes o2 midsemester exams oFinal exam Access to a PC for lab assignments A desire to learn about microprocessors!
What you can expect of us... Course Objectives Develop an in-depth understanding of the operation and design of microprocessors in general, to include: oHardware oSoftware oIntegrated systems Cont.
Course Objective Develop a thorough understanding of the Motorola 68HC11 micro controller as a learning vehicle Ultimate goal: be able to apply this knowledge to more advanced microprocessors Contd …
Common Computer Organization Cont.
Common Computer Organization Memory: Stores programs and data CPU: Central Processing Unit ALU: Arithmetic & Logic Unit Control unit: Sequences data transfers and other operations I/O unit: Communicates with the “outside world”
This classic computer organization is named after von Neumann (1946) oStore programs as codes that can be changed easily, rather than using special wiring oThis made the machine “general-purpose” oInstructions and data can share the same memory space oNormally programs are stored as sequences of oinstructions, and one instruction is executed at a time
A system's architecture is determined by both its hardware and its software Pragmatically, the development of an "architecture“ is the process of deciding what functions are placed in hardware instead of software
Hardware Design Levels Global (overall system structure) oProcessors oControl oMemory units oI/O channels Processor oInterfaces oInstruction sets oData representation Cont.
Hardware Design Levels Register oFocus on the actual processing of information(words or bytes) How are instructions executed? How is data moved through the system? Define the components of the ALU, control unit, memory, etc. Muxes, decoders, arithmetic units Counters, registers, clocks Cont.
Hardware Design Level Gate (logic) oProcess individual bits of information oGates are the primitive design elements
Software Design Levels Applications programs oUser “runs” an existing software package oExamples: Excel, Netscape, Word,... oLimited flexibility (none?) outside intended application High-level language (HLL) oUser writes programs to perform task(s) oVery flexible, easy to use (once language is learned!) oApplications programs are portable oExamples: C, C++, Java, Fortran Cont…
Software Design Level Assembly language oHarder to use than HLLs oMachine and configuration dependent oRequires detailed knowledge of the microprocessor itself and its instruction set oStill used where extremely high performance or short programs are required Machine code oNative language of the processor itself oPrograms are the actual bytes as stored in memory oNot intended for human consumption
Microprocessor History 4 decades of development and evolution oIntel 4004 (introduced in early 1970s) 4-bit words, 4 KB memory address space 2,000 transistors Clock speed < 1 MHz oAlpha (late 90’s) 15.2 million transistors Clock speed near 700 MHz oPentium III (late 90’s) 64-bit data with gigabit memories 28 million transistors Clock speeds up to 1 GHz
Performance vs. Functionality oMicroprocessors have evolved in two directions Cont.
Performance vs. Functionality Cont.
Performance vs. Functionality Microprocessors: high performance, general purpose “brains” for PCs and workstations oInstruction decode and control, arithmetic/logic operations, registers, timing, external control oTypical cost: $75 -- $500 oAnnual demand: 10s of millions Cont.
Performance vs. Functionality Microcontrollers: devices with high levels of integration for embedded control oMicroprocessor functions plus on-chip memory and peripheral functions (e.g. ports, timers) o"Swiss army knife" of microprocessor technology oTypical cost: $1-- $25 oAnnual demand: billions!
Microprocessor vs. Microcontroller Not always a clear distinction oToday’s microprocessor may be tomorrow’s microcontroller Microprocessor oIncludes memory management unit oLots of cache oPerformance is most important feature (cost is important, but secondary) oUsed mainly in desktop machines Send.
Microprocessor vs. Microcontroller Microcontroller oIntegrated RAM and ROM oNo cache oIncludes lots of peripherals oUsed mainly in “embedded” applications oOften involves real-time control oImportant features include Low cost Low power consumption Number of integrated peripherals Interrupt response time Amount of RAM and ROM
Some Microcontroller Applications When we sell it we have no idea whether it will end up in a toaster or the space shuttle” [‘Invisible Computers,’ Financial World, 1995] oPocket pagers (low-power, interprets characters, user interface) oCameras (low-power, exposure and focus control, user interface) o"Level-meter“ (measures angle, audible and visual user interface) oKeyboard controllers (scanning, de-bounce, auto-repeat, diagnostics) oModems (one for data transmission, on for command processing) Cont.
Some Microcontroller Applications oPlotters (command interpretation, encoders, motor control) oColor copiers (paper positioning, color exposure, sensors) oCharge card pay phones (card reading, dialing, carrier access) oLawn sprinkler controller (timer, valve control, user interface) oInstrumentation (user interface, GPIB interface, compute values) oClosed-loop engine control (fuel/air mixture, ignition, pressure sensing, etc.) oAntilock braking system control (monitors traction, controls brake) oDynamic ride control (adjusts suspension)
Figure 1.4 Block diagram of a typical micro- controller single chip mode)
The instruction cycle (“fetch/execute cycle”) Fetch oControl unit gets next instruction from memory Execute oControl unit decodes the instruction (figures out which instruction it has) oControl unit carries out the instruction by transferring data to/from appropriate places, possibly specifying ALU microoperations and possibly involving I/O hardware
NEXT 68HC11 hardware (next class period) 68HC11 software (next 3+ weeks)