Vous êtes sur la page 1sur 59

1.

Insumarea produserlor partiale cu


memorarea transportului.
2. Unitatea aritmetica, flotanta – schema de
principiu a unitatii aritmetica .

3. Unitati centrale cablate pe timp.


4.Dispositive de comanda microprogramate
: conceptul , clasificarea, structura
propusa pentru un sistem programat.
CONCEPT:
• Execuţia unui program constă în execuţia
secvenţială a instrucţiunilor sale. Pe de altă parte,
execuţia unei instrucţiuni constă în execuţia
secvenţială a microoperaţiilor componente.  în
anumite condiţii, proiectarea unui program poate
semăna cu proiectarea dispozitivului de comandă.
• Pentru a exploata această posibilitate de asemănare
a strategiilor de proiectare la cele două nivele, se
codifică micro-operaţiile ce compun micro-
programul asociat unei instrucţiuni şi se depun într-o
memorie fixă (ROM) numită memorie de comandă.
• În această memorie de comandă există mai multe
micro-programe, şi anume: câte unul asociat fiecărei
instrucţiuni. Pentru aducerea secvenţială din memoria
de comandă a tuturor micro-instrucţiilor
corespunzătoare micro-programului curent este
necesar un dispozitiv de secvenţiere.
CLASIFICARE:
1. În funcţie de organizarea cuvântului micro-
instrucţie, distingem:
1. Micro-programare pe vertical
2. Micro-programare pe orizontală
3. Micro-programare pe diagonal

2. Gradul de codificare al micro-instrucţiilor:


a. fără codificare – când un bit generează o
comandă. De obicei cu o instrucţiune se
generează mai multe comenzi.
b. cu codificare pe un nivel – corespunde
situaţiei când câmpuri diferite ale cuvântului
micro-instrucţie conţin coduri pentru
comanda unor resurse hardware mutual
exclusive. Fig. De exemplu, cu un câmp se
comandă operaţia iar cu altul selecţia
operanzilor
c. cu codificare pe 2 sau mai multe nivele –
corespunde situaţiei din Fig.. Există două
variante:
• I.Bit steering (dirijarea biţilor)
exemplificată în Fig.4. 27.
• II. Format shifting (cu comutare de
format) în care formatul micro-
instrucţiei este variabil şi este funcţie de
starea maşinii.

STRUCTURA PROPUSA:
5. Exemplu de proiectare microprogramata a UC
pentru un sistem
Minimal:
6. MODULE DE INTRARE/ IESIRE,
MAGISTRALE , TIPURI DE MAGISTRALE:
Module de I/O:
•Interfatare la CPU si memorie
•Interfatare cu unul sau mai multe periferice

Functiile unui modul de I/O:


•Control & Temporizari

•Comunicatii CPU

•Comunicatii dispositive
•Buffer Date

•Detectie erori

TEHNICI I/O:
-Programate
-Intreruperi
-Acces Direct la Memorie – Direct Memory Access
(DMA)
Ce este o magistrala?
• O cale de comunicare ce conecteaza doua sau mai multe
dispozitive
• In mod uzual de tip broadcast
• Deseori sunt grupate —Un numar de canale intr-o
singura magistrala —e.g. O magistrala de 32 bit este 32
canale singulare de 1 bit
• Liniile de alimentare nu se considera

Tipuri de magistrale
• Dedicate —Linii de adrese & date separate
• Multiplexate —Linii partajate —Linii de control pentru
validarea liniilor de date si adrese —Avantaj – mai putine
linii —Dezavantaje – Control mai complex – Performanta
la limita
7. Comunicarea asincrona – diagrama de timp
8. Comunicarea sincrona – diagrama de timp
9. Arbitrarea magistralei.
Există un mare număr de posibilitati de
interconectare a sistemelor. Cele mai comune sunt
structruile cu magistrale simple și multiple

Ce este o magistrală?
O cale de comunicare ce conectează două sau mai
multe dispozitive. De tip broadcast. Deseori sunt grupate
-* Un număr de canale intr-o singură magistrală
-* O magistrală de 32 bit este 32 canale singulare de 1 bit.

Tipurile de magistrale
1. Magistrale de date
Transportă date, lățimea este un element cheie al
performanței : 8, 16, 32, 64 bit.
2. Magistrale de adrese
Identifică sursa sau destinația datelor. Lățimea
magistralei determină capacitatea maximă de
memorie a sistemului. 8080 are o magistrală de 16
biți și rezultă un spațiu de adresare de 64k
3. Magistrale de control
Controlează și secvențiază informația
- Semnale de citire/scriere memorie
- Cereri de intrerupere
- Semnale de tact

Schema de interconecare a magistralelor


Arbitrarea Magistralelor
Magistralele se arbitrează central sau distribuit
1. Centralizată
Un singur dispozitiv hardware controlează
accesul la magistrală . Controler de magistrală și
arbitru.
Poate fi parte a CPU sau poate fi distinct
2. Distribuita
Fiecare modul poate pretinde magistrala
Controlul logic la nivelul tuturor modulelor
10. sistemul de intrare/iesire. programarea
intrarilor si a iesirilor
CPU are control direct asupra I/O
- Status sensibil
- Comenzi citire/scriere
- Transfer de date
CPU accepta modulul I/O sa termina operatia.

Detalii de programare I/O


- CPU cere operatia I/O
- Modulul I/O realizează operația, apoi setează biții
de stare
- CPU verifică periodic biții de stare
- Modulul I/O nu informează direct CPU și nu
intrerupe CPU
- CPU poate aștepta sau reveni mai tirziu

11. sistemul de intrate/iesire. accesul DMA

Circuitele DMA și de intrerupere sunt folosite pentru


a mări viteza operațiilor de IO și pentru elimina mare
parte din rolul impotant al CPU în realizarea unor
asemenea operații.
DMA permite ca transferul de date IO sa aibă loc fără
execuția unei instrucțiuni de IO de către procesor.

Accesul direct la memorie DMA

Elementele esențiale ale unui DMA sunt reprezentate


in figura de mai jos
Interfața dispozitivului de IO conține
- Un registru de buffer de date – IODR
- Un registru de adresă IOAR
- Un registru de date DC
Operearea DMA
CPU spune controlerului DMA:
—Citire/Scriere
—Adresa dispozitivului
—Adresa de inceput
—Adresa dispozitiv
—Adresa de start a blocului de memorie pentru date
—Cantitatea de date ce se transfera
• CPU isi continua treaba
• Controlerul DMA se ocupa de transferurile de date
• Controlerul DMA trimite o intrerupere cand a
Terminat
12. sistemul de I/O. sistemul de intrerupere

Elimină starile de asteptare CPU


CPU nu mai poate face verificări repetate a
dispozitivului
Modulul IO intrerupe cand este gata.

Operearea de bază

CPU emite o comandă de citire


Modulul IO ia date de la periferic în timp ce CPU
lucrează altceava
Modelul IO intrerupe CPU, CPU cere datele,
Modulul IO transferă datele
Identificarea modului ce intrerupe

Linii diferite pentru fiecare modul


- PC
- Numar limitat de module
Inspecție software
- CPU intreabă pe rand fiecare modul
Daisy Chain sau Hardware poll
- Modulul responsabil plasează vectorul pe
magistrala
- CPU utilizează vectorul pentru identificarea rutinei
de serviciu
Bus Master
- Modulul trebuie sa ceara magistrala inainte de a
putea genera intreruperea

Intreruperi multiple
Fiecare linie de intreruperi are o prioritate
Linii cu prioritate mai mare pot intrerupe linii cu
prioritatea mai mica
Daca bus mastering, numai masterul current poate
intrerupe

13. sistemul de I/O.procesare de I/O -


schema procesorului
Procesoarele de IO sunt exetensii logice ale
metodelor de control al IO discutate anterior. In sistemele
cu IO programate, dispozitivele IO sunt controlate direct
de catre CPU. Conceptul DMA, extins la dispozitivele de
IO limitează controlul asupra datelor transferate din,sau
spre, memoria principală. IOP sunt prevăzute cu
capabilități de execuție a anumitor instrucții, numite
instrucții de IO, ceea ce le asigură un control aproape
complet asupra opreațiilor de IO. Un IOP, ca și un CPU
este un procesor specializat pe instrucții, dar în general
setul său de instrucții este mai restricționat decât cel al
CPU. IOP-urile sunt legăturile de comunicații primară
dintre dispozitivele de IO și memoria principală. De aici
derivă raspinditul termen channel utilizat pentru IOPuri
14. Gestiunea intrarilor si a iesirilor
Datorită faptului că pot fi disponibile multe task-uri şi
fiecare task alternează între procesarea normală de către
un singur CPU şi o procesare a IO prin una sau mai multe
IOP-uri sau controller-e DMA, se impune utilizarea unui
mediu de multiprogramare:
—Într-un asemenea mediu, un task poate fi executat
de către CPU până când apare o instrucţiune de IO;
—în acest moment task-ul este transferat unui IOP.

O situaţie asemănătoare apare când calculatorul deţine


memorie virtuală paginată şi se suspendă execuţia CPU la
apariţia unei greşeli de pagină; din nou se necesită o
operaţie de IO, de această dată pentru a reface greşeala de
pagină.

Un program poate accesa un dispozitiv de IO şi poate


începe procesarea IO dacă dispozitivul este liber; adică,
dacă nu este utilizat de către un alt program, şi dacă prin
IOP-ul ce-l controlează se dovedeşte că se poate asigura
canalul de acces necesar între dispozitivul de IO şi
memoria principală.
• CPU trebuie să fie liber înainte de a începe procesarea.

→ fiecare program poate fi văzut ca fiind în una din


următoarele patru stări:

– S0: Angajat în procesare prin CPU.


– S1: În aşteptarea procesării prin CPU.
– S2: Angajat în procesare prin dispozitiv de IO.
– S3: În aşteptarea procesării prin dispozitiv de IO.

Când CPU sau dispozitivele de IO devin libere, un


program în aşteptare este selectat pe baza unei priorităţi şi
îi este acordată resursa respectivă.

Odată ce un program câştigă acces la CPU, el nu este


înlocuit de un alt program înainte să aibă loc unul din
următoarele evenimente:

—CPU întâlneşte o instrucţiune de IO


—CPU primeşte o întrerupere de IO nemascată
—CPU termină execuţia programului curent datorită
întâlnirii unei instrucţiuni capcană (trap) sau a unei
întreruperi.

15. Gestiunea resurselor calculatorului.


Gestiunea proceselor

Un process este o rutină sau un program în execuție. Pe


durata lui de viață un process se poate afla în una din
sterile: ACTIV, ÎNTRERUPT, BLOCAT, ÎNTRERUPT-
SUSPENDAT sau BLOCAT-SUSPENDAT.

Un process se află în starea BLOCAT atunci cand el


se afla in stare de imposibilitate de a continua întrucît el
nu dispune de resurse necersare
Un process conceptual gata pentru execuție, dar
stopat intrucat sistemul de operare a decis alocarea
procesului unui alt process ( mai prioritar), se spune ca
este in starea INTRERUPT
Dacă procesul este în curs de execuție și deci în mod
implicit dispune de toate resursele necesare, se spune ca
procesul se află în starea ACTIV

În sistemele de calcul monoprocesor, la un moment dat,


un singur processor poate fi ACTIV. În sistemele de
calcul multiprocessor pot fi active cel mult atâtea procese
cate procesoare există in configurație.

Distrugirea sau stergerea unui process înseamnă


eliberearea resurselor ce i-au fost allocate, eliminarea
memoriei necesare vectorului de stare, precum și
eliminarea acestuia din tabela proceselor. Un process se
poate autodistruge atunci cand ajunge la sfirsitul execuției
sale sau, poate fi distrus la cererea unui alt process sistem
sau Utilizator.
16. Sisteme de operare. tipuri de sisteme de
operare.

Actioneaza ca si program interfata intre utilizator si


hardware-ul sistem si controleaza executia tuturor
programelor
Managementul memoriei
• Crearea programului
• Executia programului (processor management)
• Acces la dispozitivele de I/O (Device management)
• Acces controlat la fisiere (File management)
• Acces sistem (security)
• Detectia erorii si generare raspuns
• Controlul performantei sistemului
• Urmarirea gradului de utilizare a resurselor
(Accounting) – job accounting
• Coordonare intre alte software-uri si utilizatori

Tipuri de SO
• Interactiv
• Orientat pe loturi de lucrari (Batch)

• Mono-utilizator (Uni-programming)
• Multi-utilizator (multi-programming, Multi-tasking)

• Time-sharing OS
• Distributed OS
• Network OS
• Real Time OS

Servicii oferite de SO
• Atat utilizatorilor cat si programelor
—Pt. programe asigura un mediu de executie
—Pt. utilizatori asigura servicii pentru executia
programelor
intr-o maniera convenabila

17. Modelul OSI


Un model stratificat pentru reţelele de calculatoare s-a
impus, din considerente practice şi teoretice, de mult
timp. Fără un astfel de model, dezvoltarea, înţelegerea şi,
în ultimă instanţă, funcţionarea reţelelor ar fi imposibile.
Acest gen de model aduce următoarele avantaje:
– Sparge comunicaţia în reţea, precum şi complexitatea
acesteia şi numeroasele aspecte implicate, în părţi mai
mici, care pot fi studiate individual şi tratate separat;
– Standardizează componentele de reţea pentru a putea
face posibilă dezvoltarea în sistem de concurenţă a
dispozitivelor; astfel este stimulată şi activitatea de
cercetare;
– Permite diferitelor tipuri de hardware şi software de
reţea să comunice între ele;
– Modularitate - împiedică schimbările dintr-un nivel să
producă modificări în alte niveluri; astfel, fiecare nivel
este separat şi se poate dezvolta independent;
– Împarte problemele comunicării în reţea în părţi mai
mici, pentru a putea fi înţelese şi explicate mai uşor;
– Permite existenţa unor dispozitive de interconectare mai
ieftine şi mai eficiente, care nu cunosc decât protocoalele
de pe câteva niveluri.
Necesitatea unei rețele universale sau a unui sistem de
rețea deschis, la care să se poată atașa orice calculator de
orice tip, ISO a impus în anii ‘70 un set de cerințe ce
asigură o bază comună pentru proiectarea rețelelor de
comunicare și pentru dezvoltarea standardelor arhitecturii
de rețea, cerințe cunoscute sub numele de: Modelul ISo -
OSI (Open System Interconnection). Acest model de
referință definește un set ierarhic de 7 nivele funcționale
sau straturi, prin care utilizatorii schimbă informații într-o
rețea de calculatoare.
Aceste nivele sunt specificate în figura de mai jos.
Fiecărui nivel îi sunt asociate diferite funcții; diferitele
calculatoare din rețea pot schimba informații între
nivelele corespunzătoare. Ca urmare, pentru fiecare nivel
se poate defini în mod separat un protocol standard de
comunicare.

Nivel Descriere nivel


1. Fizic Nivelul fizic al Modelului OSI are rol ca
interfață fizică să transmită semnale
electrice de la un dispozitiv la altul (printr-
un canal de comunicație).
Nivelul fizic este responsabil pentru
conversia și transmiterea efectivă a
semnalelor electrice sau optic între
interlocutori, (adică transmiterea de biți prin
un canal informatic). Serviciul lui este în
general limitat la transmisia și recepția unui
bit sau a unui tren de biți continuu (în
special pentru medii-suport sincrone, cum
sunt fibrele optice). Aceasta este în practică
realizată de către circuite electronice
specifice.
Nivelul fizic defineşte specificaţii electrice,
mecanice, procedurale şi funcţionale pentru
activarea, menţinerea şi dezactivarea
legăturilor
fizice între sisteme. În această categorie de
caracteristici se încadrează nivelurile de
tensiune, timingul schimbărilor acestor
niveluri, ratele de transfer fizice, distanţele
maxime la care se poate
transmite şi alte atribute similare care sunt
definite de specificaţiile fizice.
Se refera la semnale şi la mediu de transfer.
Scopul nivelului fizic este de a transporta o
secvenţă de biţi de la o maşină la alta.
Pentru aceasta pot fi utilizate diverse medii
fizice.
Fiecare dintre ele este definit de
– lărgimea sa de bandă,
– întârziere,
– cost şi
– uşurinţa de instalare şi de întreţinere.

Unitatea de date: bitul


2. Nivelul legatură de date se ocupă cu
Legătura adresarea fizica, topologia rețelei, accesul la
date rețea, detecția și anunțarea erorilor și
controlul fluxului fizic (flow control).
Nivelul legătură de date oferă transportul
sigur al
informaţiei printr-o legătură fizică directă.
Se ocupă cu adresarea fizică, topologia
reţelei,
accesul la reţea, detecţia şi anunţarea
erorilor şi
controlul fluxului fizic (flow control).
Definit de cadre şi la controlul accesului la
mediu.
Nivelul legătură de date este responsabil cu
transmiterea corectă a datelor printr-o
legătură
fizică existentă, între două puncte conectate
direct
prin această legătură fizică.
1. Subnivelul MAC (Media Acces Control)-
asigură accesul ordonat şi controlat la
mediu două staţii nu pot transmite în
acelaşi timp, iar erorile cauzate de
încercările de a transmite simultan sunt
detectate.
– este dependent de tehnologia LAN care
este implementată. Ex:, în cazul Ethernet-
ului,
este necesar un mecanism de detecţie a
coliziunilor, dar în cazul Token Ring acest
lucru
nu mai este necesar.

2. Subnivelul LLC (Logical Link Control) -


are scopul de a asigura comunicarea între
nivelul legătură de date şi nivelul superior,
nivelul reţea.
– este absolut necesar pentru a "ascunde"
tehnologiile LAN pe care se bazează
reţeaua de
la nivelurile superioare. este independent
de tehnologie, adică el oferă nivelurilor
superioare funcţii generice şi general-
valabile pentru transmisie, funcţii ce sunt
aceleaşi pentru orice variaţii ale nivelului
fizic şi ale subnivelului MAC.

Rol: furnizează un transport sigur, fiabil, al


datelor de-a lungul unei legături fizice,
realizând:

 Controlul erorilor de comunicație


 Controlul fluxului de date

 Controlul legăturii

 Sincronizarea la nivel de cadru

Unitatea de date: cadrul


3. Rețea Rol: determinarea căii optime pentru
realizarea transferului de informații într-o
rețea constituită din mai multe segmente,
prin fragmentarea și reasamblarea
informației
Ofera conectivitate şi selectează drumul de
urmat între două sisteme gazdă care pot fi
localizate în reţele separate geografic.
Este nivelul cel mai important în cadrul
Internetului, asigurând posibilitatea
interconectării diferitelor reţele.
La acest nivel se realizează adresarea logică
a tuturor nodurilor din Internet.
La nivelul reţea operează ruterele,
dispozitivele cele mai importante în orice
reţea de foarte mari dimensiuni.
Definit de selecţia drumului, rutare şi IP-uri.
Unitatea de date: pachetul
4. Rol: transferul fiabil al informației între
Transport două sisteme terminale (end points) ale unei
comunicații. Furnizează controlul erorilor și
controlul fluxului de date între două puncte
terminale, asigurând ordinea corectă a
pachetelor de date. Oferă un serviciu de
transport de date care izolează nivelurile
superioare de orice specificitații legate de
modul în care este executat transportul
datelor.
Nivelul transport segmentează datele în
sistemul sursă şi le reasamblează la
destinaţie.
Limita dintre nivelul transport şi nivelul
sesiune poate fi văzută ca graniţa între
protocoale aplicaţie şi protocoale de transfer
de date.
Nivelul transport încearcă să ofere un
serviciu de transport de date care să izoleze
nivelurile superioare de orice specificităţi
legate de modul în care este executat
transportul datelor. Mai specific,
probleme cum ar fi siguranţa (reliability)
sunt responsabilitatea nivelului transport.
În cadrul oferirii de servicii de comunicare,
nivelul transport iniţiază, gestionează şi
închide circuitele virtuale. Pentru a fi
obţinută o comunicaţie sigură, servicii de
detectare şi recuperare din erori sunt oferite
tot la acest nivel. → Realizeaza controlul
fluxului (flow control).
•Definit de flow control, calitatea serviciilor
şi siguranţă.
Unitatea de date: segmentul, datagrama
5. Sesiune Rol: furnizează controlul comunicației între
aplicații. Stabilește, menține, gestionează și
închide conexiuni (sesiuni) între aplicații.
Se ocupă cu stabilirea, menţinerea,
gestionarea şi
terminarea sesiunilor în comunicarea dintre
două staţii.
Oferă servicii nivelului prezentare.
Realizează sincronizarea între nivelurile
prezentare ale două staţii şi gestionează
schimbul de date între
acestea.
Oferă bazele pentru transferul eficient de
date, pentru clase de servicii, pentru
raportarea excepţiilor nivelurilor sesiune,
prezentare şi aplicaţie.
Definit de dialog şi conversaţii.

Unitatea de date: -
6. Rol: transformă datele în formate înțelese
Prezentare de fiecare aplicație și de calculatoarele
respective, compresia datelor și criptarea.
Asigură că informaţia transmisă de nivelul
aplicaţie al unui sistem poate fi citită şi
interpretată de către nivelul aplicaţie al
sistemului
cu care acesta comunică.
Dacă este necesar, nivelul prezentare face
traducerea între diverse formate de
reprezentare,
prin intermediul unui format comun.
Realizeaza o eventuala compresie /
decompresie
şi criptare / decriptare a datelor.
Definit de reprezentare şi formatul comun al
datelor.

Unitatea de date: -
7. Rol: realizează interfața cu utilizatorul și
Aplicație interfața cu aplicațiile, specifică interfața de
lucru cu utilizatorul și gestionează
comunicația între aplicații. Acest strat nu
reprezintă o aplicație de sine stătătoare, ci
doar interfața între aplicații și componentele
sistemelui de calcul.ex(HTTP; FTP; SNMP;
SSH; NFS...)
Oferă servicii de reţea aplicaţiilor utilizator.
Diferă de celelalte niveluri OSI prin faptul
că nu oferă
servicii nici unui alt nivel, ci numai unor
aplicaţii ce
sunt situate în afara modelului OSI.
Exemple de astfel de aplicaţii sunt editoare
de texte, utilitare de calcul tabelar,
terminale bancare etc.
Stabileşte disponibilitatea unui calculator cu
care se
doreşte iniţierea unei conexiuni, stabileşte
procedurile ce vor fi urmate în cazul unor
erori şi verifică integritatea datelor.
Definit de browser de web.

Unitatea de date: mesajul

18. Paralela dintre modelul OSI și TCP/IP


Standardul istoric şi tehnic pentru Internet este TCP/IP
(Transmission Control Protocol/Internet Protocol).
A fost creat de US DoD ( US Department of Defence -
Ministerul Apărării Naţionale al Statelor Unite) din
necesitatea unei reţele care ar
putea supravieţui în orice condiţii.
Modelul TCP/IP are patru niveluri: Aplicaţie, Transport,
Reţea (sau Internet) şi Acces la Reţea.
Asemănare între OSI şi TCP/IP:
– ambele sunt modele conceptuale ale procesului de
comunicare.
– ambele conţin o stivă de niveluri care sunt legate între
ele prin
noţiunea de serviciu (ceea ce ştie să facă un nivel),
interfaţă (modul în care serviciile sunt oferite nivelui
superior) şi protocol (modul în care sunt efectiv
implementate serviciile).

Deosebiri
• OSI este general, permiţând explicarea oricărui proces
de comunicare, în timp ce TCP/IP-ul nu reuşeşte să
modeleze perfect decât procesul de comunicare folosit în
Internet.
• Nivelurile superioare prezente în OSI sunt comasate
într-unul singur la TCP/IP. Ele sunt suficient de
“personale'' pentru aplicaţii pentru a nu necesita o
standardizare. Acest lucru poate fi uşor pus în evidenţă de
analiza oricărei aplicaţii Internet.
• OSI-ul descrie două tipuri de protocoale, orientate
conexiune şi fără conexiune la nivelul reţea şi doar unul,
cel orientat conexiune, pentru nivelul transport. TCP/IP-ul
merge exact în direcţia opusă, oferind doar un protocol
fără conexiune la nivel reţea şi ambele tipuri de
protocoale
pentru nivelul transport.

19. Protocoale nivel aplicație


