a. fondamenti di informatica

43
A. Fondamenti di Informatica Introduzione: informatica e scienze umanistiche Infoƌmaƚica coƐè linfoƌmaƚica elemenƚi fondamenƚali degli elaboratori elettronici e dei sistemi di elaborazione Le interfacce utenti dei principali strumenti di produttività (elaboratori di testo, fogli elettronici, gestori di archivi, ecc.) Linguaggi di programmazione e strumenti per la creazione del software Introduzione alle tecniche per la ricerca di informazioni sul web Questioni sociali ed etiche (virus, copyright, ecc.) La rappresentazione dei dati per le scienze umane Dalle reti a Internet World Wide Web Riassunto lezione del 5/10

Upload: others

Post on 24-Nov-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A. Fondamenti di Informatica

A. Fondamenti di Informatica ◦ Introduzione: informatica e scienze umanistiche◦ Informatica: cos’è l’informatica, elementi fondamentali degli

elaboratori elettronici e dei sistemi di elaborazione◦ Le interfacce utenti dei principali strumenti di produttività

(elaboratori di testo, fogli elettronici, gestori di archivi, ecc.)◦ Linguaggi di programmazione e strumenti per la creazione del

software◦ Introduzione alle tecniche per la ricerca di informazioni sul

web◦ Questioni sociali ed etiche (virus, copyright, ecc.)◦ La rappresentazione dei dati per le scienze umane ◦ Dalle reti a Internet ◦ World Wide Web

Riassunto lezione del 5/10

Page 2: A. Fondamenti di Informatica

Aree disciplinaridell’Informatica

Algoritmi e strutture datiArchitettura dei calcolatoriIntelligenza artificiale e roboticaScienze computazionaliBasi di dati e sistemi per information retrievalGrafica computerizzataInterazione uomo-calcolatoreSistemi operativi e retiLinguaggi di programmazioneIngegneria del software

Riassunto lezione del 5/10

Page 3: A. Fondamenti di Informatica

L’ELABORATORE ELETTRONICO�uno strumento in grado di eseguire insiemi di azioni elementari (“mosse”)

�le mosse vengono eseguite su oggetti (dati) per produrre altri oggetti (risultati)

�l’esecuzione di mosse viene richiesta all’elaboratore attraverso frasi scritte in un qualche linguaggio(istruzioni)

Riassunto lezione del 5/10

Page 4: A. Fondamenti di Informatica

PROGRAMMAZIONE�L’attività con cui si predispone l’elaboratore a eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema

ElaboratoreElettronico

INPUT

DATI

OUTPUT

RISULTATI

Riassunto lezione del 5/10

Page 5: A. Fondamenti di Informatica

“un algoritmo è una procedura generale,finita, completa, non ambigua ed eseguibileche lavora su dati d’ingresso fornendoalcuni risultati in uscita”

ALGORITMO

Proprietà:� generale: il metodo deve risolvere una classe di problemi e non un

singolo problema � finita: le azioni (istruzioni) che compongono un algoritmo ed il

numero di volte che ogni azione deve essere eseguita devono essere finiti;

� completa: deve contemplare tutti i casi possibili del problema da risolvere

� non ambigua: ogni istruzione deve essere definita in modo preciso ed univoco, senza alcuna ambiguità sul significato dell’operazione;

� eseguibile: deve esistere un agente di calcolo in grado di eseguire ogni istruzione in un tempo finito.

� correttezza

Riassunto lezione del 5/10

Page 6: A. Fondamenti di Informatica

Esempio 2Algoritmo completo per la macchinetta del caffè

1. metti acqua in A fino alla valvola2. metti B in A3. riempi B di caffè4. metti C su A5. avvita C

Riassunto lezione del 5/10

Page 7: A. Fondamenti di Informatica

CALCOLATORE COME RETE LOGICAIl calcolatore può essere visto come una rete logica cioè come un insieme di dispositivi chiamati porte logiche opportunamente connesse.

Le porte logiche sono dispositivi capaci di eseguire operazioni logiche su segnali binari.

I segnali binari sono livelli di tensione.

0 1

Low High

False True

Open Close

Dati ed operazioni vengono codificati apartire da due valori distinti di grandezzeelettriche:• tensione alta (VH, 5V)• tensione bassa (VL, 0V)

A tali valori vengono convenzionalmenteassociate le due cifre binarie 0 e 1 :• logica positiva: 1l VH , 0l VL

