Design technologies. Tre tecnologie chiave nei sistemi embedded. Tecnologia. Tecnologie per I sistemi embedded



Documenti analoghi
Metodologie di Progettazione Hardware/Software Introduzione

Metodologie di progetto hardware/software

CALCOLATORI ELETTRONICI 15 aprile 2014

Metodologie di progettazione

Architettura del calcolatore

Architettura di tipo registro-registro (load/store)

Hardware di un Computer

Calcolatori Elettronici

Calcolatori Elettronici

CPU. Maurizio Palesi

Elettronica dei Sistemi Programmabili

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2010

Esempio: aggiungere j

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow

8 Microcontrollori PIC

Hardware/Software Codesign (introduzione) Generalità Architetture di riferimento

CALCOLATORI ELETTRONICI 31 marzo 2015

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Architettura hardware

La macchina programmata Instruction Set Architecture (1)

Tutorato Architettura degli elaboratori

Microelettronica. Architettura del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre. Microelettronica

Lezione 3: Architettura del calcolatore

Sito personale e forum

VNET HOP Hw code 2248 Rev. 0. VNET 433 Hw code 2235 Rev. 2. VNET 433 FLEX Hw code 2274 Rev. 0. VNET LP Hw code 2247 Rev. 0

F. Tortorella Corso di Calcolatori Elettronici

Università degli Studi del Sannio. Facoltà di Ingegneria

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

Controllo con macchina a stati finiti

introduzione I MICROCONTROLLORI

Esercitazione sulle CPU pipeline

Calcolo numerico e programmazione Architettura dei calcolatori

MODELLO DLX IN UNISIM

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

C. P. U. MEMORIA CENTRALE

Calcolatori Elettronici A a.a. 2008/2009

ASIC CARATTERISTICHE GENERALI INTRODUZIONE

Calcolatori Elettronici B a.a. 2006/2007

Struttura del calcolatore

Lezione E5. Sistemi embedded e real-time

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Calcolatori Elettronici

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Architettura dei calcolatori I parte Introduzione, CPU

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

L unità di controllo di CPU multi-ciclo

CALCOLATORI ELETTRONICI

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

INTRODUZIONE AI SISTEMI EMBEDDED

Organizzazione pipeline della CPU

Collegamento al sistema

Il microprocessore 8086

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole.

Fondamenti di informatica: un po di storia

Università degli Studi di Cassino e del Lazio Meridionale

Introduzione alle misure con moduli multifunzione (DAQ)

Corso di Sistemi di Elaborazione A.A. 2008/2009

ecos for AT91SAM9G20 Introduction to ecos O.S. for Atmel AT91SAM9G20 and Vulcano G20

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

Lezione n.19 Processori RISC e CISC

Laboratorio di Informatica

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

CALCOLATORI ELETTRONICI A cura di Luca Orrù

Elettronica dei Sistemi Digitali L-A

ARCHITETTURA DI UN PERSONAL COMPUTER

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

CALCOLATORI ELETTRONICI 27 giugno 2017

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

FPGA: Introduzione. Dispositivi Programmabili. FPGA - Flessibilità e prestazioni. FPGA - Caratteristiche

1.4a: Hardware (Processore)

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché:

Linux Embedded un pinguino piccolo così

L architettura di riferimento

Hazard sul controllo. Sommario

IL DSP - Digital Signal Processor

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

Sistemi di Automazione Industriale

ARCHITETTURA DELL ELABORATORE

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE

Introduzione all'architettura dei Calcolatori

Informatica di Base - 6 c.f.u.

Architetture Applicative

Architettura dei calcolatori

Come funziona un sistema di elaborazione

CPU pipeline 4: le CPU moderne

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Macchine Programmabili

Me and You and Everyone We Know

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Architettura di un calcolatore: introduzione

Dispensa di Informatica I.1

Approccio stratificato

Transcript:

Design technologies 33 Tre tecnologie chiave nei sistemi embedded Tecnologia Un modo di realizzare un task, usando processi, metodi o conoscenza Tecnologie per I sistemi embedded Processor technology IC technology Design technology 34

Processor technology L architettura dell unità di computazione utilizzata per implementare la funzionalità richiesta al sistema I processori non devono essere necessariamente programmabili Processore non vuol dire general-purpose processor Controller Control logic and State register IR PC Datapath Register file General ALU Controller Control logic and State register IR PC Datapath Registers Custom ALU Controller Control logic State register Datapath index total + Data Data Program Assembly code for: Data Program Assembly code for: total = 0 for i = to General-purpose ( software ) total = 0 for i = to Application-specific Single-purpose ( hardware ) 35 Processor technology I processori variano in funzione del problema Desired functionality total = 0; for (i = 0; i< N; i++) total += [i]; General-purpose processor Application-specific processor Single-purpose processor 36

