Arhitectura Calculatoarelor Curs UTM

download Arhitectura Calculatoarelor Curs UTM

of 47

Transcript of Arhitectura Calculatoarelor Curs UTM

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    1/47

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    2/47

    Arhitectura Calculatoarelor 7surs iar cel rezultat !n urma translatrii se numete program obiect" 8peraia de translatare aprogramului surs !n program obiect este e*ecutat de un program special numit asamblor"8 instruciune !n limba' de asamblare corespunde unei instruciuni !n limba' main deosebirea dintre eleconstnd numai !n modul de reprezentare" eci fiecare instruciune !n limba' de asamblare estetranslatat !ntr-o singur instruciune !n limba' main"

    Un limba' de asamblare este specific unui calculator astfel !nct trebuie s secunoascinstruciunile i organizarea intern a acelui calculator" in acest moti s-au elaborat limba'e pentru

    programe care se pot e*ecuta pe orice calculator" Acestea sunt limba'e orientate pe probleme sau limbajede nivel nalt spre deosebire de limba'ele de asamblare care sunt limba'e orientate pe calculator saulimbaje de nivel sczut" Asemenea limba'e de niel !nalt sunt +ascal C 6%$+ +9868: etc"

    Unei instruciuni !ntr-un limba' de niel !nalt !i corespunde o succesiune de instruciuni !n limba'main" ranslatarea !n limba'ul main se poate realiza cu a'utorul unui compilator care genereaz din

    programul surs unprogram executabil acesta fiind e*ecutat dup ce !ntregul program a fost compilat"8 alt posibilitate este utilizarea unui interpretor care translateaz fiecare instruciune !n limba'ul

    de niel !nalt !ntr-o succesiune de instruciuni main acestea fiind e*ecutate imediat . ;n acest caz nu segenereaz un program e*ecutabil" lementele de bazale acestor circuite sunt porile logice fiecare poart fiind format la rndul ei dintr-un numr de

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    3/47

    Arhitectura Calculatoarelor ?tranzistoare" 8 poart logic are una sau mai multe intrri digitale (semnale reprezentnd . logic sau 1logic) i are ca ieire o funcie simpl a acestor intrri de e*emplu 5% logic $AU logic" ,ielul 1 numitnivelul de microprogram interpreteaz instruciunile nielului 7 pentru fiecare instruciune a acestuiniel e*istnd cte un microprogram"

    =iecare microprogram definete !n mod implicit un limba' de niel 7 i o main irtual" eobicei e*ist multe similariti !ntre mainile irtuale de niel 7 chiar i !n cazul calculatoarelor diferiilor

    productori" Acest niel se numete nivelul mainii convenionale(@ardware abstraction laer B @A6)"Atunci cnd se descrie setul de instruciuni al unui calculator se descrie de fapt maina irtual de niel

    7 i nu maina real de niel 1" $unt descrise deci instruciunile interpretate de ctre microprogram i nuinstruciunile e*ecutate direct prin hardware"

    e menionat c la anumite calculatoare nielul de microprogram lipsete" 6a aceste calculatoareinstruciunile mainii conenionale sunt e*ecutate direct de circuitele electronice ale nielului ." ,ielul? este de obicei un niel hibrid (anenbaum) deoarece multe din instruciunile limba'ului su sunt

    prezente !n cadrul instruciunilor nielului 7" >*ist !n plus un set de noi instruciuni o organizare diferita memoriei posibilitatea de e*ecuie a mai multor programe !n paralel i alte faciliti" ,oile facilitiadugate la nielul ? sunt realizate cu a'utorul unui interpretor numitsistem de operare iar instruciunileidentice cu cele ale nielului 7 sunt e*ecutate direct prin microprogram" ,ielul ? este numit nivelul

    sistemului de operare" Un sistem de operare reprezint un ansamblu de programe care asigur e*ploatareaoptim a resurselor hardware i software ale unui sistem de calcul"

    $istemele de operare au fost create pentru simplificarea actiitii de programare utilizarea optima posibilitilor de lucru ale echipamentelor i reducerea intereniei utilizatorilor !n cursul e*ecuiei

    programelor" ,ielele .-? nu sunt destinate utilizrii directe de ctre programatorii obinuii ci pentrurularea translatoarelor i interpretoarelor scrise de programatorii de sistem" ,ielul 4 i nielelesuperioare sunt destinate programatorilor de aplicaii"

    ,ielul 4 este nivelul limbajului de asamblare" +rogramele scrise !n limba' de asamblare sunttranslatate !n limba'ul nielului 1 7 sau ? i apoi interpretate de ctre maina irtual corespunztoare"

    ,ielul D const din limba'ele destinate programatorilor de aplicaie fiind numit nivelul limbajelor denivel nalt" +rogramele scrise !n aceste limba'e sunt translatate !n limba'ele nielului ? sau 4 cu a'utorulcompilatoarelor sau interpretoarelor" ,ielul 3 reprezint nivelul aplicaiilor" Const din colecii de

    programe destinate unor domenii specializate de e*emplu pentru administraie economie proiectareasistat de calculator grafic etc"=iecare niel reprezint o abstractizare distinct cu diferite obiecte i operaii" $etul tipurilor de

    date a operaiilor i facilitilor fiecrui niel reprezint arhitectura nielului respecti" Arhitecturatrateaz acele aspecte care sunt izibile utilizatorului nielului respecti ca de e*emplu dimensiuneamemoriei disponibile" Aspectele de implementare ca de e*emplu tehnologia utilizat pentruimplementarea memoriei nu fac parte din arhitectur" Arhitectura calculatorului reprezint studiul

    proiectrii acelor pri ale unui sistem de calcul care sunt izibile pentru programatori"

    2Arhitectura Intel8086.

    2.1 No iuni generale. Modelul program.

    ;n Assembler calculatorul este zut la nielul hardware# adrese fizice de memorie registre!ntreruperi etc" $unt necesare unele noiuni pregtitoare"Unitatea de baz a informaiei memorate !n calculator este bitul. Un bit reprezint o cifr binar (de aicii numele care e o prescurtare de la binar digit) deci poate aea alorile . sau 1" Eodelul hardwarecorespunztor este acela de bitabil. Un bistabil este deci un circuit electronic cu dou stri stabilecodificate . i 1 capabil s memoreze un bit de informaie"

    Un grup de bistabili formeaz un regitru. e e*emplu 2 bistabili formeaz un registru de 2 bii"%nformaia care se poate memora !ntr-un asemenea registru poate fi codificat !n binar de la aloarea........ (toi biii egali cu .) pn la aloarea 11111111 (toi biii egali cu 1)" >ste uor de zut cnumrul combinaiilor care pot fi memorate este 7D3 (7 la puterea a 2-a)" ;n general un registru de n bii

    a putea memora 7n combinaii distincte" Aceste combinaii se numesc octe!i sau b"te (dac n F 2)respecti cu#inte (dac n F 13 ?7 etc)"

    Eemoria unui calculator este zut ca o succesiune de octei" =iecare octet are asociat o adresde memorie" +entru a putea adresa memoria e neoie de un registru de adrese a crui lungime determindimensiunea ma*im a memoriei" ac aem un regsitru de adrese de 2 bii atunci om putea adresa 7 2

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    4/47

    Arhitectura Calculatoarelor 4octei de memorie" +rocesorul 2.23 are un registru de adrese de 7. de bii deci poate adresa 77.octei dememorie (sau 1 megaoctet de memorie)" Arhitectura procesorului 2.23 din punctul de edere al

    programului utilizator este ilustrat schematic !n figura 7"1" $unt figurate registrele accesibile prinprogram"

    =igura 7"1 - 9egistrele procesorului 2.23

    oate registrele sunt de 13 bii" 8 serie de registre (AG HG CG G) sunt disponibile i la niel de octetprile mai semnificatie fiind A@ H@ C@ i @ iar cele mai puin semnificatie A6 H6 C6 i 6"enumirile registrelor sunt#

    AG - registru acumulator

    HG - registru de baz general CG - registru contor G - registru de date H+ - registru de baz pentru sti (base pointer) $+ - registru indicator de sti (stacI pointer) $% - registru inde* surs % - registru inde* destinaie

    9egistrul notat =6A:$ cuprinde flagurile procesorului sau bistabililor de condiie iar registrul %+(instruction pointer) este registrul de instruc iuni"

    enumirile registrelor de segment sunt# C$ - registru de segment de cod (code segment) $ - registru de segment de date (data segment) $$ - registru de segment de sti (stacI segment) >$ - registru de segment de date suplimentar (e*tra segment)

    $e obser c denumirile registrelor de segment corespund zonelor principale ale unui programe*ecutabil" Astfel perechea de registre (C$#%+) a indica totdeauna adresa urmtoarei instruciuni care sea e*ecuta iar perechea ($$#$+) indic totdeauna adresa rfului stiei" 9egistrele $ i >$ sunt folosite

    pentru a accesa date"9egistrul de flaguri (bistabili de condiie) al procesorului 2.23 are configuraia din =igura 7"7" 8

    serie de flaguri sunt flaguri de stare# acestea sunt poziionate la . sau la 1 ca urmare a unor operaiiaritmetice sau logice" Celelalte flaguri controleaz anumite operaii ale procesorului"

    $emnificaia flagurilor este urmtoarea# C= (Carr =lag bistabil de transport) - semnific un transport sau un !mprumut dinJ!n bitul cel maisemnificati al rezultatului de e*emplu la operaii de adunare sau de scdere"

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    5/47

    Arhitectura Calculatoarelor D

    =igura 7"7 - 9egistrul de flaguri al procesorului 2.23

    += (+arit =lag flag de paritate) - este poziionat !n aa fel !nct numrul de bii egali cu 1 din

    octetul cel mai puin semnificati al rezultatului !mpreun cu flagul += s fie impar& altfel formulatsuma modulo 7 (G89) a tuturor biilor din octetul c"m"p"s" i a lui += s fie 1" A= (Au*iliarr Carr =lag bistabil de transport au*iliar) - indic un transport sau un !mprumutdinJ!n bitul 4 al rezultatului" K= (Kero =lag bistabil de zero) - este poziionat la 1 dac rezultatul operaiei este ." $= ($ign =lag bistabil de semn) - este poziionat la 1 dac b"c"m"s" al rezultatului (bitul de semn)este 1" 8= (8erflow =lag bistabil de depire) - este poziionat la 1 dac operaia a condus la o depirede domeniu a rezultatului (la operaii cu sau fr semn)" = (rap =lag bistabil de urmrire) - dac este poziionat la 1 se foreaz o !ntrerupere pe unniel predefinit la e*ecuia fiecrei instruciuni& acest fapt este util !n programele de depanare !n careeste posibil rularea pas cu pas a unui program" %= (%nterrupt =lag bistabil de !ntreruperi) - dac este poziionat la 1 procesorul ia !n consideraie!ntreruperile hardware e*terne& altfel acestea sunt ignorate" = (irection =lag bistabil de direcie) - precizeaz sensul (cresctor sau descresctor) de ariaiea adreselor la operaiile cu iruri de octei sau de cuinte"

    =lagurile C= += A= K= $= i 8= sunt numite flaguri de stare (aritmetice)" =lagurile = %= i = suntnumite flaguri de control"

    +rocesorul 2.23 dispune de adrese pe 7. de bii fiind capabil s adreseze 1 megaoctet de memorie(77.)" $e pune problema cum se formeaz adresa fizic pe 7. de bii (deci pe D cifre he*a) deoarece toateregistrele procesorului sunt de 13 bii putnd codifica adrese !n domeniul ....""".====@ (pe 4 cifre

    he*a) deci !ntr-un spaiu de ma*im 34 L8"Eemoria unui sistem cu procesor 2.23 este diizat !n segmente" Un segment este o zoncontinu de memorie de lungime ma*im de 34 L8 care !ncepe la o adres fizic multiplu de 4" Acestfapt !nseamn c ultima cifr he*a a adresei de !nceput a unui segment este totdeauna ." Ca atare aceastcifr se poate omite i adresa de segment se poate reprezenta tot pe 13 bii" Adresele de !nceput alesegmentelor se or gsi !ntotdeauna !ntr-unui din cele 4 registre de segment"Adresarea !n interiorul unui segment se realizeaz printr-un deplasament (offset) relati la !nceputulsegmentului" eoarece un segment nu poate depi 34 L8 deplasamentul se poate memora tot pe 13 bii"eplasamentul poate fi o constant sau con inutul unui registru care permite adresarea memoriei"

    ;n concluzie pentru adresarea unui octet de memorie se folosesc dou entiti pe 13 bii# o adresde segment (coninut obligatoriu !ntr-un registru de segment) i un deplasament" eoarece ambele

    entiti sunt pe 13 bii se orbete de adrese (sau pointeri) de ?7 de bii dei adresa fizic este doar pe 7.de bii"

    =ormarea adresei fizice (pe 7. de bii) este realizat automat (prin hardware) de ctre ocomponent a procesorului conform =igurii 7"?"

    Concret adresa fizic se obine prin deplasarea adresei de segment cu 4 bii la stnga i prinadunarea deplasamentului" +entru specificarea unei adrese complete (de ?7 de bii) se folosete notaia(segment#offset) sau (registruMsegment#offset)" e e*emplu putem specifica o adres prin (12A?#DH7N)sau prin ($#DH7N)"

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    6/47

    Arhitectura Calculatoarelor 3

    =igura 7"? - =ormarea adresei fizice

    rebuie remarcat faptul c asocierea (segment#offset) - adres fizic nu este biunioc deoarece la oaceeai adres fizic pot s corespund mai multe perechi (segment#offset)" e e*emplu perechile(12A?#DH7N) i (12A7#DH?N) reprezint aceeai adres fizic" !n situaia !n care deplasamentul este redusla minim adic !n domeniul ."""= corespondena deine biunioc"8 adres complet de ?7 de bii este memorat cu offsetul la adrese mici i cu adresa de segment la adresemari" Adresele complete se pot obine cu directia (efine ouble-Oord)"

    2.2 $efinirea egmentelor. %tructura programelor

    $egmentele logice con in cele trei componente ale unui program# cod date si sti" Eodul in carepot fi specificate segmentele sunt#

    definirea simplificata& definirea completa a segmentelor"

    Definirea simplificat a segmentelorefinirea simplificata ascunde multe detalii ale definirii segmentelor si utilizeaz acelea i conen ii

    implementate de Eicrosoft in limba'ele de niel !nalt"+entru a scrie un program A$E !ntr-o form simpl se folosesc directiele simplificate de

    definire a segmentelor" Acestea sunt# .model mall(precizeaz un model de memorie) .code(definire de segment de cod)

    .tac& n(definire de segment de sti) .data(definire de segment de date) end etichet(sfrit logic al programului);n principiu segmentul de cod a cuprinde programul e*ecutabil (instruciuni) iar segmentul de date

    a cuprinde date definite de utilizator" $egmentul de sti nu este folosit e*plicit" Comentariile se scriufolosind simbolul '" Ceea ce urmeaz dup 'pn la sfritul liniei curente este considerat comentariu"Utiliznd directie simplificate de segmentare e*cluznd abuzul de limba' aa-zisul stil A$E structuraeste#

    "E8>6 small"$ACL D17

    "AA

    definirea datelor

    "C8>

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    7/47

    Arhitectura Calculatoarelor N

    declarare i definire proceduri

    start# mo a*Pdatamo dsa*

    program principal

    end start

    irectia .tac& aloc o zon and lungimea n (.tac& n) zon fiind definit ca sti (e*# "stacI7..h a aloca un segment de lungime D17 octe i)" irectia rezer (nu si ini ializeaz) zona dedicat stiei" Ac iunea de ini ializare este op ional" +utem scrie si "stacI D17"

    irectia .codeprecede segmentul de program" ;ncrcarea acestui segment este realizata automat dectre 8$" %n schimb registrul d a trebui !ncrcat de ctre programator"

    $imbolul *data a primi adresa segmentului de date abia dup momentul editrii legturilor" atepot e*ista si in cadrul segmentului de cod" 9egistrele de segment nu sunt niciodat !ncrcate cu aloriabsolute" $e las in seama sistemului de operare sarcina amplasrii in memorie a segmentelor" 8rdineaeste asigurata tot de ctre componentele sistemului de operare"

    irectia .model definete modul de dispunere in memoria 9AE a segmentelor care alctuiesc unprogram" $istemul 8$ admite 3 modele" $istemul 8$J7 mai admite si modelele +,AR- si/RA$"

    Modele de memoriepot fi tin small medium large sau huge" $emnificaia acestor tipuri este# tin"- toate segmentele (date cod sti) se pot genera !ntr-un spaiu de 34L8 i formeaz un singur

    grup de segmente" $e folosete la programele de tip C8E" oate salturile apelurile i definiiile deproceduri sunt implicit de tip ,>A9" Adresarea simbolurilor situate la distanta (=A9) spre deosebirede cele situate in apropiere (,>A9) a dura mai multe cicluri main deoarece este orba de!ncrcarea celor 7 componente segment si respecti deplasament"

    mall- datele i stia sunt grupate !ntr-un singur segment iar codul !n alt segment" =iecare din acestea

    nu trebuie s depeasc 34L8" oate salturile apelurile i definiiile de proceduri sunt implicit de tip,>A9&

    medium- datele i stia sunt grupate !ntr-un singur segment (cel mult egal cu 34L8) dar codul poatefi !n mai multe segmente separate (nu se grupeaz) deci poate depi 34L8" $alturile i apelurile suntimplicit tip =A9 iar definiiile de proceduri sunt implicit de tip far"

    compact- codul generat ocup cel mult 34L8 (se grupeaz) dar datele i stia sunt !n segmenteseparate (pot depi 34L8)" Apelurile i salturile sunt implicit de tip ,>A9" $e utilizeaz adresecomplete (segment i offset) atunci cnd se acceseaz date definite !n alte segmente"

    large- att datele ct i codul generat pot depi 34L8" huge- este asemntor modelului large dar structurile de date pot depi 34L8& se utilizeaz adrese

    complete normalizate !n care offsetul este redus la minim (!n domeniul . - 1D) ceea ce face ca oadres fizic s fie descris de o unic pereche (segment offset)"

    Definirea complet a segmentelor

    efinirea completa a segmentelor utilizeaz sinta*a#numeMsegment $>:E>,QQQnumeMsegment >,$

    ac !n modulul de program codul datele si stia nu dep esc fiecare !n parte 34Iocte i atunci

    structura general a unui modul de program cu ? segmente logice (de cod (program) date i sti) este#

    $egment $$>: $>:E>,$ti

    O 1.. U+()

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    8/47

    Arhitectura Calculatoarelor 2$$>: >,$

    $egment $>: $>:E>,de date

    definirea datelor

    $>: >,$

    $egment C$>: $>:E>,de cod A$$UE> cs#C$>:ds#$>:ss#$$>:es#$>:

    declarare i definire proceduri

    start# mo a*$>: & iniializarea registrelor segment se face numai inmo dsa* & modulul principalmo esa* & dses $>:

    programul principal

    C$>: >,$ & sfritul modulului>, start & adresa tart se include numai in modulul principal

    irectia A$$UE> realizeaz o cone*iune simbolic (logic) !ntre definirea instruciunilor idatelor !n segmente logice (cuprinse !ntre $>:E>, i >,$) la momentul asamblrii i accesul lae*ecuie la instruciuni i date prin registrele de segment"

    >tichetele sunt nume simbolice de adrese ce identific instruc iunile" >tichetele pot fi referite !nalte instruc iuni pentru e*ecutarea salturilor !n program" ac referirile la o etichet sunt fcute !n cadrul

    segmentului !n care ea este definit atunci se spune ca ea are atributul NAR .+entru declararea etichetelor in segmentul de program (etichete adree de intruc!iuni) se utilizeazoperatorul (e*# $A9#)

    irectia >, marcheaz sfritul logic al unui modul de program i e obligatorie !n toatemodulele" ot ce se gsete !n fiierul surs dup aceast directi este ignorat la asamblare" =ormageneral este#

    >, /punctMdeMstart0!n care punctMdeMstart este o etichet sau un nume de procedur care marcheaz punctul !n care se a dacontrolul dup !ncrcarea programului !n memorie"

    2. /ipuri de date

    BitulCel mai mic element de memorare a unei informa ii este bitul !n care se poate memora o cifra

    binara . sau 1"e obicei informa ia de prelucrat se reprezint pe segmente contigue de bi i denumite tetrade

    octe i cuinte dublu cuinte Ruadwords si tenbtes"

    Tetradaetrada este o secen de 4 bi i numerota i .17? de la dreapta la stnga bitul . fiind cel mai

    puin semnificati iar bitul ? cel mai semnificati#

    1 . 1 1 ? 7 1 .

    Octetul (Byte)8ctetul sau bte este un element de numerotare ce cuprinde o secena de 2 bii" 8ctetul este unul

    dintre cele mai importante elemente (celule ) de memorare adresabile" Cei 2 bii ai unui octet suntnumerotai cu .17"""N de la dreapta la stnga#

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    9/47

    Arhitectura Calculatoarelor S

    . 1 1 1 . 1 . 1 N 3 D 4 ? 7 1 .

    8ctetul este format din 7 tetrade tetrad inferioara (din dreapta) conine biii . 1 7 ? iar ceasuperioara (din stnga) conine biii 4 D 3 N ai octetului"

    Cuvntul(Word)Cuntul este o secena de 7 octei respecti 13 bii numerotai de la dreapta spre stnga astfel

    . 1 7 """"""14 1D" Hitul cel mai semnificati este bitul 1D" +rimul octet(inferior) din cunt conine biii .1 7 ? 4 D 3 N iar al doilea octet(superior) biii N 2 S 1. 11 17 1? 14 1D"

    1 1 1 . . . . 1 1 . . 1 1 . . 1 1D 14 1? 17 11 1. S 2 N 3 D 4 ? 7 1 .

    Cuntul poate fi reprezentat printr-un registru de 13 bii sau !n doi octei de memorie" %nmemorie octetul inferior (biii .-N) este memorat la adresa mai mic iar octetul superior (biii 2-1D) laadresa cea mai mare"

    e e*emplu cuntul 4D3Nh se reprezint intr-un registru de 13 bii sub forma 4D3Nh iar !nmemorie la adresa 1... sub forma 3N4D (octetul 3N la adresa 1... iar octetul 4D la adresa 1..1)"

    Dublu cuvnt (Double Word)8 succesiune de 7 cuinte (4 octei ?7 bi i) reprezint un dublu cunt" Cei ?7 de bii ai unuidublu cunt sunt numerota i de la dreapta la stnga prin . 1 7 """"""?. ?1" Hitul cel mai semnificatieste bitul ?1 octetul cel mai pu in semnificati con ine bi ii .-N iar cel mai semnificati octet (octetul 4) con ine bi ii 7?-?1"

    Un dublu cunt poate fi reprezentat !ntr-un registru de ?7 bi i sau pe 4 octe i consecutii de memorie" %n memorie octetul 1-cel mai pu in semnificati este memorat la adresa cea mai mica iaroctetul 4-cel mai semnificati la adresa cea mai mare"

    e e*emplu dublul cunt 17 ?4 D3 N2h aflat la adresa 7... a fi memorat astfel N2 D3 ?4 17 cuoctetul N2h la adresa 7... iar octetul 17h la adresa 7..?"

    QuadordTuadword (Rword) este format din 7 dublu cuinte(4 cuinte respecti 2 octei succesii de

    memorie)" Cei 34 bii ai unui Rword sunt numerota i de la dreapta la stnga astfel# . 1 7 """"""37 3?" Hitulcel mai semnificati este bitul 3?" %n memorie octetul 1 se reprezint la adresa cea mai mica iar octetul 2la adresa cea mai mare"

    Tenbyte (!" octe i)8 succesiune de 1. octe i formeaz un tenbte (tb)" Cei 2. de bi i ai elementului sunt numerota i

    de la dreapta la stnga cu . 1 7""""""N2 NS" %n memorie octetul cel mai pu in semnificati (bi ii .-N) se reprezint la adresa cea mai mica iar octetul 1. ( bi ii N?-2.) la adresa cea mai mare"

    2.3 $efinirea datelor;n limba'ele de asamblare 2.*23 se poate opera cu anumite tipuri de date recunoscute de

    procesor acesta dispunnd de directie (pseudoinstructiuni) specifice pentru definirea lor"

    a) 4"te (octet).Acest tip de date ocupa 2 bi i adic un octet(bte)" %nformaia dintr-un octet poate fi# un ntreg

    fr semncuprins intre . si 77D un ntreg cu semn cuprins intre B172 si 17N sau un caracter A$C%%"efinirea datelor de tip bte se face cu a'utorul directiei H(Define !te) care are sinta*a#

    5#ariabila $4 lita 7 epreiiunde-ariabila opional este un identificator asociat adresei efectie a primului octet de memorie

    generat corespunztor primei e*presii din lista de e*presii-lista-e*presii cuprinde e*presii constante(calculabile in momentul asamblrii) si separate prin

    irgula" =ie directiele#

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    10/47

    Arhitectura Calculatoarelor 1.alfa H 3D N7h NDo 11.11b 11h77h .ach

    H -3D VaV VabcV%n memorie !ncepnd de la adresa simbolica alfa se a genera secena de octe i reprezentata in

    he*azecimal #

    41 N7 ?d 1b ?? ac bf 31 31 37 3? alfa . 1 7 ? 4

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    11/47

    Arhitectura Calculatoarelor 11$ecena de directie #gama 17?4D3N2h 1 -1

    1". -1". gama

    presupunnd c memorarea se face de la adresa 4D17#?43N a conduce la generarea urmtoarei secenede octe i#

    N2 D3 ?4 17 .1 .. .. .. ff ff ff ff .. .. 2. ?f gama 4 2 17 13

    .. .. 2. bf 3N ?4 17 4D gama13 7.Constanta reala -1". se asambleaz la adresa gama 13"

    d)

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    12/47

    Arhitectura Calculatoarelor 17-NSSSS SSSSS SSSSS SSSSS

    iNSSSS SSSSS SSSSS SSSSS

    cifra cea mai semnificati fiind reprezentat doar pe ? bi i"irectia#tb $/ 3>6?123>6?8@0123>6 B3>6?123>6?8@0123>6

    a conduce la generarea urmtoarei secene de octe i#D3 ?4 17 S. N2 D3 ?4 17 3N 4D D3 ?4 17 S. N2 D3 ?4 17 3N cDtb 1.

    2.> %etul de intruc!iuni 8086

    ;n cadrul acestui capitol sunt prezentate !n detaliu instruciunile de baz ale familiei de procesoare%ntel" Acolo unde este cazul se specific tipurile interzise de adresare"

    $etul de instruciuni este grupat !n 3 clase# intruc!iuni de tranfer care deplaseaz date !ntre memorie sau porturi de intrareJieire i registrele

    procesorului fr a e*ecuta nici un fel de prelucrare a datelor& intruc!iuni aritmetice Ci logice care prelucreaz date !n format numeric&

    intruc!iuni pentru Ciruri specifice operaiilor cu date alfanumerice& intruc!iuni pentru controlul programului care !n esen se reduc la salturi l la apeluri de

    proceduri& intruc!iunispecificeDntreruperilor hard Ci oft& intruc!iunipentrucontrolul proceorului"

    Aceast !mprire este realizat dup criterii funcionale" e e*emplu instruciunile +U$@ i +8+sunt considerate ca instruciuni de transfer dei ia prima edere ar putea fi considerate instruciunispecifice procedurilor" Acelai lucru despre instruciunile %, i 8U care interfaeaz procesorul culumea e*terioar# ele sunt considerate instruciuni de transfer dei ar putea fi considerate instruciuni deintrareJieire" %ntrrile i ieirile sunt !ns cazuri particulare de transfer"

    =iecare categorie de instruciuni este !nsoit de specificarea e*plicit a indicatorilor de condiie caresunt modificai !n urma e*ecuiei"

    2.>.1 Intruc!iuni pentru tranferuri de date intruc!iuni Dn aritmetica binara i Dnaritmetica 4E$. No iuni teoretice%nstruciunile de transfer permit copierea unui octet sau cunt de la sursa la destinaie" estinaia

    poate fi un registru locaie de memorie sau un port de ieire iar sursa poate fi un registru o locaie dememorie constante sau port de intrare" Ca regula general destinaia i sursa nu pot fi ambele locaii dememorie" ;n specificarea sursei i destinaiei se or folosi notaiile#

    segment# offset pentru adrese fizice& (*) paranteze rotunde pentru a desemna Wconinutul lui *X"

    8H$" %nstruciunea de transfer nu modifica indicatorii de condiie (flagurile) cu e*cepia instruciunilor$A@= i +8+="

    #nstruc$iuni de transfera) Intruc!iunea M:F (Mo#e $ata).

    =orma general a instruciunii Eo este#mov dest' sursa ( (dest) (sursa)

    realizeaz transferul informaiei de la adresa efectia data desursa la dest.>*emplu#

    mo a* alfa& transfera coninutul adresei alfa !n a*mo b* offset alfa& transfera adresa efectia alfa !n b*mo al NDh& transfera NDh !n almo c* /1..0& transfera coninutul adresei 1.. !n c*mo /di0 b*& transfera coninutul lui b* la adresa coninuta !n dimo bte ptr alfa /b*0& pune coninutul octetului de la adresa&dat de b* la adresa alfa

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    13/47

    Arhitectura Calculatoarelor 1?

    b) Intruc!iunea +E- ( change $ata )%nterschimb sursa cu destinaia" =orma general#

    )*+, dest' sursa

    9estricii# registrele de segment nu pot aprea ca operanzi& cel puin un operand trebuie sa fie un registru general">*emple#

    *chg al ah*chg alfa a**chg sir /si0 b**chg cs# /b*0/si0 a*

    %nterschimbarea coninutului a doi operanzi din memorie op1 i op7 se poate face prin secena deinstruciuni#

    mo reg op1*chg reg op7mo op7 reg

    c) Intruc!iunea +,A/ (/ranlate)=orma general#G6A

    %nstruciunea nu are operanzi semnificaia fiind#(al)ds# ((b*)(al))

    adic se transfera !n alconinutul octetului de la adresa efectia # -bx/-al.%nstruciunea se folose te la conersia unor tipuri de date folosind tabele de conersie adresa

    acestor tabele se introduce !n bx iar !n al se introduce poziia elementului din tabel" e e*emplu#conersia unei alori numerice cuprins intre . i 1D !n cifrele he*azecimale corespunztoare se poateface prin#

    tabel H V.17?4D3N2SabcdefVV

    " " " " " " " " " "lea b* tabelmo al11*lat

    ;n al se a depune cifra he*azecimala b"

    d) Intruc!iunea IN (Input $ata)>*ecut o citire de la portul de intrare specificat 2 sau 13 bii dup cum se specifica registrul al

    sau a* sau alte registre generale pentru noile procesoare"=orma general#IN dest portunde#

    desteste registrul al sau a* (noile procesoare accept i alte registre !n locul lui al respecti a*)&

    port este o constant cuprins intre . i 7DD sau registrul d*"

    e) Intruc!iunea :=/ (:utput $ata)>*ecut o scriere la portul de iesire specificat de 2 sau 13 bii dup cum se specific registrul al

    sau a*"=orma general #

    :=/ dest portunde#

    destinaieeste registrul al sau a*& porteste o constant cuprins intre . i 7DD sau registrul d*"

    f) Intruc!iunea ,A (,oad ffecti#e Addre)Are ca efect !ncarcrea adresei efectie (offsetul) intr-un registru general"

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    14/47

    Arhitectura Calculatoarelor 14=orma general# ,A reg sursa

    unde# sursa- este un operand aflat !n memorie specificat printr-un mod de adresare & reg - este un registru general">*emplu#

    lea b* alfalea si alfa /b*0/si0

    Acelai efect se obine folosind operandul 8==$> !n %nstruciunea E8

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    15/47

    Arhitectura Calculatoarelor 1D%ndicatorii afectai sunt# A= C= += $= K= i 8=>*emple#

    add a* Dadd bl Dadd a* b*add word ptr /b*0 NDadd alfa a*add alfa D

    add bte ptr /si0 NDadd bte ptr alfa ND

    b) Intruc!iunea A$E (Add ith Earr")=orma general#

    A$E dest sursa & (dest) (dest) (sursa) (C=)Unde dest i sursaau aceeasi semnificaie ca la instruciunea A iar C= este Carr =lag"%nstruciunea adun coninutul destcu coninutulsursei i cu bitul de transport C=" %ndicatorii afectai suntaceeai de la instruciunea A"

    8peraia AC se folose te la adunri de operanzi pe mai multe cuinte operaie !n care poate

    aprea transport de care trebuie sa se in seama"0xemplu.$ se adune doua numere op1 op7 !n dubla precizie (pe 7 cuinte)"op1 dd 17?4D3N2hop7 dd .abcdefghrez dd

    """""""""""""""""""""""""""""""""""mo a* word ptr op1add a* word ptr op7mo word ptr rez a*mo a* word ptr op17adc a* word ptr op77& se considera eentualul transport

    mo word ptr rez7 a*

    c) Intruc!iunea %=4 (%ubtrat)=orma general#

    %=4 dest sursa & (dest) (dest) B (sursa)unde dest i sursaau aceeai semnificaie ca la instruciunea A" %ndicatorii afectai sunt cei specificaila A"

    d) Intruc!iunea %44 (%ubtrat ith 4orro)=orma general#

    %44 dest sursa & (det) (dest) B (sursa) B (C=)unde semnifica ia dest sursa i C= sunt cele prezentate la AC" %nstruciunea $HH ia !n considerareeentualul !mprumut" >*emplu#

    8p1 dd 17?4D3N2h8p7 dd .abcdefghS.h9ez dd " " " " " " " " " " " " "mo a* word ptr op1sub a* word ptr op7mo word ptr rez a*mo a* word ptr op1 7

    sbb a* word ptr op7 7 & se considera eentualul !mprumutmo word ptr rez 7 a*

    e) Intruc!iunea INE (Increment)=orma general#

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    16/47

    Arhitectura Calculatoarelor 13

    INE dest & (dest) (dest) 1unde desteste un registru general un operand din memorie de tip octet sau cunt" $emnifica ia fiindoperandul desteste incrementat cu unu" %ndicatorii afectai sunt A= += $= K= 8=">*emple#

    inc alfainc bl

    inc word ptr /b*0 /si0

    f) Intruc!iunea $E (decrement)=orma general#

    $E dest & (dest) (dest) B 1unde dest are aceeai semnificaie ca destde la %nstruciunea %,C" Aceeai indicatori ca la %,C suntafectai"

    g) Intruc!iunea N- (Negate)=orma general#

    N- dest # (dest) . B (dest) schimbare de semn

    unde dest este un operand pe 2 sau 13 bii ce poate fi un registru general sau o locaie de memorie"%nstruciunea afecteaz indicatorii A= C= += $= 8= i K=">*emplu#

    alfa db ND" " " " " " " " " " " " mo al alfa neg al mo alfa al & la adresa alfa aem - NDsau neg alfa

    h) Intruc!iunea EMK (Eompare)=orma general#

    EMK dest sursa & (dest) B (sursa)%nstruciunea realizeaz o operaie de scdere intre cei doi operanzi fr a modifica operandul

    dest sausursa cu poziionarea indicatorilor de condiie" %ndicatorii afectai sunt# A= C= += $= K= i 8="Aceasta instruciune se folose te !mpreuna cu instruciunea de salt condiionat">*emple#

    cmp a* alfa/b*0/si0cmp /si0 .

    i) Intruc!iunea E49 (Eon#ert 4"te to 9ord)

    Are ca efect e*tinderea bitului de semn (A6N) din A6 la !ntreg registru A@ adic#daca bitul de semn A6NF . atunci (ah) ..haltfel (ah) .ffh"

    %nstruciunea nu are operanzi i nu afecteaz indicatorii de condiie"0xemplu.$e cere s se adune un numr !ntreg cu semn reprezentat pe octet cu un numr !ntreg cu semnpe cunt"

    a db -NDb dw -122c dw " " " " " " " " "

    mo al acbw & conertete octetul la cuntadd a* bmo c a*" " " " " " " " " "

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    17/47

    Arhitectura Calculatoarelor 1N

    J) Intruc!iunea E9$ (Eon#ert 9ord to $ouble 9ord)Are ca efect e*tinderea bitului de semn din AG (AG1D) la !ntreg registrul G obinndu-se astfel AG pe?7 de bii adic#

    daca (AG1D) F . atunci (d*) ....haltfel (d*) .ffffh"

    %nstruciunea nu are operanzi i nu afecteaz indicatorii de condiie"0xemplu.$e cere diferena dintre un operand reprezentat pe 7 cuinte (8) i unul reprezentat pe cunt($8)

    do dd 17?4D3N2hso dw .abcdhrez dd " " " " " " " " " " " " " " " "mo a* socwd a* & operandul so reprezentat !n G # AGmo b* a* & saleaz a* !n b*mo a* word ptr do

    sub a* b*mo word ptr rez a*mo a* word ptr do 7sbb a* d* & ia !n considerare eentualul transportmo word ptr rez 7

    &) Intruc!iunea M=, (Multipl")=orma general#

    M=, sursaundesursapoate fi un registru sau o locaie de memorie de 2 sau 13 bii" 9ezultatul se obine pe un numrdublu de bii (13 sau ?7)" 8peraia realizat este produsul intre acumulator i sursa cu depunerea

    rezultatului !n acumulatorul e*tins (a* pe octet sau d*#a* pe cunt)" Cei doi operanzi se considernumere fr semn"acsursaeste pe octet aem#

    (AG) (A6) Y (sursa)iar dac sursa este pe cunt aem#

    (G # AG) (AG )Y (sursa)Afecteaz indicatorii C= i 8= ceilali sunt nedefinii" >*emplu"

    a db 1.hb dw 1..hc dw d dd

    """""""""""""""""""""""""""""""""""""""""""""""""""""""""mo al 7.hmul a & (a*)(al)Yamo c a*& depune rezultatul pe cuntmo a* 1.hmul b & (d*#a*) (a*)Ybmo word ptr d a*& depune rezultatul pe dublu cuntmo word ptr d7 d*

    """""""""""""""""""""""""""""""""""""""""""""""""""""""""

    l) Intruc!iunea IM=, (Integer Multipl")=orma general#IM=, sursa

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    18/47

    Arhitectura Calculatoarelor 12%nstruciunea este similara cu EU6 deosebirea constnd !n faptul ca cei doi operanzi se considernumere cu semn" Afecteaz indicatorii C= i 8= restul sunt nedefinii"

    0xemplu1

    alfa db B S?beta dw 14?rez dd

    """""""""""""""""""""""""""""""""""""""""""""""""""""""""

    mo al alfacbw & e*tensia de semn !n ahimul beta (d*#a*) (a*)Y(beta)mo word ptr rez a*mo word ptr rez7 d*

    m) Intructiunea $IF ($i#ide)=orma general#

    $IF sursaundesursaeste un registru sau o locaie de memorie reprezentata pe octet sau cunt"

    %nstruciunea realizeaz !mpr irea fr semn intre de!mprit i !mpritor" aca !mpritorul (sursa) este reprezentat pe octet atunci de!mpritul este AG i rezultatul este# ctul !n al iar restul !n ah adic#

    $IFsursa & (al) (a*)J(sursa)& (ah) restul !mpririi (a*)J(sursa)

    aca !mpritorul (sursa) este reprezentat pe cunt atunci de!mpritul este considerat !n G iAG ctul se obine !n AG iar restul !n G adic

    $IF sursa & (a*) ctul !mpririi (d*#a*)J(sursa)& (d*) restul !mpririi (d*#a*)J(sursa)

    oi indicatorii nu sunt definii" 8peraia de !mprire poate conduce la depsiri dac ctul dep e te aloarea ma*im reprezentabil pe 2 respecti pe 13 bii sau daca !mpritorul este ."

    n) Intruc!iunea I$IF (Integer $i#ide)=orma general#I$IFsursa

    $emnifica ia instruc iunii i a operandului sursa este aceeasi ca la %nstruciunea %

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    19/47

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    20/47

    Arhitectura Calculatoarelor 7.

    (A6) (A@) Y 1. (A6)(A@) .

    %ndicatori afectai# += $= K= restul nedefinite"e e*emplu

    mo a* ?.Dhmo bl 7

    AA & (a*)F7?hdi bl & (al)F11h (ah)F1

    %&'&* +,emple programe

    >*emplul 1" Acest e*emplu prezint ctea tehnici de adresare specifice procesoarelor din familia2.23J22# %6> e*emplulM1 "E8>6 $EA66 "$ACL 1.h

    "AA alfa O ? U+() "C8> begin# mo a*PAA mo dsa* mo a*1N & Adresare imediata a operandului & sursa care este o constant & zecimala mo a*1...1b & $ursa este o constant binara mo a*11h & $ursa este o constant he*a mo alfaa* & Adresare directa a operandului

    & destinaie mo c*a* & %nterschimb coninuturile mo a*b* & registrelor ax i bx mo b*c* *chg a*b* & Acelasi efect cu secena & anterioara mo si7 mo alfa/si0a* & Adresare relatia cu registrul & i a operandului destinaie mo si7 mo b*8==$> alfa& Adresare imediat a operandului & surs (adresa ariabilei alfa) & datorit operatorului 8==$> lea b*alfa & Aceasta instruciune are acelasi & efect cu cea anterioar cu toate & c sursa este adresat direct mo c*/b*0/si0 & Adresare bazat inde*at a sursei mo c*alfa7 & Aceast instruciune are acelasi & efect cu cea anterioar sursa & fiind !ns adresat direct mo c*alfa/70 & ,otaii echialente pentru mo c*/alfa70 & %nstruciunea anterioar mo di4 mo /b*0/di0DDh & $e a semnala eroare deoarece nu & s-a precizat tipul destinaiei & care este o ariabila anonima mo H]> +9 /b*0/di0DDh& $e a folosi aceast

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    21/47

    Arhitectura Calculatoarelor 71 & ariant cnd se dorete o & adresare la niel de octet mo H]> +9 alfa4DDh& Aceast instruciune are & acelasi efect cu cea anterioar & destinaia fiind !ns adresat & direct" esi alfaeste definit cu & O operaia este realizata la & niel de octet

    mo si7 mo b*? mo alfa/b*0/si0??h& Adresare bazata inde*ata & relatia a operandului destinaie mo alfa/b*si0??h& ,otaii echialente pentru mo /alphab*si0??h& %nstruciunea anterioara mo /b*0/si0"alfa??h mo /b*0/si0alfa??h >, begin +entru e*emplificri s-a folosit %nstruciunea mov!n diferite ariante de adresare# registru la registrudin memorie !n registru i din registru !n memorie"

    >*emplul 7" $e consider un ector de trei componente fiecare component and dimensiunea deun cunt" $a se permute circular elementele ectorului cu o poziie la stnga# %6> e*emplulM7 "E8>6 $EA66 "$ACL 1.h "AA ect O 1..h7..h?..h "C8> start# mo a*PAA& %niializarea registrului

    mo dsa* & de segment ds mo d*ect & $alare !n dxa primei & componente a ectorului mo a*ect7& ransfer a doua mo ecta* & component !n prima mo a*ect4& ransfer a treia mo ect7a*& component !n a doua mo ect4d*& ransfer prima & component !n ultima >, start

    >*emplul ?" $a se !ncarce intr-o ariabila pointer aloarea propriei adrese sub forma de offset isegment" %6> e*emplulM? "E8>6 $EA66 "$ACL 1.h "AA arMptr & irectia are ca efect generarea sau & rezerarea unor entiti pe ?7 de bii "C8> begin# mo a*PAA

    mo dsa* mo a*8==$> arMptr mo O89 +9 arMptra* & 8peratorul 8==$> selecteaz componenta de & offset a adresei unei ariabile

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    22/47

    Arhitectura Calculatoarelor 77 mo a*$>: arMptr mo O89 +9 arMptr7 a* & 8peratorul $>: selecteaz componenta de & segment a adresei unei ariabile >, begin

    >*emplul 4" $a se efectueze operatia# dp2 344 dp54sp5/sp2stiind casp5sisp2sint intregi cu semnreprezentati in simpla precizie pe un cuint si dp2este un intreg cu semn in dubla precizie pe doua

    cuinte" %6> e*emplulMN "E8>6 $EA66 "$ACL 1.h "AA dp1 17?4D3N2h sp1 O 1N.h sp7 O 12.h dp7 "C8> begin# mo a*PAA mo dsa* mo siO89 +9 dp1 & +erechea (si#di) mo diO89 +9 dp17& este folosit ca & acumulator pe ?7 de bii deoarece (a*#d*) & se folose te pentru conersii din simpla in & dubla precizie mo a*sp1 cwd & $e conertete coninutul registrului & ax considerat ca un numr !ntreg fr & semn poriunea cea mai

    & semnificatia depunndu-se !n registrul dx sub sia* sbb did* mo a*sp7 cwd add sia* adc did* mo O89 +9 dp7si mo O89 +9 dp77di >, begin

    >*emplu6 D" $a se elaboreze un program pentru implementarea operaiei# z 344 --%4x6578!2

    undex!z %sunt !ntregi cu semn reprezentai pe cte un cunt" %6> e*emplulMS "E8>6 $EA66 "$ACL 1.h "AA w O 7.. * O 1.. O -1 z O

    "C8> begin# mo a*PAA mo dsa* mo a*w & $e folose te axca & acumulator

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    23/47

    Arhitectura Calculatoarelor 7? sub a** mo bl1. idi bl & !mpr ire !ntreag cbw imul imul a* mo za* >, begin

    >*emplul 3" $a se genereze 2numere a cte 9cifre zecimale reprezentate !n format HC !mpachetat(adic fiecare grup de doua cifre zecimale este memorat intr-un octet) i s se scrie o secena de program

    pentru calculul sumei i diferenei lor" %6> e*emplulM11 "E8>6 $EA66 "$ACL 1.h "AA bcd1 H ?4h12h& 12?4 !n format HC & !mpachetat bcd7 H 2Sh7Nh& 7N2S !n format HC & !mpachetat sum H 7 U+() dif H 7 U+() begin# mo a*PAA mo dsa* mo albcd1 add albcd7 daa mo sumal mo albcd11

    adc albcd71 daa mo sum1al mo albcd1 sub albcd7 das mo difal mo albcd11 sbb albcd71 das mo sum1al

    >, begin

    >*emplul N" $ se scrie un program pentru !nmulirea unui numr !ntreg poziti de doua cifrezecimale reprezentat !n format HC ne!mpachetat cu o cifra zecimala# %6> e*emplulM1D "E8>6 $EA66 "$ACL 1.h "AA dgt H .Sh & S !n format HC & ne!mpachetat num H .?h.7h& 7? !n format HC

    & ne!mpachetat rez H ? U+() "C8> begin# mo a*PAA mo dsa*

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    24/47

    Arhitectura Calculatoarelor 74 mo dldgt mo alnum mul dl & a* - ..1bh aam & a*- .7.Nh mo dhah mo rezal mo alnum1 mul dl & a* B ..17h

    aam & a* B .1.2h add aldh & a*- .1.Ah aaa & a* B .7..h mo rez1al mo rez7ah & .N...7 >, begin

    >*emplul 2" $ se scrie un program de conersie a unui numr zecimal de doua cifre sub forma adoua caractere zecimale i sa se afieze cele doua caractere pe ecran" +entru afiare se a utiliza funcia8$ cu codul 72h !n registrul dlaflndu-se codul A$C%% al caracterului care se rea afiat" 6a apelulunei funcii 8$ !n registrul alse a transmite codul funciei" %6> e*emplulM13 "E8>6 $EA66 "$ACL 1.h "AA oct H 7D "C8> start# mo a*PAA mo dsa* mo aloct aam & a* B .7.Dh

    add ahV.V add alV.V mo d*a* *chg dldh mo ah7 & =uncia 8$ cu codul .7h int 71h & se utilizeaz pentru mo dldh& afiarea unui caracter pe int 71h & ecran !n dl & transmindu-se codul A$C%% al & caracterului de afiat mo a*4C..h& %esire normala la

    int 71h & sistemul de operare >, start

    >*emplul S" Conersia unui !ntreg fr semn reprezentat pe 13 bii la un sir de caractere (cifre) !nbaza 1." Algoritmul de conersie daca n este numrul i sir este ariabila unde se depun cifrelenumrului descris !n C este#

    adresa F sir&do[

    rest F n^1.&n F nJ1.&Ysir F rest _.`&

    \while (nF.)&Ysir F .&inerseaza (adrsir)&

    9estul furnizeaz cifra curenta creia i se aduga codul A$C%% al cifrei ." =uncia inerseaz ordineacaracterelor din irul generat de algoritm"

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    25/47

    Arhitectura Calculatoarelor 7D%mplementarea !n asamblare arata astfel#

    data segmentn dw N3D4hsir db D dup ()VV

    data endscod segment

    assume ds# data cs#codstart# mo a*data

    mo dsa*

    mo a*nconert#

    mo c*.mo b*1.

    diide#mo d*.di b* & ctul !n AG restul !n G (6)add d*V.V

    push d*inc c*cmp a*.

    'nz diidereerse#

    pop a*mo sir/di0aladd di1dec c*cmp c*.

    'nz reerse

    mo d* offset sirmo ahSint 71h& ?.7S7

    mo a* 4c..hint 71h

    cod endsend start

    %&'&' #nstruc$iuni de salt i ciclarea)#nstruc$iunea de salt necondi$ionat -./

    =orma generala #-./ operand

    unde operand este adresa de salt necondiionat" >*ista urmtoarele tipuri de instruciuni E+# de tip $@89 - cnd operandul specifica o adresa in domeniul -172 17N fa de (%+) actualizat de tip ,>A9 - operandul specifica o adresa din acelai segment de cod& de tip =A9 - operandul specifica o adresa din alt segment de cod"

    b)#nstruc$iuni de salt condi$ionatAceste instruciuni implementeaz salturile condiionate de indicatorii de condiie"=orma generala#

    -cond operandunde#- condeste condiia de salt i este reprezentat de una sau doua litere (ezi tabelul de mai 'os)&- operand este un offset cuprins intre -172 si 172"

    ac condiia este !ndeplinit are loc saltul la adresa dat de operand dac nu - se continu !nsecen"

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    26/47

    Arhitectura Calculatoarelor 73$e obsera ca e*ista 7 categorii de instruciuni pentru _mai mic` si _mai mare` cele care conin

    cuintele _aboe` sau _bellow` si cele care conin cuintele _less` sau _greater`" +rimele se folosesc insituaia comparrii a doua alori fr semn iar ultimele in situaia comparrii a doua alori cu semn"

    =ie secenele de program#mo a*.===>hmo b* 7cmp a* b*

    'a alfa

    imo a* .===>hmo b* 7cmp a* b*

    'g alfa!n care se compar pe cunt .===>h si 7"$e obsera ca (AG) Z (HG) daca cele doua alori se considera reprezentate fr semn si ca (AG) (HG)daca cele doua alori se considera cu semn" (-7 este mai mic decat 7)" Ca atare in primul caz saltul laeticheta alfa are loc pe cand in cel de-al doilea caz nu are loc"

    =iecare mnemonic din tabel se refer la iniialele cuintelor urmtoare ce indic condiia !nlimba englez# Aboe (peste mai mare) Helow (sub mai mic) >Rual (egal) ,ot (nu) :reater (maimare) 6ess (mai mic) Carr (transport) Kero 8erflow (depire de capacitate) +arit (+>en - paritate

    par +8dd - paritate impar) $ign (semn)"

    %nstruciune(mnemonica)

    Condiie de salt %nterpretare

    > K K= F 1 Kero >Rual6 ,:> $= 8= 6ess ,ot :reater or >Rual6>,: $= 8= sau K= F 1 6ess or >Rual ,ot :reater

    H ,A> C C= F 1 Helow ,ot Aboe or >Rual Carr

    H> ,A C= F 1 sau K= F 1 Helow or >Rual ,ot Aboe+ +> += F 1 +arit +arit >en

    8 8= F 1 8erflow$ $= F 1 $ign

    ,> ,K K= F . ,ot Kero ,ot >Rual,6 :> $= F 8= ,ot 6ess :reater or >Rual,6> : $= F 8= si K= F . ,ot 6ess or >Rual :reater

    ,H A> ,C C= F . ,ot Helow Aboe or >Rual ,ot Carr,H> A C= F . si K= F . ,ot Helow or >Rual Aboe,+ +8 += F . ,ot +arit +arit 8dd

    ,8 8= F . ,ot 8erflow

    ,$ $= F . ,ot $ign(0xemplu de citire1 :;0 < jump if not belo% or e=ual' salt -: dac nu -; e mai mic - sau egal -0)"

    c) Intructiunea LE+ (L=MK if E+ i ero)%nstructiunea realizeaza salt la etcheta specificata daca continutul registrului CG este zero" =orma

    generala#-C01 etic2eta

    unde etichetaeste o eticheta aflata in domeniul -172 si 17N fata de (%+)

    d) Intructiunea ,::K=orma generala#

    3OO/ etic2etaAre ca efect#

    c* c* -1daca c* F . atunci

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    27/47

    Arhitectura Calculatoarelor 7N

    (%+) (%+) 2adica se decrementeaza CG si daca acesta este diferit de zero se sare la eticheta specificata in caz contrarse continua cu instructiunea urmatoare" 2 este un deplasament pe 2 biti si reprezinta diferenta intreoffset-ul instructiunii urmatoare instructiunii 688+ si offset-ul etichetei">*# $uma celor n octeti de la adresa sir"

    "datasir db N S 1D 7D -12 ?? 11n eRu ( - sir)Jtpe sirsuma db "code

    begin# mo a* Pdata

    mo ds a**or al almo c* n*or si sirepeta#

    add al sir/si0

    inc si688+ repetamo suma almo a* 4c..hint 71hend begin

    e) Intructiunea ,::KG,::K (,::K 9hile eroGual)=orma generala

    3OO/1 etic2etasau

    3OO/+ etic2eta$emnificatia#

    c* c* - 1daca c* F . si K= F 1 atunci

    (%+) (%+) 2$e decrementeaza c* si daca acesta este diferit de zero si indicatorul K= este 1 (rezultatul ultimei operatiiaritmetice a fost zero) se sare la eticheta specificata"

    f) Intructiunea ,::KNG,::KN (,oop 9hile Not eroGNot ual)=orma generala#

    3OO/41 etic2eta

    sau3OO/4+ etic2eta

    $emnificatia#c* c* - 1daca c* . si K= F . atunci

    (%+) (%+) 2>fectul este ca se cicleaza cat timp rezultatul ultimei operatii aritmetice este diferit de zero dar nu de maimulte ori cat este continutul initial a lui c*"

    %&'&5 #nstruc$iuni de deplasare (6738 638 6798 69) si de rotatie (9O38 9C38 9O98 9C9)&

    Acest grup de instructiuni realizeaza operatii de deplasare si de rotatie la niel de bit"%nstructiunile au doi operanzi# primul este operandul propriu-zis iar al doilea este numarul de biti cu carese deplaseaza sau se roteste primul operand" Ambele operatii se pot face la dreapta sau la stinga"eplasarea inseamna translatarea tuturor bitilor din operand la stingaJdreapta cu completarea unei alorifi*e in dreaptaJstinga si cu pierderea bitilor din stingaJdreapta" eplasarea cu un bit la stinga este

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    28/47

    Arhitectura Calculatoarelor 72echialenta cu inmultirea operandului cu 7 iar deplasarea la dreapta cu impartirea operandului la 7"

    9otatie inseamna translatarea tuturor bitilor din operand la stingaJdreapta cu completarea indreaptaJstinga cu bitii care se pierd in partea opusa"

    Ambele operatii se fac cu modificarea bistabilului C= care poate chiar participa la operatiile derotatie"

    =orma generala a instructiunilor este#O/+9T#+ operand8 contor

    in care operand este un registru sau o locatie de memorie de 2 sau 13 biti iar contor (numarul de biti) este

    fie constanta 1 fie registrul C6 care contine numarul de biti cu care se deplaseazaJroteste operandul"+rocesoarele mai aansate (2.723 si peste) accepta un numar oarecare de biti specificat si printr-oconstanta intreaga"

    6a operatiile de deplasare se modifica toate flagurile conform rezultatului in afara de A= careeste nedefinit" 6a operatiile de rotatie se modifica numai C= si 8="

    6a instructiunile de deplasare se considera deplasari logice si aritmetice care se pot utilizadupa natura operanzilor"

    a) Intructiunea %,G%A, (%hift ,ogicGArithmetic ,eft)Are forma generala#

    673:63 operand8 contor

    esi e*ista doua mnemonice ($@6 si $A6) in fapt este orba de o unica instructiune" Hitul celmai semnificati al operandului trece in C= dupa care toti bitii se deplaseaza la stanga cu o pozitie"8peratia se repeta de atitea ori de cat este aloarea lui contor (1 sau continutul registrului C6)"

    b) Intructiunea %R (%hift ,ogic Right)Are forma generala#

    679 operand8 contor

    Hitul cel mai putin semnificati din operand trece in C= dupa care se deplaseaza toti bitii cu opozitie la dreapta (impartire la 7)" =aptul ca operatia de impartire se e*ecuta fara semn inseamna ca secompleteaza cu un bit . dinspre stinga" 8peratia se repeta de atitea ori cit este aloarea lui contor (1 saucontinutul registrului C6)"

    c) Intructiunea %AR (%hift Arithmetic Right)Are forma generala#

    69 operand8 contor

    Hitul de semn ramine nemodificat" Hitul cel mai putin semnificati din operand trece in C= dupacare se deplaseaza toti bitii cu o pozitie la dreapta " =aptul ca operatia de deplasare se e*ecuta cu semninseamna ca se completeaza toti bitii eliberati cu bitul de semn" 8peratia se repeta de atitea ori cit estealoarea lui contor (1 sau continutul registrului C6)"

    d) Intructiunea R:, (Rotate ,eft)Are forma generala#

    9O3 operand8 contor

    Hitul cel mai semnificati din operand trece atit in C= cat si in bitul cel mai putin semnificati dinoperand dupa ce toti bitii acestuia s-au deplasat la stanga cu o pozitie" 8peratia se repeta de atitea ori citeste aloarea lui contor (1 sau continutul registrului C6)"

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    29/47

    Arhitectura Calculatoarelor 7S

    e) Intructiunea R:R (Rotate Right)Are forma generala#

    9O9 operand8 contor

    Hitul cel mai putin semnificati din operand trece atit in C= cat si in bitul cel mai semnificati din

    operand dupa ce toti bitii acestuia s-au deplasat la dreapta cu o pozitie" 8peratia se repeta de atitea ori citeste aloarea lui contor (1 sau continutul registrului C6)"

    f) Intructiunea RE, (Rotate ,eft through Earr")Are forma generala#

    9C3 operand8 contor

    Hitul cel mai semnificati din operand trece in C= se deplaseaza toti bitii din operand cu opozitie la stinga iar C= initial trece in bitul cel mai putin semnificati din operand" 8peratia se repeta de

    atitea oricit este aloarea lui contor (1 sau continutul registrului C6)"

    f) Intructiunea RER (Rotate ight through Earr")Are forma generala#

    9C9 operand8 contor

    Hitul cel mai putin semnificati din operand trece in C= se deplaseaza toti bitii din operand cu opozitie la dreapta iar C= initial trece in bitul cel mai semnificati din operand" 8peratia se repeta de atiteaori cit este aloarea lui contor (1 sau continutul registrului C6)"

    %&'&; #nstuctiuni logice%nstuctiunile logice realizeaza functiile logice de baza pe octet sau pe cuant" 8peratiile se fac la

    niel de bit"

    a) Intuctiunea N:/ (Not)=orma generala #

    4OT destin care destpoate fi un registru sau o locatie de memorie" %nstructiunea prooaca negarea tuturor bitiloroperandului adica se face complementul fata de unu"

    b) Intuctiunea AN$ (And)=orma generala #

    4D dest8 sursain care destpoate fi un registru sau o locatie de memorie iar sursa un registru sau o locatie de memoriesau o constanta" %nstructiunea depune in destsi-logic la niel de bit intre destsisursa"%ndicatori afectati# $= K= += C=F. 8=F. A= nedefinit"

    c) Intuctiunea :R (:r)=orma generala #

    O9 dest8 sursa

    in care destpoate fi un registru sau o locatie de memorie iar sursa un registru sau o locatie de memoriesau o constanta" %nstructiunea depune in destsau-logic la niel de bit intre destsisursa"%ndicatori afectati# $= K= += C=F. 8=F. A= nedefinit"

    d) Intuctiunea +:R (clui#e :r)

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    30/47

    Arhitectura Calculatoarelor ?.=orma generala #

    0O9 dest8sursain care destpoate fi un registru sau o locatie de memorie iar sursa un registru sau o locatie de memoriesau o constanta" %nstructiunea depune in dest*or-logic la niel de bit intre destsisursa"%ndicatori afectati# $= K= += C=F. 8=F. A= nedefinit"

    e) Intuctiunea /%/ (/et)=orma generala #

    /%/ deturain care destpoate fi un registru sau o locatie de memorie iar sursa un registru sau o locatie de memoriesau o constanta" %nstructiunea realizeaza and-logic la niel de bit intre dest si sursa cu pozitionareaindicatorilor"%ndicatori afectati# $= K= += C=F. 8=F. A= nedefinit"

    +,emple programe[Cautare secentiala\ $a se scrie un program pentru cautarea primului blanc din sirul incepind de la

    adresa ir" 6a iesirea din program aa contine aloarea . daca sirul nu contine blancuri altfel a continealoarea pozitiei din sir a primului blanc gasit" $e presupune ca sirul irare lcaractere" %6> e*emplulM1 "E8>6 $EA66 "$ACL 1.h "AA sir H VAcesta este un sirV l >TU -sir "C8> begin# mo a*PAA mo dsa* mo c*l mo si-1

    mo alV V urm# inc si cmp alsir/si0 loopne urm 'ne nuMgasit mo a*l sub a*c* 'mp iesire nuMgasit# mo a*. iesire# nop >, begin

    %&'&< #nstruc$iuni pentru controlul procesorului$unt instruciuni care controleaz anumite funcii ale procesorului ce acioneaz fie prin

    intermediul unor indicatori de control (sau registre de control) fie prin introducerea unor stri sausemnale necesare pentru sincronizarea cu eenimentele e*terne"

    >*emple#CEC &complementarea alorii indicatorului C=C6C &poziionarea pe . a indicatorului C=$C &poziionarea pe . a indicatorului C=

    ,8+ &,ici o operaie dar consum ? perioade de ceas"C6 &poziionarea pe . a indicatorului =

    $ &poziionarea pe 1 a indicatorului =C6% &poziionarea pe . a indicatorului %= dezactiare !ntreruperi mascabile$% &poziionarea pe 1 a indicatorului %=@6 &8prire microprocesor pn la 9>$> ,E% sau %, (dac sunt actiate)OA% &ateptare pn cnd ine semnalul e*terior testF.

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    31/47

    Arhitectura Calculatoarelor ?1>$C &operaie destinat coprocesorului68CL &prefi* care actieaz semnalul e*tern JlocI astfel c microprocesorul anun&c nu a rspunde la o cerere de cedare a controlului magistralelor"%&'&= #nstruc$iuni pentru lucrul cu >iruri;n afar de tipurile de baz amintite mai sus e*ist i posibilitatea efecturii unor operaii de

    transfer sau operaii aritmetice i logice cu iruri de date (cu informaii aflate !n zone continue dememorie)" 8peraiile pe iruri pot fi efectuate indiidual pentru fiecare cunt din ir sau automat - curepetare numrul de repetri al instruciunii fiind dictat de coninutul unui registru contor"

    8peraiile tipic efectuate sunt# transferul unui ir din zon sursa !n zon destinaie comparare !ntre dou iruri cutarea unei alori !ntr-un ir !ncrcarea acumulatorului cu elementele unui ir" citirea unui ir de la un port de intrare scrierea unui ir la un port de ieire>*emple #

    E8$#%0&$%$%1& %%1 (decrementare pentru =F1)

    CE+$H(O) &comparare pe 2(13) bii /$#$%0 cu />$#%0&$%$%1& %%1 (decrementare pentru =F1)

    $CA$H(O) &comparare pe 2(13) bii intre A6(AG) i />$#%0&%%1 (decrementare pentru =F1)

    68$H(O) &se !ncarc A6(AG) de la /$#$%0&$%$%1 (decrementare pentru =F1)

    $8$H(O) &se stocheaz A6(AG) la />$#%0&%%1 (decrementare pentru =F1)

    9>+ &prefi* de repetare" Contorul este CG"

    AA $>:E>, sir1 H 1.. U+(N) sir7 H 1.. U+() AA >,$ C8> $>:E>, A$$UE> cs#C8>ds#AAes#AA start# mo a*AA mo dsa* mo esa* mo si8==$> sir1 mo di8==$> sir7

    mo c*6>,:@ sir1 cld muta# mos sir1sir7 loop muta C8> >,$ >, start

    Utilizind prefi*ul repbucla# muta# mos sir1sir7

    loop mutadin e*emplu se poate rescrie astfel#

    rep mos sir1sir7

    %&'&!" +c2ivalari >chialarile reprezinta niste alori constante de tip constanta numerica sau sir de caractere atribuite unornume simbolice simbolurile putind fi inlocuite in locul alorilor respectie"

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    32/47

    Arhitectura Calculatoarelor ?7 a) >chialarile numerice sint folosite pentru a atribui o constanta numerica unui simbol" Acestea pot fi# - redefinibile# aloarea unui simbol poate fi redefinita in orice moment in timpul asamblarii&$inta*a unei echialari numerice redefinite este# numeF epreieunde#

    epreiepoate fi un intreg o e*presie constanta o constanta de tip sir de caractere sau doua constante sauo e*presie ealuata la o adresa" numeeste un nume de simbol unic sau un nume de simbol definit anterior cu F"

    - neredefinibile# aloarea simbolului nu poate fi redefinita in timpul asamblarii"$inta*a unei echialari numerice neredefinibile este# nume>TU epreie

    parametrii aind semnificatiile# numeeste un nume de simbol unic& $imbolurile definite prin echialari numerice pot fi folosite in constructii ulterioare ca operanzi imediati"Acestor simboluri nu li se aloca memorie"

    8peratorii admisi in cazul folosiri e*presiilor constante sunt#

    1"operatori aritmetici# si - unari si - binari Y si J(impartire intreaga) mod(rest)" 8peraorii binari si - se pot folosi si cind un

    operad este o constanta si celalalt o adresa rezultatul fiind o adresa" 8peratorul binar se poate folosi si cindambii operanzi sint adrese cu restrictia de a fi plasati in acelasi segment rezultatul fiind o constanta"

    7"operatori de deplasare#$@9 si $@6 realizeaza deplasarea logica dreapta stinga" $inta*a este e*presie $@9J$@6 cant unde cant

    reprezinta numarul de biti deplasati"

    ?"operatori logici la niel de biti#Acestia sint# ,8 A, 89 G89"

    4"]+> intoarce un numar ce reprezinta tipul unei e*presii&

    D"$%K> intoarce numarul total de octeti alocati pentru un tablou sau (ariabila definita cu U+)&

    3"@%:@ 68O selecteaza octetii cel mai semnificati respecti cel mai putin semnificati ai uneie*presii&

    >*emplificare echialari #

    AA $>:E>, O89 VAAV intgr F 14Y? &F47

    intgr F intgrJ4 &1. intgr F intgr mod 4 &7 intgr F intgr4 &3 intgr F intgr-? &? 89: 1..h

    a H &aduna 1..h b H &aduna 1.1h mem1 >TU aD &mem1F1.Dh mem7 >TU a-D &mem7F.=Hh const >TU b-a &constF1 al F .111.111b

    depls F al $@6 ? &F.111.111...b depld F al $@9 ? &F.1111b offMa >TU 8==$> a highMoffMa >TU @%:@ offMa segMb >TU $>: b

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    33/47

    Arhitectura Calculatoarelor ?? ect O 3. U+() sMect >TU $%K> ect &3. Y 7 F 17. lMect >TU 6>,:@ ect &3. tMect >TU ]+> ect &7 erif >TU tMectYlMect &F7Y3. AA >,$ >,

    %n general echialarile sint pastrate in fisiere separate de includere fiind incluse intr-un program prinintermediul directiei %,C6U>"

    %&5 6ubprograme i macroinstru iuni

    ;n general definirea unui subprogram se face cu directia>?@*!n maniera urmtoare#nume>?@* [;0A? =A9\corp

    ?0& [constanta\nume0;D>

    ac atributul ;0A? i A?lipsesc !n cazul utilizrii definiiilor complete se consider implicit;0A? iar !n cazul definiiilor simplificate se folosesc alorile implicite !n funcie de modelul de memorieutilizat"

    ehnicile de transfer a parametrilor combin diersele modaliti de alegere a tipurilor de locaiifizice pentru pstrarea parametrilor transmii# registre locaii de memorie fi*ate codul apelant stia

    procesorului tehnica blocurilor (tabelelor) de parametri cu ceea ce se transmite efecti referitor la un anumitparametru# adresa sau aloarea acestuia"

    #nstructiunea C33 (apel de procedura)+oate aparea sub una din formele#

    *ALL numeBproc

    *ALL ;0A? >&? numeBproc*ALL A? >&? numeBproc

    ipul apelului poate fi dedus din tipul procedurii (primul caz) sau specificat e*plicit prin ,>A9 si=A9" ipul apelului trebuie sa coincida cu tipul procedurii si cu tipul instructiunii 9>U9, dininteriorul procedurii"

    #nstructiunea 9+T (9+T?94)=orma general#

    ?0& Cn

    unde n este o constanta intreaga optionala"

    aca instructiunea 9> este de tip ,>A9 semnificatia sa este#(%+) $$# (($+) 1#($+))($+) ($+) 7/($+) ($+) n0

    adica se reface (%+) prin copierea continutului arfului stiei si incrementarea cu 7 a lui ($+)" aca ininstructiunea 9> apare si constanta n atunci aceasta constanta se aduna la ($+) adica se descarca stia"

    >*emplu#AA $>:E>,a DDDDDh

    b NNNNNhs AA >,$C8 $>:E>,"""& incarca primul numar in G#AG mo a*O89 +9 a/.0

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    34/47

    Arhitectura Calculatoarelor ?4 mo d*O89 +9 a/70

    & incarca al doilea number in %#$% mo siO89 +9 b/.0 mo diO89 +9 b/70& incarca adresa rezultatului in HG mo b*8==$> s& apeleaza procedura call proMad

    """& codul procedurii

    proMad +98C,>A9 add a*si adc d*di mo /b*0a* mo /b*70d* ret

    proMad >,+"""C8 >,$

    : macroinrtuctiunereprezinta o secenta de cod sursa careia i se atribuie un nume simbolic continutulacastei secente putind fi repetat ori de cite ori in cadrul unui program prin simpla referire la numelesimbolic respecti" Utilizarea unei macroinstructiuni necesita parcurgerea a doi pasi# 1"efinirea macroinstructiunii care se marcheaza printr-o macrodefinitie" Aceasta cuprinde o secenta decod intre directiele EAC98 si >,E" $inta*a este#

    numeEAC98 [parametrii\ cod

    >,E

    unde# numereprezinta numele simbolic dat macroinstructiunii & parametriireprezita parametrii formali optionali ai macroinstructiunii separati prin irgula blancuri

    sau AH-uri" 6a apelul macroinstructiunii acesti parametri formali sint inlocuiti te*tual cu parametriiactuali"

    7"Apelul macroinstructiunii care se realizeaza printr-un macroapel cu sinta*a# nume[argumente\

    unde# numereprezinta numele simbolic al macroinstructiunii apelate& argumentereprezinta lista parametrilor actuali separati prin irgula blancuri sau AH-uri"

    Apelul macroinstructiunii are ca efect includerea te*tuala a codului din definitia macroinstructiunii incorpul programului"

    >*emplu # Adunarea a ? cuinte cu depunerea rezultatului in a*"

    %6> e*emplu addup EAC98 ad1ad7ad? mo a*ad1 add a*ad7

    add a*ad? >,E a O 1 b O 7 c O ?

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    35/47

    Arhitectura Calculatoarelor ?D d O begin#mo a*PAA mo dsa* addup abc mo d*a* addup d*d*d* mo da* addup dd*c

    >, begin

    +entru definirea unor simboluri in cadrul unei macroinstructiuni care la fiecare apel al macroinstructiuniirespectie or fi inlocuite cu nume unice de simboluri gesionate de asamblor se utilizeaza directia 68CA6cu sinta*a# ,:EA, nume [nume\ """

    irectia 68CA6 daca este prezenta intr-o macrodefinitie trebuie sa urmeze imediat directieiEAC98">*emplu# 9idicarea unui numar la o putere"

    power EAC98 factore*ponent 68CA6 againgotzero *or d*d* mo a*e*ponent mo a*1

    again# 'c*z gotzero mul b* loop again

    gotzero# >,E

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    36/47

    Arhitectura Calculatoarelor ?3

    . %tructura calculatoarelor

    &! Componentele func$ionale i clasificarea,oiunea de la care pornim este aceea de calculator& acesta este un sistem programabil de prelucrare

    a informaiei care are dou componente eseniale inseparabile i definitorii# hard%are i soft%are.A.in punct de ederehard%are'calculatorul are trei componente funcionale legate !ntr-un mod

    specific (=igura ?"1)"Hlocurile funcionale sunt#

    1" Enitatea central de prelucrare(UC+) are dou funcii eseniale# prelucrarea datelor& controlul actiitii !ntregului calculator"8 unitate central de prelucrarea informaiei and funciile enunate mai sus care coordoneaz

    un sistem structurat funcional ca !n =igura ?"1 i care fizic se prezint sub forma unui singur cip (circuitintegrat) se numete microprocesor" Aceast accepiune standard a noiunii a fi folosit !n continuare

    pentru detalierea conceptelor care stau la baza funcionrii !ntregului calculator"7"F0F@?GAeste din punctul de edere al sistemului pe care !l definim o secen de locaii pentru

    stocarea informaiei"=iecare locaie este definit prin dou entiti informaionale#

    *oninutul'reprezentat de o !niruie de cifre binare . sau 1 (bii)& se a obsera c nu amfolosit noiunea de numr binar pentru c informaia stocat !ntr-o locaie de memorie poateaea dierse semnificaii" ,umrul de cifre binare coninute !ntr-o locaie depinde de modul !ncare microprocesorul organizeaz informaia !n memorie& mrimea unei locaii a fi denumit

    formatul memoriei'e*primat !n numr de bii (de regul 2 sau 13 bii)" =ormatul memoriei nuare nici-o legtur cu organizarea fizicaa cipurilor de memorie&

    =igura ?"1

    Adres' reprezentnd numrul de ordine al locaiei care permite identificarea sa !n cadrulsecenei de locaii (e*ist o coresponden biunioc !ntre fiecare locaie de memorie i adresa

    C+U

    E>E89]

    %J8

    Eagistrala date

    Eagistrala adrese

    Egistrala control

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    37/47

    Arhitectura Calculatoarelor ?Nsa)"

    ;n priina memoriei unui calculator om folosi ctea noiuni# H+arta memorieiH'definit ca fiind totalitatea locaiilor de memorie pe care le poate adresa un

    microprocesor" H>aginiHiJsauHsegmenteHsunt subdiiziuni logiceale hrii memoriei ale cror dimensiuni

    fi*e sau dinamice sunt specifice modului !n care un microprocesor anume organizeazmemoria" $ubliniem din nou c aceste moduri de organizare nu au nici-o legtur cu structura

    fizic a memoriei unui calculator"?" Dispozitivele de intrare6 ie ire (%J8sunt constituite din circuitele prin care se realizeaz legtura!ntre calculator i lumea e*terioar" 8 unitate elementar de conersaie cu e*teriorul poart numele deHport de intrare6ieireH.;ntre porturi i locaiile din memorie e*ist nite similitudini#

    +orturile sunt !n esen tot locaii de memorare a informaiei adresabile& desigur informaia carese folosete uzual aici este alctuit din operanziJrezultate (date)"

    >*ist oHhart a porturilorHcare aa cum om arta !n capitolele urmtoare poate sau nu s facparte din harta memoriei"

    $ingura deosebire esenial fa de locaiile de memorie este legtura fizicpe care porturile o asigurcu e*teriorul( pentru microprocesor de multe ori aceast legtur fizic este transparent inesemnificati"

    ;n sfrit componena hardware a calculatorului comport un set de legturi specifice& acestea serealizeaz printr-o aa numit magistral# un set de cone*iuni fizice !ntre blocuri prin care informaiacare circul are o semnificaie prestabilit" $istemele la care ne referim au o magistral unic ce lecaracterizeaz& din punct de edere funcional e*ist trei componente ale acestei magistraleindiidualizate i !n =igura ?"1#

    1"Fagistrala de date'bidirecional permite circulaia datelor (operanziJrezultate) a instruciunilor ichiar a adreselor"

    7" Fagistrala de adrese' unidirecional permite microprocesorului s localizeze informaia !nEemorie sau !n ispozitiele de intrareJieire& deci pe aceast magistral circul numai adrese"

    ?"Fagistrala de controlpermite circulaia bidirecional a semnalelor de comand i control de laJlamicroprocesor !n calitatea sa de Unitate central"

    4.in punct de edere oftare8a doua component definitorie a calculatorului definirea rezultpractic din considerentele anterioare# o serie de programe organizate !n moduri specifice"+rezentarea acestor noiuni i definirea lor ne permit ctea concluzii care s fac o prim delimitareasupra conceptului de microprocesor aa cum este el !neles !n olumul de fa#

    Eicroprocesorul constituie Unitatea central de prelucrare a unui sistem and schemabloc funcional din =igura ?"1" %mportant este c el concentreaz i funcia de prelucrare i pecea de comand"

    oate celelalte componente ale sistemului nu au putere de decizie" Eemoria de pild nucontroleaz i nici nu e necesar s controleze semnificaia informaiei pe care o deine i modul !ncare este organizat logic.

    6egtura dintre blocuri este asigurat de o magistral unic cu trei componentefuncionale& pe magistrala de date circul toate tipurile de informaii"

    =uncionarea sistemului se face pe baza unor programe alctuite din secene deinstruciuni" Acestea sunt citite din memorie de ctre microprocesor recunoscute i apoie*ecutate"

    Calculatoarele deseori se caracterizeaz prin #a)

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    38/47

    Arhitectura Calculatoarelor ?2

    1LiloHte F 71.Hte j 1.? Hte 1EegaHte F 77.Hte j 1.3 Hte 1:igaHte F 7?.Hte j 1.S Hte 1erraHte F 74. Hte j 1.17Hte

    Clasificarea calculatoarelor conform caracteristicilor men ionate este neactual"+rezentm ctea clasificri moderne"

    %ndustria modern produce o mare arietate de calculatoare" in aceast arietate om clasificaorientati calculatoarele ( >" anenbaum 8rganizarea structurat a calculatoarelor)#circuitul integrat sau calculatoare one-off domeniul de utilizare B de e*" felicitrile (cr i

    po tale) &calculatoare integrate (microcontrolere) - ceasuri maini diferite dispozitie&console de 'ocuri B 'ocuri la domiciliu&calculatoare personale +C B ariantele desItop i laptop-uri&serere - serere de re ea &grupe (clastere) de staii de lucru (C8O-Cluster 8f OorIstations) Bmulticalculatoare conectate !nre ele &

    Eainframe - prelucrarea a bazelor de date !ntr-o banc"

    Circuite integrate>le mai sunt numite calculatoare one-off"Aceste circuite pot fi lipite pe cr i po tale i interpreteaz

    melodii cu tematica specific anumitor srbtori J aniersari de tipulk@app Hirthda" +robabil ceamai semnificati realizare !n acest domeniu a fost apari ia circuitelor 9=% (9adio =reRuenc%dentification ehnologia identificrii prin radiofrecen)" Aceast tehnologie presupune stocareainformaiilor nu prin codurile de bare ci prin intermediul unor cipuri electronice integrate de e*" !netichete ecusoane ambala'e de marf corpurile animalelor etc" Aceste informaii ce reprezint un codunic din 172 bi i pot fi citite de la distan de cia metri prin unde radio" imensiunea acestor circuiteeste mai mic de .Dmm costul fiind de c ia cen i" Circuitele nu utilizeaz surse de alimentare i pot

    stoca informa ia mult timp"%nforma ia detaliat o pute i gsi pe site-ul www"rfid"org"

    Eicrocontrolere6a modul general un microcontroler este actualmente o structur electronic destinat controlului

    (destul de eident) unui proces sau mai general unei interac iuni caracteristice cu mediul e*terior frs fie necesar interen ia operatorului uman" >l reprezint un microcircuit care incorporeaz o unitatecentral (C+U) i o memorie !mpreun cu resurse care-i permit interac iunea cu mediul e*terior" oate aplica iile !n care se utilizeaz microcontrolere fac parte din categoria a a ziselor sisteme !ncapsulate- integrate (Wembedded sstemsX) la care e*isten a unui sistem de calcul incorporat este (aproape)transparent pentru utilizator" +rintre multele domenii unde utilizarea lor este practic un standardindustrial se pot men iona#

    !n industria de automobile (controlul aprinderiiJmotorului climatizare diagnoz sisteme de alarmetc") !n a a zisa electronic de consum (sisteme audio teleizoare camere ideo i ideocasetofoane telefonie mobil :+$-uri etc") !n aparatura electrocasnic (ma ini de splat frigidere cuptoare cumicrounde aspiratoare) !n controlul mediului i climatizare (sere locuin e hale industriale) !n industria aerospa ial !n mi'loacele moderne de msurare (aparate de msurare senzori i traductoare inteligente) la realizarea de periferice pentru calculatoare !n medicin"

    Ca un e*emplu din industria de automobile unde numai la nielul anului 1SSS un HEO seria Nutiliza 3D de microcontrolere iar un Eercedes din clasa $ utiliza 3? de microcontrolere& iar un aion

    peste 7.." +ractic este foarte greu de gsit un domeniu de aplica ii !n care s nu se utilizeze

    microcontrolerele"Console de 'ocuri" 8 consol de 'ocuri este un sistem dedicat 'ocurilor ideo ce reprezint de fapt un

    calculator interacti pentru distrac ii" eseori const din 7 unit i# un controller - cu a'utorul cruiautilizatorul poate introduce date sau interac iona cu obiectele de pe ecran i un bloc ce con ine un

    procesor 9AE i un coprocesor pentru audio-ideo incorporate intr-o carcas la care se conecteaz

    http://ro.wikipedia.org/w/index.php?title=Embedded_systems&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=Embedded_systems&action=edit&redlink=1
  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    39/47

    Arhitectura Calculatoarelor ?Steleizorul i controlerul" +rezentm caracteristicile principale ale $on +la$tation4" ,oua consol aaea un procesor AE aguar cu 2 nuclee i un :+U AE 9adeon de 124 teraflopi alturi de memorie9AE :9D de 2:H i spatiu de stocare @ pn 34. :H" $pecifica iile +$4 includ i Hlu-ra driescu un olum de 7D. :H alturi de conectiitate U$H ?". Hluetooth 4". @E% Oi-=i i >thernet"

    Calculatoare personaleCalculatoare personale (+C) se diizeaz !n 7 grupe# ariantele desItop i portabile (laptop notebooI

    palmtop (+A)";n structura lor de regul intr# microprocesoare module de memorie de gigabtes harddiscuri de terabtes C-98EJo%er Iupplies(U+$-uri) pentru a fi siguri decontinuitatea de alimentare cu energie electric astfel ca penele din re eaua public de curent s nu

    prooace stricciuni ireparabile" iferen a ma'or !ntre computerele personale i serere nu este partea hardware ci partea de software" +e serere ruleaz sisteme de operare care sunt special proiectate pentruacestea" e asemenea ele ruleaz aplica ii special proiectate pentru procesele dorite" ;n lumea sererelor

    cele mai populare sistem de operare sunt =reeH$ $un $olaris i :,UJ6inu* B care deri i sunt asemntoare cu sistemul de operare U,%G" U,%G a fost o alegere logic i eficient ca sistem de operarepentru serere"

    :rupe (clastere) de staii de lucru (C8O- Cluster 8f OorIstations)Clasterele constau din zeci sute mii de +C-uri sau statii de lucru conectate in retea prin placi de retea de largconsum" $istemele C8O sunt gestionate de soft specializat cepermite s direc ioneze resursele lor pentru arezola diferite probleme inginere ti i tiin ifice" ac frecen a accesrilor la paginile web-site-ului seestimeaz la mii zeci de mii pe secund este conenabil ca sererele s fie organizate !n clastere de sta ii delucru"

    Calculatoarele EainframeCalculatoarele mainframe sunt calculatoare ce pot e*ploata olume imense de date i pot suportalucrul a mii de utilizatori simultan" Un calculator mainframe se distinge mai ales prin capacitatea destocare i memoria intern" >l poate rula ani !ntregi fr !ntrerupere Unele calculatoare pot rula maimulte sisteme de operare simultan opernd astfel ca o mulime de Wmaini irtualeX" +reul unui astfel decalculator este de ordinul sutelor de mii de dolari" >ste solicitat de companiile care ehiculeaz i

    prelucreaz un olum foarte mare de informaie" +rincipala diferen !ntre supercalculatoare i mainframeeste c primele se folosesc pentru operaii ce necesit calcule intense !n timp ce mainframe efectueazoperaii de comple*itate redus asupra unor olume mari de date"

    $upercalculatorulposed resurse hardware i software deosebite" $e utilizeaz !n industria deaprare !n cercetarea tiinific !n ctea uniersiti !n industria aeronautic i spaial" epartamentul

    >nergiei $UA deine un supercomputer din lume &he ?oadrunner" Acesta are o putere de calcul de 1petaflop (1... trilioane operaii pe secund)" 8cup o suprafa de 11.. m7 i a fost construit din N.. deprocesoare AE 8pteron"

    ;n anul 7.1? compania Cra a realiza pentru epartamentul >nergiei al $UA un supercomputercu o putere de calcul de 7. peta operaii de secund (7. petaflops) numit itan" Astfel !n scurt timp (anul

    http://ro.wikipedia.org/wiki/FreeBSDhttp://ro.wikipedia.org/wiki/Solarishttp://ro.wikipedia.org/wiki/FreeBSDhttp://ro.wikipedia.org/wiki/Solaris
  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    40/47

    Arhitectura Calculatoarelor 4.7.7D) se a realiza un supercomputer cu o putere de calcul de 1. e*aflops (1. 7.flops) care a fi capabils simuleze actiitatea creierului uman"

    ;n studiul arhitecturilor de calcul este foarte util e*istena unei metode de comparare a diferitelorarhitecturi fr a fi necesar compararea specificaiilor detaliate ale fiecrei arhitecturi" Astfel carhitecturile de calcul sunt clasificate pe baza unui set mai restrns de caracteristici"

    Elaificarea lui Hl"nnCea mai cunoscut clasificare a arhitecturilor de calcul este cea propus de =lnn (profesor la

    $tanford Uniersit) !n 1S33" Aceast clasificare nu e*amineaz structura e*plicit a sistemelor ciurmrete flu*ul de date i de instruciuni prin acestea" +rin flu* de instruciuni se !nelege secena deinstruciuni e*ecutat de o main sau unitate de e*ecuie& iar prin flu* de date se !nelege secena dedate apelate de flu*ul de instruciuni"

    up =lnn arhitecturile de calcul se !mpart !n urmtoarele patru categorii# cu un flu* de instruciuni i un flu* de date ($%$)& cu un flu* de instruciuni i mai multe flu*uri de date ($%E)& cu mai multe flu*uri de instruciuni i un flu* de date (E%$)& cu mai multe flu*uri de instruciuni i mai multe flu*uri de date (E%E)"

    %I%$($ingle %nstruction $ingle ata)#in aceast categorie fac parte calculatoarele conenionale care e*ecut un singur flu* de instruciuni

    asupra unui singur flu* de date" Aceste siteme de calcul se mai numesc i calculatoare on ,eumann"

    =igura ?"7 Arhitectura on ,eumann%nstruciunile sunt e*ecutate secenial !ns pot e*ista suprapuneri !ntre acestea dac este

    implementat conceptul de band de asamblare (pipeline) B ma'oritatea sistemelor $%$ actuale utilizeazconceptul de band de asamblare" Calculatoarele $%$ pot aea mai multe uniti funcionale (e*#coprocesor matematic procesor grafic procesor de intrareJieire etc") !ns acestea sunt zute ca osingur unitate de e*ecuie"

    =igura ?"? Arhitectura $%$UC B unitate de comand&U> B unitate de e*ecuie element de procesare procesor&EE B modul de memorie&$% B flu* (ir) de instruciuni&$ B flu* (ir) de date">*emple de calculatoare $%$# CC 33.. CC N3.. Amdhal 4N.J3 Cra-1"

    %IM$($ingle %nstruction Eultiple ata)Aceast categorie de arhitecturi cuprinde sistemele de calcul compuse din mai multe uniti de

    e*ecuie identice aflate sub comanda unei singure uniti de control" Unitatea de control transmite acelaiflu* de instruciuni simultan tuturor unitilor de e*ecuie" oate unitile de e*ecuie e*ecut simultanaceeai instruciune asupra datelor din memoria proprie (e*ist sisteme ce au i o memorie parta'at

    pentru comunicaii)" Unitatea de control trebuie s permit tuturor elementelor de procesare s-i termineinstruciunea curent !nainte de iniierea unei noi instruciuni astfel c e*ecuia instruciunilor trebuie

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    41/47

    Arhitectura Calculatoarelor 41sincronizat !ntre toate unitile de e*ecuie" Ca i ordin de mrime numrul procesoarelor implicate !ntr-ostructur $%E este de ctea mii"Aplicabilitate# calculatoarele $%E sunt folosite !n cazul aplicaiilor paralele ce necesit un control finasupra datelor" >*emplu# reele neuronale">*emple de implementri $%E# %66%AC-%+> H$+ $A9A, E++ A+ Connection EachineCE-1 CE-7 (de la hinIing Eachines Corporation) Eass+ar E+-1 E+-7"

    =igura ?"4 Arhitectura $%Eopologia reelei de interconectare nu apare !n clasificarea lui =lnn"

    MI%$(Eultiple %nstruction $ingle ata)Arhitecturile E%$ au mai multe elemente de procesare fiecare e*ecutnd un set diferit de instruciuni

    asupra unui singur flu* de date" Acest lucru este realizabil !n dou moduri# acelai element din flu*ul de date este prelucrat de toate procesoarele fiecare e*ecutnd propriile

    operaii asupra respectiei date&

    un element din flu*ul de date este prelucrat de primul procesor rezultatul obinut este pasat mai

    departe celui de-al doilea procesor "a"m"d" formndu-se astfel o macro-band de asamblare"$ingurul e*emplu de implementare pentru acest tip de arhitecturi este C"mmp (calculatormultimicroprocesor) construit la Carnegie-Eellon Uniersit" Acest calculator este reconfigurabil i poateopera !n modurile $%E E%$ i E%E"

    =igura ?"D Arhitectura E%$

    MIM$(Eultiple %nstruction Eultiple ata)Ea'oritatea sistemelor multiprocesor se pot !ncadra !n aceast categorie" Un sistem de calcul E%E

    are mai multe elemente de procesare interconectate fiecare and propria unitate de control" +rocesoarelelucreaz fiecare asupra propriilor date e*ecutnd asupra lor propriile instruciuni" $istemele E%E potaea i memorie parta'at" 8peraiile e*ecutate de fiecare procesor sunt independente intre ele deci

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    42/47

    Arhitectura Calculatoarelor 47modul lor de operare este asincron"

    Acest tip de arhitecturi sunt aplicabile !n cazul aplicaiilor paralele (calcul paralel)">*emple de implementare# C"mmp Hurroughs 27D Cra-7 $1 Cra G-E+ $:%JCra +owerChallenge Arra $:%JCra 8rigin-7... @+JCone* $++-7... +luribus %HE ?N.J132 E+ Uniac11..J2. andemJ13 %HE ?.21J?.24 HH, Hutterfl EeiIo Computing $urface (C$-1) =+$ J4....i+$C"

    =igura ?"3 Arhitectura E%E

    8 ariant !ntre $%E i E%E sunt arhitecturile %KM$($ingle +rogram Eultiple ata) !n careunitile de procesare e*ecut acelai segment de cod asupra unor date diferite independent unul decellalt (!n mod asincron)"$%E $+E E%E

    /re@entare general a microprocesoarelor #ntel

    +rimele microprocesoare sunt produse la firma %ntel !n 1SN1# ele se numeau 4..4 i 2..2 pepatru i respecti 2 bii" +rimul microprocesor considerat standard care impune chiar o definire atermenului i a unor concepte legate de aceast modalitate de prelucrare a informaiei este !ns 2.2.

    produs tot de firma %ntel" ot firma %ntel este cea care lanseaz primul microprocesor care lucreaz pe 13bii - %ntel 2.23 (1SN2)" ;n 1SNS %ntel face aparent un pas !napoi# lanseaz 2.22 care este identic !ninterior cu 2.23 dar !n e*terior lucreaz pe 2 bii" $trategia firmei este limpede# muli fabricani nu sunt

    pregtii s schimbe toate celelalte componente ale sistemelor de prelucrare pe 13bii aa c or prefera!nc microprocesoarele compatibile cu magistrala de 2 bii";n tabelul de mai 'os sunt prezentate generaiile i carateristicile de baz ale microprocesoarelor %ntel" abelul 1 - :eneraiile i carateristicile de baz ale microprocesoarelor %ntel

    ipJgeneraie Anul

    6imeamagistraleiateJAdreseHii

    Cache%nterior(61)IH

    =recena

    de tact amagistraleide memorie(Ehz)

    =recenade tact(interioar)(Ehz)

    2.22J=irst2.23J=irst

    1SNS1SN2

    2J7.13J7.

    ,one,one

    4"NN-24"NN-2

    4"NN-24"NN-2

    2.723J$econd 1S27 13J74 ,one 3-7. 3-7.2.?23GJhird2.?23$GJhird

    1S2D1S22

    ?7J?713J?7

    ,one,one

    13-??13-??

    13-??13-??

    2.423GJ=ourth2.423$GJ=ourth

    2.423G7J=ourth2.423G4J=ourth

    1S2S1S2S

    1SS71SS4

    ?7J?7?7J?7

    ?7J?7?7J?7

    22

    222

    7D-D.7D-D.

    7D-4.7D-4.

    7D-D.7D-D.

    D.-2.ND-17.

    +entiumJ=ifth+entiumEEGJ=ifth

    1SS?1SSN

    34J?734J?7

    221313

    3.-3333

    3.-7..133-7??

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    43/47

  • 7/26/2019 Arhitectura Calculatoarelor Curs UTM

    44/47

    Arhitectura Calculatoarelor 44pentru a permite realizarea sistemelor cu mai multe procesoare >entium fiind adugate de asemenea noipini i un mod special de procesare dual pentru sistemele cu dou procesoare"

    +rocesorul>entium >ro este primul din cadrul familiei de procesoare +3" Acest procesor are oarhitectur superscalar !mbuntit care permite e*ecuia a trei instruciuni !ntr-o perioad de tact"+rocesorul >entium >ro ca i urmtoarele procesoare din familia +3 se caracterizeaz prin e*ecuiadinamic a instruciunilor care const din analiza flu*ului de date e*ecuia instruciunilor !ntr-o altordine dect cea secenial o predicie !mbuntit a salturilor i e*ecuia speculati" +e lng celedou memorii cache 61 de cte 2 LH prezente i la procesorul>entium procesorul>entium >ro dispune

    i de o memorie cache 67 de 7D3 LH aflat !n acelai circuit cu unitatea central conectat cu aceastaprintr-o magistral dedicat de 34 de bii" +rocesorul>entium >ro are o magistral de adrese e*tins la ?3de bii astfel !nct spaiul adreselor fizice este de pn la 34 :H"

    +rocesorul>entium %% se bazeaz pe arhitectura>entium >ro la care s-au adugat e*tensiile EEG-Fultimedia 0xtensions)" Eemoria cache 67 a fost mutat !n afara capsulei procesorului" Att memoriacache 61 pentru date ct i memoria cache 61 pentru instruciuni au fost e*tinse la 13 LH fiecare"imensiunea memoriei cache 67 poate fi de 7D3 LH D17 LH 1 EH sau 7 EH" +rocesorul>entium %%utilizeaz diferite stri cu consum redus de putere ca de e*emplu Auto+AL&X IleepM i Deep IleepX

    pentru reducerea puterii consumate !n perioadele de inactiitate"+entium %%% este ultimul din cadrul familiei +3 i se bazeaz pe arhitecturile procesoarelor>entium >ro i

    >entium %%" Au fost adugate N. de noi instruciuni la setul de instruciuni e*istent" Acestea sunt destinateatt unitilor funcionale e*istente la procesoarele precedente ct i noii uniti de calcul !n irgulmobil de tip $%E -Iingle Gnstruction' Fultiple Data)"

    +rimul din familia +N numit +entium 4 a primit i o nou arhitectur cu o itez de procesare maiperformant" ;n ersiunea microprocesorului cu frecena de tact de ?.3 :hz a fost realizat o noutehnologie B hperthreading" Aceast tehnologie permite ca procesele (programele) s f