Dr. Baruch Zoltan Francisc
Profesor




BARUCH, ZOLTAN FRANCISC

STRUCTURA SISTEMELOR DE CALCUL

(în limba engleză)

Editura U. T. PRES, Cluj-Napoca, 2002, ISBN 973-8335-44-2 (416 pagini)









| Pagina cărții | (în limba engleză)




CUPRINS


1. INTRODUCERE

1.1. TAXONOMIA ARHITECTURILOR DE CALCULATOARE
1.2. PREZENTARE GENERALĂ A ARHITECTURILOR DE CALCULATOARE

1.2.1. Multiprocesoare. 1.2.2. Multicalculatoare. 1.2.3. Multi-multiprocesoare. 1.2.4. Arhitecturi cu flux de date. 1.2.5. Procesoare matriciale. 1.2.6. Procesoare vectoriale de tip pipeline. 1.2.7. Matrici sistolice.1.2.8. Arhitecturi hibride. 1.2.9. Rețele neuronale artificiale. 1.2.10. Procesoare bazate pe logica "fuzzy"

1.3. INDICATORI DE PERFORMANȚĂ

1.3.1. Timpul de execuție. 1.3.2. Performanța UCP. 1.3.3. MIPS. 1.3.4. MFLOPS. 1.3.5. Alți indicatori de performanță. 1.3.6. Programe de evaluare a performanțelor: Compararea și sintetizarea performanțelor; Evoluția programelor de evaluare a performanțelor; CPU95; CPU2000. 1.3.7. Factori de calitate

1.4. PRINCIPII CANTITATIVE ALE PROIECTĂRII CALCULATOARELOR

1.4.1. Legea lui Amdahl. 1.4.2. Principiul localității referințelor

1.5. PROBLEME

2. METODE DE REPREZENTARE ȘI DE PROIECTARE

2.1. REPREZENTAREA SISTEMELOR
2.2. NIVELE DE DESCRIERE
2.3. PROCESUL DE PROIECTARE

2.3.1. Sinteza la nivel de sistem. 2.3.2. Sinteza de nivel înalt. 2.3.3. Sinteza la nivelul transferurilor între registre. 2.3.4. Sinteza la nivel logic. 2.3.5. Maparea tehnologică

2.4. LIMBAJUL DE DESCRIERE HARDWARE VHDL

2.4.1. Limbaje de descriere hardware. 2.4.2. Introducere în limbajul VHDL. 2.4.3. Stiluri de descriere VHDL. 2.4.4. Modelul timpului în limbajul VHDL. 2.4.5. Simularea unui model

3. UNITATEA ARITMETICĂ ȘI LOGICĂ

3.1. ADUNAREA

3.1.1. Sumatorul elementar. 3.1.2. Sumatorul cu propagarea succesivă a transportului. 3.1.3. Sumatorul cu anticiparea transportului. 3.1.4. Sumatorul cu selecția transportului. 3.1.5. Sumatorul cu salvarea transportului. 3.1.6. Sumatorul serial. 3.1.7. Adunarea numerelor zecimale

3.2. ÎNMULȚIREA

3.2.1. Înmulțirea prin deplasare și adunare. 3.2.2. Tehnica Booth. 3.2.3. Arborele Wallace. 3.2.4. Deplasarea peste zero și peste unu. 3.2.5. Înmulțirea matricială

3.3. ÎMPĂRȚIREA

3.3.1. Împărțirea cu refacerea restului parțial. 3.3.2. Împărțirea fără refacerea restului parțial. 3.3.3. Împărțirea prin metoda SRT. 3.3.4. Alte metode rapide de împărțire. 3.3.5. Împărțirea matricială. 3.3.6. Împărțirea cu semn

3.4. NUMERE REPREZENTATE ÎN VIRGULĂ MOBILĂ

3.4.1. Reprezentarea numerelor în virgulă mobilă: Principii; Reprezentarea numerelor în formatul IEEE 754. 3.4.2. Operații cu numere reprezentate în virgulă mobilă: Adunarea și scăderea în virgulă mobilă; Înmulțirea și împărțirea în virgulă mobilă; Considerații de precizie

3.5. PROBLEME

4. SISTEME DE MEMORIE

4.1. IERARHIA MEMORIILOR
4.2. TIPURI DE MEMORII
4.3. INDICATORI DE PERFORMANȚĂ AI MEMORIILOR
4.4. MEMORIA PRINCIPALĂ SEMICONDUCTOARE

