Architettura di Von Neumann
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
A cura di Prò Giuseppe
MODELLO DI VON NEUMANN
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
PROCESSORE (CPU)
 Componente dell’elaboratore che consente
l’esecuzione delle istruzioni
 E’ costituito da:
 Unità di calcolo o ALU
 Unità di controllo o CU
 Registri
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
CPU
La CPU (Central Processing Unit) , detta anche
processore è l’unità più importante del sistema di
elaborazione, che svolge le principali operazioni di
calcolo e di controllo del sistema.In un personal
computer la CPU è collocata su un singolo chip di
silicio e viene chiamata microprocessore.
Interpreta ogni istruzione mediante una sequenza ben
definita di operazioni detta ciclo di istruzione (Von
Neumann Machine cycle) …ma l’istruzione
corrente può variare tale sequenza..
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
CICLO DI ISTRUZIONE
 FETCH
 DECODE
 EXECUTE
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
REGISTRI
 Sono piccole memorie ad altissima velocità presenti
all’interno del processore.
 Contengono informazioni locali legate all’istruzione in
corso d’esecuzione
 L’insieme dei registri costituisce lo stato della CPU
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
REGISTRI DELLA CPU
La CPU contiene un numero limitato di registri
operazionali e alcuni registri dedicati.
 PC (Program Counter)
 IR (Instruction Register)
 MAR (Memory Address Register)
 MDR (Memory Data Register)
 PSW (Program Status Word)
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
UNITA’ DI CONTROLLO
Compito fondamentale dell’unità di controllo è quello
di generare e controllare la sequenza di operazioni
necessarie per effettuare ogni ciclo di istruzione, è cioè
responsabile del trasferimento e della decodifica delle
istruzioni dalla memoria centrale ai registri della CPU .
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
UNITA’ DI CONTROLLO CABLATA
• Unità di controllo cablata, realizzata cioè in
hardware mediante dispositivi logici in grado di
generare la sequenza di segnali di controllo necessari
per prelevare ed eseguire ogni istruzione in
linguaggio macchina.
Ad esempio le macchine RISC
(Reduced Instruction Set Computer)
macchine con unità di controllo cablata, ossia
con HSA implementata dal solo livello hardware
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
UNITA’ DI CONTROLLO
MICROPROGRAMMATA
Unità di controllo microprogrammata: in grado di
interpretare micro-istruzioni per l ’esecuzione delle
operazioni del ciclo di istruzione. Ad esempio le
macchine CISC (Complex Instruction Set
Computer) macchine con unità di controllo
microprogrammata, ossia con HSA implementata dal
livello hardware e dal livello di microprogrammazione.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
UNA PRIMA CLASSIFICAZIONE
Architetture CISC (Complex Instruction Set Computer)
 Prevedono accanto a istruzioni semplici anche istruzioni
complesse , la cui esecuzione richiede l’utilizzo di una
complessa unità di controllo (microprogrammata)
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
UNA PRIMA CLASSIFICAZIONE
Architetture RISC (Reduced Instruction Set Computer)
 Riducono al minimo indispensabile il numero di
istruzioni disponibili e supportano istruzioni semplici
che possono essere eseguite velocemente mediante un
unità di controllo molto semplice(cablata), senza essere
interpretate da microprogrammi.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
CISC E RISC – CONCETTI CHIAVE
CISC
RISC
 Enfasi sull’HW
 Enfasi sul SW
 Istruzioni complesse multi-
 Istruzioni semplificate single-
clock
 Memory-to-Memory (LOAD e
STORE incorporati nelle
istruzioni)
 Dimensioni del codice ridotte
 Componenti HW usati per
gestire istruzioni complesse
clock
 Register-to-Register (LOAD e
STORE sono istruzioni
indipendenti)
 Grandi dimensioni del codice
 Componenti HW usati per
realizzare registri
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
ALU (ARITHMETIC LOGIC UNIT)
Esegue le operazioni elementari necessarie per l’esecuzione
delle istruzioni (operazioni aritmetiche e confronti sui dati
della memoria centrale o dei registri):
 È costituita da una rete logica combinatoria
