Sunteți pe pagina 1din 17

Universitatea „Ovidius” din Constanța

Facultatea de Matematică și Informatică


Disciplina: Arhitecturi pentru Sisteme
Informatice
Specializarea: Medii virtuale multi-modale distribuite
Anul I

Sistem Înglobat

Profesor Student
1. Sistem înglobat – definiție, exemple, modele de dezvoltare, arhitectură
R: Un sistem înglobat are două componente, hardware și software

 Arhitectura unui Sistem Înglobat: 


- o generalizare a sistemului, ce nu oferă informaţii de detaliu referitoare la implementare
(cum ar fi: codul sursă sau proiectarea circuitelor electrice) 
- la acest nivel componentele hard și cele soft interactionează ca niște elemente

2. Modelul unui sistem embedded


R:
3.Compilarea. Interpretoare de tip script
R: Compilerul e situat, de obicei, în host şi generează, la un moment dat, cod target pentru
platforme ce diferă de platforma pe care a rulat compilerul
 Limbaje de interpretare:
 script-urile:
 PERL, JavaScript, HTML
 Sunt limbaje de programare de nivel înalt:
 Mai independente de platformă decât omologii lor de nivel înalt
 Introduc întârzieri pt. o mai mare flexibilitate
 Importă şi generează cod în timpul rulării, după care este executat imediat
 Optimizare pt. programare eficientă şi rapidă, gen GUI
 La platformele embedded ce suportă programe scrise într-un limbaj script e nevoie de o
componentă în plus – un interpretor – pentru a se putea face o procesare on-the-fly a
codului

4. Compilarea. Interpretoare de tip Java


R:  Java
 Java byte este un cod target independent de platform
 Pt. a rula într-un sistem embedded, acesta trebuie să aibă Java Virtual Machine
(JVM)
 JVM poate fi implementat:
 în hardware
 în stratul system software
 în stratul aplicaţie

5. Componentele unui JVM


R:  Clasele JVM
 Librării gata compilate de Java byte code, denumite Java API (Application Program
Interface)
 Sunt independente de aplicație, pt. a putea fi folosite de programator la execuția de
funcții sistem și a re-utiliza cod
 O aplicație Java are nevoie de clase JavaAPI pt. a putea fi executată

6. Tipuri de Garbage Collector


R: Proiectarea și performanțele unui JVM sunt influențate de:
 GC – Garbage Collector – responsabil cu dealocarea memoriei ce nu mai este
folosită de aplicația Java
TIPURI:-1)copying algorithm
 Copiază obiectele dintr-o parte a memoriei în altă parte și o
eliberează pe cea originală, rămasă nereferențiată
 Compactează memoria
 Nu poate fi întrerupt în timpul copierii: se blochează sistemul
2) mark and sweep algorithm
 Marchează toate obiectele folosite, apoi le dezactivează pe cele
nefolosite
 Sistemul nu se blochează, deoarece GC-ul poate fi întrerupt pentru a
fi executate alte funcții
 Nu compactează memoria, ceea ce duce la fragmentarea acesteia.
Pentru a evita acest lucru, se folosește împreună cu un algoritm de compactare
3) the generational algorithm
 Separă obiectele în grupuri de generații conform momentului în care
le-a fost alocată memorie, pornind de la ideea că alocarea/dealocarea de memorie pt. obiectele
care au timp de viață mai mare este pierdere de timp.
 Obiectele din generațiile tinere sunt șterse mai des
 Obiectele pot fi mutate dintr-o generație mai tânără într-una mai
îmbătrânită

7. Algoritmi folosiți de Execution Engine


R: Folosesie 3 algoritmi:
1) Interpretarea
 Programul Java este încărcat în fiecare moment pt. a fi executat
 Interpretorul JVM analizează și traduce în cod nativ fiecare instrucțiune,
octet cu octet
 Codul redundant este rulat din nou la fiecare execuție
