L informatica comprende:



Documenti analoghi
Architettura dei computer

INFORMATICA. L informatica comprende:

la scienza della rappresentazione e della elaborazione dell informazione

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

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

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

Memoria Secondaria o di Massa

Informatica - A.A. 2010/11

Informazione analogica e digitale

Corso di: Abilità informatiche

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

Test di informatica QUALE TRA I DISPOSITIVI DI MEMORIA ELENCATI HA LA CAPACITÀ PIÙ ELEVATA? a) Floppy disk b) Cd-Rom c) DVD Risposta corretta:

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il Software. Il software del PC. Il BIOS

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Organizzazione della memoria

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

Architettura hardware

Esame di INFORMATICA

Architettura dei calcolatori I parte Introduzione, CPU

Dispensa di Informatica I.1

SISTEMI DI NUMERAZIONE E CODICI

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

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Architettura di un calcolatore

Concetti di base della Tecnologia dell Informazione Uso del computer e gestione dei file Elaborazione testi Fogli di Calcolo Reti informatiche

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

4 3 4 = 4 x x x 10 0 aaa

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

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

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Il computer: primi elementi

La codifica delle informazioni

la scienza della rappresentazione e della elaborazione dell informazione

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Sistemi di Numerazione

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA

Informatica. Rappresentazione dei numeri Numerazione binaria

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

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

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

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

Logica e codifica binaria dell informazione

Introduzione all'architettura dei Calcolatori

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

ARCHITETTURA DELL ELABORATORE

C. P. U. MEMORIA CENTRALE

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

L informatica comprende:

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Metodi per la rappresentazione delle informazioni Metodi per la rappresentazione delle soluzioni Linguaggi di programmazione Architettura dei

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

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Architettura del calcolatore

Corso di Informatica

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Elementi di Informatica e Programmazione

INFORMATICA. Corso di Laurea in Scienze dell'educazione

Tecnologia dell Informazione

LABORATORIO DI SISTEMI

I sistemi di numerazione

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

ESEMPIO 1: eseguire il complemento a 10 di 765

Il Personal Computer. Cos è Lo schema di massima Che cosa ci possiamo fare. 1

Nozioni di Informatica di base. dott. Andrea Mazzini

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

Elementi di informatica

Elementi di informatica

Appunti di Sistemi Elettronici

INFORMATICA, IT e ICT

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

2. Codifica dell informazione

Laboratorio di Informatica

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

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Architettura hardware

Software di base. Corso di Fondamenti di Informatica

COMPETENZE INFORMATICHE DI BASE PER ADULTI

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

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

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

Informatica 1 Lezione 1

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

Alfabetizzazione Informatica. Prof. Giuseppe Patti

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Architettura dei calcolatori II parte Memorie

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

Rappresentazione dei numeri in un calcolatore

COME E COMPOSTO IL PC -

Rappresentazione dell informazione Codifica Binaria

Transcript:

Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione 1 L informatica comprende: Metodi per la rappresentazione delle informazioni Metodi per la rappresentazione delle soluzioni Linguaggi di programmazione Architettura dei calcolatori Sistemi operativi Reti di calcolatori Sistemi e applicazioni distribuite Tecnologie Web Algoritmi... 2

ELABORATORE ELETTRONICO ( COMPUTER COMPUTER ) Strumento per la rappresentazione e l elaborazione delle informazioni 3 Componenti principali Unità centrale Video ( monitor ) Tastiera e Mouse Lettore CD Dischi fissi ( hard disk ) Dischetti ( floppy ) Componenti accessori Stampante Modem Scanner Tavolette grafiche L ELABORATORE HARDWARE 4

SOFTWARE Software: programmi che vengono eseguiti dal sistema Distinzione fra: Software di base (es. Sistema Operativo) Software applicativo Software di base Hardware Software applicativo 5 HARDWARE È composto da un insieme di unità funzionali 6

HARDWARE CPU (Central Processing Unit), o Processore CPU: Svolge le elaborazioni e il trasferimento dei dati, cioè esegue i programmi 7 HARDWARE RAM & ROM Dimensioni relativamente limitate Accesso molto rapido RAM (Random Access Memory), e ROM (Read Only Memory) Insieme formano la Memoria centrale 8

HARDWARE ATTENZIONE RAM è volatile (perde il suo contenuto quando si spegne il calcolatore) usata per memorizzare dati e programmi ROM è persistente (mantiene il suo contenuto quando si spegne il calcolatore) ma il suo contenuto è fisso e immutabile usata per memorizzare programmi di sistema 9 HARDWARE BUS DI SISTEMA È una linea di comunicazione che collega tutti gli elementi funzionali 10

HARDWARE Sono usate per far comunicare il calcolatore con l'esterno (in particolare con l utente) UNITÀ DI INGRESSO / USCITA (I/O) Tastiera e Mouse Video e Stampante Scanner Tavoletta grafica Dispositivi di memoria di massa... 11 HARDWARE MEMORIA DI MASSA Dischi CD Nastri... memorizza grandi quantità di informazioni persistente (le informazioni non si perdono spegnendo la macchina) accesso molto meno rapido della memoria centrale (millisecondi contro nanosecondi; differenza 10 6 ) 12

TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze elettriche: tensione alta (V H, ad es. 5V) tensione bassa (V L, ad es. 0V) A tali valori vengono convenzionalmente associate le due cifre binarie 0 e 1: logica positiva: 1 V H, 0 V L logica negativa: 0 V H, 1 V L 13 TECNOLOGIA DIGITALE (segue) Dati ed operazioni vengono codificati tramite sequenze di bit 01000110101... CPU è in grado di operare soltanto in aritmetica binaria, effettuando operazioni elementari: somma e differenza scorrimento (shift)... Lavorando direttamente sull hardware, l utente è forzato a esprimere i propri comandi al livello della macchina, tramite sequenze di bit 14

RAPPRESENTAZIONE DELL INFORMAZIONE Internamente a un elaboratore, ogni informazione è rappresentata tramite sequenze di bit (cifre binarie) Una sequenza di bit non dice che cosa essa rappresenta Ad esempio, 01000001 può rappresentare: l intero 65, il carattere A, il boolean vero, il valore di un segnale musicale, il colore di un puntino sullo schermo... 15 INFORMAZIONI NUMERICHE La rappresentazione delle informazioni numeriche è di particolare rilevanza In questa sede ci limiteremo ai numeri naturali (interi senza segno) Dominio: N = { 0,1,2,3, } 16

NUMERI NATURALI (interi senza segno) Dominio: N = { 0,1,2,3, } Rappresentabili con diverse notazioni non posizionali ad esempio la notazione romana: I, II, III, IV, V,... IX, X, XI Risulta difficile l utilizzo di regole generali per il calcolo posizionale 1, 2,.. 10, 11,... 200,... Risulta semplice l individuazione di regole generali per il calcolo 17 NOTAZIONE POSIZIONALE Concetto di base di rappresentazione B Rappresentazione del numero come sequenza di simboli (cifre) appartenenti a un alfabeto di B simboli distinti ogni simbolo rappresenta un valore compreso fra 0 e B-1 Esempio di rappresentazione su N cifre: d n-1 d 2 d 1 d 0 18

NOTAZIONE POSIZIONALE Il valore di un numero espresso in questa notazione è ricavabile a partire dal valore rappresentato da ogni simbolo pesandolo in base alla posizione che occupa nella sequenza d n-1 d 2 d 1 d 0 Posizione n-1: pesa B n-1 Posizione 1: pesa B 1 Posizione 0: pesa B 0 (unità) 19 In formula: NOTAZIONE POSIZIONALE v = n 1 k d k B dove k = 0 B = base ogni cifra d k rappresenta un valore fra 0 e B-1 Esempio (base B=4): 1 2 1 3 d 3 d 2 d 1 d 0 Valore = 1 * B 3 + 2 * B 2 + 1 * B 1 + 3 * B 0 = centotre 20

NOTAZIONE POSIZIONALE Quindi, una sequenza di cifre non è interpretabile se non si precisa la base in cui è espressa Esempi: Stringa Base Alfabeto Calcolo valore Valore 12 quattro {0,1,2,3} 4 * 1 + 2 sei 12 otto {0,1,...,7} 8 * 1 + 2 dieci 12 dieci {0,1,...,9} 10 * 1 + 2 dodici 12 sedici {0,..,9, A,., F} 16 * 1 + 2 diciotto 21 NOTAZIONE POSIZIONALE Inversamente, ogni numero può essere espresso, in modo univoco, come sequenza di cifre in una qualunque base Esempi: Numero Base Alfabeto Rappresentazione venti due {0,1} 10100 venti otto {0,1,...,7} 24 venti dieci {0,1,...,9} 20 venti sedici {0,..,9, A,., F} 14 22

