Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Preliminary

Download as pdf or txt
Download as pdf or txt
You are on page 1of 100

Microprocessors

and Microcontrollers
Ali Parsayan
ali.parsayan@freeuni.edu.ge
1
Preliminary

Cost Finding:

Activities: %10

Lab. Projects: %20

Midterm Exam: %30

Final Exam: %40


2
References

Z80 Microprocessors
(Z80 CPU User Manual)

By: ZILOG

Copyright ©2016 Zilog, Inc. All rights reserved.


www.zilog.com
3
References

8086 Family Architecture

By: INTEL

Mnemonics Intel, 1978

4
References

Discovering
the STM32 Microcontroller

By: Geoffrey Brown

June 5, 2016
Revision: 14c8a1e (2016-06-05)
5
References

UM1472 User manual


Discovery kit with STM32F407VG MCU

UM1472 Rev 7

October 2020
www.st.com
6
References

UM1472 User manual


Discovery kit with STM32F407VG MCU

UM1472 Rev 7

October 2020
www.st.com
7
Prerequisites

• Mathematics I & II
• Programming and Computer Applications I & II
• Electrical Engineering I & II
• Analog Electronics
• Digital Electronics

8
Preface

Chapter 1: Z80 (Microprocessor)


Chapter 2: 8085 and 8086 (Microprocessor)
Chapter 3: Microcontrollers
Chapter 4: Discovering the STM32 Microcontroller
Chapter 5: STM32F407VG MCU, Hardware and
Software (Programming)

9
Objectives

• Understand computer hardware as a system programmer


• Use of a processor in control systems
• Understand basic concepts of microcontrollers
• Basic hardware and software debugging
• Understand STM32F407VG MCU architecture and programming
• Understand basic computing concepts such as timers, counters,
interrupts, Interrupt Service Routines, and I/O subsystems
• Be able to work with, program, and design basic embedded
systems

10
History of Microprocessors
• 1950s - The beginning of the digital era and electronic
computing
o Invention of transistor
• 1969 – Intel is a small startup company in Santa Clara
with 12 employees
o Fairchild, Motorola are large semiconductor companies; HP
and Busicom make calculators
• 1971 – Intel makes first microprocessor the 4-bit 4004
series for Busicom calculators
• 1972 – Intel makes the 8008 series, an 8-bit
microprocessor,
o ATARI is a startup company
o Creates a gaming console and releases PONG 11
History of Microprocessors
• 1974 – the first real useful 8-bit microprocessor is released by
Intel – the 8080
o Motorola introduces the 6800 series
o Zilog has the Z80
• 1975 – GM and Ford begin to put microcontrollers in cars
o Many cars today have over 100 microcontrollers
o TI gets into the microprocessor business with calculators and digital
watches
• 1977 – Apple II is released using MOS 6502 (similar to motorola
6800).
o Apple II dominated from 1977 to 1983
• 1978 – Intel introduces the first 16-bit processor, the 8086
o Motorola follows with the 68000 which is ultimately used in the first Apple
Macintosh

12
History of Microprocessors

13
History of Microprocessors

• 1981 – IBM enters the PC making market and uses the


Intel 8088 – proliferation of the home computer
• 1982-1985 – Intel introduces the 32-bit 80286 and 80386
• 1989 – 80486 is being used in PC’s, able to run Microsoft
Windows
• 1992 – Apple, IBM and Motorola begin to make
PowerMac and PowerPC’s using Motorola chips
• 1993 – Pentium chip is released
• The rest is history

14
History

Company 4 bit 8 bit 16 bit 32 bit 64 bit

8008 8088/6
4004 80386 80860
intel 8080 80186
4040 80486 pentium
8085 80286
Z8000
zilog Z80 Z8001
Z8002
6800 68006 68020
Motorola 6802 68008 68030
6809 68010 68040
The 1st uP: Intel 4004