Avantaje: usor de portat pe orce platform hardware, simplitate
Dezavantaje: Performante scazute din cauza redundantei
2)Compilarea Just-in-time
 Interpretează o singură dată programul
 Compilează și salvează codul în starea nativă corespunzătoare acelui
moment, pt. a fi folosit la o nouă rulare
Avantaje:Elimina codul redundant
Dezavantaje:Timp de executie prelungit din cauza generarii codului native corespunzator
fiecarui octet
Necesita memorie suplimentara: trebuie sa salveze si codul Javabyte sic el native
3) Compilarea WAT/AOT
 Întregul cod Javabyte este compilat în cod nativ, fără interpretare
Avantaje:Mai performant decat JIT pentru codul neredundant
Dezavantaje:Mai slab decat JIT pentru codul redundant
Timp de execuție suplimentar, din cauza claselor Java ce trebuie compilate și
introduse în sistem în timpul rulării

8. Compilarea. Interpretoare de tip .NET

R:  Aplicațiile sunt compilate și link- editate pt. a genera un cod independent de platformă:
MSIL – Microsoft Intermediate Language
 Pentru ca un limbaj de nivel înalt să fie compatibil .NET trebuie să adopte standardul
Common Language

9. Standarde în domeniul rețelelor


R:  La proiectarea unei rețele trebuie cunoscute 3 aspecte:
 Distanța dintre dispozitivele interconectate
 LAN – Local Area Network
 Dispozitivele se află în apropiere una față de alta, de ex: în aceiași
clădire, în aceiași cameră, etc.
 WAN – Wide Area Network
 Interconectează dispozitive sau rețele LAN aflate în clădiri diferite,
răspândite geografic
 Mediul fizic de interconectare
 Cablu
 Fără fir
 Arhitectura rețelei
 Peer-to-peer
 Client / Server
 Hibrid

10. Modelul Embedded System și modelele TCP/IP, WAP, Bluetooth


R:Modelul ISO-OSI
Open Sysyems Interconnection
 Într-o reţea schimbul de informaţii se realizează între straturi
 O conexiune este iniţiată de un dispozitiv la nivelul stratului aplicaţi
 Fiecare strat adaugă informaţii
 header-ul introdus de fiecare strat este mapat în stratul următor
 Informaţia este transmisă la alt dispozitiv prin mediul de transmisie la nivelul stratului fizic
 La recepţie procesul este reluat inver
 Funcţionarea şi metodologiile implementate la nivelul fiecărui strat bazat pe modelul OSI
sunt cunoscute sub numele de protocoale de reţea
-Modelul OSI este doar o referinta
-Nu intodeauna se folosesc 7 straturi
Un singur protocol poate implementa functionarea mai multor starturi
TCP/IP are 4 straturi
-Aplicatie(OSIaplicatie, prezentare, sesiune)
-Transport(OSI-transport)
-Internet(OSI-retea)
-Acces retea(OSI-fizic, data-link)
MODELUL WAP
MODELUL BLUTOOTH

11. Nivelele (straturile) TCP/IP


R: DE LA SUBIECTUL 10

12. Modele de arhitectură ISA


R:  Operații
Realizate du una sau mai multe instructiuni
TIPURU(matematici, de mutare, de compilare, I/O, de salvare temporala)
 Operanzi
Datele manipulate de operatii
TIPURI(pe 8, 16, 32 biti)
 Moduri de adresare
 Moduri de adresare a memoriei
Liniar (adresarea se face incrementata de la 0 la 2laN)
Segmentat (memoria este impartita in mai multe segmente, pentru a o accesa
trebuie specificata segmental si offsetul)
Regiuni cu adrese special
Limitat (intr-un anume fel)
 Setul de Regiştri
Este cel mai rapid mod, fiind folosit foarte des
Au functii speciale

 Întreruperi
 Întreruperile sunt un mecanism prin care executarea standard a programului
