CPU + memory - Unife

52
CPU + memory PC address 200 memory CPU PC data IR ADD r5,r1,r3 200 200 ADD r5,r1,r3

Transcript of CPU + memory - Unife

Page 1: CPU + memory - Unife

CPU + memory

PC

address

200

memory

CPU

PCdata

IRADD r5,r1,r3200

200

ADD r5,r1,r3

Page 2: CPU + memory - Unife

Harvard architecture

PCdata memory

address

data

CPU

program memory

address

data

Page 3: CPU + memory - Unife

RISC vs. CISC

• Complex instruction set computer (CISC):

– many addressing modes;

– many operations.

• Reduced instruction set computer (RISC):

– load/store;

– pipelinable instructions.

Page 4: CPU + memory - Unife

Instruction set characteristics

• Fixed vs. variable length.

• Addressing modes.

• Number of operands.• Number of operands.

• Types of operands.

Page 5: CPU + memory - Unife

Programming model

• Programming model: registers visible to the

programmer.

• Some registers are not visible (IR).• Some registers are not visible (IR).

Page 6: CPU + memory - Unife

Multiple implementations

• Successful architectures have several

implementations:

– varying clock speeds;

– different bus widths;

– different cache sizes;

– etc.

Page 7: CPU + memory - Unife

GPS

receiver

search

enginerenderer display

GPS moving map block diagram

user

interfacedatabase

Page 8: CPU + memory - Unife

GPS moving map hardware

architecture

CPUdisplay frame

buffer

GPS

receiver

panel I/Omemory

Page 9: CPU + memory - Unife

GPS moving map software

architecture

position database

searchrenderer

pixels

search

timeruser

interface

Page 10: CPU + memory - Unife

Four-cycle handshake

• Basis of many bus protocols.

• Uses two wires:

– enq (enquiry);– enq (enquiry);

– ack (acknowledgment).

dev1 dev2

enq

ack

data

Page 11: CPU + memory - Unife

Four-cycle example

enq

1 3

4

time

ack

data24

Page 12: CPU + memory - Unife

Typical bus signals

• Clock.

• R/W’: true when bus is reading.

• Address: a-bit bundle.• Address: a-bit bundle.

• Data: n-bit bundle.

• Data ready’.

Page 13: CPU + memory - Unife

Timing diagrams

A

zero

one

rising falling

stable

10 ns

time

B

C

changing

Page 14: CPU + memory - Unife

Typical bus timing for read

• CPU:

– asserts address, address enable;

– set R/W’=1.

• Memory:• Memory:

– asserts data;

– asserts data ready’.

• CPU:

– De-asserts address, address enable.

Page 15: CPU + memory - Unife

Bus read state diagram

Get

data Done

Adrs

Wait

See ack

Page 16: CPU + memory - Unife

Transaction types

• Wait state:

– state in a bus transaction to wait for

acknowledgment.

• Disconnected transfer:

– bus is freed during wait state.

• Burst:

– multiple transfers.

Page 17: CPU + memory - Unife

Host/target design: Cross-Compilazione

• Use a host system to prepare software for

target system:

target

system

host system

serial line:

BDM - JTAG

Page 18: CPU + memory - Unife

Typical PC hardware platform

CPU

CPU bus

memory

inte

rfa

ce

device

CPU bus

DMA

controllertimers

bus

interface

bu

s

inte

rfa

ce

high-speed bus

low-speed bus

device

intr

ctrl

Page 19: CPU + memory - Unife

Logic analyzers

• A logic analyzer is an array of low-grade

oscilloscopes:

Page 20: CPU + memory - Unife

Logic analyzer architecture

UUT sample

memorymicroprocessor

controller

system clock

clock

gen

state or

timing mode

vector

address

displaykeypad

Page 21: CPU + memory - Unife

I2C bus

• Designed for low-cost, medium data rate applications.

• Characteristics:

– serial;– serial;

– multiple-master;

– fixed-priority arbitration.

• Several microcontrollers come with built-in I2C controllers.

Page 22: CPU + memory - Unife

I2C physical layer

master 1 master 2

SDL

data line

slave 1 slave 2

SCL

clock line

Page 23: CPU + memory - Unife

I2C data format

SCL ......

SDL

MSBstart

...

ack

Page 24: CPU + memory - Unife

I2C electrical interface

SDL

+• Open collector interface:

SCL

+

Page 25: CPU + memory - Unife

I2C signaling

• Sender pulls down bus for 0.

• Sender listens to bus---if it tried to send a 1

and heard a 0, someone else is and heard a 0, someone else is

simultaneously transmitting.

• Transmissions occur in 8-bit bytes.

Page 26: CPU + memory - Unife

I2C data link layer

