Sunteți pe pagina 1din 16

1.

Enumerati si caracterizati nivelurile ierarhice de proiectare ale unui sistem cu procesor.

Un sistem este tipic vazut ca o structura ierarhica. Fiecare nivel de ierarhie reflecta un aspect major al sistemului si contine numai un mic
subset din totalul parametrilor. Fiecare interfata dintre aceste niveluri variate este uzual asigurata pentru a fi relativ independenta de cele 2
niveluri de interfata. La nivelul cel mai inalt al ierarhiei este programul de aplicatii, adesea scris intr -un limbaj de nivel inalt. Astfel, limbajul
poate fi proiectat fara a lua in considerare ceea ce ramane din ierarhie. Mai jos de acest nivel se afla compilatorul si sist emul de operare.
Sistemul de operare dirijeaza resusele sistemului si furnizeaza servicii de baza ale sistemului. Sub acesta sta legatura arhitecturala, limita dintre
hardware si software. Aceasta cheie de legatura consta din toate facilitatile si operatiile care sunt facute disponibile pentru programator; de
exemplu, registre, setul de instructiuni, capacitatile de adresare. In final este nivelul hardware, care poate fi in plus stratificat intr-o organizare de
sistem (masina) incluzand structura pipe-line, microcod si flux de date, familii de circuite si tehnologia insasi.
Chiar daca nivelurile pot fi proiectate separat, proiectarea unui sistem poate fi imbunatatita daca mai multe niveluri ale ierarhiei sunt luate
impreuna. De exemplu, relatia de legatura intre compilarea limbajului de nivel inalt si arhitectura: la nivelul arhitectural, instructiuni simple dar
puternice au fost alese pentru a forma un compilator eficient; un set simplu de instructiuni poate face selectia codului in compilator mai usor;
mai mult, alegerea cu atentie a instructiunilor asigura lungimi de cale comparabile cu acelea generate cu un set complex de instructiuni; de
asemenea, prin neincluderea operatiilor memorie-memorie, dar permitand numai operatii registru-registru si incarca registru in si de la memorie,
compilatorul poate suprapune frecvent accesele de memorare cu executia altor instructiuni, dand un rezultat mai bun (output).
2.

Sa se prezinte o schema standard de sistem cu procesor.

OBS: memoria cache poate fi on-chip sau off-chip.

Intr-un sistem cu P exista de regula 3 magistrale:


1) magistrala bidirectionala de date (implementata cu logica permite lucrul direct cu memoria)
2) magistrala unidirectionala de adrese, conectata intern, in adrese (un numarator de program PC), care si ea necesita a permite lucrul
direct cu memoria
3) magistrala de control (comenzi), care pastreaza variatiile sincronizare la si de la P (nu este necesara logica tri-state)
3.
Sa se clasifice standardele de magistrale de interconectare a unui sistem cu microprocesor.
Pentru conectarea mai multor module este necesara o cale de comunicatie intre acestea, o magistrala. Magistralele au fost impartite in 2
mari clase: magistrale paralele si magistrale seriale. Pentru a simplifica comunicatia intre module au fost elaborate standar de de magistrala.
a) paralele:
IEEE 488, 625: Hewlett Packard Interface Bus (HPIB)
IEEE 696 : S100 Bus
ISA: IBM PC/AT
EISA: Compaq, HP
NuBus: Macintosh Family
VME: Sun 3, Sun 4
Q22 Bus: DEC PDP, DEC MICROVAX
PCI: IBM PC
b) seriale:
EIA RS 232C comunicatie asincrona
EIA RS 422 si 423 comunicatie asincrona si sincrona
4.
Sa se realizeze o comparatie CISC-RISC.
In prezent exista 2 mari familii de P: procesoare cu set redus de instructiuni (RISC- Reduced Instruction Set Computer) si procesoare cu set
complex de instructiuni (CISC Complex Instruction Set Computer). Pentru a face o comparatie intre procesoare RISC si CISC se vor prezenta
caracteristicile principale ale celor 2 arhitecturi, in momentul aparitiei procesoarelor RISC.
Caracteristicile arhitecturilor RISC:
1)
instructiunile trebuie sa fie in numar redus (<100) si sa se execute intr-un singur ceas
2)
accesele la memorie sunt limitate la 2 instructiuni, numite load si store
3)
decodificarea instructiunilor este cablata

4)

jocul de instructiuni trebuie sa se bazeze pe un format fix (de regula 32 biti), cu moduri de adresare simple (2 moduri: load si
store)
5)
fiecare operatie complexa trebuie sa fie rejectata la nivelul compilatorului
6)
ansamblul arhitecturii trebuie sa profite la maximum de pe urma modului pipeline
7)
procesorul trebuie sa posede un numar mare de registre interne (>10), cu sau fara tehnica de ferestre
8)
procesorul trebuie sa fie adaptat adaugarii sistemelor de memorie cache si coprocesoarelor
9)
setul de instructiuni este in general conceput pentru un domeniu de aplicatii perfect determinate
10)
~ 100 MIPS
Caracteristicile arhitecturilor CISC:
1)
set cat mai larg de instructiuni (>100)
2)
numar cat mai mare posibil de moduri de adresare (>4)
3)
mai multe formate de instructiuni (>4), deci lungime variabila a instructiunilor
4)
cele mai multe instructiuni se executa in mai mult de un ciclu masina
5)
accesele la memorie se fac prin tipuri variate de instructiuni
6)
existenta unui numar relativ mic de registre interne (<10)
7)
control programat
8)
instructiunile masina sunt de un nivel relativ inalt
9)
~ 10 MIPS
Paralela RISC vs. CISC:
viteza de executie (performanta) RISC poate fi crescuta printr-o proiectare atenta a caii de date, benzii de asamblare si a celorlalte
resurse ale CPU (aceasta si datorita setului redus de instructiuni si spatiului fizic redus al controlorului)
compilatoarele optimizate, capabile sa organizeze fluxul de instructiuni de asamblare in cea mai eficienta ordine, sunt usor de dezvoltat
pentru un set simplu si redus de instructiuni (aceasta a dus si la posibilitatea executiei unei instructiuni pe un ciclu masina)
sistemele RISC sunt mai orientate pe aplicatii si nu sunt utile in anumite medii de programare; ele au insa eficienta ridicata pe
aplicatii
compilatoarele optimizate pentru RISC solicita uzual mai mutl timp de executie decat cele neoptimizate utilizate de CISC (dat orita
task-urilor aditionale din timpul compilarii pentru managementul benzii de asamblare, anticiparii ramificatiilor si reorganizarii
codului); prin executi unei instructiuni pe un ciclu masina, RISC vor avea in general un timp mai scurt de executie
spre deosebire de CISC, in care multe registre interne sunt cu scop special, in RISC exista multe registre cu scop general
5.

a)

Sa se prezinte o modalitate de evaluare (pentru frecventa de executie a instructiunilor sau prin program) sau de
imbunatatire (prin utilizarea ben zilor d e asam b lare sau a m em oriilor interm ed iare cache incorp orate) a performantei
unui sistem cu microprocesor.
[milioane de instructiuni / sec]

I - arhitectura setului de instructiuni si tehnologia de compilare


