Informatica. Appunti della lezione 11

Documenti analoghi
Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Esame di INFORMATICA

Informatica - A.A. 2010/11

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Architettura del calcolatore

Architettura hardware

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

C. P. U. MEMORIA CENTRALE

Architettura di un computer

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

ARCHITETTURA DELL ELABORATORE

Struttura del calcolatore

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Organizzazione della memoria

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Architettura dei computer

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Corso: Informatica+ Andrea Cremonini. Lezione del 20/10/2014

Informatica 10. appunti dalla lezione del 16/11/2010

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

ARCHITETTURA DEL CALCOLATORE

Laboratorio di Informatica

IL COMPUTER APPUNTI PER LEZIONI NELLE 3 CLASSI LA MACCHINA DELLA 3 RIVOLUZIONE INDUSTRIALE. A CURA DEL Prof. Giuseppe Capuano

Architettura dei calcolatori II parte Memorie

Introduzione all uso del Personal Computer

CPU. Maurizio Palesi

Gerarchia delle memorie

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Unità Periferiche. Rete Di Controllo

Dispensa di Informatica I.1

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

La memoria centrale (RAM)

Elementi di informatica

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Corso di Sistemi di Elaborazione delle informazioni

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

COME È FATTO IL COMPUTER

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Corso di Informatica

Strutture di Memoria 1

Vari tipi di computer

MODULO 01. Come è fatto un computer

Funzionalità di un calcolatore

Appunti di Sistemi e Automazione

Laboratorio di Informatica

L HARDWARE parte 1 ICTECFOP@GMAIL.COM

Architettura di un calcolatore

Introduzione all'architettura dei Calcolatori

Lezione 3: Architettura del calcolatore

Informatica per la comunicazione" - lezione 7 -

Parte II.2 Elaboratore

La memoria - generalità

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Memoria Secondaria o di Massa

Von Neumann. John Von Neumann ( )

Informatica. appunti dalla lezione del 13/12/2011

Architettura dei calcolatori I parte Introduzione, CPU

Architettura del Personal Computer AUGUSTO GROSSI

ELETTRONICA DIGITALE

Lez. 5 Memorie Secondarie

Architettura hardware

Organizzazione della memoria principale Il bus

Lezione 8. La macchina universale

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

4 3 4 = 4 x x x 10 0 aaa

Il Sistema Operativo (1)

Il Processore: i registri

Tecnologia dell Informazione

Corso di Laurea in Informatica Architetture degli Elaboratori

MODULO 01. Come è fatto un computer

Informatica per le discipline umanistiche 2 - lezione 3 -

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Fondamenti di informatica: un po di storia

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Informatica 1 Lezione 1

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

INFORMATICA. Corso di Laurea in Scienze dell'educazione

Informazione analogica e digitale

INFORMATICA, IT e ICT

processore case Le casse acustiche

Appunti di Sistemi Elettronici

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

MODULO Il personal computer. ISIS STRINGHER Corso Serale Anno scolastico 2010/11 Classe 1 Commerciale

DIMENSIONI E PRESTAZIONI

Calcolo numerico e programmazione Architettura dei calcolatori

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Il Software. Il software del PC. Il BIOS

HARDWARE. Relazione di Informatica

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

CHE COS È L INFORMATICA

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Transcript:

Informatica Appunti della lezione 11

Architettura dei calcolatori

La maggior parte degli strumenti informatici oggi in uso si basano sull architettura di Von Neumann E un modello astratto che include tutti i componenti funzionali (ossia distinti dagli altri per la funzione che svolgono) di un computer

CPU: Central Processing Unit, processore CPU unità controllo ALU RAM: Random Access Memory, Memoria Centrale RAM memoria ele)ronica, vola.le, veloce, costosa HD: Hard Disk, Hard Drive, disco rigido, disco fisso memoria magne.ca, non vola.le, lenta, economica* ROM Read Only Memory bus *adesso ci sono anche i dischi SSD (solid state disk): memoria ele)ronica, non vola.le, più veloce dell HD ma meno della RAM, ancora molto costosa output input periferiche alcune, come il touch- screen sono sia di input sia di output

L architeeura del calcolatore Per descrivere le diverse parf di un calcolatore e le loro connessioni, si fa tueora riferimento all architeeura di Von Neumann, proposta per la prima volta in un rapporto tecnico del 1945 (John von Neumann, Budapest 1903 Wahington D.C. 1957) Su tale architeeura si basa la maggior parte dei calcolatori odierni