• Introduced 1971
• 2250 transistor
• 108 kHz, 60,000 ops/sec
• 16 pins
• 10-micron (0.001 millimeters) process
• As powerful as the ENIAC which had 18000 tubes and
occupied a large room
• Targeted use: Calculators
• Cost: less than $100
16
ENIAC General-Purpose Computer 1946
(Electronic Numerical Integrator and Computer)

17
Why Intel came up with the idea?

• A Japanese calculator manufacturer (Busicom)


wanted Intel to develop 16 separate IC’s for a line
of new calculators
• Intel, at that point in time known only as a
memory manufacturer, was quite small and did
not have the resources to do all 16 chips
• Ted Hoff came up with the idea of doing all 16 on
a single chip
• Later, Intel realized that the 4004 could have
other uses as well 18
History of Microprocessors
Intel 4004 4-bit microprocessor

19
Intel Pentium 4 (2.2GHz)

• Introduced December 2001


• 55 million transistors
• 32-bit word size
• 2 ALU’s, each working at 4.4GHz
• 128-bit FPU (Floating-Point Unit)
• 0.13 micron process
• Targeted use: PC’s and low-end
workstations
• Cost: around $600
20
Moore’s Law

• In 1965, one of the founders of Intel – Gordon


Moore – predicted that the number of transistors
on an IC (and therefore the capability of
microprocessors) will double every year.
• Later he modified it to 18-months
• His prediction still holds true.
• In fact, the time required for doubling is
contracting to the original prediction, and is
closer to a year now. 21
Evolution of Intel Microprocessors

22
Evolution of Intel Microprocessors

23
Evolution of Intel Microprocessors

24
4-, 8-, 16-, 32-, 64-bit (Word Length)

• The 4004 dealt with data in chunks of 4-bits at a


time
• Pentium 4 dealt with data in chunks (words) of
32-bit length
• The Itanium processor deals with 64-bit chunks
(words) at a time
• Why have more bits (longer words)?

25
kHz, MHz, GHz (Clock Frequency)

• 4004 worked at a clock frequency of 108kHz


• The latest processors have clock freq. in GH
• Out of 2 processors having similar designs, one with
higher clock frequency will be more powerful, same
is not true for 2 processors of dissimilar designs.
• Example:
o Out of PowerPC & Pentium 4 processors working at the
same freq., the former performs better due to superior
design.
o Same for the Athlon uP when compared with a Pentium
26
Discussion

• What are some components of a computer?


• What is a Microprocessor?
• What is a Microcontroller?
• What is an Embedded System?

27
Components of a Computer

• Central Processing Unit


o Interprets and carries out all the instructions contained in
software
• Memory
o Used to store instructions and data
➢ Random Access Memory (RAM)
➢ Read Only Memory (ROM)

• Input/Output
o Used to communicate with the outside world

28
Microprocessor

• A single chip that contains a whole CPU


o Has the ability to fetch and execute instructions
stored in memory
o Has the ability to access external memory, external
I/O and other peripherals
• Examples:
o Intel P4 or AMD Athlon in desktops/notebooks
o ARM processor in Apple iPod

29
Microcontroller

• Essentially a microprocessor with on-chip


memories and I/O devices
• Designed for specific functions
• All in one solution - Reduction in chip count
o Reduced cost, power, physical size, etc.
• Examples
o MC68332, MC68HC11, PPC555
• More details of components later
o A/D converters, temperature sensors, communications, timing
circuits, many others

30
Embedded System

• Special purpose computer system usually completely


inside the device it controls
• Has specific requirements and performs pre-defined
tasks
• Cost reduction compared to general purpose processor
• Different design criteria
o Performance
o Reliability
o Availability
o Safety
31
Microprocessor (MPU)

• MPU (CPU)
o Read instructions
o Process binary data

32
Memory

• Storage Device
o Addresses
o Registers
• Major Categories
o Read/Write Memory (R/W)
o Read-only-Memory (ROM)

33
Input/Output (I/O)

• Input Devices
o Switches and Keypads
o Provide binary information to the MPU
• Output devices
o LEDs and LCDs
o Receive binary information from the MPU