4.4.1. Celula de memorie și unitatea de memorie. 4.4.2. Organizarea memoriilor. 4.4.3. Proiectarea memoriilor. 4.4.4. Exemplu de circuit de memorie comercial. 4.4.5. Parametri ai memoriilor DRAM. 4.4.6. Tehnologii pentru memoriile DRAM: Categorii de memorii DRAM; FPM DRAM; EDO DRAM; BEDO DRAM; SDRAM; HSDRAM; ESDRAM; Memoria cu canale virtuale; FCRAM; DDR SDRAM; DDR II SDRAM; RDRAM și DRDRAM; IRAM; Module de memorie

4.5. MEMORIA CU UNITĂȚI MULTIPLE
4.6. MEMORIA ASOCIATIVĂ
4.7. MEMORIA CACHE

4.7.1. Principiul memoriei cache. 4.7.2. Organizarea memoriei cache. 4.7.3. Funcționarea memoriei cache. 4.7.4. Maparea adreselor: Maparea asociativă; Maparea directă; Maparea cu seturi asociative. 4.7.5. Strategii de înlocuire: Înlocuire aleatoare; Cel mai puțin frecvent utilizat (LFU); Cel mai puțin recent utilizat (LRU). 4.7.6. Tipuri de memorii cache. 4.7.7. Performanțele memoriilor cache. 4.7.8. Coerența memoriilor cache

4.8. MEMORIA VIRTUALĂ

4.8.1. Principiul memoriei virtuale. 4.8.2. Translatarea adreselor. 4.8.3. Paginarea. 4.8.4. Segmentarea. 4.8.5. Paginarea și segmentarea. 4.8.6. Alocarea memoriei: Alocarea non-preemptivă; Alocarea preemptivă; Strategii de înlocuire. 4.8.7. Gestiunea memoriei la Arhitectura Intel: Prezentare generală a gestiunii memoriei; Segmentarea; Paginarea

4.9. PROBLEME

5. SISTEME PIPELINE

5.1. STRUCTURA UNUI SISTEM PIPELINE
5.2. INDICATORI DE PERFORMANȚĂ AI SISTEMELOR PIPELINE
5.3. TIPURI DE SISTEME PIPELINE
5.4. SISTEME PIPELINE DE INSTRUCȚIUNI

5.4.1. Principii. 5.4.2. Problema indisponibilității instrucțiunilor. 5.4.3. Problema întârzierii introduse de etaje. 5.4.4. Problema hazardului structural. 5.4.5. Problema hazardului de date: Dependențe de date; Metoda Tomasulo; Metoda tabelei de rezultate. 5.4.6. Problema hazardului de control: Instrucțiuni de salt; Predicția salturilor; Întârzierea salturilor; Preîncărcarea multiplă. 5.4.7. Sistemul pipeline al procesoarelor cu arhitectura Intel: Unitatea de extragere/decodificare; Rezervorul de instrucțiuni; Unitatea de expediere/execuție; Unitatea de retragere a instrucțiunilor; Unitatea de interfață cu magistrala. 5.4.8. Îmbunătățirea ratei de transfer: Prelucrarea superscalară; Prelucrarea superpipeline; Cuvinte foarte lungi de instrucțiuni; EPIC; Comparație între metodele de îmbunătățire a ratei de transfer

5.5. SISTEME PIPELINE ARITMETICE

5.5.1. Principii. 5.5.2. Proiectarea unui sistem pipeline aritmetic. 5.5.3. Sisteme pipeline aritmetice cu reacție inversă. 5.5.4. Circuite de înmulțire de tip pipeline. 5.5.5. Matrici sistolice

5.6. CONTROLUL SISTEMELOR PIPELINE

5.6.1. Planificarea. 5.6.2. Planificarea sistemelor pipeline statice. 5.6.3. Planificarea sistemelor pipeline dinamice

5.7. PROBLEME

6. ARHITECTURI RISC

6.1. INTRODUCERE
6.2. CAUZE ALE COMPLEXITĂȚII ARHITECTURALE CRESCUTE
6.3. AVANTAJELE ARHITECTURILOR RISC
6.4. UTILIZAREA UNUI NUMĂR MARE DE REGISTRE
6.5. CARACTERISTICI ALE ARHITECTURILOR RISC
6.6. COMPARAȚIE ÎNTRE ARHITECTURILE RISC ȘI CISC
6.7. APLICAȚII ALE PROCESOARELOR RISC
6.8. MIPS

