SISTEME DE CALCUL Cuprins ●
Calculatorul electronic
●
Arhitectura von Neumann
●
Componentele sistemului de calcul –
componente hardware
–
componente software
Calculatorul electronic În general, se numeşte calculator un dispozitiv folosit pentru a face calcule. În prezent, cele mai răspândite sunt calculatoarele electronice. Calculatoarele electronice pot fi specializate sau universale. Exemple de calculatoare specializate: calculatorul de buzunar cu patru operaţii, casa de marcat, etc. Calculatorul electronic universal, numit şi computer (ca în engleză) sau ordinator (franceză: ordinateur) funcţionează pe bază de program memorat.
Arhitectura von Neumann (1) Primele calculatoare electronice universale au fost construite respectând o schemă de structură cunoscută sub numele de “arhitectura von Neumann”. Această arhitectură este încă valabilă şi la numeroase calculatoare construite în prezent. John von Neumann a fost un matematician de origine maghiară, care a lucrat în SUA şi este unul din întemeietorii informaticii (ştiinţei calculatoarelor). Arhitectura propusă de el este rezultatul muncii unui colectiv.
Memorie
Unitate de control
Unitate aritmetică şi logică Acumulator Intrare
Ieşire
Arhitectura von Neumann (2) Maşina conţine o memorie, un dispozitiv de control şi un dispozitiv care efectuează operaţiile de calcul aritmetice şi logice. În memorie sunt depozitate datele (asupra cărora se efectuează operaţiile de prelucrare) şi programul (care conţine instrucţiunile pe baza cărora sunt prelucrate datele). Unitatea de control decodifică instrucţiunile din program şi comandă funcţionarea memoriei şi a unităţii aritmetice şi logice.
Arhitectura von Neumann (3) Dispozitivul de intrare serveşte pentru a introduce datele şi programele, iar dispozitivul de ieşire pentru a transmite în exterior (de exemplu către om) rezultatele prelucrării. In unitatea aritmetică şi logică există un dispozitiv numit registru acumulator. Acesta este un dispozitiv de memorare care, la un moment dat, conţine o singură dată, asupra căreia se efectuează operaţia curentă.
Arhitectura von Neumann (4) Memoria calculatorului este divizată în celule de memorie. Fiecare celulă poate conţine un şir de cifre binare, care poate fi o dată (de exemplu un număr în sistemul de numeraţie binar) sau o instrucţiune codificată binar. Celulele de memorie sunt numerotate. Numărul de ordine al celulei se numeşte adresă. Nu trebuie confundată adresa cu conţinutul celulei, deşi ambele sunt numere.
Arhitectura von Neumann (5) În principiu, toate operaţiile unare se fac asupra unor date din acumulator, iar operaţiile binare se fac între o dată din memorie şi una din acumulator, iar rezultatul operaţiei rămâne în acumulator, înlocuind data care se gasea acolo anterior. Astfel, introducerea (citirea) unei date (de exemplu a unui număr, înseamnă introducerea ei de la dispozitivul de intrare în acumulator, iar la extragere (scriere), data existentă în acumulator se transmite la dispozitivul de ieşire.
Arhitectura von Neumann (6) Memorarea înseamnă transferarea conţinutului acumulatorului la o adresă din memorie (dar acesta rămâne şi în acumulator). Încărcarea înseamnă transferarea în acumulator a conţinutului de la o adresă de memorie. Operaţiile binare (adunare, scădere etc.) se fac între o dată conţinută în acumulator şi una de la o adresă de memorie. Rezultatul rămâne în acumulator, înlocuind data care se gasea aici anterior.
Arhitectura von Neumann (7) Să considerăm, de exemplu, că în memorie există deja două numere, a şi b, şi trebuie efectuată operaţia c=a+b, iar rezultatul c se memorează. Programul corespunzător ar putea fi următorul: încarcă a; (numărul a trece înacumulator) adună b; (numărul a din acumulator se adună cu numărul b din memorie, iar rezultatul rămâne în acumulator în locul lui a) memorează c; (numărul din acumulator se transferă în memorie la adresa c).
Arhitectura von Neumann (8) Aici simbolurile a, b şi c trebuie interpretate drept adresele celulelor de memorie în care se găsesc datele respective. Operaţiile nu se fac, însă, asupra adreselor, ci asupra conţinutului celulelor de la adresele respective. Instrucţiunile programului sunt codificate tot prin numere binare (prin şiruri de biţi) şi sunt stocate în celulele de memorie.
Arhitectura von Neumann (9) Principalele caracteristici ale arhitecturii von Neumann sunt: ●
●
Programul nu este sub formă de circuite cablate (ca la calculatoarele anterioare), ci este introdus în memorie. În consecinţă, el poate fi modificat cu uşurinţă, fără a modifica circuitele. Aceeaşi memorie este folosită pentru date şi pentru program. Prin aceasta diferă de arhitectura Harvard, în care datele şi programul se gasesc în memorii separate.
Componentele sistemului de calcul Sistemul de calcul este alcătuit din două subsisteme: ●
●
sistemul de echipamente (hardware) conţine toate dispozitivele electronice, electrice, mecanice, optice etc. care intră în componenţa sistemului de calcul (în engleză hard = tare, dur, solid); sistemul de programe (software) conţine toate programele utilizate pentru a utiliza sistemul de calcul (în engleză soft = moale, delicat).
Componente hardware Principalele componente hardware ale sistemului de calcul sunt: ●
●
Calculatorul –
procesorul
–
memoria internă
–
magistrale, porturi
Dispozitive periferice; –
dispozitive de intrare
–
dispozitive de ieşire
–
dispozitive de intrare/ieşire
Calculatorul Calculatorul este unitatea principală din componenţa sistemului de calcul. El efectuează operaţiile de prelucrare a informaţiei prevăzute în program şi comandă funcţionarea unităţilor periferice. Principalele componente hardware ale calculatorului sunt procesorul (procesoarele) şi memoria internă. Există mai multe categorii de calculatoare: calculatoare mainframe, calculatoare personale, calculatoare încorporate, supercalculatoare.
Calculatoare mainframe (1) Sunt calculatoare mari şi scumpe, cu capacitate mare de memorie şi putere mare de calcul, utilizate în special de companii mari şi instituţii guvernamentale pentru aplicaţii importante. Necesită condiţii speciale de funcţionare (încăperi cu aer condiţionat, condiţii speciale de alimentare cu energie electrică etc.) şi personal de exploatare specializat. La început (1960... 1980), aproape toate calculatoarele electronice universale erau din această categorie. Ulterior, au apărut şi celelalte tipuri de calculatoare. Mainframe - “dulapul principal” al sistemului de calcul
Calculatoare mainframe (2) Principalul producător de calculatoare mainframe a fost şi este firma IBM (International Business Machines). În prezent produce calculatoarele din seria z (zSeries) cu mai multe modele, conţinând până la 64 de procesoare şi până la 1,5 TB capacitate de memorie. Deţine peste 90% din piaţa de calculatoare mainframe. Alţi producători sunt firme ca Unisys Corporation, NEC, Hewlett-Packard, Sun Microsystems şi altele. În prezent, se utilizează în special ca servere în reţelele de calculatoare.
Calculatoare personale Calculatorul personal (engleză: personal computer, PC) este un calculator conceput pentru a fi utilizat de o singură persoană, care poate să nu fie informatician profesionist. Are un preţ rezonabil, dimensiuni mici, nu necesită condiţii de instalare speciale. Calculatoarele personale sunt utilizate atât acasă, cât şi la locul de muncă. În prezent există atît calculatoare personale staţionare (desktop), cît şi portabile (laptop, notebook, palmtop). Pot fi utilizate independent sau legate în reţea.
Calculatoare încorporate Calculatorul încorporat (engleză: embedded computer, embedded system), numit şi calculator îmbarcat (franceză: système embarqué) este un calculator electronic inclus într-un alt obiect, de exemplu întrun telefon, televizor, frigider, maşină de spălat, aparat medical, robot, instalaţie industrială etc. De regulă are dimensiuni mici şi capacitate de memorie relativ mică, fiind destinat să controleze sau să ajute funcţionarea obiectului în care este încorporat. Utilizarea lor este acum în continuă extindere.
Supercalculatoare Supercalculatorul (engleză: supercomputer, franceză: superordinateur) este un calculator cu capacitate de memorie şi viteză de calcul mult mai mari decât cele ale calculatoarelor obişnuite. În prezent s-a atins, la supercalculatorul IBM Roadrunner, viteza de calcul de 1026 PFLOPS (1 PFLOPS - petaflops = 5 1000 operaţii în virgulă mobilă pe secundă). Se folosesc în scopuri speciale: ştiinţifice, militare, în meteorologie, tehnica aerospaţială, medicină, modelarea proceselor macroeconomice, etc.
Procesorul (1) Procesorul (engleză: processor) este numit şi unitatea centrală de comandă şi prelucrare (engl.: Central Processing Unit, CPU). Este dispozitivul care interpretează instrucţiunile din program, execută operaţiile aritmetice şi logice prevăzute în aceste instrucţiuni şi transmite comenzi,conform instrucţiunilor, către memoria internă şi celelalte unităţi ale calculatorului. La primele calculatoare, procesorul era construit folosind tuburi electronice sau tranzistoare. În prezent, el este un singur circuit integrat, numit microprocesor (engl.: microprocessor).
Procesorul (2) Procesorul conţine unitatea de control, unitatea aritmetică şi logică şi o memorie internă de capacitate mică, formată din regiştri. Un registru este un dispozitiv care poate stoca un singur număr binar (un şir de biţi). Principalii regiştri sunt: ●
contorul de instrucţiuni, care conţine adresa instrucţiunii care urmează a fi executată;
●
registrul care conţine instrucţiunea curentă;
●
unul sau mai mulţi regiştri de date.
Procesorul (3) În cazul calculatoarelor secvenţiale (compatibile cu arhitectura von Neumann), execuţia are loc sub forma unui ciclu cu patru paşi, numiţi în engleză fetch, decode, execution şi writeback: ●
●
fetch - instrucţiunea, a cărei adresă este conţinută în contorul de instrucţiuni, este adusă din memorie în registrul instrucţiunii curente. Contorul avansează la adresa instrucţiunii următoare; decode - instrucţiunea curentă este decodificată şi interpretată;
Procesorul (4) ●
●
execution - se execută instrucţiunea curentă. Dacă ea prevede o operaţie de calcul, aceasta este executată de către unitatea aritmetică şi logică a CPU. Dacă este o operaţie de alt tip, unitatea de control a CPU trimite comenzi corespunzătoare acelei unităţi a calculatorului, care trebuie să o execute. writeback - rezultatul operaţiei este scris în memorie (într-un registru al CPU sau în memoria internă).
Acest ciclu se repetă continuu, cât timp funcţionează calculatorul.
Procesorul (5) În prezent, în afară de arhitectura secvenţială (von Neumann) descrisă anterior, există şi arhitecturi de calcul paralel. Există trei tipuri principale de paralelism: ●
●
●
paralelism la nivel de instrucţiune (engl.: instruction level parallelism), în care se execută simultan mai multe instrucţiuni din acelaşi program; paralelism al firelor de execuţie (engl.: thread level parallelism) în care se execută simultan mai multe programe; paralelism la nivelul datelor (maşini vectoriale).
Procesorul (6) Principalele caracteristici ale procesorului sunt: ●
●
●
lungimea cuvântului procesor - este numărul de biţi conţinut în fiecare registru de date (cel mai frecvent 32 de biţi); frecvenţa ceasului intern (în prezent se măsoară în GHz (gigahertz) (2 ... 4 GHz); viteza procesorului este numărul maxim de instrucţiuni pe care le execută procesorul în unitatea de timp. se măsoară în MIPS (milioane de instrucţiuni pe secundă) (12 ... 24 MIPS)
Microprocesorul ●
● ●
●
●
Se foloseşte în special la calculatoarele personale (PC) sau încorporate. Primele microprocesoare - produse în 1970. Conţine unitatea centrală de prelucrare a calculatorului (CPU) pe o singură placă de siliciu (numită în engleză chip). În plus, poate conţine şi o memorie rapidă, numită memorie cache. În prezent, există şi microprocesoare cu mai multe nuclee (engl.: multi-core): dual-core (2 nuclee), quad-core (4 nuclee). Permit calculul paralel.
Exemple de microprocesoare 1. Microprocesor Intel, Core 2 Quad, 3,0 GHz, memorie cache 1.2 kB 2. Microprocesor AMD Phenom, Quad Core, 2.5 GHz, memorie cache 1.2 kB
1
2
Memoria internă (1) Memoria internă este unitatea de memorie în care se găsesc programele şi datele în timpul executării programului. La majoritatea calculatoarelor moderne, memoria internă este realizată sub formă de circuite integrate. Se numeşte şi memorie cu acces aleatoriu (engl.: Random Access Memory, RAM), deoarece datele pt fi citite si scrise în orice ordine. Pentru citirea sau scrierea unei date, trebuie indicată adresa de memorie a acesteia.
Memoria internă (2) adresă
conţinut
10010101 0 01110010 1 00010100 2 10010101 3 01001001 4 Memoria internă poate fi reprezentată logic ca o succesiune liniară de celule, numite şi celule de memorie. Fiecare celulă conţine un şir de biţi şi are un număr de ordine numit adresă. La majoritatea calculatoarelor lungimea cuvântului de memorie este de 8 biţi (1 octet, 1 byte).
Memoria internă (3) Caracteristicile principale ale memoriei interne sunt: ●
●
capacitatea de memorie este cantitatea maximă de date care poate fi stocată în memorie şi este măsurată în multipli de octeţi (bytes): în prezent în MB sau GB; timpul de acces, indică timpul necesar pentru transferul unui octet între procesor şi memoria internă şi este măsurat în ns (nanosecunde, miliardimi de secundă).
Memoria internă (4) Niveluri de memorie internă Pentru mărirea vitezei de lucru a procesorului, în afară de memoria principală de capacitate mare, se introduc unul sau mai multe niveluri de memorie auxiliară de capacitate mică dar cu timp de acces mai mic, numite memorie cache (engl.: cache memory). Adesea, nivelul I de memorie cache este încorporat chiar în microprocesor, iar celelalte niveluri sunt sub formă de chipuri separate. Pot exista memorii cache distincte pentru instrucţiuni şi pentru date.
Exemple de kituri de memorie Kit de memorie Mushkin, 2x2 GB, 1600 MHz
Kit de memorie Corsair, 2x2 GB, 1333 MHz
Magistrale Magistrala (engl.: computer bus) este subsistemul care realizează legătura funcţională între componentele calculatorului (între procesor şi memoria internă) sau între unităţile sistemului de calcul. Există magistrale paralele şi magistrale seriale. În cazul magistralelor paralele, mai mulţi biţi (un octet, o instrucţiune-maşină) se transmit simultan pe fire separate. La cele seriale, biţii se transmit succesiv pe acelaşi fir.
Porturi Portul este un element de conexiune între două componente ale calculatorului, între două calculatoare sau între un calculator şi o unitate periferică. Există porturi hardware şi porturi software. Portul hardware, este un dispozitiv de comunicare realizat fizic. La fel ca în cazul magistralelor, există porturi hardware seriale şi porturi paralele. Pentru fiecare dintre acestea există mai multe variante.
Portul serial Portul serial (engl.: serial port) este cel mai vechi tip de port şi asigură comunicaţia serială bidirecţională între două componente ale sistemului de calcul. Cuplarea se realizează printr-un conector. Portul nu se reduce la conector, ci conţine şi circuitele de control al comunicării.
Exemplu de conector serial cu 9 pini (portul RS-232)
Portul paralel Portul paralel a fost introdus iniţial pentru legătura între calculator şi imprimantă, apoi a fost şi mai este utilizat şi pentru alte periferice. Iniţial transmisia era unidirecţională (de la calculator la imprimantă), apoi a devenit şi bidirecţională.
Exemplu de port paralel
Magistrala USB Magistrala USB (engl.: Universal Serial Bus) este cel mai nou tip de dispozitiv de asigurare a comunicaţiei între componentele sistemului de calcul. Este o interfaţă serială bidirecţională, rapidă şi uşor de folosit. Permite conectarea şi deconectarea “la cald”, adică fără a opri calculatorul. În plus, asigură şi alimentarea dispozitivului periferic de mică putere cu care se conectează.
Conectorul USB
Reprezentarea şi structurarea informaţiei ●
●
●
Bit-ul reprezintă unitatea elementară de informaţie, corespunzând unei situaţii fizice în care un comutator este deschis sau închis, situaţii reprezentate de oameni, în afara calculatorului prin cifrele 0 şi 1, deci, cifrele sistemului de numeraţie binar. Octet (sau Byte) este un grup de opt biţi reprezentând, tradiţional, o celulă de memorie.
Multiplii byte-ului Nume multiplu
SemnificaĹŁie
Magnitudine
Kilo
210
1.024
Mega
220
1.048.576
Giga
230
1.073.741.824
Tera
240
1.099.511.627.776
Reprezentarea şi structurarea informaţiei
Identificatorul este numele ataşat unei piese sau colecţii de date, dar şi a unei prelucrări anume, în general aflate în memoria de lucru. Variabila este o locaţie de memorie referită printr-un identificator şi poate conţine diverse valori ale unei date de tip specificat. Constanta este o locaţie de memorie referită printrun identificator şi poate conţine doar o singură valoare a unei date de tip specificat. Literal este o valoare concretă pentru un tip de date, indicată prin simboluri specifice tipului respectiv
Tipuri de date simple ●
●
●
numere singulare – utilizate a desemna sume de bani, distanţe, zile din luna calendaristică, cu care se pot face calcule matematice. Se deosebesc două categorii de numere – numere întregi şi numere reale (cu zecimale). simboluri grafice - litere, cifre, semne de punctuaţie, spaţii libere, utilizate în texte. Aceste simboluri sunt elemente ale unui set finit de simboluri de scriere (alfabetul, cifrele de la 0 la 9, semnele de punctuaţie); ele sunt denumite generic caractere alfanumerice. Informaţii de tip Adevărat sau Fals – pentru a desemna o situaţie sau un eveniment funcţie de care se ia o decizie (de exemplu, dacă un eveniment a avut loc se execută o anumită acţiune, altfel altă acţiune), denumite informaţii logice (booleene).
Reprezentarea numerelor întregi ●
Numere binare - cea mai simplă reprezentare a informaţiei: Adevărat / Fals (1/0) sau Da / Nu.
●
Numere pozitive si negative -
●
Tipuri de date intregi
●
Operatii cu numere intregi.