• logica negativa: 0l VH, 1l VL

Page 8: A. Fondamenti di Informatica

OPERATORI LOGICI

Tra le variabili e le costanti (0 e 1) possono intervenire delle relazioni che si esprimono utilizzando 3 operatori logici:

� negazione NOT (oppure: ¯ , � , ! )

� prodotto logico AND (oppure: · , � , && )

� somma logica OR (oppure: + , � , | | )

Page 9: A. Fondamenti di Informatica

OPERATORI LOGICI

x y x AND y0 0 00 1 01 0 01 1 1

x NOT x

0 1

1 0

x y x OR y0 0 00 1 11 0 11 1 1

NEGAZIONE o COMPLEMENTAZIONE

PRODOTTO LOGICO

SOMMA LOGICA

_ . +L’operatore NOT ha precedenza maggiore, poi l’AND e per ultimo l’OR

Page 10: A. Fondamenti di Informatica

Esempio

A B

0 00 11 01 1

NOT ((A or B) AND (NOT (A)))

(A or B)

0 0 0

0 1 1

1 1 0

1 1 1

(NOT A))

1100

AND

0100

1° 2° 3°

NOT

1011

Page 11: A. Fondamenti di Informatica

ESERCIZIO

A B NOT ((A or B) AND (NOT A))

0 0 1 0 0 0 0 10 1 0 0 1 1 1 11 0 1 1 1 0 0 01 1 1 1 1 1 0 0

NOT ((A or B) AND (NOT (A)))

Page 12: A. Fondamenti di Informatica

ESERCIZIO per la prossima volta…Costruire le tabelle di verità delle seguenti espressioni logiche:w = NOT( (x OR y) AND z AND (y OR z) )

X Y Z w

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Page 13: A. Fondamenti di Informatica

Architettura di un calcolatore

Page 14: A. Fondamenti di Informatica

Architettura del calcolatore

Il calcolatore è:

� uno strumento programmabile per rappresentare, memorizzare ed elaborare informazioni

�Un sistema, costituito da molte componenti

Studiare l’architettura di un sistema significa:

�Individuare ciascun componente del sistema

�Comprendere i principi generali di funzionamento di ciascun componente

�Comprendere come le varie componenti interagiscono

Page 15: A. Fondamenti di Informatica

Architettura del calcolatore

La prima decomposizione di un calcolatore è relativa a due macro-componenti:

�Hardware

�Software

Page 16: A. Fondamenti di Informatica

Hardware: architettura

�L’architettura dell’hardware di un calcolatore reale è molto complessa

�La Macchina di Von Neumann è un modello semplificativo dei calcolatori moderni.

Page 17: A. Fondamenti di Informatica

Modello della macchina di Von Neumann

UNITÀ FUNZIONALI fondamentali:

1.Processore (CPU, Central Processing Unit)2.Unità di I/O (Input / Output)3.Memoria Centrale (RAM & ROM)4.Bus di sistema

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni ’40).

Page 18: A. Fondamenti di Informatica

Modello della macchina di Von Neumann

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni ’40).

Tramite questo modello è possibile schematizzare le diverse operazioni che vengono svolte durante un ciclo di calcolo o di elaborazione:•operazioni di ingresso dati ossia assegnazioni di valori alle variabili del programma, queste avvengono fra l'unità di ingresso e la memoria;•operazioni di trasferimento dati dalla memoria ai registri dell’ALU (Unità Aritmetico Logica, dedicata alla esecuzione delle operazioni aritmetiche e logiche) ( e viceversa);•operazioni aritmetiche e logiche eseguite all'interno dell'ALU;•operazioni di uscita ossia l'elaboratore restituisce all'esterno i risultati della elaborazione, queste avvengono fra la memoria e l'unità di uscita.

Page 19: A. Fondamenti di Informatica

Motherboard

Motherboard (piastra madre)

CPU

DIMM (RAM)ROM (BIOS)

slot per schede di espansione connesse al bus di sistema

porta USB e PS/2porta seriale e parallela I/O

Page 20: A. Fondamenti di Informatica

Modello della macchina di Von Neumann

UNITÀ FUNZIONALI fondamentali:

1.Processore (CPU, Central Processing Unit)2.Unità di I/O (Input / Output)3.Memoria Centrale (RAM & ROM)4.Bus di sistema

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni ’40).

Page 21: A. Fondamenti di Informatica

L’unità centrale di elaborazione