CONCLUSIONE Quindi: i numeri sono concetti, che esistono in quanto tali la loro rappresentazione può invece variare a seconda delle convenzioni adottate Non bisogna confondere un numero con una sua RAPPRESENTAZIONE! 23 NUMERI E LORO RAPPRESENTAZIONE Internamente, un elaboratore adotta per i numeri interi (non negativi) una rappresentazione binaria (base B=2) Esternamente, le costanti numeriche che scriviamo nei programmi e i valori che stampiamo a video / leggiamo da tastiera sono invece sequenze di caratteri ASCII Il passaggio dall'una all'altra forma richiede dunque un processo di conversione 24

Esempio: RAPPRESENTAZIONE INTERNA/ESTERNA Numero: centoventicinque Rappresentazione interna binaria (16 bit): 00000000 01111101 Rappresentazione esterna in base 10: occorre produrre la sequenza di caratteri ASCII '1', '2', '5' 00110001 00110010 00110101 vedi tabella ASCII 25 Esempio: RAPPRESENTAZIONE INTERNA/ESTERNA Rappresentazione esterna in base 10: È data la sequenza di caratteri ASCII '3', '1', '2', '5', '4' vedi tabella ASCII 00110011 00110001 00110010 00110101 00110100 Rappresentazione interna binaria (16 bit): 01111010 00010110 Numero: trentunomiladuecentocinquantaquattro 26

CONVERSIONE STRINGA/NUMERO Si applica la definizione: v = n 1 k = 0 k d k B le cifre d k sono note, il valore v va calcolato = d 0 + B * ( d 1 + B * ( d 2 + B * ( d 3 +... ))) Ciò richiede la valutazione di un polinomio Metodo di Horner 27 CONVERSIONE NUMERO/STRINGA Problema: dato un numero, determinare la sua rappresentazione in una base data Soluzione (notazione posizionale): manipolare la formula per dedurre un algoritmo v = n 1 k = 0 k d k B v è noto, le cifre d k vanno calcolate = d 0 + B * ( d 1 + B * ( d 2 + B * ( d 3 +... ))) 28

CONVERSIONE NUMERO/STRINGA Per trovare le cifre bisogna calcolarle una per una, ossia bisogna trovare un modo per isolarne una dalle altre v = d 0 + B * ( ) Osservazione: d 0 è la sola cifra non moltiplicata per B Conseguenza: d 0 è ricavabile come v modulo B 29 CONVERSIONE NUMERO/STRINGA Algoritmo delle divisioni successive si divide v per B il resto costituisce la cifra meno significativa (d 0 ) il quoziente serve a iterare il procedimento se tale quoziente è zero, l algoritmo termina; se non lo è, lo si assume come nuovo valore v, e si itera il procedimento con il valore v 30

CONVERSIONE NUMERO/STRINGA Esempi Numero Base Calcolo valore Stringa quattordici 4 14 / 4 = 3 con resto 2 3 / 4 = 0 con resto 3 32 undici 2 11 / 2 = 5 con resto 1 5 / 2 = 2 con resto 1 2 / 2 = 1 con resto 0 1 / 2 = 0 con resto 1 1011 sessantatre 10 63 / 10 = 6 con resto 3 6 / 10 = 0 con resto 6 63 sessantatre 16 63 / 16 = 3 con resto 15 3 / 16 = 0 con resto 3 3F 31 NUMERI NATURALI: valori rappresentabili Con N bit, si possono fare 2 N combinazioni Si rappresentano così i numeri da 0 a 2 N -1 Esempi con 8 bit, [ 0. 255 ] In C: unsigned char = byte con 16 bit, [ 0. 65.535 ] In C: unsigned short int (su alcuni compilatori) In C: unsigned int (su alcuni compilatori) con 32 bit, [ 0. 4.294.967.295 ] In C: unsigned int (su alcuni compilatori) In C: unsigned long int (su molti compilatori) 32

OPERAZIONI ED ERRORI La rappresentazione binaria rende possibile fare addizioni e sottrazioni con le usuali regole algebriche Esempio: 5 + 0101 3 = 0011 --- -------- 8 1000 33 ERRORI NELLE OPERAZIONI Esempio (supponendo di avere solo 7 bit per la rappresentazione) 60 + 0111100 75 = 1100011 ----- -------- 135 10011111 Errore! Massimo numero rappresentabile: 2 7-1 cioè 127 Questo errore si chiama overflow Può capitare sommando due numeri dello stesso segno il cui risultato non sia rappresentabile utilizzando il numero massimo di bit designati 34

