Microarhitecturi de procesare a informatiei

  • View
    243

  • Download
    7

Embed Size (px)

Text of Microarhitecturi de procesare a informatiei

  • PREFATA

    Aceasta carte se constituie ntr-un efort de prezentare a unor aspecteaferente vastei problematici a microarhitecturilor de procesare ainformatiei, din cel putin trei puncte de vedere "intersectate": formativ,informativ si aplicativ. Consideram ca necesitatea unei asemenea carti esteimediata n contextul societatii informationale spre care ne ndreptam. nparticular pentru Romnia, cu att mai mult este de dorit o ntelegereprofunda a faptului ca - printre altele - o viata mai buna este posibila numaiprintr-o maturizare a domeniului "electronicii si calculatoarelor" si, nconsecinta, a cresterii complexitatii proiectelor ingineresti autohtone.Acesta este si mesajul esential al cartii noastre. Subliniem acest lucrupentru ca, din pacate, mai exista unele opinii care considera ca "aplicatiilehardware" performante nu mai sunt posibile n Romnia de azi, uitnd ca,daca singurele "output - uri" vizibile utilizatorului aplicatiei suntreprezentate de monitorul video sau de imprimanta, complexitateainginereasca este fatalmente extrem de limitata si ca urmare, beneficiulsocial, la fel. Iar apoi, nu este rau sa fie clar pentru toata lumea, faptul canici un algoritm sau program nu ruleaza prin eforturile magice ale vreunuidracusor fantomatic, chiar daca, vrnd - nevrnd, nociva disjunctie"hardware-software" ("tehnologie-concept") tine, cteodata, locul naturaleifuziuni. Ca si contra-balansare la acest gen de "opinii" pesimiste, subliniemfaptul ca tehnologiiile de proiectare automata n microelectronica ("EDATechniques") cu performante practic sincronizate cu nivelul mondial, suntaccesibile acum pe scara larga si la noi. Ele se constituie n suportultehnologic principal al arhitecturilor si aplicatiilor dedicate ("embedded"),att de necesare si diverse azi, cnd vorbim de informatica si electronica"domestica", personalizarea aplicatiilor, control automat si robotica etc.

    Pe scurt, lucrarea este structurata astfel. n capitolul 1 se prezintaelementele esentiale ale arhitecturii microcontrolerelor - instrumenteimportante ale dezvoltarii de arhitecturi si aplicatii dedicate. Capitolele 2 si3 fac o trecere n revista a principalelor caracteristici hardware-softwareale actualei generatii de microprocesoare, de la ierarhizarea sistemului dememorie pna la optimizarea de cod. Capitolul 4 prezinta un studiu de cazaxat pe moderna arhitectura HSA (Hatfield Superscalar Architecture). Seprezinta aici, n premiera la noi n tara credem noi, principiile moderne aleoptimizarii statice de cod, pe baza unor exemple sugestive. La fel, capitolul

  • VI Microarhitecturi de procesare a informatiei

    5 prezinta succint noua arhitectura Intel pe 64 de biti IA-64, al carui primprocesor comercial se va numi "Itanium". Capitolul 6 este unul "de forta",poate cel mai drag autorilor, n care, pe baza unei extrem de laborioasecercetari si cugetari bibliografice, s-a ncearcat predictionareacaracteristicilor hard-soft ale urmatoarei generatii arhitecturale demicroprocesoare comerciale. Marturisim acum ca, scriindu-l, ne-am"nfierbntat" copios, ncntati de rolul nostru temporar de prezicatori.Capitolul urmator, al 7-lea, are drept scop justificarea faptului caarhitectura calculatoarelor se constituie ntr-un domeniu viu si fascinant,posibil a fi investigat de fiecare dintre noi. Va recomandam sa-l cititi si apoisa ncercati sa va construiti propriul dvs. simulator, dedicat unei anumiteprobleme. n capitolul 8 am prezentat cteva aspecte privind arhitecturasistemelor multiprocesor, incluznd modelele de performanta si problemelede coerenta si sincronizare implicate. Capitolele 9 si 10 sunt dedicatepropunerii si rezolvarii de probleme. Consideram ca numai prinsolutionarea sistematica de probleme diverse si fecunde se poate aprofundao asemenea disciplina tehnica de vrf, prin excelenta aplicativa.

    Modernitatea si caracterul pragmatic al lucrarii sunt ntarite prinacompanierea textului scris de un compact disc care contine aplicatii utile,servind ca suport concret pentru cei care vor dori sa treaca dincolo de osimpla informare. Pe CD-ul atasat se afla la dispozitia cititorului o multimede instrumente software originale, dezvoltate n mare parte de catre grupulnostru de cercetare, constituind tot attea posibilitati de investigareinteractiva a microarhitecturilor avansate. Asteptam cu interes sugestiile siobservatiile cititorilor, pentru care le multumim anticipat, pe adreselenoastre de e-mail: vintan@jupiter.sibiu.ro si aflorea@vectra.sibiu.ro.

    Aceasta lucrare nu ar fi putut sa apara fara eforturile admirabile aled-lui prof.dr.ing. Gh. Toacse - initiatorului si contractorul programului decooperare academica TEMPUS JEP AC -13559/98 "RESUME", prin cares-a finantat aparitia cartii. i multumim domnului profesor si pe aceastacale pentru sprijinul acordat precum si pentru faptul de a ne fi transmis cteceva din viziunea sa profesionala care intergreaza att de firesc tehnologiacu arhitectura. Multumirile autorilor se ndreapta si asupra colegilor dinCatedra de Calculatoare a Facultatii de Inginerie din Sibiu, pentrumicroclimatul profesional propice scrierii acestei carti. n final ntreaganoastra gratitudine se cuvine familiilor noastre, pentru sprijinul generos pecare ni l-au acordat dintotdeauna. Le promitem ca pe viitorul apropiat vomncerca sa ne angajam mai putin n asemenea "proiecte" si le vom acordamai mult timp, spre bucuria noastra si a lor.

    Sibiu, decembrie 2000 Autorii

  • CUPRINS

    1. ARHITECTURA MICROCONTROLERELOR....................................................... 1

    1.1. INTRODUCERE N PROBLEMATICA................................................................ 11.2. ARHITECTURA FAMILIEI 80C51....................................................................... 2

    1.2.1. ORGANIZAREA MEMORIEI........................................................................... 21.2.2. MODURILE DE ADRESARE........................................................................... 91.2.3. TIPURI DE INSTRUCTIUNI ......................................................................... 101.2.4. ARHITECTURA INTERNA............................................................................ 17

    1.3. STRUCTURA INTERFETELOR DE INTRARE / IESIRE................................... 271.4. MAGISTRALA DE INTERCONECTARE I2C ................................................. 341.5. MAGISTRALA ACCESS.BUS............................................................................ 421.6. PLACA DE DEZVOLTARE DB 51.................................................................. 48

    2. ARHITECTURA MICROPROCESOARELOR ACTUALE.................................. 51

    2.1. MODELUL DE MICROPROCESOR SCALAR RISC ......................................... 512.2. MICROARHITECTURI CU EXECUTII MULTIPLE ALE INSTRUCTIUNILOR572.3. OPTIMIZAREA PROGRAMELOR OBIECT. TEHNICI MODERNE DEPROCESARE............................................................................................................. 63

    3. ARHITECTURA SISTEMULUI IERARHIZAT DE MEMORIE.......................... 67

    3.1. MEMORII CACHE ............................................................................................. 673.2. MEMORIA VIRTUALA ..................................................................................... 90

    4. O MICROARHITECTURA MODERNA REPREZENTATIVA: HSA.................. 99

    4.1. INTRODUCERE ................................................................................................. 994.2. ARHITECTURA HSA. COMPONENTE PRINCIPALE. ................................... 1024.3. OPTIMIZAREA STATICA A PROGRAMELOR .............................................. 114

    4.3.1. INTRODUCERE ......................................................................................... 1144.3.2. HSS N CONTEXTUL ACTUAL................................................................... 1154.3.3. MECANISMUL DE REORGANIZARE SI OPTIMIZARE.............................. 118

    5. PROCESORUL IA-64: NTRE EVOLUTIE SI REVOLUTIE............................. 135

    6. ARHITECTURA MICROPROCESOARELOR, NCOTRO ? ............................ 147

    7. SIMULAREA UNEI MICROARHITECTURI AVANSATE................................ 181

    7.1. INTRODUCERE ............................................................................................... 1817.2. PRINCIPIILE IMPLEMENTARII SOFTWARE ................................................ 184

    7.2.1. INTERFATA CU UTILIZATORUL. CREAREA RESURSELOR..................... 1867.2.2. INTERFATA CU UTILIZATORUL. NUCLEUL FUNCTIONAL ALPROGRAMULUI. ................................................................................................. 195

    8. ARHITECTURA SISTEMELOR MULTIPROCESOR ....................................... 205

    8.1. DEFINIRI. CLASIFICARI................................................................................. 2058.2. ARHITECTURI CONSACRATE....................................................................... 2088.3. GRANULARITATE SI COMUNICARE ........................................................... 214

  • VIII Microarhitecturi de procesare a informatiei

    8.4. MODELE ANALITICE DE ESTIMARE A PERFORMANTEI.......................... 2178.5. ARHITECTURA SISTEMULUI DE MEMORIE............................................... 222

    8.5.1. DEFINIREA PROBLEMEI .......................................................................... 2228.5.2. PROTOCOALE DE ASIGURARE A COERENTEI CACHE-URILOR ........... 224

    8.6. SINCRONIZAREA PROCESELOR .................................................................. 2288.6.1. ATOMIZARI SI SINCRONIZARI.................................................................. 231

    8.7. CONSISTENTA VARIABILELOR PARTAJATE............................................. 2358.8. METODE DE INTERCONECTARE LA MAGISTRALE .................................. 2378.9. TRANSPUTERE N SMM ..........................................