Tcpu timp sistem CPU [sec/program]
R tehnologia hardware si organizarea lui [ciclii ceas/sec]
CPI organizarea si arhitectura setului de instructiuni (nr mediu de ciclii de ceas per instructiune) [ciclii ceas/instructiune]
MIPS este dependent de setul de instructiuni, facand astfel dificil de comparat MIPS-urile calculatoarelor cu diferite seturi de instructiuni. MIPS
variaza intre programe pe aceeasi masina si poate varia invers cu performanta.
De obicei se calculeaza un MIPS relativ = T exec program masina de referinta / T exec pe alta masina x MIPS masina de referinta.

b)

[milioane de operatii in virgula mobila / sec]

MFLOPS este dependent de masina si de program. Pentru ca nu este dependent de instructiuni, este destinat cu brio compararii diferitelor
sisteme. Din pacate, MFLOPS considera in general operatiile in VM, netinand cont de setul diferit de operatii in VM al diferitelor masini sau
de viteza diferitelor operatii in VM ale aceluiasi set. De aceea, in general un benchmark (program de evaluare a performantelor) calculeaza un
numar normalizat de operatii in VM.

6.

Sa se prezinte modalitatea de diagnosticare si depanare a unui subsistem dintr-un sistem cu microprocesor.

7.

Sa se prezinte capabilitatile unui sistem cu microprocesor oferite pentru a lucra cu memoria virtuala.

M em oria virtuala reprezinta o tehnica de organizare a m em oriei prin interm ediul careia program atorul vede un spatiu virtual de adresare
foarte m are si care, fara ca program atorul sa sim ta, este m apat n m emoria fizic disponibila. Uzual, spatiul virtual de adrese corespunde
suportului disc magnetic, programatorul avnd iluzia prin mecanismele de memorie virtuala (MV), ca detine o memorie (virtuala ) de capacitatea
hard-discului si nu de capacitatea memoriei fizice. n cazul MV, memoria principala este analoaga memoriei cache ntre CPU (Central
Processing Unit) si memoria principala, numai ca de aceasta data ea se situeaza ntre CPU si discul hard. Deci memoria principala (MP) se
comporta oarecum ca un cache ntre CPU si discul hard. Prin mecanismele de MV se mareste probabilitatea ca informatia ce se doreste a fi
accesata de catre CPU din spatiul virtual (disc), sa se afle n MP, reducnduse astfel dramatic timpul de acces.
De obicei, spatiul virtual de adresare este mpartit n entitati de capacitate fixa (4 64 Kb actualmente), numite pagini. O pagina poate fi
mapata n MP sau pe disc. n general, prin mecanismele de MV, MP contine paginile cel mai recent accesate de catre un program, ea fiind dupa
cum am mai aratat, pe post de cache ntre C P U si discul hard. Segmentarea constituie o alta varianta de implementare a MV, care utilizeaza n
locul paginilor de lungime fixa, entitati de lungime variabila zise segmente. n segmentare, adresa virtuala este consti tuita din 2 cuvinte: o baza a
segmentului si respectiv un deplasament (offset) n cadrul segmentului.
8.

Sa se prezinte modurile si tehnicile de translatare a adresi intr-un sistem cu microprocesor.

Transformarea adresei virtuale emisa de catre CPU ntr-o adresa fizica (existenta n spatiul MP) se numeste mapare sau translatare. Asadar
mecanismul de MV ofera o functie de relocare a programelor (adreselor de program), pentru ca adresele virtuale utilizate de un program sunt
relocate spre adrese fizice diferite, nainte ca ele sa fie folosite pentru accesarea memoriei. Aceasta mapare permite aceluiasi program sa fie
ncarcat si sa ruleze oriunde ar fi ncarcat n MP, modificarile de adrese realizndu-se automat prin mapare (fara MV un program depinde de
obicei n executia sa de adresa de memorie unde este ncarcat).

Prin paginare, fiecare acces la o data necesita 2 accese la memorie: unul pentru obtinerea adresei fizice din tabela de pagin i, iar celalalt
pentru accesarea propriu-zisa a datei n M.P. n vederea reducerii acestui tim p de acces (dublu), tabela de pagini este casata (m em orata partial)
n CPU. Memoria cache care memoreaza maparea tabelei de pagini se numeste TLB (Translation Lookaside Buffer). Ca orice cache, TLB-ul
poate avea diferite grade de asociativitate. Exista evacuari/ncarcari ntre TLB si tabela de pagini din M.P. Deoarece TLB-ul este implementat n
general on -chip, capacitatea sa este relativ m ica. D e obicei T L B -ul se implementeaza complet asociativ (full-associative), pentru a avea o rata
de miss scazuta.
9.

Sa se prezinte tehnicile de protectie si securitate oferite de un sistem cu microprocesor.

Desi fiecare proces are propriul sau spatiu virtual de adresare, memoria fizica (MP) este partajata ntre mai multe procese ( procese
utilizator, SO, driverele I/O etc.). Desigur, trebuie sa se controleze strict accesul unui proces n zonele de cod si date ale altui proces rezultnd
necesitatea protectiei la scrieri/citiri.
Protectia este asigurata n principal prin:
moduri de lucru CPU de diferite nivele de privilegiu: modul supervizor (kernel, executiv) n care un proces poate sa execute orice
instructiuni si sa acceseze oricare resurse si respectiv modul user n care un proces are o multime de restrictii legate de protectia si
securitatea sistemului
control strict al S.O. asupra tranzitiilor din user n kernel (prin CALL GATES-uri - porti de apel - la o anumita adresa determinata din
spatiul de cod kernel)
protectie a paginilor prin drepturi de acces la pagina (read only, read/w rite etc).

10.

Sa se realizeze o comparatie intre magistralele de interconectare dintr-un sistem cu microprocesor de la prima


standardizare si pana in stadiul actual sau pentru un sistem actual cu microprocesor.

Type of Bus

Bus
Clock
Signal

Bus
Width

Theoretical Maximum
Transfer Rate

Advantages

Disadvantages

ISA

8 MHz

16-bit

8 Mbytes/sec (64
Mbits/sec)

low cost,
compatibility, widely
used

low speed, Jumpers & DIP


switches. becoming obsolete

Microchannel

10
MHz

32-bit

40 Mbytes/sec (240
Mbits/sec)

higher speed than


ISA

obsolete

PCI

133
MHz

64-bit

1 Gbytes/sec (8
Gbits/sec)

very high speed,


Plug & Play,
dominant boardlevel bus

incompatible with older


systems,
can cost more

64-bit

132 Mbytes/sec (1
Gbit/sec)

designed for
industrial use, hot
swapping/Plug &
Play, ideal for
embedded systems

lower speed than PCI, need


adapter for PC use,
incompatible with older
systems

16-bit

20 Mbytes/sec (160
Mbits/sec)

Ideal for portable


systems, hot
swappable, Plug &
Play

lower speed , needs special


drive for use in desktop PCs

1.5 Mbytes/sec (12


Mbits/sec)

low cost, ideal for


portable systems, hot
swapping/plug &
play, up to 127
devices via 1 port

slower than PCI and other


plug-in busses (such as
Firewire), not compatible with
older peripherals

60 Mbytes/sec (480
Mbits/sec)

All the advantages of


USB plus
significantly higher
speeds making it
compatible with
high-speed
peripherals such as
data drives and video
cameras.

