Dr. Baruch Zoltan Francisc
Profesor




BARUCH, ZOLTAN FRANCISC

STRUCTURA SISTEMELOR DE CALCUL

Editura Albastră, Cluj-Napoca, 2005, ISBN 973-650-143-4 (448 pagini)








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. Timpul 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

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. Sumatorul zecimal

3.2. ÎNMULȚIREA

3.2.1. Înmulțirea prin deplasare și adunare
3.2.2. Tehnica Booth
3.2.3. Înmulțirea într-o bază superioară
3.2.4. Înmulțirea matricială
3.2.5. Arborele Wallace
3.2.6. Deplasarea peste zero și peste unu

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 ȘI OPERAȚII Î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; Memoria FCRAM; DDR SDRAM; DDR II SDRAM; Rambus DRAM; IRAM; Module de memorie

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

4.7.1. Principii
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
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. Principii
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 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. ARHITECTURA 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. ARHITECTURA 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. ARHITECTURA POWERPC

6.10.1. Introducere
6.10.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.10.3. PowerPC 602
6.10.4. PowerPC 603 și 603e
6.10.5. PowerPC 604 și 604e
6.10.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.10.7. PowerPC 7400: Prezentare generală; Unitatea de permutare vectorială AltiVec; Unitatea aritmetică și logică vectorială AltiVec
6.10.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.10.9. Sumar

6.11. PROBLEME

BIBLIOGRAFIE