Microcontrollers and Introduction
to Real-Time Programming
Prof. Yusuf Leblebici
Microelectronic Systems Laboratory (LSM)
[email protected]
1
Organization
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: Moore’s Law
ITRS Predictions
2
Goals 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.
3
Goals and Objectives
Remember: There is always more than one way of
looking at things !
Software Design
Hardware Design
4
Goals 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.
5
Goals 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 – it’s important !
6
Building Blocks of Digital Systems
INPUT-OUTPUT MEM ORY
CONTROL
DATAPATH
Main question: How to implement these functions ?
7
Computer Pre-history
Charles Babbage
•
Analytical Engine
• Started in 1834
• Never finished
•
8
Computer History
Eckert and Mauchly
• 1st working electronic
computer (1946)
• 18,000 Vacuum tubes
• 1,800 instructions/sec
• 3,000 ft3
9
Computer History
• Maurice Wilkes
1st store program computer
650 instructions/sec
EDSAC 1 (1949) 1,400 ft3
http://www.cl.cam.ac.uk/UoCCL/misc/EDSAC99/
10
1962 - 1972
http://hrst.mit.edu/hrs/apollo/public/index.htm
11
12
Apollo
Guidance
Computer
13
Apollo 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 µ sec Clock frequency: 85 kHz (!)
Number of logic gates: 5,600 (2,800 packages)
Weight: 30 kg
Power consumption: 70 W
14
Intel 4004 Microprocessor
• Introduced in 1970
– First microprocessor
– 4 bit architecture !
• 2,250 transistors
• 12 mm2
• Clock: 108 kHz
15
Intel 8085 Microprocessor
• Introduced in 1974
• 8-bit architecture
• Still used in some
microcontroller
applications !
16
Intel 8086 Microprocessor
• Introduced in 1979
• 29,000 transistors
• 33 mm2
• Clock: 5 MHz
• 16 bit architecture
17
Intel 386 Microprocessor
• Introduced in 1985
• 275,000 transistors
• 43 mm2
• Clock: 16 MHz
• 32 bit architecture
18
Intel 486 Microprocessor
• Introduced in 1989
• 1,200,000 transistors
• 81 mm2
• Clock: 25 MHz
• 32 bit architecture
– 1st pipelined
implementation of IA32
19
Intel Pentium Microprocessor
• Introduced in 1993
• 3,100,000 transistors
• 296 mm2
• Clock: 60 MHz
• 32 bit architecture
– 1st superscalar
implementation of IA32
20
Pentium Processor Details
• State
– Registers
– Memory
REG
• Control ROM
• Combinational
logic
Intel Pentium III
• Introduced in 1999
• 9,500,000 transistors
• 125 mm2
• Clock: 450 MHz
• 32 bit architecture
22
DEC 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
23
Moore’s Law
24
Don’t 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
25
Embedded Systems
About four (!) percent of the world’s microprocessors are used in
computers. Source: Embedded Systems Programming, May 1999
embedded
microprocessors
Only 4% of the
Motorola, 8-bit 1 billion total number
ARM,
MIPS, 8-bit 1 billion
i960,
x86, 16-bit 1 billion
… 125 million PCs
32-bit 250 million Intel, AMD
Average car has about 15 microprocessors.
Mercedes S-class: 63 microprocessors !!
26
New Direction: System-on-Chip (SoC)
Memory
ASIC Core
Communication
Analog Embedded
Functions Processor
Core
Sensor
Interface
27
Building Blocks of Digital Systems
INPUT-OUTPUT MEM ORY
CONTROL
DATAPATH
CPU
Main question: How to implement these functions ?
28
Bus 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
29
Memory 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
30
Moore’s Law
31
32
ITRS - International Technology Roadmap for
Semiconductors
YEAR 2002 2005 2008 2011 2014
TECHNOLOGY 130 nm 100 nm 70 nm 50 nm 35 nm
2 2 2 2 2
CHIP SIZE 400 mm 600 mm 750 mm 800 mm 900 mm
NUMBER OF
TRANSISTORS 400 M 1 Billion 3 Billion 6 Billion 16 Billion
(LOGIC)
DRAM
2 Gbits 10 Gbits 25 Gbits 70 Gbits 200 Gbits
CAPACITY
MAXIMUM 1.6 GHz 2.0 GHz 2.5 GHz 3.0 GHz 3.5 GHz
CLOCK
FREQUENCY
MINIMUM 1.5 V 1.2 V 0.9 V 0.6 V 0.6 V
SUPPLY
VOLTAGE
MAXIMUM 130 W 160 W 170 W 175 W 180 W
POWER
DISSIPATION
MAXIMUM
NUMBER OF 2500 4000 4500 5500 6000
I/O PINS
Predictions of the worldwide semiconductor / IC industry
about its own future prospects...
33
Shrinking Device Dimensions
YEAR 2002 2005 2008 2011 2014
TECHNOLOGY 130 nm 100 nm 70 nm 50 nm 35 nm
2 2 2 2 2
CHIP SIZE 400 mm 600 mm 750 mm 800 mm 900 mm
NUMBER OF
TRANSISTORS 400 M 1 Billion 3 Billion 6 Billion 16 Billion
(LOGIC)
DRAM
2 Gbits 10 Gbits 25 Gbits 70 Gbits 200 Gbits
CAPACITY
MAXIMUM 1.6 GHz 2.0 GHz 2.5 GHz 3.0 GHz 3.5 GHz
CLOCK
FREQUENCY
MINIMUM 1.5 V 1.2 V 0.9 V 0.6 V 0.6 V
SUPPLY
VOLTAGE
MAXIMUM 130 W 160 W 170 W 175 W 180 W
POWER
DISSIPATION
MAXIMUM
2500 4000 4500 5500 6000
NUMBER OF
I/O PINS
34
Increasing Function Density
YEAR 2002 2005 2008 2011 2014
TECHNOLOGY 130 nm 100 nm 70 nm 50 nm 35 nm
2 2 2 2 2
CHIP SIZE 400 mm 600 mm 750 mm 800 mm 900 mm
NUMBER OF
TRANSISTORS 400 M 1 Billion 3 Billion 6 Billion 16 Billion
(LOGIC)
DRAM
CAPACITY 2 Gbits 10 Gbits 25 Gbits 70 Gbits 200 Gbits
MAXIMUM 1.6 GHz 2.0 GHz 2.5 GHz 3.0 GHz 3.5 GHz
CLOCK
FREQUENCY
MINIMUM 1.5 V 1.2 V 0.9 V 0.6 V 0.6 V
SUPPLY
VOLTAGE
MAXIMUM 130 W 160 W 170 W 175 W 180 W
POWER
DISSIPATION
MAXIMUM
2500 4000 4500 5500 6000
NUMBER OF
I/O PINS
35
Increasing Clock Frequency
YEAR 2002 2005 2008 2011 2014
TECHNOLOGY 130 nm 100 nm 70 nm 50 nm 35 nm
2 2 2 2 2
CHIP SIZE 400 mm 600 mm 750 mm 800 mm 900 mm
NUMBER OF
TRANSISTORS 400 M 1 Billion 3 Billion 6 Billion 16 Billion
(LOGIC)
DRAM
2 Gbits 10 Gbits 25 Gbits 70 Gbits 200 Gbits
CAPACITY
MAXIMUM
CLOCK 1.6 GHz 2.0 GHz 2.5 GHz 3.0 GHz 3.5 GHz
FREQUENCY
MINIMUM 1.5 V 1.2 V 0.9 V 0.6 V 0.6 V
SUPPLY
VOLTAGE
MAXIMUM 130 W 160 W 170 W 175 W 180 W
POWER
DISSIPATION
MAXIMUM
2500 4000 4500 5500 6000
NUMBER OF
I/O PINS
36
Decreasing Supply Voltage
YEAR 2002 2005 2008 2011 2014
TECHNOLOGY 130 nm 100 nm 70 nm 50 nm 35 nm
2 2 2 2 2
CHIP SIZE 400 mm 600 mm 750 mm 800 mm 900 mm
NUMBER OF
TRANSISTORS 400 M 1 Billion 3 Billion 6 Billion 16 Billion
(LOGIC)
DRAM
2 Gbits 10 Gbits 25 Gbits 70 Gbits 200 Gbits
CAPACITY
MAXIMUM 1.6 GHz 2.0 GHz 2.5 GHz 3.0 GHz 3.5 GHz
CLOCK
FREQUENCY
MINIMUM
SUPPLY 1.5 V 1.2 V 0.9 V 0.6 V 0.6 V
VOLTAGE
MAXIMUM
POWER 130 W 160 W 170 W 175 W 180 W
DISSIPATION
MAXIMUM
2500 4000 4500 5500 6000
NUMBER OF
I/O PINS
37
38
39
40
Some 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.html
• VLSI Microprocessors
http://www.microprocessor.sscc.ru/
• Molecular Expressions Chip Shots Gallery
http://micro.magnet.fsu.edu/chipshots/index.html
41