La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Architettura dei sistemi di elaborazione

Presentazioni simili


Presentazione sul tema: "Architettura dei sistemi di elaborazione"— Transcript della presentazione:

1 Architettura dei sistemi di elaborazione
Prima parte: HD e Software

2 Esempi di applicazione di sistemi di elaborazione
Regolazione del riscaldamento Sportello Bancomat Prenotazione dei voli Computer di bordo nell’auto Previsioni meteorologiche

3 Esempi di applicazione di sistemi di elaborazione
Negli esempi precedenti abbiamo: Un sistema di acquisizione dati dal mondo esterno Un sistema capace di elaborarli e di memorizzarli Un sistema capace di fornire, sulla base delle elaborazioni svolte, informazioni utili all’utente finale

4 Schema di un generico sistema di elaborazione
Informazione in uscita Dati in ingresso Unità di elaborazione Dispositivo di INPUT Dispositivo di OUTPUT Memoria di massa (non volatile)

5 Tipologie di computer Sistemi “embedded” Personal Computer Workstation
Minicomputer Mainframe Supercomputer Varia il livello di potenza e complessità

6 Sistemi “embedded” Es. computer che controlla le funzioni del motore e si adatta ai combiamenti delle condizioni di guida Agiscono all’interno di sistemi meccanici o elettrici più grandi e complessi senza il diretto controllo dell’operatore Ricevono gli input da sensori ed attivano meccanismi per controllare le condizioni operative, eseguendo un numero limitato di istruzioni preprogramate Si trovano all’interno di piccoli elettrodomestici, aerei, stereo, etc.

7 Personal Computer Desktop, laptop, notebook, palmari
Tipicamente hanno un microprocessore “General Purpose” Velocità: MIPS RAM: MB

8 Workstation Stazioni di lavoro molto potenti con notevoli capacità grafiche Utilizzo “stand-alone” Supportano il lavoro di progettazione tecnica (CAD – Computer Aided Design) Velocità: MIPS RAM: MB

9 Minicomputer Utilizzo in piccole aziende o divisioni di grandi compagnie Possono gestire centinaia di utenti Es. gestione delle transazioni Gestione del magazzino Fatturazione

10 Mainframe Utilizzo in grandi compagnie, università, etc.
Possono gestire migliaia di utenti Es. Banche , catena di alberghi Compagnie aeree, di assicurazioni.. Gestiscono numerose periferiche, tipicamente dischi.

11 Schema di un generico sistema di elaborazione
Informazione in uscita Dati in ingresso Unità di elaborazione Dispositivo di INPUT Dispositivo di OUTPUT Memoria di massa (non volatile)

12 Architettura di una CPU
Memoria RAM Registri interni Unità Aritmetico/Logica ALU Unità di Controllo Clock CPU

13 Unità Aritmetico/Logica
Memoria Ram Random Access Memory E’ costituita da locazioni singolarmente indirizzabili Ciascuna locazione contiene istruzioni o dati Memoria RAM Unità Aritmetico/Logica ALU Unità di Controllo Clock CPU

14 Caratteristiche della memoria
Tempo di accesso Velocità di trasferimento dei dati Ciclo di memoria (n. accessi nell’unità di tempo) dimensioni Tempo accesso Velocità di trasferimento Registri < 1K <0.5 ns MB/s CAche <1MB <10 ns Ram 64 –256 MB 40 ns Mb/s Dischi 10-20 GB 10 ms 20-40 Mb/s

15 Tipi di memoria ROM (Read Only Memory) memoria dal contenuto fisso, non riscrivibile. PROM (Programmable ROM) si possono scrivere una sola volta. EPROM (Erasable PROM) si possono scrivere e ricancellare esponendole ai raggi UV. Memorie FLASH ROM, PROM, EPROM non perdono il contenuto quando il calcolatore viene spento.

16 ROM e BIOS Quando il calcolatore viene acceso, la RAM è vuota. Tuttavia la CPU deve poter trovare da qualche parte una sequenza di istruzioni (programma) da eseguire. In ogni computer c’è una ROM che contiene il BIOS (Basic Input/Output System). Il BIOS contiene un piccolo programma che consente di trasferire dalla memoria di massa a quella centrale il sistema operativo e altri dati essenziali (fase di caricamento o di boot) che mettono il computer in grado di funzionare.

17 Memoria centrale e memoria di massa
Differiscono per la volatilita dei dati e per le funzioni che svolgono Per la tecnologia di realizzazione

18 Memoria centrale e memoria di massa
Volatilita’ La memoria centrale tiene i dati fino a quando e alimentata Nella memoria di massa i dati sono immagazzinati permanentemente

19 Memoria centrale e memoria di massa
Funzione: LA memoria centrale contiene i programmi in esecuzione e i relativi dati LA velocita’ di accesso influenza notevolmente le prestazioni del sistema La memoria di massa contiene elevate quantita’ di dati che non devono essere utilizzate frequentemente  

