Architettura dei sistemi di elaborazione

Slides:



Advertisements
Presentazioni simili
ALTERNATIVE FUELS AND VEHICLES VEICOLI ELETTRICI Carlos Sousa AGENEAL, Local Energy Management Agency of Almada.
Advertisements

1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Model – View - Controller
ARCES University of Bologna Programmazione di un processore riconfigurabile Mario Toma.
© 2005 Avaya Inc. All rights reserved. Applicazioni Avaya IP Office.
I modelli reticolari Rappresentano graficamente le procedure attraverso nodi e linee; 2. Ogni linea rappresenta unattività; 3. Su ogni linea è riportato.
This document and the information contained herein is proprietary information of MBDA and shall not be disclosed or reproduced without the prior authorization.
Micropad Stage 2010/2011. La micropad è una piccola azienda, si occupa di programmazione collaudo e riparazione di schede elettroniche per macchine distributrici.
Biologia a.s Biorisanamento di Castelli Enrico 2i.
Definizione Dispositivo adatto a svolgere funzioni diverse modificando solo parzialmente la parte circuitale ma variando di vota in volta il programma.
I II I N F O R M A T I C A di B A S E AUGUSTO TACCORI.
Il sistema operativo Sistema operativo (in breve) –È costituito dai programmi di gestione delle operazioni più elementari del computer –… gestione di vari.
1 Università degli Studi di Messina Facoltà di Ingegneria Visilab – Computer Vision and Image Processing Lab Nanodesktop Software development kit per sistemi.
C aso di Studio Gruppo9: DAvino,Vetrano,Monda,Papa, Berardini,Schettino.
Venezia Confartigianato. Gli ultimi 10 anni Oggi.
Corso di Elementi di Informatica
INFORMATICA acronimo di INFORMA zione automaTICA.
PRIMA PARTE Lezione 21 dicembre 2008 Luciano Molinari.
DISPOSITIVI ASIC Application Specific Integrated Circuit De Faveri Martina Classe 3 BET.
R. Grande - Corso di Informatica '07
ANAD SERVIZI E NUOVE PROPOSTE. Servizi forniti attualmente da ANAD 1. Consulenze giuslavoristiche 2. Consulenze legali 3. Consulenze amministrative 4.
Alcune problematiche di replicazione dati in unorganizzazione geograficamente distribuita Collaborazione CASPUR - ENEA Silvia Eccher - CASPUR Franco Iannone.
OR5 – Rete di trasmissione
Custom Apps Development
La Soluzione… OK al Servizio dell’Azienda del Marmo
Mappa concettuale di sintesi
Cosa vuol dire «Embedded»? Valter
Soluzione integrata per la gestione delle attività di
Adempimento o Opportunità ? Bari, 5 Novembre 2004 T RACCIABILITÁ :
I sistemi G.I.S. Una breve panoramica. G Sta per GeographicG Sta per Geographic I GIS hanno a che fare con la cartografiaI GIS hanno a che fare con la.
El Kaouam Reda Clemente Vincenzo
Fondamenti dellInformatica A.A Prof. Vincenzo Auletta1 I Sistemi Informativi.
Tecnologia dell'Informazione
Architettura delle GPU e
Architettura degli Elaboratori Modulo 2
PON LEW Landslide Early Warning SAL III Aprile 2013 Autostrade Tech S.p.A. PON LEW Landslide Early Warning SAL III Aprile 2013 Autostrade Tech S.p.A. SISTEMI.
Modulo 1 bis Menù Incolla Esercitazione Un computer è quasi umano, a parte il fatto che non attribuisce i propri errori a un altro computer. (Anonimo)
Sistemi e Reti – Modulo 1 Corso Serale ITT Guglielmo Marconi (Rovereto) Prof.ssa Giordani Alessandra.
Le porte di comunicazione
Information Technology
TAQ Identità oggetto Contenuto Modalità di uso Nome oggetto: numero
Corso di Informatica ECDL
1 Concetti di base della Tecnologia dell'Informazione PER INIZIARE.
Tipologia dotazione informatica Le dotazioni informatiche nelle scuole comprendono soprattutto stampanti,mentre è limitato il numero degli scanner.
2. Hardware Componenti di base di un computer
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
Roberto Dimase Mod. 1 Inf. Base1 Modulo 1 Concetti teorici di base della tecnologia dellinformazione.
ECDL Modulo 1 – Il computer nella vita di ogni giorno u.d. 5
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
Voting Sistema di votazione telematica. Che cosè Sito web per gestire votazioni tramite internet La sezione amministratore permette di progettare lo scenario.
Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.
Giancarlo Colferai - CEPAS
Un Architettura Risc - Pipeline Il Processore Deluxe - DLX
L4 Tecniche di Background Subtraction
Una nuova indagine endoscopica: la Videoendoscopia Capsulare
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
STRUTTURA DI UN COMPUTER
1 Unità didattica 1 – Concetti di base del personal computer Premessa: «L’unità didattica programmata destinata ad una allieva con obiettivi minimi della.
Corso di Elementi di Informatica
Prof. Giuseppe Chiumeo INTRODUZIONE Prof. Giuseppe Chiumeo
ECDL MODULO 1.
Microcontrollori e microprocessori
STRUTTURA GENERALE DI UN ELABORATORE
INTRODUZIONE Il termine Informatica deriva dalla fusione dei termini INFORmazione autoMATICA si intende indicare la scienza che ha il compito di raccogliere,
John Von Neumann John von Neumann, nato il 28 dicembre 1903  e morto a Washington l’8 febbraio 1957, è stato un matematico, fisico e informatico ungherese naturalizzato statunitense.
Introduzione all’uso del computer
Abilità Informatiche per Giuristi Roberto Diana
Unità di elaborazione centrale
MODULO 1 – Computer essentials
LOGICA DI FUNZIONAMENTO
Transcript della presentazione:

Architettura dei sistemi di elaborazione Prima parte: HD e Software

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

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

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)

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

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.

Personal Computer Desktop, laptop, notebook, palmari Tipicamente hanno un microprocessore “General Purpose” Velocità: 30-120 MIPS RAM: 32-128 MB

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

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

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.

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)

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

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

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 20.000 -100.000 MB/s CAche <1MB <10 ns 5.000-10.000 Ram 64 –256 MB 40 ns 1000 -5000 Mb/s Dischi 10-20 GB 10 ms 20-40 Mb/s

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.

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.  

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

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  

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  

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.  

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

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

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

Come è fatta un’istruzione Memoria RAM 0 1 2 3 4 ……. 256 Codice operativo Operando1 Operando2 Es. Somma Indirizzo Op1 Indirizzo Op2

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

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 ….

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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) 100-1000 MFLOPS (MILIONI DI OP. IN VIRGOLA MOBILE AL SECONDO) 10-100    MFLOPS <= MIPS <= FREQ. DI CLOCK

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

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

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

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)

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

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)

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.

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.

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 

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)

Introduzione alla programmazione Algoritmo Programma Linguaggio di programmazione

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

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

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

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

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

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

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