Applicazioni - unibo.it

15
Macchine di Calcolo Programmabili Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 Macchine Programmabili GP Microprocessors Embedded Microprocessors Digital Signal Processors Appication Specific Signal Processors Systems -on-Chip Systems -on-Programmable Chip Reconfigurable Computing Microcontrollori APPLICAZIONE Soft Cores

Transcript of Applicazioni - unibo.it

Page 1: Applicazioni - unibo.it

1

Macchine di Calcolo Programmabili

Fabio CampiCorso di Elettronica dei Sistemi Digitali LS

AA 2003-2004

Macchine Programmabili

GP Microprocessors

Embedded Microprocessors

Digital Signal Processors

Appication Specific Signal Processors

Systems -on-Chip

Systems -on-Programmable Chip

Reconfigurable Computing

Microcontrollori

APPLICAZIONESoft Cores

Page 2: Applicazioni - unibo.it

2

Applicazioni

Page 3: Applicazioni - unibo.it

3

La Legge di Moore

Page 4: Applicazioni - unibo.it

4

Applicazioni: Applicazioniembedded

Dsp

Microprocessori

Microcontrollori

Page 5: Applicazioni - unibo.it

5

Architettura Risc

REGISTERFILE

ALU

CONTROL LOGIC

DMEM

Shifter

Multiplier

Imem

MUX Mux

immediate

Dato da scrivere

Dat

o le

tto

indi

rizz

o

Dat

aPat

h

rd

rs2

rs1

DataPath: Architettura ALU

+ - Logic Operations Comparator

MUX

Alu_op

… …

Page 6: Applicazioni - unibo.it

6

Control Logic

INSTRUCTION MEMORY INSTRUCTION

DECODELOGIC

Immediate

Alu_op, Shifter_op, Mul_op

Rfile_control

Dpath Mux control

Jump_opInstruction

Address

ProgramCounter

Immediate

Risc Instruction Set Architecture

L’ instruction set ideale per una architettura di tipo Risc a 32 bit è stato standardizzato Da J.Hennessy e D.Pattersson attraverso valutazioni QUANTITATIVE.Si è cercato di individuare quale fosse il set MINIMALE di istruzioni macchina (Assembly)che offrisse le prestazioni migliori SENZA AUSILIO DI MICROCODICE.( Si definisce Microcodice il set di operatori elementari che descrive il comportamentodi una determinata istruzione assembly. Nel caso delle macchine Risc non esiste Microcodice ed ad ogni ciclo si esegue una sola istruzione.)

Gli i.s. Risc sono più semplici, simmetrici e facilmente modificabili per andare incontroalle esigenze della applicazione specifica. Portano inoltre ad un hardware moltosemplificato. In caso di applicazioni general purpode portano però ad una ridotta Efficienza, poiché è necessario un numero elevato di istruzine per eseguire un determinato tipo di calcolo.

Page 7: Applicazioni - unibo.it

7

Risc Instruction Set ArchitectureIstruzioni Appartenenti all’ ISA Risc Standard:

Operazioni di Controllo:Nop, Li, Lui, mv(No operation, Load immediate, load upper immediate, move register to register)

Operazioni Alu:Add,Addu, addi, addiu ,sub,subi, and, or, not, xorSeq,sneq,sgt,sge,slt,sle

Operazioni Shift:Sll,srl,sra

Operazioni Per la gestione della MemoriaLw,lh,lhu,lb,lbuSw,sh,sb

Operazioni per il controllo del flusso di programmazioneJ,jr,jal,jlrBeqz,bneqz

Estensioni piu’ comuniIstruzioni Appartenenti all’ ISA Risc Standard:

Operazioni Moltiplicazione:Mul, Mulu (Moltiplicazione unsigned), Mad

Operazioni Shift:Rotl, RotrSllv (shift immediate. In questo caso v sta’ per variable ma e’ un semplice immediate)Srlv,Srav

Branch con confronto rispetto a zeroBgtz,bltz,bgez,blez

Branch con confronto tra due registriBeq,bneq, bgt,bge,blt,ble

Branch con decremento per implementare cicli forBeqzdec, bneqzdec

Page 8: Applicazioni - unibo.it

8

Formati istruzione

Caso Esemplificativo: ISA RISC standard a 32 bit

Opcode RD RS1 RS2 00000 opcode secondario

Opcode Immediate 26

Opcode RD RS1 Immediate 16

6 5 5 5 6

6 5 5 16

6 26

RRR

RRI

J

RISC Instruction Set Architecture

Page 9: Applicazioni - unibo.it

9

Instruction set architecture:pregi e difetti dei diversi approcci

Architettura di Memoria

Processore

Macchina di Von Neumann:Vantaggio: Flessibilità

Svantaggio: Lentezza, scarso Parallelismo. Adatta per

Architetture general purpose

Memoria Istruzioni & Dati

Processore

Architettura Harvard:Vantaggio: Velocità, maggior parallelismo

Negli accessi. Sicuramente più adatta a macchine RISC ed a applicazioni embedded

Svantaggio: Lentezza, scarso Parallelismo

MemoriaDati

MemoriaIstruzioni

Page 10: Applicazioni - unibo.it

10

Architettura di memoriaAlternativa piuttosto comune in moderni sistemi embedded: Core Harvard basato su due cache, che hanno accesso singolo (Von Neumann) alla architettura di Bus.

Processore

CacheDati

Cache Istruzioni

BUS ARCHITECTUREARBITRO

Memoria Principale (Instr&Dati)

Periferiche di IO

PROCESSOR

ExternalSRAM/FLASH

Interface(EMI)

DMA busmaster

BRIDGE

On-chip RAM

ParallelPort USB

Timer I2C InterfaceI2C Interface

AHB bus APB busArbiter

DisplayControllers

(LCD, 7 seg)

TestInterfaceController

I/OI/O

…… RS-232

Architettura di bus (AMBA)

Page 11: Applicazioni - unibo.it

11

Protocolli di Bus

AMBA: Sviluppato da ARM, è ormai standard de-facto per architetture embedded

Coreconnect : Leggermente più complesso, e adatto anche a sistemi general purpose , è proprietatio di IBM

VCI (Virtual Component Interface): E uno standard open source,usato per distribuire blocchi di IP-reuse, ma non ha grande diffusione.

Caratteristiche dei DSP

Processori DSPü Unita’ funzionali application-specific applicate ad un

ambiente software-programmableü Difficolta’ con i compilatori -> largo uso di assembly

Page 12: Applicazioni - unibo.it

12

DSP: Applicazioni

• Wireless – Telefonia Mobile (RF Codecs, Voice band Radio)

• Consumer Audio (Stereo A/D, D/A, Audio compression)• Multimedia (Image Compression Codecs and Filtering)

• DTAD (Segreteria Telefonica Automatica)(Sintesi e riconoscimento del parlato)

• Automotive (Active Suspensions,Injection Control etc.)

• HDD (Memorie di Massa)

Funzionalita’ Interne

Page 13: Applicazioni - unibo.it

13

Gestione della memoria

Architetture vliw e superscalari

Vliw & Superscalar Processorsü Spostano il concetto di computazione nello

in un ambiente software-programmableü Presentano problemi di scheduling e

hazard handling

lwlw $2,a$2,anopnop

lwlw $3,b$3,bnopnop

lwlw $4,c$4,cadduaddu $2,$2,$3$2,$2,$3

lwlw $5,d$5,dmulmul $2,$2,$2$2,,$2$2

nopnopadduaddu $4,$4,$4$4,$5,$5

lwlw $5,e$5,esllsll $3,$4,1$3,$4,1

adduaddu $3,$3,$4$3,$3,$4nopnop

subusubu $2,$2,$3$2,$2,$3nopnop

adduaddu $2,$2,$5$2,$2,$5nopnop

j $31j $31adduaddu $29,$29,24$29,$29,24

Page 14: Applicazioni - unibo.it

14

Organizzazione del datapath

• SISD => Single Instruction Single Data: (classica architettura di tipo risc a cui è associato un singolo percorso dati)

• SIMD => Single Instruction Multiple Data: Es. Alumulticanale . Architettura tipica di alcuni DSP che possono eseguire multiple contemporanee istanze della stessa operazione. Metodologia di calcolo comune a image processing e applicazioni di networking.

• MIMD => Multiple instruction Multiple Data: processori che permettono la coesistenza di multipli canali dati indipendenti, come VLIW e superscalari

• MISD => Dsp o unità funzionali complesse sono in grado di eseguire una serie di istruzioni consecutive su un determinato dato.

Superscalari e VLIW

• Si definiscono SUPERSCALARI processori che eseguono un numero>1 di istruzioni contemporaneamente, determinandone lo scheduling a tempo di esecuzione

• Processori VLIW (Very long Instruction Word) determinano lo scheduling delle istruzioni a tempo di compilazione: semplificano quindi la struttura hardware al prezzo di una maggiore complessità del passo di compilazione

Page 15: Applicazioni - unibo.it

15

Esempi di processori commerciali per ambienti embedded

• Microcontrollori e processori Discreti: Pic(Microchip), Mips, PowerPC, ST 10/20/200, altri prodotti di TI o Motorola, Intel 80x

• Microprocessori Embedded (cores VHDL): Arm, Mips, Tensilica (Processore reconfigurabile a tempo di compilazione VHDL)

• Soft Cores: Nios, MicroBlaze, Leon (Open-Source di Esa), diversi prodotti accademici

• DSP: Ti, Hitachi, Motorola