20 Memoria centrale e memoria di massa
Tecnologia: LA memoria centrale e’ realizzata con tecnologie elettroniche (VLSI) Le memoria di massa vengono realizzate con tecnologie magnetiche oppure ottiche.  

21 memoria di massa Varie tipologie: Nastri
DAT (digital audio tape) (fino a qualche giga) DISCHI  

22 memoria di massa: Hard disk
Varie tipologie: Nastri DAT (digital audio tape) (fino a qualche giga) DISCHI  

23 Modalità di esecuzione della CPU
Fase di “fetch”: Acquisizione dalla RAM dell’ istruzione da eseguire Decodifica dell’istruzione Esecuzione dell’istruzione Memoria RAM Unità Aritmetico/Logica ALU Unità di Controllo Clock CPU Ciclo Macchina

24 Come è fatta un’istruzione
Memoria RAM …… Codice operativo Operando1 Operando2 Es. Somma Indirizzo Op1 Indirizzo Op2

25 Uno sguardo ai registri
PC (Program Counter) Tiene traccia della prossima istruzione da eseguire IC (Instruction Register) Contiene una copia della istruzione corrente da eseguire MAR (Memory Address register) Contiene l’indirizzo dal quale estrarre o dove trascrivere un dato MDR (memory Data register) Contiene una copia del dato da trattare PSW (Processor Status Word) Informazioni sullo stato del processore Memoria RAM Unità Aritmetico/Logica ALU IC PC Unità di Controllo MAR Clock PSW MDR CPU

26 Uno sguardo ai registri
Inoltre l’ALU contiene un proprio set di registri usati per svolgere le elaborazioni intermedie sui dati Memoria RAM Unità Aritmetico/Logica ALU IC PC Unità di Controllo MAR Clock PSW MDR CPU R1 R2 Rn ….

27 Steps del Ciclo macchina
Unità di Controllo Memoria RAM Recupero istruzione dalla RAM Decodifica Istruzione Parte posta nel registro istruzioni Parte posta nel registro indirizzi Risultati posti nell’ accumulatore ALU effettua l’operazione ALU riceve il comando di effettuare l’operazione Dati spostati dalla RAM al registro MDR ALU

28 Tipologie di istruzioni
Trasferimento dati tra CPU e RAM Trasferimento dati tra CPU e interfaccia di Ingresso/Uscita Elaborazione dati Controllo del flusso delle istruzioni

29 Istruzioni di elaborazione dati
Operazioni aritmetiche somma, prodotto, ... Operazioni relazionali confronto tra dati Operazioni su caratteri e valori di verità (booleani) Altre operazioni numeriche calcolo di logaritmi e funzioni trigonometriche

30 Bus di collegamento Collegamento fisico tra i componenti: occorrono tre tipologie di BUS BUS Dati BUS Indirizzi BUS Controllo La CPU ha il compito fondamentale di coordinare l’accesso ai Bus da parte dei vari componenti dei sistema

31 Ancora sui BUS Il bus di controllo fa transitare i segnali che identificano sorgente e destinatario dei dati e direzione del flusso (es. lettura o scrittura) L’ampiezza del bus è la quantità di dati che possono essere trasferiti contemporaneamente (32 bit, 64 bit)

32 Funzionamento del bus Memoria RAM CPU ALU PSW R1 R2 Rn 0000 Unità di
Controllo 0001 0002 0003 IR MAR Clock 0004 0005 PC 0006 MDR INDIRIZZI DATI CONTROLLO

33 Fase di fetch Memoria RAM CPU ALU PSW R1 R2 Rn 0000 Unità di Controllo
0001 0002 0003 3F IR MAR Clock 0004 A8 0005 PC 0003 0006 MDR 0003 INDIRIZZI DATI CONTROLLO

34 Fase di fetch Memoria RAM CPU ALU PSW R1 R2 Rn 0000 Unità di Controllo
0001 0002 0003 3F IR MAR Clock 0004 A8 0005 PC 0003 0006 MDR 0003 INDIRIZZI DATI LEGGI CONTROLLO

35 Fase di fetch Memoria RAM CPU ALU PSW R1 R2 Rn 0000 Unità di Controllo
0001 0002 0003 3F IR MAR Clock 0004 A8 0005 PC 0003 0006 MDR 0003 INDIRIZZI 3FA8 DATI LEGGI CONTROLLO

36 Fase di decodifica Preleva il dato dalla prossima Memoria RAM CPU
Locazione di memoria e mettilo Nel registro R1 Memoria RAM CPU PSW ALU R1 R2 Rn 0000 Unità di Controllo 0001 0002 3FA8 0003 3F IR MAR Clock 0004 A8 0005 PC 0003 0006 MDR INDIRIZZI 3FA8 DATI CONTROLLO