ArchiteEura di von Neumann I componenf dell architeeura sono: la CPU (Central Processing Unit), che esegue le istruzioni dei programmi la RAM (Random Access Memory), la memoria principale di Fpo eleeronico dove sono scriee le istruzioni da eseguire e i daf da elaborare mentre il calcolatore è acceso il disco fisso, la memoria secondaria di Fpo magnefco dove sono conservate le istruzioni e i daf anche quando il calcolatore è spento le periferiche, componenf addizionali che permeeono all utente di trasferire informazione verso il calcolatore (input) o di oeenere informazione dal calcolatore (output) il bus, il canale di comunicazione che conneee tu\ i componenf di cui sopra

Il funzionamento della CPU La CPU funziona a ciclo confnuo, dall accensione del calcolatore fino allo spegnimento, eseguendo le seguenf azioni a ripefzione: fetch, prelevamento dell istruzione da eseguire decode, decodifica del codice dell istruzione prelevata execute, esecuzione dell istruzione decodificata

CPU RAM La CPU preleva le istruzioni da eseguire sempre dalla RAM Per questo mofvo, ogni programma in esecuzione deve essere presente nella RAM Le istruzioni (e anche i daf su cui eseguire le istruzioni) sono trasferire dalla RAM verso disposifvi di memoria presenf nella CPU, chiamaf registri L unità di controllo della CPU supervisiona il trasferimento e la decodifica dell istruzione, e ordina alla ALU (unità aritmefco logica) l operazione da eseguire I risultaf sono salvaf sui registri, e da lì trasferif alla RAM

RAM disco La RAM è basata su disposifvi eleeronici, che funzionano con tempi molto rapidi, ma che necessitano di alimentazione eleerica per preservare l informazione in essi contenuta Il disco fisso è invece cosftuito da materiale ferro- magnefco, la cui leeura e scrieura è molto più lenta, ma le informazioni salvate permangono anche a calcolatore spento Per questo mofvo, tu\ i programmi sono conservaf nel disco fisso, e trasferif alla RAM quando il calcolatore è acceso e vengono mandaf in esecuzione TuEe le modifiche ai daf faee tramite un programma in esecuzione, se sono presenf solo nella RAM ma non nel disco fisso sono perse se l alimentazione eleerica viene meno Quando si salva un file (di faeo, un insieme di daf), si ordina il trasferimento dei daf dalla RAM al disco, in modo da conservare l ulfma versione anche dopo lo spegnimento del calcolatore All accensione del calcolatore, il primo programma che viene caricato (cioè trasferito dal disco alla RAM) è il sistema operafvo, che funziona per tueo il tempo in cui il calcolatore è acceso e serve a gesfre tuee le sue risorse

periferiche RAM Per inserire daf all interno del calcolatore, l utente deve usare le periferiche di input Ad esempio, durante l esecuzione di una istruzione cin >> x, il calcolatore aeende un valore inserito tramite tasfera, da inviare in una parfcolare cella di memoria RAM, corrispondente alla variabile x Da lì, il valore sarà mandato alla CPU per essere elaborato (ad es. per eseguire x = x + 5)

RAM periferiche Le periferiche di output ricevono daf provenienf dalla RAM e li inviano verso il mondo esterno al calcolatore (ad es. visualizzandoli su uno schermo o stampandoli su carta) Istruzioni come cout << x prevedono il trasferimento del contenuto di una cella di memoria RAM (corrispondente alla variabile x) verso una specifica periferica (lo schermo)

Sistema OperaFvo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operafvo è un programma che serve a gesfre TUTTE le risorse presenf in un calcolatore Risorse: periferiche, memorie, CPU. Le risorse sono usate dai vari programmi in funzionamento sul calcolatore. Tra quesf il più importante è il sistema operafvo, che gesfsce tali risorse. Il sistema operafvo è il PRIMO* programma ad entrare in funzione. *con la precisazione nella seguente slide

Il problema del bootstrap Il problema di come avviare un calcolatore Fortunatamente, ci sono anche memorie eleeroniche che conservano l informazione. (ad es.: la scheda SD della vostra macchina fotografica digitale) All accensione, la CPU esegue un programma scrieo nella ROM che fa trasferire le istruzioni del sistema operafvo dal disco fisso alla RAM Una volta nella RAM, il sistema operafvo può essere eseguito dalla CPU e il computer si avvia a disposizione dell utente