este întreruptă pentru a se executa altă rutină de program

13. Modele ISA specifice aplicației


R:  Controller – pt. aplicaţii care nu necesită manipulări complexe de date
 Datapath– pt. aplicaţii care repetă aceleaşi operaţii pentru diferite seturi de date
(DSP)
 Finite State Machine with Datapath (FSDM)– o combinaţie între controller şi
datapath – pt aplicații ce nu necesită operații complexe, dar care trebuie să repete același tip
de operații
 ASIC – Application-Specific Integrated Circuits
 PLD – Programmable Logic Devices
 FPGA – Field-Programmable Gate-Array
 Java Virtual Machine (JVM)

14. Modele ISA pt aplicații generale


R:  CISC – Complex Instruction Set Computing
 RISC – Reduced Instruction Set Computing
In general are o arhitecura cu operatii mai putine si mai simple decat CISC
De asemenea, are un numar de cicluri per operatie mai redus
 Instruction-Level Parallelism (la baza acestora se afla procesoarele RISC)
 Single Instruction Multiple Data (SIMD) – execută o singură instrucţiune
simultan pe mai multe seturi de date
 Superscalar Machine Model – execută mai multe instrucţiuni simultan într-
un singur ciclu de ceas
 VLIW – Very Long Instruction Word Computing( un cuvânt instrucţiune de
lungime mare este executat în mai multe operaţii, operațiile fiind desfăcute și executate în
paralel de mai multe subunități aparținând procesorului)
15. Proiectarea procesorului – arhitecturile von Neumann și Harvard
R:  ISA doar defineşte ceea ce trebuie să facă procesorul
 Ceea ce este definit de ISA este implementat de componentele hardware ale
procesorului şi de interconexiunile dintre acestea
 Von Neumann – un singur spațiu de memorie atât pt instrucțiuni, cât și pt date
 Harvard – un spațiu de memorie pt instrucțiuni și alt spațiu de memorie pt date
----Majoritatea SI au o arhitectura vom Neumann datorita performantei acestuia
---- ISA de tip Datapath folosit de DSP-uri este realizat cu Harvard, deoarece face aceleaşi
instrucţiuni pt. seturi de date diferite, astfel crescând numărul de instrucțiuni executate per
unitatea de timp

16. CPU – ALU


R: CPU(Central processing Unit)
ALU(Aritmetic Logic Unit)
Implementeaza operatiile ISA
 Full Adder
Blocul de baza la majoritatea ALU
3 intrari pe 1 bit
2 iesiri pe 1 bit
 Primul Half Adder
2 intrari (A,B)
1 iesire: suma partial SUM
 Al doilea Half Adder
2 intrari: Sum, Cin
2 iesiri:
Resultatul final: Sum
Carry: Cout
 Ripple-Carry Adder

17. CPU – regiștrii


R: Pe post de memorie rapida
 Sunt realizaţi din mai multe circuite flip-flop, de altfel numărul de flip-flop folosiţi pt. un
registru este numărul de biţi pe care lucrează procesorul; dimensiunea bus-ului de date se
determină la fel
 Storage register
 Pe post de memorie internă rapidă folosită pt. a stoca temporar, a copia sau pt. a
modifica operanzi ce sunt folosiţi de sistem imediat sau foarte des

 General purpose(folositi pentru orce tipuri de date furnizate de programator)


 Special purpose(folositi doar conform cu ISA)
 Shift registers
 Au rolul de a introduce întârzieri

18. CPU – Control Unit, memoria on-chip


R: Controleaza intregul ciclu de extragere si executie
 Generează semnalele de control pt: -Fetching
-decoding
-executia(instructiunilor in CPU)
 după ce instrucțiunea a fost preluată din memorie, ea este decodificată pt ca ALU să știe ce
operație trebuie să execute
 în pasul următor sunt gnerate semnalele necesare, fiind accesate unități atât din interiorul