ESERCIZIO RAPPRESENTAZIONE Un elaboratore rappresenta numeri interi su 8 bit dei quali 7 sono dedicati alla rappresentazione del modulo del numero e uno al suo segno. Indicare come viene svolta la seguente operazione aritmetica: in codifica binaria 59 27 35 ESERCIZIO RAPPRESENTAZIONE Soluzione 59 0 0111011-27 1 0011011 Tra i (moduli dei) due numeri si esegue una sottrazione: 0111011-0011011 ------- 0100000 che vale 32 in base 10 36

Differenze tra numeri binari Cosa avremmo dovuto fare se avessimo avuto 27-59??? Avremmo dovuto invertire i due numeri, calcolare il risultato, e poi ricordarci di assegnare 1 al bit rappresentante il segno. Il procedimento è quindi complesso. Per ovviare a tale problema, si usa la notazione complemento a 2, che permette di eseguire tutte le differenze tramite delle somme! 37 IL SOFTWARE Software: insieme (complesso) di programmi Organizzazione a strati, ciascuno con funzionalità di livello più alto rispetto a quelli sottostanti Concetto di MACCHINA VIRTUALE Sistema Operativo Programmi Applicativi Ambiente di programmazione Software di Comunicazione Hardware 38

IL FIRMWARE Firmware: il confine fra hardware e software È uno strato di micro-programmi, scritti dai costruttori, che agiscono direttamente al di sopra dello strato hardware Sono memorizzati su una speciale memoria centrale permanente (ROM, EPROM, ) 39 IL SISTEMA OPERATIVO Strato di programmi che opera al di sopra di hardware e firmware e gestisce l elaboratore Solitamente, è venduto insieme all elaboratore Spesso si può scegliere tra diversi sistemi operativi per lo stesso elaboratore, con diverse caratteristiche Esempi: Windows 95/98/XP Windows NT/2000 Linux v.2.6 MacOs X Symbian Palm OS... 40

FUNZIONI DEL SISTEMA OPERATIVO Le funzioni messe a disposizione dal SO dipendono dalla complessità del sistema di elaborazione: gestione delle risorse disponibili gestione della memoria centrale organizzazione e gestione della memoria di massa interpretazione ed esecuzione di comandi elementari gestione di un sistema multi-utente Un utente vede l elaboratore solo tramite il Sistema Operativo il SO realizza una macchina virtuale 41 FUNZIONI DEL SISTEMA OPERATIVO Qualsiasi operazione di accesso a risorse implicitamente richiesta da comando utente viene esplicitata dal SO Conseguenza: diversi SO possono realizzare diverse macchine virtuali sullo stesso elaboratore fisico Attraverso il SO il livello di interazione fra utente ed elaboratore viene elevato: senza SO: sequenze di bit con SO: comandi, programmi, dati I sistemi operativi si sono evoluti nel corso degli ultimi anni (interfacce grafiche, Mac, Windows,...) 42

ESEMPIO esegui progr1 S. O. 0011...10100... Hardware e viceversa: risultato 10 S. O. 0010...10010... Hardware Utente: esegui progr1 Utente: stampa 10 Sistema Operativo: - input da tastiera - ricerca codice di progr1 su disco - carica in memoria centrale codice e dati <elaborazione> Sistema Operativo: - output su video 43 PROGRAMMI APPLICATIVI Risolvono problemi specifici degli utenti: word processor: fogli elettronici: database: suite (integrati): elaborazione di testi (es. MSWord) gestione di tabelle, calcoli e grafici (es. MSExcel) gestione di archivi (es. MSAccess) collezione di applicativi capaci di funzionare in modo integrato come un applicazione unica (es. Open Office) Sono scritti in linguaggi di programmazione di alto livello Risentono in misura ridotta delle caratteristiche della architettura dell ambiente sottostante (portabilità) 44

AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto in un qualsiasi linguaggio di programmazione sia comprensibile (e quindi eseguibile) da un calcolatore, occorre tradurlo dal linguaggio originario al linguaggio della macchina Questa operazione viene normalmente svolta da speciali programmi, detti traduttori 45