Sunteți pe pagina 1din 12

ARHITECTURA CALCULATOARELOR

Profesor Mihai

OBIECTIVE CURS

ROMANCA

Introducere n arhitectura calculatoarelor de uz general, cu accent pe structura i organizarea sistemelor: UCP, memorie, sistem de IO Clasificare i exemplificare a arhitecturilor moderne de calculatoare La absolvirea cursului studenii vor fi capabili:
s descrie, clasifice i s utilizeze un sistem de calcul pe baz de microprocesor s descrie funcionarea subsistemelor unui calculator utilizeze cunotinele (cu ajutorul foilor de catalog i a notelor de aplicaii) pentru instalare, depanare i proiectare a dispozitivelor cu microprocesor, sau a unor interfee specializate la calculator

CATEDRA DE Electronic i Calculatoare email: romanca@unitbv.ro Web page curs: http://vega.unitbv.ro/~romanca/Calc


1

LABORATOR
1.

PROGRAM ANALITIC
Elemente introductive privind calculatoarele numerice: Reprezentrile funcionale i structurale ale sistemelor de calcul, Organizarea calculatorului, Magistrale, Tipuri de microprocesoare, Modaliti de evaluare a performanelor, Principii fundamentale privind organizarea i funcionarea Unitii Centrale de Procesare (UCP): Structura de procesor, funcionare, cale de date, unitate de control, arhitectura unei UCP elementare, adresarea i selectarea memoriei principale, indicatori de condiii i de control, interfaa cu exteriorul, tipuri de semnale pe magistralele externe, ntreruperi i excepii, memoria stiv, seturi de instruciuni, CISC/RISC, moduri de adresare, unitatea de control, structuri de tip pipeline (conduct) Organizarea memoriei: Funcie, caracteristici principale, organizarea pe niveluri ierarhice, RAM static, RAM dinamic, cache, tehnici de administrare a memoriei, implementarea memoriei virtuale Organizarea sistemului de intrare/iesire (I/O): interfee, comunicaii seriale sincrone i asincrone, modaliti de transfer I/O, standarde de interfaare la magistralele calculatorului: ISA, PCI, EIA232, USB 4

Obiective

educaionale:

Cptarea deprinderilor de programare i dezvoltare de aplicaii software cu microprocesoare Utilizarea programrii n limbaj de asamblare pentru procesoare Intel 80x86

2.

3.

4.

Bibliografie
Romanca, M., Calculatoare - arhitectura si organizare, Ed. Universitii Transilvania, Braov, 2004; disponibil n format electronic la http://vega.unitbv.ro/romanca Athanasiu, Irina, s.a., Microprocesoarele 8086, 286, 386, Programarea n limbaj de asamblare, Ed. Teora 1992; Stallings, William, Computer Organization and Architecture, 5th edition, Prentice Hall International, Inc., 2000. Tanenbaum, Andrew, Organizarea structurat a calculatoarelor, Computer Press Agora, 1999 http://vega.unitbv.ro/~romanca/Calc http://elearning.unitbv.ro/mdl10/
Colocviu Prezena la curs Laborator

EVALUARE
Forme de evaluare Modalitate evaluare Examinare scris Ca form de cooperare n nsuirea cunotinelor Activitate practic i evaluare final Procent din nota final 80 % 10 % 10%

Pentru promovarea examenului este obligatorie obinerea notei minime 5.00 la examinarea scris ct i media minim 5.00 la evaluarea activitii n laborator

Ce este un Microprocesor ?

Ce este un calculator?

Un microprocesor (MP) este o unitatea Central de Procesare (UCP) integrat ntr-un singur chip. UCP pentru un (micro)calculator de uz general este un microprocesor de uz general UCP-ul unui calculator este o structur de procesor de uz general Toate calculatoarele moderne sunt construite cu microprocesoare cu funcia de UCP.
7

Un calculator este o main de prelucrare automat a datelor ce funcioneaz sub controlul unei liste de instruciuni (program) stocate n memoria principal a calculatorului. Un calculator este o combinaie de resurse fizice (hardware) i programe (software) Calculatorul conine: UCP + Memorie + IO

Structura general a unui calculator


Calculator (GPC)

Sistem de calcul

date

adrese

UCP (Microprocesor)

control

De obicei un sistem de calcul conine un calculator i periferice Organizare calculator:


UCP (ci de date i control) Memoria principal Sistem de intrare-ieire (legtura cu dispozitivele externe periferice)

