Il 0% ha trovato utile questo documento (0 voti)
15 visualizzazioni32 pagine

Informatica 1

L'informatica è la scienza che si occupa della rappresentazione, organizzazione ed elaborazione automatica dell'informazione, non limitandosi al calcolatore o alle sue applicazioni. Essa comprende l'analisi e la risoluzione di problemi attraverso algoritmi, che sono sequenze finite di passi per ottenere risultati da dati iniziali. Inoltre, il documento descrive l'architettura del calcolatore, le sue componenti principali e le funzioni di memoria, evidenziando l'importanza della programmazione e dell'esecuzione di algoritmi.

Caricato da

pbjcrytb5r
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
15 visualizzazioni32 pagine

Informatica 1

L'informatica è la scienza che si occupa della rappresentazione, organizzazione ed elaborazione automatica dell'informazione, non limitandosi al calcolatore o alle sue applicazioni. Essa comprende l'analisi e la risoluzione di problemi attraverso algoritmi, che sono sequenze finite di passi per ottenere risultati da dati iniziali. Inoltre, il documento descrive l'architettura del calcolatore, le sue componenti principali e le funzioni di memoria, evidenziando l'importanza della programmazione e dell'esecuzione di algoritmi.

Caricato da

pbjcrytb5r
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 32

Che cosa significa ‘informatica’?

Information Automatique

Informatica

Computer science ( scienza degli elaboratori )

CHE COSA è L’INFORMATICA ?

L'Informatica NON è riducibile al calcolatore perché :

1) non dipende dalla TECNOLOGIA impiegata nella costruzione


del calcolatore
2) non dipende nemmeno DALL'ESISTENZA di un effettivo
calcolatore (che è solo uno strumento)
3) non coincide con nessuna delle APPLICAZIONI dei calcolatori.

L’Informatica è la scienza
– della rappresentazione,
– dell’organizzazione e elaborazione .
– del trattamento (automatico)
dell’informazione.

• L’Informatica è scienza in quanto propone un approccio sistematico e disciplinato alla


soluzione (automatica) dei problemi attraverso l’elaborazione dell’informazione.
INFORMAZIONI E DATI
DATI : Gli elementi disponibili per descrivere un oggetto o un evento.
INFORMAZIONI: quanto venga accolto o comunicato nell’ambito di una utilità e funzionalità
pratica ed immediata .

Informazione <-> dati

Informazione è un insieme di dati utilizzati ( da un essere umano, ma non esclusivamente) per


uno scopo

Informazione

attori utilità

Nell’Informatica si possono individuare due piani paralleli:


– Il piano astratto, concettuale, metodologico, logico-matematico –
legato all’Informazione, ai problemi e alle loro strategie risolutive
– Il piano concreto, pragmatico, tecnologico, fisico-elettronico –
legato al computer, ai dati ed ai programmi
Soluzione automatica di problemi conoscenza di:
– Informazione descrittiva, formalizzata del problema
– Individuazione di una soluzione corretta ed efficiente (algoritmo)
– Struttura e funzionamento dello strumento di elaborazione (il calcolatore)
– Regole per automatizzare il percorso risolutivo (programma)
I Problemi
• I problemi affrontati dalle applicazioni informatiche sono di natura molto varia. Ad esempio:
– Trovare il maggiore fra due numeri
– Dato un elenco di nomi e numeri di telefono, trovare il numero di una data persona
– Dati a e b, risolvere l'equazione ax+b=0
– Stabilire se una parola precede alfabeticamente un'altra
– Ordinare un elenco di nomi
– Creare, modificare e alterare suoni
– Analizzare, riconoscere e modificare immagini
– Gestione delle aziende (private e pubbliche)
– Supportare operazioni di commercio elettronico
-…
I Problemi
• La descrizione del problema (in genere) non indica direttamente un modo per ottenere il
risultato voluto
specifica di un problema