Memorie Dispositivi in grado di conservare al loro interno informazione per un intervallo di tempo significativo RAM chiavetta USB Hard disk CD/DVD SD card

Tecnologie diverse elettronica ottica magnetismo

Caratteristiche diverse Velocità Non volatilità Tolleranza ai guasti

Caratteristiche diverse Costo (a parità di dimensione)

Hard disk E il dispositivo di memoria con la maggiore capacità: centinaia di GB contro qualche unità di GB degli altri dispositivi E anche il dispositivo più suscettibile ai guasti a causa delle parti meccaniche che lo compongono (testina di lettura/ scrittura su braccio mobile e dischi magnetici rotanti), ed è il più lento I dischi sono divisi in settori concentrici, ciascuno dei quali diviso in blocchi Quando c è la richiesta di una scrittura/lettura di un dato in un blocco, la testina deve essere posizionata sul blocco corretto Tale posizionamento necessita di un tempo con due componenti: seek time (posizionamento sul settore giusto) e latenza (attesa della rotazione del disco perché il blocco giusto raggiunga la testina) A tali tempi bisogna aggiungere il tempo necessario per il trasferimento dei dati dal disco alla RAM (transfer time)

Memorie elettroniche non volatili Le chiavette USB, le SD card, e i più recenti hard disk a stato solido sono basati su tecnologia elettronica, ma, a differenza delle RAM, non sono volatili La non volatilità è data da uno strato di ossido scrivibile e cancellabile (per mezzo di appositi valori di tensione) che si accompagna in questi dispositivi ai circuiti elettronici In origine chiamati memorie flash perché l alta tensione usata per cancellarle era paragonata a un flash (Toshiba, primi anni 80) I primi modelli potevano solo essere cancellati completamente, oggi la cancellazione è selettiva e l utente può scegliere quali file cancellare e quali conservare

Gerarchia di memorie Tutti i dispositivi di memoria che sono presenti nell architettura di un calcolatore sono organizzati in una gerarchia più veloce Registri Cache RAM più grande Hard disk

Gerarchia di memorie Ogni livello comunica solo con i livelli immediatamente adiacenti I registri sono dispositivi di memoria direttamente connessi alla CPU (es.: PC, il Program Counter, contiene l indirizzo in memoria della prossima istruzione da eseguire) La cache è un dispositivo di memoria direttamente connesso coi registri che riporta il contenuto di una parte della RAM Quando i dati viaggiano tra cache, registri, e CPU, non attraversano il bus del calcolatore, perché questi 3 dispositivi sono tutti costruiti su una stessa scheda elettronica (perciò si ottiene velocità molto maggiore)

Uso della gerarchia Quando necessita di un dato da elaborare, la CPU lo cerca nel dispositivo di memoria più vicino Se il dato non viene trovato, lo si cerca nel dispositivo di memoria successivo, con un costo maggiore in termini di tempo Nel peggiore dei casi, il dato va recuperato nell hard disk, il dispositivo più lento di tutti

Gestione della gerarchia La situazione ideale (irrealizzabile) sarebbe che la CPU avesse sempre i dati necessari a disposizione nei registri Ottimizzare l uso della gerarchia vuol dire ridurre al minimo il ricorso ai livelli di memoria inferiori Per perseguire questo scopo ci si basa su due principi derivati dall esperienza

Principio di località spaziale Se la CPU necessita di un dato x, è probabile che necessiterà presto dei dati vicino a x in memoria Questo perché molto spesso i dati sono organizzati in strutture contigue (array, struct, etc ) Seguendo questo principio, quando si cerca un dato x nei livelli inferiori della gerarchia di memorie, non si trasferisce solo x, ma un intero blocco di dati contenente x In questo modo, se la CPU necessita dei dati intorno a x questi sono già disponibili nei livelli alti della gerarchia, con risparmio di tempo

Principio di località temporale Se la CPU necessita di un dato x, è probabile che necessiterà di nuovo di x nel prossimo futuro Questo perché molto spesso i programmi contengono cicli (for, while, etc ) Seguendo questo principio, quando un blocco viene trasferito ai livelli alti (es.: da RAM a cache) e non c è più spazio disponibile (es.: la cache è piena), si sovrascrive il blocco non usato da più tempo, perché è quello che meno probabilmente sarà richiesto dalla CPU in futuro La strategia di sacrificare il blocco meno usato da più tempo si chiama LRU (Least Recently Used)