Memorie principal Interfee IO

Perifericele calculatorului includ


Dispozitive de intrare (tastatur, mouse, memorii secundare) Dispozitive de ieire (display, difuzoare, memorii secundare, imprimant)

Periferice
9 10

MICROCONTROLLER

Microprocesor vs. Microcontroller


Microprocesoarele sunt utilizate n general pentru aplicaii de nalt performan de procesare. Microprocesoarele sunt utilizate ca UCP pentru calculatoare de uz general (GPC) Microprocesoarele necesit extern memorie i interfee IO Microprocesoarele sunt utilizate n PC-uri, staii de lucru, servere, unde compatibilitatea software, performana, generalitatea i flexibilitatea sunt importante. Microcontrollerele sunt proiectate pentru a se obine o dimensiune redus a chip-ului, micorarea costurilor i includerea de spaiu de memorie i IO pe chip. Microcontrollerele sunt adesea specializate pe aplicaii n dauna flexibilitii. Un microcontroller conine: UCP, Memorie, IO

11 12

Microcontroller un calculator ce include un microprocesor i care este destinat aplicaiilor de control industrial (nu calculului de uz general) Un microcontroller conine: UCP, memorie i IO Un microcontroller este un microcalculator pe un chip proiectat pentru aplicaii de control

Microprocesor vs. Microcontroller

PROGRES CALCULATOARE NUMERICE


Dezvoltarea

Principalul obiectiv al proiectrii pentru fiecare tip de chip poate fi rezumat ca:

rapid n domeniu se bazeaz pe dou caracteristici principale:


dezvoltarea tehnologiei semiconductoare utilizat la construcia microprocesoarelor inovaii n organizarea i proiectarea calculatoarelor

Microprocesoarele (MP) sunt mai ales flexibile Microcontrollerele (MC) sunt mai ales compacte

13

14

DEZVOLTAREA TEHNOLOGIEI SEMICONDUCTOARE - Legea lui Moore


Legea e numit dup dr. Gordon E. Moore, co-fondator al firmei Intel, care a descris aceast tendin ntr-un articol publicat n 1965 Lucrarea meniona c numrul de componente n circuitele integrate s-a dublat n fiecare an de la momentul inventrii IC n 1958 i pn n 1965, iar predicia era c tendina se va menine pentru cel puin 10 ani. Alte formulri:

DEZVOLTAREA TEHNOLOGIEI SEMICONDUCTOARE - Legea lui Moore

Proprietile multor dispozitive electronice sunt strns legate de legea lui Moore:
viteza de prelucrare capacitatea de memorie dimensiunea i rezoluia senzorilor etc

Numrul tranzistoarelor (echivalente) ce poate fi plasat pe un circuit integrat crete exponential, dublndu-se aproximativ la fiecare 2 ani Numrul tranzistorilor ce pot fi plasate ieftin pe un circuit integrat creste exponential, dublandu-se aproximativ la fiecare 2 ani.
Densitatea la cost minim pe tranzistor

Termenul de Lege a lui Moore a fost inventat, n jurul lui 1970, de profesorul Carver Mead de la California Institute of Technology Legea lui Moore este adesea criticat, pentru c utilizatorii sunt interesai n primul rnd de creterea performanelor procesoarelor

Este greu s se echivaleze creterea numrului de tranzistoare echivalente pe un chip cu creterea performanei procesoarelor

Puterea de calcul va crete exponenial, dublndu-se la fiecare 18 - 24 luni, pentru un viitor previzibil

15

16

45 de ani de la Legea lui Moore

Tendin: oprirea creterii frecvenei de ceas

Cu ct sunt mai multe impulsuri pe secund cu att se fac mai multe operaii Cu ct frecvena este mai mare cu att crete si puterea consumat (comutaie) Creterea frecvenei impune mijloace de disipare a cldurii procesorului

17

18

Tendin: oprirea creterii frecvenei de ceas


Quad core chip

Procesoare multi-core (mai multe nuclee ce lucreaz n paralel) Intel a calculat c scderea cu 20% a frecvenei pentru un nucleu conduce la scderea la jumate a puterii consumate i doar la 13% pierdere de performan Dac se mpart sarcinile de prelucrare ntre 2 nuclee ce lucreaz la o frecven redus la 80%, se obine o performan mai mare cu 73% pentru aceeai putere consumat Disiparea cldurii este mai bun (dou noduri n loc de unul)

