Estratto del documento

Informatica e cultura dell'informazione

Capitolo 0: Un'introduzione alla scienza e alle tecnologie

Mondo dell'informazione. Prodotto dell'interesse dell'uomo a conoscere ciò che lo circonda e a comunicare le sue conoscenze, le sue esperienze, i suoi stati d'animo. Per trattare informazione si è dotati di strumenti appositi che hanno trasformato l'informazione stessa da fenomeno individuale a fenomeno sociale.

Informazione

  • Insieme dei dati su cui occorre operare e delle istruzioni con cui tali dati devono essere elaborati
  • Ciò che si ottiene dai dati disponibili una volta che a questi sia stato attribuito un significato
  • Informazione = dati + istruzioni
  • I contenuti definiscono la qualità dell'informazione

Informazioni di tipo indicale: Gesto, parola pronunciata e la parola scritta “stanno per” la cosa indicata.

Calcolo: Dal latino “sassolino”.

Calcolatore: Strumento che consente di eseguire specifiche applicazioni software, per esempio fogli elettronici o sistemi di elaborazione di testi. Strumento programmabile, in grado di eseguire molteplici successioni di istruzioni chiamati programmi.

Principio di astrazione (o anche di informazione hiding). Un sistema ben realizzato riesce a nascondere agli utenti molta dell'informazione che i progettisti hanno incluso in esso e il suo funzionamento può essere imparato attraverso un processo di tipo top-down, dall'alto verso il basso, cioè fuori dalla metafora dei livelli, dal generale al particolare.

Software: Programmi (successione delle istruzioni da compiere) = Sw.

Hardware: Struttura fisica = Hw.

Strumenti formali: Consentono di trattare entità di informazioni dotate di una certa struttura, ricavandone delle conclusioni per via puramente elaborativa.

Strumenti materiali: Materializzano le entità di informazioni su cui si opera, ne facilitano l'elaborazione. Includono modelli in scala di sistemi fisici, mappamondi, simulatori ecc.

General purpose (applicabilità generale). Dispositivo in grado di elaborare informazioni sulla base di un programma definito dall'utente. L'architettura di calcolatore general purpose, detta “Macchina di Von Neumann” (1940), è caratterizzata da un'ipotesi fondamentale: i dati e le istruzioni che operano sugli stessi calcolatori possono essere codificati in uno stesso formato, così che per memorizzare entrambi può essere impiegato un unico dispositivo. Un calcolatore di general purpose è un sistema costituito da 4 sottosistemi:

  • Interfaccia: L'interazione del calcolatore con l'esterno. Nel sottosistema di interfaccia viene resa possibile:
    • Agli utenti l'input (cioè l'inserimento in ingresso) dei programmi e dei dati verso il calcolatore mediante dispositivi quali tastiere, mouse, microfono;
    • Al calcolatore l'output (cioè la produzione in uscita) dei risultati dell'elaborazione verso gli utenti mediante dispositivi quali monitor, stampanti, altoparlanti.
    È grazie a questo sottosistema che un calcolatore è in grado di trasmettere informazione ad altri calcolatori e di riceverne da questi attraverso quelle infrastrutture tecnologiche chiamate reti di telecomunicazione. Il sottosistema di interfaccia è anche uno strumento che abilita il calcolatore ad acquisire informazione dall'ambiente mediante sensori e a operare sull'ambiente mediante attuatori.
  • Memoria: Memorizzazione di dati e istruzioni; sottosistema organizzato come un insieme di unità elementari di memorizzazione; il numero di tali unità elementari caratterizza la capacità (detta anche quantità) di memoria del calcolatore.
  • CPU: Unità centrale di elaborazione (Central Processing Unit) che opera sequenzialmente leggendo dal sottosistema di memorizzazione un'istruzione e gli eventuali dati su cui l'istruzione deve operare, eseguendo tale istruzione, scrivendo nello stesso sottosistema di memorizzazione il risultato dell'operazione, passando poi all'istruzione successiva e proseguendo così.
  • Programma memorizzato: In una macchina di Van Neumann il programma non è più parte della componente hardware del sistema ma è software. I sistemi di elaborazione basati sull'architettura di Van Neumann vengono detti a programma memorizzato in cui le istruzioni da eseguire e i dati da elaborare non sono codificati nella struttura fisica del sistema.

Algoritmica