Codifiche

Il concetto di codifica La codifica è una corrispondenza biunivoca tra entità di qualunque genere e numeri interi Visto che il processore elabora numeri, tutto ciò che può essere descritto mediante tali numeri può essere oggetto di elaborazione da parte del calcolatore: testi immagini suoni

Codifica di testi Bisogna far corrispondere a ogni carattere un particolare numero Esistono molte convenzioni a riguardo, tra cui ad esempio la tabella ASCII (American Standard Code for Information Interchange), oggi inglobata nella più nuova codifica UTF-8 (vedi slide seguente)

UTF-8 Universal Character Set Transformation Format 8bit

Codifica di immagini Nel far corrispondere a ogni immagine un numero, si può procedere in 2 modi diversi Approccio raster : si divide l immagine in elementi di dimensioni molto ridotte, caratterizzati da un unico colore (pixel: picture element), a ogni colore si corrispondere una codifica (ad es. RGB: terna di valori numeri che indicano quanto rosso, quanto verde, quando blu ci sia nel colore codificato). L immagine diventa una sequenza di numeri che descrive i colori di ciascun pixel che la compone Approccio vettoriale : l immagine viene vista come un insieme di figure geometriche colorate. La codifica avviene grazie alle formule matematiche che descrivono le figure, e alla già menzionata codifica del colore.

Un immagine divisa in pixel

Tabella RGB

Grafica vettoriale: dai rudimenti ai risultati finali

Codifica di suoni Sapendo che i suoni sono prodotti da onde che si muovono in un fluido (solitamente aria), basta avere una descrizione matematica di tali onde per avere una codifica L ampiezza dell onda corrisponde all intensità del suono (suono forte/suono debole) La frequenza dell onda all altezza del suono (note alte/note basse) La forma dell onda al timbro del suono (voce/ pianoforte/motore/etc )

forma ampiezza frequenza

Campionamento Per avere una descrizione numerica dei valori dell onda dobbiamo campionarla, ossia registrare il suo valore un certo numero di volte nell unità di tempo Il numero di campioni nell unità di tempo prende il nome di frequenza di campionamento Più è alta la frequenza di campionamento, migliore + la ricostruzione dell onda originale, perché abbiamo a disposizione più campioni Avere più campioni naturalmente vuol dire che la descrizione dell onda risulta più lunga (ad es. un file MP3 di una canzone diventa più grande se la canzone è camionata a frequenza più elevata)

Descrizione formale dei circuiti elettronici che realizzano le operazioni logiche sui segnali binari

CircuiF logici (1) Negazione, NOT,! IN OUT 0 1 1 0 IN OUT

CircuiF logici (2) Congiunzione, AND, && IN1 IN2 OUT= IN1 AND IN2 0 0 0 0 1 0 1 0 0 1 1 1 IN1 IN2 OUT

CircuiF logici (3) Disgiunzione, OR, IN1 IN2 OUT= IN1 OR IN2 0 0 0 0 1 1 1 0 1 1 1 1 IN1 IN2 OUT

CircuiF logici (4) Disgiunzione esclusiva, XOR, IN1 IN2 OUT= IN1 XOR IN2 0 0 0 0 1 1 1 0 1 1 1 0 IN1 IN2 OUT

Precedenze degli operatori! precede &&, che precede, che precede!a&&b C è equivalente a ((!A)&&B) C Le parentesi vincono sulle precedenze: in!((a B)&&C) la disgiunzione viene eseguita per prima, poi la congiunzione, da ulfmo la negazione

Alcune regole per semplificare!a&&a 0!A A 1!(A&&B)!A!B!(A B)!A&&!B 0&&A 0 0 A A 1 A 1 1&&A A Trasformando le espressioni logiche seguendo queste regole rende i circuif più semplici: (!A&&A) (!B&&C)!B&&C

Tipi di espressioni Tautologie: espressioni, come!a A, che valgono sempre 1 (sono sempre vere) qualunque sia il valore di A Contraddizioni: espressioni, come!a&&a, che valgono sempre 0 (sono sempre false) qualunque sia il valore di A TuEe le altre espressioni che possono essere sia vere sia false, a seconda dei valori delle loro componenf, si dicono confngenze.

CircuiF sommatori (1) Half- adder (A+B = Somma con Carry)

CircuiF sommatori (2) Full- adder (A+B+Carry in ingresso = Somma con Carry in uscita)