Fundamente ale arhitecturii microprocesoarelor, editia a II-a revizuită si adaugită

349
A apărut cartea: Fundamente ale arhitecturii microprocesoarelor, editia a II-a revizuită si adaugită, autor prof.univ.dr.ing. VINŢAN N. LUCIAN, Editura Matrix Rom, Bucureşti, ISBN: 978-606-25-0518-9, 2019 (607 pg.) https://www.emag.ro/fundamente-ale-arhitecturii-microprocesoarelor-editia-a-ii-a-revizuita-si-adaugita-lucian-n-vintan-fa90/pd/DTT2BGBBM/ Această nouă ediție a lucrării reprezintă o versiune atent revizuită, îmbunătățită și semnificativ adăugită, la nivelul fiecărui capitol. S-au adăugat, față de prima ediție, în principal, următoarele teme:
  • O introducere detaliată în procesarea instrucțiunilor mașină pe un sistem de calcul, la nivel de fază (ciclu mașină) și tact procesor, cu evidențierea funcționării unității de control
  • Impactul predicției neuronale a instrucțiunilor de ramificație (branches) asupra microprocesoarelor comerciale avansate de astăzi, dar și asupra unor cercetări medicale de vârf, de tipul brain-machine implants
  • Arhitectura familiei de procesoare, de tip open source, RISC-V
  • Acceleratoare hardware și arhitecturi de calcul dedicate, de tipul Domain-Specific Architectures
  • O analiză a breșelor hardware de securitate ale microprocesoarelor actuale (Meltdown și Spectre)
  • Sisteme de calcul de tip masive de procesare (Warehouse-Scale Computer)
  • Siguranța în funcționare a sistemelor de calcul, scurtă introducere în codurile detectoare și corectoare de erori
  • Probleme și aplicații noi etc.
Mulțumesc domnului inginer Ioan Camil Băncioiu pentru ajutorul competent și generos acordat în procesul de tehnoredactare a lucrării.  

22 septembrie 2019, Sibiu

  Lucian N. Vințan

CUPRINS

