Title: Microcontrollers and Introduction to RealTime Programming
1Microcontrollers and Introduction to Real-Time
Programming Prof. Yusuf Leblebici Microelectron
ic Systems Laboratory (LSM) yusuf.leblebici_at_epfl.
ch
2Organization
- Introduction
- Goals of the Course
- Historical Perspective - Microprocessors
- Pre-history
- Last 30 years
- Today and tomorrow
- A Few Words on Embedded Systems
- The Technology Aspect Moores Law
- ITRS Predictions
3Goals and Objectives
- In this course, you will
- Learn how the hardware (HW) and software
(SW) components of a microprocessor-based system
work together to implement digital systems. - Learn both HW and SW aspects of integrating
digital devices (memory, I/O interfaces, etc.)
into microprocessor / microcontroller systems. - Get practical hands-on experience in system
design and assembly language programming.
4Goals and Objectives
Remember There is always more than one way of
looking at things !
Software Design
Hardware Design
5Goals and Objectives
In the classroom lectures, you will learn more
about the hardware architecture aspects of
microprocessors and microcontrollers, their
internal building blocks, operation principles,
interfacing with other digital systems etc
In the laboratory sessions, you will learn more
about the machine code and assembly language
programming of microprocessors /
microcontrollers, and implementation of digital
systems using these devices.
6Goals and Objectives
The classroom lectures will be in English. The
laboratory sessions and exercises will be in
French. There will be regular handouts for
reading Book chapters Lecture
slides Laboratory manuals etc Please follow
the lectures regularly its important !
7Building Blocks of Digital Systems
Main question How to implement these functions ?
8Computer Pre-history
- Charles Babbage
- Analytical Engine
- Started in 1834
- Never finished
9Computer History
- Eckert and Mauchly
- 1st working electronic computer (1946)
- 18,000 Vacuum tubes
- 1,800 instructions/sec
- 3,000 ft3
10Computer History
- Maurice Wilkes
- 1st store program computer
- 650 instructions/sec
- 1,400 ft3
EDSAC 1 (1949)
http//www.cl.cam.ac.uk/UoCCL/misc/EDSAC99/
111962 - 1972
http//hrst.mit.edu/hrs/apollo/public/index.htm
12(No Transcript)
13Apollo Guidance Computer
14Apollo Guidance Computer (AGC)
Word length 16 bits (15 bits data parity
bit) First computer using integrated circuits
(ICs) Magnetic core memory Fixed memory (ROM)
36,864 words Erasable memory (RAM) 2,048
words Number of instructions 34 Cycle time
11.7 msec Clock frequency 85 kHz (!) Number
of logic gates 5,600 (2,800 packages) Weight 30
kg Power consumption 70 W
15Intel 4004 Microprocessor
- Introduced in 1970
- First microprocessor
- 4 bit architecture !
- 2,250 transistors
- 12 mm2
- Clock 108 kHz
16Intel 8085 Microprocessor
- Introduced in 1974
- 8-bit architecture
- Still used in some microcontroller applications !
17Intel 8086 Microprocessor
- Introduced in 1979
- 29,000 transistors
- 33 mm2
- Clock 5 MHz
- 16 bit architecture
18Intel 386 Microprocessor
- Introduced in 1985
- 275,000 transistors
- 43 mm2
- Clock 16 MHz
- 32 bit architecture
19Intel 486 Microprocessor
- Introduced in 1989
- 1,200,000 transistors
- 81 mm2
- Clock 25 MHz
- 32 bit architecture
- 1st pipelined implementation of IA32
20Intel Pentium Microprocessor
- Introduced in 1993
- 3,100,000 transistors
- 296 mm2
- Clock 60 MHz
- 32 bit architecture
- 1st superscalar implementation of IA32
21Pentium Processor Details
- State
- Registers
- Memory
- Control ROM
- Combinational logic
REG
22Intel Pentium III
- Introduced in 1999
- 9,500,000 transistors
- 125 mm2
- Clock 450 MHz
- 32 bit architecture
23DEC Alpha 21264
- Introduced in 1998
- 15,200,000 transistors
- 302 mm2
- Clock 700 MHz
- 64 bit architecture
- Still the highest performance commercial
microprocessor - SPEC-95fp
- Alpha 21264 66
- Pentium III Xeon 30.4
24Moores Law
25Dont think that the highest-performance
processors are always found in a computer !!
- Sony Playstation II
- Chip designed by Toshiba
- Introduced in 1998
- 10,500,000 transistors
- 238 mm2
- Clock 300 MHz
- 128 bit architecture
- 10 floating-point multiplier accumulators
- MPEG-2 decoder
- Multimedia processor
26Embedded Systems
About four (!) percent of the worlds
microprocessors are used in computers.
Source Embedded Systems Programming, May 1999
embedded microprocessors
Only 4 of the total number
8-bit
1 billion
Motorola, ARM, MIPS, i960, x86,
1 billion
8-bit
16-bit
1 billion
125 million PCs
32-bit
250 million
Intel, AMD
Average car has about 15 microprocessors.
Mercedes S-class 63 microprocessors !!
27New Direction System-on-Chip (SoC)
Memory
ASIC Core
Embedded Processor Core
Analog Functions
Communication
Sensor Interface
28Building Blocks of Digital Systems
CPU
Main question How to implement these functions ?
29Bus and CPU
Bus A shared group of wires used for
communicating signals among devices
- address bus the device and the location within
the device that is being accessed - data bus the data value being communicated
- control bus describes the action on the
address and data buses
CPU Core of the processor, where instructions
are executed
- High-level language a b c
- Assembly language add r1 r2 r3
- Machine language 0001001010111010101
30Memory and I/O
Memory Where instructions (programs) and data
are stored
- Organized in arrays of locations (addresses),
each storing one byte (8 bits) in general - A read operation to a particular location
always returns the last value stored in that
location
I/O devices Enable system to interact with the
world
- Device interface (a.k.a. controller or adapter)
hardware connects actual device to bus - The CPU views the I/O device registers just
like memory that can be accessed over the bus.
However, I/O registers are connected to external
wires, device control logic, etc. - Reads may not return last value written
- Writes may have side effects
31Moores Law
32(No Transcript)
33ITRS - International Technology Roadmap for
Semiconductors
Predictions of the worldwide semiconductor / IC
industry about its own future prospects...
34Shrinking Device Dimensions
35Increasing Function Density
36Increasing Clock Frequency
37Decreasing Supply Voltage
38(No Transcript)
39(No Transcript)
40(No Transcript)
41Some Interesting WWW Links
- Great Microprocessors of the Past and Present
- http//www3.sk.sympatico.ca/jbayko/cpu.html
- CPU Info Center
- http//bwrc.eecs.berkeley.edu/CIC/
- CPU Design HOW-TO
- http//www.linuxdoc.org/HOWTO/CPU-Design-HOWTO.ht
ml - VLSI Microprocessors
- http//www.microprocessor.sscc.ru/
- Molecular Expressions Chip Shots Gallery
- http//micro.magnet.fsu.edu/chipshots/index.html