cât și din exteriorul CPU
MEMORIA ON_CHIP
 Memorie ierarhizată – diferite tipuri de memorie, fiecare cu altă viteză, mărime și mod de
utilizare

19. Memoria cache


R:  în ierarhie este amplasată între CPU și memoria principală (main memory)
 poate fi în interiorul sau în exteriorul procesorului
 tip: SRAM – din cauza costului procesoarele au mem Cache relativ mica
 stochează seturi de date ce sunt accesate des
 unele procesoare au câte un cache atât pt instrucțiuni cât și pt date, pe când altele au un
singur cache pt ambele

20. CPU – I/O

Responsabile cu transferul datelor de la şi înspre procesor


Se compune din:
1. mediul de transmisie – cu/fara fir
2. port de comunicaţie - dispozitivul care realizează conexiunea
3. interfaţa de comunicaţie
1. controlează comunicaţia dintre CPU şi controlerul de I/O;
2. codează / decodează din logica circuitului integrat în logica specifică portului I/O;
3. poate fi integrată în procesor sau într-un circuit integrat separat
4. controlerul I/O - un procesor slave ce controlează dispozitivele de I/O
5. Bus-uri I/O
6. Master processor integrated I/O

I/O: SERIAL VS. PARALEL


Serial
Transferul se face câte un bit odată
Pe lângă cele 6 unităţi logice mai include:
Port serial
Interfaţă serială
include: buffere de emisie şi de recepţie

Transmisie simplex: - într-o singură direcţie


Transmisie half-duplex: - în ambele direcţii, dar pe rând
Transmisie full-duplex: - în ambele direcţii, simultan

Transmisie asincronă
nu necesită buffer de transmisie
Șirul de date este divizat în pachete de 4-8 sau 5-9 biţi
pachetele sunt încapsulate în frame-uri: se adaugă:
1. bit de START
2. bit de STOP
3. bit de paritate (opţional)
între frame-uri canalul de transmisie este menţinut în idle – nivel logic 1 sau NRZ (Non-
Return to Zero)
receptorul începe să preia datele bit-cu-bit începând cu bitul START până la STOP

Transmisie sincronă
nu există biţi de START şi STOP
nu există perioade de idle
există un semnal de ceas:
transmis pe linie separată
T ransmis intercalat printre biţii de date

21. Performanțele procesorului

Timpul de execuție
Clock rate
CPI – nr de cicluri de ceas per instrucțiune
Timpul de răspuns (Latency) – timpul necesar procesorului pt a răspunde la un eveniment
Availability – timpul în care procesorul rulează normal, fără rateu
Reliability (MTFB – Mean Time Between Failures) – timpul mediu între defecțiuni
Recoverability (MTTR – Mean Time To Recover) – timpul mediu necesar procesorului pt a-
și reveni dintr-o defecțiune

depind de ISA aleasă


depind de felul în care ISA a fost implementată
în general, orice creștere a ratei de clock (sau scădere a CPI) duce la creșterea
performanțelor procesorului

MIPS (Millions of Instructions Per Seconds)


!!! Nu întotdeauna procesoarele mai rapide au și o valoare MIPS mai mare – MIPS =
1/(timpul de execuție)
MIPS nu ține cont de complexitatea instrucțiunilor astfel că nu ne spune nimic referitor la
performanța procesorului pt diferite ISA
MIPS poate lua alte valori pt același procesor când rulează programe diferite
Există programe benchmarks ce pot fi rulate pt a măsura performanțele unui processor
22. Board Buses – arbitrare

Bridge – inter-conectează mai multe tipuri de bus-uri


System -interconectează memoria externă sau cache la CPU
Backplane -același rol doar că lucrează la viteză mai mare
I/O -conectează perifericele la CPU
-poate fi populat și cu IRQ
Expandabile - pot fi adăugate componente
-PCMCIA, PCI, IDE, SCSI, USB
Non-expandabile -nu pot fi adăugate componente suplimentare (DIB, VME, I2C )

