Get ready for a dazzling summer with our new arrivals
heroicons/outline/phone Servizio Clienti 06.92959541 heroicons/outline/truck Spedizione gratuita sopra i 29€

Architettura Dei Sistemi Di Elaborazione Fondamenti, Firmware, Architetture Parallele

ISBN/EAN
9788820427467
Editore
Franco Angeli
Collana
Scienze e tecnologie informatiche - diretta da gior
Formato
Brossura
Anno
1988
Edizione
4
Pagine
554
56,00 €
Rivolto a chi intende approfondire lo studio dell'architettura dei sistemi di elaborazione dal punto di vista sia dell'analisi che del progetto, affronta il tema in modo organico, coprendo i livelli della organizzazione firmware, della macchina intermedia, del sistema operativo e dell'interfaccia verso le applicazioni. Le architetture studiate vanno da quelle uniprocessore e con componenti LSI/VLSI a quelle parallele e ai sistemi distribuiti. In linea con i risultati scientifici e industriali degli ultimi anni, l'approccio seguito enfatizza gli aspetti della progettazione strutturata e dell'integrazione hardware-software. Vengono fornite le basi teoriche e metodologiche e le tecniche per l'analisi e il progetto ai vari livelli di astrazione, studiando le caratteristiche comuni a ogni livello, le interrelazioni tra livelli comuni e le possibilità di ottimizzare le prestazioni complessive di interesse in rapporto al costo tecnologico e di sviluppo. Il testo consta di sei parti suddivise in due volumi. La prima definisce i concetti e le metodologie fondamentali per un approccio strutturato all'analisi ed al progetto. La secondo tratto dell'architettura al livello firmware, con riferimento a calcolatori con limitato grado di parallelismo ed a sistemi a microcalcolatori LSI/VLSI. La terza studia le architetture parallele per medi, grandi e supercalcolatori, nonché le architetture non-von Neumann. La quarto parte affronta la strutturazione ed il progetto dei sistemi operativi in termini di modelli di concorrenza, meccanismi e politiche di gestione delle risorse e loro valutazione, enfatizzando le interrelazioni con gli altri livelli del sistema e con l'ingegneria del software. La quinta tratta dell'architettura e progettazione di sistemi di tipo multiprocessore e multicalcolatore. La sesta è relativa ai sistemi distribuiti ed alle reti di calcolatori, approfondendo gli aspetti del sistema operativo distribuito, delle metodologie e degli algoritmi per l'elaborazione in ambiente decentralizzato. Usato in ambito universitario, il testo permette di coprire le esigenze di più moduli didattici, sia di base che specialisti, nei curricula in Scienze dell'informazione ed Ingegneria. Fabrizio Baiardi è ricercatore presso il Dipartimento di informatica dell'Università di Pisa. Svolge attività di ricerca sui linguaggi concorrenti e sistemi ad elevato grado di parallelismo, e in particolare sugli ambienti di supporto a tali linguaggi e le metodologie di progettazione integrate hardware-software. Andrea Tomasi è ricercatore presso il Dipartimento di informatica dell'Università di Pisa. Svolge attività di ricerca in questo settore, ed in particolare su sistemi paralleli, supporti hardware-software e sistemi operativi per achitetture distribuite. Marco Vanneschi è professore ordinario di sistemi per l'eleborazione dell'informazione presso la Facoltà di Scienze Matematiche, fisiche e naturali dell'Università di Pisa, Dipartimento d'Informatica.

Maggiori Informazioni