• Every device has an address (7 bits in

standard, 10 bits in extension).

– Bit 8 of address signals read or write.

• General call address allows broadcast.

Page 27: CPU + memory - Unife

I2C bus arbitration

• Sender listens while sending address.

• When sender hears a conflict, if its address is

higher, it stops signaling.higher, it stops signaling.

• Low-priority senders relinquish control early

enough in clock cycle to allow bit to be

transmitted reliably.

Page 28: CPU + memory - Unife

I2C transmissions

multi-byte write

read from slave

S adrs 0 data data P

read from slave

write, then read

S adrs 1 data P

S adrs 0 data S adrs 1 data P

Page 29: CPU + memory - Unife

Personal digital assistant

• PDA: portable, specialized information device.

• Characteristics:

– low cost for consumer market;– low cost for consumer market;

– physically small;

– battery-powered;

– software-rich.

Page 30: CPU + memory - Unife

Apple Newton

• First modern PDA.

• Original used ARM 610; later version used

StrongARM (ARM7) last: ARM9.StrongARM (ARM7) last: ARM9.

• Support operations in Runt ASIC: DMA, real-

time clock, video interface, audio, PCMCIA.

• Software written in NewtonScript language.

Page 31: CPU + memory - Unife

Newton hardware architecture

ARM 610 ROM RAM

RuntPCMCIA Runt

ASIC

LCD

speaker

serial I/F

A/D

tablet

PCMCIA

infrared

Page 32: CPU + memory - Unife

Motorola Envoy hardware

architecture

PCMCIA 1 MB DRAM 4 MB flash

Astro infrared

Magicbus

Astro

system

ASIC

68439

CPU

audio

modem

infrared

power supply

A/Dtouchscreen

Page 33: CPU + memory - Unife

Moore’s Law (Sematech)

109

billion-transistor

108

2000 2012

PC on chip

billion-transistor

system-on-chip

Page 34: CPU + memory - Unife

Embedding a computer

output analog

CPU

mem

input analog

embedded

computer

Page 35: CPU + memory - Unife

Examples

• Personal digital assistant (PDA).

• Printer.

• Cell phone.• Cell phone.

• Automobile: engine, brakes, dash, etc.

• Television.

• Household appliances.

• PC keyboard (scans keys).

Page 36: CPU + memory - Unife

BMW 850i brake and stability

control system

• Anti-lock brake system (ABS): pumps brakes to

reduce skidding.

• Automatic stability control (ASC+T): controls • Automatic stability control (ASC+T): controls

engine to improve stability.

• ABS and ASC+T communicate.

– ABS was introduced first---needed to interface to

existing ABS module.

Page 37: CPU + memory - Unife

BMW 850i, cont’d.

brake

sensor

brake

sensor

brake

sensor

brake

sensor

ABShydraulic

pump

Page 38: CPU + memory - Unife

Ruby II

advanced

communication

controller

organization

ARMcore

512 x 32SRAM

counter/timers

interruptcontroller

paralleli/f 1,2,3,4

external

control

address (22)

externalinterrupts (3)

clockcontrol

clock

UART2

serial

UART1

PCMCIAhost

interface

parallelinterface 0

externalbus

control

serial

address (22)

data (8/16/32)

I2C, ...

8 data bits & control

controller

high-speedserial i/f

hostFIFOs

(16 x 8)

serialFIFOs

(16 x 8)

I/Omodeselect

Page 39: CPU + memory - Unife

VIP

organization

ARM6core

768 x 32SRAM

timer &watchdog

interruptcontroller

parallelinterface

control

externalinterrupts (3)

clockcontrol

clock

ports

ADCs (2)

DRAM

B and D

G.711

addressdecoder

externalbus

control

serial

address (23)

data (8/16/32)

ras, cas

chip selects

controller

DSPserial i/f

mux address

codechandset/hands-free

S0-interfacechannels

battery, volume

Page 40: CPU + memory - Unife

Typical VIP system configuration

Driver

hands-freeV24 interface

volume

hook switch

K E Y

P A D

power

S0-ISDN interface

ROM

RAM

ISDNSubscriberProcessor

hook switch

Page 41: CPU + memory - Unife

OneC

VWS22100

GSM chip

organization 32 KHz

JTAGtest/debug

ARM7TDMIcore

interruptcontroller

are cs

programRAM

programROM

radio i/fDSP radio

port

PCM i/faudio i/f

SIM i/f

RTC

bootROM

UART1

UART2/IrDA

high-speedserial i/f (2)(20)

(13)

(6)

(6)

(4)

(5)

(4)

DS

P b

us

cntrl (6)

addr (20)

data (16)

interruptcontroller

config./status

dataROM

dataRAM

