28
Introduction to Microcomputer Systems Outline What is a Microcomputer? Types of Microcomputers Modular Microcomputer Clock and CPU Control Circuits Address Decoder Address and Data Bus Buffers Buffer Control Bus Arbitration Control Memory Management Memory Module Peripherals Module Goal Understand components of modular microcomputer Reading Microprocessor Systems Design, Clements, Ch. 1

Introduction to Microcomputer Systems Outline –What is a Microcomputer? –Types of Microcomputers –Modular Microcomputer –Clock and CPU Control Circuits

  • View
    273

  • Download
    4

Embed Size (px)

Citation preview

Introduction to Microcomputer Systems

• Outline– What is a Microcomputer?

– Types of Microcomputers

– Modular Microcomputer

– Clock and CPU Control Circuits

– Address Decoder

– Address and Data Bus Buffers

– Buffer Control

– Bus Arbitration Control

– Memory Management

– Memory Module

– Peripherals Module

• Goal– Understand components of modular microcomputer

• Reading– Microprocessor Systems Design, Clements, Ch. 1

What is This Course?

• Learn microcomputer systems– hardware organization

– assembly code and C programming

– hardware interfacing

• Hardware/software combinations– the essence of computer engineering

• Preparation for CPSC 483– build HW/SW projects using same boards

Course Organization

• Lectures– fundamentals of microcomputer systems

– details of Motorola ColdFire single-board computer

» used in labs

• Labs– learn ColdFire hardware

– learn how to program the board in C and assembler

– learn how to control ColdFire resources

– learn how to add and interface hardware peripherals

– learn how to implement applications

References

• Microprocessor Systems Design, 68000 Hardware, Software, and Interfacing, Third Edition, Alan Clements, PWS-KENT, 1997.– text, in bookstore

• Web Site– lecture notes

– lab manual

• Motorola MC68000 Family References– in lab, on Web site

• Motorola ColdFire References– in lab, on Web site

• Chip Data Sheets– in lab, on Web

Grading

• Midterm25%

• Final 25%

• Labs 35%

• HW, Project, Quizzes15%

Topics

• Microcomputer systems

• 68k programmer model

• 68k signal description

• 68k memory hierarchy

• 68k instruction set - briefly

• 68k C and assembly code programming

• Static RAM

• Memory read and write cycles

• Address decoding

• Exceptions - interrupts, exceptions

Topics

• I/O fundamentals

• Parallel I/O & Timers

• Serial I/O

• Microcomputer buses

• Dynamic RAM - organization and timing

• Microcomputer systems design

Assignment

• Read Chapters 1, 2.1-2.3, 7.5, 7.6– Microcomputers

– 68000 programmer model

– Cache memory

– Virtual Memory

– 680X0 architecture - ColdFire is 68060 descendent

• Form lab teams– 2 person teams for lab assignments

» Turn in one lab report, get same grade

– Form teams by first lab

Assignment (cont.)

• If you have PC with CD-ROM drive– get CDROM out of your book

– try to install cross-assembler and C compiler on your PC

– see if they will assemble and compile a simple program

– you can then do coding at home and bring floppy to lab

– note we will use GNU C compiler in class

• Everyone– labs start second week

– read lab assignment in advance

– bring some PC floppies to lab

– end of this week - check that your ID will access HRBB 217

– make sure you have Neo account for class email

What is a Microcomputer?

• Microcomputer (uC) = microprocessor-based computer

• Microprocessor (uP) = single-chip or chipset CPU

• Chipset - few closely-interacting chips– 68020 - integer+control, MMU, floating point

– VAX 8200 - integer+control+MMU, microcode, floating point

• All computers today have single-chip CPU– off-chip delays force all high-speed paths on chip

– 2.26+ GHz P4

» off-chip path is 500 MHz

» 2 levels of memory cache on chip

– “chipset” is interface chip for CPU

» memory interface, mouse, keyboard, graphics, USB, ...

Types of Microcomputers

• Single board computer (SBC)– usually an embedded computer - buried inside a product

• Features– dedicated to a single fixed task

– minimum hardware to support the task

» minimize cost, power, weight, size

• Examples– PostScript printer, ATM, microwave oven, cell phone

• Microcontroller– board shrunk to single chip - most common uC

– CPU, memory, I/O

– Examples: ARM, 68HC11, 8051

Types of Microcomputers

• Modular microcomputer– modules connected by a bus

– usually a general-purpose computer

• Features– used for wide range of applications

– flexible hardware to support application range

» can mix and match modules as needed

