Sisteme de calcul dedicate -...
Transcript of Sisteme de calcul dedicate -...
Sisteme de calcul dedicate
Prof. Zoltan Francisc BaruchDepartamentul de CalculatoareUniversitatea Tehnică din Cluj-Napoca
Informații despre curs
•NotarePrezentarea unei teme (30%) sau implementarea unei aplicații (50%)
Examen (70% sau 50%)
•Pagini webhttp://users.utcluj.ro/~baruch/ro/
Cursuri Sisteme de calcul dedicate
Sisteme de calcul dedicate (01) 03.10.2017 2
Bibliografie (1)
•Vahid, Frank; Givargis, Tony: Embedded System Design – A Unified Hardware/Software Introduction, John Wiley & Sons, 2002, ISBN 0-471-38678-2
03.10.2017 Sisteme de calcul dedicate (01) 3
Bibliografie (2)
•Marwedel, Peter: Embedded System Design, Springer, 2006, ISBN 0-387-29237-3
03.10.2017 Sisteme de calcul dedicate (01) 4
Bibliografie (3)
•Catsoulis, John: Designing Embedded Hardware, Second Edition, O’Reilly Media, 2005, ISBN 0-596-00755-8
03.10.2017 Sisteme de calcul dedicate (01) 5
Bibliografie (4)
•Barr, Michael; Massa, Anthony: Programming Embedded Systems with C and GNU Development Tools, Second Edition, O’Reilly Media, 2006, ISBN 0-596-00983-6
03.10.2017 Sisteme de calcul dedicate (01) 6
Bibliografie (5)
•Yaghmour, Karim: Building Embedded Linux Systems, O’Reilly Media, 2003, ISBN 0-596-00222-X
03.10.2017 Sisteme de calcul dedicate (01) 7
Bibliografie (6)
•Hollabaugh, Craig: Embedded Linux: Hardware, Software, and Interfacing, Addison-Wesley/Pearson Education, 2002, ISBN 0-672-32226-9
03.10.2017 Sisteme de calcul dedicate (01) 8
Cuprins
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. Implementarea sistemelor dedicate
Sisteme de calcul dedicate (01) 03.10.2017 9
1. Introducere
•Sisteme de calcul dedicate
•Aplicații
•Caracteristici
•TehnologiiTehnologii de procesoare
Tehnologii de fabricație
Tehnologii de proiectare
Sisteme de calcul dedicate (01) 03.10.2017 10
Sisteme de calcul dedicate (1)
•Sisteme de calcul: sunt produse milioane de sisteme în fiecare anPCCalculatoare portabile ServereSupercalculatoare
•Sisteme de calcul înglobate (“embedded”): sunt produse miliarde de sisteme în fiecare an
Sisteme de calcul dedicate (01) 03.10.2017 11
Sisteme de calcul dedicate (2)
•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
Sisteme de calcul dedicate (01) 03.10.2017 12
1. Introducere
•Sisteme de calcul dedicate
•Aplicații
•Caracteristici
•TehnologiiTehnologii de procesoare
Tehnologii de fabricație
Tehnologii de proiectare
Sisteme de calcul dedicate (01) 03.10.2017 13
Aplicații (1)
•Automobile
ABS (Anti-lock Braking System)
ESP (Electronic Stability Program)
Airbag
Controlul transmisiei
Suspensie activă
Cheie inteligentă
Comunicație
Sisteme de calcul dedicate (01) 03.10.2017 14
Aplicații (2)
•Trenuri
•Aeronave
•Telecomunicații
Sisteme de calcul dedicate (01) 03.10.2017 15
Aplicații (3)
•Sisteme medicale
•Aplicații militareRadare
Sisteme de navigație
Armament
Sisteme de calcul dedicate (01) 03.10.2017 16
Aplicații (4)
•Electronică de consumAparate TV
Decodoare TV
Aparate foto digitale
Telefoane mobile
Calculatoare portabile
Aparate GPS
Console de jocuri
Aparate DVD, MP3
Sisteme de calcul dedicate (01) 03.10.2017 17
Aplicații (5)
•Echipamente de birouCopiatoare
Imprimante
Scanere
•Aparate electrocasniceCuptoare cu microundeTermostate
Maşini de spălat
Sisteme de securitate
Sisteme de calcul dedicate (01) 03.10.2017 18
Aplicații (6)
•Automatizări industriale
•Construcții
Sisteme de calcul dedicate (01) 03.10.2017 19
Aplicații (7)
•Robotică
(“Johnnie”, © H. Ulbrich,
F. Pfeiffer, UT München)
Sisteme de calcul dedicate (01) 03.10.2017 20
Aplicații (8)
•Componente pentru calculatoareProcesoare 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
Sisteme de calcul dedicate (01) 03.10.2017 21
1. Introducere
•Sisteme de calcul dedicate
•Aplicații
•Caracteristici
•TehnologiiTehnologii de procesoare
Tehnologii de fabricație
Tehnologii de proiectare
Sisteme de calcul dedicate (01) 03.10.2017 22
Caracteristici (1)
•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
•SecuritateaSisteme de calcul dedicate (01) 03.10.2017 23
Caracteristici (2)
•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)
Sisteme de calcul dedicate (01) 03.10.2017 24
Caracteristici (3)
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
Sisteme de calcul dedicate (01) 03.10.2017 25
Caracteristici (4)
•Executarea unei funcții uniceSunt dedicate pentru o anumită aplicațieExecută 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 utilizatorulButoane, manete, volane, pedale
Sisteme de calcul dedicate (01) 03.10.2017 26
Caracteristici (5)
•Constrângeri de timp realTrebuie să se calculeze rezultatele într-o anumită fereastră de timp•Reducerea calității •Funcționarea impredictibilă
Exemplu: controlul vitezei de croazieră al unui automobilLa sistemele în timp real, un răspuns garantat trebuie explicat fără argumente statistice (de exemplu, performanța sau întârzierea medie)
Sisteme de calcul dedicate (01) 03.10.2017 27
Caracteristici (6)
•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ă
Sisteme de calcul dedicate (01) 03.10.2017 28
1. Introducere
•Sisteme de calcul dedicate
•Aplicații
•Caracteristici
•TehnologiiTehnologii de procesoare
Tehnologii de fabricație
Tehnologii de proiectare
Sisteme de calcul dedicate (01) 03.10.2017 29
Tehnologii de procesoare
•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)
Sisteme de calcul dedicate (01) 03.10.2017 30
Procesoare de uz general (1)
•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 miciSisteme de calcul dedicate (01) 03.10.2017 31
Procesoare de uz general (2)
•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
Sisteme de calcul dedicate (01) 03.10.2017 32
Cale de dateControler
Procesoare de uz general (3)
Sisteme de calcul dedicate (01) 03.10.2017 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
Procesoare dedicate (1)
•Circuite digitale proiectate să execute un singur programCoprocesoare, acceleratoare, periferice
•Avantaje:Performanțe ridicate
Dimensiuni mici
Energie consumată redusă
Costuri unitare reduse pentru cantități mari
Sisteme de calcul dedicate (01) 03.10.2017 34
Procesoare dedicate (2)
•Dezavantaje:Timp și costuri de proiectare ridicateFlexibilitate redusăCosturi unitare ridicate pentru cantități mici
•Exemplu: Procesor dedicat pentru însumarea elementelor unui tablouCalea de date conține numai componentele esențiale pentru execuția programuluiNu este necesară o memorie de program
Sisteme de calcul dedicate (01) 03.10.2017 35
Procesoare dedicate (3)
Sisteme de calcul dedicate (01) 03.10.2017 36
Cale de dateControler
Logică de
control
Registru de
stare
Memorie
de date
index
suma
+
Procesoare specifice aplicației (1)
•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
Sisteme de calcul dedicate (01) 03.10.2017 37
Procesoare specifice aplicației (2)
•Dezavantaje:Costuri ridicate pentru proiectarea procesorului și realizarea compilatorului
•MicrocontrolereMicroprocesoare optimizate pentru aplicații dedicateCale de date simplăOperații la nivel de bitConțin periferice tipice: UART, numărătoare, contoare de timp, convertoare N/A și A/N
Sisteme de calcul dedicate (01) 03.10.2017 38
Procesoare specifice aplicației (3)
•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
Sisteme de calcul dedicate (01) 03.10.2017 39
Cale de dateControler
Procesoare specifice aplicației (4)
Sisteme de calcul dedicate (01) 03.10.2017 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
1. Introducere
•Sisteme de calcul dedicate
•Aplicații
•Caracteristici
•TehnologiiTehnologii de procesoare
Tehnologii de fabricație
Tehnologii de proiectare
Sisteme de calcul dedicate (01) 03.10.2017 41
Tehnologii de fabricație (1)
•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
Sisteme de calcul dedicate (01) 03.10.2017 42
Tehnologii de fabricație (2)
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
03.10.2017 Sisteme de calcul dedicate (01) 43
sursă drenăcanal
oxid
poartă
Substrat de siliciuCapsulă CI CI
Tipuri de tehnologii de fabricație (1)
•VLSIToate 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
Sisteme de calcul dedicate (01) 03.10.2017 44
Tipuri de tehnologii de fabricație (2)
•ASIC (Application-Specific IntegratedCircuit)Straturile inferioare sunt realizate complet sau parțial
Proiectantul finalizează straturile superioareMatrice 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
Sisteme de calcul dedicate (01) 03.10.2017 45
Tipuri de tehnologii de fabricație (3)
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
Sisteme de calcul dedicate (01) 03.10.2017 46
Tipuri de tehnologii de fabricație (4)
•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
Sisteme de calcul dedicate (01) 03.10.2017 47
Tipuri de tehnologii de fabricație (5)
PLA (Programmable Logic Array): reţele programabile de porți ȘI, respectiv SAU•Se generează termeni produs
•Se conectează termenii cu porți SAU
03.10.2017 Sisteme de calcul dedicate (01) 48
Tipuri de tehnologii de fabricație (6)
PAL (Programmable Array Logic): o singură rețea programabilă de porți ȘI•Rețeaua de porți SAU are conexiuni fixe
03.10.2017 Sisteme de calcul dedicate (01) 49
Tipuri de tehnologii de fabricație (7)
CPLD (Complex PLD): conțin blocuri funcționale asemănătoare unor circuite PLD•Macrocelule
•Matrice de rutare
03.10.2017 Sisteme de calcul dedicate (01) 50
Tipuri de tehnologii de fabricație (8)
FPGA (Field ProgrammableGate Array): rețea de celule sau blocuri logice•Blocurile logice pot fi
configurate pentru a realiza o funcție logică
•Comutatoare programabile pentru interconectare
03.10.2017 Sisteme de calcul dedicate (01) 51
Tipuri de tehnologii de fabricație (9)
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)
Sisteme de calcul dedicate (01) 03.10.2017 52
1. Introducere
•Sisteme de calcul dedicate
•Aplicații
•Caracteristici
•TehnologiiTehnologii de procesoare
Tehnologii de fabricație
Tehnologii de proiectare
Sisteme de calcul dedicate (01) 03.10.2017 53
Tehnologii de proiectare
•Indică modul în care se translatează proiectul unui sistem într-o implementare
Sisteme de calcul dedicate (01) 03.10.2017 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
Metode de creștere a eficienței (1)
•Compilare/SintezăPermite specificarea funcționării într-un mod abstractGenerează în mod automat detaliile de implementareUtilitare pentru sinteza de sistem: convertesc o specificație de sistem într-un set de programe secvențialeCompilatoare software: convertesc un program secvențial în limbaj de asamblare
Sisteme de calcul dedicate (01) 03.10.2017 55
Metode de creștere a eficienței (2)
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)
Sisteme de calcul dedicate (01) 03.10.2017 56
Metode de creștere a eficienței (3)
•Biblioteci/IPBiblioteci: permit reutilizarea unor module
existenteBiblioteci 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)
Sisteme de calcul dedicate (01) 03.10.2017 57
Metode de creștere a eficienței (4)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/VerificareAsigură 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
Sisteme de calcul dedicate (01) 03.10.2017 58
Metode de creștere a eficienței (5)
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
Sisteme de calcul dedicate (01) 03.10.2017 59