Università degli studi della Tuscia
Dipartimento di Scienze Ecologiche e Biologiche
Corso di laurea in Scienze Ambientali
A.A. 2013-2014 - II semestre
Colloquio di informatica (5 crediti)
Prof. Pier Giorgio Galli
([email protected])
La memoria centrale
BUS
Il bus è un canale di comunicazione che permette a periferiche e
componenti di un sistema elettronico di inviare/ricevere dati attraverso la
trasmissione di segnali.
Diversamente dalle connessioni punto-punto (due componenti collegate da
una linea dedicata), un solo bus può collegare tra loro più dispositivi (più
componenti condividono la stessa linea di comunicazione).
Particolare importanza per la performance generale di un sistema di
calcolo è l'ampiezza del BUS (misurata in bit). Tanto maggiore è l'ampiezza
del bus tanto maggiori sono i bit che parallelamente vengono trasmessi tra
le componenti del computer.
La memoria centrale (o primaria)
Programmi, processi e dati
• Programma: entità passiva (statica) che descrive
le azioni da compiere
• Processo: entità attiva che rappresenta
l’esecuzione di tali azioni
• Dati: valori sui quali vengono applicate le azioni
RAM (Random Access Memory)
Memoria centrale RAM
Caratteristiche:
• permette la lettura e scrittura dei dati
• accesso casuale ai dati
• accesso e trasferimento dati in tempi veloci
• volatile
• contiene programmi in esecuzione e i dati
Maggiore è la quantità di RAM maggiori saranno
le prestazioni complessive del sistema di calcolo
Memoria centrale vs CPU
Le prestazioni delle CPU (v. legge di Moore) sono cresciute molto più
rapidamente delle memorie.
Memoria centrale - gerarchie di
memoria
CPU
RAM - CACHE
RAM
Ai nostri giorni, per aumentare le prestazioni del sistema di calcolo, si rende
necessario organizzare gerarchie di memoria: la CPU scambia bit con la
memoria cache (più veloce e costosa); la memoria cache scambia bit con la
RAM (più lenta ma economica).
ROM (Read Only Memory)
Caratteristiche:
• permette solo lettura dei contenuti
• non volatile
• contiene le istruzioni e i dati per avviare il sistema di
calcolo (bootstrap)
Bootstrap
In informatica il termine di origine inglese bootstrap (o boot, o più raramente booting) indica, in generale,
l'insieme dei processi che vengono eseguiti da un computer durante la fase di avvio, in particolare
dall'accensione fino al completo caricamento in memoria centrale del nucleo (kernel) del sistema operativo.
Il termine originale inglese bootstrap (la fascetta di cuoio cucita sul bordo posteriore degli stivali per aiutarsi
a calzarli) è dovuto al modo di dire inglese pull yourself up by your bootstraps ("tirati su da solo prendendoti
per le stringhe degli stivali"), che significa "risolvi da solo i tuoi problemi, senza aspettare l'aiuto di altri".
L'analogia è con il fatto (solo apparentemente paradossale) che, durante il bootstrap, il computer esegue un
determinato processo allo scopo di mettersi in condizione di operare (eseguire processi). In italiano si può
rendere questo concetto anche come "avvio" ("riavvio"), sebbene questi termini (come i loro corrispondenti
diretti inglese "start" e "restart") abbiano generalmente una connotazione meno tecnica.
Dalle espressioni boot e bootstrap anche in italiano sono derivati alcuni termini di gergo informatico come il
verbo bootare (o boottare) o l'aggettivo bootabile (o boottabile) che si riferisce a un supporto di
memorizzazione (per esempio un CD o un altro genere di disco) dal quale sia possibile caricare il sistema
operativo all'avvio del computer (e quindi completare il boot).
All'accensione di un computer il processore resta inizialmente sospeso nello stato di reset dall'hardware,
che tiene attivo il corrispondente ingresso della CPU finché le tensioni di alimentazione non sono stabili.
Appena il segnale di reset viene disattivato il processore carica la sua prima istruzione da una locazione
fissa del suo spazio di memoria, a cui di solito corrisponde una ROM o altra memoria non volatile. Si tratta
quasi sempre di una istruzione di salto incondizionato che porta l'esecuzione al vero inizio del programma
che poi prende il controllo del computer.
Da Wikipedia, l'enciclopedia libera.
Central Processing Unit
CPU
La CPU
CU
Unità di
controllo
ALU
Arithmetic
Logic Unit
Registri
La CPU
• Unità di controllo: il compito di coordinare tutte le azioni
necessarie per l'esecuzione di una istruzione e di insiemi
di istruzioni.
• Unità aritmetico logica: è la parte specializzata per
l'esecuzione delle operazioni aritmetiche (somme,
moltiplicazioni, …) e logiche (ad esempio confronto di
valori);
• Registri: sono unità di memoria interne alla CPU che
contengono le istruzioni in corso di esecuzione, i dati
necessarie per le istruzioni in esecuzione, lo stato
dell'esecuzione, l'indirizzo della prossima istruzione da
eseguire, ecc.
Ciclo accesso [fetch]-decodifica [decode]-esecuzione
[excecute]
E' la sequenza di passi nella quale la CPU:

accede all’istruzione successiva prelevandola dalla
memoria per caricarla nell’apposito registro;

decodifica il tipo di istruzione

individua i dati usati dall’istruzione, che vengono caricati
negli opportuni registri

esegue l’istruzione
L'esecutore (programmi)
Programma
(Applicazione)
Viene eseguito
Implementazione
dell'algoritmo
La calcolatrice a corredo del
sistema operativo Windows è
un programma (sequenza di
istruzioni) che viene eseguito
dalla CPU (hardware) del
computer.
Hardware
L'esecutore (script)
Script
(Applicazione)
Viene eseguito
Software
Implementazione
dell'algoritmo
La calcolatrice on line è uno
script (sequenza di istruzioni)
che viene eseguito dal
browser (software) che a sua
volta viene eseguito dalla
CPU (hardware) del
computer.
http://www.calcolatriceonline.it
Il processore: prestazioni (1)
Esistono diversi criteri per valutare la performance di un
processore.

Frequenza di clock. Indica il numero di operazioni
elementari per secondo che la CPU è in grado di eseguire.
In generale un'operazione come A=10+B viene scomposta
in più operazioni elementari.
Il processore: prestazioni (2)
Esistono diversi criteri per valutare la performance di un
processore.

MIPS (Acronimo di Million Instructions Per Second, milioni
di istruzioni per secondo) è un'unità di misura della
frequenza di esecuzione delle istruzioni effettuata da
un microprocessore. Le istruzioni a cui si fa riferimento
sono quelle assembly del processore in esame. Tali
istruzioni sono in genere molto semplici, ad esempio una
singola somma o un singolo test per decidere se una
condizione è vera o è falsa.
Da Wikipedia, l'enciclopedia libera.
Il processore: prestazioni (3)
Esistono diversi criteri per valutare la performance di un
processore.

FLOPS è un'abbreviazione di FLoating point Operations
Per Second e indica il numero di operazioni in virgola
mobile eseguite in un secondo dalla CPU. Le performance
dei supercomputer viene tipicamente misurata in FLOPS
http://it.wikipedia.org/wiki/Supercomputer
Il processore: prestazioni (3)
Esistono diversi criteri per valutare la performance di un
processore.

FLOPS è un'abbreviazione di FLoating point Operations
Per Second e indica il numero di operazioni in virgola
mobile eseguite in un secondo dalla CPU. Le performance
dei supercomputer viene tipicamente misurata in FLOPS
http://it.wikipedia.org/wiki/Supercomputer