37 Incremento del program counter
Memoria RAM CPU PSW ALU R1 R2 Rn 0000 Unità di Controllo 0001 0002 3FA8 0003 3F IR 0005 Clock 0004 A8 0005 PC 0007 0006 MDR 0005 INDIRIZZI DATI LEGGI CONTROLLO

38 Prelievo del dato Memoria RAM CPU ALU PSW R1 R2 Rn 0000 Unità di
Controllo 0001 0002 0003 3F IR 3FA8 0005 Clock 0004 A8 0005 00 PC 0007 0006 01 MDR INDIRIZZI 0001 DATI LEGGI CONTROLLO

39 Scrittura nel registro della ALU
Memoria RAM CPU PSW ALU R1 R2 Rn 0001 0000 Unità di Controllo 0001 0002 0003 3F IR 3FA8 0005 Clock 0004 A8 0005 00 PC 0007 0006 01 MDR INDIRIZZI 0001 DATI scrivi CONTROLLO

40 Porta seriale e parallela
Dispositivo di INPUT PORTA Memoria RAM CPU Dati Indirizzi Controllo Controllers N Memoria ROM Clock Dispositivo di OUTPUT PORTA

41 Interfaccia di Ingresso/uscita
Buffer dati Periferica Controller Porta Registro Di stato INDIRIZZI DATI controllo

42 Gestione delle periferiche
Le periferiche possono funzionare con tre tecniche: Ciclo di “polling” Interrupt Accesso diretto alla memoria (DMA)

43 chiamante la periferica
Ciclo di polling Interfaccia di ingresso/uscita Buffer dati Periferica Controller Registro Di stato P interroga ciclicamente il registro di stato Quando il registro di stato segnala che i dati sono stati trasferiti P trasmette nuovi dati al buffer dei dati CPU P Processo chiamante la periferica INDIRIZZI DATI controllo

44 Gestione con interrupt
Interfaccia di ingresso/uscita Periferica Buffer dati Controller Cavo di collegamento Registro Di stato P lancia il comando alla periferica e invia I primi dati Si sospende P Processo chiamante la periferica CPU

45 Gestione con interrupt
Interfaccia di ingresso/uscita Periferica Buffer dati Controller Cavo di collegamento Registro Di stato La cpu passa ad un altro processo Il controller notifica con un interrupt la CPU che è pronto a ricevere altri dati P Processo chiamante la periferica CPU

46 Gestione con interrupt
Interfaccia di ingresso/uscita Periferica Buffer dati Controller Cavo di collegamento Registro Di stato La CPU attiva il programma di risposta a interruzione, che attiverà il driver fisico della stampante per effettuare il successivo trasferimento dati Driver fisico P Processo chiamante la periferica CPU

47 Accesso diretto alla memoria
Interfaccia di ingresso/uscita Periferica Buffer dati Controller Cavo di collegamento Registro Di stato DMA RAM CPU INDIRIZZI DATI CONTROLLO

48 Periferiche e caratteristiche
Monitor (CRT e LCD) Risoluzione Memoria Schede acceleratrici Stampanti Inkjet Laser (DPI, PPM)

49 Scheda madre Alloggia il processore La Ram La cache memory
Ha slots di espansione (upgrades, schede grafiche, etc.) Un dispositivo di raffreddamento Un sistema di alimentazione

50 Valutazione delle Prestazioni di un sistema
Velocità Lavoro svolto nell’unità di tempo (throughput) Affidabilità MTTF (Mean Time to Failure) MTTR (mean time to recovery) Un sistema è tanto affidabile quanto il meno affidabile dei suoi componenti

51 Valutazione delle Prestazioni di un sistema
La valutazione delle prestazioni può essere svolta o in termini di distribuzioni di probabilità o in termini di valori medi (+ semplice) Lavoro svolto nell’unità di tempo (throughput) Elapsed time (tempo trascorso) CPU time (tempo di elaborazione impiegato dalla CPU)

52 Prestazioni della CPU Velocità del CLOCK: si misura in megahertz (MHZ)
Maggiore è la frequenza, piu’ cicli macchina possono essere effettuati nell’unità di tempo MIPS (MILIONI DI ISTRUZIONI AL SECONDO) MFLOPS (MILIONI DI OP. IN VIRGOLA MOBILE AL SECONDO)     MFLOPS <= MIPS <= FREQ. DI CLOCK

53 Prestazioni della CPU Tcpu = Nclock X Tclock
Nclock= n cicli necessari per il completamento del processo CPI = n cicli richiesti per completare un’istruzione (valore medio) N(i) numero istruzioni eseguite per completare un processo Tcpu = CPI X N(i) / Fclock