specifica del processo di risoluzione
• La risoluzione di un problema è un processo che:
a. dato un problema, e
b. individuato un opportuno metodo risolutivo (algoritmo)
• trasforma i dati iniziali nei corrispondenti risultati finali.
Algoritmi
• La parola algoritmo deriva dal nome di un autore scientifico persiano del IX secolo
• Abu Ja’far Mohammed Musa al-Khowarizmi scrisse nell’825 un trattato dove descrisse delle
regole per la semplificazione delle equazioni.
– Algebra deriva da al jabr (parte del titolo del trattato)
– Algoritmo deriva da al Khowarizmi (ultima parte del nome dell’autore, indicante la città di
nascita)
• Il termine originario era agorismo, trasformato in algoritmo per analogia con aritmetica.
• Algoritmo: sequenza finita (e ordinata) di passi che risolve in un tempo finito un problema.
• Esempi quotidiani di algoritmi:
• Istruzioni di montaggio
• Preparazione del caffè
• Prelievo bancomat
• Preparazione di una ricetta
• Calcolo del massimo comun divisore tra due interi
Esecuzione di Algoritmi
• Esecuzione: L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di
ottenere, a partire dai dati di ingresso, i risultati che risolvono la particolar istanza il problema.

Algoritmi: Proprietà Fondamentali

• Correttezza: l’algoritmo deve pervenire alla soluzione del problema dato

• Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore

• Eseguibilità: ogni azione deve essere eseguibile da parte dell’esecutore dell’algoritmo in un


tempo finito

• Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di


ingresso, deve essere finito.
• Ma attenzione!
– Non si può risolvere un problema senza prima fissare un insieme di “azioni”, di
“mosse elementari” possibili per l'esecutore.
– Bisogna conoscerne le caratteristiche, le mosse che sa eseguire ed il linguaggio
che sa capire.
Algoritmi: Proprietà Fondamentali
• Dunque, un algoritmo deve essere:
– applicabile a qualsiasi insieme di dati di ingresso appartenenti al dominio di definizione
dell’algoritmo;
– costituito da operazioni appartenenti ad un determinato insieme di operazioni fondamentali
– costituito da regole non ambigue, cioè interpretabili in modo univoco qualunque sia
l’esecutore (persona o “macchina”) che le legge
• Altre proprietà desiderabili
– generalità
– determinismo
– efficienza
Problemi, Algoritmi e Programmi
• Problema ben descritto
• Algoritmo
– sequenza finita di passi che risolve in un tempo finito un problema.
• Codifica
– fase di scrittura di un algoritmo attraverso un insieme ordinato di frasi (“istruzioni”), scritte
in un qualche linguaggio di programmazione, che specificano le azioni che un elaboratore deve
compiere.

Programma: Testo scritto in accordo alla sintassi e alla semantica di un linguaggio di


programmazione
Sintassi: l’insieme delle regole che consentono di scrivere parole e frasi riconoscibili come
appartenenti ad un determinato linguaggio.
– collegamento ordinato delle parole nel discorso
• Semantica: la disciplina che studia il significato delle parole e delle frasi.

La Programmazione
• È l'attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su
una particolare tipologia di dati, allo scopo di risolvere un problema.

RICAPITOLANDO:

Architettura del calcolatore


Un calcolatore è un sistema complesso costituito da vari componenti interagenti ciascuno
specializzato all’assolvimento di una particolare funzione.
Studiare l’architettura di un computer significa:
· individuarne i vari componenti
· comprenderne i principi generali di funzionamento
· capire come essi interagiscano tra di loro.
Il funzionamento di un calcolatore può essere descritto in termini di poche componenti (macro-
unità) funzionali e di poche funzionalità.
FUNZIONALITà :

1) TRAFERIMENTO
2) SCAMBIO DI DATI CON LUTENTE
3) ELABORAZIONE
4) CONTROLLO
5) MEMORIZZAZIONE
COMPONENTI PRINCIPALI :

