Post on 23-Feb-2019
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Introduzione al funzionamento di uncalcolatore elettronico
Natascia Piroso
23 settembre 2009
1 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Sommario
1 Che cos’e un calcolatore?Definizioni preliminariIl calcolatore come macchina programmabile
2 Architettura di un calcolatoreIl calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
3 Comunicare col calcolatoreIl linguaggio macchinaIl flusso delle informazioniScrivere un proprio programma
4 Riferimenti bibliografici
2 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Definizioni preliminariIl calcolatore come macchina programmabile
Calcolatore digitale
Macchina che puo risolvere problemi eseguendo le istruzionifornitegli.
Programma
Sequenza di istruzioni che spiega come eseguire un certocompito.
Istruzioni primitiveInsieme limitato di istruzioni semplici e comprensibili da uncalcolatore.
Linguaggio macchinaLinguaggio compreso da un calcolare e costituito dall’insiemedelle istruzioni primitive.
3 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Definizioni preliminariIl calcolatore come macchina programmabile
Programma ⇒Conversione delprogramma in istruzioniprimitive
⇒Esecuzione delprogramma
Le istruzioni che usiamo per definire il nostro programmadevono essere trasformate in un istruzioni riconosciute daicircuiti elettronici del calcolatore.
Conversione in linguaggio macchina
traduzione L’intero programma e trasformato in un nuovoprogramma costituito solo da istruzioni primitive. Ilcalcolatore esegue il nuovo programma.interpretazione Ogni singola istruzione del programmaviene decodificata ed eseguita direttamente dalcalcolatore.
4 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Definizioni preliminariIl calcolatore come macchina programmabile
Calcolatore digitaleMacchina elettronica che accetta in ingresso informazionicodificate in forma digitale, le elabora in modo automatico eproduce informazioni in uscita in formato digitale.La lista delle istruzioni che guida tale processo e il programma.
InputDati in ingresso. Argomentodell’elaborazione.
OutputDati in uscita. Risultatodell’elaborazione.
5 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
Calcolatore come sistema informaticoUn calcolatore e un oggetto complesso costituito da molte partiche interagiscono tra loro.
HardwareComponenti fisiche di uncalcolatore. Presenti in ognicomputer, ma in diversonumero e con differenticaratteristiche.
SoftwareInsieme dei programmi eseguitidal sistema.
6 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
Elementi funzionali di un calcolatore:
CPU (Central Processing Unit) o processore. Svolge leelaborazioni - interpretazione ed esecuzione delleistruzioni - e coordina il trasferimento di dati all’interno delsistema informatico.RAM (Random Access Memory) o memoria centrale.Memorizza dati e programmi necessari alle elaborazioni; e
ridottavolatile (i dati si perdono allo spegnimento)ad accesso rapido.
Memoria di massa o secondaria. Per la memorizzazionedi grandi quantita di dati; e
persistente (i dati sono mantenuti anche quando ilcomputer viene spento)meno veloce della RAM.
7 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
Bus di sistema. Collega gli elementi funzionali delsistema per lo scambio dei dati.Unita periferiche. Elementi finalizzati alla comunicazionecon l’ambiente esterno; es.:
con utente umano → terminale (tastiera, mouse, video conaltoparlante), stampante, eventualmente microfono etelecameracon utente non umano (robot, impianto industriale, aereo)→ sensori e attuatori.
FileContenitori per i dati destinati alla memoria di massa.Caratterizzati da un nome e dalla tipologia di dati contenuti:testo, programmi eseguibili, immagini, etc..
8 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
Personal ComputerCaratterizzato dagli elementi funzionali descritti. Dedicato adun unico utente. Memoria di massa costituita da:
hard disc - disco fisso inamovibile di elevata capacitaunita ausiliarie - di capacita ridotta ed estraibili, permemorizzare dati e scambiarli tra diversi utenti: chiaviUSB, CD-ROM (Read Only Memory), DVD.
9 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
Macchina di von NeumannModello di organizzazione dell’architettura di un elaboratoreelettronico dovuta al ricercatore americano John von Neumann.Risale alla Seconda Guerra Mondiale e la maggior parte deicalcolatori odierni seguono questo schema.
BUS DI SISTEMA
m m m m m
CPU RAM INTERFACCIAPERIFERICA p1
INTERFACCIAPERIFERICA p2
INTERFACCIAPERIFERICA p3
10 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
BUS DI SISTEMA
m m m m m
CPU MEMORIACENTRALE
INTERFACCIAPERIFERICA p1
INTERFACCIAPERIFERICA p2
INTERFACCIAPERIFERICA p3
La CPU contiene i dispositivi elettronici con i quali coordina levarie attivita: estrae istruzioni dalla memoria, le decodificacomprendendone il significato e le esegue. Le istruzionipossono comportare operazioni di elaborazionedell’informazione (es: operazioni numeriche) oppure ditrasferimento dell’informazione (es: da una periferica allamemoria centrale).
11 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
BUS DI SISTEMA
m m m m m
CPU MEMORIACENTRALE
INTERFACCIAPERIFERICA p1
INTERFACCIAPERIFERICA p2
INTERFACCIAPERIFERICA p3
La RAM contiene le istruzioni e i dati necessari all’esecuzionedi un programma.
12 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
BUS DI SISTEMA
m m m m m
CPU MEMORIACENTRALE
INTERFACCIAPERIFERICA p1
INTERFACCIAPERIFERICA p2
INTERFACCIAPERIFERICA p3
Le interfacce di collegamento alle periferiche costituiscono ilsistema di ingresso/uscita (I/O): comunicazione con l’ambienteesterno con scambio di informazioni. Nel modello di vonNeumann la memoria di massa e assimilata ad una periferica.
13 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
BUS DI SISTEMA
m m m m m
CPU MEMORIACENTRALE
INTERFACCIAPERIFERICA p1
INTERFACCIAPERIFERICA p2
INTERFACCIAPERIFERICA p3
Il bus opera il collegamento logico fra gli elementi funzionali delsistema.
14 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
Classificazione tradizionale:
Software di base o di sistemaProgrammi dedicati allagestione del calcolatore e allaprestazione di funzionalita dibase. Opera direttamentesull’hardware.
applicazioni standard:videoscrittura, video-calcolo, traduttori(compilatori e interpreti), ...sistema operativo.
Software applicativoProgrammi rispondenti allarealizzazione di esigenzespecifiche dell’utente. Operasul software di base.
programmi diintrattenimentoprogrammi realizzatidall’utente.
15 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il calcolatore come sistema complessoHardwareLa macchina di von NeumannSoftware
Sistema OperativoPrincipale programma del software di base. Compiticaratteristici:
acquisizione, interpretazione ed esecuzione di comandielementari:→ Mandare in esecuzione un programma→ Stampare o mostrare in video il contenuto di un file
Coordinare l’utilizzo delle risorse della macchina qualiCPU, RAM, memoria di massa, unita periferiche:→ Gestione dello spazio della memoria di massa per la
lettura, scrittura, copia o cancellazione di fileGestione dell’accesso alla rete cui il computer eeventualmente collegato:→ Comunicazione con altri calcolatori.
16 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il linguaggio macchinaIl flusso delle informazioniScrivere un proprio programma
Per parlare con una macchina elettronica e necessario inviaresegnali elettrici:
Passaggio di corrente → simbolo 1Assenza di corrente → simbolo 0.
{0, 1} e l’alfabeto riconosciuto dal calcolatore. Quindi illinguaggio macchina e costituito da sequenze di numeri binariche rappresentano istruzioni comprensibili per un calcolatore.
17 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il linguaggio macchinaIl flusso delle informazioniScrivere un proprio programma
Istruzioni macchinaComandi dati al calcolatore in forma esplicita e da essointerpretabili direttamente.Funzioni:
Guidare il flusso delle informazioni all’interno delcalcolatoreGuidare il trasferimento di informazioni tra calcolatore esistema di I/OSpecificare le operazioni logiche ed aritmetiche da seguire.
DatiNumeri e caratteri che servono alla macchina come operandisu cui lavorare.
18 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il linguaggio macchinaIl flusso delle informazioniScrivere un proprio programma
Vogliamo risolvere un problema in modo automatico per mezzodi un calcolatore, es.: sommare una sequenza di numeri.
1. Definire un algoritmo di risoluzione, ovvero unprocedimento generale e astratto che risolve con unasequenza finita di passi il problema dato. Descriviamol’algoritmo in modo preciso e formale usando il nostrolinguaggio corrente.
Problema: la macchina non capisce il nostro linguaggio, masolo istruzioni in linguaggio macchina!Comunicare tramite numeri binari e noioso, faticoso einterminabile! Inoltre devono tenere conto di numerosi dettaglilegati a caratteristiche fisiche della macchina.Traduciamo invece il nostro algoritmo usando uno specificolinguaggio di programmazione.
19 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Il linguaggio macchinaIl flusso delle informazioniScrivere un proprio programma
Linguaggio macchina ⇒ . . . ⇒ Linguaggio naturale
Linguaggio di programmazione di alto livelloLinguaggio formale per la descrizione degli algoritmi sottoforma di programmi per il controllo di un calcolatore. E’ dotatodi grammatica, lessico, sintassi e semantica propri.Somiglia al linguaggio umano e permette di impartire ordini alcalcolatore che possono essere tradotti tramite opportuneapplicazioni standard.
2. Descrizione dell’algoritmo di risoluzione con un linguaggiodi programmazione di alto livello
3. Traduzione del programma in linguaggio macchina4. Esecuzione del programma
20 / 21
Che cos’e un calcolatore?Architettura di un calcolatore
Comunicare col calcolatoreRiferimenti bibliografici
Bibliografia
Giacomo Bucci. Calcolatori elettronici - Architettura eorganizzazione.Stefano Ceri, Dino Mandrioli, Licia Sbattella. Informatica:programmazione.Maurizio Gabrielli, Simone Martini. Linguaggi diprogrammazione - Principi e paradigmi.Carl Hamacher, Zvonko Vranesic, Safwat Zaky.Introduzione all’architettura dei calcolatori.John L.Hennessy, David A.Patterson. Struttura e progettodei calcolatori - L’interfaccia hardware software.Andrew S.Tanenbaum. Architettura dei calcolatori - Unapproccio strutturale.
21 / 21