19

20

Scurt analiz istoric a progresului


Scurt analiz istoric a progresului

Anii 1960 calculatoare mari. Aplicaiile tipice includeau procesri de date n afaceri i calcule tiinifice Anii 1970
apariia minicalculatorului: laboratoare tiinifice, utilizatori multipli care partajeaz resursele de la terminale independente microprocesorul : mbuntiri n tehnologia circuitelor integrate, cost redus, producie n numr mare, rspndire n multe aplicaii de calcul numeric Generalizarea limbajelor de programare de nivel nalt (HLL) + translatoare a nlturat nevoia compatibilitii programelor la nivel de cod obiect Crearea de sisteme de operare standardizate, independente de productor, care au sczut costurile i riscurile de utilizare a noilor arhitecturi

Anii 1980: apariia arhitecturilor RISC (Reduced Instruction Set Computer)


Mainile RISC au permis dezvoltarea paralelismului la nivel de instruciune (iniial prin pipelining iar apoi prin lansarea multipl de instruciuni) i utilizarea memoriilor cache. Apariia calculatoarelor desktop construite pe baz de microprocesor (personal computers, workstations).

21

22

Scurt analiz istoric a progresului

Microprocesoare secolul XXI


Anii 1990:
Multiprocesoare SoC (System on Chip) VLIW (very large instruction word) un compilator planific instruciunile (static) spre deosebire de planificarea dinamic de la procesoarele superscalare Din ce n ce mai multe funcii implementate hardware: acceleratoare grafice, extensii de instruciuni MMX Rspndirea legturii Internet i a tehnicilor World Wide Web Dispozitive de calcul portabil (PDA, notebook) Electronic digital de larg consum

Frecvene de ceas mai mari de 2 GHz Procesoare de putere mic (aplicaii mobile) Micro-arhitecturi superscalare (mai multe instruciuni lansate n paralel) SIMD (Single Instruction Stream Multiple Data Stream): operaii similare efectuate n paralel pe seturi diferite de date Funcii de prelucrare DSP: MMX, 3D, grafic, sunet Nuclee procesor multiple pe un chip Memorie cache pe 2-3 niveluri ............................

23

24

PRINCIPALE CATEGORII DE APLICAII ALE MICROPROCESOARELOR


Piaa microprocesoarelor s-a dezvoltat pe trei direcii mari: Desktop
Exemple: PC, staii de lucru Metrici: laten (grafic i sistem de IO)

ARHITECTURA CALCULATORULUI

Servere furnizeaz servicii de fiiere i calcul


Exemple : server Web, server baz de date, server LAN Metrici: throughput, fiabilitate, scalabilitate

Arhitectul de calculator proiecteaz maina pentru a rula programe. Arhitectura de calculator (procesor) include:
1. 2. Arhitectura setului de instruciuni ISA (Instruction Set Architecture) Implementare, cu dou componente: Organizare Hardware

Sisteme Embedded (sisteme cu procesor nglobat)


Exemple: telefon celular, PDA, cuptor cu microunde, camer video digital Metrici: complexitate, putere redus, laten

Piaa embedded este cea mai mare ! Procesor Embedded = Un procesor programabil a crui interfa de programare nu este accesibil utilizatorului final i care realizeaz un set restrns de funciuni dedicate aplicaiei specifice.

25

26

Organizarea general a unui calculator uni-processor

Organizare general a unui (micro)processor, cu indicarea interfeelor principale cu exteriorul


Bloc Registre Program Counter (pt. aducere instruciuni) PC

Fluxul de informaii este controlat de UCP pe dou ci:


cale de control (creierul procesorului). Semnalele de control spun cii de date, memoriei i sistemului de intrare/ieire ce s fac, conform instruciunilor unui program. cale de date (muchii procesorului). Calea de date realizeaz operaii aritmetice / logice i de transfer
Calculator Registre date instruciuni Unitate de Control Memorie principal

Adres instr.

IR Instruciunea curent
Instruciune

UCP ALU

ALU

Logic de Control

de la/la memorie

adrese i comenzi

Reg. adrese memorie (pt. aducere date) Adres Date


MAR 27

Date
MDR

28

Architectura von Neumann (definit n 1945)


Principii:

Arhitectur de uz general secvenial (von Neumann) reprezentare structural


Sistem de calcul conceptul de program stocat

