Tags:
tag this topic
create new tag
view all tags
---++ <font color="#008f00">Programma dettagliato del corso di Architetture degli Elaboratori II </font> </b> ---++ <font color="#008f00">Prof. Annalisa Massini - a.a. 2003-04</font> </b> Richiami su moduli combinatori: decodificatore, codificatore, transcodificatore; multiplexer, demultiplexer, mux-demux per la trasmissione delle informazioni. Half-adder, full-adder, addizionatore a propagazione di riporto. Rappresentazione in complemento a 2, intervallo di rappresentazione, come trovare l'opposto di un numero. Addizionatore a propagazione di riporto per la somma algebrica tra numeri nella rappresentazione in complemento a 2. Overflow e underflow nella somma tra numeri nella rappresentazione in complemento a 2. Comparatore logico e comparatore aritmetico. Richiami su moduli sequenziali: flip-flop; contatori sincroni e asincroni, contatore preselezionabile, uso di contatori; registri di memorizzazione; registri a scorrimento, uso di registri a scorrimento: scorrimento logico e scorrimento aritmetico, trasmissione dell'informazione. Considerazioni sull'interconnessione di registri tramite bus e tramite mux-demux. Introduzione storica alle attuali architetture dei calcolatori. Architettura di Von Neumann: descrizione, componenti principali, concetti di base. La CPU (Central Processing Unit): descrizione, funzione e moduli (Unità Aritmetico-Logica o ALU, Unità di Controllo o CU, registri). Caratteristiche di un'unità aritmetico-logica: linee di entrata e linee di uscita; significato dei bit del codice di condizione. Esempio di costruzione di una semplice unità aritmetico-logica dotata di un sommatore e tre linee di funzione. Descrizione dell'unità di controllo: principali moduli presenti nella CU e loro compiti (Contatore di Programma PC, decodificatore di istruzione, codificatore di comandi, registri). Funzionamento dell'unità di controllo. Formato di un'istruzione. Fasi di esecuzione di un'istruzione: caricamento, decodifica ed esecuzione; moduli coinvolti in ogni fase. Registri ad uso generale: caratteristiche ed uso. Registri ad uso speciale: caratteristiche ed uso; tipologie di resistri: accumulatori, registri indice e puntatori (Contatore di Programma, PC, e puntatore alla pila, SP), registri di condizione (registro di stato SR e registro degli errori). Pila o stack: descrizione,uso e funzione; politica di inserimento e reperimento dati; istruzioni di PUSH e POP; considerazioni sull'esecuzione di chiamate a subroutine annidate. Memoria: descrizione e specifica delle linee di ingresso e di uscita. Accesso ad una locazione di memoria e limitazioni poste dal decodificatore di indirizzi. Organizzazione della memoria ottenuta spezzando l'indirizzo in byte. Organizzazione della memoria ottenuta spezzando l'informazione su più moduli di memoria. Considerazioni sul bus. Considerazioni su moduli di I/O. Classi di istruzioni: trasferimento dati, aritmetiche e logiche, comando, salto, (ingresso e uscita). Considerazioni sul repertorio di istruzioni di un calcolatore e sue ripercussioni sull'architettura. Referenziamento implicito e referenziamento esplicito. Motivazioni all'introduzione di varie tecniche di indirizzamento. Riconoscimento della modalità di indirizzamento da parte della CPU. Modalità di indirizzamento: immediato - caratteristiche, vantaggi e svantaggi; assoluto o diretto - vantaggi e svantaggi; indiretto - vantaggi e svantaggi; mediante registro - vantaggi e svantaggi; indiretto mediante registro - vantaggi e svantaggi; differito indiretto - vantaggi e svantaggi; mediante traslazione (o spiazzamento) - caratteristiche, i tre tipi: relativo, con registro base e indicizzato, vantaggi e svantaggi di ognuno. Dagli indirizzamenti per traslazione al Position Independent Code (PIC). Caratteristiche delle istruzioni macchina: passi necessari all'esecuzione di un'istruzione; elementi di un'istruzione macchina; numero di indirizzi in un'istruzione; progettazione dell'insieme di istruzioni; tipi di operandi (numeri, caratteri, dati logici). Ordinamento dei dati in memoria rispetto ai byte: little-endian e big-endian; caratteristiche e ripercussioni sull'architettura. Allineamento dei dati in memoria: parole allineate e non allineate; considerazioni sul reperimento di parole non allineate. Interruzioni: definizione e classificazione in interruzioni interne, interruzioni esterne e trappole. Caratteristiche e differenze tra le diverse classi di interruzione. Interruzioni rispetto al ciclo di istruzione in un'architettura sequenziale. Azioni eseguite a fronte di una richiesta di interruzione: salvataggio dello stato volatile della macchina e di registri e ritorno dall'interruzione. Interruzioni multiple: mascheramento delle interruzioni e gestione delle interruzione in base alle priorità. Riconoscimento del disposivivo che richiede l'interruzione: metodo a polling o interrogazione software, linee di interruzione multiple, metodo vettorizzato o interrogazione hardware, cenni su arbitraggio dl bus. Canalizzazione o pipeline delle istruzioni: tecnica della pipeline; suddivisione di un'istruzione in passi; stadio di pipeline; frequenza di operazione o troughput; durata di un ciclo di clock. Esempio di pipeline con suddivisione dell'istruzione in fasi; esempio di pipeline con suddivisione dell'istruzione piu' dettagliata. Vantaggi della pipeline. Situazioni critiche della pipeline: istruzioni di salto e sovrapposizioni di fasi a seconda dele risorse usate. Linguaggio macchina e linguaggio assembler. Assemblatori, collegatori e compilatori. Vantaggi e svantaggi del linguaggio assemblatore. Differenze tra linguaggio assembler e linguaggi ad alto livello. Formato di uno statement in linguaggio assembler e significato dei campi. Parole riservate. Direttive. Operazioni e considerazioni di progetto dell'unità di controllo. I registri (non essenziali) MAR, MBR, IR: loro contenuto e connessioni. Definizione di micro-operazioni. Sequenza di micro-operazioni per la fase di caricamento. Sequenza di micro-operazioni per la fase di indirizzamento indiretto. Regole per la generazione della sequenza di micro-operazioni: ordine, conflitti e parallelismo. Segnali di controllo in entrata e in uscita ad un'unità di controllo. Esempio di segnali di controllo generati durante la fase di caricamento di un'istruzione. L'unità di controllo come macchina sequenziale. Considerazioni sulla realizzazione di un'unità di controllo a logica cablata. Unità di controllo a logica microprogrammata: microistruzioni, microprogramma, memoria ROM di controllo e micro-PC, schema di funzionamento. Organizzazione della memoria ROM in micro-subroutine. Microprogrammazione orizzontale e microprogrammazione verticale. Moduli interni, connessioni e schema di funzionamento di un'unità di controllo. Vantaggi e svantaggi della microprogrammazione. Architetture RISC e CISC: considerazioni e caratteristiche delle due classi di architetture. Esempio di formato di istruzione di architettura RISC: PowerPC? (istruzione aritmetica a tre registri, istruzione aritmetica con operando immediato e istruzione caricamento memorizzazione dei registri). Descrizione formato di istruzione di architettura CISC: x86. Una classificazione delle architetture: modello a stack, modello memoria-memoria, modello registri-memoria, modello registro-registro; esempio istruzione ADD per le diverse architetture. Principali linee in ingresso e in uscita di memoria, modulo di I/O e processore. Struttura del bus di tipo dedicato: caratteristiche ed uso delle linee di dati, linee di indirizzo e linee di controllo. Gerarchie di bus multipli: bus locale, bus di sistema, bus di estensione, bus ad alta velocità. Elementi di progettazione di un bus: tipi di bus; metodi di arbitraggio: centralizzato e distribuito; temporizzazione: sincrona e asincrona; tipi di trasferimenti. Bus PCI: caratteristiche, configurazione, suddivisione delle linee. Bus e interfaccia SCSI: caratteristiche generali; fasi operative e loro ordine. USB: caratteristiche, struttura rete USB. Moduli di I/O: interfaccia con processore e memoria, interfaccia con dispositivi periferici. Motivazioni e considerazioni sull'uso di moduli di I/O. Schema generale di un dispositivo esterno: componenti e linee in ingresso e in uscita. Funzioni e requisiti di un modulo di I/O: controllo e temporizzazione, comunicazione con il processore, comunicazione con i dispositivi periferici, bufferizzazione dei dati, rilevamento degli errori. Struttura generale di un modulo di I/O: componenti e linee in ingresso e in uscita. Indirizzamento dell'I/O: ingresso/uscita mappato in memoria e ingresso/uscita isolato. Definizione e considerazioni delle tecniche per operazioni di I/O: I/O programmato, I/O con interruzioni, Accesso Diretto alla Memoria (DMA). I/O programmato: azioni del processore e azioni del modulo di I/O. Vantaggi e svantaggi nell'uso dell'I/O programmato. I/O con interruzioni. Esempio di lettura dal punto di vista del modulo di I/O e dal punto di vista del processore. Accesso diretto alla memoria (DMA). Utilizzazione del bus da parte del controllore di DMA. Funzionamento e componenti di un modulo DMA. Organizzazione di una operazione di lettura/scrittura. Evoluzione delle funzionalità di un modulo di I/O. Considerazioni e conclusioni sui moduli di I/O; Introduzione ai principi e alle motivazioni della gerarchia di memoria. La memoria. Caratteristiche dei sistemi di memoria: locazione, capacità, unità di trasferimento, metodo di accesso (sequenziale, diretto, casuale, associativo), prestazioni (tempo di accesso, tempo di ciclo di memoria, velocità di trasferimento), tipo fisico (a semiconduttore, superficie magnetica, di tipo ottico), caratteristiche fisiche (volatile, non volatile), organizzazione. Memoria a semiconduttore. RAM statica e RAM dinamica: caratteristiche e differenze. Read Only Memory: ROM, PROM, EPROM, EEPROM e Memoria flash. Organizzazione dellla memoria: esempio di memoria DRAM 4 bit per chip; esempio di memoria one-bit-per-chip. Memoria cache. Caratteristiche e uso, relazione tra linee di cache e blocchi di memoria principale. Elementi di progettazione della cache. Dimensione della cache. Funzione di corrispondenza. Corrispondenza diretta: caratteristiche, vantaggi e svantaggi. Corrispondenza associativa: caratteristiche, vantaggi e svantaggi. Corrispondenza set-associativa: caratteristiche, vantaggi e svantaggi. Algoritmo di rimpiazzamento: LRU, FIFO, LFU, Random. Caratteristiche e confronto tra i diversi algoritmi. Politica di scrittura: tecnica "write through" e tecnica "write back". Osservazioni e conclusioni sulla cache: dimensione di una linea/blocco; organizzazione della cache a due livelli; cache unificate e divise. La gestione della memoria. Partizionamento: partizioni fisse e partizioni di dimensione variabile. Paginazione: caratteristiche, pagine e frame di memoria, tabella della pagine, indirizzi logici e indirizzi fisici. Memoria virtuale. Unità di gestione della memoria (MMU). Schema di organizzazione e connessione per ottenere la memoria virtuale. Traduzione dell'indirizzo, tabella delle pagine, registro base delle pagine. Errore di pagina. Pagine da rimuovere. Pagine modificate. Memoria esterna. Disco magnetico. Testina di lettura/scrittura, meccanismo di scrittura, meccanismo di lettura. Organizzazione dei dati su disco. Dischi Winchester. Floppy disk. Dischi RAID. CD-ROM. Nastri magnetici. --- Users.AnnalisaMassini - 11 Jun 2004
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r2 - 2007-05-30
-
AnnalisaMassini
Log In
or
Register
Architetture2/MZ Web
Create New Topic
Index
Search
Changes
Notifications
Statistics
Preferences
Prenotazioni esami
Laurea Triennale ...
Laurea Triennale
Algebra
Algoritmi
Introduzione agli algoritmi
Algoritmi 1
Algoritmi 2
Algoritmi per la
visualizzazione
Architetture
Prog. sist. digitali
Architetture 2
Basi di Dati
Basi di Dati 1 Inf.
Basi di Dati 1 T.I.
Basi di Dati (I modulo, A-L)
Basi di Dati (I modulo, M-Z)
Basi di Dati 2
Calcolo
Calcolo differenziale
Calcolo integrale
Calcolo delle Probabilitą
Metodi mat. per l'inf. (ex. Logica)
canale AD
canale PZ
Programmazione
Fond. di Programmazione
Metodologie di Programmazione
Prog. di sistemi multicore
Programmazione 2
AD
EO
PZ
Esercitazioni Prog. 2
Lab. Prog. AD
Lab. Prog. EO
Lab. Prog. 2
Prog. a Oggetti
Reti
Arch. di internet
Lab. di prog. di rete
Programmazione Web
Reti di elaboratori
Sistemi operativi
Sistemi Operativi (12 CFU)
Anni precedenti
Sistemi operativi 1
Sistemi operativi 2
Lab. SO 1
Lab. SO 2
Altri corsi
Automi, Calcolabilitą
e Complessitą
Apprendimento Automatico
Economia Aziendale
Elaborazione Immagini
Fisica 2
Grafica 3D
Informatica Giuridica
Laboratorio di Sistemi Interattivi
Linguaggi di Programmazione 3° anno Matematica
Linguaggi e Compilatori
Sistemi Informativi
Tecniche di Sicurezza dei Sistemi
ACSAI ...
ACSAI
Computer Architectures 1
Programming
Laurea Magistrale ...
Laurea Magistrale
Percorsi di studio
Corsi
Algoritmi Avanzati
Algoritmica
Algoritmi e Strutture Dati
Algoritmi per le reti
Architetture degli elaboratori 3
Architetture avanzate e parallele
Autonomous Networking
Big Data Computing
Business Intelligence
Calcolo Intensivo
Complessitą
Computer Systems and Programming
Concurrent Systems
Crittografia
Elaborazione del Linguaggio Naturale
Estrazione inf. dal web
Fisica 3
Gamification Lab
Information Systems
Ingegneria degli Algoritmi
Interazione Multi Modale
Metodi Formali per il Software
Methods in Computer Science Education: Analysis
Methods in Computer Science Education: Design
Prestazioni dei Sistemi di Rete
Prog. avanzata
Internet of Things
Sistemi Centrali
Reti Wireless
Sistemi Biometrici
Sistemi Distribuiti
Sistemi Informativi Geografici
Sistemi operativi 3
Tecniche di Sicurezza basate sui Linguaggi
Teoria della
Dimostrazione
Verifica del software
Visione artificiale
Attivitą complementari
Biologia Computazionale
Design and development of embedded systems for the Internet of Things
Lego Lab
Logic Programming
Pietre miliari della scienza
Prog. di processori multicore
Sistemi per l'interazione locale e remota
Laboratorio di Cyber-Security
Verifica e Validazione di Software Embedded
Altri Webs ...
Altri Webs
Dottorandi
Commissioni
Comm. Didattica
Comm. Didattica_r
Comm. Dottorato
Comm. Erasmus
Comm. Finanziamenti
Comm. Scientifica
Comm Scientifica_r
Corsi esterni
Sistemi Operativi (Matematica)
Perl e Bioperl
ECDL
Fondamenti 1
(NETTUNO)
Tecniche della Programmazione 1° modulo
(NETTUNO)
Seminars in Artificial Intelligence and Robotics: Natural Language Processing
Informatica generale
Primo canale
Secondo canale
II canale A.A. 10-11
Informatica
Informatica per Statistica
Laboratorio di Strumentazione Elettronica e Informatica
Progetti
Nemo
Quis
Remus
TWiki ...
TWiki
Tutto su TWiki
Users
Main
Sandbox
Home
Site map
AA web
AAP web
ACSAI web
AA2021 web
Programming web
AA2021 web
AN web
ASD web
Algebra web
AL web
AA1112 web
AA1213 web
AA1920 web
AA2021 web
MZ web
AA1112 web
AA1213 web
AA1112 web
AA1314 web
AA1415 web
AA1516 web
AA1617 web
AA1819 web
Old web
Algo_par_dis web
Algoreti web
More...
MZ Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
Questo sito usa cookies, usandolo ne accettate la presenza. (
CookiePolicy
)
Torna al
Dipartimento di Informatica
E
dit
A
ttach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback