Architettura degli Elaboratori
a.a. 2020/21
News del DI
Accoglienza Matricole - orientamento in itinere
https://www.di.unisa.it/unisa-rescue-page/dettaglio/id/1401/module/475/row/9869/
accoglienza-matricole-orientamento-in-itinere
Lo trovate anche come News del DI
https://www.di.unisa.it/
Presentazioni
• Marcella Anselmo
• Info:
http://www.di-srv.unisa.it/professori/anselmo/
• Orario ricevimento
:
Per il ricevimento potete contattarmi via email per
fissare un appuntamento su Teams, anche a piccoli
gruppi.
• Il mio
studio
è il n° 101 (o 57) al 4° piano (ultimo
livello) della Stecca 7 (fra l'aula F8 e la sede di
Pagine del corso
• Pagina personale del corso, aperta a tutti:
http://www.di-srv.unisa.it/professori/anselmo/archi2021.htm
Troverete: orario lezioni, ricevimento, programma, avvisi generali, syllabus, …
• Piattaforma e-learning:
http://elearning.informatica.unisa.it/el-platform
Troverete: avvisi per chi è iscritto/segue il corso, calendario aggiornato via via, slides (parziali), esercizi da svolgere, …
non appena un congruo numero di studenti ne avrà accesso.
Gli studenti interessati devono quindi iscriversi al corso quanto prima procedendo direttamente alla registrazione seguendo le indicazioni del sistema.
Ulteriori domande, richieste, dubbi,…
• Durante la lezione, se inerenti e di interesse generale, oppure
durante la pausa. Potete scrivere sulla Chat della riunione e di tanto in tanto controllo.
• Potete scrivermi all’indirizzo [email protected], ma …
io NON rispondo (solo) alle mail che non rechino i dati del mittente (nome, cognome, matricola, insegnamento cui ci si riferisce) o che richiedano informazioni già pubblicate sulla piattaforma o sulla pagina del corso.
• Quando sarà possibile …. potrete venire nel mio studio durante
Svolgimento del corso
• Il corso consiste di 9 CFU per un totale di 72 ore di corso (ogni ora perduta andrà recuperata), di cui :
56 ore di lezione frontale
16 ore di esercitazione in aula
• Docenti del corso:
– M. Anselmo, 6 CFU – Da definire, 3 CFU
• Orario lezioni (sul team o in Aula F8) – Martedì 11 - 13,
– Mercoledì 11 - 13 – Venerdì 11- 13
• Ultima lezione prevista: venerdì 18 dicembre 2020.
Libri di testo
I libri di testo sono:
• [PH] D. A. Patterson , J. L. Hennessy, “Struttura e progetto dei calcolatori”, IV ed., Zanichelli, 2014 ISBN: 9788808352026
(parte dei primi 5 capitoli e della Appendice B online)
• [P] F. Preparata, “Introduzione alla organizzazione e
progettazione di un elaboratore elettronico”, Ed. Franco Angeli 2012, ISBN: 9788820474157 (parte dei capitoli 1, 3, 4, 6)
NOTA: D. A. Patterson , J.
L. Hennessy hanno vinto nel 2017 il prestigioso premio Turing, spesso
Esami (di già? )
• L’esame consiste di una prova scritta e di una orale (cui si accede solo dopo il superamento di quella scritta).
• Sono inoltre previste due prove intercorso. La prima si svolgerà orientativamente nella prima metà di novembre e la seconda prova a fine corso. Per partecipare alla seconda prova, bisogna avere raggiunto una certa soglia nella prima prova. Gli studenti che supereranno entrambe le prove potranno sostenere direttamente la prova orale (o eventualmente accettare il voto proposto).
• Gli studenti interessati alle prove di esame devono prenotarsi su Esse3 entro il termine utile (5 giorni lavorativi prima). Ricordo inoltre che è possibile e doveroso cancellare la propria prenotazione qualora si decida di non partecipare, per evitare un inutile spreco di risorse (in particolare con la modalità a distanza).
• Durante lo svolgimento di qualsiasi prova scritta in presenza, NON è consentito consultare, o anche solo detenere, libri, appunti, cellulari o altro tipo di strumento
idoneo alla memorizzazione di informazioni o alla trasmissione di dati.
• L’organizzazione delle prove a distanza è descritta nella mia pagina http://www.di-srv.unisa.it/professori/anselmo/didattica.html
Dalla CARTA DEI DIRITTI E DEI DOVERI DEGLI STUDENTI
https://web.unisa.it/uploads/rescue/31/11/Carta-Diritti-e-Doveri-degli-Studenti.pdf
ART. 12 – Prove di esame
8. Agli studenti viene richiesto di affrontare le prove d’esame con la dovuta diligenza e serietà,
attenendosi alle regole dei piani di studio e di iscrizione agli appelli. Nelle prove scritte devono avere comportamenti improntati a correttezza e rispetto del principio di autenticità dell’elaborato.
Dal REGOLAMENTO STUDENTI
https://web.unisa.it/uploads/rescue/31/11/regolamento-studenti.pdf
ART. 40 – SANZIONI DISCIPLINARI A CARICO DEGLI STUDENTI 1. Le sanzioni che si possono comminare sono le seguenti: a) ammonizione;
b) interdizione temporanea da uno o più attività formative;
c) esclusione da uno o più esami o altra forma di verifica di profitto per un periodo fino a sei mesi; d) sospensione temporanea dall’Università con conseguente perdita delle sessioni di esame.
2. La relativa competenza è attribuita al Senato accademico, fatto salvo il diritto dello studente destinatario del provvedimento di essere ascoltato.
3. L'applicazione delle sanzioni disciplinari deve rispondere a criteri di ragionevolezza ed equità, avuto riguardo alla natura della violazione, allo svolgimento dei fatti e alla valutazione degli elementi di prova. Le sanzioni sono comminate in ordine di gradualità secondo la gravità dei fatti.
4. La sanzione è comminata con decreto rettorale.
5. Tutte le sanzioni disciplinari sono registrate nella carriera scolastica dello studente e vengono conseguentemente trascritte nei fogli di congedo.
Date esami (fissate a breve)
• I prova intercorso: presumibilmente metà novembre
• II prova intercorso: fine corso
• Preappello: dal 21 dicembre al 2 gennaio • I appello: dal 25 gennaio al 5 febbraio • II appello: dal 8 al 19 febbraio
• Appello straordinario 15-31 Marzo 2021 riservato agli studenti
fuori corso, agli studenti che abbiano conseguito almeno 135 CFU.
• I appello: dal 26 giugno al 13 luglio • II appello: dal 14 al 30 luglio
• Appello: dal 1 al 14 settembre
Cos’è l’informatica?
Evitare compiti noiosi e ripetitivi. Necessità sentita da sempre! L’abaco è il primo strumento usato per i calcoli sin dal XXI
secolo a. C.; la macchina pascalina è del 1642…
INFORMATICA
mazione
auto
“L'informatica è la scienza che consente di ordinare, trattare e trasmettere l’informazione attraverso
Cos’è veramente l’informatica
Minor fatica?
• L’informatica è una
Scienza
, in inglese Computer
Science. I pionieri degli anni 30 erano matematici e
fisici (Turing, Goedel, ….)
• L’
informatica
non consiste soltanto nello scrivere
programmi per un computer! (non è smanettare…)
• Ci vuole rigore, metodologia, tecnica, matematica
etc., ma anche fantasia e creatività
• Bisogna studiare e si sa:
lo studio è fatica!
(anche
giocare a calcio, però….)
Minor fatica?
• Questo corso sarà un mattone (!) per la vostra conoscenza del funzionamento e dell’uso dei computer.
• Percorso guidato da esperti: la scuola informatica salernitana ha una lunga tradizione che risale al corso di Laurea in Scienze dell'Informazione istituito nel 1971 (solo due anni
dopo il primo in Italia a Pisa). Il CdS può contare sull'apporto di oltre 50 docenti, di cui circa 40 di Informatica. Dipartimento di Informatica è un Dipartimento di Eccellenza ed è
fra i primi in Italia (alle VQR).
Programmazione Sistemi Operativi
Algoritmi e Strutture dati Basi di dati
Architettura degli elaboratori
MATEMATICA
Perché studiare (informatica)?
• «Vivere è imparare» [K. Lorenz]
• «Nessun pericolo è paragonabile a quello dell’ignoranza» [R. Bacone]
• «Studiate, contro il sistema!» • … … …
• Esiste correlazione fra livello di istruzione e reddito
• Voi avete grandi potenzialità ADESSO
• L’intelligenza non basta, occorre acquisire nuove informazioni, metodologia, forma mentis
• La laurea in Informatica a Salerno è un prestigioso titolo a cui ambire!
Come studiare: prerequisiti
• Allo studente
non
è richiesta nessuna particolare
conoscenza
informatica
.
• Il
test d'accesso
ha lo scopo di valutare l'attitudine
dello studente e il suo grado di preparazione in
alcune discipline
ritenute particolarmente rilevanti
per affrontare con
successo
il Corso di Studi.
• Gli studenti cui sono stati attribuiti degli Obblighi
Formativi Aggiuntivi (OFA) …. dovranno fare maggior
fatica, da subito!
Come studiare: adesso
• Colmare gli OFA
• La
frequenza
del corso e delle esercitazioni sono
fortemente consigliate.
• Gli studenti devono essere preparati a trascorrere
una congrua quantità di tempo nello studio
al di fuori
delle lezioni.
1CFU = 25 ore di lavoro = 8 ore di lezione frontale + 17 ore di studio individuale.
• Seguire e studiare tutti
i corsi proposti nel percorso
(Programmazione, MD)
Studiare attivamente
• Iscrivetevi alla piattaforma e consultatela regolarmente: è il mezzo principale di comunicazione con voi.
• Lezioni: non accettate niente per buono
(nemmeno/soprattutto quello che dico io…;); domande «stupide» non esistono, ma sono quelle che fanno crescere • Slides, appunti, ma… libri!
• Esercizi (da soli, in gruppi… che rispettino il distanziamento, ..)
• Ricevimento
• Potete scrivermi mail, ma: inserite chiaramente nome,
cognome, numero di matricola e insegnamento cui vi riferite (e non chiedete qualcosa che è già specificata in annunci della piattaforma!)
Presto e bene!
• Studiare da subito! Superare gli esami di un semestre prima dell’inizio del prossimo.
• Voi avete grandi potenzialità adesso
• Rispetto per chi (eventualmente) vi supporta gli studi • Puntare in alto e non perdere mai di vista motivazioni e
obiettivi
• Chi vi potrebbe assumere guarda: titolo di studi, voti, tempi, capacità di lavorare in gruppo, esperienze all’estero, …
• L'Università di Salerno promuove, dal luglio 2015, la Politica del Merito, tesa a supportare economicamente gli studenti e le loro famiglie. La politica delle tasse UNISA premia gli
studenti che completano il percorso di studio nei tempi previsti, con l’erogazione di un contributo pari alle tasse versate.
Non siamo più a scuola
Libertà
nella organizzazione e nel metodo di studio
Attenzione
: arma a doppio taglio!
Maggiore
responsabilità
da parte vostra
Studiare per
voi
, per la
vostra
preparazione, per il
vostro
avvenire
Cominciare a studiare:
subito!
E studiare con Costanza, .. ma anche con Letizia e Gioia!
All’inizio vi prenderemo
per mano
: test, prove
Un po’ di regole
Ad ogni lezione faremo una
pausa
di 5/10 minuti
durante la quale potete:
sgranchirvi, bere, mangiare,
telefonare, controllare le vostre chat, parlare coi vostri
«colleghi» o con me, etc. etc….
QUINDI
Durante la lezione
NON
farete niente di tutto ciò, ma:
cercate di concentrarvi per seguire la lezione, capire,
porvi e pormi domande, in generale far lavorare il
cervello, eventualmente prendere degli appunti e/o
seguire sul libro
Architettura
degli
Elaboratori
L’
Elaboratore
(o calcolatore, o computer) è una
macchina in grado di eseguire
autonomamente
sequenze di operazioni logiche-aritmetiche sui dati in
ingresso (input) e restituire i risultati di tali operazioni
in uscita (output)
L’
Architettura
(informatica) è l’insieme dei criteri in base
ai quali è progettato e realizzato un sistema informatico.
Un calcolatore umano
Achitettura Harward
La memoria è suddivisa in: Memoria dati e
Dentro un IPad
Dal libro di Patterson, Hennessy
Figura 1.7. I componenti di un iPad2 A1395 di Apple. Il retro di metallo dell’iPad (con il logo rovesciato della Apple nel mezzo) si trova al centro. In alto potete vedere lo schermo LCD multi-touch; sulla destra trovate la batteria a polimeri da 3,8 V e 25 W/h, che consiste in tre moduli agli ioni di litio e consente un’autonomia di 10 ore; sulla sinistra potete vedere la cornice che collega lo schermo al corpo dell’iPad. Attorno al retro dell’iPad, potete vedere dei minuscoli componenti: questi sono i componentiche immaginiamo quando pensiamo a un calcolatore; hanno spesso una forma a L per potere essere alloggiati all’interno del calcolatore di fianco alla batteria. In Figura 1.8 viene mostrato uno zoom della schedina a forma di L che si trova nell’angolo in basso a sinistra dell’iPad e che contiene il processore e la memoria.
Figura 1.8. La schedina del processore dell’iPad2 di Figura 1.7. La fotografia mostra cinque circuiti integrati. Il grande circuito integrato al centro è un chip A5 di Apple, che contiene un
processore ARM a due core, che lavorano alla frequenza di clock di 1 GHz, e 512 MB di memoria principale. La Figura 1.9 mostra una fotografia del processore contenuto nel chip A5. Il chip di dimensioni simili alla destra contiene una memoria flash, non volatile, da 32 GB. È presente
dello spazio vuoto tra i due chip, all’interno del quale si può inserire un secondo chip di memoria flash per duplicare la capacità di memorizzazione dell’iPad. I chip sulla destra dell’A5 contengono il controllore della tensione e i chip di I/O (Fonte: iFixit, www.ifxit.com).
Figura 1.9. Il circuito integrato del processore contenuto nel chip dell’A5. Il chip ha dimensioni di 12,1 × 10,1 mm ed è stato inizialmente prodotto con la tecnologia a 45 nm (si veda il
Paragrafo 1.5). Contiene due processori, o core, ARM che sono alloggiati in mezzo a sinistra del chip e una GPU (unità di elaborazione grafica) PowerVR contenente quattro unità di
elaborazione dati che potete vedere in alto a sinistra. A sinistra in basso potete vedere le interfacce verso la memoria principale (DRAM) (Fonte: Chipworks, www.chipworks.com).
I rettangolini di Figura 1.8 sono i dispositivi che guidano il nostro sviluppo tecnologico e sono chiamati circuiti integrati o chip.
L’integrato A5 al centro di Figura 1.8 contiene due processori ARM
con una frequenza di clock di 1 GHz. Il processore è la parte attiva del calcolatore, quella che esegue fedelmente le istruzioni di un programma: è in grado di effettuare la somma di numeri, compiere test su di essi, inviare segnali per attivare i dispositivi di I/O e così via. A volte il processore viene indicato con l’acronimo CPU che sta per Central Processing Unit (unità centrale di elaborazione).
Il processore è la parte attiva del calcolatore. Distingueremo: ❖ Datapath / unità di elaborazione dati (il braccio): esegue le
operazioni aritmetiche
❖ Unità di controllo (la mente): indica al datapath, memoria e I/O cosa fare (secondo le istruzioni del programma)
Studieremo il processore MIPS
• Un processore
vero
• Sarà il nostro
esempio di riferimento
per studiare i
principi
di progettazione
di un processore
Architettura Harward Modificata (Pipeline)
Studieremo UN processore particolare, ma per astrarre
Wikipedia dice….
• L'architettura MIPS (acronimo dell’inglese Microprocessor
without Interlocked Pipeline Stages) è un’architettura informatica per
microprocessori RISC sviluppata dalla MIPS Computer Systems Inc. (oggi MIPS Technologies Inc.).
• Nel 1981 il professore John L. Hennessy della Stanford University avviò un gruppo di ricerca sulle architetture RISC. Le ricerche del team di sviluppo portarono allo sviluppo della prima generazione di processori MIPS.
• Il MIPS è utilizzato nel campo dei computer SGI, e ha trovato grossa diffusione nell'ambito dei sistemi embedded, dei devices di Windows CE e nei router di Cisco.
• Le console Nintendo64, Sony PlayStation, SonyPlayStation2 e Sony PlayStation Portable utilizzano processori MIPS.
• Il disegno dell'architettura e del set di istruzioni è semplice e lineare e viene spesso utilizzato come caso di studio nei corsi universitari indirizzati allo studio delle architetture dei processori. L'architettura dei processori MIPS ha
influenzato le architetture di molti altri processori RISC tra i quali si segnala la famiglia DEC Alpha.
Un altro MIPS……
MIPS
Specie: Coniglio
Debutto in: Super Mario 64 (1997)
Ultima
apparizione:
Mario Party 3 (cammeo) (2001)
MIPS è unconiglioapparso neisotterranei del castello della Principessa PeachinSuper Mario 64.
QuandoMariogli si avvicina, MIPS scappa e se il giocatore riesce ad acchiapparlo gli dona unaSuperstella.
Dopo aver raccolto una cinquantina di Superstelle, MIPS ricompare nei sotterranei e dona al giocatore un'altra Superstella. InSuper Mario 64 DS, al post di MIPS compaiono diversi conigli che donano al giocatore dellechiavinecessarie per
sbloccare nuovi minigiochi. Insieme a Mario, MIPS è il primo personaggio ad essere stato creato all'interno del gioco. Inizialmente MIPS venne utilizzato per testare le capacità delNintendo 64, ma alla fine è stato inserito all'interno del gioco per volere degli sviluppatori. InMario Party 3, MIPS fa un cammeo nel tabelloneWoody Woods.
Nel videogioco Super Mario 64, il coniglio si chiama Mips, con riferimento al
Il nostro obiettivo finale
Come faremo
• Ci arriveremo a piccoli
passi
costruendo via via
i
mattoni
necessari
Contenuti del corso
Il corso si propone di introdurre l’architettura dei calcolatori ed i principi che sono alla base della loro progettazione. Verranno presentate struttura e
funzionalità dell’architettura di un calcolatore moderno.
Principali argomenti trattati durante il corso:
1) rappresentazione dell'informazione: - rappresentazione degli interi e algoritmi di conversione per interi (dec-bin, bin-dec) - rappresentazione e aritmetica in complemento a due - rappresentazione in virgola mobile - codifica ASCII
2) logica digitale: algebra booleana reti combinatorie e moduli combinatori -la ALU - elementi di memorizzazione: flip-flop, banco dei registri
3) linguaggio assembler di una macchina RISC 4) implementazione della unità di elaborazione
5) misura delle prestazioni, miglioramento delle prestazioni mediante pipeline e gerarchie di memoria
Primo passo
Conoscere il
linguaggio
dei computer
I computer «parlano» in binario:
Spento, acceso (dei circuiti elettrici)
ON
,
OFF
1
,
0
Rappresentazione in binario
Cosa possiamo rappresentare in binario?
Numeri (interi, col segno, con la virgola) Parole (codificando le lettere)
Istruzioni Programma
«Informazione»
Varie codifiche
Idea fondamentale su cui sono costruiti i calcolatori:
Cosa rappresenta?
Si consideri la stringa binaria a 32 bit
X = 00000000 10000000 00100000 00100000
• Se X è la rappresentazione di un numero M in binario (puro): M = 210 + 213 + 223 = 32 + 8192 + 8.388.608 = 8.396.832
• Se X è la rappresentazione di un numero N in complemento a due:
N = + 8.396.832
• Se X è la rappresentazione di un numero in virgola mobile:
X = +( 20 + 2-10 + 2-18 ) 2-126 = + 0, 000000…01
• Se X è la rappresentazione di un’istruzione dell’assembler MIPS, l'istruzione è:
add $4, $4, $0
• Se X è la rappresentazione di caratteri ASCII: