Sei sulla pagina 1di 5

Reti logiche e strutture dei calcolatori

VON Neumann ha formalizzato la scrittura del calcolatore :


Microprocessore (CPU)
Memoria centrale
Periferiche
Scheda grafica
Scheda madre
Scheda audio
il linguaggio del calcolatore e'il linguaggio binario. infatti gli elementi di memoria sono
costituiti da elementi BISTABILI. ( ossia entit che possono assumere e conservare due stati
possibili ad esempio STATO 0 E STATO 1)
ogni elemento si trova in una cella di memoria o registro
La memoria centrale di un calcolatore formata da un insieme di celle di memoria.
TUTTE LE CELLE HANNO LA STESSA LUNGHEZZA
SI ACCEDE A OGNI CELLA ATTRAVERSO IL SUO INDIRIZZO
bit =0,1;{bit =binary digit}
Cella= bit cella [1....LUNGHEZZACELLA]////le celle sono limitate
memoria=cella memoria[0...MAXINDIRIZZO] //indirizzo
SE
LUNGHEZZACELLA=8
eMAXINDIRIZZO=3.la memoria MEM
Con MEM[0] SI indica il contenuto della
cella 0.
Le lunghezzecelle pi frequenti
Sono :8/32/16/64 bit
Invece le dimensioni di memoria ossia i
maxindirizzo un numero elevatissimo e si misurano in gigabyte
Esempio :cella=32bit
1giga di memoria =2^25 celle di memoria
I NUMERI REALI sono rappresentati da floating point (virgola mobile)
i caratteri sono rappresentati dalla codifica ASCII
1 bit corrisponde a 1 oppure 0
2^3 bit =8bit=1byte
I byte possono essere raggruppati in gruppi di 16/32/64/128 bit(word)
Un calcolatore pu trattare diversi tipi di dati tra cui immagini, numeri, suoni ecc
L'importante che siano poi trasformati in sequenze di bit per poter essere elaborati.
I numeri naturali da vengono rappresentati con otto bit
I numeri interi (tra cui numeri interi negativi, lo zero, e i numeri interi positivi) di cui
il primo bit rappresenta il segno - > lo zero rappresenta il segno positivo mentre 1->
rappresenta il segno negativo.
I numeri reali sono numeri razionali contenenti una parte intera e una parte
frazionaria.il numero pu essere rappresentato codificato separatamente la sua parte
intera e la sua parte frazionaria.
I caratteri sono codificati in sequenze di bit mediante un codice di traduzione.

Il pi diffuso il codice ASCII che assegna a ogni lettera un numero naturale


rappresentabile in forma binaria.

Il modello che fu preso in considerazione per la creazione di moderni calcolatori fu la


macchina di Von Neumann.
La macchina composta da
L'unit di elaborazione: chiamato anche CPU E MICROPROCESSORE contiene dispositivi
elettronici capaci di acquisire, interpretare ed eseguire le istruzioni del programma.
costituita da 4 componenti :
unit di controllo serve per gestire informazioni
ALU ossia aritmetic logic unit in grado di fare operazioni aritmetiche
clock serve per sincronizzare le informazioni per evitare di surriscaldamento il
processore?
Dispositivi di memoria chiamati anche registri servono per la memorizzazione
temporanea delle istruzioni.
la memoria centrale:contiene informazioni necessarie per l'esecuzione del programma come
Istruzioni e dati. La MC composta da dispositivo di memoria e dal gestore di memoria. Il
gestore di memoria deve essere in grado di selezionare una riga ad una certa velocit
indipendentemente dal suo indirizzo. Infatti ogni riga viene divisa in un numero finito di
celle, che contengono un sequenza di bit(parole) [tutte le parole hanno una stessa
dimensione=20caratteri].Ogni riga identificata dalla sua posizione(indirizzo). LA

memoria centrale il componente che esegue i comandi dati dalla CPU