ARBITRAREA BUS-ULUI ȘI TEMPORIZAREA


Master -componentă ce poate iniția o comunicație
Slave -componentă ce poate comunica doar în urma unei cereri venite de la master
Arbitru
-pt bus cu mai multe circuite master
-determină modul în care master-ul preia controlul bus-ului
-este un circuit distinct față de master sau slave
Dynamic Central Parallel -Arbitrul este amplasat central, la el fiind conectate toate
dispozitivele master. Acestea pot prelua controlul bus-ului prin intermediul :
-unei memorii FIFO - se crează o listă cu masterele ce urmează să controleze busul
-sistem bazat pe priorități – diferentiaza masterele dupa importanta lor fata de system
si dupa importanta unuia dupa celalalt
Central-serialized
-Arbitrul este conectat la toate masterele, ele fiind conectate în serie.
-Primul master care solicită bus-ul este cel care preia controlul
-Masterul cedează controlul masterului următor atunci când nu mai are nevoie de bus
Arbitrare distribuită
-Nu există un arbitru central
-Fiecare master verifică înainte de a prelua controlul dacă sunt coliziuni pe bus :
-atomically – se oașteaptă până când masterul curent își termină transmisia
-split– transmisia unui master poate fi întreruptă pt ca altul să preia controlul
23. Drivere

Driverele sunt acea parte de software care interacționează și controlează în mod direct
hardware-ul unui SI
Reprezintă legătura dintre hardware și sistemul de operare până la stratul de aplicație

TIPURI
Specifice arhitecturii
-Controlează hardware-ul integrat într-un procesor (arhitectura)
-Memoria on-chip, MMU – Memory Management Unit
Generic
-Controlează hardware-ul localizat pe placă și nu într-un procesor
-Controlează hardware ce nu e specific unui procesor
FUNCȚII
Hardware Startup
Hardware Shutdown
Hardware Disable
Hardware Enable
Hardware Acquire
Hardware Release
Hardware Read
Hardware Write
Hardware Install
Hardware Uninstall

TIPURI DE ÎNTRERUPERI
Software -Solicitate de una din instrucțiunile curente
Hardware ( interne)-Generate de o dificultate de execuție a unor întreruperi de către
procesor ((Depășiri (overflow), împărțiri la 0, debugging (breakpoints), instrucțiuni
nevalide ))
Hardware (externe)- Inițiate de hardware altul decât CPU

24. CAN – overview

-CAN este un protocol embedded important


-Specificatii CAN(layer fizic, layer de protocol, layer de filtrare a mesajelor)
Layerul fizic foloseste transmisie diferentiala pe o pereche de fire (twisted). Bus-ul foloseste
NRZ(non return to zero)
Nodurile sunt conectate la bus : daca numai un nod conduce bus-ul la un 0 logic, atunci intreg
bus-ul se gaseste in acel stadiu independent de numarul de noduri care transmit 1 logic
Rata maxima de transfer este de 1000 kbt/sec la latimea maxima a busului de 40 m cand
foloseste o pereche de fire (twisted), care este cel mai comun bus folosit in cadrul CAN-ului
Lungimea mesajului este scurt cu maxim de 8 biti de date / mesaj si acolo este un timp de
raspuns mic intre cererea de transmisie si startul transmisiei.Mesajele sunt protejate prin
criptarea de tipul checksum.
Accesul la bus este permis printr-un protocol serial de comunicatii Carrier Sense Multiple
Acces/ Collision Detection cu Non Destructive Arbitration. Acest lucru inseamna ca
coliziunea mesajelor este evitata prin arbitrarea bit cu bit fara pierdere de vreme.
In mesaj nu este o adresa explicita,in schimb, fiecare mesaj poarta o valoare numerica care
controleaza prioritatea pe bus, si mai poate folosi si ca o identificare a continutului mesajului
O schema elaborate de tratare a erorilor rezulta din retrimiterea mesagelor cand nu sunt
receptionate correct