Not compatible with older


peripherals, still slower than
PCI

1.25 Mbyte/sec (10


Mbits/sec)

Enables multiple
PCs to remotely
share information
and peripheral
devices, provides
error checking
lacking in standard
serial
communication

Most peripheral devices cannot


be connected directly to
ethernet, adapter is required.
Slow data communication by
current standards Possible
security issues.

12.5 MBytes/sec (100


Mbits/sec)

All advantages of
10BaseT, with
significant speed
improvement.
Backward
compatible with
10Base T
installations.

Most peripheral devices cannot


be connected directly to
ethernet, adapter is required.
Possible security issues.

CompactPCI

33
MHz

PCMCIA

10
MHz

USB 1.1

USB 2.0

Ethernet 10
Base T

Ethernet 100
Base T (Fast
Ethernet)

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

11.

Sa se prezinte sintetic o magistrala standard dintr-un sistem actual cu microprocesor: caracteristici, categorii de semnale,
protocol de functionare, posibilitati de conectare.

Semnale PCI:
1.
2.
3.

4.
5.
6.

7.
8.

9.
10.
11.
12.
13.
14.
15.
16.
17.

18.
19.
20.

AD[31:0] (i/o tristated) PCI Address / Data - magistrala multiplexata de adrese si date; in timpul primului ceas al tranzactiei,
AD[31:0] contin o adresa fizica, iar in urmatorul, date (pentru 64 biti se preiau 2 cicli de date); in i/o se utilizeaza AD[1:0]
pentru adresare octet
C/BE[3:0]# (i/o tristated) PCI Bus Command / Byte Enabled - semnale multiplexate: in faza de adr. PCI Bus Command
indica tipul ciclului current, iar in faza de date PCI Byte Enabled indica octeti de date - sunt intrari pentru destinatie (PCI
target Slave) si iesiri pentru sursa (PCI initiator Master)
DEVSEL# (i/o tristated) Device Select - este determinat de dispozitivul care si-a decodificat adresa ca destinatie a accesului
curent; este utilizat ca intrare pentru PCI target si ca iesiri pentru PCI initiator (deriva din intrarea MEMCS#) - dispozitivul
testeaza un chip select primit din spatiul de adrese(ex: IDSEL Initialization Device Select)
FRAME# (i/o tristated) Cycle Frame - este determinat de un master pentru a indica inceputul si sfarsitul unei tranzactii;
activat la inceput si dezactivat la sfarsit
FLSHREQ# (i) Flush Request - este generat de un bridge standard de magistrala PCI pentru a comanda golirea (flush)
tuturor bufferelor de scriere pointate catre PCI Bus si dezactivarea lor
IORDY# (i/o tristated) Initiator Ready - este activat de un master pentru a indica faptul ca este permisa terminarea
transferului curent de date; este utilizat in conj. cu TRDY# - pe PCI datele sunt transferate pe fiecare ceas in care IRDY# si
T R D Y # sunt am bele active; in tim pul ciclurilor de read, IR D Y # este utilizat pentru a indica faptul ca m asterul este pregatit
sa accepte date, iar in timpul ciclurilor de scriere, IRDY# este utilizat pentru a indica faptul ca masterul a pus date valide pe
AD[31:0]. Sunt inserate stari de wait cand sunt active ambele IRDY# si TRDY#.
TRDY# (i/o tristated) Target Ready - indica abilitatea dispozitivului destinatie (target) de a termina faza curenta de
tranzactie date; utilizat cu IRDY# - pentru PCI master IRDY# este iesire si TRDY# este intrare; pentru PCI slave IRDY#
este iesire, iar TRDY# intrare
MEMREQ# (i) Memory Request - este generat de un bridge standard de magistrala P C I (IS A , E IS A , ) pentru a garanta
accesul intarziat de master standard de magistrala la memoria principala; in conjunctie cu FLSHREQ#. Odata ce bufferele au
fost golite, MEMACK# este activat continuu pana la dezactivare MEMREQ#
MEMACK# (o) Memory Acknowledge - este generat ca raspuns la FLSHREQ# sau MEMREQ# de la un bridge de mag
MEMCS# (i) Main Memory Chip Select - cand este activ indica mag. PCI ca un ciclu master PCI este destinat mem.
principale; M E M C S # este generat de un expansions bridge - MEMCS# este esantionat de mag PCI pe frontul crescator al
PCLKIN pe primul si al 2-lea ciclu dupa activare FRAME#
PAR (i/o tristated) PCI Parity - este paritatea para peste liniile AD[31:0] si C/BE[3:0]#, generata pe toate tranzactiile de
magistrala; dispozitivele target dau PAR in timpul unei faze de citire date
PERR# (i/o tristated) PCI Parity Error - este determinat de un agent care primit date cu eroare de paritate, un ceas dupa
activarea PAR
PGNT# (i) PCI Grant - indica permiterea accesului la magistrala PCI de catre arbitrul de magistrala
PREQ# (o) PCI Request - este activat spre arbitrul PCI pentru a cere magistrala PCI
PLOCK# (i/o tristated) PCI Lock - este activat de un agent care cere accesul exclusiv la o destinatie
SERR# (o) PCI System Error - este activat de un bridge PCI pentru a alerta sistemul de erori grave; anumite
evenim ente(eroare paritate adresa si date, ) pot genera optional S E R R # - in mod tipic SERR# produce un NMI
STOP# (i/o tristated) Stop - este o cerere de la destinatie catre master de a opri tranzactia curenta - este utilizat in conjunctie
cu DEVSEL# pentru a indica cicli de deconectare, abandonare si reluare(disconnect, target-abort & retry cycles) - este
intrare pentru PCI initiator(masterul PCI va opri tranzactia) si iesire pentru PCI target(slave PCI) - STOP# ramane activ pana
la dezactivarea FRAME#
PCIRST# (o) PCI RESET - este activat pentru a initia un hard reset pe PCI Bus
PCLKIN(i) PCI Clock Input - deriva dintr-un driver de ceas extern si trebuie sa coincida cu PCLK la sloturile PCI,
furnizeaza timing-ul pentru toate tranzactiile de pe magistrala PCI - toate celelalte semnale PCI sunt esantionate pe frontul
crescator al acestui semnal
PCLK(o) PCI Clock - deriva din ceasul procesorului

Protocolul de functionare:
Un agent cere magistrala PCI prin activarea PREQ#. Cand arbitrul determina ca un agent poate utiliza magistrala PCI, el activeaza PGNT# catre
agent. Reguli:
a) daca PGNT# este dezactivat odata cu activarea FRAME, tranzactia pe magistrala este valida si va continua
b) un P G N T # poate fi negat odata cu activarea altuia, daca m agistrala nu este in stare idle (N o action); totusi, o intarzie re de 1 ceas este
inserata
c) cat timp FRAME# este negat, PGNT# poate fi negat in orice moment pentru a servi masterul cel mai prioritar
d) daca MEMREQ# si MEMACK# sunt activate, odata ce masterul este permis pe magistrala PCI, arbitrul nu va schimba permisia pa na ce
masterul isi anuleaza cererea.

12.

Sa se prezinte evolutia microprocesoarelor utilizate intr-un sistem cu microprocesor.


1971

I4004

4 biti

primul uP

1972

I8008

8 biti

16k