L’unità centrale di elaborazione (CPU) o processore presiede all’esecuzione di un programma.

CPU è la responsabile dell’esecuzione delle istruzioni, è costituita da 4 elementi: � il clock� l’unità aritmetico logica (Arithmetic and Logic Unit - ALU)� i registri� l’unità di controllo .

Page 22: A. Fondamenti di Informatica

BIT & BYTEDati ed operazioni vengono codificati tramite sequenze di bit (=Binary digIT):

La 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 o byte (=8 bit)

01000110101 ....

L’unità centrale di elaborazione

Page 23: A. Fondamenti di Informatica

POTENZE DI 2L’unità centrale di elaborazione

bit (21 = 1)

byte (23 = 8)

K (kappa) (210 = 1.024)

M (mega) (220 = 1.048.576)

G (giga) (230 = 1.073.741.824)

T (tera) (240 = 1.099.511.627.776)

Page 24: A. Fondamenti di Informatica

CPU: CLOCK

Il clock dà la base dei tempi necessaria per mantenere il sincronismo fra leoperazioni imponendo che l’esecuzione di ogni operazione impieghi untempo al massimo uguale al periodo di clock.

CLOCKL’unità centrale di elaborazione

Page 25: A. Fondamenti di Informatica

CPU: CLOCK

•I registri sono locazioni usate per memorizzare dati, istruzioni, o indirizzi all’interno della CPU.

•L’accesso ai registri è molto veloce.

•Numero e dimensione dei registri variano da macchina a macchina.

•Due classi:� general purpose (A, B, C, …)� specializzati (PC, IR, MAR, MDR, RINT, PSW)

CLOCKL’unità centrale di elaborazione

Page 26: A. Fondamenti di Informatica

Program Counter (PC)• Indica l’indirizzo della cella di memoria che contiene la

prossima istruzione da eseguire

Instruction Register (IR)• Contiene l’istruzione da eseguire.

Memory Address Register (MAR)• Contiene l’indirizzo della cella di memoria da selezionare

per il trasferimento di un dato con la CPU

Memory Address Register (MDR)• Contiene il dato attualmente oggetto di elaborazione e il

risultato al termine dell’esecuzione

I REGISTRI SPECIALIZZATIL’unità centrale di elaborazione

Page 27: A. Fondamenti di Informatica

ALTRI REGISTRIL’unità centrale di elaborazione

Registri di uso generale (A,B,C,...)• Sono usati per contenere sia dati (in particolare, operandi di

operazioni aritmetico/logiche) sia indirizzi.

Registro Interruzioni (RINT)• Serve per gestire le interruzioni (hw e sw).

Program Status Word (PSW)• Ogni bit-flag indica la presenza/assenza di una proprietà

nell’ultimo risultato generato dalla ALU. Altri bit riassumono lo stato del processore.

Page 28: A. Fondamenti di Informatica

ALU (Arithmetic & Logic Unit)L’unità centrale di elaborazione

Esegue operazioni aritmetiche, logiche e confronti sui dati della memoria centrale o dei registri. Può essere semplice oppure (più spesso) molto complessa e sofisticata.

4. Il registro PSW riporta sui suoi bit indicazioni sul risultato dell'operazione (riporto, segno, etc.).

ESEMPIO: ALU in grado di eseguire somma, sottrazione, prodotto, divisione con due operandi contenuti nei registri A e B.

1. I due operandi vengono caricati nei registri A e B.2. La ALU viene attivata da un comando inviato dalla CPU che specifica

il tipo di operazione.3. Nel registro A viene caricato il risultato dell'operazione eseguita dalla ALU.

Page 29: A. Fondamenti di Informatica

CPU: UNITÀ DI CONTROLLOL’unità centrale di elaborazione

L'unità di controllo fa funzionare l’elaboratore

Da quando viene acceso a quando è spento, essa esegue in continuazione il ciclo:

prelievo / decodifica / esecuzione

( fetch / decode / execute )

Page 30: A. Fondamenti di Informatica

IL CICLO fetch / decode / execute

L’unità centrale di elaborazione

FETCH• si accede alla prossima istruzione (cella il cui indirizzo è

contenuto nel registro PC) ...• … e la si porta dalla memoria centrale, memo-

rizzandola nel Registro Istruzioni (IR)

EXECUTE• si individuano i dati usati dall’istruzione• si trasferiscono tali dati nei registri opportuni• si esegue l’istruzione.

DECODE• si decodifica il tipo dell’istruzione in base al suo