34
Microprocessor-Based Systems

35
Microprocessor Architecture

• The MPU communicates with Memory and I/O using


the System Bus
o Address bus
➢Unidirectional
➢Memory and I/O Addresses
o Data bus
➢Bidirectional
➢Transfers Binary Data and Instructions
o Control lines
➢Read and Write timing signals
36
Microprocessor-Based System

37
Example Microprocessor System

38
Microcontrollers

• Embedded Systems
o Operations managed behind the scenes by a
microcontroller
• Microcontroller (MCU)
o An integrated electronic computing device that
includes three major components on a single chip
➢Microprocessor (MPU)
➢Memory
➢I/O (Input/Output) ports
39
Microcontrollers

• Support Devices
o Timers
o A/D converter
o Serial I/O
o ……….
• Common communication lines
o System Bus
40
Block Diagram

41
Microcontroller Components – Memory

• Each memory location has a


specific address Memory location 0
• We must supply an address Memory location 1

to access the corresponding


location address data

• R/W allows us to select


reading or writing Memory location n-2
Memory location n-1
• Various types of memory for
different functions and r/w
speeds
42
Microcontroller Components – Memory
• Read Only Memory - Memory that can only be read
o Holds the program code for a microprocessor used in an processing system
where the code is always the same and is executed every time the system is
switched on
o Example: Computer BIOS (boot-up information)
• Other types of Read Only Memory
o Erasable Programmable Read Only Memory (EPROM) – Similar to ROM
but can be erased (exposure to ultraviolet light) and reprogrammed
o Electrically Erasable Programmable Read Only Memory (EEPROM) –
more common that EPROM because it can be erased by the microprocessor
o Flash Memory, Ferroelectric RAM (FRAM),
➢ similar in construction to DRAM, using a ferroelectric layer instead of a
dielectric layer (capacitor), Faster than EEPROM
o Magnetic Random Access Memory (MRAM)
➢ similar in construction to DRAM, using a magnetic layer instead of a dielectric layer
(capacitor), Faster than EEPROM, MRAM Read/Write Cycle and Access times are faster
than FRAM
43
Microcontroller Components – Memory

• Random Access Memory – used to store dynamic data


when processor is running
o Holds program code and data during execution
o Can be accesses in any random order – unlike tapes or disks
• Some types of RAM
o Static RAM (SRAM) – Uses transistors to store bits, fast
SRAM is used for cache
o Dynamic RAM (DRAM) – Uses capacitors to store bits, must
be refreshed, smaller and cheaper than SRAM
➢ Fast Page Mode (FPM), and Extended Data Out (EDO)
➢ Synchronous DRAM (SDRAM) – introduced in 1997 and replaced most DRAM
in computers by 2000
❖ Double Data Rate (DDR SDRAM) – uses both clock edges found today in most computers
❖ Concurrent Rambus DRAM (CRDRAM) and Direct Rambus DRAM (DRDRAM) - for high-bandwidth
applications
❖ Extreme data rate dynamic random-access memory(XDR DRAM ) – effective in small, high-bandwidth
consumer systems, high-performance memory applications, and high-end GPUs 44
Read-Only Memory

• uP can read instructions from ROM


