Sei sulla pagina 1di 3

3/11/2020 OneNote

Macchina di Von Neumann


lunedì 26 ottobre 2020 13:02

MODELLO DI VON NEUMANN:


1) ELEMENTI E COLLEGAMENTI TRA LORO
2) ALGORITMO DI VON NEUMANN

Central Processing Unit


CPU è il centro di ogni elaborazione

https://communitystudentiunina.sharepoint.com/sites/FondamentidiInformaticaFuorigrottaFES-MAR/_layouts/15/Doc.aspx?sourcedoc={b6c44bc4… 1/3
3/11/2020 OneNote
ALGORITMO DI VON NEUMANN

BOOT
RIPETI ALL'INFINITO
FETCH --> LEGGI DALLA MEMORIA UNA RIGA DI UN PROGRAMMA (POTREBBE ANCHE ESSERE NO OPERATION == NOP)
OPERAND ASSEMBLY --> LEGGI DALLA MEMORIA I DATI NECESSARI PER ESEGUIRE QUELLA RIGA
EXECUTE --> ESEGUI LA RIGA DI PROGRAMMA

PC : PROGRAM COUNTER (PI : PROSSIMA ISTRUZIONE)


BOOT : PC=0
ADDR --> ADDRESS (INDIRIZZO)
BUFF --> BUFFER

ADDR BUS --> BUS PER TRASMETTERE GLI INDIRIZZI (I NUMERI DI CASELLE DI MEMORIA)
DATA BUS --> BUS PER TRASMETTERE I DATI (LETTI O SCRITTI DALLA MEMORIA)
IR --> INSTRUCTION REGISTER (REGISTRO ISTRUZIONE DA ESEGUIRE)

ESEMPIO DI ISTRUZIONE
X=X+1
LEGGERE L'INDIRIZZO DI X

OPERAND ASSEMBLY : ASSEMBLAGGIO DEGLI OPERANDI

BOOT
PC=0

RIPETI ALL'INFINITO
FETCH
IR = MEM[PC]
PC=PC+1

OPERAND ASSEMBLY
A1=MEM[PC]
R1 = MEM [A1]
PC=PC+1

EXECUTE
R1 = R1 + 1
MEM [A1] = ACC

ALU --> UNITA' ARITMETICO LOGICA


ACC--> REGISTRO IN CUI VIENE POGGIATO TEMPORANEAMENTE IL RISULTATO DELL'OPERAZIONE ARITMETICO LOGICA

BUS
ADDRESS BUS – CONTROL BUS – DATA BUS

PARALLELISMO DEL BUS <==> NUMERO DI FILI CHE COMPONGONO IL BUS

MINIMO 8 BIT

ATTUALE 32 / 64 BIT

AD ESEMPIO: MOTOROLA 68000 : DATA BUS A 16 BIT, ADDRESS BUS A 32 BIT

ADDRESS BUS HA 32 BIT --> QUANTE CASELLE IN MEMORIA CI POSSONO ESSERE ? 232 = 4 GIGA DI INDIRIZZI DIVERSI
MA IN OGNI CASELLA QUANTI BIT CI CONVIENE METTERE? 16 BIT COME IL DATA BUS

IN QUESTO CASO QUANTO E' CAPIENTE LA MEMORIA ? 4 GIGA * 16 BIT = 8 GIGABYTE

ESEMPIO:
PER SCRIVERE IL DATO DEL BUS SU DI UN REGISTRO CI METTIAMO 1 MICROSECONDO DI SOLITO,
MA COMUNQUE SEMPRE MENO DI 2 MICROSECONDI

DOPO QUANTO TEMPO POSSIAMO METTERE UN NUOVO DATO SUL BUS? DOPO 2 MICROSECONDI
QUANTE OPERAZIONI POSSIAMO FARE AL SECONDO? 1/2MICROSECONDI = 500,000 OPERAZIONI AL SECONDO 500 KhZ

ESEMPI PIU' REALISTICI: 166 MHz (CIRCA 6 NANOSECONDI PER OPERAZIONE)

IL CLOCK DEL BUS CI SCANDISCE IL TEMPO OGNI 2 MICROSECONDI

OVERCLOCKING : IO AUMENTO DI FORZA LA FREQUENZA DEL CLOCK --> MAGGIORE DISSIPAZIONE DI CALORE -->
AUMENTO DELLA TEMPERATURA --> IL BUS DIVENTA PIU' LENTO --> ALCUNE ELABORAZIONI NON VENGONO COMPIUTE
IN TEMPO --> --> I COMPONENTI FONDONO

MEMORIA CENTRALE
CONTIENE DATI E PROGRAMMI

Random
Access
Memory