CUPRINS. 14 0    SCURTĂ ISTORIE A SISTEMELOR DE CALCUL.. 16 1    INTRODUCERE ÎN FILOSOFIA MICROSISTEMELOR DE CALCUL.. 26 1.1   SCHEMA BLOC A UNUI MICROSISTEM. ROLUL BLOCURILOR COMPONENTE, FUNCŢIONARE DE ANSAMBLU. 26 1.2   MODURI DE LUCRU ÎNTRE MICROPROCESOR ŞI INTERFEŢELE I/O.. 54 1.2.1  MODUL DE LUCRU PRIN INTEROGARE (“POLLING”) 54 1.2.2  MODUL DE LUCRU PRIN ÎNTRERUPERI HARDWARE.. 57 1.2.3  MODUL DE LUCRU PRIN TRANSFER DMA (DIRECT MEMORY ACCESS) 62 2    ARHITECTURA SISTEMULUI IERARHIZAT DE MEMORIE.. 69 2.1   MEMORII CACHE.. 69 2.2   MEMORIA VIRTUALĂ.. 107 3    PROCESOARE PIPELINE SCALARE CU SET OPTIMIZAT DE INSTRUCŢIUNI. 119 3.1   MODELUL RISC. GENEZĂ ŞI CARACTERISTICI GENERALE.. 119 3.2   SET DE INSTRUCŢIUNI. REGIŞTRI INTERNI LA MODELUL ARHITECTURAL RISC.. 121 3.2.1  DUALITATEA ARHITECTURĂ – APLICAŢIE: IMPLEMENTAREA GESTIUNII STIVELOR DE DATE ASOCIATE FUNCŢIILOR C.. 133 3.2.2  IMPLEMENTAREA RECURSIVITĂŢII 137 3.3   ARHITECTURA SISTEMULUI DE MEMORIE LA PROCESOARELE RISC.. 139 3.4   PROCESAREA PIPELINE ÎN CADRUL PROCESOARELOR SCALARE.. 141 3.4.1  DEFINIREA CONCEPTULUI DE ARHITECTURĂ PIPELINE SCALARĂ.. 141 3.4.2  PRINCIPIUL DE PROCESARE ÎNTR-UN PROCESOR PIPELINE.. 145 3.4.3  STRUCTURA PRINCIPIALĂ A UNUI PROCESOR RISC.. 148 3.4.4  PROBLEMA HAZARDURILOR ÎN PROCESOARELE RISC.. 152 3.4.5  PROBLEMA EXCEPŢIILOR ÎN PROCESOARELE RISC.. 234 3.4.6  AMBIGUITATEA REFERINŢELOR LA MEMORIE.. 237 3.4.7  EXECUŢIA CONDIŢIONATĂ ŞI SPECULATIVĂ.. 239 4    PROCESOARE CU EXECUŢII MULTIPLE ALE INSTRUCŢIUNILOR. MULTIPROCESOARE.. 243 4.1   CONSIDERAŢII GENERALE. PROCESOARE SUPERSCALARE ŞI VLIW (EPIC) 243 4.2   MODELE DE PROCESARE ÎN ARHITECTURILE SUPERSCALARE.. 264 4.3   ARHITECTURA LUI R. TOMASULO.. 266 4.4   O ARHITECTURĂ REPREZENTATIVĂ DE PROCESOR SUPERSCALAR.. 276 4.5   PROBLEME SPECIFICE INSTRUCŢIUNILOR DE RAMIFICAŢIE ÎN ARHITECTURILE MEM… 295 4.6   MICROPROCESOARE MULTI-MICROTHREAD.. 297 4.6.1  MODELUL CU ÎNTREȚESERE LA NIVEL DE CICLU ȘI BLOC.. 303 4.7   Modelul multithreading simultan.. 308 4.8   OPTIMIZAREA BASIC-BLOCK-URILOR ÎN ARHITECTURILE MEM… 313 4.8.1  PARTIŢIONAREA UNUI PROGRAM ÎN „BASIC-BLOCK”-URI 317 4.8.2  CONSTRUCŢIA GRAFULUI DEPENDENŢELOR DE DATE ASOCIAT. 318 4.8.3  CONCEPTUL CĂII CRITICE.. 320 4.8.4  ALGORITMUL „LIST SCHEDULING” (LS) 321 4.9   PROBLEMA OPTIMIZĂRII GLOBALE ÎN CADRUL PROCESOARELOR MEM… 327 4.9.1  TEHNICA „TRACE SCHEDULING” (TS) 329 4.10 OPTIMIZAREA BUCLELOR DE PROGRAM… 338 4.10.1 TEHNICA „LOOP UNROLLING”. 338 4.10.2 TEHNICA „SOFTWARE PIPELINING”. 341 4.11 ARHITECTURI CU TRANSPORT DECLANŞAT.. 344 4.12 EXTENSII ALE ARHITECTURILOR MEM PE BAZĂ DE REUTILIZARE ȘI PREDICȚIE A INSTRUCȚIUNILOR   347 4.13 PROCESAREA VECTORIALĂ.. 386 4.14 SISTEME MULTIPROCESOR.. 400 4.15 OPTIMIZAREA MULTI-OBIECTIV A SISTEMELOR DE CALCUL.. 519 4.16 BREȘE DE SECURITATE ÎN MICROPROCESOARELE ACTUALE.. 546 5    PROBLEME PROPUSE SPRE REZOLVARE.. 560 6    BIBLIOGRAFIE SELECTIVĂ.. 589 7    GLOSAR DE TERMENI TEHNICI UTILIZAȚI. 596  

Lucian N. VINȚAN