6.8.1. Introducere. 6.8.2. MIPS R2000. 6.8.3. MIPS R3000. 6.8.4. MIPS R3500. 6.8.5. MIPS R3001. 6.8.6. MIPS R4000. 6.8.7. MIPS R4300i. 6.8.8. MIPS R4400. 6.8.9. MIPS R4600, R4650 și R4700. 6.8.10. MIPS R6000. 6.8.11. Arhitectura MIPS-III: Detalii hardware; Detalii software; Unitatea de calcul în virgulă mobilă; Memoriile cache; Gestiunea memoriei; Excepții. 6.8.12. MIPS R8000 și R10000: Introducere; Detalii hardware; Detalii software; Unitatea de calcul în virgulă mobilă; Memoriile cache; Gestiunea memoriei. 6.8.13. MIPS R5000: Prezentare generală; Performanțe îmbunătățite ale graficii 3D; Posibilitatea multiprocesării; Suport pentru memoria cache secundară; Mecanism flexibil pentru controlul ceasului. 6.8.14. Sumar

6.9. SPARC

6.9.1. Introducere. 6.9.2. HyperSPARC. 6.9.3. SuperSPARC. 6.9.4. MicroSPARC și MicroSPARC-II. 6.9.5. SPARClite. 6.9.6. UltraSPARC-I. 6.9.7. UltraSPARC-II. 6.9.8. UltraSPARC-IIi: Prezentare generală; Schema bloc; Unitatea de preîncărcare și expediere; Unitatea de execuție pentru numere întregi; Unitatea în virgulă mobilă; Unitatea de gestiune a memoriei pentru I/E; Unitatea de control a memoriei; Unitatea de încărcare și memorare; Memoriile cache de instrucțiuni și de date; Unitatea pentru memoria cache externă; Unitatea grafică; Setul de instrucțiuni VIS. 6.9.9. UltraSPARC-III. 6.9.10. MAJC. 6.9.11. Sumar

6.10. ALPHA

6.10.1. Introducere. 6.10.2. Alpha 21064 și 21064A: Prezentare generală; Schema bloc; Unitatea de extragere/decodificare a instrucțiunilor; Unitatea de execuție pentru numere întregi; Unitatea de execuție pentru numere în virgulă mobilă; Unitatea de adrese; Unitatea de salturi; Memoria cache; Detalii software; Gestiunea memoriei. 6.10.3. Alpha 21066, 21066A și 21068. 6.10.4. Alpha 21164 și 21164PC: Prezentare generală; Schema bloc; Unitatea de extragere/decodificare a instrucțiunilor și de salturi; Unitatea de execuție pentru numere întregi; Unitatea de execuție pentru numere în virgulă mobilă; Unitatea de translatare a adreselor de memorie; Unitatea de control a memoriei cache și de interfață cu magistrala; Memoriile cache; Interfața cu memoria ROM serială. 6.10.5. Alpha 21264: Prezentare generală; Schema bloc; Unitatea de extragere, expediere și retragere a instrucțiunilor; Unitatea de execuție pentru numere întregi; Unitatea de execuție pentru numere în virgulă mobilă; Memoriile cache; Unitatea de referință a memoriei; Unitatea de interfață cu memoria cache externă și cu sistemul; Interfața cu memoria SROM. 6.10.6. Sumar

6.11. POWERPC

6.11.1. Introducere. 6.11.2. PowerPC 601: Prezentare generală; Schema bloc; Unitatea de instrucțiuni; Unitățile de execuție; Memoria cache; Gestiunea memoriei; Detalii software; Excepții. 6.11.3. PowerPC 602. 6.11.4. PowerPC 603 și 603e. 6.11.5. PowerPC 604 și 604e. 6.11.6. PowerPC 740 și 750: Prezentare generală; Schema bloc; Unitatea de instrucțiuni; Unitatea de terminare a instrucțiunilor; Unitățile pentru numere întregi; Unitatea pentru numere în virgulă mobilă; Unitatea de încărcare/memorare; Unitatea pentru registrele sistem; Unitățile de gestiune a memoriei; Memoriile cache interne; Memoria cache L2; Unitatea de interfață cu magistrala. 6.11.7. PowerPC 7400: Prezentare generală; Unitatea de permutare vectorială AltiVec; Unitatea aritmetică și logică vectorială AltiVec. 6.11.8. PowerPC 850 și 860: Prezentare generală; Schema bloc; Nucleul PowerPC; Unitatea de interfață cu sistemul; Controlerul PCMCIA; Modulul procesorului de comunicații; Diferențe între procesoarele MPC850 și MPC860. 6.11.9. Sumar

6.12. PROBLEME

BIBLIOGRAFIE

INDEX