OpCode (codice operativo)

Page 31: A. Fondamenti di Informatica

Modello della macchina di Von Neumann

UNITÀ FUNZIONALI fondamentali:

1.Processore (CPU, Central Processing Unit)2.Unità di I/O (Input / Output)3.Memoria Centrale (RAM & ROM)4.Bus di sistema

Page 32: A. Fondamenti di Informatica

UNITA’ DI I/O

INTERFACCE dispositivi che consentono all’elaboratore di comunicare con le periferica.Sono molto diverse tra loro (dipendono dal tipo di unità periferica da connettere).

PERIFERICHE• Tastiera e Mouse• Video e Stampante• Scanner e tavoletta grafica• Dispositivi di memoria di massa• ...

Page 33: A. Fondamenti di Informatica

gamepadjoystick trackball spaceball

mousetastiera tavoletta grafica touch-screen

Dispositivi di INPUT ATTIVI

Page 34: A. Fondamenti di Informatica

scanner

fotocamera

telecamera

Dispositivi di INPUT PASSIVI

Page 35: A. Fondamenti di Informatica

• monitor (terminali grafici)• CRT (Catodic Ray Tube)• LCD (Liquid Cristal Display)• plasma

• plotter a penna• stampanti (e plotter)

• laser• a getto di inchiostro• termici

Dispositivi di OUTPUT

Page 36: A. Fondamenti di Informatica

Collegamenti delle periferiche:le porte e i connettori

• Porta parallela (25 pin) stampante• Porta seriale (9/25 pin) mouse, modem ... • Porta PS/2 (circolare) mouse• Porta video (15 pin) schermo• Porte audio (connettori jack) casse audioLe seguenti porte permettono di collegare più componenti in cascata alla stessa porta:• Porta SCSI (“scasi”)• Porta USB (Universal Serial Bus) nuovo tipo di connessione seriale ad alta velocità

• Per ogni porta è definito il protocollo di comunicazione per specificare: velocità di trasmissione, comunicazione sincrona o asincrona ...

Page 37: A. Fondamenti di Informatica

Modello della macchina di Von Neumann

UNITÀ FUNZIONALI fondamentali:

1.Processore (CPU, Central Processing Unit)2.Unità di I/O (Input / Output)3.Memoria Centrale (RAM & ROM)4.Bus di sistema

Page 38: A. Fondamenti di Informatica

La memoria centrale• Dimensioni relativamente limitate• Accesso molto rapido• E’ composta da:

�RAM (Random Access Memory) è volatile (perde il suo contenuto quando si spegne il calcolatore)

• usata per memorizzare dati e programmi�ROM (Read Only Memory) è persistente (mantiene il suo contenuto quando si spegne il calcolatore) ma il suo contenuto è fisso e immutabile

• usata per memorizzare programmi di sistema

Page 39: A. Fondamenti di Informatica

Modello della macchina di Von Neumann

UNITÀ FUNZIONALI fondamentali:

1.Processore (CPU, Central Processing Unit)2.Unità di I/O (Input / Output)3.Memoria Centrale (RAM & ROM)4.Bus di sistema

Page 40: A. Fondamenti di Informatica

Bus di sistema

ll Bus è un insieme di “linee di comunicazione” diverse:• bus dati (data bus)• bus indirizzi (address bus)• bus comandi (command bus)

Page 41: A. Fondamenti di Informatica

Bus di sistemaBUS DATI• bidirezionale• serve per trasmettere dati dalla memoria o viceversa.

BUS INDIRIZZI• unidirezionale• serve per trasmettere il contenuto del registro

indirizzi alla memoria(si seleziona una specifica cella su cui viene eseguita o un’operazione di lettura o una operazione di scrittura)

Page 42: A. Fondamenti di Informatica

Bus di sistemaBUS COMANDI• bidirezionale• tipicamente usato per inviare comandi verso la

memoria (es: lettura o scrittura) o verso una periferica (es. stampa verso la stampante ointerfaccia)

• può essere usato per inviare comandi verso il processore nel caso di DMA (o interfacce di I/O)

Page 43: A. Fondamenti di Informatica

Bus di sistema

Il Bus collega due unità funzionali alla volta:• una trasmette…•... e l’altra riceve. Il trasferimento dei dati avviene o sotto il controllo della CPU, o mediante accesso diretto alla memoria (DMA).

CP U

Me m oria

ce n tra le I/O

Bu s

DMA