• Cannot write new data to the ROM
• ROM remembers the data, even after power
cycled
• Typically, when the power is turned on, the
microprocessor will start fetching instructions
from the still-remembered program in ROM
(bootstrap )
45
Available ROMs
• Masked ROM or just ROM
• PROM or programmable ROM (once only)
• EPROM (erasable via ultraviolet light)
• Flash (can be erased and re-written about 10000 times, usually
must write a whole block not just 1 byte or 2 bytes, slow writing,
fast reading)
• EEPROM (electrically erasable read-only memory, also known as
EEROM—both reading and writing are very slow but can
program millions of times…useless for storing a program but
good for say configuration information.

46
ROM
A0 D0
A1 D1
m+1 bit A2 D2
Address n+1 bit
Data
Am 2m+1  (n + 1)
m +1 Dn
Capacity : 2 ROM
PROM
EEPROM
OEconnect
: : Output Enable
to RD of uP

CE (CS ) : Chip Enable


to Address decoder
CE OE
47
Timing Diagram for a Typical ROM
A0-Am

D0-Dn

CE

OE

OE falls to data valid


Addr valid to data valid
48
27XX EPROM
U3

10 11
9 A0 O0 12
U1 U2 A1 O1
8 13
7 A2 O2 15
8 9 8 9 A3 O3
7 A0 O0 10 A0 O0 6 16
A1 O1 7 10 5 A4 O4 17
6 11 6 A1 O1 11 A5 O5
5 A2 O2 13 A2 O2 4 18
A3 O3 5 13 3 A6 O6 19
4 14 4 A3 O3 14 A7 O7
3 A4 O4 15 A4 O4 25
A5 O5 3 15 24 A8
2 16 2 A5 O5 16 A9
1 A6 O6 17 A6 O6 21
A7 O7 1 17 23 A10
23 23 A7 O7 A11
22 A8 A8 2
A9 22 A12
19 A9
A10 19 22
21 A10 OE
20 A11 27
OE 20 PGM
18 CE
CE 20
18 OE/VPP
21 1
VPP CE VPP

2716 2732 2764


16 kbit 32 kbit 64 kbit
2 kbyte 4 kbyte 8 kbyte

PGM and VPP are used for programming 49


27XXX EPROM
U7

U6 12 13
U4 U5 11 A0 D0 14
10 11 10 A1 D1 15
10 11 10 11 9 A0 O0 12 9 A2 D2 17
9 A0 D0 12 9 A0 D0 12 A1 O1 A3 D3
A1 D1 A1 D1 8 13 8 18
8 13 8 13 7 A2 O2 15 7 A4 D4 19
7 A2 D2 15 7 A2 D2 15 A3 O3 A5 D5
A3 D3 A3 D3 6 16 6 20
6 16 6 16 5 A4 O4 17 5 A6 D6 21
5 A4 D4 17 5 A4 D4 17 A5 O5 A7 D7
A5 D5 A5 D5 4 18 27
4 18 4 18 3 A6 O6 19 26 A8
3 A6 D6 19 3 A6 D6 19 A7 O7 A9
A7 D7 A7 D7 25 23
25 25 24 A8 25 A10
24 A8 24 A8 A9 A11
A9 A9 21 4
21 21 23 A10 28 A12
23 A10 23 A10 A11 A13
A11 A11 2 29
2 2 26 A12 3 A14
26 A12 26 A12 A13 A15
A13 A13 27 2
27 1 A14 A16
22 A14 A15
OE 24
27 22 22 31 OE
20 PGM 20 OE OE/VPP PGM
CE CE 20 22
CE CE
1 1 28 1
VPP VPP VCC VPP

27128 27256 27512 27010


128 kbit 256 kbit 512 kbit 1024 kbit
16 kbyte 32 kbyte 64 kbyte 128 kbyte
50
EPROM

51
28XX E2PROM
12 13
11 A0 D0 14
10 A1 D1 15
12 13 A2 D2
11 A0 D0 14 9 17
A1 D1 8 A3 D3 18
10 11 10 15 A4 D4
A0 D0 9 A2 D2 17 7 19
9 12 A3 D3 A5 D5
10 11 8 A1 D1 13 8 18 6 20
A0 I/O0 A2 D2 A4 D4 5 A6 D6 21
9 12 7 15 7 19 A7 D7
8 9 A1 I/O1 A3 D3 6 A5 D5 20 27
A0 I/O0 8 13 6 16 A8
7 10 A2 I/O2 A4 D4 5 A6 D6 21 26
A1 I/O1 7 15 5 17 A9
6 11 A3 I/O3 A5 D5 27 A7 D7 23
A2 I/O2 6 16 4 18 A10
5 13 A4 I/O4 A6 D6 26 A8 25
A3 I/O3 5 17 3 19 A11
4 14 A5 I/O5 A7 D7 23 A9 4
A4 I/O4 4 18 25 A12
3 15 A6 I/O6 A8 25 A10 28
A5 I/O5 3 19 24 A13
2 16 A7 I/O7 A9 4 A11 29
A6 I/O6 25 21 A14
1 17 A8 A10 28 A12 3
A7 I/O7 24 1 23 A15
23 A9 RDY/BUSY A11 29 A13 2
A8 21 2 A16
22 23 A10 A12 3 A14 30
A9 26 A17
19 A11 A13 2 A15 1
A10 2 1 A18
A12 A14 A16
20 22 24 24
OE 22 OE
21 27 OE OE 31 OE 31
WE 27 WE
18 20 WE WE 22 WE 22
CE 20 CE
CE CE CE
24 28 32 32
VCC 28 VCC
VCC VCC VCC

2816 2864 28256 28010 28040


16 kbit 64 kbit 256 kbit 1026 kbit 4096 kbit
2 kbyte 8 kbyte 32 kbyte 128 kbyte 512 kbyte

52
EEPROM

53
RAM (Random Access Memory)

• The uP can read the data from RAM quickly,


• The uP can write new data quickly to RAM
• RAM forgets its data if power is turned off
• Two type of is available :
o Static RAM (SRAM): FF base, fast, expensive, low
cap/vol, applied for cache, no refresh need.
o Dynamic RAM (DRAM): Capacitor base, slow, low
cost, high capacity/volume, applied for main memory
of PCs, need refresh.
54
RAM(Static)
A0 D0
A1 D1
m+1 bit A2 D2 n+1 bit
Address Data
2m+1  (n + 1)
m +1 Am Dn
Capacity : 2 RAM Data bus is
Bidirectional
RD : Read signal
connect to MemRD of uP

WR : Write signal
connect to MemWR of uP

CS : Chip Select
to Address decoder CS WR RD
55
Microcontroller Components – CPU

• Smart part
o Processes instructions and data
o All the parts of a microprocessor
• Registers – fast memory used to Register 0
address data
store operands and other Register 1
information r/w Register n-1
o Condition register – positive/negative
result inst
o Exception register – overflow ALU
condition
o Loop count register
• Load-store architecture CPU

56
Microcontroller Components – I/O

• Connection to the outside world


• Examples
o Analog to Digital Converter
o Temperature Sensor
o Display
o Communications Circuit

57
Microcontroller Components – BUS

• Group of wires used to transport information


• CPU to Memory
o Address bus
o Data bus
• CPU to I/O
o Port mapped I/O – used when address space is
limited, special instructions are needed for I/O
o Memory mapped I/O – I/O looks like memory
locations, easier to use and common in Reduced
Instruction Set Computing (RISC)
58
Machine-level Execution

• Machine instruction:
o A bundle of binary bits with certain formats
o Only asks for simple operations
o Assembly: textual notations of machine program
• Example:
C Compiler: c = a + b;
Assembly Compiler compiles to Machine execution:
r1 ← mem(a) //mov r1, [#M]
r2 ← mem(b) //mov r2, [#M]
r1 ← ADD r1, r2 //addc r1, r2
mem(c) ← r1 //mov [#M], r1

59
Machine-Level Execution
memory

I/O address
Load

CPU Stack

Store Data

Instruction
Fetch inst

60
Major Instruction Types

• Arithmetic and logic: Add, subtract,


multiply, divide, and, or, not, xor, xnor
• Data movement: transfer data between
registers and/or memories
• Control: Branches and jumps

61
Processor Performance

• CPU Time
= # Cycles × Cycle Time
= # Instructions × CPI × Cycle Time
• CPI: Cycles per instruction

62
RISC

• RISC: Reduced Instruction Set computers


• RISC features:
o Every instruction does a simple task Fixed instruction
o instruction length (usually 32 bits)
o Data operations only applies to registers not memory
o Use memory load and store instruction to move data
o Use general purpose registers (usually 32)
o Use simple ways of referencing memory words

63
CISC

• A complex instruction set computer (CISC) is a


computer architecture in which single instructions can
execute several low-level operations (such as a load from
memory, an arithmetic operation, and a memory store)
or are capable of multi-step operations or addressing
modes within single instructions.
• The most RISC designs use uniform instruction length
for almost all instructions, and employ strictly separate
load and store instructions.

64
Embedded System Programming

• Key factors in embedded programming


o Speed – timing constraints, limited processing power
o Code size – limited memory, power
• Programming methods
o Machine Code – bits
o Low level language – assembly
o High level language – C, C++, Java
o Application level language – Visual Basic, Access
• Levels of abstraction – factor out details to focus on few
concepts at a time
65
Embedded System Programming

• Why use C in embedded programming?


o Ease of management of large embedded projects
o Provides an additional level above assembly
programming
o Fairly efficient
o Supports access to I/O
• Why use assembly?
o High speed, low code size
o However, difficult to do a large project in assembly
66
Embedded System Programming

• Bit is the smallest unit of information


o Base 2 notation – two values
➢1 – On, True
➢0 – Off, False
• Nibble
o 4 bits – 16 possible values
o 1 Hex character = 1 nibble
• Byte, Word, Double Word
o 8 bits, 16 bits, 32 bits
67
Embedded System Programming

• Three most common forms of notation


o Binary (base 2) – 0, 1
o Decimal (base 10) – 0, 1, 2, ..., 9
o Hexadecimal (base 16) – 0, 1, 2, ..., 9, A, B, C, D, E, F
• Can also use octal (base 8)
• Converting between forms
• Binary to Hexadecimal
o Easy, every 4 bits is a hexadecimal character
➢ 11000100
➢ 1100 0100
➢C 4

68
Binary to Decimal Conversion

• Each bit represents an


increasing power of 2
• When viewing a byte
least significant bit is at
the right
• Words can be a little
more confusing
o Big-endian MSB is
stored first
o Little-endian LSB is
stored first 69
Decimal to Binary Conversion

• Subtract the highest


power of 2
• Record a 1 in the
corresponding bit
location
• Pad the remaining bit
locations with a 0
• We will talk about signed
binary later

70
Software

• Machine Language
o Binary Instructions
o Difficult to decipher and write
➢ Error-prone
o All programs converted into machine language for
execution
Instruction Hex Mnemonic Description Processor
10000000 80 ADD B Add reg B to Acc Intel 8085
00101000 28 ADD A, R0 Add Reg R0 to Acc Intel 8051
00011011 1B ABA Add Acc A and B Motorola 6811
71
Software

• Assembly Language
o Machine instructions represented in
mnemonics
o One-to-one correspondence
o Efficient execution and use of memory
o Machine-specific

72
Software

• High-Level Languages
o BASIC, C, and C++
o Written in statements of spoken languages
o Machine independent
o Easy to write and troubleshoot
o Larger memory and less efficient execution

73
Data Format (8-bit)

• Unsigned Integers
oAll eight bits represent the magnitude
of a number
➢Bit7 to Bit0
oRange 00H to FFH (010 to 25510)

74
Data Format (8-bit)

• Signed Integers
o2's Complement
➢Bit 7 is sign bit
oPositive numbers:
➢00H to 7FH (010 to 12710)
oNegative numbers:
➢80H to FFH (-110 to -12810)
75
Data Format (8-bit)

• Binary Coded Decimal Numbers (BCD)


o8 bits of a number divided into groups of
four
➢Each group represents a decimal digit from 0 to 9
oAH through FH are invalid
oExample: 0010 0101BCD = 2510

76
Data Format (8-bit)

• American Standard Code for Information


Interchange (ASCII)
o Seven-bit alphanumeric code with 128
combinations (00H to 7FH)
o Represents English alphabet, decimal digits
from 0 to 9, symbols, and commands

77
MPU-Based Systems

• System hardware
o Discrete components
➢Microprocessor, Memory, and I/O
o Components connected by buses
➢Address, Data, and Control
• System software
o A group of programs that monitors the
functions of the entire system
78
MPU-Based Time
and Temperature System

79
MCU-Based Systems

• Includes microprocessor, memory, I/O ports, and


support devices (such as timers) on a single
semiconductor chip
• BUSes are generally not available to a system
designer
• I/O ports are generally multiplexed and can be
programmed to perform different functions

80
MCU-Based Time
and Temperature System

81
Programming Levels of Representation

Application (Netscape)
Operating
Compiler System
Assembler (Windows)
Software
Instruction Set
Hardware Processor Memory I/O system Architecture

Datapath & Control


Digital Design
Circuit Design
transistors

82
Programming Levels of Representation

High Level Language Program (e.g., C)

Compiler

Assembly Language
Program

Assembler

Machine Language
Program

Machine Interpretation

Control Signal Specification


83
Applications

84
At the high end of the scale

Processor: Intel Pentium 4


Frequency: 3.2GHz
Power consumption: 103 W max.*
Process: 90nm 85
*Intel document no. 300561-002
At the low end of the scale

Processor can consume no


more
than 250-300mW

Embedded Devices

86
Where are the embedded devices?

87
Computer Technology
→ Dramatic Change
• Processor
o 2X in speed every 1.5 years; 100X performance in last
decade
• Memory
o DRAM capacity: 2X/2 years; 64X size in last decade
o Cost per bit: improves about 25% per year
• Disk
o Capacity: > 2X in size every 1.0 years
o Cost per bit: improves about 100% per year
o 250X size in last decade 88
Computer Technology
→ Dramatic Change
• State-of-the-art PC when you graduate: (at least…)
o Processor clock speed:
➢ more than 5000 MegaHertz (5.0 GigaHertz)
o Memory capacity:
➢ more than 16000 MegaBytes (16.0 GigaBytes)
o Disk capacity:
➢ more than 5000 GigaBytes (5.0 TeraBytes)
o New units! Mega => Giga, Giga => Tera
o (Kilo, Mega, Giga, Tera, Peta, Exa, Zetta, Yotta = 1024)

89
Challenges for 21st Century

• PostPC Era will be driven by 2


technologies:
o Mobile Consumer Devices
➢e.g., successor to cell phone, wearable computers
o Massive I/O interfacing

90
Why Study Microprocessor Design?

91
Why Study Microprocessor Design?

Sony Playstation 2000

92
Why Study Microprocessor Design?
Wireless Sensor Networks Platform Power Metering Application

93
5 Classic Components of a Computer
Network/Bus

Processor Processor
Input Input
Control Control
Memory Memory

Datapath Output Output Datapath

94
Microprocessor
Data
Cache
Memory
Bus Control Arithmetic
EM Bus Unit & Logic
Interface Unit
I/O Unit
Instruction Registers
System Decoder
Bus
Floating
Point
Unit
Instruction
Cache Registers
95
Von Neumann Model

96
Arithmetic & Logic Unit (ALU)
• Also known as the “Integer Unit”
• It performs whole-number math calculations
(subtract, multiply, divide, etc) comparisons (is
greater than, is smaller than, etc.) and logical
operations (NOT, OR, AND, etc)
• The new breed of popular uPs have more than
one identical ALU’s that can do calculations
simultaneously, increasing the capability

97
Floating-Point Unit (FPU)

• Also known as the “Numeric Unit”


• It performs calculations that involve numbers
represented in the scientific notation (also known as
floating-point numbers).
• This notation can represent extremely small and
extremely large numbers in a compact form
• Floating-point calculations are required for doing
graphics, engineering and scientific work
• The ALU can do these calculations as well, but will do
them very slowly
98
Registers

• Both ALU & FPU have a very small amount of


super-fast private memory placed right next to
them for their exclusive use.
• These are called registers
• The ALU & FPU store intermediate and final
results from their calculations in these registers
• Processed data goes back to the data cache and
then to main memory from these registers
99
Question?

100

You might also like