Top Banner
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
28

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

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Microcomputer Systems Outline –What is a Microcomputer? –Types of Microcomputers –Modular Microcomputer –Clock and CPU Control Circuits.

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

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

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

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

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

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

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

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

Grading

• Midterm25%

• Final 25%

• Labs 35%

• HW, Project, Quizzes15%

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

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

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

Topics

• I/O fundamentals

• Parallel I/O & Timers

• Serial I/O

• Microcomputer buses

• Dynamic RAM - organization and timing

• Microcomputer systems design

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

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

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

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

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

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, ...

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

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

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

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

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

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

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

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...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

MVME 162

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

MVME 167

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

Microcontroller

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

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

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

ColdFire MCF5206e