prof. zoltan baruch catedra de calculatoareece.ubm.ro/ea/cursuri/sd/baruch/curs-scd01.pdf · orice...
TRANSCRIPT
Prof. Zoltan Baruch Catedra de Calculatoare
Universitatea Tehnică din Cluj-Napoca
Notare Prezentarea unei teme (30%) sau implementarea
unei aplicaţii (50%) Examen (70% sau 50%)
Pagina web http://users.utcluj.ro/~baruch/ro/ Cursuri Sisteme de calcul dedicate
06.10.2011 Sisteme de calcul dedicate (01) 2
Vahid, Frank; Givargis, Tony: Embedded System Design – A Unified Hardware/Software Introduction, John Wiley & Sons, 2002, ISBN 0-471-38678-2
06.10.2011 Sisteme de calcul dedicate (01) 3
Marwedel, Peter: Embedded System Design, Springer, 2006, ISBN 0-387-29237-3
06.10.2011 Sisteme de calcul dedicate (01) 4
Catsoulis, John: Designing Embedded Hardware, Second Edition, O’Reilly Media, 2005, ISBN 0-596-00755-8
06.10.2011 Sisteme de calcul dedicate (01) 5
Barr, Michael; Massa, Anthony: Programming Embedded Systems with C and GNU Development Tools, Second Edition, O’Reilly Media, 2006, ISBN 0-596-00983-6
06.10.2011 Sisteme de calcul dedicate (01) 6
Yaghmour, Karim: Building Embedded Linux Systems, O’Reilly Media, 2003, ISBN 0-596-00222-X
06.10.2011 Sisteme de calcul dedicate (01) 7
Hollabaugh, Craig: Embedded Linux: Hardware, Software, and Interfacing, Addison-Wesley/Pearson Education, 2002, ISBN 0-672-32226-9
06.10.2011 Sisteme de calcul dedicate (01) 8
1. Introducere 2. Modele şi limbaje pentru specificaţia
sistemelor 3. Interfeţe de comunicaţie 4. Periferice pentru sisteme dedicate 5. Microcontrolere 6. Procesoare dedicate 7. Dezvoltarea programelor 8. Sisteme de operare dedicate 9. Implementarea sistemelor dedicate
06.10.2011 Sisteme de calcul dedicate (01) 9
Sisteme de calcul dedicate Aplicaţii Caracteristici Tehnologii Tehnologii de procesoare Tehnologii de fabricaţie Tehnologii de proiectare
06.10.2011 Sisteme de calcul dedicate (01) 10
Sisteme de calcul: sunt produse milioane de sisteme în fiecare an PC Calculatoare portabile Servere Calculatoare mari (“mainframe” )
Sisteme de calcul înglobate (“embedded” ): sunt produse miliarde de sisteme în fiecare an
06.10.2011 Sisteme de calcul dedicate (01) 11
Definiţii: Sistem de calcul încorporat într-un anumit
dispozitiv electronic Este dedicat pentru o anumită funcţie particulară Nu este vizibil direct de către utilizator
Orice sistem de calcul diferit de un calculator de uz general
Există zeci de sisteme de calcul dedicate în fiecare locuinţă şi automobil
06.10.2011 Sisteme de calcul dedicate (01) 12
Sisteme de calcul dedicate Aplicaţii Caracteristici Tehnologii Tehnologii de procesoare Tehnologii de fabricaţie Tehnologii de proiectare
06.10.2011 Sisteme de calcul dedicate (01) 13
Automobile ABS (Anti-lock Braking System) ESP (Electronic Stability Program) Airbag Controlul transmisiei Suspensie activă Cheie inteligentă Comunicaţie
06.10.2011 Sisteme de calcul dedicate (01) 14
Trenuri
Aeronave
Telecomunicaţii
06.10.2011 Sisteme de calcul dedicate (01) 15
Sisteme medicale Aplicaţii militare Radare Sisteme de navigaţie Armament
06.10.2011 Sisteme de calcul dedicate (01) 16
Electronică de consum
Aparate TV
Decodoare TV
Aparate foto digitale
Telefoane mobile
Calculatoare PDA
Aparate GPS
Console de jocuri
Aparate DVD, MP3
06.10.2011 Sisteme de calcul dedicate (01) 17
Echipamente de birou
Copiatoare
Imprimante
Scanere
Aparate electrocasnice Cuptoare cu microunde
Termostate
Maşini de spălat
Sisteme de securitate
06.10.2011 Sisteme de calcul dedicate (01) 18
Automatizări industriale
Construcţii
06.10.2011 Sisteme de calcul dedicate (01) 19
Robotică (“Johnnie”, © H. Ulbrich, F. Pfeiffer, UT München)
06.10.2011 Sisteme de calcul dedicate (01) 20
Componente pentru calculatoare Procesoare de 8 biţi Interfaţă USB Tastatură, mouse
Procesoare de 32 biţi Unităţi de discuri
Plăci de reţea
Interfeţe IR, Bluetooth
06.10.2011 Sisteme de calcul dedicate (01) 21
Sisteme de calcul dedicate Aplicaţii Caracteristici Tehnologii Tehnologii de procesoare Tehnologii de fabricaţie Tehnologii de proiectare
06.10.2011 Sisteme de calcul dedicate (01) 22
Siguranţa Numeroase sisteme de calcul dedicate trebuie să
fie sigure Exemple: centrale nucleare, aeronave, trenuri,
automobile Siguranţa include mai multe aspecte:
Fiabilitatea Mentenabilitatea Disponibilitatea Securitatea
06.10.2011 Sisteme de calcul dedicate (01) 23
Eficienţa
Se pot utiliza mai multe metrici pentru evaluarea eficienţei
Energia consumată Dispozitive mobile alimentate de la o baterie Cerinţele computaţionale cresc cu o rată rapidă
Dimensiunea codului Întregul cod trebuie memorat de către sistem Exemplu: SoC (System on a Chip)
06.10.2011 Sisteme de calcul dedicate (01) 24
Eficienţa de implementare Cerinţele funcţionale trebuie implementate utilizând
resurse minime Resurse hardware minime Consum de energie redus tensiunea de alimentare;
frecvenţa semnalului de ceas
Greutatea Sistemele portabile trebuie să fie uşoare dimensiune
redusă
Costul Costul redus este esenţial în special pentru electronica
de consum
06.10.2011 Sisteme de calcul dedicate (01) 25
Executarea unei funcţii unice Sunt dedicate pentru o anumită aplicaţie
Execută un singur program, în mod repetat Executarea altor programe ar reduce siguranţa Ar fi necesare resurse neutilizate reducerea eficienţei
Excepţii: Actualizarea programului cu o nouă versiune Executarea alternativă a mai multor programe
Interfaţă dedicată cu utilizatorul Butoane, manete, volane, pedale
06.10.2011 Sisteme de calcul dedicate (01) 26
Constrângeri de timp real Trebuie să se calculeze rezultatele într-o anumită
fereastră de timp Reducerea calităţii Funcţionarea impredictibilă
Exemplu: controlul vitezei de croazieră al unui automobil La sistemele în timp real, un răspuns garantat
trebuie explicat fără argumente statistice (de exemplu, performanţa sau întârzierea medie)
06.10.2011 Sisteme de calcul dedicate (01) 27
Sisteme reactive Se află în interacţiune continuă cu mediul
monitorizează intrările Operaţiile executate depind de acel mediu Automatele sunt modele potrivite pentru aceste
sisteme
Sisteme hibride Conţin atât o parte analogică, cât şi una digitală
06.10.2011 Sisteme de calcul dedicate (01) 28
Sisteme de calcul dedicate Aplicaţii Caracteristici Tehnologii Tehnologii de procesoare Tehnologii de fabricaţie Tehnologii de proiectare
06.10.2011 Sisteme de calcul dedicate (01) 29
Arhitectura de calcul utilizată pentru implementarea funcţiei sistemului
Tehnologii: Procesoare de uz general → microprocesoare Procesoare dedicate → coprocesoare,
acceleratoare, periferice Procesoare specifice aplicaţiei → ASIP
(Application-Specific Instruction-set Processor)
06.10.2011 Sisteme de calcul dedicate (01) 30
Programabile pentru diferite tipuri de aplicaţii
Caracteristici: Existenţa unei memorii de program Cale de date generală: număr mare de registre;
una sau mai multe UAL generale
Avantaje: Timp şi costuri de proiectare reduse Flexibilitate ridicată Costuri unitare reduse pentru cantităţi mici
06.10.2011 Sisteme de calcul dedicate (01) 31
Dezavantaje: Costuri unitare relativ ridicate pentru cantităţi
mari Performanţe reduse pentru anumite aplicaţii Dimensiuni mari Energie consumată ridicată
Exemplu: Procesor de uz general pentru însumarea elementelor unui tablou
06.10.2011 Sisteme de calcul dedicate (01) 32
Cale de date Controler
06.10.2011 Sisteme de calcul dedicate (01) 33
IR PC
Set de
registre
UAL
general
Memorie
de program
Cod în limbaj de
asamblare
pentru:
suma = 0;
for i =0 to …
Logică de
control şi
registru de
stare
Memorie
de date
Circuite digitale proiectate să execute un singur program Coprocesoare, acceleratoare, periferice
Avantaje: Performanţe ridicate Dimensiuni mici Energie consumată redusă Costuri unitare reduse pentru cantităţi mari
06.10.2011 Sisteme de calcul dedicate (01) 34
Dezavantaje: Timp şi costuri de proiectare ridicate Flexibilitate redusă Costuri unitare ridicate pentru cantităţi mici
Exemplu: Procesor dedicat pentru însumarea elementelor unui tablou Calea de date conţine numai componentele
esenţiale pentru execuţia programului Nu este necesară o memorie de program
06.10.2011 Sisteme de calcul dedicate (01) 35
06.10.2011 Sisteme de calcul dedicate (01) 36
Cale de date Controler
Logică de
control
Registru de
stare
Memorie
de date
index
suma
+
ASIP – procesor programabil optimizat pentru o clasă de aplicaţii cu caracteristici comune Se poate optimiza calea de date Compromis între procesoarele de uz general şi
cele dedicate Microcontrolere şi procesoare de semnal
Avantaje: Flexibilitate şi performanţe ridicate Energie consumată şi dimensiuni reduse
06.10.2011 Sisteme de calcul dedicate (01) 37
Dezavantaje: Costuri ridicate pentru proiectarea procesorului
şi realizarea compilatorului
Microcontrolere Microprocesoare optimizate pentru aplicaţii
dedicate Cale de date simplă Operaţii la nivel de bit Conţin periferice tipice: UART, numărătoare,
contoare de timp, convertoare N/A şi A/N
06.10.2011 Sisteme de calcul dedicate (01) 38
Procesoare de semnal (DSP) Microprocesoare proiectate pentru operaţii tipice
asupra semnalelor digitale
Necesită operaţii aritmetice intensive: înmulţire şi adunare, deplasare şi adunare
UAL specializate, de exemplu: A=A+M[i] *k
Creşterea vitezei: citirea secvenţială a locaţiilor de memorie în paralel cu alte operaţii
06.10.2011 Sisteme de calcul dedicate (01) 39
Cale de date Controler
06.10.2011 Sisteme de calcul dedicate (01) 40
IR PC
Registre
UAL
specific
Memorie
de program
Cod în limbaj de
asamblare
pentru:
suma = 0;
for i =0 to …
Logică de
control şi
registru de
stare
Memorie
de date
Sisteme de calcul dedicate Aplicaţii Caracteristici Tehnologii Tehnologii de procesoare Tehnologii de fabricaţie Tehnologii de proiectare
06.10.2011 Sisteme de calcul dedicate (01) 41
Implementarea sistemului dedicat într-un circuit integrat (CI) CI: dispozitiv semiconductor format din
tranzistoare şi alte circuite interconectate
Diferite procese pentru realizarea elementelor semiconductoare → CMOS
Semiconductoare – formate din diferite straturi: tranzistoare; componente logice; conexiuni
06.10.2011 Sisteme de calcul dedicate (01) 42
Straturile se pot crea prin depozitarea unor substanţe fotosensibile → acţiunea luminii prin intermediul unor măşti
Tehnologia de fabricaţie este independentă de tehnologia procesorului
06.10.2011 Sisteme de calcul dedicate (01) 43
sursă drenă canal
oxid
poartă
Substrat de siliciu Capsulă CI CI
VLSI Toate straturile sunt optimizate pentru un anumit
sistem dedicat Plasarea tranzistoarelor Dimensionarea tranzistoarelor Rutarea conexiunilor
Avantaje: performanţe ridicate; dimensiuni şi energie consumată reduse
Dezavantaje: costuri şi timpi de proiectare mari
06.10.2011 Sisteme de calcul dedicate (01) 44
ASIC (Application-Specific Integrated Circuit) Straturile inferioare sunt realizate complet sau
parţial
Proiectantul finalizează straturile superioare
Matrici de porţi (Gate Arrays) Măştile pentru nivelul tranzistoarelor şi cel al porţilor
sunt realizate din fabricaţie Proiectantul trebuie să interconecteze porţile conform
sistemului cerut
06.10.2011 Sisteme de calcul dedicate (01) 45
Celule standard (Standard Cell) Sunt realizate din fabricaţie porţiunile măştilor pentru
anumite celule logice Proiectantul trebuie să aranjeze porţiunile existente
pentru masca finală la nivelul porţilor şi să interconecteze celulele
Avantaje: performanţe ridicate; dimensiuni reduse; costuri mai mici (faţă de VLSI)
Dezavantaje: timpi de fabricaţie relativ mari
06.10.2011 Sisteme de calcul dedicate (01) 46
PLD (Programmable Logic Device) Sunt realizate din fabricaţie toate straturile
Circuitul este configurabil (programabil): crearea sau distrugerea unor conexiuni Fuzibile Comutatoare programabile
Tipuri de circuite PLD: Simple: PLA, PAL Complexe: CPLD, FPGA
06.10.2011 Sisteme de calcul dedicate (01) 47
PLA (Programmable Logic Array): reţele programabile de porţi ŞI, respectiv SAU Se generează termeni produs Se conectează termenii cu porţi SAU
06.10.2011 Sisteme de calcul dedicate (01) 48
PAL (Programmable Array Logic): o singură reţea programabilă de porţi ŞI Reţeaua de porţi SAU are conexiuni fixe
06.10.2011 Sisteme de calcul dedicate (01) 49
CPLD (Complex PLD): conţin blocuri funcţionale asemănătoare unor circuite PLD Macrocelule Matrice de rutare
06.10.2011 Sisteme de calcul dedicate (01) 50
FPGA (Field Programmable Gate Array): reţea de celule sau blocuri logice
Blocurile logice pot fi configurate pentru a realiza o funcţie logică
Comutatoare programabile pentru interconectare
06.10.2011 Sisteme de calcul dedicate (01) 51
Avantaje ale tehnologiei PLD: Costuri de proiectare foarte reduse Disponibilitate imediată a circuitelor
Dezavantaje ale tehnologiei PLD: Costuri unitare mai mari Dimensiuni mai mari Energie consumată mai ridicată Viteză de funcţionare mai redusă (în special circuitele
FPGA)
06.10.2011 Sisteme de calcul dedicate (01) 52
Sisteme de calcul dedicate Aplicaţii Caracteristici Tehnologii Tehnologii de procesoare Tehnologii de fabricaţie Tehnologii de proiectare
06.10.2011 Sisteme de calcul dedicate (01) 53
Indică modul în care se translatează proiectul unui sistem într-o implementare
06.10.2011 Sisteme de calcul dedicate (01) 54
Specificaţie
de sistem
Specificaţie
funcţională
Specificaţie
RT
Specificaţie
logică
Implementare
Compilare/
Sinteză
Biblioteci/
IP
Test/
Verificare
Sinteză
de sistem
Sinteză
funcţională
Sinteză
RT
Sinteză
logică
Hw/Sw/
SO
Module
Componente
RT
Porţi/
Celule
Simulatoare/
Verificatoare
Cosimulatoare
Hw-Sw
Simulatoare
HDL
Simulatoare
la nivel de porţi
Compilare/Sinteză Permite specificarea funcţionării într-un mod
abstract Generează în mod automat detaliile de
implementare Utilitare pentru sinteza de sistem: convertesc o
specificaţie de sistem într-un set de programe secvenţiale Compilatoare software: convertesc un program
secvenţial în limbaj de asamblare
06.10.2011 Sisteme de calcul dedicate (01) 55
Utilitare pentru sinteza funcţională: convertesc un program secvenţial în automate de stare şi transferuri între registre Utilitare pentru sinteza RT: convertesc automatele
de stare şi transferurile între registre într-o cale de date cu componente RT şi un controler definit prin ecuaţii booleene Utilitare pentru sinteza logică: convertesc ecuaţiile
booleene într-o listă de conexiuni între porţile logice (netlist)
06.10.2011 Sisteme de calcul dedicate (01) 56
Biblioteci/IP Biblioteci: permit reutilizarea unor module
existente Biblioteci la nivel de sistem: pot conţine sisteme
complete pentru anumite aplicaţii (procesoare + SO + programe) Biblioteci la nivel funcţional: conţin componente
utilizate frecvent (interfeţe, controlere pentru afişaje, procesoare) Pot fi implementate într-o porţiune a CI → module Module IP (Intellectual Property)
06.10.2011 Sisteme de calcul dedicate (01) 57
Biblioteci la nivel RT: conţin scheme pentru componente RT (MUX, DCD, registre) Biblioteci la nivel logic: conţin scheme de
amplasare în CI pentru porţi şi celule Test/Verificare Asigură corectitudinea funcţională Simularea: metoda cea mai utilizată de testare Simulatoare la nivel de sistem: simulează
specificaţia iniţială a sistemului utilizând un model abstract Verificatoare: testează anumite proprietăţi ale
specificaţiei
06.10.2011 Sisteme de calcul dedicate (01) 58
Simulatoare la nivel funcţional: Simulatoarele HDL simulează programele secvenţiale Cosimulatoarele Hw/Sw conectează simulatoarele HDL şi
cele ale procesoarelor
Simulatoare la nivel RT: execută descrierile de la nivelul RT şi afişează diagramele de timp ale semnalelor de ieşire Simulatoare la nivel logic: simulează ecuaţiile
logice la nivel de porţi şi afişează diagramele de timp ale semnalelor de ieşire
06.10.2011 Sisteme de calcul dedicate (01) 59