General-purpose processors Dispositivi programmabili usati per un ampio spettro di applicazioni Noti come microprocessori Caratteristiche Program General Datapath con ampio register file e ALU di tipo generale Vantaggi Basso time-to-market e NRE costs Alta flessibilità Svantaggi Alti costi per unità per grandi volumi Le prestazioni potrebbero essere ridotte Controller Control logic and State register IR PC Program Assembly code for: total = 0 for i = to Datapath Register file General ALU Data 37 General-purpose processors il DLX sequenziale PCWriteCond PCWrite IorD emread emwrite IRWrite em2reg Unità di Controllo PCSource TargetWrite ALUop ALUSelA ALUSelB RegWrite RegDest P C U X Ind Lettura E Scrittura Dati Lettura Dati R E G I S T R em Data U X U X Reg. Let. Reg. Let. 2 Reg. Scrittura Scrittura Dati R E G F I L E Est. Segno Let. Dati Let. Dati2 A B 4 U X U X Shift S.2 bit A L U Zero Ris. Shift S.2 bit TA R G ET AluOutput U X 38

PCSrc General-purpose processors il DLX pipeline 0 ux ID/EX WB EX/E Control WB E/WB IF/ID EX WB Add PC 4 Address Instruction Instruction RegWrite Read register Read data Read register 2 Registers Read Write data 2 register Write data Shift left 2 0 u x Add Add result ALUSrc Zero ALU ALU result Branch Address Write data emwrite Data Read data emtoreg ux 0 Instruction [5 0] 6 32 Sign extend 6 ALU control emread Instruction [ 6] Instruction [5 ] 0 ux RegDst ALUOp 39 General-purpose processors total = 0; for (i = 0; i< N; i++) total += [i]; addi r, r0, 0 addi r3, r0, 0 Loop: lw r4,(r) addi r,r,4 slti r2, r, 40 add r3,r3,r4 bnez r2, loop 40

Pipelining: Increasing Instruction Throughput Wash Dry 2 3 4 5 6 7 8 Non-pipelined 2 3 4 5 6 7 8 2 3 4 5 6 7 8 Pipelined 2 3 4 5 6 7 8 non-pipelined dish cleaning Time pipelined dish cleaning Time Fetch-instr. Decode Fetch ops. 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 Pipelined Execute Store res. Instruction 2 3 4 5 6 7 8 2 3 4 5 6 7 8 pipelined instruction execution Time 4 Superscalar and VLIW Architectures Performance can be improved by: Faster clock (but there s a limit) Pipelining: slice up instruction into stages, overlap stages ultiple ALUs to support more than one instruction stream Superscalar Scalar: non-vector operations Fetches instructions in batches, executes as many as possible ay require extensive hardware to detect independent instructions VLIW: each word in has multiple independent instructions Relies on the compiler to detect and schedule instructions Currently growing in popularity 42

Single-purpose processors Sistema digitale progettato per eseguire un solo programma Es. coprocessori, acceleratori o periferiche Caratteristiche Contengono i soli componenti che servono per eseguire un solo programma Non hanno la program Vantaggi Veloce, Low power, Piccola dimensione Svantaggi Assenza di flessibilità, alto time-to-market, alto costo NRE Controller Control logic State register Datapath index total + Data 43 Single-purpose processors Cond Rst_Index Compare N Unità di controllo Clk_Index Rst_Total Index 4 + emory Clk_Total Total + Datapath 44

Application-specific processors Processori programmabili ottimizzati per una particolare classe di applicazioni Compromesso tra general-purpose e singlepurpose processors Caratteristiche Program, Datapath ottimizzato, Unità funzionali speciali Vantaggi Buona flessibilità, buone performance, size e power Svantaggi Alto costo NRE (processore e compilatore) Controller Control logic and State register IR PC Program Assembly code for: total = 0; for(i =0;i<N;i++) total+=[i]; Datapath Registers Custom ALU Data Esempi: icrocontrollori, DSP 45 A Common ASIP: icrocontroller For embedded control applications Reading sensors, setting actuators ostly dealing with events (bits): data is present, but not in huge amounts e.g., VCR, disk drive, digital camera (assuming SPP for image compression), washing machine, microwave oven icrocontroller features On-chip peripherals Timers, analog-digital converters, serial communication, etc. Tightly integrated for programmer, typically part of register space On-chip program and data Direct programmer access to many of the chip s pins Specialized instructions for bit-manipulation and other low-level 46

