Funzionalità di un calcolatore - di-srv.unisa.it · Le periferiche di input/output sono quei...

34
Funzionalità di un calcolatore

Transcript of Funzionalità di un calcolatore - di-srv.unisa.it · Le periferiche di input/output sono quei...

Funzionalità di un calcolatore

Interconnessione

Il calcolatore: modello concettuale

1. Elaborazione

2. Memorizzazione

3. Comunicazione (interfaccia)

Architettura di un computer

● componenti per • elaborare i dati • memorizzare i dati • inserire i dati • per visualizzare/distribuire i dati (ottenuti quali risultato del processo di elaborazione)

•canali di comunicazione che permettono la trasmissione di dati tra una componente e l'altra

Macchina di Von Neumann (1946)

John Von Neumann (Budapest 1903 – Washington 1957)

Memoria di massa

Bus

CPU

RAM

Scheda madre (motherboard)

Interfaccia di I/O

Schermo

Tastiera e mouse

Altoparlanti

Interfacce di I/O

Interfacce di I/O

Scheda Madre

Periferiche di input

Le periferiche di input sono costituite da tutti quei dispositivi che consentono l'inserimento nel computer di dati e istruzioni

Principali periferiche di input

● tastiera (keyboard)

● mouse/trackball/touchpad

● scanner

● joystick

● webcam

● macchina fotografica digitale

● microfono

● penna ottica (o lettore ottico)

● tavoletta grafica

Periferiche di output

Le periferiche di output sono costituite dai dispositivi che consentono la comunicazione all'esterno dei dati elaborati, intermedi o finali

Principali periferiche di output

● monitor (display, video, schermo)

● proiettore

● stampante/plotter

● altoparlanti (casse acustiche)

● cuffie e auricolari

Periferiche di input/output

Le periferiche di input/output sono quei dispositivi in grado di inviare dati al computer e allo stesso modo di riceverne Una periferica di input/output è il touchscreen Un'altra periferica di input/output è la cuffia-microfono

La memoria di massa

Per memoria di massa (o secondaria o esterna) si intende l'insieme dei componenti magnetici, ottici ed elettronici che permettono di memorizzare dati e programmi in modo persistente, per conservarli finché l'utente non decide di eliminarli

Principali tipi di memorie di massa • dispositivi magnetici ➢ nastri ➢ hard disk (o disco rigido): interni ed esterni ➢ floppy disk (capacità 1,44 MB)

● dispositivi ottici ➢ CD (Compact Disk) ➢ DVD (Digital Versatile Disk)

● dispositivi elettronici ➢ USB flash drive ➢ memory card

La memoria centrale (o primaria o interna) È la memoria utilizzata dall'elaboratore per gestire i programmi. Costituita da una sequenza ordinata di celle ciascuna delle quali può memorizzare una word (parola). Una word è una sequenza di bit la cui lunghezza dipende dall'architettura del sistema. Solitamente, uno word è pari a 8, 16, 32 oppure 64 bit. Ciascuna cella di memoria ha un indirizzo predefinito e invariabilee rappresenta l'unità minima di memoria cui la CPU riesce ad accedere.

Tipi di memoria centrale

● RAM (Random Access Memory): ➢ memoria di lettura/scrittura ➢ volatile ➢ ad accesso diretto ➢ di lavoro e dinamica

● ROM (Read Only Memory): ➢ memoria di sola lettura ➢ BIOS ROM (Basic Input/Output System) ➔ autotest ➔ riconoscimento e gestione delle periferiche di input/output ➔ caricamento del sistema operativo

Composizione della CPU La CPU è un circuito integrato (microprocessore) in cui avvengono i processi di elaborazione

CPU = ALU + CU ● Registri ➢ dispositivi di grado di memorizzazione una word

● ALU (Arithmetic and Logic Unit, unità aritmetico-logica)