https://communitystudentiunina.sharepoint.com/sites/FondamentidiInformaticaFuorigrottaFES-MAR/_layouts/15/Doc.aspx?sourcedoc={b6c44bc4… 2/3
3/11/2020 OneNote
IL TEMPO DI ACCESSO (LETTURA O SCRITTURA) AD UNA CELLA DELLA RAM NON DIPENDE DALL'INDIRIZZO -->
--> IL TEMPO MASSIMO DI ACCESSO COINCIDE CON IL TEMPO MEDIO

ESEMPIO: UNA RAM HA UN TEMPO DI ACCESSO DI 6 NANOSECONDI


IL CLOCK DEL BUS NON PUO' AVERE FREQUENZA > 1/6NS = 166 MHz

LA RAM E' UNA MEMORIA VOLATILE --> SE STACCO L'ALIMENTAZIONE IL CONTENUTO SI AZZERA

I PROGRAMMI POSSONO ESSERE ESEGUITI SOLTANTO SE PRESENTI SULLA RAM --> CONSEGUENZA DEL MODELLO
DI VON NEUMANN

CPU
QUANTI CALCOLI PUO' FARE LA CPU NEL TEMPO?
DATO IL TEMPO MASSIMO PER SVOLGERE UN'OPERAZIONE --> FREQUENZA DEL CLOCK DEL PROCESSORE

ESEMPIO: TEMPO MASSIMO 1 NANOSECONDO --> CLOCK DEL PROCESSORE HA FREQUENZA 1/1 NS = 1 GHz

INPUT / OUTPUT

SISTEMA DELLE INTERRUZIONI

BOOT
RIPETI ALL'INFINITO
FETCH
OPERAND ASSEMBLY
EXECUTE
SE INTERRUZIONE ALLORA GESTISCI

ARRIVA L'INTERRUZIONE
SALVIAMO IN RAM (STACK) IL VALORE DI PC, IL VALORE DI IR E DI TUTTI GLI ALTRI REGISTRI DELLA CPU
CARICHIAMO UN NUOVO VALORE IN PC <-- ISR (INTERRUPT SERVICE ROUTINE)

CHI MANDA L'INTERRUZIONE? UNA PERIFERICA


COME FA A MANDARCI IL VALORE DI ISR? TRAMITE IL CONTROL BUS

TIME SHARING : ESEGUIRE PIU' PROCESSI "CONTEMPORANEAMENTE" IN REALTA' FRAZIONANDO IL TEMPO TRA DI LORO

GERARCHIA DELLA MEMORIA

REGISTRI DEL PROCESSORE --> TEMPO DIPENDE DA CLOCK DEL PROCESSORE --> CAPIENZA MINIMA

CACHE --> PORZIONE DELLA MEMORIA RAM PIU' VELOCE --> CAPIENZA RIDOTTA --> COSTO ELEVATO

RAM --> VELOCITA' ABBASTANZA ALTA --> CAPIENZA ABBASTANZA RIDOTTA --> COSTO ABBASTANZA ELEVAT

DISCO FISSO --> VELOCITA' ABBASTANZA BASSA E DIPENDENTE DALL'INDIRIZZO ==> IL DISCO NON E' COLLEGATO
DIRETTAMENTE AL BUS

LETTURA DA DISCO : LA CPU CHIEDE AL DISCO DI LEGGERGLI UN "BLOCCO" DI DATI (DELL'ORDINE DEI KILOBYTE), AVVIA
LA RICHIESTA E SI METTE A FARE ALTRE COSE
A UN CERTO PUNTO IL DISCO TERMINA LA LETTURA, MANDA UN SEGNALE DI INTERRUZIONE
LA CPU VEDE L'INTERRUZIONE E COMANDA UN TRASFERIMENTO DI DATI DAL DISCO ALLA RAM
QUANDO FINISCE IL TRASFERIMENTO IL DISCO INVIA UN'ALTRA INTERRUZIONE
LA CPU VEDE L'INTERRUZIONE E FINALMENTE INIZIA AD ELABORARE I DATI (IN RAM)

I vecchi floppy da 5 ¼ (pollici) avevano inizialmente capienza di 160 KByte --> 180 KByte --> 360 kByte (doppia faccia) --> 1.2 MByte

Dischi fissi

CD : 640 MByte --> 700 MByte --> DVD 4.8 GByte --> Blu Ray circa 64 GByte

Nastri

Memoria Virtuale

https://communitystudentiunina.sharepoint.com/sites/FondamentidiInformaticaFuorigrottaFES-MAR/_layouts/15/Doc.aspx?sourcedoc={b6c44bc4… 3/3

Potrebbero piacerti anche