le periferiche= permettono lo scambio delle informazioni fra elaboratore e mondo esterno. LA
memoria di massa rientra in questa categoria
il bus di sistema:ha il compito di collegare tra loro questi elementi funzionali. Esso sotto il
controllo della CPU infatti si dice che la cpu assume il ruolo di master e le altre unit
funzionali assumono il ruolo di slave. Il bus di sistema si differenzia in tre tipi a seconda del
tipo di informazione che trasporta.
BUS DATI:trasferisce dati dall'unit master all'unit slave e viceversa(ad esempio il
trasferimento di dati da una cella di memoria (memoria centrale) al registro
dati(CPU)in un operazione di lettura. Oppure viceversa dal registro dati alla cella di
memoria in una operazione di scrittura.
BUS INDIRIZZI serve per trasmettere il contenuto del registro indirizzi (CPU) alla
memoria centrale {viene dunque selezionata una cella di memoria per un operazione
di lettura. Questa operazione solo possibile per il trasferimento dati dalla cpu alla
memoria.
BUS DI CONTROLLO /COMANDO: trasferisce dall'unit master all'unit slave un
codice corrispondente all'istruzione da eseguire e dall'unit slave all'unit master
informazioni relative all'avvenuto esecuzione dell'operazione richiesta.

SUNTO FUNZIONAMENTO MACCHINA VON NEUMANN.


CPU estrae Istruzioni dalla memoria centrale, le codifica comprendendo il loro significato e
poi le esegue tramite opportune funzioni all'interno della Architettura del calcolatore.

Le istruzioni possono essere soggetti a:


Operazioni di elaborazione dell'informazione - operazioni numeriche
1. Operazioni di trasferimento dell'informazione - dati dall'interfaccia di una periferica
alla memoria centrale
La memoria centrale contiene informazioni a breve /medio termine mentre la memoria di
massa contiene informazioni di lungo termine. Infatti la memoria centrale pi piccola
rispetto a quella di massa e pu accogliere un limitato numero di informazioni,tuttavia tutte le
informazioni DEVONO passare di l prima di essere elaborate.
La memoria centrale una sequenza di celle di memoria (ciascuna cella contiene una
sequenza di bit ossia un parola). L'indirizzo della cella la sua posizione relativa rispetto alla
prima cella di memoria (che ha posizione zero)
L'indirizzamento della memoria avviene tramite il registro INDIRIZZI (CHE SI TROVA
NELLA CPU): un registro in grado di memorizzare una sequenza di bit.
Se il registro indirizzo 10 bit, potr contenere 2^10 celle di memoria. Attenzione che la
memoria centrale si misura in byte e non in numero di parole. Infatti i byte sono indipendenti
dalla lunghezza di parola di uno specifico calcolatore.
Quindi si seleziona una specifica cella e si caricano le sequenze di 1/0 nel registro indirizzo.
A questo punto si possono fare due operazioni
Lettura dalla memoria
Scrittura in memoria
queste operazioni utilizzano il registro Dati.
La lettura della memoria provoca la copia del contenuto della cella di memoria nel registro
dati.(L) Essa carica il registro dati con una parola di memoria.
Come funziona;
La CPU deve caricare l'indirizzo della parola di memoria che desidera leggere nel
registro indirizzi e deve trasmetterlo alla memoria centrale tramite il bus indirizzi. Per
poter richiedere un operazione di lettura la cpu deve inviare il comando tramite il bus
controlli.
La memoria esegue l'operazione di lettura che sposta tramite il bus dati il contenuto
della parola indirizzata nel registro dati. Inoltre segnala alla cpu tramite il bus
controllo che l'operazione terminata e che il dato richiesto disponibile nel registro
dati.
Invece l'operazione di scrittura copia il contenuto del registro dati in una cella di
memoria,essa dunque deposita il contenuto del registro dati in una parola di memoria. (S)
Come funziona;
La CPU carica l'indirizzo della parola di memoria in cui si desidera scrivere nel
registro indirizzi e lo trasmette alla memoria centrale tramite il bus indirizzi. Inoltre
carica il dato da scrivere in memoria nel registro dati e tramite il bus dati il contenuto
del registro dati viene trasmesso alla memoria centrale. Per controllo la cpu richiede
un operazione di scrittura inviando il comando tramite il bus controlli.
La memoria esegue l'operazione di scrittura che sposta il contenuto del registro dati
ricevuti tramite il bus dati nella parola indirizzata e segnala alla cpu che l'operazione
terminata.

La memoria che abbiamo trattato finora prende il nome di RAM(RANDOM ACCESS


MEMORY) ci vuole dire che nella ram si pu scegliere una qualsiasi cella di memoria per
un operazione di lettura e scrittura. Definizione di RAM : un tipo di memoria che permette
l'accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso utilizzata
come memoria primaria per la sua velocit di accesso.
Esistono per anche memorie che vengono chiamate ROM (READ ONLY MEMORY) nelle
quali non possibile scrivere poiche servono solo per far funzionare il sistema. La ROM pu
essere
EROM OSSIA ROM CANCELLABILI
PROM OSSIA ROM PROGRAMMABILI
Si pu notare che le memorie ROM hanno alcune caratteristiche dell'hardware in quanto non
possono essere modificate durante l'esecuzione e del software possono essere programmate.
RAM~>MEMORIA VOLATILE(leggibile e scrivibile)
ROM~> MEMORIA NON VOLATILE(solo leggibile)
Definizione di registro:il registro un elemento di memoria che pu essere letto o scritto
molto velocemente e che utilizzabile per memorizzare risultati parziali o informazioni
necessarie al Controllo.
La CPU ha diversi registri tra i quali troviamo :
Registro dati DR,registro indirizzi AR(AR lungo k bit, DR lungo h bit ossia
quanto la lunghezza di una parola
Registro istruzione corrente (lungo h bit)contiene l'istruzione che risulta in esecuzione
da parte dell'elaboratore
Contatore di programma(program counter PC, lungo k bit) contiene l'indirizzo della
prossima istruzione del programma in esecuzione.
Registro interruzioni contiene informazioni relative allo stato di funzionamento delle
periferiche
Registro di stato(SR)riporta in alcuni suoi bit informazioni relative al risultato delle
operazioni svolte da ALU.
bit di carry: indica la presenza di un riporto
bit zero: indica la presenza di un valore nullo nel registro A
bit di segno :riporta il segno del risultato di un operazione aritmetica
bit di overflow: quando il risultato di un operazione aritmetica supera il valore 2^h
ossia valore massimo che pu essere rappresentato nel registro A.
INTERFACCE DI INGRESSO E USCITA
Le interfacce consentono il collegamento del calcolatore con le varie periferiche. L'interfaccia
contiene dei registri per poter mandare o ricevere comandi dalla periferica.OVvviamente le
interfacce cambiano a seconda della periferica con cui sono a contatto.
i registri delle interfacce sono
registro dati della periferica (PDR)per scambiare dati con la periferica.
registro comando della periferica
informazione sullo stato
Come abbiamo detto l'istruzione viene eseguita in tre fasi
1. l'acquisizione dalla memoria centrale( fetch phase) Si svolge in quattro passi

il contenuto del counter program viene trasferito nel registro indirizzi


avviene l'operazione di lettura dalla memoria centrale :il contenuto della cella di
memoria che corrisponde all'indirizzo( contenuto nel registro indirizzi )viene
trasferito nel registro dati tramite il bus di sistema .(vedi sopra)
il contenuto del registro dati viene trasferito al registro di istruzione corrente
il valore del program counter viene incrementato di 1.puo succedere che durante
l'esecuzione dell'istruzione corrente venga memorizzato nel program counter un
indirizzo differente (BRANCH)
2. l'interpretazione o decodificazione ; la fase di analisi del registro dell'istruzione corrente,
si cerca di interpretare il codice operativo
3. esecuzione differente per ogni operazione consiste nell'esecuzione dell'operazione
stessa.

ESTENSIONI DEL CALCOLATORE DI NEUMANN


La memoria cache
un rea di memoria particolare ad alta velocit di accesso e di dimensioni ridotte rispetto alla
memoria centrale. Lo scopo della memori cache di velocizzare le prestazioni della CPU. Infatti
la cache contiene quei dati e informazioni che vengono usati spesso dal processore evitando di
richiamarlo ogni volta che li si utilizza.
HIT: quando il processore preleva i dati di cui ha bisogno direttamente dalla cache riducendo il
tempo d'accesso
MISS: Quando il processore non trova il dato di cui ha bisogno nella memoria di cache.
Si potrebbe pensare di sostituire la memoria tradizionale con una cache ma ci sono due motivi
principali che c' lo impediscono
1. le memorie cache sono costose
2. la cache per essere veloce deve trovarsi fisicamente vicino al processore,possibilmente
sullo stesso chip.quindi impossibile fisicamente realizzare cache veloci e capienti.
La cache pu trovarsi dentro il chip del processore L1(CACHE DI PRIMO LIVELLO),
oppure esterna L2. (CACHE DI SECONDO LIVELLO)