Architettura degli elaboratori Turno 3/2003-2004
Indice
- 1 Materiale didattico
- 2 Diario del Corso
- 2.1 Lezione del 02/03/04
- 2.2 Lezione del 04/03/04
- 2.3 Lezione del 09/03/04
- 2.4 Lezione del 11/03/04
- 2.5 Lezione del 16/03/04
- 2.6 Lezione del 18/03/04
- 2.7 Lezione del 23/03/04 - Assembly #1
- 2.8 Lezione del 25/03/04 - Assembly #2
- 2.9 Lezione del 30/03/04
- 2.10 Lezione del 01/04/04
- 2.11 Lezione del 06/04/04
- 2.12 Lezione del 15/04/04
- 2.13 Lezione del 20/04/04 - Assembly #3
- 2.14 Lezione del 22/04/04 - Assembly #4
- 2.15 Lezione del 22/04/04 - Assembly #5
- 2.16 Lezione del 29/04/04
- 2.17 Lezione del 04/05/04
- 2.18 Lezione del 07/05/04
- 2.19 Lezione del 11/05/04
- 2.20 Lezione del 13/05/04
- 2.21 Lezione del 20/05/04
- 2.22 Lezione del 25/05/04
- 2.23 Lezione del 27/05/04
- 2.24 Lezione del 01/06/04
- 2.25 Lezione del 03/06/04
- 2.26 Lezione del 08/06/04
Materiale didattico
Appunti
Altro
Diario del Corso
Lezione del 02/03/04
- Introduzione
- Funzioni booleane
Lezione del 04/03/04
- Funzioni booleane
- Similarità con insiemi e logica
- Proprietà di assorbimento
- Leggi di De Morgan
- Tesi di Shannon
- Primi cenni ai circuiti logici
- Multiplexer
- "2 è meglio di 3", utilizzo di due operatori logici
- Operatore NAND, NOR
Esercizi
- Disegnare lo schema di un circuito Multiplex con 4 segnali in ingresso
- Dimostrare che NAND è un insieme di connettivi funzionalmente completo
- AND e OR: dato per scontato che non si riescono ad utilizzare per tutte le f. booleane, quali sono quelle realizzabili?
- Come si trasforma un c. Multiplex in un invertitore?
Lezione del 09/03/04
- Crescita del tempo in funzione della profondità del circuito
- Decoder
- Decoder come Multiplexer
- Demultiplexer
- Condivisione del segnale
- Teorema SPC
- Mintermini
Lezione del 11/03/04
- Mintermini - Maxtermini
- Circuito "somma" (full adder)
- Progettazione orologio digitale
- Coefficienti binomiali (come ripasso)
- NAND usato come OR
- Funzioni Monotòne
- Circuiti Sequenziali
- Retroazione (feedback)
Esercizi
- Sintetizzare la funzione di 4 variabili che vale 1 se e solo se tre ingressi valgono 1.
f(x1, x2, x3, x4) = x1 x2 x3 + x1 x2 x4 + x1 x3 x4 + x2 x3 x4
- Lo stesso ma con solo 2 ingressi uguali a 1.
f(x1, x2, x3, x4) = x1 x2 + x1 x3 + x1 x4 + x2 x3 + x2 x4 + x3 x4
Lezione del 16/03/04
- Circuiti Sequenziali
- Circuito "latch D", o BAT
- Circuito "flip flop"
- CPU, Memoria e Bus
- Circuiti di scrittura sul Bus (MAR, MDR, MBR)
- Registri CPU
- Circuiti di Lettura
- Circuiti di scrittura
Lezione del 18/03/04
- Automi
- Progettazione Sistemi di Controllo
- Automi a stati finiti
- Esempi
Lezione del 23/03/04 - Assembly #1
- Introduzione generale
- Differenza tra Assembly e Linguaggio Macchina
- Classificazione dei linguaggi
- Perchè scrivere in Assembly?
Lezione del 25/03/04 - Assembly #2
- Sistemi di numerazione
- Struttura del Calcolatore (cenno)
- Differenza Pentium (CISC) e PowerPc (RISC)
- Modalità di Indirizzamento (cenno)
- Linguaggio MIPS (cenno iniziale)
Lezione del 30/03/04
- Classificazione architettura e linguaggi
- "all'ACC"
- "alla Memoria"
- "allo Stack"
- "ai Registri
- Cammino storico
- Micro-programmazione
- Vantaggi del RISC
- Concetto di Pipeline
- Istruzioni RISC
- Tipi di Istruzione: "R"
Lezione del 01/04/04
- Aritmetica Modulo 2
- Numerazione Binaria Naturale
- Complemento a 2
- Proprietà di Estensione del Segno
- Register File (ripasso e chiarimento)
- Tipi di Dato (e loro significato)
Dindondan!
Lezione del 06/04/04
- Data Path e Control Path per Istruzioni R
- La ALU
Lezione del 15/04/04
- Un po' di storia (PDP-8, PDP-10, PDP-11)
- Indirizzamento nel MIPS
- Istruzione "beq"
- ALU, "set on less than"
Lezione del 20/04/04 - Assembly #3
- Istruzioni e pseudo-istruzioni aritmentiche: add, sub, mul, div
- Istruzioni di l/s: li, lw, sw
- Istruzioni e pseudo-istruzioni di salto: j, beq, bne, blt, slt
Esercizio
- Codificare in assembly il seguente codice java che calcoli la somma dei primi 10 numeri:
code:int tot=0; for (int i=0; i<=10; i++) tot = tot + i;
Lezione del 22/04/04 - Assembly #4
- Concetto di Stack
- Record di Attivazione
- Istruzioni JAL e JR
- Registri $sp e $ra
- Push e Pop, codifica Assembly
code:int tot=0; for (int i=0; i<=10; i++) tot = tot + i;// tot+=i;
Lezione del 22/04/04 - Assembly #5
- Chiamata di procedure (continuazione)
- Chiamate di sistema
- Utilizzo della memoria
- Un primo esempio di programma
Esercizi
- scrivere un programma Assembly che stampi "SI" se e solo se read_str termina le stringhe in ingresso con NULL, altrimenti stampi "NO"
- scrivere un programma Assembly che legga una stringa e stampi la sua immagine speculare (consiglio del prof: usare una sottoprocedura che inverta la stringa la cui posizione di memoria è nota)
.data msg: .asciiz "Ho letto " .text .globl main main: li $v0, 5 syscall move $t0, $v0 li $v0, 4 la $a0, msg syscall li $v0, 1 move $a0, $t0 syscall li $v0, 10 syscall
Lezione del 29/04/04
- beq :micro-operazioni
- lw: micro-operazioni
- Istruzioni e valori di controllo
Lezione del 04/05/04
- Moltiplicazione - circuito
- Algoritmo di Booth (non è stato fatto a lezione, il prof ha specificato che potrà essere portato all'orale per un voto "in più")
- Pipeline
Lezione del 07/05/04
- Pipeline - continuazione
- Dipendenza dei Dati
Lezione del 11/05/04
- Branch Prediction
- Pipeline nel 486
Lezione del 13/05/04
- Istruzioni di Salto in Pipeline
- Accessi al disco, strategie
- Memorie Cache, introduzione
Lezione del 20/05/04
- Memorie Cache, continuazione
Lezione del 25/05/04
- Algoritmo di Booth (è stata data una fotocopia, la trovate tra gli appunti)
- Gestione della Memoria
- Memoria Virtuale
- Paginazione
Lezione del 27/05/04
- Paginazione - seconda parte
- Segmentazione
- Chiamate di procedura nello Spark
Lezione del 01/06/04
- Reti
- Reti locali - topologie
- Rete Ethernet
- Struttura frame
- Transceiver
Lezione del 03/06/04
- Tecniche di produzione dei cd/dvd
Per scaricare le slides potete andare qui: http://www.aei.it/aeimilano/doc/ppt150404.pdf
Lezione del 08/06/04
- Struttura degli Indirizzi Internet
- IPv4
FINE