Disciplina che, dato un problema applicativo, mira a caratterizzare la soluzione chiamata algoritmo secondo vari parametri. L'individuazione di una soluzione per un problema è quindi la fase di scrittura dell'algoritmo (successione di istruzioni) a carico degli esseri umani, i calcolatori rimangono esecutori di programmi. Nella definizione di un algoritmo l'interesse è rivolto alla struttura concettuale della soluzione, mentre nella scrittura di un programma è necessario anche specificare la forma linguistica della soluzione stessa.

Calcolatore: Prima = funzioni di sistema di calcolo. Oggi = sistema di elezione per l'elaborazione dell'informazione. Così grazie alla confluenza di due insiemi di conoscenze: le tecnologie dell'informazione (Information Technology IT) e le telecomunicazioni oggi integrate nelle cosiddette tecnologie dell'informazione e della comunicazione (Information and Communication Technology ICT) con particolare importanza alla diffusione delle reti di calcolatori World Wide Web www, il calcolare soddisfa la richiesta dell'utente attraverso due attività analoghe:

  • Controlla di essere in grado di interpretare il comando (riconoscerlo come corretto ed eseguirlo);
  • Esegue l'azione associata al comando e se richiesto presenta il risultato all'utente. Per evitare problemi di comunicazione con un calcolatore bisogna dotarsi di un linguaggio con una semantica limitata e con una sintassi semplice.
I calcolatori oltre che sui numeri operano anche su dati non numerici (testi, immagini, musica) adottando una codifica numerica ossia una regola per convertire ogni entità in ingresso al problema in una corrispondente entità numerica. Una di queste, codice ASCII (American Standard Code for Information Interchange) prevede che le lettere a, b, c…, siano tradotte in numeri 97, 98, 99…, e le lettere A, B, C…, in numeri 65, 66, 67… con una differenza fra minuscolo e maiuscolo pari a 32.

Ogni problema ammette una soluzione calcolabile. Il calcolo consiste in una trasformazione di dati: attraverso il calcolo il dato iniziale (input) viene trasformato in un risultato (output). Le regole che trasformano input in output sono dette funzioni caratterizzate dalla loro espressione e non dall'input. Funzioni elementari sono semplici nella loro definizione da essere certamente calcolabili. La CPU dei calcolatori è in grado di:

  • Eseguire direttamente il calcolo di un insieme di funzioni elementari, insieme dunque che caratterizza dunque le “capacità esecutive elementari” della CPU stessa;
  • Calcolare funzioni complesse, purché previamente ridotte a successioni di funzioni elementari, cioè a programmi.
Il linguaggio macchina del calcolatore è utilizzabile per scrivere programmi. Ogni funzione “naturalmente considerata calcolabile” è calcolabile da una macchina di Turing. Il linguaggio macchina della macchina di Turing è primitivo. Se una funzione è calcolabile da un calcolatore, allora è calcolabile da qualsiasi calcolatore.

Capitolo 1: Il sistema di elaborazione

Il calcolatore è un sistema programmabile. Uno stesso programmatore infatti è in grado di eseguire molteplici successioni di istruzioni (programmi) senza che sia necessaria alcuna modifica della sua struttura fisica. Un calcolatore può essere definitivamente descritto in modo appropriato come un sistema, cioè un insieme organizzato di componenti con l'obiettivo di realizzare un esecutore. Per comprendere il calcolatore bisogna adottare una descrizione di tipo gerarchico. Punto di partenza e perciò primo livello nella descrizione gerarchica è la cosiddetta macchina di Von Neumann che interpreta un calcolatore come costituito da 4 elementi.

  • Unità di elaborazione
  • Memoria di lavoro
  • Sistema di interfaccia con l'esterno
  • Sistema di interconnessione

Si mette in evidenza quindi l'architettura del sistema, ovvero gli elementi da cui è composto e le relazioni fra di loro. Ogni elemento ha una funzione. Il compito principale del calcolatore è di eseguire istruzioni che realizzino l'elaborazione dei dati. A questo scopo è necessario che le istruzioni e dati siano accessibili al calcolatore stesso, descritti in un formato che renda le istruzioni interpretabili e i dati trattabili. La funzione di esecutore delle istruzioni, e quindi di elaboratore, è necessariamente complementata da quella di sistema di memorizzazione. I dati elaborati da un calcolatore infatti possono essere archiviati per essere utilizzati in un momento successivo a quello in cui è stata completata l'elaborazione.

Dato che l'obiettivo dei calcolatori è quello di risolvere problemi per conto di utenti, ogni calcolatore deve essere in grado di interagire con l'ambiente esterno, per acquisire dati e istruzioni e per fornire i risultati ottenuti. Questi compiti vengono svolti abitualmente da dispositivi ausiliari e direttamente connessi al calcolatore detti, periferiche. Tipiche periferiche di ingresso sono mouse e tastiera, mentre schermo e stampante sono esempi di periferiche di uscita. Le funzioni che svolge un calcolatore devono essere opportunamente coordinate. Ogni calcolatore dispone di un'unità di controllo.

I calcolatori svolgono dunque funzioni classificabili in 4 tipologie:

  • Elaborazione dei dati
  • Memorizzazione di dati e istruzioni
  • Trasferimento di istruzioni e dati verso l'esterno
  • Controllo

I dati che i calcolatori sono in grado di trattare possono corrispondere a numeri, testi, immagini, suoni, video. Ecco perché un'architettura di elaborazione generale è basata sul principio di flessibilità d'uso, con l'idea che un calcolatore possa essere utilizzato per svolgere funzioni diverse. Una seconda caratteristica fondamentale dei calcolatori è la modularità (ottenuta utilizzando dei componenti il più possibile standardizzati) e la scalabilità (la possibilità di sostituire componenti con altri di caratteristiche e tecniche migliori).

Il componente principale all'interno di un calcolatore è l'unità centrale di elaborazione (CPU) a cui sono affidate le operazioni di controllo ed elaborazione. Un'altra unità chiamata memoria si occupa della memorizzazione dei dati, ospitando sia i dati necessari per le elaborazioni della CPU, sia i dati trasferiti attraverso le periferiche di ingresso ed uscita. La memoria centrale è quella parte della memoria con cui l'unità di elaborazione interagisce direttamente per leggere e scrivere le istruzioni da eseguire e i dati da elaborare. La memoria di massa opera come archivio per dati e programmi; si realizza mediante dischi, ha funzioni analoghe a quelle di una periferica. La memoria viene vista come un insieme di celle adiacenti, ognuna caratterizzata da un proprio identificatore univoco, chiamato indirizzo, in cui possono essere scritti o letti i dati proprio grazie agli indirizzi di cella. Il calcolatore interagisce poi con l'ambiente esterno utilizzando dei dispositivi ausiliari, periferiche, connessi al calcolatore stesso mediante delle interfacce di ingresso ed uscita. Il collegamento fra questi sottosistemi avviene attraverso il bus, un insieme di linee alle quali sono connesse tutte le componenti del calcolatore e che consente il trasferimento di dati tra le componenti.

Di solito i circuiti del bus sono integrati nella scheda madre del calcolatore (una superficie di materiale plastico su cui sono montati direttamente o collegati attraverso connettori, anche la CPU, memoria centrale, periferiche di ingresso ed uscita). Dal punto di vista funzionale l'insieme delle linee del bus è in genere strutturato in tre componenti:

  • Bus dati: su cui vengono trasferiti i dati da elaborare;
  • Bus indirizzi: su cui viene trasferito l'indirizzo delle celle di memoria in cui i dati che transitano sulle linee del bus dati devono essere letti o scritti;
  • Bus di controllo: su cui transitano i segnali di controllo che consentono di volta in volta di selezionare le unità coinvolte in un trasferimento dati e in generale di coordinare il sistema.

Ogni trasferimento di dati attraverso il bus avviene sotto la supervisione della CPU, che identifica mediante il loro indirizzo, la sorgente e la destinazione dei dati e sincronizza con segnali di controllo i dispositivi che devono colloquiare.

Vantaggi del bus (il collegamento tra tutti gli elementi di un calcolatore tramite un unico insieme di linee):

  • Semplicità ed economicità = unica linea di connessioni con bassi costi di produzione;
  • Estensibilità = aggiunta di nuovi dispositivi;
  • Standardizzazione = definizione di normative che consentono a periferiche diverse di interagire con loro;

Svantaggi del bus:

  • Lentezza = unica linea inibisce la possibilità di eseguire le operazioni in parallelo;
  • Limitata capacità = nuovi dispositivi limitano la capacità di trasferire dati;
  • Sovraccarico della CPU = CPU coinvolta in tutte le operazioni di trasferimento dei dati con aumento dei compiti.

Per mantenere coordinato il funzionamento dei vari componenti di questa architettura, il calcolatore è dotato di un dispositivo chiamato clock, che a intervalli regolari genera un impulso di sincronizzazione. Quindi la velocità con cui le varie fasi delle operazioni di controllo ed esecuzione della CPU vengono svolte è dunque determinata dalla frequenza del segnale del clock. Un clock che genera 1000 impulsi di sincronizzazione al secondo (il numero di impulsi al secondo si misura in un'unità chiamata hertz Hz) consente di generare ogni operazione in non meno di 1/1000000.mo di secondo.

La codifica di dati e istruzioni: il linguaggio macchina

In base ai principi definiti dall'architettura di Von Neumann deve essere possibile mantenere nella stessa memoria sia le istruzioni da eseguire sia i dati da elaborare. Per poter scrivere e leggere istruzioni e dati su un dispositivo fisico è necessario regole di codifica e decodifica, utilizzando come regola più semplice l'uso di due simboli (chiamati binari) indicati con 0 e 1 - ognuno dei simboli binari da cui una successione è costituita può essere memorizzato mediante un dispositivo fisico in grado di assumere in modo stabile una configurazione tra due diverse possibili, e perciò detto bistabile. La memoria di lavoro è organizzata come un insieme di dispositivi bistabili chiamati bit (da binary digit) - Il linguaggio macchina è un linguaggio con cui sono stati scritti i programmi eseguibili per computer. La CPU è quella componente hardware in grado di eseguire i programmi scritti in un linguaggio macchina. Quest'ultimo è basato su un alfabeto detto binario che comprende 2 simboli (0,1). Un simbolo di questo alfabeto è chiamato bit. Per poter scrivere e leggere dati e istruzione sull'unità di memoria è necessario stabilire delle regole di scrittura e lettura e cioè di codifica e decodifica. Ogni dato da scrivere in memoria viene espresso come una successione di simboli binari solitamente costituita da 8 bit, chiamato byte. L'insieme delle istruzioni che l'unità di elaborazione del calcolatore è in grado di decodificare e quindi di eseguire è chiamato: linguaggio macchina. Il linguaggio macchina è basato su una codifica estremamente compatta e poco intuitiva per cui codificare un programma utilizzando un linguaggio macchina richiede una conoscenza approfondita del calcolatore. Per questo motivo sono stati sviluppati dei linguaggi di programmazione che si pongono a metà strada fra il linguaggio macchina e i linguaggi naturali.

Linguaggio di programmazione a basso livello: linguaggio molto vicino alla macchina, più arduo ma permette lo sviluppo di programmi efficienti.

Linguaggio di programmazione ad alto livello: linguaggio più astratto, slegato dal funzionamento fisico della macchina. La programmazione è più rapida e naturale ma è possibile che non consenta di produrre software efficienti. (BASIC, Java…)

Le istruzioni che un calcolatore può eseguire possono essere di tre tipi:

  • Istruzioni aritmetico-logiche: come la somma di due numeri, in cui oltre all'operazione bisogna indicare dove si trovano i dati su cui eseguire l'operazione
  • Istruzioni di trasferimento dati: che indicano quali dati trasferire e in quale direzione
  • Istruzioni di controllo: che permettono di modificare il flusso di esecuzione delle istruzioni

Le successioni di istruzioni che la CPU è in grado di interpretare scritte in linguaggio macchina vengono eseguite sulla base dei seguenti principi:

  • Dati e istruzioni sono memorizzati in una stessa memoria, che permette sia la lettura che la scrittura
  • I contenuti della memoria sono indirizzati in base alla loro posizione, indipendentemente dal tipo di dato o istruzione contenuto
  • Le istruzioni vengono eseguite in modo sequenziale, nello stesso ordine in cui sono scritte nella successione che costituisce il programma, salvo indicazioni differenti contenute nelle istruzioni di controllo

La struttura del processore

Nell'esecuzione di un programma, una volta che sia le istruzioni del programma sia i dati da elaborare sono residenti in memoria, la CPU prevede di eseguire in successione tutte le istruzioni del programma fino ad arrivare all'ultima istruzione e quindi alla conclusione del programma stesso.

Anteprima
Vedrai una selezione di 6 pagine su 22
Riassunto per esame Informatica (Pergola) Pag. 1 Riassunto per esame Informatica (Pergola) Pag. 2
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Riassunto per esame Informatica (Pergola) Pag. 6
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Riassunto per esame Informatica (Pergola) Pag. 11
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Riassunto per esame Informatica (Pergola) Pag. 16
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Riassunto per esame Informatica (Pergola) Pag. 21
1 su 22
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher VenoricaL di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Firenze o del prof Pergola Elisa.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community