primul pe 8 biti

1974

8080

8 biti

64k

primul uP de succes

1978

8086

16 biti

1M

primul uP pe 16 biti

1982

80286

16 biti

16M

PC-AT

1985

80386

32 biti

4G

primul uP pe 32 biti

1989

80486

32 biti

4G

FPU incorporat

1993

Pentium

32 biti

4G

pipeline

1995

P. Pro

32 biti

64 G

superpipeline

2001

Itanium

64biti

2002

Itanium 2

64biti

2003

Opteron /
Athlon 64

64biti

Alte familii de microprocesaore:


Motorola: 6800 (8 biti), 68000 (16 biti), 68020, 68030 (32 biti), 68040
Zilog: Z80, Z8000
Texas Instruments: -procesoare de semnal: TMS320c10/20/30/50/80
Microchip: microcontrolare: PIC12/16/18
MIPS, ARM, etc.
13.

Sa se clasifice sistemele cu microprocesor inainte si dupa aparitia procesorului pe 16 biti


Minicalculatoare
Microcalculatoare
Mainframeuri
Supercalculatoare
(nu stiu cum era exact clasificarea)

14.

Sa se prezinte tipurile de placi de baza si de socket-uri dintr-un sistem cu microprocesor.


PC/XT - the original open motherboard standard created by IBM for the first home computer, the IBM-PC.
AT form factor (Advanced Technology) - the first form factor to gain wide acceptance, successor to PC/XT. Also known as Full AT, it
was popular during the 386 era. Obsolete - superseded by ATX.
Baby AT - IBM's successor to the AT motherboard, it was functionally equivalent to the AT but gained popularity due to its
significantly smaller physical size, usually comes without AGP port.
ATX - the 'evolution' of the Baby AT form factor, it is now the most popular form factor available today.
ETX, used in embedded systems and single board computers.
Mini-ATX - essentially the same as the ATX layout, but again, with a smaller 'footprint'.
microATX - again, a miniaturization of the ATX layout.
FlexATX - a subset of microATX allowing more flexible motherboard design, component positioning and shape.
LPX - based on a design by Western Digital, it allows for smaller cases based on the ATX motherboard by arranging the expansion
cards in a riser (an expansion card in itself, attaching to the side of the motherboard - image).
Mini LPX - a smaller subset of the LPX specification.

NLX - a 'low-profile' motherboard, again incorporating a 'riser', designed in order to 'keep up with market trends'. NLX never gained
much popularity.
BTX (Balanced Technology Extended) - a newer standard proposed by Intel as an eventual successor to ATX.
microBTX and picoBTX - smaller subsets of the BTX standard.
Mini-ITX - VIA's highly-integrated small form factor motherboard, designed for uses including thin clients and Set-top box.
WTX (Workstation Technology Extended) - a large motherboard (more so than ATX) designed for use with high-power workstations
(usually featuring multiple processors or hard drives.

Sockets:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
15.

16.

80486: 486 Socket, Socket 1, Socket 2, Socket 3, Socket 6


Celeron: Socket 370 (old Celeron), Socket 478, Socket T/LGA 775
Itanium: PAC 418, PAC 611
Pentium: Socket 4, Socket 5, Socket 7
Pentium Pro: Socket 8
Pentium II: Slot 1
Pentium III: Slot 1, Socket 370
Pentium 4: Socket 423, Socket 478, Socket T/LGA 775
Pentium M: Socket 479 PGA & BGA
K5: Socket 7
K6: Socket 7, Super Socket 7
Athlon: Slot A, Socket A, Socket 563
Athlon 64: Socket 754, Socket 939, Socket AM2(940-pin)
Athlon 64 FX: Socket 939, Socket 940, Socket AM2(940-pin)
Duron: Socket A
Opteron: Socket 939, Socket 940, Socket F(1207-pins)
Sempron: Socket A, Socket 754
Sa se enumere si sa se caracterizeze tehnologiile introduse de Intel (sau AMD) intr-un sistem cu microprocesor CISC
Deep branch prediction allows the processor to decode instructions beyond branches to keep the instruction pipeline full
Dynamic data flow analysis requires real-time analysis of the flow of data through the processor to determine dependencies and to
detect opportunities for out-of-order instruction execution
Speculative execution refers to the processors ability to execute instructions that lie beyond a conditional branch that has not yet
been resolved, and ultimately to commit the results in the order of the original instruction stream. To make specul ative execution
possible, the P6 processor microarchitecture decouples the dispatch and execution of instructions from the commitment of results. The
processors out-of-order execution core uses data-flow analysis to execute all available instructions in the instruction pool and store the
results in temporary registers. When completed instructions are found, the retirement unit commits the results of these instructions to
memory and/or the IA-32 registers in the order they were originally issued and retires the instructions from the instruction pool
Sa se prezinte sintetic una dintre tehnologiile actuale Intel CISC (sau AMD CISC)

Hyper-Threading (HT) Technology was developed to improve the performance of IA-32 processors when executing multi-threaded
operating system and application code or single-threaded applications under multi-tasking environments. The technology enables a single
physical processor to execute two or more separate code streams (threads) concurrently. Architecturally, an IA-32 processor that supports HT
Technology consists of two or more logical processors, each of which has its own IA-32 architectural state. Each logical processor consists of a
full set of IA-32 data registers, segment registers, control registers, debug registers and most of the MSRs. Each also has its own advanced
programmable interrupt controller (APIC).
Unlike a traditional MP system configuration that uses two or more separate physical IA-32 processors, the logical processors in an IA-32
processor supporting HT Technology share the core resources of the physical processor. This includes the execution engine and the system bus
interface. After power up and initialization, each logical processor can be independently directed to execute a specified thr ead, interrupted, or
halted.
17.

Sa se prezinte sintetic un microprocesor CISC(Intel Pentium, AMD K5 sau Motorola 68020)

The P4 is based on Intel's radical new NetBurst microarchitecture. The Intel NetBurst microarchitecture provides:
T he R apid E xecution E ngine
Arithmetic Logic Units (ALUs) run at twice the processor frequency
Basic integer operations can dispatch in 1/2 processor clock tick
Provides higher throughput and reduced latency of execution
H yper-Pipelined Technology
Deep pipeline to enable industry-leading clock rates for desktop PCs and servers
Frequency headroom and scalability to continue leadership into the future
A dvanced D ynam ic E xecution
Deep, out-of-order, speculative execution engine
U p to 126 instructions in flight
U p to 48 loads and 24 stores in pipeline2
Enhanced branch prediction capability
R educes the m isprediction penalty associated w ith deeper pipelines
A dvanced branch prediction algorithm
4K -entry branch target array

N ew cache subsystem
A dvanced E xecu tion Trace Cache stores decoded instructions
E xecution T race C ache rem oves decoder latency from m ain execution loops
E xecution T race C ache integrates path of program execution flow into a single line
L ow latency data cache
F ull-speed, unified 8-way Level 2 on-die Advance Transfer Cache
B andw idth and perform ance increases w ith processor frequency
H igh -performance, quad-pumped bus interface to the Intel NetBurst microarchitecture
system bus
Supports quad-pumped, scalable bus clock to achieve up to 4X effective speed
Capable of delivering up to 3.2 to 6.4 GB of bandwidth per second
S uperscalar issue to enable parallelism
18.

Sa se clasifice smnalele unui procesor CISC (Intel Pentium, AMD K5 sau Motorola 68020) pe categorii functionale

19.

Sa se prezinte organigrama de functionare a unui procesor.

(0) No Request Pending


(1) Request Pending:The Pentium processor starts a new bus cycle & ADS# is
asserted in the T1 state.
(2) Always: With BOFF# negated, and a cycle outstanding the Pentium processor
always moves to T2 to process the data transfer.
(3) Not Last BRDY# & (No Request Pending + NA# Negated): The Pentium
processor stays in T2 until the transfer is over if no new request becomes pending
or if NA# is not asserted.
(4) Last BRDY# & Request Pending & NA# Sampled Asserted: If there is a new
request pending when the current cycle is complete, and if NA# was sampled
asserted, the Pentium processor begins from T1.
(5) Last BRDY# & (No Request Pending + NA# Negated): If no cycle is pending
when the Pentium processor finishes the current cycle or NA# is not asserted, the
Pentium processor goes back to the idle state.
(6) Not Last BRDY# & Request Pending & NA# Sampled Asserted: While the
Pentium processor is processing the current cycle (one outstanding cycle), if
another cycle becomes pending and NA# is asserted, the Pentium processor moves
to T12 indicating that the Pentium processor now has two outstanding cycles.
ADS# is asserted for the second cycle.
(7) Last BRDY# & No dead clock: When the Pentium processor finishes the
current cycle, and no dead clock is needed, it goes to the T2 state.
(8) Last BRDY# & Need a dead clock: When the Pentium processor finishes the
current cycle and a dead clock is needed, it goes to the TD state.
(9) Not Last BRDY#: With BOFF# negated, and the current cycle not complete,
the Pentium processor always moves to T2P to process the data transfer.
(10) Not Last BRDY#: The Pentium processor stays in T2P until the first cycle
transfer is over.
(11) Last BRDY# & No dead clock: When the Pentium processor finishes the first
cycle and no dead clock is needed, it goes to T2 state.
(12) Last BRDY# & Need a dead clock: When the first cycle is complete, and a dead clock is needed, it goes to TD state.

(13) Request Pending & NA# sampled asserted: If NA# was sampled asserted and there is a new request pending, it goes to T12 state.
(14) No Request Pending + NA# Negated:If there is no new request pending, or NA# was not asserted, it goes to T2 state.
Ti: This is the bus idle state. In this state, no bus cycles are being run. The Pentium processor may or may not be driving the address and status
pins, depending on the state of the HLDA, AHOLD, and BOFF# inputs. An asserted BOFF# or RESET will always force the state machine back
to this state. HLDA will only be driven in this state.
T1: This is the first clock of a bus cycle. Valid address and status are driven out and ADS# is asserted. There is one outstanding bus cycle.
T2: This is the second and subsequent clock of the first outstanding bus cycle. In state T2, data is driven out (if the cycle is a write), or data is
expected (if the cycle is a read), and the BRDY# pin is sampled. There is one outstanding bus cycle.
T12: This state indicates there are two outstanding bus cycles, and that the Pentium processor is starting the second bus cycle at the same time
that data is being transferred for the first. In T12, the Pentium processor drives the address and status and asserts ADS# for the second
outstanding bus cycle, while data is transferred and BRDY# is sampled for the first outstanding cycle.
T2P: This state indicates there are two outstanding bus cycles, and that both are in their second and subsequent clocks. In T2P, data is being
transferred and BRDY# is sampled for the first outstanding cycle. The address, status and ADS# for the second outstanding cycle were driven
sometime in the past (in state T12).
TD: This state indicates there is one outstanding bus cycle, that its address, status and ADS# have already been driven sometime in the past (in
state T12), and that the data and BRDY# pins are not being sampled because the data bus requires one dead clock to turn around between
consecutive reads and writes, or writes and reads. The Pentium processor enters TD if in the previous clock there were two outstanding cycles,
the last BRDY# was returned, and a dead clock is needed.
20.