Datele i instruciunile sunt stocate n aceeai memorie principal (conceptul de program stocat); Coninutul memoriei este adresabil la nivel de locaie (fr a se considera ce informaie este stocat: date sau cod); Instruciunile sunt executate secvenial (una cte una n ordinea locaiilor de memorie n care sunt stocate) cu excepia faptului cnd acest lucru este precizat explicit. Calculatorul conine urmtoarele subsisteme: unitate de control, unitate aritmetic i logic (ALU), sistem IO, memorie Calculatoarele cu arhitectur von Neumann sunt calculatoare de uz general. Ele pot rezolva diverse probleme n funcie de programul executat.
29

Periferice intrare

Sistem de intrare

Memorie principal I
Unit. control (UC)

Sistem de ieire D
ALU & Registre

Periferice ieire

UCP Calculator
30

Reprezentare structural (cont.)

Reprezentare a ciclului instruciune


Reprezentare simplificat ciclu instruciune: O reprezentare extins a ciclului instruciune :
Fetch Instruciune Decodific instruciune Execuie Fetch operand

Funcia principal a UCP este s execute instruciunile aduse (fetch) din memoria principal. O instruciune codific pentru UCP o operaie de baz (aritmetic, logic, transfer de date la / de la memorie, etc.) ce trebuie efectuat. UC interpreteaz (decodific) instruciunea curent adus i comand celelalte uniti funcionale pentru a se putea executa instruciunea. UCP conine un set de registre folosite ca locaii de stocare temporar pentru rezultate intermediare i date intens utilizate de program. Fiecare instruciune este executat ntr-o secven de pai, numit ciclu instruciune.

Fetch Instruciune

Execuie

31

Pentru rularea programului UCP are o funcionare ciclic la fiecare instruciune executat

32

Unitate de Control

MEMORIA PRINCIPAL (INTERN)

Unitatea de control (UC) este creierul procesorului UC controleaz i sincronizeaz toate elementele din interiorul UCP i interfeele ctre calea de date extern.
Adresa 0 Registru Instruciune Semnale de control interne UCP Adresa 1

d bii

Indicatori condiii i stare

Unitate de Control

Semnale de control ctre magistrala sistem Semnale de la magistrala sistem

Adresa k

Adresa 2a-1-1
Adresa 2a-1

Clock
33 34

Sistem de Intrare / Ieire

Periferice

Sistemul de IO conine locaii adresabile (port-uri) prin care calculatorul face schimb de informaie cu lumea extern. Sistemul conine circuite pentru funciile:
schimbare format date (serial / paralel) stocare temporar de date (latch) verificare a corectitudinii datelor transferate sincronizare ntre periferic i UCP (datorit diferenelor mari de vitez de funcionare). logic de decodificare
35

Dispozitive (periferice) de intrare recepioneaz informaia din mediul extern (prin diveri senzori) i o transform ca natur fizic i format de reprezentare compatibilitate cu nivelurile de tensiune recunoscute de calculator (ca valori binare). Dispozitive (periferice) de ieire operaie invers dispozitivelor de intrare. Prelucreaz datele din calculator i le transform n informaie acceptabil la dispozitivul de ieire.
36

Dou tipuri principale de arhitecturi

,,Arhitectura calculatorului

Arhitectur von Neumann o singur memorie pentru date i instruciuni

Memorie
date i instruciuni

address bus data bus

CPU

Arhitectul de calculator proiecteaz maina pentru a rula programe. Printre sarcinile sale, sunt i urmtoarele: proiectarea setului de instruciuni organizare funcional proiectare logic, i implementare

Arhitectur Harvard Memorii separate pentru instruciuni i date UCP


Memorie de Date
doar date

Memorie de Program
doar instruciuni

addr. bus PM data bus PM

addr. bus DM data bus DM

37

38

,,Arhitectura calculatorului

Arhitectura Setului de Instruciuni


Termenul de arhitectur se refer la dou componente principale: Arhitectura Setului de Instruciuni (ISA), se refer la setul de instruciuni vizibil programatorului. Arhitectura setului de instruciuni servete ca o interfa ntre software i hardware. Implementarea mainii cu dou sub-componente: organizare hardware

Interfa ntre hardware i software. ISA include tot ce trebuie s cunoasc un programator pentru a programa la nivel fizic al maina. ISA permite ca dou maini diferite (implementare, costuri i performane diferite) s ruleze aceleai programe.

39

40

Implementare

