Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

particolari. Ciò che dobbiamo fornire all’elaboratore per fargli eseguire un processo

di elaborazione si chiama “programma”.

Da qui distinguiamo due parti dell’elaboratore.

La prima l’ hardware (l’insieme dei componenti fisici che costituiscono

1. un elaboratore) . Esso è la parte tangibile della macchina.

la parte immateriale, non tangibile, che costituisce il programma che di

2. volta in volta diamo alla macchina la chiamiamo “software”. Essa

contiene tutte le informazioni che trasferiamo sulla macchina.

(Ricordiamo a proposito che le informazioni sono immateriali).

Dobbiamo chiarire che cosa intendiamo per “processo di elaborazione”. Facciamo

l’esempio della preparazione di una torta. Per preparare una torta si ha bisogno degli

ingredienti e della ricetta ossia dell’insieme di istruzioni fornite in modo tale da

applicare queste procedure per raggiungere quel risultato finale che è la torta. X =

{x , x , x , … x }.Nella preparazione di una torta, X è l’insieme dei dati. Attraverso

1 2 3 n

un processo di elaborazione l’insieme X è trasformato in un insieme Y che

rappresenta il risultato. Ad esempio, nella preparazione di una torta, manipolando i

vari ingredienti otteniamo la torta Y: Y dipende da X. Quello che abbiamo appena

espresso è il concetto di “funzione”. Il processo di elaborazione, cioè la

trasformazione di dati iniziali in risultati dipende dalle regole di trasformazione che

applichiamo. Se cambiamo, infatti, gli ingredienti applicando ad essi le procedure

esecutive muterà il risultato. Ma se sugli stessi ingredienti applichiamo procedure

differenti il risultato muterà egualmente.Il risultato, quindi, dipenderà sia dalla

variazione dei dati e sia dalla variazione delle procedure. F non è altro che il

programma che dobbiamo dare alla macchina affinché la macchina acquisisca le

modalità con cui deve trasformare i dati per ottenere poi un risultato.

C’è un problema: possiamo avere dei dati ma questi dati non necessariamente ci

porteranno ad un risultato. Questo avviene quando non siamo in grado di trovare

delle regole di trasformazione. Si pensi che ci sono dei problemi logicamente esatti

che però non sono risolvibili perché non siamo in grado di trovare delle regole di

trasformazione in un risultato. Questo è una teoria fondamentale nell’ambito

matematico che viene chiamato “teorema di Gödel” il quale dice che ci sono

problemi logicamente esatti, ma non risolvibili perché non siamo in grado di trovare

delle relazioni risolutive. Quello che noi dobbiamo studiare è come si costruiscono

queste regole. 3

TEORIA DELL’ALGORITMO E SUE PROPRIETA’

Il concetto di algoritmo nasce nell’ambito della matematica nell’VIII sec. d.C. ed è

stato poi ripreso nell’ambito informatico subendo un’evoluzione, in quanto, negli

anni ’30, si è provveduto ad elaborare una “teoria degli algoritmi”. Questo concetto

nasce nella cultura araba ad opera di un matematico-astronomo arabo Abu Abdallah

Muhammad Ibn Musa al-Juarizmí cioè nativo di una località chiamata all’epoca al-

Juarizmi. La parola “algoritmo” è infatti un’espressione latinizzata della località

araba al-Juarizmi.

Nella cultura occidentale questo concetto è stato introdotto da un matematico pisano

di nome Leonardo Pisano, conosciuto come Fibonacci, il quale scrisse un’opera

famosa intitolata “Liber abaci” dove riporta quelli che sono stati gli studi condotti da

questo matematico arabo.

Che cosa intendiamo per algoritmo? L’insieme delle procedure di calcolo che

vengono messe in atto per risolvere un problema .

Un algoritmo per poter essere funzionale deve presentare delle proprietà.

Una prima proprietà è che il numero delle istruzioni deve essere finito e queste

1. istruzioni devono presentare un’istruzione iniziale (istruzione di start, di

partenza) e una finale (istruzione di stop).

Le istruzioni devono essere poste in modo chiaro, senza nessuna forma di

2. ambiguità e devono essere poste in modo univoco. La macchina non apprende,

ogni volta che inizia un processo di elaborazione è come se lo iniziasse per la

prima volta. Dobbiamo, quindi, essere molto espliciti quando diamo le

istruzioni alla macchina, cioè quando scriviamo l’algoritmo esecutivo per la

prima volta.

Alla macchina dobbiamo dare tutte le procedure nei minimi particolari senza

3. nessun salto e senza alcuna forma di ambiguità.

Di fronte a un’istruzione non ben esplicitata la macchina non è in grado di procedere.

Le macchine non apprendono e non hanno nessun grado di intelligenza. Quando

siamo di fronte ad una macchina dobbiamo pensare che abbiamo a che fare con il più

grande stupido possibile.

Riepilogo:

Quando costruiamo algoritmi procedurali per le macchine dobbiamo tener presente

queste regole di base:

 Le istruzioni devono essere fornite in numero finito, cioè ogni istruzione

deve avere un inizio ed una fine.

 Le istruzioni devono essere poste in modo sequenziale rispettando una

cronologia

 Le istruzioni devono essere date in modo ed univoco chiaro senza nessuna

forma di ambiguità. 4

MACCHINE DEDICATE E MACCHINE GENERICHE

Generalmente quando parliamo di elaboratori, di computer abbiamo a che fare con

macchine generiche. Tutte le macchine di cui disponiamo le possiamo descrivere in

due tipologie: macchine generiche e macchine dedicate (macchine che svolgono

sempre lo stesso processo).

Una macchina dedicata è la lavatrice perché svolge sempre lo stesso compito, quello

di lavare la biancheria. È una macchina che è progettata per assolvere quest’unica

funzione. Queste macchine sono costruite con un programma che è detto

“programma fisso”. Sono macchine sequenziali: la lavatrice esegue un algoritmo che

è sempre lo stesso.

Le macchine generiche sono invece macchine che hanno un hardware, un insieme

di componenti i quali ci consentono di svolgere un qualsiasi processo di elaborazione.

In queste macchine ogni volta dobbiamo fornire alla macchina l’algoritmo esecutivo

che consente di fargli svolgere quel particolare processo di elaborazione.

Negli anni ’30 si cominciò a studiare, da parte dei matematici, come fosse possibile

costruire una macchina in grado di risolvere un qualsiasi problema. Generalmente le

macchine che venivano costruite fino a quell’epoca erano delle macchine

specializzate nella risoluzione di alcuni tipi di problemi, l’interesse dei matematici

degli anni ’30 tra cui in grande matematico inglese, Alan Turing si incentrano su

quelle che sarebbero dovute essere le caratteristiche che avrebbe dovuto possedere un

risolutore automatico di algoritmi., cioè una macchina in grado di svolgere qualsiasi

problema.

Una macchina generica per essere operativa deve essere specializzata.

Ogni volta che diamo le istruzioni a questa macchina generica, la specializziamo.

Ad esempio se un utente ha necessità di scrivere un documento, che cosa ha bisogno

di fornire alla macchina?Deve fornire alla macchina tutte le istruzioni che facciano in

modo che la macchina diventi una macchina da scrivere.Generalmente noi lanciamo

il programma Word; attraverso questo programma possiamo far sì che la macchina

diventi macchina da scrivere e consenta all’utente di scrivere il documento.Così

anche se un utente ha necessità di fare un disegno o un collegamento internet, ha

bisogno di dare le istruzioni idonee alla macchina, di specializzarla come una

macchina per far disegni oppure di renderla una macchina in grado di collegarsi ad

internet.

Il concetto di “macchina generica” è un concetto fondamentale.Alan Turing descrive

quello che è l’automa generalizzato; ci parla di questa macchina teorica e di quali

dovrebbero essere i requisiti che dovrebbe possedere questa macchina teorica, questa

macchina in grado di risolvere qualsiasi tipo di problema.

L’unica difficoltà è quella di descrivere in modo dettagliato ogni procedura, di

dire alla macchina come arrivare alla risoluzione di un problema. Quest’approccio è

5

nato da quelli che sono gli studi su quelli che sono i processi che mettiamo in atto

quando risolviamo i problemi.

Per risolvere un problema di che cosa abbiamo bisogno?

Abbiamo bisogno di dati.

Questi dati ci vengono forniti all’esterno e li trasferiamo al nostro interno. Se li

abbiamo scritti su un pezzo di carta o sulla lavagna li trasferiamo al nostro interno.

Leggiamo su un pezzo di carta questi dati utilizzando un organo di senso, la vista, che

ci consente di introdurli nella nostra mente, impegnando il cervello (l’hardware) e di

trasferirli all’interno scrivendoli nella nostra memoria. Noi siamo dotati di due tipi di

memoria, quella a breve termine e quella a lungo termine. La memoria a breve

termine perde facilmente il suo contenuto. Sappiamo come far rimanere i concetti

nella mente: far sì che la conoscenza passi dalla memoria a breve termine, che perde

facilmente il contenuto, nella memoria a lungo termine, che è quella memoria dove il

contenuto rimane nel tempo. I dati li scriviamo nella nostra memoria e li lavoriamo.

Generalmente come codifichiamo le informazioni?

Utilizzando un alfabeto. Costruiamo delle frasi; queste frasi debbono essere

organizzate in modo coretto rispettando quelle che sono delle regole sintattiche. In

questo modo abbiamo rappresentato mediante dei simboli, che sono i simboli

alfabetici, l’informazione.

Nella nostra mente, però l’immagine che si forma nella nostra retina viene trasferita,

attraverso delle terminazioni nervose, trasformata sotto forma di impulsi elettrici, che

passano – attraverso il nervo ottico – e vengono registrati nella nostra memoria.

Che cosa abbiamo notato? Che c’è stato prima un momento di codifica, utilizzando

simboli alfabetici o caratteri alfabetici. Successivamente c’è stata una transcodifica,

cioè un passaggio da questo codice simbolico in un codice elettrico.

L’operazione di transcodifica è il passaggio da un codice ad un altro codice

comunicativo.

Come avviene l’elaborazione? L’elaborazione avviene perché questi dati vengono

trasformati secondo certe regole. Generalmente noi disponiamo solo sommariamente

di regole; ma la maggior parte delle operazioni da fare le abbiamo apprese nel tempo,

perché siamo organismi dotati di intelligenza.

Passiamo alle macchine. Le macchine non apprendono e, allora, quando dobbiamo

far svolgere un processo di elaborazione alla macchina, dobbiamo esplicitare tutte

le istruzioni necessarie per lo svolgimento del processo di elaborazione.

Qui sta la grossa difficoltà nel programmare le macchine, cioè nel dover esplicitare

nei minimi particolari tutte le operazioni che la macchina deve poter svolgere

Perché la macchina , in caso di difficoltà, non è in grado di ricordare come ha fatto la

volta precedente o come ha fatto in casi analoghi.

Nel 1946-47 queste teorie hanno consentito la costruzione del primo elaboratore

moderno.

Lo studio dell’automa infinito di Turing risale al 1936. Se vogliamo che questa

macchina sia un risolutore di problemi essa deve essere in grado di eseguire un

algoritmo che, per proprietà sua, deve essere finito.

6

L’informatica nasce da due ambiti di studio: dalla teoria dell’informazione e dagli

studi sulla trasformazione dell’informazione in modo automatico, cioè dell’approccio

con la teoria degli automi. L’informatica rappresenta l’elaborazione, la

conservazione, la trasmissione, la rappresentazione delle informazioni in modo

automatico. La teoria dell’informazione e la teoria degli automi sono i due pilastri su

cui essa si regge .

Questo concetto di “macchina generica” è perfezionato dieci anni dopo da Von

Neumann, che getta le basi di quella che è la macchina reale. Bisogna fare una

premessa sul perché dell’interesse, in questo periodo nei confronti del calcolo

automatico. Negli anni ’40 nasce una disciplina, la cibernetica il cui fondatore è

Norbert Wiener. L’elemento di base della cibernetica è l’informazione. La cibernetica

aveva intenzione di studiare tutti i sistemi autoregolati. Alla base c’è il concetto di

feedback. La parola “cibernetica” deriva dal greco e significa “arte del buon

governo”. Pensiamo ad un nocchiero che tiene il timone di una nave; il nocchiero

deve intervenire istante per istante dando delle informazioni al timone in modo da

mantenere la nave su una rotta prefissata. È qui il concetto di

“autoregolazione”.Anche l’uomo è una struttura biologica soggetta ad una serie di

equilibri che sono stabiliti da momenti di autoregolazione. L’automa anche è una

macchina in grado di operare questa autoregolazione.

Nel 1946 von Neumann getta le basi dell’informatica moderna, descrive quelli che

sono gli elementi essenziali che un elaboratore deve possedere, quali sono le

componenti hardware che necessariamente debbono equipaggiare un elaboratore; von

Neumann aggiunge un altro aspetto importante: quella macchina costruita con quegli

elementi essenziali deve possedere necessariamente le istruzioni operative registrate

in una sua memoria interna. Nasce in questo modo la macchina che deve basarsi su

certi componenti, i quali sono 5 e poi deve esistere un dispositivo di memoria adatto a

conservare al suo interno tutte le istruzioni necessarie a svolgere il processo di

elaborazione; cioè il programma registrato in memoria – questa è la novità di von

Neumann –. 7

ARCHITETTURA DELL’ELABORATORE

Schema della macchina di von Neumann

UNITA’ DI CONTROLLO (CU) OUTPUT

INPUT MEMORIA

CENTRALE

UNITA’ LOGICO ARITMETICA (ALU)

In informatica generalmente si usa il termine “dato” con un significato

NOTA:

ampio, mentre dobbiamo necessariamente il più delle volte operare una

distinzione tra il set di istruzioni e quelli che sono i dati veri e propri su cui poi

si è svolto questo processo di elaborazione. Per essere più precisi chiamiamo

le istruzioni “codici operativi” – i codici operativi (ricetta) sono tute le

indicazioni su come la macchina deve operare –, gli elementi (ingredienti) su

cui la macchina deve operare sono chiamati “operandi”, i quali sono

indispensabili per poter svolgere un processo di elaborazione. Alla macchina

dobbiamo fornire codici operativi ed operandi. Codici operativi ed operandi

vengono a costituire i dati.

Quella parte che ci consente di inserire i dati nell’elaboratore è costituta dai

dispositivi di input o di entrata. Per esempio se vogliamo digitare dei dati

utilizziamo la tastiera. Ma se i dati provengono da un'altra macchina che si trova

molto lontano possiamo far sì che questi dati entrino nella macchina attraverso un

modem. Di dispositivi per l’introduzione dei dati nell’elaboratore oggi ce ne sono

molti e ne sono inventati sempre di più: per esempio oggi tramite una porta infrarossi

ed un telefonino con dispositivo IrDa è possibile immettere dei dati nell’elaboratore. I

dati entrano attraverso i dispositivi di input e vanno a finire nella memoria. La

memoria non è altro che un serbatoio, cioè non fa altro che incamerare questi dati e

conservarli. Ci deve essere , dunque, un dispositivo interno nel quale vanno a finire le

istruzioni: si va a prelevare un’istruzione alla volta; poi bisogna che questa istruzione

sia interpretata cioè bisogna vedere a questa istruzione quale operazione deve

corrispondere, vale a dire se per esempio deve essere svolta un’operazione di somma,

8

un’operazione di sottrazione, un’operazione di moltiplicazione; queste macchine sono

in grado anche di svolgere operazioni di natura logica cioè operazione del tipo

VERO o FALSO (una proposizione può essere vera o può essere falsa , di

conseguenza queste sono operazioni di tipo logico). Pertanto,attraverso gli elaboratori

possiamo svolgere due tipi di elaborazioni, operazioni di tipo aritmetico ed

operazioni di tipo logico.

Nella sezione di input inseriamo, attraverso i vari dispositivi di cui già abbiamo

parlato, sia i codici operativi che gli operandi

Adesso dobbiamo vedere quali sono gli altri dispositivi essenziali che consentono lo

svolgimento di un processo di elaborazione. Dobbiamo, allora, individuare un’unità

che viene chiamata unità di controllo “C.U.” (control unit). Questa unità di

controllo è collegata alla memoria. Innanzitutto la parola stessa “unità di controllo”

sta ad indicare che si tratta di un dispositivo che ha la funzione di controllare l’intero

funzionamento della macchina. Si pensi all’importanza che assume questo dispositivo

in quanto controlla non solo l’intero funzionamento della macchina, ma comanda

anche lo svolgimento del processo di elaborazione. Possiamo definire l’unità di

controllo come “il cuore dell’elaboratore”; essa svolge la funzione di controllo di

tutti i dispositivi, dell’intero funzionamento della macchina e provvede all’esecuzione

del processo di elaborazione, comanda il processo di elaborazione.

Un altro dispositivo importante si chiama “unità logico-aritmetica” o “ALU”

(arithmetic logic unit). Ha la funzione di svolgere materialmente le operazioni, che

possono essere di tipo aritmetico e di tipo logico. Possiamo paragonarla alla nostra

calcolatrice tascabile che svolge, però, solo operazioni di tipo aritmetico.

Parlando di “logica” ci riferiamo alla logica binaria di Boole, ossia una logica del

discreto e del discontinuo. Essa ha una immediata spendibilità informatica. Esiste

poi un altro tipo di logica , la cosiddetta logica del continuo di Fazi, nella quale

vengono considerate anche le situazioni intermedie. Per gli scopi che ci interessano è

però importante la logica binaria del tipo vero-falso.

Abbiamo detto che per svolgere un processo di elaborazione è necessario disporre di

due tipi di dati: delle istruzioni – che abbiamo definito come “Codici Operativi” – e

dei valori da trasformare, sui quali applicare il processo di elaborazione, questi valori

vengono chiamati”Operandi”. I Codici Operativi vanno a finire uno alla volta

nell’unità di controllo, mentre gli operandi vanno a finire nell’ALU. Gli operandi

sono quei dati, quei valori numerici che debbono essere trasformati. Il risultato del

processo di elaborazione va a finire sempre nella memoria che chiamiamo “Memoria

Principale” o “Memoria Centrale” e se sono dati parziali possono ritornare

nell’ALU per poter essere ulteriormente elaborati finché non raggiungiamo il

risultato del processo di elaborazione; questi dati finali vanno sempre nella memoria

e dalla memoria poi passano in uscita, vengono mandati all’esterno dell’elaboratore e

li possiamo visualizzare sul monitor, stampare su fogli di carta con la stampante o

mandarli in rete, se disponiamo di un collegamento Internet oppure, se abbiamo

costruito una rete. 9

Qual è la funzione dell’unità di controllo? Controllare il funzionamento di tutti i

dispositivi, di tutte le parti dell’elaboratore, ma anche svolgere il processo di

elaborazione e dare comandi ad ogni dispositivo quando deve entrare in funzione.

dispositivi di INPUT

I dati entrano attraverso i attraverso sistemi di trasferimento e

vanno a finire nella memoria. Come si chiamano questi elementi di trasferimento? Si

chiamano “BUS”. I Codici Operativi attraverso questo sistema di Bus vanno a

finire nell’Unità di Controllo.

Abbiamo tre tipi di BUS:

BUS – dati dove diamo la funzione di trasferire dati

1. BUS – controllo

2. BUS – indirizzi.

3.

Tutti i dati, tutte le istruzioni, tutte le informazioni che diamo all’elaboratore,

quando entrano nell’elaboratore, debbono essere convertiti in simboli binari

necessariamente, perché l’elaboratore è in grado di decodificare, di interpretare solo

istruzioni date sotto forma binaria. Questo sistema di codifica generalmente avviene

attraverso dei codici, attraverso delle forme di corrispondenza a livello universale

che si stabiliscono tra singoli simboli alfabetici e singoli simboli in codice binario.

Esiste un codice che si chiama codice ASCII ( codice americano standard per

l’interscambio di informazioni)che fa corrispondere ad ogni carattere alfabetico una

configurazione di 8 cifre binarie.

Il sistema di numerazione binario è un sistema di numerazione posizionale. Che

cosa significa “posizionale” ? Significa che il valore della cifra dipende dalla

posizione che occupa nella configurazione di cifre.

Attraverso il solo utilizzo di due cifre (1 e 0) quante combinazioni possibili

possiamo esprimere? Se ogni carattere viene rappresentato da 8 cifre quante ne

possiamo esprimere? 8

256=2

Il codice ASCII esteso è formato da 256 corrispondenze. In questo modo possiamo

codificare tutte le minuscole e maiuscole dell’alfabeto.

Con il codice ASCII esteso formato da 8 cifre binarie, da 8 bit non possiamo

rappresentare l’alfabeto cinese che è formato da ideogrammi, ho bisogno di più

cifre per rappresentarlo.

Il sistema UNICODE ci dà la possibilità di arrivare a migliaia di combinazioni,

16

perché esso utilizza 16 bit, e quindi 2 = 65.536 combinazioni.

Abbiamo detto che i dati entrano nell’elaboratore attraverso BUS e vengono

registrati in memoria. Dire che i dati vengono registrati in memoria significa dire che

i dati vengono scritti nella memoria.

Questa memoria ha la caratteristica di essere una memoria di lettura e di scrittura

dove, i dati possono essere inseriti ma possono essere anche letti quante volte si

vuole. 10

Come possiamo immaginarcela questa memoria? La possiamo immaginare come un

insieme di tante celle dove in ogni cella possiamo andare a memorizzare 8 bit; le celle

elementari sono tutte uguali, hanno tutte la stessa dimensione e la loro capacità è tale

da poter registrare memorizzare 8 bit. Se ho da registrare 2 lettere dell’alfabeto – ad

ogni lettera dell’alfabeto secondo il codice ASCII corrispondono 8 bit cioè 8 cifre

binarie – dovrò necessariamente utilizzare due celle elementari di memoria. Ogni

cella è in grado di registrare, di contenere 8 bit. 8 bit assume un nome: byte.

Maggiore è il numero di celle e maggiore è il numero di dati che possiamo inserire

nella memoria.

Oggi le memorie sono di tipo elettronico. La memoria principale è una memoria

volatile – perde il suo contenuto nel momento in cui viene meno l’energia elettrica –.

A dire il vero nell’ambito della memoria principale esiste anche un altro tipo di

memoria che non è volatile, sempre di natura elettrica, che però è in grado di

conservare i dati o di inserire dati; è una memoria la quale viene scritta una volta

sola ,la definiamo “MEMORIA DI SOLE LETTURA” ed è tipo permanente.

Non possiamo gestire informazioni più piccole di 8 bit: la cella elementare ha

dimensione di 8 bit.

La memoria principale è la memoria di lavoro (work memory) in altri termini è

quella memoria che è presente in ogni elaboratore e che consente lo svolgimento del

processo di elaborazione, in quanto contiene dati esenziali per il processo di

elaborazione.

Se l’accesso alla memoria è sequenziale il tempo per eseguire un’operazione di

lettura e scrittura dovrebbe dipendere dalla posizione della cella invece l’unità di

controllo compie tutte le operazioni di accesso alle celle sempre nello stesso tempo.

Questo è possibile perché accede direttamente alla cella dove deve fare l’operazione

di lettura e scrittura, senza passare in rassegna tutte le singole celle. Le celle di

memoria sono tutte allineate in un array di celle. Ogni cella ha un suo indirizzo, per

cui il tempo per accedere ad una qualsiasi cella è costante. L’indirizzo della cella è

dato da numeri interi.

Generalmente la memoria principale è divisa in due tipi di memoria: c'è una memoria

che è chiamata “memoria ram” ed un altro tipo di memoria che è denominata

“memoria rom”.

 La parola “RAM” significa “Random Access Memory” e la memoria

ram è una memoria ad accesso casuale. In che cosa consiste questo

accesso casuale? Nel fatto che noi possiamo accedere ad ogni cella di

memoria conoscendone l’indirizzo. Questa casualità di accesso alla

memoria è dovuta proprio al fatto che le celle di memoria sono

indirizzabili. Questa è la caratteristica della memoria ram che è una

memoria a lettura e scrittura.

 “memoria rom” significa “read only memory” cioè “memoria di sola

lettura”. è formata anch’essa da tante celle , però ha dimensioni molto

ma molto più piccole. Non è composta da un numero così elevato di

celle come la memoria ram. Questa memoria viene scritta una volta

11

sola, generalmente dal fabbricante e può essere letta quante volte si

vuole. Questa memoria non è una memoria volatile.

Proprio perché in informatica zero (0) è un valore, è un’informazione, la numerazione

delle celle comincia da 0. Se la numerazione comincia da 0, la prima cella avrà

indirizzo 0, la seconda avrà indirizzo 1, l’n-esima cella avrà indirizzo n-1 cioè il

numero di celle meno un’unità, in quanto il conteggio è iniziato da 0.

L’elaboratore è costituito da una scheda madre sulla quale sono sistemati tutti i

dispositivi che servono per il suo funzionamento.

Riepilogo:Abbiamo visto che i dispositivi essenziali di un elaboratore sono cinque:

1. Il dispositivo di input;

2. Il dispositivo di output;

3. La memoria principale che si suddivide in: 1. memoria ram;

2. memoria rom;

4. l’unità di controllo;

l’unità logico-aritmetica.

5.

Questi dispositivi trovano la loro sistemazione sulla scheda madre, su questo

alloggiamento, dove sono anche contenuti tutti i sistemi di interconnessione cioè quei

collegamenti tra le varie sezioni dell’elaboratore. La memoria rom è una memoria

che è sistemata in modo fisso sulla scheda madre e il fabbricante della scheda madre

ha fornito tutte le istruzioni che servono per la partenza a freddo dell’elaboratore.

Il programma che serve per l’avvio a freddo della macchina si chiama boot strap. I

boot strap sono le stringhe dello stivale, i lacci. E’ il modo più semplice per avviare la

macchina. Ad esempio il modo più semplice per avviare un motore di una barca è

l’avviamento a strappo. Tirando una cordicella diamo avvio a questo motore; allo

stesso modo fa il programma per avviare la macchina. Da questo programma di avvio

viene fatto un check, un controllo della macchina. Se per esempio prima di avviare la

macchina stacchiamo la tastiera sentiamo, alla partenza della macchina, un bip che ci

dice subito che manca la tastiera. Il tipo di bip che sentiamo sta ad indicare il tipo di

anomalia che durante il check è stato riscontrato: per esempio se togliamo la memoria

principale da un elaboratore sentiremo un bip persistente, in tal caso il computer non

ci dà la possibilità di continuare perché la macchina si ferma. Se, invece, non

riscontrano anomalie viene mandato in esecuzione il sistema operativo. Questo

programma contenuto nella rom comincia a caricare il sistema operativo e conclude il

suo compito. La macchina da questo momento in poi va sotto il controllo del sistema

operativo e diventa macchina usabile dall’utente.

I microprocessori. Il microprocessore rappresenta il cuore dell’elaboratore. L’unità

di controllo e l’unità logico-aritmetica, anche se mantengono ben separate quelle che

12

sono le loro funzioni, oggi si trovano inglobati nello stesso chip e costituiscono

quella unità che noi chiamiamo, appunto, “microprocessore”.

Abbiamo detto anche che l’unità di controllo interagisce direttamente con la memoria

ram, in quanto dalla memoria ram attinge le istruzioni. La memoria ram e l’unità di

controllo costituiscono quella che in genere viene chiamata “unità centrale di

elaborazione”.

L’ unità centrale di elaborazione è data quindi dalla simbiosi tra la memoria ram e

l’unità di controllo.

L’ unità centrale di elaborazione può essere anche chiamata “cpu” (central processor

unit). Il microprocessore generalmente viene inserito sulla scheda madre .

Sulla scheda madre per PENTIUM 2 o PENTIUM 3 non possiamo mettere un

PENTIUM IV; come su una scheda madre per PENTIUM II non possiamo mettere un

PENTIUM IV che rappresenta l’ultima generazione di PENTIUM, perché oltre ad

avere caratteristiche diverse tra loro tutti questi tipi di processore ,differiscono anche

gli alloggiamenti da una scheda madre all’altra.

DIFFERENZA TRA ALGORITMO E PROGRAMMA

L’algoritmo per poter essere eseguibile dovrà essere convertito in un linguaggio

informatico, e più precisamente nel linguaggio binario, ma è più esatto dire che si

tratta della codifica dell’algoritmo in un linguaggio di programmazione. Al momento

come linguaggio di programmazione conosciamo il linguaggio binario. La macchina

è in grado di elaborare informazioni, quando esse sono codificate in un codice

binario.

Il costruttore di algoritmi non usa un linguaggio binario, ma usa la lingua naturale e

allora tutte le procedure vengono descritte nella lingua naturale, dunque l’elaboratore

non sarà in grado di interpretare queste istruzioni e di eseguirle. è necessario quindi

fare l’operazione della traduzione nel linguaggio binario. Il lavoro svolto dal

programmatore è quello di operare una codifica dell’algoritmo nel linguaggio binario.

Abbaimo individuato due figure nell’ambito della costruzione dei programmi: il

costruttore di algoritmi che chiamiamo ”analista”, ed è colui che conosce il

linguaggio dell’elaboratore; e il programmatore. Un programma viene prima scritto

dall’analista, poi convertito in linguaggio macchiina dall’elaboratore e solo da

questo momento in poi può essere eseguito. Per essere eseguibile un programma

deve essere codificato in un linguaggio di programmazione.

13


PAGINE

25

PESO

136.43 KB

AUTORE

Exxodus

PUBBLICATO

+1 anno fa


DETTAGLI
Esame: Informatica
Corso di laurea: scienze dell'educazione
SSD:
Università: Salerno - Unisa
A.A.: 2007-2008

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Exxodus 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à Salerno - Unisa o del prof Vanni Arturo.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!