54 Prestazioni della CPU Le prestazioni dipendono comunque anche dal set di istruzioni proprio della CPU

55 Set di istruzioni e tipo di architettura utilizzata
CISC (Complex Instruction Set Computer) RISC (Reduced Instruction Set Computer)    Tipo di cpu cisc risc Cpi Cicli clock per istruzione alto basso N (i) F clock media alta

56 Prestazioni della CPU I MIPS non sono un parametro affidabile
In realtà occorre considerare il tipo di lavoro che la CPU deve svolgere abitualmente Si utilizzano i benchmark Programmi campione scritti in linguaggi di programmazione ad alto livello Definiti dalla SPEC (Standard Performance Evaluation Corporation)

57 Caratteristiche principali di un microprocessore
Repertorio di istruzioni le istruzioni del linguaggio macchina del processore velocità (misurata come frequenza del clock) l’esecuzione di ciascuna istruzione richiede solitamente più cicli macchina Ampiezza del bus numero di bit nel bus interno del processore Co-processore i moderni processori sono integrati a co-processori specializzati (ad esempio, il co-processore matematico) Cache una memoria veloce locale al processore, che consente un’accelerazione nell’esecuzione dei programmi

58 Fattori collegati all’ampiezza del bus e dei registri
Lunghezza delle parole binarie che la CPU e' in grado di elaborare, espressa in numero di bit (8, 16, 32, 64)  Lunghezza delle parole binarie che e' in grado di scambiare con l'esterno con un'unica operazione (8, 16, 32, 64) Capacita' di indirizzamento (MB, GB)  (spesso riferita come memoria RIM - Registro Istruzioni Memoria)

59 Estensioni all'architettura di Von Neumann
processori dedicati o co-processori per eseguire in modo particolarmente efficiente e in parallelo alla CPU particolari operazioni, come quelle aritmetiche (processore aritmetico) o per la presentazione della grafica sul video (processore grafico, vulgo scheda grafica). possibilità di eseguire alcune istruzioni parzialmente in parallelo uso di gerarchie di memorie con prestazioni e costi decrescenti, come una memoria cache in cui tenere copia di parte dei dati della memoria centrale con accesso più rapido.

60 Estensioni all'architettura di Von Neumann
macchine aventi diverse CPU che agiscono contemporaneamente (macchine parallele o multiprocessore), come i supercomputer per eseguire calcoli complicatissimi molto velocemente.

61 Evoluzione del PC Inizi anni 80 (Personal Computer IBM AT)
Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi. Inizi anni 80  (Personal Computer IBM AT) Architettura 16 bit interna, 8 bit esterna (Intel 8088) Clock 4.77 MHz, RAM 512 kB, Hard Disk 10 Mb Prezzo: oltre 10 milioni (dell’epoca)  Ieri (configurazione tipica di un PC di fascia media) Architettura 32 bit (Intel P III/AMD Athlon) Clock 1.2 GHz, RAM 128 MB, Hard Disk 20 Gb Prezzo: meno di 2 milioni 

62 Riferimenti bibliografici
Introduzione ai sistemi informatici Sciuto, Buonanno, Fornaciari, Mari Mc Graw Hill Capitoli N.3 e N.8 (I edizione) Capitolo 4 (II edizione)

63 Introduzione alla programmazione
Algoritmo Programma Linguaggio di programmazione

64 Descrivere un programma con un diagramma di flusso
start Leggi x e y Calcolare il max fra due numeri K  x - y si no K >0 Scrivi Max = x Scrivi Max = y fine

65 Descrivere un programma con un diagramma di flusso
start Lettura/ scrittura Leggi x e y Calcolare il max fra due numeri elaborazione K  x - y no decisione K >0 Scrivi Max = x Scrivi Max = y fine

66 Prendi I primi due numeri x1 e x2
start Calcolare il max in una lista numeri Leggi la lista x1…xn Prendi I primi due numeri x1 e x2 m  max (x1,x2) no si Altri numeri da esaminare Prendi il successivo xi Scrivi Max = m m  max (m,xi) fine

67 Nell’esempio precedente notiamo il concetto di chiamata a sottoprogramma (ovvero un programma in grado di calcolare il max fra due numeri)

68 Tipologie di istruzioni
Istruzioni di ingresso/uscita Istruzioni aritmetico logiche Istruzioni di controllo

69 Linguaggio di programmazione
E’ caratterizzato da: Sintassi Lessico La scrittura degli enunciati di un programma e’ regolata dalla sintassi Un enunciato racchiude una serie di istruzioni

70 Linguaggio di programmazione
In un linguaggio di programmazione sono importanti: I tipi di dati disponibili Gli operatori Le variabili e le operazioni di assegnazione di valori alle variabili I costrutti di programmazione


Scaricare ppt "Architettura dei sistemi di elaborazione"

Presentazioni simili


Annunci Google