ELE22MIC - Microprocessors.

Transcription

ELE22MIC - Microprocessors.
ELE22MIC - Microprocessors.
Lecturer:
Email:
Room:
Paul Main.
[email protected].
BG 441
Laboratory Coordinator: Geoff Tobin.
Room:
Physical Sciences 2, Room 114
Email:
[email protected]
Course Outline:
Aims:
Develop a working knowledge of digital logic and how those principles
can be applied to implement a microprocessor system.
Learn how to design, build, program and debug a useful basic
microcomputer system.
Familiarise students to basic architecture of modern microprocessors,
micro-controllers and common peripherals.
Learn interfacing techniques for simple transducers (via the Analog to
Digital Converter) and how to apply them to implement electronic
systems.
Develop an ability to write 68HC11 assembly language code to meet a
design goal.
Handbook Course Description
This is a first course in microprocessors and their applications. Topics
include introduction to microprocessors, microprocessor architecture,
microcomputers, assembly language programming, memory, parallel and
serial I/O, computer design, timing, address decoding, interrupts, memory
management, caches, virtual memory, mass storage devices, DMA,
systems programming and other processors.
Class Requirements:
Two lectures per week
(total of 26)
One problem class per fortnight
(total of 5 problem classes)
Three hours practical work per fortnight
(total of 5 sessions).
Three assignments.
Lectures:
26 One-Hour Lectures.
Tuesday 9:00am to 10:00am
Friday 9:00am to 10:00am
Weeks
HS1 136
PW 101
30-38, 40-43
Laboratory Sessions:
One 3-Hour Laboratory Session per fortnight.
Labs commence next week.
Duration: 3Hours
WEDNESDAY:
2:00 pm
THURSDAY:
2:00 pm
Weeks 30, 32, 34, 36, 38, 41, 43
Location: Beth Gleeson, Room 310 (Dry Lab)
Problem Classes:
TUESDAY:
WEDNESDAY:
Location:
Weeks
Consultation Times:
Tuesday 10:00am - Noon
Friday 10:00am - Noon
12noon, Duration: 1 Hours
12noon, Duration: 1 Hours
HS1, ROOM 302
30, 32, 34, 36, 38, 41, 43
BG441
BG441
Lecture Topics Include
Introduction to microprocessors
History & perspective
Digital Logic
Hexadecimal & Binary Arithmetic.
The CPU : What's inside ?
CPU operation: Instruction Pointer, Fetch-Execute cycle, jump
Microcomputers, Microprocessor architecture,
The Arithmetic and Logic Unit - ALU
Arithmetic & Logical Instructions : Add, Subtract, Shift Left/Right
Multiply & Divide
Assembly language programming
MC68HC11 Instruction set : Registers, Load, store, transfer, exchange,
Addressing Modes
The Condition Codes Register, Jumping, Conditional Branching,
Programming techniques and applications Flow charts
Interrupts & interrupt handlers
Memory,
Computer design Timing diagrams & meeting timing constraints
Address decoding,
Interrupts,
Computer memories (hardware aspect)
Computer memories (system application)
Memory management,
Virtual memory,
Mass storage devices,
Input/Output: Parallel and serial I/O, Grey codes
Serial Input/Output serial interface devices
UARTS, RS232, RS485
Simple computer networks
Designing a MC68HC11 based computer: memory
address space considerations
bus timing considerations
Expanded memory design & caches
The counter/timer subsystem on MC68HC11
The A to D converter subsystem on MC68HC11
Mass storage devices
Advanced Aspects
Caches, Direct memory access (DMA) and related issues, DMA,
Features of other micro-controllers
Assessment:
2-hour Examination (70%),
Laboratory work (20%)
Assignments (10%).
68HC11 Resources:
Textbook - Peter Spasov,
“Microcontroller Technology - The 68HC11 and 68HC12”, 5th Edition.
Library
Internal web site URLs:
http://thor.ee.latrobe.edu.au/~paulm/ele22mic/index.html
e-www.motorola.com
Motorola manuals cached locally:
68HC11 family glossy brochure:
http://thor.ee.latrobe.edu.au/~paulm/ele22mic/resources/11_bro.pdf
68HC11 reference manual:
http://thor.ee.latrobe.edu.au/~paulm/ele22mic/resources/11rm.pdf
68HC11 Technical Data
http://thor.ee.latrobe.edu.au/~paulm/ele22mic/resources/11a8td.pdf
68HC11 Programmers Reference Guide
http://thor.ee.latrobe.edu.au/~paulm/ele22mic/resources/f1rgr2.pdf
68HC11 Evaluation Board
http://thor.ee.latrobe.edu.au/~paulm/ele22mic/resources/11evb.pdf
ELE22MIC CDROM handed out in lecture 3.
Containing presentations, notes & relevent device datasheets.
Laboratory sessions cover:
Familiarisation with HCCOM hardware
Find out about the BUFFALO monitor program,
Use BUFFALO commands to view the contents of memory and processor registers.
Examine the directly addressable memory space of MC68HCll microprocessor and find
out how it is partitioned,
Explore various instructions and addressing modes of the M68HC11.
“Hello World” program.
Study the MC681HC11's
- addressing modes,
- registers,
- Reset vector and interrupt vectors.
Learn to make System Calls using the Buffalo resident monitor.
This lab involves designing and writing an application program in assembler. The aim
of the program is to non-destructively test an area of memory for corruption. The
problem is to be broken up into smaller parts which are much easier to manage...
The Stepper Motor Control Lab.
The timer counter subsystem.
System software development The analog to digital (AD) converter.
Applications of the AD Converter
Decoding Gray codes.
HISTORIC PERSPECTIVE - TIMELINE OF COMPUTING
The Abacus “Computing Tray” The first mechanical calculating machine. 28?
The Computing Tray - was used by Babylonian priests to keep track of their vast
storehouses of grain. Still in use today. Circa 3000BC.
In Roman times the board was given grooves to facilitate moving the counters in
the proper files.
Circa 1300BC Wire & Bead Abacus replaced the Chinese calculating rods.
A modern equivalent is an Accumulator it is used to accumulate intermediate
results of arithmetic calculations. Modern accumulator uses binary numbers.
Analog Calculators:
In 1612 John Napier uses the printed decimal point, devised logarithms and used
numbered sticks (or Napiers Bones) for calculating.
This principle lead to the invention of the slide rule.
Mechanical Calculators
In 1642: Blaise Pascal Invented the first mechanical calculator constructed of 10toothed gears, wheels & teeth. It was called
“Pascalene”.
The same principle is still in use in
automobile’s (mechanical) odometer
mechanism. The same principle was the
basis for all mechanical calculators.
Punched Cards
In 1801 Joseph Marie Jacquard invented a
machine to use a linked sequence of
punched cards programmed to control a
weaving machine and produce intricate
weaving patterns in cloth.
1823: The royal Astronomical Society of
Great Britain commissioned Charles Babbage to
produce a programmable calculating machine. He
was aided by Augusta Ada Byron, the countess
of Lovelace - the first programmer. The machine
was to produce navigational tables for the Royal
Navy.
1834 Babbage shifted his focus to work on The
Analytical Engine. The mechanical computer
stored 1000 20-digit decimal numbers and a
variable program that could modify the function of
the machine to perform various tasks.
Input to his engine was through punched cards. It is assumed that he obtained the
idea from Frenchman, Joseph Jaquard.
After many years of work, Babage’s dream faded when he realised that the
machinists of the day were unable to create the parts needed to complete his
work. The analytical engine required 50 000 precision machined parts to allow
his engine to function reliably.
Michael Faraday
Was the son of a blacksmith. He had limited formal education but attended
public lectures and became an avid reader. In 1813 Started working life at
the London Royal Institution as a laboratory assistant. In 1821
demonstrated the electric motor effect. In 1831 demonstrated
EMF(current) induced by motion of magnet by a nearby conductor.
Electric Motors became available.
Motor driven adding machines based on mechanical calculators developed
by Blaise Pascal became popular. Electrically driven mechanical
calculators were common office equipment until 1970s.
Telecommunication by Morse Code
1844 - Samuel Morse sent a telegraph from Washington to Baltimore.
George Boole
Publishes “Laws of Thought”, describing a system for symbolic & logical
reasoning which becomes the basis for computer design.
1858 A telegraph cable spans the Atlantic Ocean & provides service for a few
days.
Alexander Graham Bell
in 1876, invents and patents the telephone.
Herman Hollerith’s Tabulator
In 1889, Herman Hollerith developed punched cards for storing data.
Like babbage he also borrowed the idea of a punched card from Joseph
Jaquard. Hollerith developed a machine that counted, sorted and collated
information stored on punched cards. He founded the Tabulating Machine
Company. After a number of mergers, the Tabulating Machine Company
was formed into the International Business Machines Corporation - IBM.
The punched cards used in computer systems are often
called Hollerith cards.
The 12-Bit code used on a punched card is called the
Hollerith Code. Mechanical machines continued to
dominate the Information Processing world until 1941.
Guglielmo Marconi
In 1895, transmitted the first radio signal.
Claude Shannon
in 1937 publishes the principles for an electric adder using base two.
Conrad Zuse
German Inventor, created the first
electro-mechanical calculating computer in 1941.
It was used for aircraft & missile design during
World War II for the German war effort.
The Z3 used a 5.33Hertz clocking frequency and
was based on electro-mechanical relays.
World War II (WWII) commenced.
Great Britain’s survival depended on imports of fuel, food, weapons &
industrial raw materials. Germany’s Gossadmiral Doenitz’s planned to
sink the merchant ships that were bringing supplies to Brittain by using a
powerful submarine fleet. Doenitz calculated that sinking 800 000 tons of
merchant ships per month would bring Britain to starvation, surrender and
a request for peace would result.
Enigma:
1941 German Commands to the submarine fleet were initially encrypted
with a three rotor Enigma before being transmitted by radio to submarine
commanders.
Enigma is Greek for ‘puzzle’. An example of how it works:
For example the letters ‘e’ input might be connected to the first rotor’s ‘q’ output. So
an arriving ‘e’ pulse in the first rotor goes as ‘q’ to the second rotor where it might
depart as ‘g’ to the third rotor. When a key is pressed, the right hand motor advances
one notch, changing the encryption sequence.
After 26 advances, the next rotor is advanced, etc. Also Enigma had a plug board with
26 sockets, each with up to 10 holes interlinked by the operator’s choice of
connections. Enigma also had many extra rotors with different internal connections.
The configuration of rotors and plug-board was changed daily.
Enigma Code Breaking:
Capturing a 1940 Kurzchussel cipher from the weather ship, Muenchen,
enabled British code breakers at Bletchey Park to decrypt the messages
with the aid of a crude “Bombe” computer - A computer to decipher the
Enigma encryption machine settings for that day.
Four Rotor Enigma
In Feb 1 1942 Germans began encrypted communication with a four rotor
Enigma. British crypt-analysts were unable to decrypt these new
messages.
The cost of failure to decrypt Enigma messages:
1942 Jan-July
460 ships, 203000tons, sunk.
Jan 1943
29 ships per month
March 1943
the rate had increased to 95 ships per month totalling
627000tons - twice the rate of new-ship construction.
Capturing Enigma:
Oct 30, 1942: a 25-pound four-rotor Enigma machine, with short signal
code-book, was recovered from a sinking German submarine, U559, by
two sailors who swam into the submarine from the destroyer Petard. The
two sailors lost their lives as the submarine plunged to the bottom of the
sea.
The First Electronic Computer
June 1943: Alan Turing, Tommy Flowers & MHA Newman made
operational the first electronic computer, Colossus. Colossus was utilised
to break the cipher codes generated by the mechanical Enigma Machine;
German military communication security was compromised.
Radar
British centimeter wavelength radar assisted to provide British military
superiority.German submarine attacks ceased being a threat for the
remainder of WWII.
ENIAC
1945: The University of Pennsylvania created ENIAC, the Electronic
Numerical Integrator And Calculator.
Weight: 30 ton
Used 17 000 vacuum tubes
500 miles of wires.
ENIAC was re-programmed by rewiring, a process that took many
workers several days.ENIAC was programmed by electrical connections
on plug-boards that looked like early telephone switchboards.
ENIAC processed 100 000 Instructions Per Second.
ENIAC suffered reliability problems due to limited vacuum tube life.
William Shockley
1939 William Shockley observed P- and N- type regions in Silicon.
Shockley forecast that a semiconductor amplifier was possible, but WWII
interrupted further work.
John von Neumann
1945: John von Neumann described the principles for a general-purpose,
stored program computer.
William Shockley, John Bardeen & Walter Brittain
1948: The invention of the Germanium bipolar junction transistor at Bell Labs,
by William Shockley, John Bardeen & Walter Brittain
Texas Instruments (TI) commercialised the Transistor.
The First IC.
At Texas Instruments, Jack Kilby, In 1958
realised that
1. Resistors could be formed by cutting small bars of silicon,
2. Capacitors formed by wafers metalised on both sides, and
3. Silicon transistors could all be made on the same material.
In september 1958 he created a phase-shift oscillator - the first IC on one wafer.
1964: The first mass produced mini-computer was produced by Digital
Equipment Corporation - The Digital Equipment Corporation (DEC) PDP8 minicomputer
Robert Noyce & Gordon Moore - founders of Fairchild Semiconductor became disgruntled and left Fairchild Semiconductor to start N M Electronics.
Bob Noyce wrote a single page business plan on his typewriter one night.
Noyce went to see Fairchild’s Venture Capitalist Art Rock. He requested
$2.5Million Dollars as venture capital...which he received 2 Days Later and
Intel was founded on 18 July 1968 by Robert Noyce, Andy Grove & Gordon
Moore. Intel’s first product was the ‘3101’, a 64 Bit Schottky Barrier static
RAM.
Busicom, was Japanese calculator manufacturer, and wanted Intel to develop 12
custom chips for their calculators.
Ted Hoff, an engineer at Intel, recommended one chip to function as 12.
Busicom agreed & contracted Intel. Intel went ahead with a general purpose
logic chip capable of being programmed for instructions. First use of
‘Intelligence’ programmed by software. Intel bought the design (Intellectual
Porperty) back from Busicom.
The Intel 4004.
After 9 months development Intel’s first microprocessor is born, the 4004.
The Intel 4004.
First MicroProcessor.
November 1971
10 Micron technology
2300 Transistors
108 KKz Clock
60 000 Instructions/second
Bus width 4 bits
640 bytes addressable
12 Volt. Weighed < 1 Oz.
P-channel MOSFET
Applications: Busicom Calculator
The Intel 8008
April 1972
10 Micron technology
3500 Transistors
200 KKz Clock
0.06 Million Instructions Per Second (MIPS)
Bus width 8 bits
12 Volt
Address: 16 Kbytes
Apps: Terminals, Calculators, Bottling
Machines
The Intel 8080
April 1974
6 Micron Technology
4 500 transistors
2 MHz Clock
0.64 Million Instructions Per Second
Data Bus width: 8 bits
12 Volt
Addressable memory: 64 Kbytes
Apps: Traffic light controller,
Used in the Altair computer
(first PC)
Performance = 10 x 8008
Over six times the performance of ENIAC
Intel 8086/8088
June 1978/1979
3 Micron Technology
5, 8 &10 MHz clock
0.33, 0.66 & 0.75 MIPS
29 000 Transistors
16/8 bit data bus
20 bit address bus (1MB)
5 Volt
apps: IBM PCs & Clones
performance =10 x 8080
Segmented architecture,
Complex Instruction Set Computer.
(CISC. )
8087 external Maths Coprocessor
available.
Select instructions compatible with 8080 & 8085.
1981 The open-architecture IBM
PC is launched based on the
Intel 8088
1980 PCDOS sold to IBM
1980 Ada emerged
1980 dBaseII popular
1982 First Clone PC
1982 AutoCAD
1983 TCP/IP invented
1982 Original NMOS 80186
Intel 80286
February 1982
6 MHz -12 MHz clock
0.9 - 2.66 MIPS
1.5 micron technology
134 000 Transistors
16 bit data bus
16MB Physical, 1GB Virtual
Performance =3 to 6 x 8086
Software Backward Compatible with 8086
Competitors parts: NecV.20, AMD 286 &
Cyrix 286
Intel 80386
October 17, 1985
16 MHz - 33MHz
5 to 11 MIPS
1 Micron technology
275 000 Transistors
Data Bus width: 32 bits
Addressable memory: 4 GigaBytes (GB)
Virtual memory: 64 TeraBytes (TB)
Software Compatible with 8086 & 80286
New 32 bit “Flat Mode” available.
Performance =100 x Intel 4004
1987 80C186 converted to CMOS - uses 1/4 power at twice clock rate
Many popular peripherals included on-chip:
Oscillator, Timers, UARTs, DMA, DRAM controller etc
Used in Controllers, Security Systems, Terminals
Segmented architecture
Software Backward Compatible with 8086
Still popular
The Intel 80486
April 1989 - Intel 80486
25 MHz, 20 MIPS
June 1991 50 MHz, 41 MIPS
1.2 Million Transistors
1-0.8 Micron Technology
Bus width: 32 bits
Addressable memory: 4 GB
Virtual memory: 64 TB
50X performance of the 8086.
Software Compatible with 8086
486DX first CPU to include floating
point maths co-processor on-chip.
Intel Pentium
March 1993
60 MHz 100 MIPS
66 MHz 112 MIPS
3.1 million transistors
0.8 Micron technology
64-bit external data bus
32-bitmicroprocessor
32 bit address bus
4 GB physical
64 TeraBytes ( TB) virtual
Software Compatible with
8086/286/386/486.
BiCMOS
Intel Pentium Pro
November 1995
150-200 MHz
5.5 million transistors
0.35 micron technology
64 bits front side bus
64 bits to L2 cache
Addressable memory: 64 GB
Virtual memory: 64 TB
256K - 1MB L2 Cache
Software Compatible with 8086
Intel® Xeon™
Designed for dual- and multi-processor computers.
These dual processor workstations are expected toachieve between 30 to
90 percent performance increase over systems using Intel® Pentium® III
processors.
The Intel Itanium™
Revolutionary design 64-bit products
Explicitly Parallel Instruction Computing (EPIC) design technology.
2002: Itanium™ 2
The Intel® Pentium® M - 2003.
The Intel® Pentium® M (Mobile) processor, the Intel® 855 chipset
family, and the Intel® PRO/Wireless 2100 network connection are the
three components of Intel® Centrino™ mobile technology.
It enables extended battery life and thinner, lighter mobile computers
Figure 18 - Athlon XP interface diagram
The main competition for Intel is AMD.
AMD compete on price and performance.
AMD chips typically have higher performance per dollar.
However, Intel has been the clear leader in the dual/multi-cpu market with
experience dating back to the early 1980s with their 8086/8088.
Low Power Embedded Processors:
1991: 80186EC
Includes 22 peripherals on one chip including: Power-save clock divider,
PowerDown Idle, 80C187 interface, 8259 compatible Programmable
Interrupt Controller, Timer-counter unit, enhanced chip select unit, 4
channel DMA unit, Serial Communications unit, DRAM Refresh Control
Unit, Watchdog Timer Unit.
Motorola 68HC11 Microcontroller
Primarily used in applications performing a single task or single group of tasks,
controlling:
Microwave Ovens
Fridges
Toasters
Automobiles
In 1991, > 750 million 8-bit microcontrollers were delivered by chip
manufacturers
Motorola Part Numbering
MC 68HC x 11 yy
MC = Motorola Qualified,
XC = Tested Pre Production,
M = General Family Reference
68HC = Motorola HCMOS
(High density Complementary Metal-Oxide Semiconductor)
x =7=EPROM program memory
x =8=EEPROM program memory
none = ROM or NO program memory
11=HC11 family
yy = specific family part type A8, A2, A1, A0, E9, E2, E1, E0, D3, F1, etc
Ten major series of micro-controller units
All M68HC11 Family members have on-chip SCI and SPI, and
most have EEPROM and an A/D converter.
A8:
8-bit MCU
8 Kbytes ROM, 256 bytes of RAM, 512 bytes of EEPROM,
bus speed of 3 MHz.
8-bits, 8-channel A/D (Analog to Digital) converter.
A1 = as for A8 but with the 8K ROM disabled
C0:
chip selects and memory expansion to 256 Kbytes,
2PWM channels
4 A/D channels.
D3:
4 Kbytes ROM, RAM, A/D converter, SPI, SCI and
E:
EEPROM and EPROM on a single chip.
The E-series offers multiple memory sizes in a pin-compatible package.
F1
High-speed expanded systems required the development of the
68HC11F1. This particular chip series stands out with its extra I/O ports,
an increase in static RAM (1 Kbyte), chip-selects, and a 4 MHz nonmultiplexed bus. (Fast)
G5
10-bit A/D resolution.
sophisticated timer systems
K4
KA
high speed, large memories, an MMU, PWMs, I/O.
lower pin count Kseries
L6
Low-power, high-speed chip with a multiplexed bus capable of operation
up to 3 MHz. The L6’s high performance design is based on the
68HC11E9. It includes 16 Kbytes of ROM, plus an additional
bi-directional port. Its fully static design allows operation at frequencies
down to dc.
M series:
enhanced, high-performance microcontrollers are derived from the
68HC11K4 and include large Memory modules, a 16-bit math
coprocessor, and 4 channels of DMA.
P2
Power saving programmable PLL-based clock circuit along with many
I/O pins, large memory and 3 SCI ports
Figure 19 - Motorola 68HC11A8 Microcontroller Block Diagram
Description of 68HC11A8 Block Diagram - From Top-Left clockwise.
Figure 20 - Mode Control - Reference 3 - Page 19.
The 68HC11A8 can be configured to operate in four modes:
0. “Special Bootstrap”. Downloads a bootloader program via serial communications port.
1. “Special Test” mode. Disables register security- for software designers and factory testing.
2. “Single Chip” programmed held in internal EPROM /EEPROM only.
3. “Expanded Multiplexed” mode purpose:
RAM, ROM & Program are external to 68HC11 chip.
We are primarily interested in mode 3 - as this is the mode we will be using.
2. Single Chip mode.
This mode is used when no external data bus is selected, the extra pins can
be used as general purpose digital Input or Output (I/O) ports - Ports B &
C.
3. Expanded Multiplexed mode:
Port B becomes Address bus lines A15..A8, and
Port C Becomes a multiplexed address and data bus lines A7..A0 or D7 ..
D0 depending on the phase of the signal Address Strobe (AS).
When the AS line goes high, the Address is latched into an external
74HC373 latch (See Schematic Below); This occurs once every E clock
cycle.
If we wanted to use ports B and C there are some special chips designed
to provide the functionality of these ports externally. This would be useful
if we were designing a controller that would eventually run in single chip
mode and we wanted to develop the control software using an external
RAM.
Figure 21 - Address Data De-Mulitplexing Schematic. Reference 3 - Page 24
Figure 22 - 52Pin PLCC Pin Assignment.
Reference 3 Page 147
Figure 23- Mulitplexed Expansion Bus Timing - Reference 3 - Page 141
When the AS (Address Strobe) line is high, a valid address is output onto the
multiplexed address/data bus. The 74HC373 - a transparant latch (see Figure 20
above) - transmits this address as the low 8 bits of the CPU address bus, lines
A7..A0. When the AS goes low, the address is latched and held constant until the
AS line goes high again.
So the address lines A7..A0 are held valid from cycle to cycle by an external
74HC373 chip. These address lines become valid soon after the rising edge of
AS ( Time (27)- Time(24) ).
Oscillator & Clock Logic.
The 68HC11Ax contains an oscillator circuit that requires an external
crystal and capacitors. The crystal frequency is four times the E clock frequency.
The E clock signal is halted when the microcontroller is in STOP mode.
Figure 24 - External Crystal Connection - Reference 3 Page 18.
DIGITAL LOGIC REVISION
5V Standard Logic Levels:
Logic High, 1, or True
TTL family level > 2 Volts (greater than 2V)
CMOS , > 2/3 VCC (> 3.33V for VCC=5V)
Logic Low, 0, or False
TTL level < 0.8 Volts (less than 0.8V)
CMOS, < 1/3 VCC (< 1.66V for VCC=5V)
TTL logic level compatible families include: 74xx (plain ttl), F (fast), S
(Schottky), LS (Low Power Schottky), HCT (High speed CMOS Ttl
compatible), ABT (Advanced Bipolar Ttl compatible)
CMOS Compatible: 4000 series, 74C (CMOS) 74HC (High Speed CMOS),
74 Series logic is designed for 5 Volt Power Supply.
The 4000 series logic is designed for 3-15 Volt power supply.
CMOS is considered to be the Ideal Logic Family because it has near zero static
power dissipation. The input equivalent circuit of a CMOS transistor is a 1012
Ohm (1 Tera Ohm) resistor shunted by a 5pF or less capacitor.
Most CMOS inputs also contain diodes connected to power supply rails to protect
from overvoltage and undervoltage whilst in circuit (but out of circuit the supply
rails wont clamp over/under voltages).
Most modern microprocessors are fabricated using CMOS technology.
CMOS Power dissipation
Power Dissipation in CMOS chips arises from mainly from the following sources:
1. Current pulses that occur when both FETs are switched on - typically during
the transition period of a logic level change (I.e. High -> Low or Low -> High
transition).
2. Resistive power dissipation in the FET’s Source-Drain path due to charging
the capacitance on outputs. So lowering capacitance has a direct effect on
lowering power dissipation. Power dissipation is proportional to CV2f, where C is
total Capacitance switching, V is supply Voltage, f is switching frequency.
3. Resistive power dissipation in the load and the FET’s Source-Drain path due
to resistive loads placed on outputs - V2/R power dissipation.
Figure 26 - Charging parasitic capacitance
Figure 27 Discharging parasitic capacitance
4. Supply voltage variation. The greater supply voltage, the greater the CV2f and
V2/R power dissipation.
When CMOS chips are not switching (static operation), the main power
dissipation will be from items 3 and 4 above.
At high frequencies we can see that power dissipation rises proportionately with
switching frequency - refer item 1 and 2 above.
Both these sources of power dissipation necessitate the use of power supply
decoupling capacitors located adjacent (within 1 cm) to each chip. The decoupling
Capacitor supplies power for
1. Charge pumping into the bus and
2. the current pulse through the Complementary FET switches
(Sometimes power supply decoupling capacitors are referred to as power supply
bypass capacitors, )
To minimise power consumption in a system, the circuit should be run at
the lowest acceptable speed to get the job done. This is also good practice from
the perspective of achieving C-Tick approval as the lower the clock rate, the
lower the frequency of radiation, and the simpler the noise suppression techniques
required to gain C-Tick approval. At higher frequencies RF noise radiates readily
from short Printed Circuit Board (PCB) tracks.
Floating Inputs
Due to the exceptionally high input impedance any CMOS input left
disconnected, the input will drift back and forth between logic 1 and logic 0 floating. The floating inputs will cause unpredictable and unreliable outputs and
possibly result in some intriguing, insidious or unexplainable system bugs. The
parasitic capacitance of a clock signal wire passing near a floating input could
make the device dissipate more power at best, and cause the chip to self-destruct
at worst.
Not only will the logic functions be unreliable, but a floating input is more
susceptible to problems known as Zap and Latch-Up. ****
Unused inputs should always be connected to a valid logic level, preferably
by a 10k ohm resistor. In the event that you decide to use that input, a jumperwire connection can replace the resistor connection.
References:
1.
IEEE Timeline of computing History by Bob Carlson, Angela Burgess, and Christine Miller.
2.
http://www.intel.com/intel/intelis/museum/online/hist_micro/hof/index.htm
3.
MC68HC11A8 - “The Motorola HCMOS Single-Chip Microcontroller” TECHNICAL DATA,
11a8td.pdf
4.
“Microelectronic Circuits”, Fourth Edition Sedra/Smith.
Schematic Drawings created by Paul Main using Protel DXP 2004 or Protel 98.