- MEMORIA PRINCIPALE ( memorizzazione )


- PROCESSO O UNITà DI ELABORAZIONE O ( controllo e elaborazione)
- INTERFACCE D’INGRESSO/ USCITA CHE CONTROLLANO I RELATIVI DISPOSITIVI (scambio
di dati con l’utente)
- BUS (trasferimento )

ARCHITETTURA DEL CALCOLATORE DI VON NEUMANN

Il computer, così come lo intendiamo attualmente, è stato realizzato grazie a tale schema. I
concetti di base dell'architettura di Von Neumann sono inclusi anche nei moderni
microprocessori.

CARATTERISTICHE DELL’ARCHITETTURA
• flessibilità adatta a svolgere diverse tipologie di compiti
• modularità ogni componente ha una funzione specifica
• scalabilità ogni componente può essere sostituito con uno equivalente
• standardizzazione componenti facilmente sostituibili in caso di malfunzionamenti
• riduzione costi grazie alla produzione su larga scala
• semplicità di installazione ed esercizio del sistema
LA MEMORIA PRINCIPALE (RAM) (memorizzazione)
La memoria Principale (RAM)
(RAM da Random Access Memory)
Funzione:
È destinata a contenere le istruzioni del programma in esecuzione e i dati su cui questo opera.
Caratteristiche:
• ha capacità limitata e contiene soltanto una quantità ridotta di dati e programmi.
• è volatile, cioè il suo contenuto viene perso quando la macchina viene spenta, oppure in caso di
guasto.
• l’accesso alla memoria è molto veloce.
Organizzazione:
E’ costituita da una sequenza di celle ciascuna delle quali è in grado di memorizzare una
sequenza di bit (bit= valore 0/1)
Tutte le celle hanno la stessa lunghezza in termini di numero di bit costituenti che in genere è un
multiplo del byte ( 8 bit = 1 byte)

LA MEMORIA PRINCIPAlE (RAM)

Può essere vista come una tabella in cui ogni riga è una cella e ciascuna riga è individuabile
mediante un utilizzo ( un numero intero non negativo ) definito come la posizione della cella
rispetto alla prima cella ( numero d’ordine ).

LA MEMORIA PRINCIPALE (RAM)

Operazioni possibili

• scrittura (cosa scrivo? E dove-in qual cella-scrivo?)

• lettura (dove-da quale cella- leggo?)

LA CPU ( CONTROLLO , ELABORAZIONE)


UNITà CENTRALE DI ELABORAZIONE ( CENTRAL PROCESSING UNIT, CPU)
Unità Centrale di Elaborazione (Central Processing Unit, CPU)
Funzione
Esegue i programmi contenuti in memoria principale prelevando decodificando ed eseguendo una
dopo l’altra le istruzioni presenti
Parti costituenti
❑Parte Operativa
❑Parte Controllo. Supportate da registri ( piccoli dispositivi di memorizzazione veloci)

Unità Centrale di Elaborazione


Parte Operativa
❑l'ALU (Aritmetic Logic Unit) esegue semplici operazioni aritmetiche/confronti
❑i registri (dispositivi di memorizzazione veloci )
❑le vie di collegamento tra le diverse risorse
Parte Controllo
❑provvede a fornire gli opportuni segnali di abilitazione delle diverse operazioni elementari (o
microoperazioni) in cui è articolato il ciclo istruzione

