Title | Aarchitettura Degli Elaboratori |
---|---|
Author | roberta vera |
Course | Architettura degli Elaboratori |
Institution | Università degli Studi di Messina |
Pages | 68 |
File Size | 2.6 MB |
File Type | |
Total Downloads | 73 |
Total Views | 163 |
materia fondamentale del corso di informatica....
Architettura degli Elaboratori Lezione 1: Introduzione slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni
Architettura degli Elaboratori
1
Organizzazione del corso
Architettura degli elaboratori – primo modulo (primo semestre) Marta Simeoni (orario: martedì 8.45 – 10.15*** giovedì 10.30 – 12.00) *** le lezioni di martedì 2,16,30/10 e 6/11 sono spostate al mercoledì 3,17,31/10 e 7/11 dalle 15.45 alle 17.30 orario di ricevimento: martedì 11.00 – 13.00 studio Zeta B16 Tutorato primo semestre: orario da definire Architettura degli elaboratori – secondo modulo (secondo semestre) Salvatore Orlando orario da definire
Ciascun modulo organizzato su 12 settimane! (4 ore di lezione per settimana per un totale di 48 ore)
L’esame è da 12 crediti: l’intero programma si svolge sui due semestri e viene registrato un unico voto. Architettura degli Elaboratori
2
Sito del corso n
Sulla piattaforma e-learning di Ateneo: moodle.unive.it n
n
n
Autenticazione: attraverso le credenziali di Ateneo Il corso si trova seguendo il percorso: Offerta formativa – Corsi di Laurea – Dipartimento di Scienze Ambientali, Informatica e Statistica – Informatica – Architettura degli Elaboratori Per iscriversi al corso è necessaria la chiave di iscrizione:
ARCH2018-19 n
E’ importante iscriversi: tutte le comunicazioni Docente à Studente avverranno attraverso il forum news di Moodle.
n
Sito web: www.dsi.unive.it/~architet
n
Comunicazione Studenti -> Docenti n
Via mail scrivendo al docente
Architettura degli Elaboratori
3
Libro di testo
David A. Patterson, John L. Hennessy Struttura e Progetto dei Calcolatori Quarta Edizione Zanichelli Editore 2015 (anche la terza edizione va bene)
Architettura degli Elaboratori
4
Modalità d'esame n
Compito finale scritto (maggio, giugno, settembre 2018 e gennaio 2019) sul programma del primo e secondo modulo n
n
serie di domande teoriche ed esercizi
Materiale didattico disponibile sul sito del corso n
slide proiettate durante il corso n
n
lezioni e esercizi
materiale di studio aggiuntivo n
link a pagine utili
n
compiti svolti anni precedenti (con soluzioni)
Architettura degli Elaboratori
5
Modalità d’esame: compitini Il corso prevede lo svolgimento di due prove intermedie (“compitini”) per facilitare gli studenti che seguono regolarmente il corso. n
n
Il primo compitino è relativo al programma del primo modulo e si svolge SOLO nella sessione invernale (appello di Gennaio 2019). il secondo compitino verte sul programma del secondo modulo e si svolge nella sessione estiva (Maggio-Giugno 2019) e autunnale (Settembre 2019).
IMPORTANTE: n
n
Il secondo compitino può essere svolto solo dagli studenti che hanno superato positivamente il primo. Chi non riesce a superare i due compitini con voto complessivo (media dei voti dei due compitini) sufficiente deve rifare l'esame completo.
Architettura degli Elaboratori
6
Obiettivi n
I due moduli del corso si prefiggono di svelare i seguenti aspetti di un moderno computer: n
n
organizzazione interna e il funzionamento n CPU n Memoria n I/O concause HW/SW delle prestazioni n
n
come si misurano le prestazioni
segreti della programmazione n
scendendo rispetto al livello di astrazione linguaggio ad alto livello!
Architettura degli Elaboratori
7
Obiettivi n
Perché è importante studiare questa materia? n
per conoscere il calcolatore in tutte le sue componenti
n
per riuscire a costruire del software usabile e veloce
n
per essere in grado di prendere decisioni di acquisto HW
Architettura degli Elaboratori
8
Programma del primo modulo n
n
n
Organizzazione di base di un calcolatore (CPU, memoria, I/O) e livelli di astrazione. Rappresentazione dell’informazione e aritmetica dei calcolatori. Algebra booleana (Tabelle di verità, Forme canoniche di espr. booleane), Circuiti combinatori (multiplexer, decoder, PLA).
n
Memoria: Latch, Clock, Flip-flop, Registri, RAM.
n
Circuiti sequenziali sincroni.
n
Principali istruzioni MIPS (aritmetico-logico, di controllo)
n
Progetto della CPU:
n
n
Progettazione ALU e Register File.
n
Parte controllo e parte operativa.
n
Organizzazione a singolo e multiplo ciclo.
n
Progetto del controllo.
Valutazione delle prestazioni: Tempo di CPU. Throughput. CPI. Misure di prestazioni e benchmarks.
Architettura degli Elaboratori
9
Introduzione n
Calcolatori elettronici n
basati su tecnologie in rapidissima evoluzione
n
valvole -> transistor -> IC (VLSI)1 n
legge di Moore – ogni 1,5 anni osserviamo il raddoppio di:! capacità di memoria! velocità del processore ! (dovuto a miglioramenti nella tecnologia e nell ’organizzazione)
– abbattimento dei costi contemporaneo all’incremento di velocità – Considerando come base gli anni ‘40, se l’industria dei trasporti avesse seguito la stessa evoluzione dei computer:! US coast-to-coast in 5 sec. per solo mezzo dollaro 1(IC=Integrated
Architettura degli Elaboratori
Circuit
VLSI=Very Large Scale Integration) 10
Introduzione n
Trend n
incremento prestazioni e abbattimento costi n
n
integrazione con la rete n
n
permette di affrontare e risolvere applicazioni sempre più complesse ancora nuove applicazioni informatiche (es. WEB)
integrazione con la rete telefonica e cellulare n
nuovi hw e applicazioni (smartphone, internet of things, ecc.)
Architettura degli Elaboratori
11
L’architettura di Von Neumann Le macchine moderne sono basate sulla macchina di Von Neumann: n
CPU (parte operativa e parte controllo)
n
Memoria (per dati e programmi)
n
Periferiche di input/output
Controllo
istruzioni
dati
ALU
Il BUS è il canale di comunicazione che consente ai dati di transitare fra i diversi
CPU
MEMORIA
Ingresso
componenti dell’elaboratore Uscita BUS PERIFERICHE
Architettura degli Elaboratori
12
Componenti principali di un computer n
n
n
Input/Output (I/O)! - mouse, tastiera (I)! - video, stampante (O)! - dischi (I/O)! - CD e DVD (I/O o I)! - rete (I/O) memoria principale! - DRAM, SRAM processore (CPU)! - parte operativa (datapath) ! - parte controllo (control)
Processore
Control
Memoria
Datapath
I/O
- bus
Architettura degli Elaboratori
13
Com’è fatto un computer? n
I/O n n
n
Memoria principale n
n
serve per comunicare con l’esterno include dispositivi di memoria secondaria (memoria non volatile), acceduti come dispositivi di I/O usata per memorizzare programmi e dati durante l’esecuzione! (concetto di stored-program introdotto da Von Neumann)
Processore n n
n
n
è l’esecutore delle istruzioni appartenenti ad un’ISA ISA (Instruction Set Architecture) definisce quindi il linguaggio (povero) comprensibile dal processore le istruzioni sono lette dalla memoria, modificano dati in memoria o agiscono sull’I/O decomponibile in ! Parte Controllo → mente Parte Operativa → braccio
Architettura degli Elaboratori
14
Com’è fatto un Personal Computer ? n
Video: unità di uscita (O)
n
Tastiera/mouse: unità di ingresso (I)
n
Scatola: contiene n
alimentatore
n
scheda madre (o motherboard o mainboard) e bus
n
processore
n
memoria volatile (RAM)
n
dischi (memoria stabile, I/O)
n
lettori CD/DVD
n
dispositivi di I/O per rete (LAN / MODEM)
n
dispositivi di I/O USB (Universal Serial Bus)
Architettura degli Elaboratori
15
Video CRT (Cathode Ray Tube) n
fascio di elettroni “spennellato” su una matrice di fosfori n n n
n
necessario il refresh continuo dello schermo pennello passa sullo schermo per righe, una riga alla volta frequenza (di refresh) espressa in Hz
Dati caratteristici n n n
frequenza di refresh (> 70 Hz per evitare sfarfallii) numero di pixel (punti) dello schermo (es.: 1024x768) numero di colori contemporaneamente visualizzati (RGB)
Architettura degli Elaboratori
16
Video n
Frame buffer n
n n
memoria RAM veloce che contiene la rappresentazione binaria dei vari pixel (ovvero dei colori corrispondenti) per visualizzare sullo schermo bisogna scrivere nel frame buffer un convertitore digitale/analogico, con la frequenza opportuna, rinfresca in continuazione i vari pixel dello schermo sulla base dei dati del buffer
Architettura degli Elaboratori
17
Video e Mouse LCD (Liquid Crystal Display) n
molecole organiche con struttura cristallina immersi in un liquido
n
proprietà ottiche dipendono dall’allineamento delle molecole
n
retro illuminati
Mouse • Il mouse è un dispositivo in grado di inviare un input ad un computer in modo tale che ad un suo movimento ne corrisponda uno analogo di un indicatore sullo schermo detto puntatore. È inoltre dotato di uno o più tasti ai quali possono essere assegnate varie funzioni. Architettura degli Elaboratori
18
Mouse n
Mouse meccanici n
n
n
Sfera (3) a contatto con due rotelle (2), una per l’asse delle X, l’altra per l’asse Y, che a loro volta sono connesse a contatori La rotazione della sfera muove le rotelle
Mouse ottici n
n
n
composti da un led, un sensore ottico e un chip per l’acquisizione delle immagini processore più complesso di quello presente in un mouse tradizionale mouse laser: usano un laser al posto del led per l’illuminazione del piano d’appoggio
Architettura degli Elaboratori
19
Scatola n
n
Processore n
chip che contiene parte controllo+parte operativa con registri
n
cache (buffer di memoria veloce)
Memoria principale n
n
DRAM, volatile, composta di vari chip
Scheda madre: contiene diversi chip e bus, con alloggiamenti per n
Processore
n
memoria
n
schede per gestire video, audio, rete, dischi, ecc. (I/O)
Architettura degli Elaboratori
20
Scatola Dischi (Memoria stabile secondaria) n
piatti girevoli ricoperti di materiale magnetico
n
controller che ordina i movimenti della testina
n
testina dotata di bobina elettromagnetica, che legge/scrive informazioni digitali (0/1)
n
Floppy: lenti, 1.44 MB - 200 MB (Zip)
n
Hard: piatti metallici, più veloci, con velocità di rotazione alta, diversi GB
n
Differenza di tempo di accesso ai dispositivi di memoria n
RAM (accesso da 5 a 100 nsec)
n
DISCHI (5-20 msec): 5-6 ordini di grandezza di differenza
Architettura degli Elaboratori
21
SSD SSD (solid state drive) - memorie allo stato solido o memorie flash n
Vengono dette memorie allo stato solido, perché non ci sono parti in movimento. L’assenza di movimento implica minori possibilità di rottura e quindi, teoricamente, maggiore durata nel tempo
n
La vita di un SSD è però limitata dal numero di scritture
n
Hanno capacità ormai paragonabile a quella degli hard disk
n
n
Più veloci dei dischi magnetici (tempo di accesso dell’ordine dei decimi di msec) ma anche più costosi Più silenziosi degli hard disk, perché non hanno parti in movimento
Architettura degli Elaboratori
22
Realizzazione I componenti elettronici del computer sono realizzati con circuiti integrati (IC): n
n
fili + transistor realizzati con processo di integrazione larghissimo su frammenti di silicio (VLSI - Milioni di transistor su un singolo frammento) Silicio n
presente nella sabbia
n
è un semiconduttore
n
aggiungendo materiali al silicio attraverso processo chimico, il silicio diventa n
transistor, conduttore, o isolante
Architettura degli Elaboratori
23
Central Processing Unit Pentium della Intel. Chip 91 mm^2. 3,3 milioni di transistor Apple A5
Architettura degli Elaboratori
24
Processo produttivo dei chip Lingotto di silicio (15/30 cm diam.) Wafer sottili ottenuti tagliando il lingotto 10/20 processi produttivi tramite pattern e processi chimici ⇒ otteniamo diverse repliche dello stesso circuito rettangolare Separiamo i vari circuiti e otteniamo i die Collaudiamo i die Inseriamo nei package i die funzionanti, collegandoli ai piedini (pin) del package ⇒ otteniamo i chip pronti per la consegna
Architettura degli Elaboratori
25
Il ruolo dell’astrazione n
L’informatica si basa sul concetto di astrazione
n
L’astrazione è una tecnica di semplificazione
n
n
Il termine astrazione si riferisce alla distinzione tra le proprietà esterne di un’entità e i dettagli della sua struttura interna L’astrazione permette di ignorare i particolari interni di un congegno complesso e di usarlo come una singola unità
Architettura degli Elaboratori
26
Il ruolo dell’astrazione Per progettare o capire l’architettura di un sistema, oppure per programmare semplicemente un sistema, abbiamo bisogno di astrarre. Es.: se cerchiamo di capire come funziona una CPU ... ci accorgiamo che la funzionalità della CPU è comprensibile se astraiamo e guardiamo solo alla sua interfaccia di programmazione: ISA (Instruction Set Architecture) Se scendiamo di livello, troviamo fili e milioni di transistor!! E diventa così impossibile comprenderne il funzionamento!!! In particolare, non si riesce a: - capire come questo livello interpreta le istruzioni dell’ISA - individuare i blocchi funzionali - capire a cosa servono i blocchi funzionali stessi
Architettura degli Elaboratori
27
Livelli di astrazione n
In tutti i progetti di sistemi hw/sw n
ritroviamo il concetto della strutturazione in livelli
n
Un utilizzatore accede al livello più esterno, ovvero l’interfaccia utente
n
Un programmatore è solitamente interessato n
n
n
al livello n-esimo del sistema e al relativo linguaggio (vista più astratta che guarda al livello più alto) ai traduttori (compilatori o interpreti) che gli permettono di eseguire i programmi sui livelli sottostanti
Un architetto deve invece conoscere i vari livelli e le relazioni tra di essi
Architettura degli Elaboratori
28
Livelli di astrazione n
I livelli più bassi rivelano più informazioni
n
I livelli più alti astraggono omettendo dettagli n
n
l’astrazione ci permette di affrontare la complessità
I livelli più alti virtualizzano, ovvero offrono una vista virtuale dei livelli inferiori n
Macchina virtuale o astratta: appare più potente e semplice da programmare della macchina sottostante
Architettura degli Elaboratori
29
Strutturazione in livelli n
Tradizionale vista a livelli dell’architettura hw/sw di un computer. Ogni livello mette a disposizione: n
uno o più linguaggi riconosciuti
n
uno o più interpreti o compilatori per tradurre tra linguaggi Livello 4: Livello 3: Livello 2: Livello 1: Livello 0:
n
Linguaggio ad alto livello Assembler Sistema Operativo Linguaggio Macchina (ISA) Hardware/firmware
Sistema Operativo (SO) n
n
per ora pensiamo al S.O. come un livello il cui linguaggio è l’ISA estesa con nuove istruzioni ad alto livello per gestire risorse critiche (es. I/O) offre nuove istruzioni oltre a quelle base dell’ISA
Architettura degli Elaboratori
30
Esempio dei linguaggi ai vari livelli A = B + C
Livello! Linguaggio ad ! alto livello
Compilatore
Processo di Traduzione
add $4, $5, $6
Livello! Linguaggio ! assembler
Assemblatore
00000010010001010011000100100000
Architettura degli Elaboratori
Livello! Linguaggio ! macchina (ISA)
31
Livello hardware/firmware n
Livello della logica digitale (hw) n
n n
n
n
n
fili e porte logiche (gate) realizzati tramite transistor (speciali interruttori) gate (fili) elaborano (trasportano) segnali binari (0/1) tramite questi segnali è possibile rappresentare qualsiasi tipo di informazione interconnettendo gate e fili è possibile realizzare funzioni complesse (es. moltiplicazioni di interi) è anche possibile realizzare elementi di memoria (utilizzati per dati e programmi)
Livello della microarchitettura (fw) n
costruito sopra il livello della logica digitale, si occupa di interpretare ed eseguire le istruzioni del livello ISA
Architettura degli Elaboratori
32
Livello Linguaggio macchina (ISA) n
n
È il livello di macchina nuda che appare al programmatore di sistema Comprende un insieme di istruzioni che di solito sono diverse per ogni processore n
n
problema della portabilità binaria
La sintassi è adatta ad essere interpretata facilmente dal livello sottostante
Architettura degli Elaboratori
33
Livello Linguaggio macchina (ISA) n
Le istruzioni sono stringhe di bit con formato ben determinato per permettere la facile individuazione di codici e operandi delle istruzioni n
n