arhitectura sistemelor de calcul
DESCRIPTION
ARHITECTURA SISTEMELOR DE CALCUL. SISTEM DE CALCUL - DEFINITIE. un dispozitiv care lucrează automat, sub controlul unui program memorat, prelucrând date în vederea producerii unor rezultate ca efect al procesării. - PowerPoint PPT PresentationTRANSCRIPT
ARHITECTURA SISTEMELOR DE CALCUL
SISTEM DE CALCUL - DEFINITIE
un dispozitiv care lucrează automat, sub controlul unui program memorat, prelucrând date în vederea producerii unor rezultate ca efect al procesării.
dispozitiv care efectuează calcule, în special o maşină electronică programabilă care execută operaţii aritmetice, logice sau care asamblează, stochează, corelează sau efectuează un alt tip de procesare a informaţiei, cu viteză ridicată (The American Heritage Dictionary of the English Language, 2000).
FUNCTIILE DE BAZA ALE UNUI SISTEM DE CALCUL
procesarea de date; memorarea de date; transferul de informaţii; controlul tuturor componentelor SC.
STRUCTURA UNUI SISTEM DE CALCUL
hardware - partea de echipamente: unitatea centrală de procesare (Central
Processing Unit – CPU); memoria; dispozitivele periferice;
software - partea de programe: soft sistem (aplicaţii destinate sistemului de
calcul şi sistemului de operare); soft utilizator (restul aplicaţiilor);
firmware - partea de microprograme.
CLASIFICAREA SISTEMELOR DE CALCUL Supercalculatoare - sisteme de calcul considerate la
momentul apariției drept cele mai performante din lume în ceea ce privește viteza de procesare a datelor;
Mainframe-uri - mașini multiprocesor, de asemenea cu putere mare de procesare, neorientate însă spre un anumit task precis ci mai degrabă aplicațiilor critice, prelucrărilor simple asupra unui volum mare de date, salvarea și backup-ul acestor date;
Minicalculatoare (deprecated): termen folosit în anii 60 și 70 până la apariția microcalculatoarelor. Sisteme de calcul low cost (relativ) - tot ce era inferior unui mainframe și unui supercalculator, atât ca putere de procesare cât și ca dimensiune fizică, destinate universităților, ramuri ale industriei, etc;
Microcalculatoarele - sisteme de calcul bazate pe folosirea unui microprocesor (de unde și numele), apărute la șfârsitul anilor 70, începutul anilor 80, low cost, destinate în principal home and office user-ului.
O "ALTFEL" DE CLASIFICARE A SISTEMELOR DE CALCUL Stații de lucru (workstations) - de obicei calculatoare
din familia microcalculatoarelor (calculatoarele personale spre exemplu) cu putere de procesare medie, capabilități grafice și multimedia ridicate, de obicei conectate la Internet;
Server-e - oferă diferite servicii stațiilor (clienților). Din punct de vedere hardware un server poate rula atât pe un microcalculator (calculator personal) cu putere de procesare mai ridicată cât și pe arhitecturi hardware dedicate acestui scop (mainframe-uri sau supercalculatoare);
Microdispozitive (embedded devices) - dispozitive cu putere de calcul relativ redusă, dotate cu un procesor și cu o funcționalitate dedicată unui anumit scop. Exemple: telefoane mobile, PDA, MP3 player-e, GPS-uri, DVD player-e, etc. Aproximativ 80% din procesoarele produse în acest moment sunt dedicate microdispozitivelor.
ARHITECTURA UNUI SISTEM DE CALCUL
Se referă la acele atribute ale sistemului care sunt vizibile programatorului şi care au un impact direct asupra execuţiei unui program:
setul de instrucţiuni maşină; caracteristicile de reprezentare a datelor; modurile de adresare; sistemul de intrare / ieşire (I/O).
MULTIMEA INSTRUCTIUNILOR MASINA(Instruction Set Arhitecture – ISA)
Interfaţă cheie între nivelele de abstractizare, fiind interfaţa dintre hard şi soft;
Permite unor implementări diferite ale SC să ruleze soft identic, caz în care vorbim despre calculatoare compatibile;
Exemplu: calculatoare compatibile IBM-PC (in prezent cu procesoare AMD sau Intel).
MULTIMEA INSTRUCTIUNILOR MASINA
defineşte:
organizarea SC, modul de stocare a informaţiei (regiştri, memorie);
tipurile şi structurile de date (codificări, reprezentări); formatul instrucţiunilor; setul de instrucţiuni (codurile operaţiilor) pe care
microprocesorul le poate efectua; modurile de adresare şi accesare a datelor şi
instrucţiunilor; condiţiile de excepţie.
COMPONENTELE UNUI SC
modulul de control; memoria; sistemul de intrare (input) / ieşire (output); structuri de interconectare a
componentelor de mai sus (magistrale);
ARHITECTURA UNUI SISTEM DE CALCUL
Unitatea Aritmetică-
Logică
Unitatea de Comandă şi
Control
Regiştri
Magistrala sistem
I/O 1
CPU
Memoria principală
Memoria secundară
Magistra
la C
PU
in
tern
ă
Magistra
la d
e
date
Magistra
la d
e
adre
se
Magistra
la d
e
con
trol
I/O n
Memoria cache (CPU-memoria
principală)
.
.
.
ARHITECTURA VON NEUMANN utilizarea memoriei interne pentru a stoca
secvenţe de control pentru îndeplinirea unei anumite sarcini – secvenţe de programe;
datele, cât şi instrucţiunile sunt reprezentate ca şiruri de biţi şi sunt stocate într-o memorie read-write;
conţinutul memoriei se poate accesa în funcţie de locaţie (adresă), indiferent de tipul informaţiei conţinute;
execuţia unui set de instrucţiuni se efectuează secvenţial, prin citirea de instrucţiuni consecutive din memorie.
UNITATEA CENTRALĂ(CENTRAL PROCESSING UNIT – CPU)
Funcţiile unui CPU sunt: obţinerea instrucţiunilor care trebuie
executate; obţinerea datelor necesare
instrucţiunilor; procesarea datelor (execuţia
instrucţiunilor); furnizarea rezultatelor obţinute.
COMPONENTELE DE BAZA ALE UNUI CPU
Unitatea Aritmetică-Logică (Arithmetic Logic Unit – ALU); Unitatea de Comandă şi Control (Control Unit – CU) –
decodifica instructiunile (FETCH DECODE READ MEMORY EXECUTE STORE);
+
regiştri – aceştia sunt dispozitive de stocare temporară a datelor şi informaţiilor de control (instrucţiunile), de capacitate mică şi viteză de acces mare;
magistrale interne CPU – dispozitive pentru comunicare între componentele CPU şi comunicare cu exteriorul, pentru transferul de informaţii.
CEASUL SISTEMFiecare procesor (CPU) contine un ceas intern care produce si trimite semnale electrice pe magistrala de control pentru a sincroniza operatiile sistemului. Semnalele alterneaza valori 0 si 1 cu o anumita frecventa. Frecventa cu care se alterneaza aceste valori se numeste ciclu de ceas sau perioada ceasului (clock cycle).
Frecventa de ceas - numarul de cicluri de ceas pe secunda.
Exemple: Ceasul unui procesor la 300 de Mhz ticaie de exact 300.000.000 ori pe secunda. Un ciclu de ceas al unui astfel de procesor are o durata de 1 / 300.000.000 secunde.
Ciclu de ceas - cea mai mica unitate de timp sesizabila de catre un procesor.
VITEZA CALCULATOARELORCycles per Instruction (CPI) – fiecare instructiune dureaza un anumit numar de cicluri de ceas (a se vedea NG pentru numarul de CPI al fiecarei instructiuni).Exemplu: instructiunea MOV dureaza intre 2 si 14 cicluri de ceas in functie de natura operanzilor.
un procesor ruland la 800 Mhz executa o aceeasi instructiune mai repede decat unul ruland la 300 Mhz – durata ciclului de ceas fiind mai scurta.
x86 vs RISC – instructiuni complexe care dureaza mai multe cicluri vs instructiuni simple, primare care se executa rapid?
VITEZA CALCULATOARELOR
In prezent s-a atins o anumita limita in ceea ce priveste viteza procesoarelor. Mecanisme noi de crestere a vitezei:
Pipelining - paralelizarea instructiunilor (o instructiune trecuta din faza FETCH in faza DECODE, permite unui alte instructiuni sa treaca in faza FETCH) mai multe instructiuni se executa in paralel per ciclu de ceas - Instructions per Cycle;
Cresterea numarului de nuclee (cores) per procesor (dual core, quad core).
VITEZA CALCULATOARELOR
Factori care influenteaza viteza unui SC:
Frecventa procesorului (singura nu e concludenta, vezi Intel vs AMD);
Capacitatea maxima de memorie care poate fi adresata;
Capacitatea de paralelizare (pipelining);
Dimensiunea registrilor interni si a magistralei de date;
Dimensiunea memoriei CACHE.
Viteza actuala a unui sistem de calcul se masoara in
MIPS – Milioane de instructiuni (intregi) pe secunda;
MFLOPS – Milioane de instructiuni in virgula flotanta pe secunda.
Procesor Frecventa
MIPS
Intel Pentium Pro 200 Mhz 541
AMD Athlon 1.2 Ghz 3.561
Ultra SPARC Niagara 2 1.4 Ghz 22.400
Intel Polaris Prototype(80 nuclee)
5.6 Ghz 1.800.000
CE INSEAMNACALCULATOR PE N BIŢI?
Din punct de vedere hardware - dimensiunea magistralei de date (de exemplu: Pentium are o magistrală de date pe 64 biţi = 64 linii de date, astfel că la fiecare “memory cycle” procesorul poate accesa 8 octeţi din memorie);
Din punct de vedere software: dimensiunea unui cuvânt de memorie (dimensiunea regiştrilor CPU);
Observatie: De regula, cu cat dimensiunea cuvantului de memorie este mai mare, operatiile cu numerele intregi se desfasoara mai rapid (incercati sa inmultiti un double cu alt double folosind doar registrii pusi la dispozitie de procesorul 8086).
Microprocesor Data Bus Regiştri
8088 8 biţi 16 biţi
80386sx 16 biţi 32 biţi
Pentium 64 biţi 32 biţi
Intel Core 2 Duo 64 biţi 64 biţi
MEMORIA
dispozitiv de stocare a datelor pentru un anumit interval de timp
Criterii de clasificare a tipurilor de memorie:
din punct de vedere al accesării datelor; din punct de vedere al volatilităţii; din punct de vedere al accesului CPU; din punct de vedere al tipurilor de acces
permise.
MEMORIA - DIN PUNCT DE VEDERE AL ACCESĂRII DATELOR
memorie cu acces aleator (Random Access Memory): locaţiile pot fi accesate (în citire sau scriere) în orice ordine (aleator) indiferent de ultima locaţie accesată. Exemple: memoriile on-chip (memoria interna);
memorie cu acces asociativ (memoria cache); memorie cu acces secvenţial: pentru a accesa a n-a
înregistrare, trebuie parcurse primele n-1 înregistrări => timpul de accesare a datelor este variabil, depinzând de locaţia accesată. Exemplu: banda magnetica;
memorie cu acces direct: spre deosebire de accesul secvenţial, poziţionarea pe o anumită înregistrare se face în mod direct pe baza unui calcul de adresă. Exemplu: dispozitivele de tip disc (CDROM, floppy disk, hard disk).
MEMORIA - DIN PUNCT DE VEDERE AL VOLATILITĂŢII memorie volatilă (de scurtă durată):
conţinutul său se pierde la îndepărtarea sursei de curent. Cel mai elocvent exemplu îl constituie în acest sens memoria principală a SC (care conţine datele şi instrucţiunile utilizate curent de CPU);
memorie non-volatilă sau remanentă (de lungă durată): conţinutul se păstrează şi după deconectarea de la sursă. Exemple: memoria ROM, hard disk, CDROM, memoria Flash.
MEMORIA - DIN PUNCT DE VEDERE AL ACCESULUI CPU
memorie internă: accesată direct de către CPU;
memorie secundară sau dispozitiv de stocare periferic: memorie externă, cu acces indirect al CPU. Exemple: HD, floppy disk, CDROM.
MEMORIA - DIN PUNCT DE VEDERE AL TIPURILOR DE ACCES PERMISE
memorie read/write: permite acces la date în citire sau scriere. Exemple: memoria principală, hard disk, floppy disk;
memorie read-only: permite doar citirea datelor. Exemple: ROM, CDROM.
MEMORIA INTERNA
Reprezinta spatiile de stocare a datelor accesibile procesorului fara utilizarea canalelor de comunicatie I/O.
memoria principala (RAM); memoria cache; memoria ROM; registrii procesorului;
MEMORIAEXTERNA / SECUNDARA
dispozitiv de stocare pe termen lung a datelor, care nu sunt curent folosite de către CPU. În general este de capacitate mai mare şi are o viteză mai mică de accesare a datelor faţă de memoria internă şi face parte din categoria memoriilor non-volatile;
Exemple:hard disk (HDD), floppy disk (FDD), compact disc (CD), DVD, banda magnetică, memoria flash.
STRUCTURA FIZICA A UNUI DISC
STRUCTURA LOGICA A UNUI DISC
Din punct de vedere logic, un disc este divizat in partitii:
primare; extinse; logice.
-Partitii primare (maxim 4);-Partitie extinsa – partitie primara ce contine alte partitii numite partitii logice;-Partitii logice.
IERARHIZAREA MEMORIEI
Regiştri
Memorie cache “on-chip” (L1)
Memorie cache “on-chip” (L2)
Memorie cache “on-board” (L3)
Memorie principală
Memorie secundară
Memorie terţiară
Cre
şte
vite
za d
e
acces
Cre
şte
valo
are
a
rap
ortu
lui c
ost / u
nita
te
de m
em
ora
re
Cre
şte
cap
acita
tea d
e
sto
care
IERARHIZAREA MEMORIEI
Motivatie:
diferenţa de performanţă dintre diferitele componente poate să crească tot mai mult. Spre exemplu diferenţa dintre performanţa CPU şi cea a memoriei interne;
din cauza diferenţei timpului de acces al CPU şi al memoriei principale, CPU este nevoit să aştepte destul de mult pentru a primi datele din memorie;
ierarhia memoriei unui SC este organizată astfel încât nivelele de memorie de capacitate mai mică, însă mai rapide se găsesc mai aproape de procesor decât memoriile de capacitate mare, dar de viteză de acces mai mică.
IERARHIZAREA MEMORIEI -PRINCIPIUL LOCALIZARII
localizare temporală - după accesarea unei date sunt mari şanse ca ea să fie accesată din nou în scurt timp ar trebui să se mai reţină data respectivă pentru o perioadă de timp (de exemplu: instrucţiunile dintr-o structură repetitivă sau ale unei subrutine);
localizare spaţială - dacă se accesează o locaţie, sunt mari şanse să urmeze accesarea unor locaţii din vecinătatea primeia ar trebui ca la accesarea datei curente să se aducă un întreg bloc de informaţie care să conţină atât informaţia necesară în momentul curent, cât şi informaţia conţinută la adrese învecinate (de exemplu: variabile locale unei subrutine sau elementele unui şir).
MEMORIA CACHE
Memorie de tip cache - colecţie de date ce reprezintă duplicarea valorilor originale stocate într-un alt tip de dispozitiv de memorare, a căror accesare pentru citire / procesare este mai costisitoare (ca timp) decât accesarea lor din cache.
Tipuri:
cache al memoriei principale, ca interfaţă între aceasta şi CPU: poate fi pe unul, două sau trei nivele; acest cache este gestionat de către hardware;
memoria cache între memoria principală şi memoria secundară (disc) este memoria virtuală; transferul datelor de pe disc în memoria principală (gestiunea memoriei virtuale) este responsabilitatea sistemului de operare;
memorii cache gestionate de componente soft: cache DNS (pentru corespondenţe dintre nume de domenii şi adrese IP); cache al unui web browser (pentru ultimele pagini accesate).
DISPOZITIVE PERIFERICE
Dispozitivele periferice asigură interfaţa dintre utilizator şi sistemul de calcul sau dintre sistemul de calcul şi alte sisteme fizice;
Tipuri de dispozitive periferice: dispozitive de intrare: tastatură, mouse, scanner; dispozitive de ieşire: imprimantă, monitor; dispozitive de intrare sau ieşire: modem, placă de
reţea; dispozitive de stocare: disc (hard disk, floppy disk),
bandă magnetică.
MAGISTRALELE - STRUCTURI DE INTERCONECTARE
Magistrală - subsistem prin care se transportă informaţie (date, instrucţiuni, semnale de control) sau energie între diferite componente ale unui SC sau între diferite SC. Realiza o conexiune între două sau mai multe componente. In contextul nostru realizeaza legatura intre SC si echipamentele periferice.
Clasificare:
dupa modul de transmitere al informatiei: seriale sau paralele (in prezent migrare de la magistrale paralele la magistrale seriale);
dupa tipul entitatilor conectate: sistem – fac legatura intre CPU si memoria interna; si magistrale de I/O – fac legatura intre SC si echipamentele periferice sau intre SC si alt SC;
magistrale sistem: magistrale de date, magistrale de adresare, magistrale de control – au arhitectura specifica producatorului, asigura o comunicare rapida intre CPU si memorie, sunt de lungime redusa;
magistrale I/O: au arhitectura standardizata si permit comunicarea cu un echipament extern sau cu alt SC prin intermediul unui controler; magistrale I/O interne: ISA, PCI, AGP, PCI-x; magistrale I/O externe: IDE/ATA, SCSI, S-ATA, USB.
CONTROLERE SI INTERFETEControler – echipament de extensie atasabil sistemului de calcul (~ adaptor, placa: placa video, adaptor de retea, controler SCSI);
Prezinta doua interfete:
interfata de comunicare cu SC prin intermediul magistralei I/O interne (interfata PCI, ISA, AGP);
interfata de comunicare cu echipamentul periferic care se doreste a fi conectat (difera de la echipament la echipament si de la controler la controler);
Interfata
expresia fizica a acesteia (portul, slotul, mufa, socketul); setul de caracteristici functionale, protocoale, specificati logice
necesare comunicarii pe magistala asociata.
MAGISTRALE, CONTROLERE, INTERFETE
Controler reţea ISA
ControlerPCI-USB
Interfaţă IDE
ControlerPCI - IDE
Controler AGP
Interfeţe ISAMagistrală AGP
Interfaţă AGP
Magistrală ISA
Magistrală PCI
SpreCPU
Interfeţe PCI
Interfaţă USB
Dispozitiv - USB
Hard disk
Monitor
MAGISTRALA ISA SI PCI
ISA (Industry Standard Arhitecture)
Dezvoltata la inceputul anilor 80 (IBM) sfarsitul anilor 90;
pe 8, ulterir 16 biti, 8Mhz viteza maxima 16 Mbyets/secunda;
Echipamente conectate: placi de retea, sunet, modem-uri.
PCI (Peripheral Component Interconect)
dezvoltata de Intel in ani 90; pe 32 de biti, pe 33 Mhz viteza
maxima 132 Mbytes/secunda; conecteaza prin intermediul unui
controler majoritatea echipamentelor periferice.
InterfeţeISA
Interfeţe PCI
Interfeţele ISA şi PCIdin punct de vedere fizic în cadrul
unui calculator personal
AGP - Accelerated Graphics Port
s-a nascut din nevoie de latime de banda mai mare pentru aplicatiile video (in special jocuri);
AGP 1x – magistrala pe 32 biti, opereaza la 66 Mhz 266 Mbytes/secunda;
punct la punct canal dedicat.
Fig. 2.7. Interfaţa AGP şi un controler video AGP
controler video AGP
interfaţa AGP
MAGISTRALE EXTERNE
Magistrala externa - ansamblu format din controler impreuna cu interfata dintre acesta si echipamentul periferic.
Exemple:
IDE/ATA - HDD, unitati optice; SCSI - HDD, unitati optice, scanner-e; paralela - imprimante; seriala - mouse; PS/2 - tastatura, mouse; USB - Universal Serial Bus (practic orice, mai putin monitor –
sau nu? ).
INTERFETE EXTERNE
Interfeţe seriale
Interfaţa paralelă
Interfeţe seriale şi paralele
Interfeţe IDE/ATA
Conector RJ45
Conector AUI
Conector BNC
Interfeţe de reţeaInterfeţe USB şi
PS/2
InterfeţeUSB
Interfaţă PS/2
PLACA DE BAZA
suportul fizic pe care se monteaza procesorul, memoria;
cablarea fizica a magistralelor interne;
interfetele PCI, AGP; controlelere integrate
(on-board): IDE/ATA, SATA, retea, sunet, USB.
Alimentare
Slot procesor
Interfeţe PCI
Interfaţă AGP
Sloturi memorie
BIOS
Interfeţe IDE/ATA
Interfaţă FDD
Interfeţe audio
InterfeţeUSB
Interfeţe seriale şi paralele
Interfaţă RJ45 reţea
Interfeţe PS/2tastatură şi
mouse