Sa se prezinte un ciclu de magistrala reprezentativ pentru un procesor CISC.


Burst Read cycle
Data will be sampled only in
the clock that BRDY# is
returned, which means that
data need not be sent to
Pentium processor every clock
in the burst cycle.

21.
Sa se prezinte si sa se carcaterizeze modurile de lucru ale unui processor CISC
Operation modes There are several modes of processor operation; most notably real mode and protected mode for the i386 architecture, and
long mode for newer processors. The language is essentially the same but involves different ways of accessing memory and thus employs
different programming strategies.
Real mode - Real mode is mostly 16-bit, but since the 80386 it is possible to use 32-bit registers in this mode. It is also possible to enable
partial 32-bit addressing in real mode through a bug/feature that appears under certain conditions when switching from protected mode back to
real mode. Some DOS extenders make use of this to make it possible to access more than 1 megabyte of RAM. This bug-mode is sometimes
called unreal mode by assembly programmers.
Protected mode - Protected mode (or 386 protected mode) enables full 32-bit addressing, paging, memory protection, hardware-support for
multitasking, a few more registers and some new instructions to handle the 32-bit addressing. The instruction set in protected mode is perfectly
backward compatible with the one used in real mode. 16-bit protected mode also exists, but is almost never used. It was used in early operating
systems that needed memory protection. The mode delivers 24-bit addressing, which gives a maximum capability of 16 megabytes of memory.
Some early Unix operating systems and OS/2 used this mode.
Long mode - Long mode is a mode that enables 64-bit addressing, 64-bit extensions of most registers and some new 64-bit registers as
well. It is mostly an extension of the 32-bit instruction set, but some instructions have been replaced by new ones, making the resulting
instruction set not entirely backwards compatible.
x86-family processors boot into real mode for backward compatibility with the older 8086 class of processors. Typically, the operating
system is responsible for switching to protected mode if it so wishes. Recently, long mode has been created as a 64-bit environment for the x86processors. Processors with the ability to change into long mode are said to belong to the x86-64-family. AMD Athlon64 is one x86-64
processor. To switch to long mode, the processor has to first switch from real mode to protected mode, and then to long mode. This behaviour
guarantees backward compatibility.
22.

Sa se prezinte resursele unui procesor CISC din punct de vedere al programatorului

1.

registre generale (pot fi utilizate si ca registre index);


a) D0 D7 = 8 registre de date pe 32 biti (pot fi operanzi pe 8, 16 sau 24 de biti);
b) A0 A6 = 7 registre de adrese pe 32 biti (pot fi registre baza adresa)
c) A7 - registru adresa pe 32 biti sau indicator stiva utilizator ( USP - User Stack Pointer);
PC - registru control program pe 32 de biti;
CCR - registru conditie cod (Condition Code Register)
A7' (ISP) - registru adresa sau indicator stiva intrerupere (Interrupt Stack Pointer) in nivel
supervisor
A7'' (MSP) - registru adresa sau indicator stiva master (Master SP) in nivel supervisor - SSP
(Supervisor Stack Pointer);

2.
3.
4.
5.

6.
7.
8.
9.
23.

Registru de stare SR (Status Register):