REPREZENTAREA FUNCIONAL A UNUI CALCULATOR


Organizarea include aspectele de nivel nalt ale proiectului, cum ar fi organizarea sistemului de memorie, structura magistralelor, organizarea intern a UCP. Dou maini pot avea organizri diferite, dar s aib acelai ISA. Hardware se refer la aspectele specifice de implementare ale mainii. Include proiectul de detaliu al logicii, tehnologia semiconductoare utilizat, tipul de capsul.
41

Un calculator poate fi descris i prin funciile operaiile pe care le pune la dispoziia utilizatorului Circuitele electronice ale unui calculator recunosc i execut doar un set limitat de instruciuni elementare, codificate n form binar Instruciunile recunoscute sunt rareori mai complicate dect:
adun dou numere verific dac un numr este egal cu zero copiaz date dintr-o zon a memoriei calculatorului n alt zon.
42

LIMBAJ DE PROGRAMARE

MAINI VIRTUALE
Funcional, se poate spune c limbajul L1 corespunde unei maini virtuale programabile numit M1. Numele acestui limbaj simbolic de programare este limbaj de asamblare, iar programul de translatare este numit asamblor. Translatarea: - tot programul scris n L1 este transformat n program scris n L0 (executabil), iar programul n L1 este abandonat. - programul n L0 este ncrcat n memoria calculatorului i executat Exemple de programe translator: compilator, asamblor. Interpretorul este un program n L0 care ruleaz pe M0 i care preia instruciunile programului n L1 ca pe date de intrare. Interpretorul citete i decodific fiecare instruciune din L1 i apoi trece imediat la execuia acesteia. La interpretare nu se genereaz un program executabil ca la translatare Limbaje de programare mai apropiate de limbajul uman: L2, L3, ... (pentru maini virtuale M2, M3, ...)
44

Instruciunile elementare, recunoscute de un procesor formeaz limbajul main al procesorului Notaie: limbaj L0 ce corespunde mainii fizice M0. Programatorul scrie programele sale ntr-un limbaj L1, format din instruciuni simbolice (succesiuni de litere i cifre) i mai apropiat de limbajul uman Pentru a putea executa acest program pe maina M0 fiecare instruciune din L1 a programului trebuie translatat n instruciuni din limbajul L0 De exemplu programatorul poate scrie n L1 instruciunea: add al,6 iar programul de translatare va genera succesiunea binar, corespunztoare lui L0: 0000 0100 0000 0110
43

Calculator = succesiune de maini virtuale


Maina virtual Mn, cu limbajul main Ln
Nivelul n: Programele n Ln pot s fie interpretate de un interpretor ce ruleaz pe o main de nivel inferior, sau pot s fie translatate ctre limbajul main al unei maini inferioare

Pachete de aplicaii
Translatare sau interpretare

aux=z[k]; for (j=k;j<q;j++) z[j]=z[j+1]; z[q]=aux; if(z[k]==k) k++; else {printf("\n");k=1;

Limbaj de nivel nalt Asamblor


Translatare Translatare shl dl,1 jnc adr1 add ax,bx shl ax,1 dec cl

Maina virtual M2, cu limbajul main L2 Maina virtual M1, cu limbajul main L1 Maina fizic (real) M0, cu limbajul main L0

Nivelul 2: Programele n L2 pot s fie interpretate de un interpretor ce ruleaz pe M1 sau M0, sau pot s fie translatate n L1 sau L0 Nivelul 1: Programele n L1 pot s fie interpretate de un interpretor ce ruleaz pe M0, sau pot s fie translatate n L0 Nivelul 0: Programele n L0 pot fi executate direct de ctre circuitele electronice

Ierarhie de maini virtuale la GPC microprogramat

Maina virtual a sistemului de operare


Interpretare parial

Instruciuni main
Interpretare

Microprogram
Interpretare

0110 1101 0000 0100 1110 1011 1101 1100 1000 0000 1101 1001 0100 1101 1110 1110 1000 0110 1110 1100 0111 0000 1110 1101 0111 1010 1111 1011 1000 0010 1110 1001

Uniti funcionale
Implementare

Dispozitive electronice
45 46

SOFTWARE
- software utilizator

Software

- software de asisten (pentru dezvoltarea aplicaiilor) compilatoare - software de sistem interpretoare de comenzi

sisteme de operare

sistem de fiiere memorie virtual drivere dispozitive de I/O

47

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