ecpe 4535 microprocessor system design i ntroduction and course overview p rof. a. l. abbott e-mail:...

28
ECPE 4535 Microprocessor System Design Introduction and Course Overview Prof. A. L. Abbott E-Mail: [email protected]

Upload: brianna-busbee

Post on 15-Dec-2015

217 views

Category:

Documents


0 download

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

Cont.

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

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)

Higher-level viewHigher-level view

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

NEXTNEXT

• 68HC11 hardware (next class period)• 68HC11 software (next 3+ weeks)