programmabile capace di operare parallelamente su un
determinato numero di bit, da un registro di scorrimento e
da un registro di flag(PSW) che contiene alcune
informazioni logiche sul risultato delle operazioni.
 Per la memorizzazione dei dati in ingresso e dei risultati
l’ALU utilizza alcuni registri operativi( uno di questi
l’accumulatore)
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
IL BUS
Esso deve :
 Permettere la comunicazione tra due qualsiasi
dispositivi o unità
 Permettere una sola comunicazione alla volta
 Permettere la trasmissione di una unità alla volta e la
ricezione di più unità contemporaneamente
 Linee di controllo sufficientemente generali
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
COMPONENTI DEL BUS
 Bus indirizzi
 Bus di controllo
 Bus dati
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
TIPI DI BUS
 Bus Interno (o locale)
 Bus Esterno(o di sistema)
 Bus interno espanso
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
LE MEMORIE
Dispositivi per memorizzare le strutture logiche di
Informazione
 Memorie di massa(non volatili)
 Memoria centrale(volatile)
 Registri(volatili)
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
PARAMETRI MEMORIE
 Capacità; numero di locazioni disponibili ,espresso in
Gbyte, Mbyte ecc..
 Tempo di accesso: tempo necessario per accedere a una
locazione di memoria per un operazione di lettura o
scrittura. Espresso in nsec(10^-9 sec), microse(10^6
sec) ecc…
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
COMPUTER MEMORY HIERARCHY
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
MEMORIA PRINCIPALE
 Memoria che contiene i dati e i programmi che sono
correntemente elaborati dal processore.
 Accesso basato su indirizzi
 Un programma , quando non è oggetto di elaborazione
, è memorizzato su memoria di massa
 Quando deve essere eseguito , viene portato(caricato)
tutto o in parte in memoria principale
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
MEMORIA PRINCIPALE
 La memoria principale o memoria centrale, detta
anche RAM (Random Access Memory), contiene
informazioni che devono essere elaborate a breve
termine (istruzioni e dati)
 Caratteristiche:
 Accesso casuale alle informazioni
 Velocità elevata
 volatilità
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
MEMORIA PRINCIPALE
 E’ un insieme di locazioni o celle , ognuna
contraddistinta da un numero detto indirizzo, che
serve per accedere all’informazione contenuta nella
cella
 La tecnologia utilizzata per la memoria centrale è
quella dei dispositivi a semiconduttori.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
MEMORIA CACHE
 Piccola RAM molto veloce , interposta tra CPU e
memoria principale.
 Il suo funzionamento sfrutta il principio di località dei
riferimenti , che è alla base di tutti i sistemi di
memoria
 Quando viene indirizzata una parola , quella parola e
alcune di quelle vicine vengono trasferite dalla lenta
memoria centrale alla più piccola e veloce memoria
cache , in modo che la parola successiva sia accessibile
più velocemente.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
MEMORIE ROM
 La ROM (Read Only Memory) è una memoria a sola
lettura , destinata a contenere informazioni non
variabili nel tempo.
 Caratteristiche
 Accesso casuale alle informazioni
 Velocità elevata(inferiore alla RAM)
 Non volatilità
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
DISPOSITIVI I/O
 Periferica: (o dispositivo) componente che non è nè in
CPU né in memoria centrale.
 Il computer riceve dati da periferiche di input, e
trasmette dati su periferiche di output; alcuni
dispositivi svolgono un doppio ruolo
 Ogni periferica fa cose diverse (elettroniche ,
meccaniche, magnetiche)
 Esempi di periferica: memorie di massa, schermi ,
stampanti, lettori cd/dvd, digital camera, mouse, ecc.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
DISPOSITIVI I/O
 Hanno limitata autonomia rispetto al processore centrale
 Si collegano alle porte(o interfacce) del computer
 Ogni periferica è controllata da un controller ( dispositivo
elettronico solitamente fornito di microprocessore) , che
permette al processore di gestire dispositivi basati su
diverse tecnologie
 Il processore principale interagisce con la periferica
dialogando con il controller mediante un programma detto
driver.
 Comunicazioni attraverso porte (accessi posti sui
dispositivi) come ad esempio: seriali , parallele , USB ,
Ethernet…ecc..
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
DISPOSITIVI I/O
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016