➢ unità di elaborazione che esegue materialmente le operazioni ➔ aritmetiche (somme, sottrazioni, moltiplicazioni e divisioni tra numeri binari) ➔ logiche sui dati (confronto tra due numeri binari per capire se sono uguale o quale dei due è il maggiore)

● CU (Control Unit, unità di controllo) ➢ responsabile del coordinamento della varie componenti della macchina e dell'esecuzione delle istruzioni

La ALU e le operazioni elementari Primo operando Secondo operando ALU: Esegue un'operazione aritmetica o un'operazione logica Risultato operazione

CPU: il ciclo fetch-decode-execute

• la CPU ha un clock interno che ne scandisce il ritmo di lavoro •durante un ciclo di clock, la CPU esegue le operazioni:

1.Fetch ➢ la CU preleva l'istruzione da eseguire dalla memoria interna

2.Decode ➢ la CU decodifica l'istruzione

3.Execute ➢ l'istruzione viene eseguita dalla ALU

CU

•regola l'esecuzione del ciclo fetch-decode-execute

della CPU,

•invia segnali di controllo sul bus,

•decodifica le istruzioni e

•gestisce il trasferimento di dati da e verso la CPU

I registri della CPU

● registro dati ➢ contiene dati copiati/da copiare dalla/nella RAM

● registro indirizzi ➢ contiene l'indirizzo della cella della RAM

● registro istruzione corrente ➢ contiene l'indirizzo della cella della RAM che contiene l'istruzione che deve essere eseguita

● contatore di programma ➢ contiene l'indirizzo della cella della RAM contenente la prossima istruzione da eseguire

● registro interruzioni ● registri operandi ➢ contengono gli eventuali operandi e il risultato dell'istruzione dopo la sua esecuzione

● registro di stato ➢ contiene indicazioni sulla operazioni svolte dalla ALU

Bus

I bus sono dei canali, dotati di clock, attraverso i quali transitano le informazioni Ad ogni quanto di tempo, una componente invia dati e un'altra componente riceve dati

Bus di sistema

● bus dati ➢ transito dei dati tra registro dati e RAM

● bus indirizzi ➢ transito dell'indirizzo di una cella tra registro indirizzi e RAM

● bus controllo ➢ transito del codice dell'operazione da eseguire tra CPU e RAM ➢ transito del codice risultato dell'operazione tra CPU e RAM

Linguaggio macchina

codice istruzione dato da utilizzare (valore numerico o indirizzo di memoria)

word contenente una sequenza di bit

esempio di una word a 8 bit

1 0 1 0 1 0 1 1

codice istruzione dato da utilizzare

Come vengono eseguite le istruzioni espresse in linguaggio macchina

Ogni cella di memoria contiene un dato che rappresenta un valore numerico oppure un'istruzione Supponiamo che il registro istruzione corrente della CPU contenga il valore x (ossia l'istruzione da eseguire è quella nella cella di indirizzo x)

•il registro istruzione corrente viene aggiornato con il valore x+1 (prossima istruzione da eseguire) e •l'istruzione contenuta nella cella di indirizzo x viene eseguita dalla CPU

Istruzioni in linguaggio macchina

Le istruzioni in linguaggio macchina disponibili in un computer dipendono dalla CPU Generalmente, tutti gli elaboratori forniscono le seguenti istruzioni

Cosa fanno i programmi?

I programmi forniscono all'elaboratore delle strategie risolutive a determinati problemi Una strategia risolutiva che gode di certe proprietà prende il nome di algoritmo

Algoritmo

Ricorda: Un algoritmo è una sequenza di passi che portano alla realizzazione di un compito Caratteristiche di un algoritmo ● non ambiguità ➢ i passi devono essere univocamente interpretabili dall'esecutore

● eseguibilità ➢ l'esecutore deve essere in grado di eseguire ogni passo utilizzando le risorse di cui dispone

● finitezza ➢ l'esecuzione di un algoritmo deve terminare in un tempo finito

Es. Pascal, C, Java, …