» example - add more memory modules

• Examples– personal computer, factory controller

Modular Microcomputer

• System = modules linked by system bus– system bus - data transfer between modules

– local bus - data transfer within module

• Advantages– standard modules assembled to form computer

– large number of module types available

– can easily customize computer to application needs

• System bus standards– bus specification agreed upon by all manufacturers

– often first a proprietary bus

» Motorola Versabus => VME bus

– now industry committees agree to bus standards

Figure 1.1

CPU Module Memory Module Peripherals Module

System Bus

Buffers Buffers Buffers

CPUMMULocal MemoryClockBus Arbitration

DRAMDRAM CtlAddr Decode

Parallel I/OSerial I/OTimerDisk CntlrUSBFirewire...

Clock and CPU Control

• Time reference to CPU.– square or sine wave

– 1000 MHz for 500 MHz Alpha

• Also forms master clock used for rest of system– synchronize bus, other modules

• Power-on reset– force CPU to initialize and execute start-up routine

» bootstrap code

– initiated when power first turned on

» can also initiate manually - the reset button

Address Decoder

• Divide up address space– allocate to individual memory units

• Divide up among memory chips– e.g. split 64 MB across 32 16 Mb DRAM chips

• Partition physical memory locations– local memory on CPU board

» SRAM, EEPROM, Flash, ROM

» data transfer on local bus

» accessible only to CPU

» allows CPU module to be independently tested

– main memory in memory module

» data transfer on system bus

Address and Data Bus Buffers

• uP output pins can only drive small load– a few nearby chips

• Use buffers or bus drivers to drive large buses– chips with big transistors, little logic

– shield uP from load

• Interface between uP and local and system buses

• Need buffer control to coordinate drivers

Buffer Control

• Determines operating mode of bus drivers and receivers– only turn on drivers when they need to send data

– e.g. disable system bus drivers during local memory access

• Only one device can drive the bus at a time– tristate - buffer goes into high impedance state

» like an open circuit

• Operations on parts of a word– e.g. 32-bit uP wants to write one byte or a 16-bit word

– memory has byte addresses

• Byte/word control turns on drivers in part of bus

Bus Arbitration Control

• Master and slave devices– CPU is master

– memory and peripherals are slaves

– CPU controls all bus usage

• Multi-master system– multiple devices can access bus

– DMA (direct memory access) controller

» moves data between memory and peripheral

» autonomous of CPU

– multiprocessor - multiple uPs

• Need protocol (rules) for bus access– one at a time, fair access, timely access

– in hardware for speed

– master - currently controlling bus

– slave - devices accessed by master

Memory Management

• Translate uP logical address to memory physical address– logical address - any address in uP architecture address space

» issued by program

– physical address - actual memory location

• Virtual memory– make small physical memory look like large logical memory

– store part of data on disk

– system vs. user protection domains

• Location independence– programmers use logical address

– operating system figures out what physical address to use

• Memory management unit (MMU)– part of CPU today - 68030, 486, and later

Memory Module

• Types of memory– read/write random access memory (RAM)

– read-only memory (ROM)

» programmed when manufactured

» use for bootstrap programs, fixed code

» example: PostScript interpreter

– EPROM, EEPROM, flash

» program once, or once in a while

» use for program storage, preferences

• Interface– bus interface - buffers, buffer control

– address decoders

– refresh logic

Memory Module (cont.)

• Dynamic RAM (DRAM)– lowest cost/bit - 1 transistor+capacitor per bit

– used for large main memories

– must refresh bits every few milliseconds

• Static RAM (SRAM)– faster

– more expensive - 6 transistors per bit

– often used for cache memory

– often used for battery applications

» holds data at very low power

Peripheral Module

• Interfaces to outside world

• Serial input/output (I/O)– terminal line

• Parallel I/O– printer cable

• Timer– measure time

– generate series of pulses - e.g. interrupt uP at fixed interval

– used for real-time systems

• Disk controller– disk operations

– data format conversion

• Network interface– Ethernet, IEEE 488 bus, etc.

MVME 162

MVME 167

Microcontroller

912B32 - Computer on a Chip

• 0.75 KB byte-erasable EEPROM

• 32 KB flash EEPROM

• 1 KB SRAM

• 8-channel 8-bit A/D converter

• 8-channel 16-bit timer

• 4-channel 8-bit pulse width modulator

• Asynch/synch serial lines

• Interrupt, watchdog, clock timers

• Wait, stop modes

• Hardware breakpoints

• Muxed 16-bit address/data bus

ColdFire MCF5206e