Digital Signal Processors (DSP) For signal processing applications Large amounts of digitized data, often streaming Data transformations must be applied fast e.g., cell-phone voice filter, digital TV, music synthesizer DSP features Several instruction execution units ultiple-accumulate single-cycle instruction, other instrs. Efficient vector operations e.g., add two arrays Vector ALUs, loop buffers, etc. 47 icrocontrollore: Famiglia ST6 icrocontrollore a 8 bit emories Up to 4 Kbytes of program OTP/RO Up to 64 bytes of RA I/O Ports Up to I/O lines ultifunctional, bi-directional I/O pins Up to 4 high current capability I/O line Clock, Reset and Power Supply Power supply operating range: 3.0V to 6V aximum external frequency: 8 Hz Oscillator Safeguard (OSG) and Backup oscillator (LFAO) Low Voltage Detector (LVD) 2 power saving modes: WAIT and STOP Interrupts 4 interrupt vectors plus NI and RESET Software programmable for each I/O I/O Ports Up to I/O lines ultifunctional, bi-directional I/O pins Up to 4 high current capability I/O line Peripherals Watchdog timer 8-bit timer ADC Instruction Set 8-bit accumulator-based architecture 40 instructions 9 addressing modes 48

icrocontrollore: STR7(AR7TDI core) STR70F Flash icrocontrollers from STicroelectronics combine the industry standard AR7TDI RISC microprocessor with embedded Flash and powerful peripheral functions including, USB and CAN. 49 La famiglia AR7 L AR7 è un processore RISC a 6/32 bit, prodotto, a partire dal 93, dalla Advanced Risc achines Ltd. È disponibile in una ampia gamma di versioni, dedicate principalmente ad applicazioni di tipo embedded. Tra queste, ci sono numerosi mc prodotti da almeno 0 diversi costruttori tra i quali ST, otorola, NEC, Atmel, Philips, Sharp, TI. Si tratta quindi di un vero e proprio standard industriale. 50

Integrated circuit (IC) technology Il modo in cui una implementazione digitale (gate-level) è mappata su un IC IC: Integrated circuit, o chip IC sono costituiti da diversi layer I layer più bassi formano i transistor Quelli intermedi formano i componenti logici Quelli più alti collegano i componenti con i wires Le tecnologie differiscono nel livello di specializzazione rispetto a un design gate IC package IC source oxide channel drain Silicon substrate 5 IC technology Porta NAND 52

IC technology Tre tipi di IC technologies Full-custom/VLSI Semi-custom ASIC (gate array and standard cell) PLD (Programmable Logic Device) 53 Full-custom/VLSI Tutti i layer sono ottimizzati per una particolare implementazione del sistema embedded Placing transistors Sizing transistors Routing wires Benefici Eccellenti performance, piccola dimensione, ridotta potenza Svantaggi Elevato NRE, lungo time-to-market 54

Semi-custom I layer più bassi sono in tutto o in parte realizzati I designers devono occuparsi dei livelli più alti Benefici Buone performance, buona dimensione,minore NRE rispetto a una implementazione full-custom Svantaggi Richiede ancora settimane o mesi per lo sviluppo Gate array Standard Cell 55 PLD (Programmable Logic Device) Tutti i layers già esistono I designers possono comprare un IC Le connessioni sull IC sono o create o distrutte per implementare la funzionalità richiesta Due tipi: Programmable Logic Array (PLA) Field-Programmable Gate Array (FPGA) Benefici Basso NRE, la dispobibilità dell IC è quasi immediata Svantaggi Più grande, più costoso, consuma molto, più lento 56

Programmable Logic Array (PLA) 57 Xilinx FPGA 58

Indipendenza tra processore e IC technologies General, providing improved: Generalpurpose processor ASIP Singlepurpose processor Customized, providing improved: Flexibility aintainability NRE cost Time- to-prototype Time-to-market Cost (low volume) Power efficiency Performance Size Cost (high volume) PLD Semi-custom Full-custom 59 Legge di oore Il più importante trend nei embedded systems Predetto in 65 dal cofondatore della Intel, Gordon oore La capacità dei transistor raddoppierà ogni 8 mesi per le prossime decadi Logic transistor s per chip (in millions) Note: logarithmic scale 0,000,000 00 0 0. 0.0 0.00 8 83 85 87 89 9 93 95 97 99 0 03 05 07 09 60

