Documente Academic
Documente Profesional
Documente Cultură
incorporate
Microcontrolere si sisteme
integrate
(Re)Introducere in arhitectura sistemelor de
calcul, terminologie, definiții
Microcontrolere, microprocesoare si altele
Sisteme incorporate si dincolo de ele..
Ieşiri (O)
Căi de date
4
Funcţii
• TOATE funcţiile unui sistem de calcul
sunt:
– PRELUCARE (PROCESSING) Date =
Informaţie
– MEMORARE
– DEPLASARE(MUTARE)
Coordonează cum
– CONTROL anume este
utilizată informaţia
• NIMIC ALTCEVA!
5
Structura – Cutia neagra
Periferice este..
Sistem de
calcul
Intrări
Sistem de Ieşiri (I/O)
calcul Unitate centrala
(CPU)
Înăuntru Sisteme de
interconectare
avem alte cutii negre! (magistrala
sistem)
Linii de comunicaţie
cu lumea externa Memorie
Cum
funcţionează?
6
Structura – unitatea centrala (CPU)
CPU
Sistem de Unitate
calcul Registre Aritmetica-
I/O
Logica
Magistrala CPU (ALU)
Sistem
Interconexiuni
Memorie interne CPU
(magistrale interne)
Unitate de
Control
Cum
funcţionează?
Se poate merge
si mai jos! 7
Structura – Unitatea de control
Unitate de control
Automate
control
memorie
Cum
funcţionează?
8
Cum funcționează ?
Unitate centrala (CPU)
Memorie Unitate de Control
(principală) 1
Preia (Fetch) Decodifică
2 Ciclu
R
cpu Instrucţiune
E
Încarcă (Load)
G
I
RAM/ROM S
T Ciclu
Execuţie
R Memorează (Store)
E 3 Execută
4
9
Execuția unei instrucțiuni
12
Execuția unei instrucțiuni -
cicluri si faze
• Ciclu maşină (machine cycle)
– Faza/ciclu instrucţiune
– Faza/ciclu execuţie
• Faza instrucţiune (instruction)
– Etapa 1: Preluarea/extragerea/citirea din memorie
a instrucţiunii (Fetch)
– Etapa 2: Decodificarea (decode) instrucţiunii
• Faza execuţie (execution)
– Etapa 3: Execuţia (execute) instrucţiunii
– Etapa 4: Memorarea (store) rezultatelor
13
Timpul necesar pentru un ciclu
maşină
• Timpul necesar pentru un ciclu mașină, definit funcție de
ceasul sistem
– Timpul necesar pentru execuția unei instrucțiuni
• Exista mașini (CPU) lente
– Măsurat in microsecunde
• Exista mașini (CPU) rapide
– Măsurat in zeci de nanosecunde sau in nanosecunde
• Ce inseamna MIPS ?
– Este una din masurile (adimensionale) pentru viteza de
execuție: milioane de instrucțiuni pe secunda - Millions
of Instructions Per Second
14
Memoria sistemelor de calcul: ierarhizarea
sistemelor de memorie (viteză, cost)
Microcircuit - microprocesor
Memorie Viteza si costul
CPU Memorie Cache L2 descresc
Cache L1 Dimensiunea
creste
Control Memorie
auxiliară
Magistrale externa (HDD,
Memorie
externă SSD,
(RAM, FLASH USB,
ROM)
CDROM)
Registre
Memorie
Cele mai on-chip Cea mai
rapide dar si (internă) lentă dar
cele mai si cea mai
RAM, Costul este unul relativ, ieftină
scumpe
ROM exprimat per bit!
Ierarhizarea sistemelor de memorie – in
ordinea descrescătoare a vitezei
• Registrele (sunt tot o memorie internă)
Cele mai rapide, dar si cele mai costisitoare (ca preţ de realizare
la nivelul microcircuitului), un set de circuite bistabile
• Memoria Cache L1 (o categorie specială de memorie
internă)- Cache L2 este o memorie externă!
Întotdeauna de tip SRAM, mai lentă decât registrele, dar mai
mare, rapidă si pentru că este strâns “cuplată” cu CPU.
Gestionată de hardware/firmware si tipic invizibilă pentru
programatori
• Memorie internă (diverse tehnologii: SRAM si ROM /
FLASH / EEPROM)
De dimensiuni mai mari, accesul mai lent însă decât la Cache L1
Gestionată de software.
Viteza – este invers proporțională cu timpul de acces pentru un circuit de memorie
Memorie rapidă=memorie cu timp de acces mic
Ierarhizarea sistemelor de memorie -2
• Memoria externă (SRAM/DRAM si ROM/FLASH/EEPROM)
Mai lentă decât cea internă, fiind mai slab cuplată cu CPU (conectată prin intermediul unor
magistrale externe paralele relativ rapide), dar poate fi de dimensiuni mult mai mari si costuri
aferente mai mici
• Memorie externă auxiliară (HDD, SSD, DVD/CDROM, etc)
Mult mai lentă decât memoria externă (conectata prin intermediul unor magistrale externe relativ
lente, eventual seriale), dar de dimensiuni mult, mult mai mari si costuri per bit mult mai mici
Tipic este ne-volatilă la fel ca o memorie de tip ROM, adică datele vor mai exista/ se vor c
17
Ierarhizarea sistemelor de memorie -3
eSRAM- embedded
SRAM RAM static
incorporat
(aici unității centrale)
18
Există două mari categorii de arhitecturi de
calcul: Von Neumann si Harvard
Intrări (I)
Intrari (I)
Memorie Memorie
Unitate centrala
de de
CPU
program date Iesiri (O)
Magistrale Magistrale
program date
Ieșiri (O)
Există si două mari concepte arhitecturale de
realizare a unei unități centrale (CPU) din punct
de vedere al setului de instrucțiuni:
CISC si RISC
• CISC (Complex Instruction Set Computers) –
unități centrale care au un set complex (in
sensul de numeroase si puternice ca
funcționalitate) de instrucțiuni
• RISC (Reduced Instruction Set Computer)-
unități centrale care au un set redus (in sensul
de puține ca număr si simple ca funcționalitate)
de instrucțiuni
• Ambele se întâlnesc in lumea
microprocesoarelor si microcontrolerelor
Caracteristici arhitecturale ale unității
centrale - CISC (Complex Instruction Set
Computer)
• Set de instrucțiuni CISC
– Aceasta înseamnă un set uzual de ordinul sutelor (x100)
instrucțiuni, cele mai multe din ele foarte puternice şi
specializate.
– De obicei multe din aceste instrucțiuni sunt foarte diferite între
ele: unele operează numai cu anumite spații de adrese sau
registre, altele permit numai anumite moduri de adresare, pot
avea lungimi mult diferite, se execută intr-un număr diferit de
cicluri / perioade de ceas, etc.
– Cu cât operațiile implementate sunt mai complexe cu atât
instrucțiunile devin mai complexe
– Unitatea centrală devine si ea din ce in ce mai complexă si
mai lentă datorita creșterii numărului de cicluri/perioade de
ceas per instrucțiune si al limitării frecvenței maxime de ceas
– O buna parte din membrii vechi ai familiei 80x86 (Intel) sunt
CISC
23
Caracteristici arhitecturale ale unității
centrale - RISC (Reduced Instruction Set
Computer)
• Principiul a fost de “sacrifica” totul pentru a obține o
viteza de calcul cat mai mare
– Reducerea numărului de instrucțiuni la ordinul zecilor (x10) face
ca unitatea centrală să fie mai simplă
– Eliminarea instrucțiunilor complexe care duc la încetinirea unității
centrale
– Utilizarea de moduri de adresare simple face ca mai puțin timp
să fie necesar pentru calculul adresei operanzilor
– Limitarea numărului de accese la memorie
– Dacă o anumită operație nu poate fi implementată intr-un singur
ciclu de ceas atunci ea nu va fi implementată într-o instrucțiune
– Utilizarea extensivă a unei arhitecturi de pipeline pentru a obține
o instrucțiune executat la fiecare ciclu de ceas
– AVR 8 biti (Microchip) si ARM sunt RISC
– Vezi si:
https://en.wikipedia.org/wiki/Reduced_instruction_set_computer
24
Caracteristici arhitecturale ale unității
centrale - RISC (Reduced Instruction Set
Computer) -2
• Setul de instrucțiuni RISC
– Prin implementarea unui set (relativ) redus de instrucțiuni care
se pot executa foarte rapid şi eficient, se obține o reducere a
complexității microcircuitului, suprafața disponibilizată putând fi
utilizată în alte scopuri.
– Printre caracteristicile asociate de obicei unui CPU RISC se pot
menționa:
• arhitectură Harvard modificată sau mai rar von Neumann
• viteză sporită de execuție prin implementarea a cel puţin unui nivel
de pipeline pentru instrucțiuni
• set de instrucțiuni ortogonal (simetric): orice instrucțiune operează
cu orice spaţiu de adrese (de memorie) sau orice registru,
instrucțiunile nu prezintă combinații speciale, excepții, restricții sau
efecte colaterale
25
RISC si CISC
Caracteristica RISC CISC
Tipul de instrucțiuni Simple Complexe
Numărul de instrucțiuni Redus (x10) Mare (x100)
Durata unei instrucțiuni Un singur ciclu de ceas Mai multe cicluri (4-120)
Formatul instrucțiunii Fix Variabil
Execuția instrucțiunii In paralel (pipeline) Secvențial
Modurile de adresare Simple Complexe
Instrucțiuni care Doar doua tipuri de baza: Aproape toate
accesează memoria Încarcă (Load) si
Memorează (Store)
Setul de registre Multiplu Unic
Complexitatea La nivelul compilatorului La nivelul CPU (in
microprogram)
26
Introducere, definiții: ce este un
microprocesor?
27
MPU - microprocesor, o unitate
centrală (CPU) realizată pe un singur
microcircuit (cip)
Componentele externe
sunt conectate prin
magistrale externe:
adrese, date si control
Memorie, Dispozitive de intrare/iesire, Ceas, Alimentare28
28
Introducere, definiţii: ce este un
microcontroler?
• Plecând de la cerinţele generale pentru alcătuirea unui sistem de
calcul, precum şi de la o orientare pe anumite categorii de
aplicaţii (calculatoare sau staţii de lucru personale, staţii de lucru
profesionale, controlere industriale de proces, sisteme de
prelucrare numerică a semnalelor) a apărut în decursul timpului şi
o anumită specializare a microprocesoarelor rezultând două
categorii noi:
– microcontrolerele (microcontrollers) şi
– procesoarele numerice de semnal (DSP- Digital Signal Processors).
29
Ce este un microcontroler? -2
• Un microcontroler (MC, MCU) este alcătuit dintr-o unitate
centrală (CPU) căreia i s-a adăugat, pe același microcircuit
(on-chip), in primul rând memorie şi apoi o gamă din ce in
ce mai largă si diversificata de dispozitive periferice,
specializate/orientate si pe interfața/interacțiunea eficienta cu
mediul exterior.
– Un MCU poate constitui astfel un sistem de calcul de sine stătător, realizat
la un raport preț/performanţă optim, orientat pe controlul interacțiunii cu
lumea exterioară (controler industrial).
• Un microcontroler este o arhitectură de calcul orientată pe
control: el trebuie să "simtă" evenimentele externe şi să le
"răspundă" (în sensul de a controla) cât mai eficient, din punct
de vedere al timpului de calcul și al resurselor folosite.
• Această interacțiune este, de cele mai multe ori, bazată pe
utilizarea întreruperilor ca modalitate de tratare a intrărilor si
ieșirilor.
– Din acest motiv, toate microcontrolerele înglobează şi un sistem
de întreruperi performant si simplu de utilizat.
30
MCU – un microcontroler cu o
arhitectură internă Harvard
33
Introducere, definiții: componente
hardware
Există cel puţin 5 componente cheie prezente la un CPU (deci si la un
microprocesor si la un microcontroler):
• unitatea aritmetică şi logică (ALU-Arithmetic Logic Unit)
responsabilă cu tot ce înseamnă operații de calcul aritmetic şi/sau logic
• registrele (registers) utilizate pentru memorarea temporară a
informației cu care lucrează ALU
• unitatea de control (Control Unit) responsabilă cu controlul operațiilor
efectuate de CPU pe baza decodificării instrucțiunilor
• un sistem de magistrale, cai de date (buses) interne şi externe, care
interconectează componentele interne și realizează conectarea cu
exteriorul
• un ceas (clock) la baza căruia stă ceasul sistem (system clock) cel
care realizează periodizarea tuturor operațiilor CPU
Alte resurse tipice prezente de obicei la un microprocesor sunt:
-un sistem de întreruperi(interrupts system) si
-un sistem de acces direct la memorie (DMA-Direct Memory
Acces).
Program in Program in C
FORTRAN 90
program F90 compilat Program C compilat
intr-un program ISA intr-un program ISA
Software
Nivelul ISA
Hardware
Program ISA executat de hardware
Hardware
36
Introducere, definiții: alte componente hardware
Control
bus
I/O-
Intrari/Iesiri
Memorie
38
Dar ce ne interesează in primul rând sunt
sistemele incorporate (embedded systems) !
43
Sisteme incorporate – o paradigmă deja
învechită.. 2
• Internet of Things(IoT) are o definiție care a evoluat datorită convergentei
mai multor tehnologii din care doar una este cea a sistemelor incorporate:
am putea spune si ca IoT a “înghițit” si tehnologia sistemelor incorporate
• Datele vehiculate de IoT vor fi fi transferate cu scopul de a ajunge, pentru
prelucrare, utilizare si/sau stocare la alte sisteme similare sau in Cloud..
• Cloud computing – o tehnologie care presupune utilizarea unor servere
informatice la distanta, conectate (in rețea) prin intermediul Internet-ului,
pentru stocarea si prelucrarea datelor
• Edge computing- înseamnă analiza si prelucrarea datelor realizate de a
lungul “marginii unei retele”, cel mai aproape de punctul de
colectare/generare astfel datele devenind utile si utilizabile in timp real, fără
întârzierile asociate prelucrării in cloud
Din păcate există si un preț imediat
plătit pentru IoT..
Dacă si înainte existau preocupări
legate de securitatea (security)
datelor si de intimitatea (privacy)
utilizatorilor pentru unele sisteme
incorporate, odată cu dezvoltarea IoT
si stocarea in Cloud aceste probleme
au devenit critice si blocante!
Se fac mari eforturi ca ele să fie
rezolvate de o manieră acceptabilă si
verificabilă pentru orice utilizator 44
privat
sau industrie .
Sisteme incorporate – o paradigmă deja
învechită.. 3
Datorita Cloud computing si Edge computing, IoT este acum asociat din ce in ce
mai mult cu alte tehnologii care alta data nu prea aveau legătură cu sistemele
incorporate, cum ar fi si:
- Big data (analytics)- analiza volumelor mari de date
- Artificial intelligence (AI) – tehnici de inteligență artificială
- Machine Learning (ML), Deep Learning (DL) – învățare automată, profundă
utilizată la recunoașterea formelor; fac parte din tehnicile de inteligența
artificială
45