Registru vector baza (VBR - Vector Base Register)
Registre cod functional alternant - SFC (System Function Code) DFC (Data Function Code)
Registre cache: - Control (CARC - Address Control Register) ; Adresa (CAAR - Cache Address Register)
Sa se prezinte modelul de adresare segmentata pentru procesorul Intel Pentium, cu precizarea modelelor de segmentare

Flat model: The simplest model is the flat model. In this model, all segments are mapped to the entire physical address space. A segment offset
can refer to either code or data areas. To the greatest extent possible, this model removes the segmentation mechanism from the architecture seen
by either the system designer or the application programmer. This might be done for a programming environment like UNIX, which supports
paging but does not support segmentation.

Protected Flat Model: The protected flat model is like the flat model, except the segment limits are set to include only the range of addresses
for which memory actually exists. A general-protection exception will be generated on any attempt to access unimplemented memory. This
might be used for systems in which the paging mechanism is disabled, because it provides a minimum level of hardware protection against some
kinds of program bugs.

Multisegment Model: The most sophisticated model is the multisegment model. Here, the full capabilities of the segmentation mechanism are
used. Each program is given its own table of segment descriptors, and its own segments. The segments can be completely private to the program,
or they can be shared with specific other programs. Access between programs and particular segments can be individually controlled.

24.

Sa se prezinte modelul de adresare paginata pentru procesorul Intel Pentium

A page table is an array of 32-bit entries. A page table is itself a


page, and contains 4096 bytes of data or at most 1K 32-bit entries.
Four kilobyte pages, including page directories and page tables, are
aligned to 4K-byte boundaries. Two levels of tables are used to
address a page of memory. At the highest level is a page directory.
A page directory holds up to 1K entries that address page tables of
the second level. A page table of the second level addresses up to
1K pages in physical memory. All the tables addressed by one page
directory, therefore, can address 1M (220) four-Kbyte pages. If each
page contains 4K (212) bytes, the tables of one page directory can
span a linear address space of four gigabytes (220 212 =232).
25.

Sa se prezinte modul de lucru multitasking pentru procesorul Intel Pentium


The multitasking support is a capability provided by the Intel architecture that the system designer can choose not to use. M any of the
available multitasking operating systems that run on the Intel architecture do not use the hardware multitasking support provided. One of the key
reasons is that the functionality of the hardware task switch can be completely supported using software task switching. Since many of the
multitasking operating systems also require additional processing when switching tasks, performing the additional work is of little concern. In
fact, the task switching may actually be faster because of the amount of processor information that must be preserved between task switches.
The operation of the hardware multitasking depends on these additional system data structures:
Task State Segment (TSS); segment for saving and restoring the processor state.
T ask state segm ents descriptor; it points to a TSS and must be in the GDT.
Task register (T R ); holds the selector for the current tasks T S S .
Task gate descriptor.
The TSS descriptors looks the same as a code type descriptor except for the D-bit and the contents of the type field. A TSS is used to
save and to load the processor state whenever a task switch is initiated. The TSS will hold the complete processor state plus the I/O bitmap.
A hardware task switch occurs in the following cases:
The current task executes a JMP or CALL instruction that refers to either a TSS or task gate descriptor;
A n interrupt (softw are or hardw are) or exception vectors to task gate in the ID T ;
T he current task executes an IR E T instruction w hen the N ested Task (NT) flag is set.
A task switch has these steps:
1. Check that the current task is allowed to switch to the new task. Data-access privilege rules apply to JMP and CALL instructions. The DPL
of the TSS descriptor and the task gate must be numerically greater (e.g., lower privilege level) than or equal to both the CPL and the RPL
of the gate selector. Exceptions, interrupts, and IRET instructions are permitted to switch tasks regardless.
2. Check that the TSS descriptor of the new task is marked present and has a valid limit. Errors restore any changes made in the processor
state when an attempt is made to execute the error-generating instruction. The exception handler can fix the condition which caused the
error, and restart the task. The intervention of the exception handler can be completely transparent to the application program.
3. Save the state of the current task. The processor finds the base address of the current TSS in the task register. The processor registers are
copied into the current TSS (... .., and EFLAGS registers, and the instruction pointer).
4. Load the TR register with the selector to the new task's TSS descriptor, set the new task's Busy bit, and set the TS bit in the CR0 register.
5. Load the new task's state from its TSS and continue execution. The registers loaded are the LDTR; PDBR (CR3); the EFLAGS register; the
general registers EIP, EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI; and the segment registers ES, CS, SS, DS, FS, and GS.
26.
1.

2.

Sa se prezinte protectiile oferite de procesorul Intel Pentium


When a selector for a descriptor is loaded into a segment register. Certain segment registers can contain only certain descriptor types;
for example:
The CS register only can be loaded with a selector for an executable segment.
Selectors of executable [code] segments which are not readable cannot be loaded into data-segment registers [DS, ES, FS, GS].
Only selectors of a writable data segment can be loaded into the SS register.
Certain segments can be used by instructions only in certain predefined ways; for example:
No instruction may write into an executable [code] segment.
No instruction may write into a data segment if the writable bit is set.
No instruction may read an executable [code] segment unless the readable bit is not set.

If any of these rules are violated by an application, a general protection fault (interrupt 13) will occur.
Limit Checking: The concept of limit checking is very simple. Limit checking prevents a program from accesses outside the bounds of a
segment. Limit checking is automatically performed by the processor every time a memory reference is made to either a code or data segment. If
a segment is defined to be 22- bytes long, an application should not be allowed to use that segment to access data above base+21h, precisely
what limit checking prevents. If you noticed the limit part of the descriptor is only 20-bits (1 MB worth) and segments can be up to 4GB in size.
This is where the descriptors granularity (G) bit comes into play. If the G-bit = 0 the limit is checked to the byte, making the maximum size of a
segment 1MB. If the G-bit = 1, limit checking is performed with a granularity of 4KB (4KB*1MB = 4GB), thus allowing segments up to 4GB in
size.
Privilege Levels: The Intel Architecture provides a way of controlling what types of applications that have access to; system objects, segments,
and memory or I/O mapped hardware. This is done in the protection mechanism by having up to four different privilege levels, numbered 0 to 3.
A lower number implies greater privileges. There is no explicit way to turn off privilege levels, but it can be done by assigning all objects and
segments a privilege level of 0.

Three data structures contain the privilege level information:


CPL, Current Privilege Level is the least two bits of the CS register. This is the privilege level of the currently executing code.
DPL, Descriptor Privilege Level is the two bit field in a descriptor.
RPL, R equestors P rivilege L evel is the least two bits of a selector value. The RPL should represent the privilege level of code that
created the selector.
Protected Instructions: The protection mechanism prevents the execution of system sensitive instructions from privilege levels other than those
trusted by the operating system. Some instructions are limited to execution from privilege level 0 tasks only, while others are sensitive to the I/O
privilege level (IOPL).

27.

Sa se prezinte sintetic o caracteristica RISC