Autore Baiardi Francesco; Tomasi Andrea; Vanneschi Marco
Editore Franco Angeli
Anno 1988
Tipologia Libro
Collana Scienze e tecnologie informatiche - diretta da gior
Num. Collana 1
Lingua Italiano
Indice Vol. I PREFAZIONE 1. Obiettivi e metodo 2. Contenuti 3. Utilizzazione del testo Ringraziamenti PARTE I - FONDAMENTI E METODOLOGIE 1. STRUTTURAZIONE A LIVELLI 1. Livelli gerarchici di interpretazione 1.1. Supporti a tempo di esecuzione 1.2. Principi di progettazione strutturata 1.3. Interfacciamento dei livelli 2. Livelli tipici 2.1. Macchina firmware 2.2. Macchina assembler 2.3. Sistema operativo 2.4. Applicazioni 3. Livelli funzionali e di implementazione 2. STRUTTURAZIONE A MODULI 1. Moduli di elaborazione 1. 1. Autonomia 1.2. Sequenzialità 1.3. Parallelismo tra moduli 1.4. Moduli ai vari livelli 2. Unità di elaborazione e architettura firmware 2. 1. Organizzazione di un calcolatore convenzionale 2.1.1. Memoria principale 2.1.2. Processore 2.1.3. Unità di ingresso-uscita 2.1.3.1. Modalità di trasferimento tra I/O e memoria 2.1.3.2. Indirizzamento di unità di I/O 2.2. Architetture parallele 2.2.1. Sistemi uniprocessore paralleli 2.2.2. Sistemi multiprocessore 2.2.3. Sistemi di tipo rete 2.3. Modello di unità di elaborazione 2.4. Tecnologie per il livello firmware 3. Processi e sistema operativo 3.1. Multiprogrammazione e concorrenza 3.2. Nucleo del sistema operativo 3.3. Processi di sistema operativo 3.4. Tecnologie per il livello del sistema operativo 4. Computazioni in parallelo 4.1. Ordinamenti parziali 4.2. Determinatezza funzionale 4.3. Modalità di interazione 4.3.1. Interazione diretta 4.3.2. Interazione indiretta 4.4. Stallo 3. MODELLI DI COOPERAZIONE 1. Ambiente globale ed ambiente locale 2. Modelli di cooperazione ai vari livelli 3. Meccanismi di cooperazione ad ambiente globale 3.1. Meccanismi elementari 3.2. Meccanismi strutturati: monitor 4. Meccanismi di cooperazione ad ambiente locale 4.1. Canali di comunicazione 4.1.1. Canali con tipo 4.1.2. Modello di comunicazione 4.2. Forme di comunicazione 4.2.1. Comunicazione simmetrica/asimmetrica 4.2.2. Comunicazione sincrona/asincrona 4.3. Altre modalità di comunicazione 4.3.1. Rendez-vous esteso 4.3.2. Comunicazioni non bloccanti/con «time-out» 5. Controllo del nondeterminismo 5.1. Livello firmware 5.2. Livello dei processi: modello CSP 6. Trattamento dell'ingresso-uscita 4. PARAMETRI DI VALUTAZIONE E METODOLOGIE DI PROGETTO 1. Velocità di elaborazione 1.1. Banda di elaborazione 1.1.1. Caso di un singolo modulo 1.1.2. Caso di un sottosistema 1. 1. 3. Come aumentare la banda di elaborazione 1.2. Forme di parallelismo per moduli puramente funzionari 1.3. Forme di parallelismo per moduli con stato 1.3.1. Forma completamente parallela 1.3.2. Forma pipeline 1.4. Grado di accoppiamento 1.5. Granularità in elaborazioni parallele 2. Espandibilità 2.1. Espandibilità strutturale 2.2. Scalabilità 3. Affidabilità 3.1. Affidabilità e tolleranza ai guasti 3.1.1. Livello di interpretazione 3.1.2. Durata temporale 3.1.3. Molteplicità 3.2. Rilevazione dell'errore e diagnosi 3.3. Forme di ridondanza 3.3.1. Ridondanza attiva o «calda» 3.3.2. Ridondanza passiva o «fredda» 3.4. Riconfigurazione e ripristino 3.5. Protezione ed affidabilità 3.6. Sistemi con elevata protezione 3.6.1. Ambiente chiuso 3.6.1.1. Assenza di privilegi per default 3.6.1.2. Mediazione completa 3.6.2. Privilegio minimo 3.6.3. Controllo delle risorse in assenza di effetti collaterali 3.6.4. Verifica delle decisioni indipendente da errori 3.7. Azioni atomiche Bibliografia sulla parte I Esercizi sulla parte I PARTE Il - LIVELLO FIRMWARE 5. MICROPROGRAMMAZIONE 1. Un esempio: unità buffer 1.1. Rappresentazione in microlinguaggio eseguibile 1.2. Implementazione della Parte Controllo 1.3. Ciclo di clock 1.4. Considerazioni conclusive 2. Linguaggi e modelli di microprogrammazione 2.1. Microlinguaggio eseguibile 2.2. Realizzazione microprogrammata della Parte Controllo 2.3. Mierolinguaggio codificato 2.3.1. Codifica delle microoperazioni 2.3.2. Codifica dei trasferimenti 2.3.3. Codifica delle condizioni logiche 2.4. Modelli di implementazione microprogrammata 2.4. 1. Implementazione parallela dei microprogrammi TS 2.4.2. Implementazione seriale dei microprogrammi TS 2.4.3. Implementazione seriale dei microprogrammi PS 2.4.4. Implementazione parallela dei microprogrammi PS 3. Metodologia di microprogrammazione 3.1. Organizzazione orizzontale 3.2. Organizzazione verticale 3.3. Organizzazione diagonale 3.4. Microprogrammazione dinamica 3.4.1. Implicazioni sulla Parte Operativa 3.4.2. Implicazioni sulla Parte Controllo 6. COOPERAZIONE TRA UNITA 1. Meccanismi di sincronizzazione 1.1. Meccanismo a livelli 1.2. Meccanismo a transizione di livello 1.3. Nota sul funzionamento dei sincronizzatori 1.4. Comunicazione asincrona con buffer a più posizioni 2. Meccanismi di arbitraggio 2.1. Meccanismi centralizzati 2.1.1. Arbitro a richieste indipendenti 2.1.2. «Daisy Chaining» 2.1.3. «Polling» 2.1.4. Divisione di tempo 2.1.5. Arbitri misti 2.2. Arbitraggio effettuato dall'unità gestore della risorsa 2.3. Meccanismi decentralizzati 2.3.1. Arbitro decentralizzato a disciplina circolare 2.3.2. Arbitro decentralizzato non-deterministico 2.4. Supporti per la gestione delle interruzioni 3. Strutture di comunicazione e protocolli 3.1. Collegamenti fisici 3. 1. 1. Anello 3.1.2. Crossbar centralizzato 3.1.3. Unità a molte porte 3.1.4. Cubo a n-dimensioni 3.1.5. Strutture omega 3.2. Protocolli di comunicazione-- 3.2.1. Arbitraggio 3.2.2. Indirizzamento del destinatario 3.2.3. Sincronizzazione 3.2.4. Trasmissione dati 3.2.4.1. Linee parallele 3.2.4.2. Linee seriali 3.2.5. Ripristino dello stato iniziale 3.3. Componenti per interfacciamento 3.3.1. Porte d'interfaccia 3.3.2. Interfaccia su bus parallelo 3.3.3. Interfaccia su linea seriale dedicata 3.4. Elementi di valutazione 3.5. Esempi di collegamenti standard seriali e paralleli 3.5.1. Standard ad anello di corrente 3.5.2. Standard EIA/RS232C 3.5.3. Standard IEEE 488 3.5.4. Bus S 100 3.5.5. Bus LSI- 11 3.5.6. Unibus e massbus 7. GESTIONE DELLA MEMORIA 1. Supporti di memorizzazione 1.1. Supporti fisici e gerarchie di memoria 1.2. Gestione degli indirizzi e unità MMU 2. Meccanismi di rilocazione dinamica in gerarchie di memoria a due livelli 2.1. Funzione di traduzione degli indirizzi 2.2. Eccezione di fault 2.3. Algoritmi di rimpiazzamento 2.4. Segmentazione 3. Memoria virtuale 3. 1. Traduzione degli indirizzi 3.2. Una implementazione delle funzioni di gestione della memoria virtuale 3.3. Considerazioni conclusive 4. Meccanismi di gestione della memoria virtuale e controlli di protezione 4.1. Gestione degli accessi ad oggetti 4.2. Condivisione di oggetti e meccanismi di rilocazione 4.3. Un meccanismo efficiente per implementare il principio del privilegio minimo 5. Cache 5.1 Metodi di indirizzamento nel cache 5.1.1. Metodo diretto 5.1.2. Metodo completamente associativo 5.1.3. Metodo associativo su insiemi' 5.2. Valutazioni 5.3. Gerarchia di memoria a tre livelli 6. Un esempio di implementazione dell'unità MMU 8. STUDIO DI UN CASO 1. Specifiche funzionari e strutturali 1.1. Memoria ed ingresso uscita 1.2. Eccezioni 1.3. Segmentazione e protezione 1.4. Controllo degli accessi ad oggetti 1.5. Istruzioni assembler 1.6. Interfacce del processare 1.7. Implementazione di MMU 2. Implementazione e valutazione 2.1. Parte Operativa 2. 1. 1. Registri 2.1.2. Reti di calcolo 2.1.3. Variabili di condizionamento e indicatori 2.2. Microlinguaggio e Parte Controllo 2.3. Organizzazione dei microprogrammi 2.4. Una soluzione 2.5. Valutazione della performance 9. TECNOLOGIE DI INTEGRAZIONE E PROGETTO DI SISTEMI 1. Elementi di tecnologia dei componenti integrati 1.1. li transistore 1.2. I circuiti integrati: tecniche di fabbricazione 1.3. Esempio di fabbricazione di circuiti integrati 2. Elementi di valutazione dei componenti integrati 2.1. Effetto della scala di integrazione sulle prestazioni di componenti integrati 2.2. Effetto della scala di integrazione sui processi di fabbricazione 2.3. Componenti tipici: matrici logiche programmabili, memorie, processori 3. Progetto di microcalcolatori con tecnologia LSI 3.1. Elementi di progetto di microcalcolatori 3.2. Realizzazione di microcalcolatori con microprocessori a singolo chip 3.3. Realizzazione di microcalcolatori, con microprocessori bit-slice 3.4. Strumenti di sviluppo per sistemi a microprocessore 4. Progetto di sistemi con tecnologia VLSI 4.1. Progetto e realizzazione di una unità VLSI 4.2. Microprocessori VLSI 4.3. Set di istruzioni in processori VLSI Bibliografia sulla parte Il Esercizi sulla parte Il PARTE III - ARCHITETTURE PARALLELE 10. CARATTERISTICHE DELLE ARCHITETTURE PARALLELE 1. Classificazione 1.1. Macchine di Von Neumann 1.2. Macchine non-Von Neumann 2. Obiettivi ed applicazioni 2.1. Medi calcolatori 2.2. Grandi e supercalcolatori 2.3. Sistemi distribuiti e reti 2.4. Macchina intermedia di riferimento 11. SISTEMI UNIPROCESSORE PARALLELI 1. Sistemi con «prefetch» 1. 1. Organizzazione di base 1.2. Valutazione della performance 1.3. Descrizione funzionale 1.4. Memoria istruzioni e memoria dati 1.5. Memoria modulare 2. Sistemi look-ahead 2.1. Organizzazione look-ahead 2.2. Valutazione della performance 2.3. Organizzazione dell'Unità Esecutiva 2.4. Compilatori ottimizzanti 3. Elaborazioni su vettori 3.1. Istruzioni vettoriali e organizzazioni pipeline 3.2. Sistemi SIMD 12. MACCHINE NON-VON NEUMANN 1. Sistemi data-flow 1.1. Data-flow e ambiente locale 1.2. Modello di base 1.3. Architetture data-flow 1.4. Caratteristiche di macchine data-flow 2. Linguaggi data-flow 2. 1. Località degli effetti e strutture dati 2.2. Grafi ricorsivi 2.3. Modello tagged-token 2.4. Computazioni con stato e non determinismo 3. Macchine per linguaggi funzionali e logici 3.1. Parallelismo e linguaggi funzionari 3.1.1. Metodo di valutazione 3.1.1.1. Demand-driven 3.1.1.2. Data-driven 3.1.2. Metodo di esecuzione 3.1.2. 1. Riduzione 3.1.2.2. Data-flow 3.2. Macchine a riduzione 3.3. Parallelismo e linguaggi logici Bibliografia sulla parte III Esercizi sulla parte III BIBLIOGRAFIA
Questo libro è anche in: