ecpe 4535 microprocessor system design i ntroduction and course overview p rof. a. l. abbott e-mail:...
TRANSCRIPT
ECPE 4535
Microprocessor System DesignIntroduction and Course Overview
Prof. A. L. Abbott E-Mail: [email protected]
What we expect of you . . .
• An understanding of the basics of o Combinational logico Sequential logico Binary representations and arithmetico Assembly languageo Computer organization
Contd…
SEGMENT code
What we expect of you . . .
• To do some work:o Laboratory assignments
Technical content“Writing intensive” content
o Short quizzeso 2 midsemester examso Final exam
• Access to a PC for lab assignments• A desire to learn about microprocessors!
What you can expect of us . . .What you can expect of us . . .
Course Objectives
• Develop an in-depth understanding of the operation and design of microprocessors in general, to include:
o Hardware
o Software
o Integrated systems
Cont.
Course ObjectiveCourse 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 OrganizationCommon 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)
o Store programs as codes that can be changed easily, rather than using special wiring
o This made the machine “general-purpose”
o Instructions and data can share the same memory space
o Normally programs are stored as sequences of
o instructions, 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 LevelsHardware Design Levels
•Global (overall system structure)o Processorso Controlo Memory unitso I/O channels
•Processoro Interfaceso Instruction setso Data representation
Cont.
Hardware Design LevelsHardware Design Levels
• Registero Focus 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 unitsCounters, registers, clocks
Cont.
Hardware Design LevelHardware Design Level
• Gate (logic)o Process individual bits of informationo Gates are the primitive design elements
Software Design LevelsSoftware Design Levels
• Applications programso User “runs” an existing software packageo Examples: Excel, Netscape, Word, . . .o Limited flexibility (none?) outside intended
application
• High-level language (HLL)o User writes programs to perform task(s)o Very flexible, easy to use (once language is
learned!)o Applications programs are portableo Examples: C, C++, Java, Fortran
Cont…
Software Design LevelSoftware Design Level
• Assembly languageo Harder to use than HLLso Machine and configuration dependento Requires detailed knowledge of the microprocessor itself and
its instruction seto Still used where extremely high performance or short
programs are required
• Machine codeo Native language of the processor itselfo Programs are the actual bytes as stored in memoryo Not intended for human consumption
Microprocessor HistoryMicroprocessor History
• 4 decades of development and evolutiono Intel 4004 (introduced in early 1970s)
4-bit words, 4 KB memory address space2,000 transistorsClock speed < 1 MHz
o Alpha 21264 (late 90’s)15.2 million transistorsClock speed near 700 MHz
o Pentium III (late 90’s)64-bit data with gigabit memories28 million transistorsClock speeds up to 1 GHz
Performance vs. FunctionalityPerformance vs. Functionality
o Microprocessors have evolved in two directions
Cont.
Performance vs. FunctionalityPerformance vs. Functionality
• Microprocessors: high performance, general purpose “brains” for PCs and workstations
o Instruction decode and control, arithmetic/logic operations, registers, timing, external control
o Typical cost: $75 -- $500
o Annual demand: 10s of millions
Cont.
Performance vs. FunctionalityPerformance vs. Functionality
• Microcontrollers: devices with high levels of integration for embedded control
o Microprocessor functions plus on-chip memory and peripheral functions (e.g. ports, timers)
o "Swiss army knife" of microprocessor technology
o Typical cost: $1-- $25
o Annual demand: billions!
Microprocessor vs. MicrocontrollerMicroprocessor vs. Microcontroller
• Not always a clear distinctiono Today’s microprocessor may be tomorrow’s
microcontroller
• Microprocessoro Includes memory management unit
o Lots of cache
o Performance is most important feature (cost is important, but secondary)
o Used mainly in desktop machines
Send.
Microprocessor vs. MicrocontrollerMicroprocessor vs. Microcontroller
• Microcontrollero Integrated RAM and ROMo No cacheo Includes lots of peripheralso Used mainly in “embedded” applicationso Often involves real-time controlo Important features include
Low cost Low power consumption Number of integrated peripherals Interrupt response time Amount of RAM and ROM
Some Microcontroller ApplicationsSome 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]o Pocket pagers (low-power, interprets characters,
user interface)o Cameras (low-power, exposure and focus control,
user interface)o "Level-meter“ (measures angle, audible and visual
user interface)o Keyboard controllers (scanning, de-bounce, auto-
repeat, diagnostics)o Modems (one for data transmission, on for
command processing)
Cont.
Some Microcontroller ApplicationsSome Microcontroller Applications
o Plotters (command interpretation, encoders, motor control)
o Color copiers (paper positioning, color exposure, sensors)
o Charge card pay phones (card reading, dialing, carrier access)
o Lawn sprinkler controller (timer, valve control, user interface)
o Instrumentation (user interface, GPIB interface, compute values)
o Closed-loop engine control (fuel/air mixture, ignition, pressure sensing, etc.)
o Antilock braking system control (monitors traction, controls brake)
o Dynamic ride control (adjusts suspension)
Figure 1.4 Block diagram of a typical micro-Figure 1.4 Block diagram of a typical micro-controller single chip mode)controller single chip mode)
Figure 1.5 Block diagram of typical micro-Figure 1.5 Block diagram of typical micro-controller (expanded mode)controller (expanded mode)
The instruction cycle (“fetch/execute cycle”)The instruction cycle (“fetch/execute cycle”)
• Fetcho Control unit gets next instruction
from memory
• Executeo Control unit decodes the instruction
(figures out which instruction it has)o Control unit carries out the
instruction by transferring data to/from appropriate places, possibly specifying ALU microoperations and possibly involving I/O hardware