Caracteristici:
1) instructiunile trebuie sa fie in numar redus si sa se execute intr-un singur ceas
2) accesele la memorie sunt limitate la 2 instructiuni, botezate load si store
3) decidificarea instructiunilor este cablata si nu microprogramata
4) jocul de instructiuni trebuie sa se bazeze pe un format fix (de regula 32 de biti) cu moduri de adresare simple
5) fiecare operatie complexa trebuie sa fie rejectata la nivelul compilatorului
6) ansamblul arhitecturii trebuie sa profite la maximum de pe urma modelului pipeline
7) procesorul trebuie sa posede un numar mare de registre interne, cu sau fara tehnica de ferestre
8) procesorul trebuie sa fie adaptat adaugarii sistemelor de memorii cache si coprocesoare
9) setul de instructiuni este in general conceput pentru un domeniu de aplicatii perfect determinat
Categorii de instructiuni Pentru orice procesor RISC vom regasi
trei categorii de instructiuni indispensabile: 1) instructiuni aritmetice
si logice; 2) instructiuni de control secvential; 3) instructiuni de
acces la memorie
Formatele instructiunilor Se adopta un format fix pentru
ansamblul instructiunilor. Marimea este in general echivalenta
marimii unui cuvant de memorie, adica in majoritatea cazurilor 32
biti. Pe baza acestei marimi fixe se determina numarul exact si
compunerea formatelor instructiunilor. Majoritatea arhitecturilor
RISC sunt caracterizate printr-un mic numar de formate si moduri de
adresare (1 ... 4). Ex : procesorul SPUR are 2 formate principale de
baza (unul cu 3 instructiuni pentru codificarea instructiunilor in operatiile aritmetice si logice si unul pentru instructiunile de control).
28.

Sa se prezinte sintetic un processor RISC (VLIW) PowerPC 601


Unitatea de instructiuni: Cuprinde coada de instructiuni,
logica de iesire (dispatch) si BPU. Ea determina adresa
urmatoarei instructiuni pentru a fi citita (fetch) utilizand
fiecare din cele 3 componente si multe concepte
fundamenatle arhitecturii PowerPC: instruction prefetch,
branch prediction, out-of-order operation si branch folding.
Unitatea de intregi primeste toate instructiunile cu intregi,
load/store si anumite instructiuni in VM de la pozitia Q0 a
IQ; este cunoscuta si unitatea in VF. IU este responsabila
astfel (ca si la i486) cu executia instructiunilor load/store de
gestiune memorie, aritmetice si logice si care utilizeaza
registrele cu scop special (SPR). IU foloseste MMU si CU
pt a satisface orice acces la memoria principala cerut de
instructiuni.
Unitatea in VM FPU primeste instructiunea de la IQ.
Pentru a se asigura ca unitatea de instructiuni nu asteapta
terminarea instructiunii in VM, FPU are propria sa coada de
2 instructiuni.
Unitatea de gestiune mem suporta nu numai translatarea
adresei bazata pe segmentare si paginare dar si translatari
orientate pe blocuri.
Unitatea Cache contine un cache de 32 K cu 8 cozi setasociative unificat pentru cod si date si algoritm de inlocuire
LRU. Cache-ul furnizeaza 8 cuvinte pe magistrala interna
pentru a putea fi incarcate in unitatea de instructiuni pana la
8 intrari in IQ.
Unitatea de memorare (MU) si interfata de sistem (SIU)
Unitati functionale separate pentru interfatare cu accesele
externe la memoria principala. MU consta din buffere de
citire/scriere pe care procesorul le utilizeaza cand acceseaza
memoria principala.

29.

Sa se prezinte sintetic un sistem cu microprocesor RISC

Power Macintosh: A ceste sistem e folosesc un sasiu tip 680x0 M ac ceea ce face posibil upgrade -ul prin schimbarea placii de baza.
Ele au de asemenea un pachet de emulare care poate rula atat DOS cat si Windows. Sistemul 8100/80 are sasiu tip Quadra 800/Quadra 840 AV
cu alimentare de 200W si suport intern pentru 3 hard-drive-uri, 8 socket-uri SIM de 72 pini expandabili RA la 264 MB. Suporta un al doilea
monitor ( VRAM poate fi pana la 4 MB) permitand acum chiar si un monitor 21 inch color de 24 biti, facand sistemul ideal pentru grafica
profesioanala si prelucrari de imagine. 8100/80 suporta 2 magistrale SCSI (intern si extern). Magistrala SCSI interna utilizeaza un controller
rapid SCSI-2. pana la 10 MB/sec pe magistrala interna. slot de cache pentru L2, un SIMM pentru un SRAM sincron de 256 KB de 14 nsec.
Sistemele Power Mac au 4 MB de ROM la 100 nsec motati pe un socket SIMM ce permite acualizarea ulterioara a softului .O
magistrala de date de 64b leaga procesorul 601 de ROM, RAM, slotul cache si sloturile de expandare. Schema suporta un nivel 2 de cache de
128 KB 1 MB. Subsistemul de memorie utilizeza un ciclu (pana la 64 b sau 8 octeti) sau patru cicli (32 octeti) burst posibil pentru 601. T oate
cele trei sisteme utilizeaza DRAM de 80 nsec (care reduce costul). Deasemanea, magistrala CPU este esantionata la jumatate di n frecveata
procesorului;
P entru un throghput m are de I/O se foloseste un I/O A S IC pentru conectare E thernet serial si S C S I I/O ; pentru serial I/O sunt
furnizate doua buffere de 8b FIFO. I/O ASIC implementeaza controller SCSI-2, maxim 5 MB/sec. al doilea chip controller SCSI-2, NCR
53CF96, conectat la o magistrala SCSI interna de 50 pini. Urilizand un SCSI-2 rapid, magistrala interna poate functiona la o rata de 10MB/sec.
conector intern CDROM.
Sistemele Power Mac au de regula 2 porturi seriale GeoPort cu 9 pini compatibili cu conectorii mini-DIN-8. Oricare port poate fi
configurat pentru modem/decodificator de sunet digital pe 16b pentru sunet I/O.
Canalele DMA nu pot fi utilizate in acelasi timp, deoarece majoritatea driveurilor si aplicatiilor utilizeaza curent call-uri de I/O sincrone (se
asteapta pana cand cererea de operare I/O se termina). Daca softul este modificat sa utilizeze call-uri asincrone, conflictul de mai sus nu exista si
aplicatiile vor fi liberesa execute task-uri in timp ce apare o operatie I/O.
30.

Sa se prezinte si sa se carcaterizeze modurile de lucru ale unui processor RISC

PowerPC au 2 nivele de privilegiu:


modul supervizor: utilizat exclusiv de sistemul de operare.
modul user: utilizat de catre aplicatiile software si SO.
Exista 3 nivele sau medii de programare:
a) PowerPC User Instruction Set Architecture (UISA): defineste setul de instructiuni de baza la nivel user, registrele la nivel user,
tipuri de date, conventii de memorie, modele de memorare si programare vizate de aplicatiile program.
b) PowerPC Virtual Environment Architecture (VEA): este cea mai mica componenta a arhitecturii PowerPC ce defineste
functionalitati aditionale la nivel user care cad de regula in afara cerintelor de software user; VEA descrie modelul de memorare pentru un mediu
in care multiple procesoare sau alte dispozitive pot accesa memoria externa si defineste aspecte ale modelului cache si instructiunile de control
cache din perspectiva userului. Resursele definite de VEA sunt de mare ajutor pentru optimizarea acceselor la memorie si gest ionarea resurselor
intr-un mediu in care alte procesoare sau dispozitive pot accesa memoria externa. Implementarile conform VEA adera si la UISA dar nu este
necesar sa adere la OEA.
c) PowerPC Operating Environment Architecture (OEA): defineste resursele la nivel supervizor tipic cerute de un SO; OEA defineste
modelul de gestiune a memoriei PowerPC, registrele de nivel supervizor, cerinte de sincronizare si modelul de exceptii. Implementarile OEA
adera si la UISA si VEA. Tranzitia de la UISA sau VEA la OEA se fac via mecanisme de exceptii.
31.