Nivelul aplicație se referă la protocoalele de nivel înalt
folosite de majoritatea aplicațiilor, precum terminalul
virtual (TELNET), transfer de fișiere (FTP) și poștă
electronică (SMTP). Alte protocoale de nivel aplicație
sunt DNS (sistem de nume de domeniu), NNTP sau
HTTP.
Telnet este un protocol de rețea care se folosește în
Internet precum și în rețele de calculatoare tip LAN la
comunicația textuală, bidirecțională și interactivă, bazată
pe realizarea unei conexiuni virtuale cu stația de lucru
destinatară. Datele ce urmează a fi transmise celeilalte
stații de lucru sunt întâi întrețesute cu informațiile de
control ale telnet-ului și apoi transmise împreună cu
acestea, folosind nivelul de protocol „legătură de date” pe
8 biți al protocolului TCP.
Protocolul pentru transfer de fișiere (sau FTP, din engl.
File Transfer Protocol) este un protocol (set de reguli)
utilizat pentru accesul la fișiere aflate pe servere din rețele
de calculatoare particulare sau din Internet. FTP este
utilizat începând de prin anul 1985 și actualmente este
foarte răspândit. Numeroase servere de FTP din toată
lumea permit să se facă o conectare la ele de oriunde din
Internet, și ca fișierele plasate pe ele să fie apoi transferate
(încărcate sau descărcate). Webul nu aduce aici mari
schimbări, ajută doar ca obținerea fișierelor să se realizeze
mai ușor, având o interfață mai prietenoasă decât
aplicațiile (programele) de FTP. Este posibil să se
acceseze un fișier local prin adresa sa URL, ca și la o
pagină de Web, fie utilizând protocolul "file" (fișier), fie
pur și simplu utilizând calea și numele fișierului. Această
abordare este similară utilizării protocolului FTP, dar nu
necesită existența unui server. Desigur funcționează
numai pentru fișiere locale.
Simple Mail Transfer Protocol (prescurtat, SMTP; în
traducere aproximativă Protocolul simplu de transfer al
corespondenței) este un protocol simplu, folosit pentru
transmiterea mesajelor în format electronic pe Internet.
SMTP folosește portul de aplicație 25 TCP și determină
adresa unui server SMTP pe baza înregistrării MX (Mail
eXchange, „schimb de corespodență”) din configurația
serverului DNS.
În majoritatea implementărilor, nivelul aplicație
tratează nivelurile inferioare ca o "cutie neagră" care oferă
o infrastructură sigură de comunicații, deși majoritatea
aplicațiilor cunosc adresa IP sau portul folosit.
Majoritatea protocoalelor de la nivelul aplicație sunt
asociate cu modelul client-server. Serverele au de obicei
asociate porturi fixe, atribuite de IANA: HTTP are portul
80, FTP portul 21, etc. În schimb, clienții folosesc porturi
temporare.

20. Paralelismul în sistemle cu o unitate centrală


1. Multiplicarea unităţilor funcţionale.
• Existenţa unei singure unităţi aritmetice şi logice va
impune execuţia
secvenţială a operaţiilor aritmetice şi logice. O creştere
semnificativă a vitezei se obţine dacă un sistem dispune
de mai multe unităţi aritmetice şi logice şi, mai mult, dacă
acestea sunt specializate.
• Un exemplu: CDC 6600, proiectat în 1964, care conţine
10 unităti
funcţionale în cadrul unitătii centrale, independente una
faţă de cealaltă.
Apare o complicare a structurii, întrucât va fi necesar un
bloc pentru
alocarea operaţiilor la cele 10 unităţi, astfel încât să se
menţină o
încărcare cât mai uniformă. Această tehnică este folosită
şi în unitatea de
intrare/ieşire unde există 12 canale independente.
• Schema bloc a calculatorului CDC 6600 este prezentată
în figura de mai jos,
unde prin DCP s-a notat un dispozitiv de comandă şi
planificare a celor
10 unităţi funcţionale.
2. O altă metodă o constituie implementarea
paralelismului şi a conceptului de bandă de asamblare în
cadrul unităţii centrale.
– O tehnică des utilizată permite creşterea vitezei de
execuţie
a operaţiilor de adunare prin obţinerea anticipată a
transportului.
– De asemenea, este uzuală azi aplicarea conceptului de
bandă de asamblare şi suprapunere la execuţia
instrucţiunilor. Ciclul unei instrucţiuni este împărţit în cât
mai multe faze; de exemplu: ducere, decodificare, citirea
operanzilor, execuţia şi depunerea rezultatului, şi, la un
moment dat, în unitatea centrală se află mai multe
instrucţiuni în diferite faze ale ciclului lor.
3. O cauză care duce la scăderea vitezei de lucru o
constituie indisponibilitatea operanzilor atunci când
unitatea centrală are nevoie de ei.
– Aceasta apare datorită decalajului existent între viteza
de prelucrare a unităţii centrale şi viteza memoriilor.
Există o ierarhizare a memoriilor determinată de
capacitatea şi viteza lor.
– Memoria de masă se caracterizează prin capacitate mare
şi foarte mare, de ordinul megaocteţilor şi zecilor de
megaocteţi, dar timp de acces de asemenea mare, de
ordinul milisecundelor şi zecilor de milisecunde.
– Memoria de masă face parte, de fapt, din periferia
sistemului.

21. Clasificăre arhitectură paralele

Creșterea performanțelor calculatoarelor a fost frânată


