La memoria cache. Informatica generale

Documenti analoghi
L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Il Software programmabili programma algoritmo

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Lo scanner. Informatica di Base A e B -- Rossano Gaeta 82

I dispositivi di input/output: il mouse

Prof. Rossella Cancelliere

I dispositivi di input/output

I dispositivi di input/output

Il software. la parte contro cui si può solo imprecare

Il software. la parte contro cui si può solo imprecare. Il software

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Il modello di Von Neumann

I dispositivi di input/output

I dispositivi di input/output

VERIFICA DI SISTEMI. 5 Domanda [1 punto] Calcolare la velocità di trasferimento dei seguenti hard disk:

Fondamenti di Informatica

Lezione 16. Il Software di base

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Il software: Istruzioni per il computer

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Università degli studi di Brescia Facoltà di Medicina e Chirurgia Corso di Laurea in Infermieristica. Corso propedeutico di Matematica e Informatica

Architettura di Von Neumann

Architettura del Calcolatore

Il software: Istruzioni per il computer

Architettura di un elaboratore

Architettura hardware

I dispositivi di input/output

Il computer P R O F. L O R E N Z O P A R I S I

HARDWARE. Hardware. Vista di insieme

I dispositivi di input/output

I dispositivi di input/output: il mouse

Introduzione all Informatica. Alfredo Cuzzocrea. Sistema Operativo

Struttura dell elaboratore elettronico

La memoria principale

Registri. Mem. cache. Mem. centrale. Dischi magnetici e/o ottici. Nastri magnetici. Memoria principale (o RAM) Memoria secondaria (o di massa)

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Elementi di Informatica. Corso di Laurea in Scienze Geologiche a.a. 2003/2004

Docenti: Fabrizio Benazzi Valter Lelli Azienda USL 11 di Empoli

Prof. G. Ascia. Sistema Operativo

Il software. Il solo hardware non è sufficiente per usare un calcolatore

Architettura del Calcolatore. Corso di Informatica. CPU e RAM. Architettura del Calcolatore

I sistemi operativi. Prof. Daniele Contarino

Architettura dei Sistemi Informatici

Livelli del sottosistema di I/O

RELAZIONE di INFORMATICA

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Capitolo 6 Le infrastrutture SoftWare

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta

Modulo 1: Le I.C.T. UD 1.4b: Anatomia del Computer

Personal Computer: introduzione

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Fondamenti di Informatica T. Il Software

Struttura Logica del S.O:

I dispositivi di input/output

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

INFORMATICA. L informatica comprende:

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

Il computer P R O F. L O R E N Z O P A R I S I

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

Informatica giuridica

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Lezione 1: L hardware

Architettura di un calcolatore

TERMINALE INTELLIGENTE

Corso di Informatica. Architettura del Calcolatore. Architettura del Calcolatore. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Il Processore. Informatica di Base -- R.Gaeta 27

Sistemi di Elaborazione delle Informazioni

2. Cenni di sistemi operativi

Il computer P R O F. L O R E N Z O P A R I S I

Architettura dei computer

Corso di Informatica

Cenni sull architettura del calcolatore

Esame di INFORMATICA Lezione 4

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Elementi di Informatica A. A. 2016/2017

Corso di Fondamenti di Informatica Elementi di Architettura

Fondamenti Teorici e Programmazione Modulo A. Architettura dei calcolatori Ioanna Miliou, Ph.D.

Come è fatto? Come funziona? Cosa posso fare? Che cos è!?!

Il Sistema Operativo. Informatica Sistema Operativo 1

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Il Sistema Operativo

IC Don Milani Latina. Alfabetizzazione Informatica. Prof. Giuseppe Patti

Il Software. E il software che implementa le funzionalità di un sistema di elaborazione Due categorie fondamentali di Software (SW)

Il software di sistema

Il linguaggi di programmazione sono lo strumento per tradurre algoritmi in programmi. Ma come viene gestita l esecuzione di un programma?

Abilità Informatiche e Telematiche

Sistema Operativo. (hardware e software) della della macchina

Architettura dei sistemi di elaborazione (Input/Output parte 1)

LA GESTIONE DELLA I/O

Sistema operativo. Interazione con il SO

Francia dalla contrazione delle parole INFORmazione e automatica. Elaborazione e trattamento automatico delle informazioni INFORMATICA

Architettura dell elaboratore 1

Informatica. Informazione L Informazione è un dato, o un insieme di dati, interpretati in un determinato contesto.

Programmazione modulare

Transcript:

La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale, il bus ed il processore lavorano a velocità diverse La velocità complessiva è determinata dal componente più lento