Sa se prezinte resursele unui procesor RISC (VLIW) din punct de vedere al programatorului

Registre UISA si VEA: 32b sau 64b

32.

Registre cu scop general (General Purpose Registers): 32 de registre (ri) utilizate de unitatea de intregi pentru a efectua operatii
aritmetice
Registre in VM (Floating Point Registers): 32 de registre (fri) utilizate in unitatile de VM
Registrul de conditii (Condition Register): similar cu registrul EFLAGS de la x86. Are 8 campuri de 4 biti: CR0:CR7.
Registrul de control si stare VM (Floating Point Status and Control Register): inregistreaza, activeaza/dezactiveaza exceptiile generate
de operatiile in VM, controleaza modul de rotunjire.
Registrul de Exceptii Intregi (Integer Exception Register): inregistreaza, activeaza/dezactiveaza exceptiile generate de operatiile intregi
Registrul Legaturi (Link Register): furnizeaza adresa de ramificatie pt utilizare cu instructiunea bclr
Registrul Contor (Count Register): registru de contor de bucle
Registrul Baza de Timp (Time Base Register): singurul definit pentru VEA si poate fi accesat in ambele moduri (user, supervizor)
Sa se prezinte un mecanism de translatare a adreselor pentru un procesor RISC
Translatarea adreselor pe blocuri: maparea BAT este
activata doar cand translatarea adresei este acivata in MSR
(MSR[DR] = 1 si/sau MSR[IR]=1). BAT are prioritate fata de
segmentare/paginare. In translatarea BAT fiecare bloc de
memorie este definit printr-o pereche de registre
BAT(BATU,BATL). Cand procesorul recunoaste o adresa
efectiva ca fiind mapata la o ppereche de registre BAT, apare un
BAT Hit. Procesul de translatare BAT se desfasoara conform
schemei:
Bitii de validare acces din BAT realizeaza protectia memoriei.

33.

Sa se prezinte, pe baza schemei echivalente, functiile si aplicatiile unui procesor de semnal


Functii:
a) Filtrare digitala (Finite Impulse Response, Infinite Impulse
Response, corelari, transformari Hilbert)
b) Procesare de semnal (compresie, procesari homomorfice)
c) Procesare de date (criptari, codari/decodari)
d) Procesare numerica (scalara, vectoriala, matriceala)
e) Modulari (FM, AM, PM)
f) Analiza spectrala (Transformata Fourier rapida FFT, discreta
DFT, sin/cos)

Aplicatii:
a) Telecomunicatii: generare ton, teleconferinte, posta vocala, transcodare
b) Comunicatii de date: modemuri de inalta viteza si frecventa pe biti multipla, facsimile de inalta viteza
c) Radiocomunicatie: comunicatie sigura, punct la punct sau radio-emisie
d) Calculatoare: procesoare, statii de lucru, acceleratoare grafice
e) Procesare imagini: recunoastere imagini, caractere
f) Grafica: 3D, animatie
g) Video Digital: televiziune digitala, monitoare de inalta rezolutie
h) Electronica medicala: scanari, sonografe, electrocardiograme, electroencefalograme etc
34.
a)
b)
c)
d)
e)
f)
g)
h)
i)
35.

Sa se prezinte, pe baza schemei de structura, caracteristicile procesoarelor de semnal Motorola DSP56K


Viteza: destul de ridicata
Precizia: lucru pe 24b cu rezultate intermediare pe 56b
Paralelism: modulele on-chip (AGU,PCU, DALU), memoria si perifericele opereaza independent si in paralel cu celelalte unitati de
pe magistrala sistemului.
Flexibilitate: furnuzeaza interfete seriale si paralele on-chip care pot suporta configuratii variate de mem si module periferice
Depanare: tehnologia de emulare on-chip (OnCE) permite acces multiplu, ieftin si repid la registrele interne pentru depanare
Ceas bazat pe bucla blocata in faza (Phase-Locked Loop): permite utilizarea aproape oricarui sistem de ceas extern disponibil
Banda de asamblare invizibila: 3 etaje, invizibila programatorului, permite programe dezvoltate in limbaj de asamblare sau de nivel
inalt
Setul de instructiuni: asemanator unitatilor centrale Motorola
Consum scazut: poseda instructiuni de trecere in mod de lucru cu consum scazut
Sa se prezinte sintetic un procesor de semnal
Componentele centrale
sunt:
magistralele de date
magistralele de adrese
unitatea aritmetica logica
de date (ALU)
unitatea de generare adrese
(AGU)
unitatea de control program
(PCU)
expansiune memorie (Port
A)
circuite de emulare OnCE
circuite de ceas PLL.

36.

Sa se prezinte resursele unui procesor de semnal sau embedded din punct de vedere al programatorului

Registre generale de date: X0, X1, Y0, Y1 pe 24 de biti (4 intrari) sau 2 intrari de 48 de biti X si Y
Registre acumulator: A si B pe 48 de biti cu extensie de 8 biti pentru lucrul cu 56b

37.

Sa se prezinte din punct de vedere functional arhitectura VLIW


Colectie de unitati functionale (sumatoare,
multiplacatoare, anicipare de ramificatii) conectate
printr-o magistrala plus registre si memorii
intermediare.
O functie importanta a procesoarelor
VLIW esste aceea ca pot implementa vechile seturi
de intrsuctiuni CISC mai bine decat procesoarele
RISC. Aceasta pentru ca programarea procesorului
VLIW este asemanatoare cu scrierea de mocrocod,
putandu-se conserva astfel programul, utilizandu-se
instructiuni CISC complexe prin programarea de
microcod ROM pe circuitul procesor. Procesorul
RISC a eliminat microcodul in favoarea logicii
cablate mai rapide.

38.

Sa se realizeze o comparatie intre modelul masinii de stare al arhitecturii VLIW si modelele masinii de stare pentru alte
arhitecturi de procesare (SISD, SIMD, MIMD)

SISD

VLIW

MIMD
39.

Sa se enumere si sa se carcaterizeze succint tehnicile de crestere a paralelismului pentru arhitecturile VLIW

Software pipelining = distributia unei bucle pe mai multe procesoare sau unitati functionale prin atribuirea de stari independente la
procesoare/unitati functionale si apoi inlanturea continua a operatiilor
Desfasurarea buclelor = pentru bucle fara dependente de date intre iteratii, se expandeaza iteratiile unei bucle de multiple ori si se planifica
instructiunile din bucla desfasurata crescand distanta lexicala intre instructiuni cu dependente
Trace scheduling = primul proces, trace selection, incearca sa gaseasca cea mai potrivita secventa de operatii care vor fi asamblate impreuna
intr-un nr mic de instructiuni (trace); trace compaction, incearca sa comprime urma intr-un nr mic de instructiuni lungi
Percolaction scheduling = extrage operatii independente din codul programului si le asambleaza intr-o instructiune VLIW de lungime
corespunzatoare