Illustazione grafica della legge di oore 8 84 87 90 93 96 99 02 0,000 transistors 50,000,000 transistors Leading edge chip in 8 Leading edge chip in 02 6 La produttività aumenta in modo esponenziale 00,000 0,000,000 00 0 0. 0.0 8 09 07 05 03 0 99 97 95 93 9 89 87 85 83 Productivity (K) Trans./Staff o. 62

Design productivity gap Sebbene la capacità produttiva dei progettisti sia aumentata in modo impressionante, non ha tenuto il passo dell incremento della capacita dei chip 0,000 00,000,000 0,000 Logic transistors per chip (in millions) 00 0 0. 0.0 IC capacity productivity Gap 000 00 0 0. Productivi ty (K) Trans./Sta ff-o. 0.00 0.0 8 83 85 87 89 9 93 95 97 99 0 03 05 07 09 63 Design productivity gap 8 Il chip più avanzato richiedeva 00 mesi uomo 0,000 transistors / 00 transistors/mese 02 Il chip più avanzato richiedeva 30,000 mesi uomo 50,000,000 / 5000 transistors/mese Logic transist ors per chip (in millions 0,000,000 00 0 0. 0.0 0.00 ) IC capacity productivity Gap 00,000 0,000 000 00 0 0. 0.0 Product ivity (K) Trans./ Staff- o. 8 83 85 87 89 9 93 95 97 99 0 03 05 07 09 64

Il mese-uomo La situazione è peggiore di ciò che mostra il productivity gap In teoria l aumento del numero di progettisti dovrebbe ridurre i tempi di completamento di un progetto. In realtà, la produttività del singolo progettista diminuisce a causa della complessità nella gestione e comunicazione nel gruppo di lavoro. In alcune casi, un incremento di persone potrebbe allungare il tempo di realizzazione di un progetto. transistors, designer=5000 trans/mese Ogni designer in più riduce di 00 trans/mese 2 designer producono 4900 trans/mese ciascuno 60000 50000 40000 30000 000 0000 0 43 24 6 5 6 8 esi per la conclusione del lavoro Individuo Team 23 0 30 40 Numero di designers 65 Gestione della crisi della produttività IP (Intellectual Property) Reuse Assemblaggio di componenti pre-progettati Componenti proprietari o provenienti dall esterno Soft e Hard IPs System-Level Design Progetto e verifica a livello di sistema anziché a livello RTL o di gate 66

Design Technology E il modo in cui si traduce la funzionalità richiesta del sistema in una sua implementazione Una procedura per progettare un sistema Il flusso di progettazione può essere parzialmente o totalmente automatizzato mediante un insieme di tools. Software engineering tools, Compilers, Computer-Aided Design tools, Un adeguata metodologia di progettazione aiuta la gestione del processo di design e migliora la qualità, le performance e i costi del progetto. 67 Design Technology Compilation/Synthesis: Automates exploration and insertion of implementation details for lower level. Libraries/IP: Incorporates pre-designed implementation from lower abstraction level into higher level. Test/Verification: Ensures correct functionality at each level, thus reducing costly iterations between levels. System specification Behavioral specification RT specification Logic specification Compilation/ Synthesis System synthesis Behavior synthesis RT synthesis Logic synthesis To final implementation Libraries/ IP Hw/Sw/ OS Cores RT components Gates/ Cells Test/ Verification odel simulat./ checkers Hw-Sw cosimulators HDL simulators Gate simulators 68

Il co-design In passato: Hardware e software design technologies erano molto differenti La recente maturazione della sintesi permette di avere una visione unificata di hardware e software Hardware/software codesign Compilers (60's,70's) Assembly instructions Assemblers, linkers (50's, 60's) achine instructions icroprocessor plus program bits: software Sequential program code (e.g., C, VHDL) Implementation Behavioral synthesis (90's) Register transfers RT synthesis (80's, 90's) Logic equations / FS's Logic synthesis (70's, 80's) Logic gates VLSI, ASIC, or PLD implementation: hardware La scelta tra hardware e software per una particolare funzione è semplicemente un tradeoff tra varie design metrics, come performance, power, size, NRE cost, e flessibilità; non c è una differenza sostanziale tra cosa l hardware o il software può implementare. 69 Riferimenti Embedded System Design: A Unified Hardware/Software Introduction, Frank Vahid, Tony Givargis, John Wiley & Sons Inc., ISBN:0-47-38678-2, 02. Computers as Components: Principles of Embedded Computer Systems Design (With CD-RO), Wayne Wolf, organ Kaufmann Publishers, ISBN: -55860-54-X, 0 - Embedded System Design by Peter arwedel, Kluwer Academic Publishers, ISBN: -40-7690-8, October 03 70