25. CAN – mesaje standard

Standardul CAN defineste 4 tipuri de mesaje:


-Data Frame –este tipul de mesaj predominant
-Remote Frame
-Error Frame
-Overload Frame
Mesajele folosesc o schema isteata de bit-wise arbitration pentru a controla accesul la bus, si
fiecare mesaj este etichetat cu o prioritate.
Standardul CAN mai defineste o schema elaborate pentru tratarea si limitarea erorilor.
a)Data frame – determina prioritatea mesajelor cand 2 sau mai multe noduri pretend bus-ul
b)Remote frame –este foarte asemanator cu Data frame, cu 2 deosebiri : -este marcat ca si
Remote Frame si nu are Data Field
Scopul lui este de a solicita transmisia care corespunde Data Frame.Remote framre se poate
folosi pentru a implementa un tip de bus cerere-raspuns de manageriere traffic.
c)Error Frame- este un mesaj special care incalca regulile de incadrare (framing) a mesajului
Can-ului.Este transmis cand nodul detecteaza o eroare si va face ca toate celelalte noduri sa
detecteze eroarea respective.
d)Overload Frame- este transmis de un nod care devine prea aglomerat.

26. LIN – structura ierarhică a rețele


R: Subretelele sunt necesare pentru a reduce busurile de date pe busu principat
Control Area Network(CAN)
Avantaje:-Compatiilitate cu busul principal
Dezavantaje:-Scump
Serial Sub Bu
Dezavantaje:-Incompatibilitate cu busul principal
Avantaje:-ieftin
-exista chiar si pe dispositive ieftine
-poate fi reconstituit usor cu ASIC ori CPLD
-se poate realiza protocol soft
27. LIN – sub-rețele(26)
R:CONCEPT SUB BUS
-Cerinte de baza
-trebuie sa satisfaca standardele pentru sub bus
Costul dispozitivului de control(driven). Trebuie sa fie mai ieftin decat CAN
Increderea: la acelasi nivel cu CAN
Solutie pe termen lung
Maleabilitate: capabil de extinderea sistemului cu noduri aditionale
-Cost redus pentru nodurile satelit
Fara cristal sau resonator
Usor de implementate
Simple states machines
Reactie lenta in timp(100ms max)
Predictibilitate șa nesincronizare

28. LIN – protocol

Lin concept :
-implementare single-wire Low cost
-speed 20kbit/sec
-single master/multiple slave
-implementare Low cost silicon bazat pe interfata UART/SCI
-auto sincronizare fara cristal de cuartz
-timpi de raspuns pentru semnalul transmis
Master/slave protocol:
1. cerintele masterului :

-determina ordinea si prioritatea mesajelor


-monitarizarea datelor si verificarea byte-ului de tratare a erorilor
-receptioneaza pause de trezire de la nodurile slavului
b) cerintele slavului:
-este unul din cei 2-16 membri de pe bus
-receptioneaza sau transmite date cand un ID adecvat este trimis de catre master
-nodul care serveste ca master poate fi si slave
Masterul :are controlul asupra intregului bus si protocol.Acesta controleaza care mesaj la ce
timp este sa fie transfera catre bus.Mai face si tratarea erorilor.

29. LIN – frames


R: Mesaje de cadru
-Sincronizare pe bit
-Specific modelului pentru determinarea timpului de baza
-Sincronizarea bitului precedent mesajului de cadru
-ID-camp
-Mesaj de identioficare- pe 6 biti, incorporeaza informatia despre emitator
despre receptor, scop, si date despre lungime.
2 biti de paritae pentru protectia campului ID foarte sensibil

30. LIN – interfața fizică

S-ar putea să vă placă și