de stadiul tehnologiei. Cerințele de viteză, de capacitate
de memorie sunt mereu crescânde, iar îmbunătăţirile în
domeniul arhitecturii calculatoarelor au cunoscut un salt
doar în momentul dezvoltării procesării paralele.
Procesarea paralelă constă în prelucrarea informaţiei într-
o formă care cuprinde exploatarea evenimentelor
concurente din procesul de calcul.
Prin concurență se întelege paralelism, simultaneitate şi
suprapunere.
• Evenimentele paralele sunt acelea care apar în acelaşi
interval de timp la mai multe resurse
• Evenimentele simultane sunt acelea care apar la acelaşi
moment de timp
• Suprapunerea constă în execuţia simultană a două sau
mai multe evenimente, de fapt a diferite faze din acele
evenimente.
Prelucrarea paralelă se desfășoară la diferite nivele:
• Cel mai înalt este cel al paralelismului la nivelul
programelor, care necesită implementarea de algoritmi
paraleli.
• Nivelul următor este cel al modulelor şi procedurilor din
cadrul unui acelaşi program. Acest tip de paralelism
necesită existența unor algoritmi care pot descompune un
program în module independente şi pe care apoi le pot
aloca la diferite unităţi de calcul în
vederea execuţiei.
• Nivel al paralelismului între instrucţiuni. Pentru aceasta
sunt necesari algoritmi care să detecteze dependenţele
între instrucţiuni.
• Ultimul nivel este cel al paralelismului la execuţia
instrucţiunilor care presupune anumite caracteristici
structurale ale unităţii centrale.

Prin concurență se întelege paralelism, simultaneitate şi


suprapunere.
• Evenimentele paralele sunt acelea care apar în acelaşi
interval de timp la mai multe resurse
• Evenimentele simultane sunt acelea care apar la acelaşi
moment de timp
• Suprapunerea constă în execuţia simultană a două sau
mai multe evenimente, de fapt a diferite faze din acele
evenimente.

Prelucrarea paralelă se desfășoară la diferite nivele:


• Cel mai înalt este cel al paralelismului la nivelul
programelor, care necesită implementarea de algoritmi
paraleli.
• Nivelul următor este cel al modulelor şi procedurilor din
cadrul unui acelaşi program.
Acest tip de paralelism necesită existența unor algoritmi
care pot descompune un program în module independente
şi pe care apoi le pot aloca la diferite unităţi de calcul în
vederea execuţiei.
• Nivel al paralelismului între instrucţiuni. Pentru aceasta
sunt necesari algoritmi care să detecteze dependenţele
între instrucţiuni.
• Ultimul nivel este cel al paralelismului la execuţia
instrucţiunilor care presupune anumite caracteristici
structurale ale unităţii centrale.

22. Arii de procesoare organizare (2 scheme)

O arie de procesoare constituie o structură regulată,


sincronă, alcătuită din mai multe elemente procesoare, cu
sau fără memorie locală, având posibilitatea de a
comunica între ele, toate lucrând în paralel sub comanda
unei unităţi de control unice.
• Unicitatea unităţii de control nu trebuie înţeleasă în sens
fizic (pot exista mai multe astfel de unităţi), ci în sens
funcţional (adică există un număr, foarte mic - în raport
cu cel al elementelor procesoare - de unităţi care
îndeplinesc rol de control, comandă şi planificare).
• Dacă structurile unei banzi de asamblare asigură
paralelismul în timp, ariile de procesoare asigură
paralelismul în spaţiu.

Arie de procesoare cu memorii locale


Toate elementele procesoare execută aceleaşi operaţii, sub
comanda unităţii de control, dar asupra unor operanzi
diferiţi obţinuţi din memoriile locale.
• Operanzii sunt încărcaţi în memoriile locale înaintea
lansării în execuţie a instrucţiunii care îi prelucrează.
• Încărcarea memoriilor locale se poate face fie sub
controlul unităţii de control a ariei, fie direct din exterior.
Există posibilitatea mascării unor elemente procesoare,
adică se poate comanda starea de activat sau dezactivat a
fiecăruia.
• Doar elementele procesoare activate vor efectua
operaţiile cerute, în timp ce restul vor fi în stări de
inactivitate.
Pentru accesul procesoarelor la date unitatea de control
transmite fiecăruia o adresă de baza şi modul de adresare.
Local, în funcţie de modul de adresare ales, procesoarele
vor combina adresa de bază cu conţinutul unui registru
intern rezultând adresa pentru memoria locală. Utilizând,
de exemplu, valori diferite în registrul intern folosit
pentru adresarea locală, se pot obţine date aflate la locaţii
diferite în diferite memorii locale. De exemplu, utilizând
adresarea locală indexată, se pot obţine datele aflate intr-o
diagonală a memoriilor locale. Un element procesor nu
poate obţine direct o dată din memoria locală a altui
element procesor ci numai prin intermediul acestuia şi a
reţelei de interconectare.
• O deosebită importanță o are reţeaua de interconectare şi
metodele de
direcţionare a informaţiei de la un procesor la altul.
Performanțele
sistemului sunt decisiv afectate de caracteristicile reţelei
de interconectare.
Problema reţelelor de interconectare va fi tratată într-un
paragraf separat
datorită complexităţii şi importanței ei.
• Un exemplu de calculator cu tipul de organizare
prezentat este ILLIAC IV, care va fi descris ulterior.
Dispune de o reţea de interconectare distribuită în care
fiecare element procesor este conectat la patru vecini.
Arie de procesoare cu memorii partajate
Elementele procesoare nu mai dispun de memorii locale,
în schimb există un număr de module de memorii care pot
fi adresate de oricare dintre procesoare. Deci soluţia
utilizează memorii partajate. Numărul modulelor de
memorie nu trebuie să fie egal cu cel al celulelor
procesoare. Există şi în această variantă o reţea de
interconectare
dar aceasta este plasată între elementele procesoare şi
modulele de memorii.