a fost profesor universitar și primul conducător de doctorate în domeniul „Calculatoare și tehnologia informației”  la Universitatea „Lucian Blaga”  din Sibiu, unde  a condus  „Centrul de cercetare pentru arhitecturi avansate de procesare a informaţiei”. A obținut titlul de inginer diplomat și un doctorat, ambele de la Universitatea „Politehnica” din Timișoara, în domeniul științei și ingineriei sistemelor de calcul. Profesorul Lucian N. VINȚAN a fost expert în arhitectura sistemelor de calcul, optimizare multi-obiectiv (Pareto) și metode de text-mining. El a publicat peste 160 de articole științifice în reviste prestigioase de specialitate, spre ex. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Information Sciences (Elsevier), Concurrency and Computation: Practice and Experience (Wiley & Sons), Journal of Systems Architecture (Elsevier), IET Computers & Digital Techniques, Microprocessors and Microsystems (Elsevier) etc. precum și în conferințe internaționale de referință (IEEE, ACM), din România, SUA, Marea Britanie, Italia, Germania, Spania, China etc. Peste 45 dintre acestea sunt indexate/cotate (ISI) (Thomson Reuters) Clarivate Analytics Web of Science (WoS). Lucrările sale au înregistrat până în prezent peste 990 de citări internaționale independente, prin intermediul unor  publicații de certă ținută științifică (spre ex. în prestigioasa revista IEEE Transactions on Computers). A fost unul dintre pionierii introducerii unor metode de machine learning (rețele neuronale, algoritmi genetici multi-obiectiv, algoritmi de tip swarm intelligence, data-mining etc.), sisteme decizionale, logici fuzzy, teoria informației etc., în cercetarea sistemelor avansate de calcul. A finalizat, în calitate de director de proiect, 12 granturi de cercetare științifică la nivel național / internațional, obținute prin competiții (spre exemplu, grantul intitulat „Îmbunătățiri ale paradigmei arhitecturilor superscalare prin reutilizarea și predicția valorilor instrucțiunilor„. În perioada 1998-2000 a fost coordonator general al proiectului european TEMPUS JEP AC 13559/1998 („Retraining Support for Small and Medium Enterprises, în colaborare cu universități din: București („Politehnica”), Brașov („Transilvania”), Anglia (De Montfort, Leicester), Irlanda (Galway), Spania (Univ. Autonoma Barcelona) și Germania (Univ. Karlsruhe). A condus 7 teze de doctorat finalizate cu succes (una în co-tutelă cu Universitatea din Augsburg, Germania – prof. dr. hab. Theo Ungerer, alta în colaborare cu Siemens AG CT IC Munchen – prof. dr. Volker Tresp, prof. dr.h.c. Hartmut Raffler – vicepreședinte Siemens). În anul 2005 a fost ales membru corespondent, iar în anul 2012 membru titular al Academiei de Științe Tehnice din România. În anul 2005 i s-a acordat Premiul „Tudor Tănăsescu” al Academiei Române, pentru o monografie științifică publicată în anul 2003 A obținut titlul onorific de Visiting Research Fellowde la University of Hertfordshire (UH), Marea Britanie (2002) „ca recunoaștere a activităților comune de cercetare științifică” (cf.  J. M. Senior, PhD, Dean of the Faculty of Engineering and Information Sciences, UH). Din anul 2005 a fost expert activ al Comisiei Europene în domeniul sistemelor de calcul, fiind implicat în evaluarea și monitorizarea a zeci de proiecte europene de cercetare științifică. A fost membru în Comisia de „Calculatoare, tehnologia informației și ingineria sistemelor” din cadrul „Consiliului National de Atestare a Titlurilor, Diplomelor si Certificatelor Universitare” (CNATDCU). A obținut premiul Best Paper Awardla Conferința IEEE RoEduNet 2010. I s-a acordat diploma de excelență „în semn de prețuire pentru contribuția adusă la dezvoltarea domeniului de Calculatoare și tehnologia informației”,de la Universitatea „Politehnica” din București, Facultatea de Automatică și Calculatoare, 2014. A fost membru al European Network of Excellence on High Performance and Embedded Architectureand Compilation (HiPEAC). A fost membru al comitetelor științifice de program a peste 160 conferințe internaționale, în această calitate realizând sute de recenzii. A primit câteva distincții și medalii, în semn de recunoaștere a activității sale profesionale, de la ULB Sibiu (ex. „pentru competență academică deosebită și servicii excepționale aduse”) În 2014, Alianța Națională a Organizațiilor Studențești din România i-a acordat titlul de „Profesor Bologna”. Ideea de predictor neuronal de branch-uri, concept introdus de dl. prof. L. VINTAN in premieră mondială, a fost preluată în microprocesoare comerciale de mare performanță .