Introduzione al funzionamento di un calcolatore elettronico · Struttura e progetto dei calcolatori...

21
Che cos’ ` e un calcolatore? Architettura di un calcolatore Comunicare col calcolatore Riferimenti bibliografici Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 1 / 21

Transcript of Introduzione al funzionamento di un calcolatore elettronico · Struttura e progetto dei calcolatori...

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