Transcript Slide 1

Microprocessor Engineering
Introduction 11/12
Microprocessor Engineering 16-7210
Alan Holloway
– contact: [email protected]
– Room 9323 Furnival/Cantor
• Weeks 1-6
– 6 × 2 Hour Lectures
– 6 × 1 Hour Labs
• Weeks 7-12
– 6 × 1 Hour Lectures
– 6 × 2 Hour Labs
Assessment method
• 50% Coursework
– formative series of lab tutorials (7.5%)
– In class test on C & bit manipulation (2.5%)
– major assignment (40%)
• 50 % Exam
– 2 Hours duration
– 4 from 6 questions
Resources
• All course information can be found on the
Blackboard site or at www.aholloway.co.uk
– Lecture notes
– Sample programs
– Reading list
– Software (available free)
Microprocessor Engineering
• Microprocessor Systems
• Microcontrollers
• ARM7 core Processor Family
– specifically NXP LPC2368 microcontroller
– Many others are available 8051, PIC, AVR etc
• C Programming will be used throughout
– ARM Realview MDK - 'C' compiler & other tools
– u-Vision Integrated Development Environment
1-5
address
decoder
chip enable signals
address bus
data bus
a
d
CE
CE
CE
reset
uP
ROM
RAM
Additional
devices
I/O
clock
OE
WR
OE
WR
OE
read
write
Microprocessor System Structure
1-6
Bus operations
• Read
• Write
• Each read/write operation is made up of a
number of clock cycles or T states
• Each machine instruction is made up of one or
more read and/or write operations
• This is why we shouldn't compare
microprocessors simply based on clock speed
1-7
Address Bus
2a - 1
• Unidirectional and generated by microprocessor
• Number of address lines determines number of address
locations
• Addressable locations = 2^a where a is the number of
address lines
Total
memory
space
FFFFH
1
0
memory
addresses
d bits
Memory Map :
A memory map shows the
position of devices within the
whole of the addressable area
I/O
E00FH
E000H
7FFFH
RAM
6000H
3FFFH
ROM
1-8
0000H
Memory
Address
Data Bus
• Bi-directional
• Usually matches the word length of the
microprocessor
• Usually a multiple of 8
• We talk of 8-bit, 16-bit , 32-bit and 64-bit
processors which refers to the normal word
length of the microprocessor
1-9
Control bus
• Consists of potentially many signals. Typically:– Read
– Write
– Could be single signal - Read/notWrite line
– Interrupt control
– Bus control signals for DMA (Direct Memory
Access)
1-10
Microprocessr
• CPU – Central Processing Unit
– ALU – Arithmetic Control Unit
• Circuit which performs arithmetic and logical
operations
– Registers
• Small CPU bases storage very quick
– Control Unit
• Controls the flow of data through the processor, and
coordinates the activities of the other units within it
1-11
Microprocessor Registers
• General purpose registers
• Accumulator – used in conjunction with ALU –
often found on 8-bit microprocessors
• Status or Flag Register – indicate result of last
instruction executed
• Program counter(PC) or Instruction Pointer
• Stack Pointer (SP)
• Special registers – Instruction and memory
address register
1-12
The Fetch – Execute cycle
• Fetch
– memory read cycle
– place in instruction register and decode
• Execute
– may involve additional read and/or write cycles
• Often the whole Fetch-Execute cycle is carried
out through a pipeline operation involving several
stages.
– 5 stages are often used (IF, ID, RR, EX, WB)
– The Pentium 4 has 20 stages
– The ARM 7 has 3 stages
1-13
Pipeline - Natural assembly line
• Example
– Alan (A) Barry (B) & Chris (C) each have a load of clothes
A
• Washer takes 30 mins
• Dryer takes 30 mins
• Ironing takes 30 mins
B
C
Sequential - non pipelined
7pm
30
11.30pm
30
30
30
30
30
30
A
B
C
Total for 3 Loads is 4.5 Hours
30
30
Pipelined
7pm
30
11.30pm
30
30
30
30
30
30
A
B
C
• Total for 3 loads pipelines 2.5 hours
30
30
Pipelines
• Does not speed up 1 task - increases overall
throughput
• Multiple tasks operate simultaneously using
separate resources
• Limited by speed of slowest resource
ARM7 Pipeline
• The pipeline has hardware-independent stages that execute
one instruction while decoding a second and fetching a third.
The pipeline speeds up the throughput ofCPU instructions so
effectively that most ARM instructions can be executed in a
single cycle.
• The pipeline works most efficiently on linear code.
CPU operation
• On reset – PC is loaded with a value, typically 0
• Fetch – execute cycle
– Fetch instruction
• memory read cycle using PC (program counter)
• place in instruction register and decode
• increment PC ready for next fetch
– Execute instruction
• often involves additional read and/or write cycles to read
operands and possibly write back results
• could modify PC – causes flow of program execution to
change
1-19
CPU Architecture
• Two basic types
– Von Neumann
• One memory space for instructions and data
• Therefore one single memory bus structure
– Harvard
• Separate instruction and data spaces
• Therefore separate memory buses – parallel operation
and therefore faster operation
• Can have different address and data bus widths
optimised for each bus
1-20
Basic microprocessor system
• Von Neumann Architecture
Microprocessor
Power on
& manual
reset
Address
Reset
A0-Ax
Data
Clock
Oscillator
Memory
(Instructions &
Data) and
Input/Output
D0-dy
Read
Write
1-21
Harvard Architecture
Microprocessor
Address
Address
Program
Memory
A0-Ay
Instruction
I0-Iw
Read
A0-Ax
Data
Memory &
I/O
Data
d0-dn
Read
Write
1-22
What is an embedded system?
• An embedded system is a special-purpose
computer system designed to perform one or
a few dedicated functions
•Washing machine runs programs
•Open water valve
•Heat water
•Start spin
•etc etc….
•Do we need a PC running windows Vista to
do this ?
Will I ever need to use one?
• Over 4 billion 8-bit microcontrollers were sold
in 2006 alone
• the world's population is estimated to be
about 6.756 billion
• Average car contains >50 microcontrollers
• Electrical, electronic, control, robotics,
computer engineer - Yes you will
What is an Embedded Computer System
• Special purpose computer – usually with one
specific task or application.
• Usually embedded in a device which often
has other electronic and mechanical parts
• Usually optimised for the specific task
• Has the usual basic computer components –
CPU, memory, inputs & outputs
Microcontroller
• A microcontroller is the integration of
– microprocessor
– memory
• ROM types – commonly flash PROM
• RAM – Static ram
– peripherals
•
•
•
•
•
parallel input and output(digital I/O)
Timers and Counters
Serial input and output (UART, USART, SPI etc.)
Analogue to digital converters
PWM, CAPCOM registers, DACs etc.etc.
1-26
Examples
• consumer appliances
– tv's, mp3 players, dvd's, washing machines etc.
• automotive applications
– engine management, anti-lock braking
• computer peripherals
– hard disk controllers, routers, switches
• medical equipment
– scanners, blood analysers
• telecoms
– mobile phones
• aerospace
– satellite control systems, avionics
Some Characteristics
• Very simple to very complex applications
• Often single application
– but concurrent operation
• Could be real-time (hard and soft)
• Program is normally stored in ROM – called
firmware – flash ROM commonly
• Could be critical applications
• Interfacing with other devices via peripherals
• Require a range of development tools – hardware
and software
• May use operating system (RTOS)
Constraints
•
•
•
•
Physical size
Weight
Power usage
Performance – throughput and/or response
time
• Cost
Resulting in • limited space
• limited processing power
– 8-bit processor
• limited memory RAM & ROM
– only Ks of memory not Ms
• schemes to limit power consumption
– low power modes
– sleep
– standby
• determinism – needed for RT guarantee
Linksys Wired & Wireless Router
Linksys WRT54GL Router & Access point
•
•
•
•
CPU – Broadcom BCM4712KPB @ 200 MHz
RAM – 16MiBytes (2 x S42S16400 RAM Chips)
ROM – 4MiBytes (Intel TE28F320 C3 Flash ROM)
I/O
– WAN port: One 10/100 RJ-45 port
– LAN port: Four 10/100 RJ-45 ports
– Wi-Fi Channels: 13
– LED Indicators : power, DMZ, WLAN, port 1/2/3/4,
Internet
Microprocessor vs Microcontroller vs Soc vs
FPGA
• uP
– General purpose
– external memory and peripherals
– connected by a memory bus
• uC
– uP integrated with memory and peripheral
interfaces
– families of uC all with same uP but varying
amounts and types of memory and interfaces.
Microcontroller (µC) vs. Microprocessor (µP)
• µC intended as a single chip solution, µP requires
external support chips (memory, peripheral
interfaces etc.)
• µC has on-chip non-volatile memory for program
storage, µP does not.
• µC has more interface functions on-chip (serial
interfaces,Analog-to-Digital conversion, timers, etc.)
than µP
• General purpose µPs are typically higher
performance (clock speed, data width, instruction
set, cache) than µCs
• However the division between some µPs and some
µCs becoming increasingly blurred.
1-34
FPGA/PLD
• A field-programmable gate array is a semiconductor device containing
programmable logic components called "logic blocks", and programmable
interconnects.
• Logic blocks can be programmed to perform the function of basic logic
gates & combinational functions such as decoders or simple mathematical
functions.
• In most FPGAs, the logic blocks also include memory elements, which may
be simple flip-flops or more complete blocks of memory
Microprocessor vs Microcontroller vs
SoC vs FPGA
• SoC – System on a chip
• FPGA – Field
Programmable Gate Array
Core
Rest of FPGA
contains standard
logic
Microcontroller-based System-on-a-Chip