Il ciclo istruzione
Il processore esegue un ciclo detto ciclo istruzione, che si articola nelle fasi di
❑fetch (prelievo dell'istruzione dalla memoria)
❑decode (analisi dell'istruzione e predisposizione degli eventuali operandi)
❑execute (esecuzione dell'operazione richiesta dall'istruzione)

Registri (della CPU) utilizzati nell’accesso alla memoria


❑Registro indirizzi (MAR): specifica l’indirizzo della cella di memoria a cui una operazione di
lettura o scrittura fa riferimento
❑Registro dati (MDR): contiene il dato da scrivere in memoria operazione di scrittura), oppure il
dato letto dalla memoria (operazione di lettura)
Scrittura: copia, nella cella il cui indirizzo è specificato in MAR, il contenuto del registro MDR
Lettura: copia, in MDR, il contenuto della cella il cui indirizzo è specificato nel registro MAR
IL BUS ( trasferimento )
Il bus di sistema
Funzione:
collega unità di elaborazione, memoria ed interfacce dei dispositivi periferici, consentendo il
trasferimento dei dati tra due di queste unità, una che trasmette ed una che riceve.

IL BUS DI SISTEMA
Da un punto di vista funzionale può essere suddiviso nei tre componenti: bus dati, bus indirizzi,
bus di controllo.

l bus di sistema: Organizzazione (da un punto di vista funzionale)


bus dati: utilizzato per il trasferimento dei dati tipicamente tra memoria e cpu e tra
cpu e dispositivi periferici tramite le loro interfacce
bus indirizzi: utilizzato per specificare gli indirizzi di memoria cui operazioni di lettura o
scrittura fanno riferimento
bus di controllo: utilizzato per inviare segnali di controllo per selezionare via via le
unità coinvolte nel trasferimento dati (sorgente e destinatario), definire la
direzione dello scambio (lettura o scrittura) e coordinare il sistema nel suo
complesso
PREGI
Semplicità e costo di produzione ridotto: unica connessione indipendentemente dal numero di
dispositivi
❑Estendibilità: possibilità di aggiungere via via nuovi dispositivi con modifiche marginali al
sistema complessivo (connessione al bus tramite una nterfaccia che non influenza l’hardware
preesistente)
❑Standardizzabilità: definizione di normative (regole) che consentano a periferiche di marca
diversa (produttori differenti) di interagire correttamente

DIFETTI
❑Lentezza: più richieste di trasferimento contemporanee non possono essere soddisfatte se non
serializzandole (una dopo l’altra)
❑Limitata capacità: aumentando il numero di dispositivi connessi diminuisce la capacità di
ciascuno di essi di trasferire dati
❑Sovraccarico della cpu: l’unità centrale viene coinvolta in tutte le operazioni di trasferimento
anche in quelle che non la riguardano direttamente

-Interfacce delle periferiche


❑Consentono di collegare l’elaboratore alle varie periferiche
❑Variano a seconda del tipo di periferica da interfacciare e possono essere più o meno
“intelligenti”.
❑Hanno fondamentalmente il compito di tradurre i segnali interni (al calcolatore) in un formato
comprensibile alla periferica stessa e viceversa.
❑Sono realizzate tramite schede che vengono inserite nel calcolatore e connesse al bus
mediante connettori opportuni.
Il collegamento alla periferica avviene attraverso porte di ingresso/uscita predisposte sulla
scheda stessa ed accessibili dall’esterno. La trasmissione dei dati tra interfaccia e periferica
può avvenire secondo due modalità
❑seriale: trasmissione di un bit alla volta (mouse, interfaccia con una stampante seriale)
❑parallela: trasmissione contemporanea di tutti i bit del carattere (interfaccia con una
stampante parallela)
❑La trasmissione di segnali di controllo deve rispettare delle regole predefinite
❑Definizione degli standard sia per la comunicazione seriale (ad esempio RS-232C) che per la
comunicazione parallela (ad esempio Centronics)
❑Un dispositivo che aderisce ad una ben precisa regola può essere connesso ad un elaboratore
tramite una qualunque interfaccia che aderisca allo stesso standard.

LA MEMORIA DI MASSA (memorizzazione )


La memoria può svolgere funzioni di
❑Supporto alla CPU: durante l’esecuzione di un programma fornisce dati ed istruzioni alla CPU il
più rapidamente possibile (Memoria Principale)
❑Archivio: consente l’archiviazione di dati e programmi garantendone la conservazione e la
reperibilità anche dopo elevati periodi di tempo (Memoria di Massa)

Diverse esigenze
❑Velocità per la Memoria Principale
❑Non volatilità, elevate dimensioni per la Memoria di Massa
Diverse tecnologie
❑Elettronica: veloce ma costosa e volatile
❑Magnetica ed ottica: non volatile ed economica ma molto lenta

Classificazione rispetto alle funzioni


❑Memoria centrale
❑Memoria di massa

Criteri per caratterizzare la memoria


❑Velocità di accesso ( rapidità nella realizzazione di operazioni di lettura/scrittura)
❑Capacità (numero di bit che si possono memorizzare - valutata in byte)
❑Volatilità
❑Costo per bit (rapporto tra costo dell'unità e capacità)

Classificazione in base alle tecnologie di realizzazione


❑Elettroniche
❑Magnetiche
❑OtticheUlteriore classificazione
❑Memorie interne alla CPU (registri)➢Tecnologie elettroniche
➢Molto costose
➢Scarsa capacità
➢Volatili
❑Memoria esterna alla CPU ma interna al calcolatore (memoria principale)
➢Tecnologie elettroniche
➢Volatile
➢Costosa
❑Memoria esterna al calcolatore (memoria di massa)
➢Tecnologie magnetiche e ottiche
➢Basso costo
➢Non volatili
➢Grande capacità

Classificazione rispetto al metodo di accesso alle celle


❑accesso casuale o diretto: il tempo d’accesso è indipendente dalla posizione (RAM)
❑accesso sequenziale: il tempo d’accesso è dipendente dalla posizione (nastri magnetici)
❑accesso misto: combinazione dei due casi precedenti (dischi)
❑accesso associativo: indicato il dato la memoria risponde indicando l’eventuale posizione che il
dato occupa nella memoria (memorie cache)
❑ i registri contenuti nella CPU (qualche KB)
❑cache (da circa 32KB a 1024KB)
❑Memoria principale (da 64MB a qualche GB)
❑Dischi fissi (da qualche GB a qualche TB)
❑Nastri magnetici e dischi ottici (da qualche GB a qualche TB a supporto)

Spostandosi ai livelli più bassi della gerarchia


❑Aumenta il tempo d’accesso
❑Aumenta la capacità di memorizzazione
❑Diminuisce il costo per bit
Principali registri del processore
In aggiunta ai registri operativi (contengono gli operandi ed il risultato delle elaborazioni di tipo
aritmetico - logico svolte dall’ALU) e ai registri MAR ed MDR (utilizzati nelle operazioni d
lettura e scrittura in memoria principale) bisogna citare:
❑un registro PC ( contatore di programma o Program Counter) a k bit: contiene l’indirizzo della
prossima istruzione del programma in esecuzione
❑un registro IR a h bit: contiene istante per istante l’istruzione in esecuzione
❑un registro di stato PSW (alcuni bit sono destinati a contenere il risultato di alcune operazioni:
riporto (carry), overflow, zero, segno )

RECAP…
Che cosa è l’Informatica
L’Informatica è la scienza
• della rappresentazione,
• dell’organizzazione e elaborazione dell’informazione .
• del trattamento (automatico)

• L’Informatica è scienza in quanto propone un approccio sistematico e disciplinato alla


soluzione (automatica) dei problemi attraverso l’elaborazione dell’informazione.
Obiettivo principale del corso: fare acquisire una mentalità algoritmica ed in particolare la
capacità di risolvere semplici problemi avvalendosi di un linguaggio di programmazione.

RECAP…
Soluzione automatica di problemi →conoscenza di:
Informazione descrittiva, formalizzata del problema Individuazione di una soluzione corretta
ed efficiente (algoritmo) Struttura e funzionamento dello strumento di elaborazione (il
calcolatore) Regole per automatizzare il percorso risolutivo (programma)
ISTRUZIONE DI SELEZIONE

Potrebbero piacerti anche