powermanager

memorycontroller

Oak DSPcore

ha

rdw

acop

roc

ADC

keypadscanner

GPIOPWM

RTC

externalbus

control

(7)

(10)

(11)D

AR

M b

us

DSPsubsystem

Page 42: CPU + memory - Unife

Typical GSM handset architecture

VWS22100

SIM

card eeprom

radiomodule

IrDA

speaker

mic

K E Y

P A D

ROM

RAM

VWS22100

LCD

ringer

Page 43: CPU + memory - Unife

Ericsson-VLSI Bluetooth Baseband Controller

organization

ARM7TDMIcore

4 KbyteI-cache

16K x 32SRAM

internalROM

control

JTAGsignals (5)

clockcontrol

clock

EBC

externalbus

control

control

address (20)

data (8/16)

radio interface

block

USB i/f

I2C i/f

UART1,2,3

FIFOsI/O

modeselect

interruptcontroller

counter/timers

Page 44: CPU + memory - Unife

Typical Bluetooth application

flashflash Bluetooth

Basebandaddress

memoryradio

moduleflashmemory

BasebandController

control

data

host interface

memory module

(RS232/USB)

Page 45: CPU + memory - Unife

Bluetooth characteristics

Process 0.25 um Transistors 4,300,000 MIPS 12

Metal layers 3 Die area 20 mm2

Power 75 mW

Vdd 2.5 V Clock 0 – 13 MHz MIPS/W 160Vdd 2.5 V Clock 0 – 13 MHz MIPS/W 160

Page 46: CPU + memory - Unife

AM

AM

AM

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

RA

[11

:0]

cas[3:0]

]

analoguesound v

ide

o

Typical

ARM7500

system

organizationARM7500

DR

A

DR

A

DR

A

DR

A

RO

M

RO

M

I/Omodule

I/Omodule

LA[28:0]

D[31:0]

ras[3

:0]

inte

rrup

ts

BD[15:0]

moduleselects

keyboard& mouse

analogueinputs

organization

Page 47: CPU + memory - Unife

ARM7500 characteristics

Pro ces s 0.6 um Trans i s to rs 550,000 MIPS 30

Metal l ay ers 2 Di e area 70 mm2

Po wer 690 mW

Vdd 5 V Cl o ck 0 to 33 MHz MIPS/ W 43Vdd 5 V Cl o ck 0 to 33 MHz MIPS/ W 43

Page 48: CPU + memory - Unife

ARM7100

organization

LCDcontroller

control

address (28)

data (32)

clock PLLpowermgt.

counter/timers

MMUARM7core

8 Kbytecache

3.6864 MHz

32.786 KHz

interruptcontroller

externalbus

control

AMBA

ARM710a

data (32)

DRA(13)

codec i/f

FIFOs

UART

RTCosc.

32.786 KHz

RAS, CAS(8)

WE, OE(2)

DRAMcontroller

sync serial expansion

parallel I/O PSU control

Page 49: CPU + memory - Unife

The Psion

Series 5

hardware

ARM7100

ROMDRAM

ADC

PSU

PC cards

Flash

hardware

organization

640 x 240

digitizing

LCD

tablet

codec

IrDA Tx/Rx

RS232

keyboard

infrared

audio

Page 50: CPU + memory - Unife

ARM7100 characteristics

Process 0.6 um Transistors N/A MIPS 30

Metal layers 2 Die area N/A mm2

Power 14 mW

Vdd 3.3 V Clock 18.432 MHz MIPS/W 212Vdd 3.3 V Clock 18.432 MHz MIPS/W 212

Page 51: CPU + memory - Unife

CPU core

SA-1core d

ata

ca

ch

e

instructioncache

instructionMMU

dataMMU

min

i-ca

che

read bufferwrite buffer

LCD (5)

data (32)

address (26)

system bus

SA-1100

organization

3.6864 MHz

32.786 KHz

clockPLL

RTCosc.

memory &PCMCIA

LCDcontrol

DMAcontrol bridge

serial 0

serial 1

serial 2

serial 3

serial 4reset

control

interruptcontrol

OStimer

general-purpose I/O

powermanager

RTC

LCD (5)

I/O pins (28)

battery (3)

address (26)

control

USB (2)

SDLC (2)

IrDA (2)

UART (2)

Codec (4)

peripheral bus

reset (2)

Page 52: CPU + memory - Unife

SA-1100 characteristics

Process 0.35 um Transistors 2,500,000 MIPS 220/250

Metal layers 3 Die area 75 mm2

Power 330/550 mW

Vdd 1.5/2 V Clock 190/220 MHz MIPS/W 665/450Vdd 1.5/2 V Clock 190/220 MHz MIPS/W 665/450