Sunteți pe pagina 1din 11

OBIECTIVE CURS

ARHITECTURA
CALCULATOARELOR

Profesor Mihai

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

Departamentul Automatic, Electronic i


Calculatoare
email: romanca@unitbv.ro
Web page curs: http://vega.unitbv.ro/~romanca/Calc
1

PROGRAM ANALITIC

LABORATOR
1.

Obiective

educaionale:

2.

Cptarea deprinderilor de programare i


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

3.

4.

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
4

EVALUARE

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/mdl11/

Forme de evaluare

Modalitate evaluare

Procent din nota


final

Colocviu

Examinare scris

80 %

Prezena la curs

Ca form de cooperare n
nsuirea cunotinelor

10 %

Laborator

Activitate practic i evaluare


final

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.

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

Sistem de calcul

Calculator (GPC)

date

UCP
(Microprocesor)

adrese

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

Perifericele calculatorului includ


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

Interfee IO

Periferice
9

10

Microprocesor vs. Microcontroller

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.

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


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

Un microcontroller este un microcalculator pe un chip


proiectat pentru aplicaii de control

11

12

Microprocesor vs. Microcontroller

PROGRES CALCULATOARE NUMERICE


Dezvoltarea

rapid n domeniu se bazeaz


pe dou caracteristici principale:

Principalul obiectiv al proiectrii pentru fiecare tip de chip


poate fi rezumat ca:

Microprocesoarele (MP) sunt mai ales flexibile

Microcontrollerele (MC) sunt mai ales compacte

dezvoltarea tehnologiei semiconductoare


utilizat la construcia microprocesoarelor
inovaii n organizarea i proiectarea
calculatoarelor

13

DEZVOLTAREA TEHNOLOGIEI
SEMICONDUCTOARE - Legea lui Moore

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:

Proprietile multor dispozitive electronice sunt strns legate de


legea lui Moore:

viteza de prelucrare
capacitatea de memorie
dimensiunea i rezoluia senzorilor
etc

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

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.

Este greu s se echivaleze creterea numrului de tranzistoare


echivalente pe un chip cu creterea performanei procesoarelor

Densitatea la cost minim pe tranzistor

Puterea de calcul va crete exponenial, dublndu-se la


fiecare 18 - 24 luni, pentru un viitor previzibil

14

15

16

Tendin: oprirea creterii frecvenei


de ceas

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

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)

17

18

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).

19

20

Microprocesoare secolul XXI

Scurt analiz istoric a progresului

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
............................

21

PRINCIPALE CATEGORII DE APLICAII


ALE MICROPROCESOARELOR
Piaa microprocesoarelor s-a dezvoltat pe trei direcii mari:
Desktop

Servere furnizeaz servicii de fiiere i calcul

2.

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.

Arhitectul de calculator proiecteaz maina pentru a


rula programe.
Arhitectura de calculator (procesor) include:
1.

Exemple : server Web, server baz de date, server LAN


Metrici: throughput, fiabilitate, scalabilitate

ARHITECTURA CALCULATORULUI

Exemple: PC, staii de lucru


Metrici: laten (grafic i sistem de IO)

22

23

Arhitectura setului de instruciuni ISA (Instruction Set


Architecture)
Implementare, cu dou componente:
Organizare
Hardware

24

,,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.

25

26

Organizarea general a unui calculator


uni-processor

Implementare

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.

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

UCP

ALU

Hardware se refer la aspectele specifice de


implementare ale mainii. Include proiectul de
detaliu al logicii, tehnologia semiconductoare
utilizat, tipul de capsul.

Registre
date
instruciuni

Unitate de Control

27

Memorie
principal

adrese i comenzi

28

Organizare general a unui (micro)processor, cu


indicarea interfeelor principale cu exteriorul
Program Counter (pt.
aducere instruciuni)
PC

Bloc Registre

Architectura von Neumann


(definit n 1945)
Principii:

Adres instr.

IR Instruciunea curent

Instruciune

de la/la
memorie

Logic de Control

ALU

Reg. adrese memorie (pt. aducere date)

Adres Date
MAR

Date

29

MDR

30

Arhitectur de uz general secvenial (von


Neumann) reprezentare structural

Reprezentare structural (cont.)

Sistem de calcul conceptul de program stocat

Periferice
intrare

Sistem de
intrare

Memorie
principal
I
Unit.
control
(UC)

Sistem de
ieire

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.

Periferice
ieire

ALU &
Registre

UCP

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.

Calculator
31

32

Unitate de Control

Reprezentare a ciclului instruciune

Reprezentare simplificat
ciclu instruciune:

O reprezentare extins a ciclului


instruciune :

Unitatea de control (UC) este creierul procesorului


UC controleaz i sincronizeaz toate elementele din
interiorul UCP i interfeele ctre calea de date extern.

Fetch
Instruciune

Fetch
Instruciune

Decodific
instruciune

Semnale de control
interne UCP

Registru
Instruciune

Execuie
Fetch operand
Indicatori condiii i
stare

Unitate de
Control

Semnale de la magistrala
sistem

Execuie

Pentru rularea programului UCP are


o funcionare ciclic la fiecare
instruciune executat

Semnale de control ctre


magistrala sistem

Clock
33

34

Sistem de Intrare / Ieire

MEMORIA PRINCIPAL (INTERN)

d bii

Adresa 0
Adresa 1

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

Adresa k

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

35

36

Periferice

Dou tipuri principale de arhitecturi

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.

Arhitectur von Neumann o singur memorie pentru date i instruciuni

Memorie

address bus

date i
instruciuni

data bus

CPU

Arhitectur Harvard Memorii separate pentru instruciuni i date

Memorie de
Program
doar
instruciuni

addr. bus PM
data bus PM

UCP

addr. bus DM
data bus DM

Memorie
de Date
doar date

37

38

REPREZENTAREA FUNCIONAL A
UNUI CALCULATOR

LIMBAJ DE PROGRAMARE

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.

39

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
40

MAINI VIRTUALE

Calculator = succesiune de 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, ...)

Maina virtual Mn, cu


limbajul main Ln

Maina virtual M2, cu


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

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

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

41

Pachete de aplicaii
Translatare sau interpretare

42

SOFTWARE

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

Ierarhie
de maini
virtuale la
GPC
microprogramat

- software utilizator

Translatare

Asamblor
Translatare

Maina virtual a sistemului de operare

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

Software

Interpretare parial

Instruciuni main
Interpretare

Microprogram

- software de asisten (pentru dezvoltarea aplicaiilor)


compilatoare

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

- software de sistem interpretoare de comenzi

sisteme de operare

Interpretare

sistem de fiiere

Uniti funcionale

memorie virtual

Implementare

Dispozitive electronice

drivere dispozitive de I/O


43

44

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