La memoria cache Per accelerare questa interazione si impiega una memoria ad alta velocità localizzata tra processore e memoria centrale detta CACHE Se il processore ha bisogno di leggere un dato o un istruzione dalla memoria centrale la cerca prima nella cache che è molto più veloce Se il dato o l`istruzione non si trovano memorizzati nella cache allora il processore chiede alla memoria centrale di fornire l elemento richiesto Ci sono alcune tecniche per decidere cosa memorizzare nella cache

La memoria cache Le memoria cache sono realizzate con SRAM (molto più veloci delle DRAM e molto più costose) Si distinguono due livelli di memoria cache: Cache di livello 1 (L1) che è integrata nel chip del microprocessore; capacità media di 256-512 KB Cache di livello 2 (L2) che di solito è esterna al chip del microprocessore ma su circuiti molto veloci; capacità fino ad 1MB

Interazione tra processore, cache, memorie e dispositivi di I/O PROCESSORE UC ALU CLOCK L1 HARD DISK MONITOR L2 BUS MEMORIA CENTRALE LETTORE CD_ROM TASTIERA

Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare tanti circuiti elettronici in un oggetto in grado di svolgere delle funzioni di natura diversa Un programma è un insieme di istruzioni che il processore può eseguire La proprietà fondamentale dei computer è il fatto di essere programmabili

Il Software Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà l utente dovrebbe conoscere l organizzazione fisica dell'elaboratore e il suo linguaggio macchina (il tipo di istruzioni che il processore può eseguire); ogni programma dovrebbe essere scritto utilizzando delle sequenze di bit (le istruzioni) ed ogni piccola differenza hardware comporterebbe una riscrittura del programma stesso programmi molto complessi (milioni di istruzioni)

Il Software Questo non è accettabile ed è necessario fornire all utente un meccanismo per: astrarre dall organizzazione fisica della macchina; usare nello stesso modo, o comunque in modo molto simile, macchine leggermente diverse dal punto di vista hardware o, al limite, macchine con hardware profondamente differente; avere un semplice linguaggio di interazione con la macchina; avere un linguaggio semplice e ad alto livello per programmare la macchina; avere un insieme di programmi applicativi per svolgere diversi compiti (elaborazione testi, grafica, calcoli statistici, navigazione in Internet, ecc.)

Il Software Nei moderni sistemi di elaborazione questi obiettivi vengono raggiunti grazie alla definizione di macchine virtuali che vengono realizzate al di sopra della macchina hardware reale Al di sopra della macchina hardware si crea un livello software che realizza una macchina virtuale astratta con le funzionalità desiderate e facile da utilizzare Questa macchina si dice virtuale in quanto essa non esiste fisicamente ma viene realizzata mediante il software (software di base)

Il Software di base L utente interagisce solo con la macchina virtuale grazie ad un opportuno linguaggio di comandi ad alto livello. Il termine alto livello si riferisce al fatto che l interazione avviene con comandi ad alto livello di astrazione (semplificazione), ovvero, che sono indipendenti dai dettagli della macchina hardware La macchina virtuale si preoccuperà della traduzione dei comandi ad alto livello negli opportuni comandi che realizzano la stessa funzione e che sono riconosciuti dalla macchina hardware

Il Software di base Possiamo vedere il software di base come ad un insieme di programmi in linguaggio macchina la cui esecuzione permette di creare l'ambiente virtuale con cui l'utente si trova ad interagire Il software di base fornisce un insieme finito di comandi che la macchina è in grado di eseguire

Il Software di base: esempio Esempio: supponiamo che l'utente voglia stampare un file. A livello hardware questa operazione è complessa e richiede operazioni di trasferimento dati dal disco alla stampante (via memoria centrale) La macchina virtuale creata dal software di base fornisce all'utente un semplice comando di stampa: > print file1 mediante il quale si può richiedere la stampa delle informazioni contenute nel file di nome file1

Il Software di base: esempio La macchina virtuale deve innanzitutto verificare se si tratta di un comando valido Poi tradurlo nell opportuna sequenza di comandi a basso livello per la macchina fisica Una volta eseguito il comando, la macchina virtuale si pone in attesa di un nuovo comando da parte dell'utente Grazie a questo livello software si può astrarre dalle caratteristiche fisiche della macchina

Il Software di base Si può anche fare in modo che macchine differenti siano usabili in modo simile: si tratta, infatti, di costruire al di sopra delle diverse macchine fisiche la stessa macchina virtuale Per ogni comando della macchina virtuale si dovranno però avere diversi programmi di traduzione, uno per ogni tipo di hardware

Tipi di funzioni fornite dal Software di base Configurazione e accensione macchina Gestione di informazione su memoria secondaria => FILE SYSTEM Strumenti per accesso a tali informazioni Gestione delle risorse uso semplificato e astratto risorse per utente, es. stampanti, dischi, nastri... uso ottimale per sistema

Tipi di funzioni fornite dal Software di base Linguaggio di comandi astratto (semplice) per l interazione con il sistema Supporto per la comunicazione tra utenti e tra elaboratori Supporto per programmi applicativi Linguaggi e ambienti di programmazione ad alto livello

Il Sistema Operativo L'insieme di programmi che realizza le funzionalità viste in precedenza prende il nome di SISTEMA OPERATIVO Il sistema operativo è la componente software fondamentale di un computer È formato da un insieme di programmi che interagiscono e cooperano tra di loro per realizzare due obiettivi fondamentali: gestire efficientemente l'elaboratore e le sue periferiche, cercando di sfruttare al massimo tutte le componenti hardware creare un ambiente virtuale per facilitare l'interazione uomomacchina

Il Sistema Operativo: Esempio

Il Sistema Operativo: Esempio

Il Sistema Operativo: Esempio

Il Sistema Operativo: Esempio Le operazioni effettuate sembrano abbastanza semplici ma Provocano una serie di eventi in cui vengono coinvolte sia risorse hardware che risorse software Il coordinamento e la gestione delle varie risorse viene effettuato dal Sistema Operativo Il Sistema Operativo fornisce i servizi che sono necessari a tutti gli altri programmi in esecuzione

Il Sistema Operativo: Esempio 1. Per ogni carattere immesso tramite la tastiera viene calcolato il codice ASCII corrispondente 2. Il codice viene memorizzato in un area di memoria riservata (buffer) e viene inviato un segnale alla CPU (interrupt) 3. Quando la CPU riceve un interrupt dalla tastiera attiva un programma chiamato terminal driver 4. Il terminal driver invia al controller del monitor una copia del codice per visualizzare il carattere corrispondente

Il Sistema Operativo: Esempio 5. Il codice corrispondente al carattere Enter indica che il comando immesso (date) è completo 6. Il terminal driver attiva un altro modulo chiamato listener (perché attende le richieste provenienti dagli utenti) 7. Il listener legge i caratteri dal buffer della tastiera, riconosce quale comando viene richiesto, ricerca un programma chiamato date, lo carica in memoria centrale e lo attiva

Il Sistema Operativo: Esempio 8. Il programma date va a leggere un orologio (un contatore che tiene conto dello scorrere del tempo) e passa l informazione letta al terminal driver attivandolo 9. Il terminal driver trasmette la data al monitor che la visualizza

Il Sistema Operativo: Esempio Ognuno di questi eventi può essere descritto in dettaglio, per esempio vediamo la fase 7: prima che il programma listener carichi il programma date in memoria deve localizzare la cartella dove tale comando si trova, ecc. La fase di caricamento del programma comprende una fase di lettura dal disco rigido

Esempio dat Monitor dat Tastiera BUFFER BUFFER MEMORIA CENTRALE listener directory manager file manager terminal driver disk driver Disco rigido 148.608.043.200.010 timer Ogni carattere dato in input dalla tastiera viene ricevuto dal terminal driver che lo invia al monitor per la visualizzazione

Esempio date<cr> Monitor date<cr> Tastiera BUFFER BUFFER MEMORIA CENTRALE listener directory manager file manager terminal driver disk driver Disco rigido 148.608.043.200.020 timer Quando viene immesso il carattere Enter <cr> il terminal driver passa la stringa date al programma listener che interpreta il comando

Esempio Monitor Tastiera BUFFER BUFFER MEMORIA CENTRALE listener directory manager file manager terminal driver disk driver Disco rigido 148.608.043.200.032 timer Il listener richiede al directory manager di cercare (nella directory dei comandi) date. Il programma directory manager richiede al programma file manager, che a sua volta si avvale del programma disk driver, di localizzare sul disco rigido il programma date

Esempio Monitor Tastiera BUFFER BUFFER MEMORIA CENTRALE date listener directory manager file manager terminal driver disk driver Disco rigido 148.608.043.200.045 timer Quando il comando date è stato localizzato (è un file eseguibile) il listener (mediante il file manager) lo carica in memoria. Per fare questa operazione il file manager utilizza il disk driver

Esempio Monitor Tastiera BUFFER BUFFER MEMORIA CENTRALE date listener directory manager file manager terminal driver disk driver Disco rigido timer 148.608.043.200.101 Il listener manda in esecuzione il programma date che legge il timer ed effettua delle operazioni di conversione per trasformare il valore letto nella data del giorno

Esempio 11/02/99 Monitor Tastiera BUFFER BUFFER MEMORIA CENTRALE date listener directory manager file manager terminal driver disk driver Disco rigido timer 148.608.043.200.104 Il programma date tramite il terminal driver visualizza sul monitor la data

Il Sistema Operativo: esempio Sebbene le operazioni che abbiamo preso in esame sembrino abbastanza semplici e di uso frequente esse provocano una serie di eventi e azioni molto complesse e articolate L immissione di un semplice carattere (tramite tastiera) può provocare l esecuzione di una decina (o anche più) di funzionalità del S.O.