Există şi în această variantă o reţea de interconectare dar


aceasta este
plasată între elementele procesoare şi modulele de
memorii. Aceasta trebuie sa aibă următoarele
caracteristici:
– să ofere maxim de flexibilitate; să permită un număr cât
mai mare de
combinaţii procesor-memorie, deci cât mai multe
procesoare să poată
comunica cu cât mai multe memorii
– să fie rapidă
– riscul de blocare să fie minim
– riscul de conflict să fie minim; conflictul poate apare ca
urmare fie a
două sau mai multe accese simultane la acelaşi modul de
memorie, fie a
încercării de a utiliza aceeaşi cale de comunicare.

23. Sisteme (pipe-line) (clasificare, exemplu de


utilizare, implemtare)

Tehnica de procesare pipeline reprezintă o tehnică de


procesare paralelă a informaţiei prin care un proces
secvenţial este divizat în subprocese, fiecare subproces
fiind executat într-un segment special dedicat care
operează în paralel cu celelalte segmente. Fiecare segment
execută o procesare parţială a informaţiei.
Rezultatul obţinut în segmentul i este transmis în tactul
următor spre procesare segmentului i+1. rezultatul final
este obţinut numai după ce informaţia a parcurs toate
segmentele, la ieşirea ultimului segment.
Denumirea de pipeline provine de la analogia cu o bandă
industrială de asamblare. Este caracteristic acestor tehnici
faptul că diversele procese se pot afla în diferite faze de
prelucrare în cadrul diverselor segmente,
simultan. Suprapunerea proceselor e posibilă prin
asocierea unui registru fiecărui segment din pipeline.

Clasificarea benzilor de asamblare


În literatura de specialitate clasificarea BA s-a făcut după
mai multe criterii
Din punct de vedere funcţional:
1. BA pentru operaţii aritmetice – Majoritatea
calculatoarelor realizează operaţiile aritmetice, în special
pe cele în virgulă flotantă, în BA
2. BA la nivelul procesoarelor – fiecare procesor
realizează un tip de operaţii asupra operanzilor care
constituie ieşiri ale procesorului anterior din bandă

După tipul de operanzi cu care pot lucra:


1. BA scalare
2. BA vectoriale
În general calculatoarele cu puteri mari de calcul au
implementate ambele tipuri de benzi
După flexibilitate:
1. BA unifuncţionale – ele sunt dedicate, adică pot realiza
o singură funcţie; un calculator poate conţine mai multe
asemenea benzi
2. BA multifuncţionale – pot realiza mai multe funcţii: fie
simultan, fie la momente diferite de timp
Din punct de vedere al reconfigurabilităţii:
1. BA statice – nu au capacitate de reconfigurare, fiind
capabile să execute numai un tip de operaţii; pot fi
unifuncţionale sau multifuncţionale
2. BA dinamice – au posibilităţi de reconfigurare, fiind
capabile să execute simultan mai multe tipuri de operaţii.
Prin urmare, ele nu pot fi decât multifuncţionale
După structură:
1. BA liniare
2. BA neliniare; există situaţii când intrările unei BA
depind de intrările anterioare, adică trebuie ţinut cont de
istoria execuţiei instrucţiei (procesului); în alte situaţii,
ieşirile unui post afectează simultan intrările mai multor
posturi. Asemenea situaţii nu se pot rezolva decât cu
structuri
neliniare care au atât reacţii cât şi conexiuni pentru
trecerea peste mai multe niveluri. În asemenea situaţii, la
intrările posturilor sunt necesare şi multiplexoare ce să
permită selecţia intrării
24. Bande de ansamblare pipeline, complet
reconfigurată (schema)

Din figură se observă că fiecare element de procesare


dispune de un multiplexor. Aceste multiplexoare
coordonează execuția instrucțiunilor în felul următor:
intrările de selecție (ex. S00 și S01) determină de pe
care linie (dintre cele 4 posibile) vine instrucțiunea ce
urmează să fie procesată de elementul de procesare
asociat multiplexorului respectiv. Aplicând la intrările de
selecție ale celor 4 multiplexoare semnale
corecte, se poate determina o ordine de parcurgere a
elementelor de procesare. De exemplu, pentru a urma
ordinea 0-2-3-1, intrările de selecție ale multiplexorului 0
vor fi S00=0 și S01=0 pentru ca instrucțiunea să fie
preluată de la intrarea în banda de asamblare (observați că
fiecare multiplexor are o linie ce se trage direct de la
intrarea în banda de asamblare, aceasta fiind linia
corespunzătoare poziției multiplexorului în bandă);
intrările de selecție ale multiplexorului 1 vor fi S10=1 și
S11=1 pentru a se selecta linia 3 la intrare; intrările
multiplexorului 2 vor fi S20=0 și S21=0 pentru a se
selecta linia 0 la intrare (în acest caz este vorba de linia
care provine de la elementul de procesare 0, deci nu linia
legată direct la intrarea în banda de asamblare);
iar intrările de selecție ale multiplexorului 3 vor fi S30=1
și S31=0 pentru a se selecta linia 2 de intrare.

Vous aimerez peut-être aussi