-ARCHITETTURA DI VON NEUMANN:
Questa architettura ha mantenuto la sua validità anche dopo molti anni perché è un architettura che non si lega alla
tecnologia.
È costituita da :
1. Unità di input.
2. CPU.
3. Unità di output.
MEMORIA
4. Contenitore a sviluppo monodimensionale di caselle con un loro numero d’ordine. Ne abbiamo
di diverse tipologie :
1. MAR Memory Address Register , componente della memoria che serve a mantenere l’indirizzo
della cella di memoria cercata.
2. MBR Memory Buffer Register , componente della memoria dove viene temporaneamente
memorizzato il dato che la CPU vuole scrivere\leggere dalla memoria.
BUS
5. sono canali di comunicazione fra la CPU e le varie componenti della macchina , ce ne sono di vari tipi :
1. Bus Dati Sono le line fisiche di cui la CPU si serve per leggere i dati da elaborare o per inviare i
dati alla memoria. ( esprime la capacità di elaborazione del processore).
2. Bus Indirizzi Sono le line di cui la CPU si serve per dialogare con i vari dispositivi , l’informazione
viene portata a tutti ma a rispondere alla CPU sarà l’interessato.
3. Bus controlli Sono i collegamenti il cui scopo è coordinare le attività di sistema , la CPU decide
quale componente deve fare cosa.
Esempio scrittura in memoria:
La CPU attiva il Bus degli Indirizzi scegliendo il suo interlocutore , ciò invia al Bus Indirizzi l’indirizzo della cella con cui
vuole interloquire.
L’indirizzo viene memorizzato nella MAR , in un secondo istante la CPU invierà sul Bus Controlli un segnale per indicare
l’operazione da svolgere.
Scelta l’operazione la CPU piloterà il Bus dati inviando alla memoria i dati che devono essere memorizzati , vengono
salvati prima nella MBR e poi dove prestabilito.
-LINEE DEL BUS :
1. WAIT presente sul Bus Controlli , questa linea serve per concedere più tempo alla memoria. Questa linea fa si
che la CPU aspetti a chiudere il trasferimento dati prima che tutti i dati non siano recuperati dalla memoria.
2. INTERRUPT Quando questo segnale viene inviato la CPU smette di fare quello che stava facendo e si dedica alla
gestone dell’evento che ha causato l’interrupt.
3. RESER controllata da Watch Dog , porta al riavvio della CPU.
4. ZERO CROSSING E’ un circuito che si serve dell’interrupt per segnalare alla CPU che manca l’alimentazione.
Questo è utile per salvare i dati presenti sulla RAM che se no verrebbero persi per sempre.
-COLOQUIO CON PERIFERICHE :
Elenco dei modi per ottimizzare i tempi di comunicazione tra la CPU e le periferiche:
1. POLLING Consiste nell’interruzione periodica della CPU per interrogare sequenzialmente le periferiche ,
provvedendo a gestire operazioni di I\O concluse.
PRO: non costosa. | CONTRO: Perdita di tempo per la CPU.
2. INTERRUPT Non è più la CPU ad interrompersi ma sono le periferiche che al tempo opportuno inviano un
segnale di INTERRUPT all CPU.
PRO: non è più legata al controllo periodico , viene avvisata solo quando le periferiche hanno terminato il
proprio lavoro. | CONTRO: La CPU deve adattarsi ai tempi delle periferiche perdendo così tempo , accettabile.
3. DIRECT MEMORY ACCESS Si usa quando la CPU non è coinvolta come sorgente o destinatario di dati
scambiati con le periferiche. Passaggio diretto dei dati tra periferica e memoria centrale.
PRO: CPU svincolata dai processi di comunicazione , utile se devo ricevere molti dati velocemente | CONTRO:
collo di bottiglia di von neumann problema nella gestione del traffico del BUS DATI.
________________________________________________________________________________________________
-ARCHITETTURA COMPUTER:
La circuiteria che esegue le operazioni sui dati è denominata CPU.
La CPU è composta di tre parti :
1. L’unità aritmetico logica ( esegue l’elaborazione dei dati )
2. L’unità di controllo ( coordina le attività della macchina)
3. L’unità dei registri ( contiene celle di memorizzazione dei dati chiamate registri, memorizzazione
temporanea).
Per trasferire , l’unità centrale e la memoria principale sono collegate da un insieme di fili detti BUS . tramite il BUS la
CPU è in grado di estrarre o leggere i dati dalla memoria principale.
________________________________________________________________________________________________
-ARCHITETTURA DI UNA CPU :
1. ALU unità aritmetico logica , si occupa di eseguire le operazioni logico aritmetiche deve però conoscere gli
operandi.
2. ACCUMULATORE E’ un dispositivo collegato alla ALU che permette di mantenere temporaneamente i bit
utili alle operazioni.
3. REGISTRO DEI FLAG dispositivo associato alla ALU serve per segnalare particolari eventi connessi alle
operazioni .
4. PROGRAM COUNTER E’ un registro che deve conservare l’indirizzo di memoria della prossima istruzione
che deve svolgere la CPU
5. INSTRUCTION REGISTER E’ un registro che ha il compito di conservare il codice operativo ricevuto per
evitare che vada perduto.
6. DECODIFICATORE componente della CPU che serve a decodificare la sequenza di 0 e 1 in modo da
comprendere l’istruzione che deve essere eseguita.
7. CONTROLLORE HA il compito di comunicare alla ALU gli addendi che verranno usati nell’operazione e di
comunicare l’operazione da svolgere.
8. REGISTRI INTERNI Siccome la RAM è esterna alla CPU , questi registri servono da piccole memorie che
vanno alla stessa velocità della CPU e mantengono temporaneamente diverse informazioni provenienti dalla
memoria o dalla CPU stessa.
9. BUS DATI INTERNO \BUS INDIRIZZI INTERNO Sono linee di comunicazione tra le varie componenti della
CPU per traferire dai e indirizzi tra di essee verso l’esterno.
10. STACK POINTER Viene detto puntatore alla pila, segue l’andamento di un programma ogni qual volta che
esso passa a un sotto programma o da quest’ultimo si passa al programma precedentemente in corso.
-TIPI DI CPU:
1. RISC prevede che l’unità centrale debba essere progettata solo con un insieme minimo di istruzioni
macchina.
Questo fa si che il computer sia efficiente, veloce e poco costoso.
2. CISC prevede che l’unità centrale sia fornita di molte istruzioni complesse anche se molte sono
tecnicamente ridondanti .
Questo fa si che la CPU più complessa della CPU_RISC sia in grado di gestire meglio la complessità sempre
crescente del software odierno.
Consuma molta energia una volta questa CPU era molto costosa e poco utilizzata mentre ora detiene la
supremazia .
________________________________________________________________________________________________
-CICLO MACCHINA:
La CPU svolge il suo compito ripetendo continuamente un algoritmo che la guida attraverso un processo a tre fasi
chiamato ciclo macchina.
1. Reperimento ( fetch ).
2. Decodifica ( decode ).
3. Esecuzione ( execute ).
Durante il reperimento la CPU richiede che la memoria principale fornisca l’istruzione memorizzata all’indirizzo
indicato dal contatore di programma della CPU.
La CPU pone l’istruzione ricevuta dalla memoria nel suo registro delle istruzioni e poi incrementa il contatore di
programma.
A questo punta la CPU decodifica l’istruzione , cioè scompone il campo operando nei sui componenti sulla base del
codice operativo.
1. FETCH : a) PC MAR
b) MAR MBR , PC+1
c) MBR IR
I passi uno e due permettono di caricare nell’IR il codice operativo dell’istruzione , passi analoghi permettono di
caricare nei registri della CPU gli operandi dell’istruzione.
2. DECODE : viene identificata l’istruzione da svolgere.
3. EXECUTE : consiste nell’inviare comandi e dati alle unità interessate.
-FORMARO DI UN ISTRUZIONE:
Le istruzioni sono codificate da stringhe di bit.
1. CODICE OPERATIVO Indica quale operazione è richiesta e deve essere eseguita.
2. CODICE PERANDO Sono delle informazioni più dettagliate , sorgente destinazione modalità di
indirizzamento , sull’operazione specificata dal codice operativo , indicando dove si trovano gli operandi e
dove deve essere memorizzato il risultato.
________________________________________________________________________________________________
-WATCH DOG:
Sistema di temporizzazione hardware , situato vicino alla CPU serve per controllare il corretto funzionamento di essa.
Questo sistema controlla periodicamente il funzionamento della CPU ed è costituito da un contatore che viene
aggiornato se e solo se la CPU funziona correttamente , se il contatore non viene aggiornato , quindi la CPU non
funziona correttamente , il WATCH DOG effettua il rest del sistema .
________________________________________________________________________________________________
-IL CLOCK:
Il clock di un computer è un circuito chiamato oscillatore che genera impulsi usati per coordinare le attività della
macchina, più velocemente il circuito genera impulsi più rapidamente il computer esegue il ciclo macchina.
Il clock si misurano in HERTZ/S.
CPU diverse possono eseguire quantità diverse di lavoro in un ciclo di clock e quindi la velocità di clock da sola non è
rilevante quando si confrontano computer con CPU diverse.
NB : Se raddoppio i periodi di clock non dimezzo il tempo di elaborazione, perché ciò non modifica i funzionamenti
esterni alla CPU .
Quindi non modifica neanche i tempi di comunicazione esterni alla CPU.
________________________________________________________________________________________________
-MEZZI DI COMUNICAZIONE:
1. Comunicazione Parallela sono trasferiti più segnali contemporaneamente ognuno su una linea separata.
Vengono trasmessi dati in modo veloce ma richiede un percorso di comunicazione complesso.
2. Comunicazione Seriale si basa sul trasferimento di un solo segnale alla volta . E’ più lenta ma rende la
comunicazione strutturale più semplice.
________________________________________________________________________________________________
CONTROLLER:
La comunicazione tra un computer e altri dispositivi è di solito gestita per mezzo di un apparato intermedio detto
controller.
Nel caso di un personal computer il controller hanno la forma fisica di una scheda che si inserisce nella scheda madre e
collegati tramite fili alle periferiche del computer ( standard USB ).
Dal momento che il controller è collegato al BUS esso può continuare a comunicare con la memoria principale durante
i nanosecondi in cui la CPU non utilizza il BUS.
Questa capacità di accedere alla memoria centrale è detta DMA ( direct memory acces) , questa capacità può
migliorare la prestazioni del computer ma al contempo essa ha anche effetto negativo perché complica il traffico
gestito dal BUS.
Questo problema viene denominato collo di bottiglia di Von Neumann , dalla progettazione di Von Neumann in cui la
CPU preleva le sue istruzioni dalla memoria tramite un BUS centrale.
________________________________________________________________________________________________
-ISTRUZIONI LINGUAGGIO MACCHINA :
Una CPU per poter svolgere ciò che le viene chiesto deve conoscere una serie di istruzioni elementari .
Queste istruzioni sono scritte in ASSEMBLY LANGUAGE , cioè una rappresentazione simbolica che usa codici
mnemonici.
L’assemblatore è il programma che traduce l’assembly language in linguaggio macchina .
-TRASFERIMENTO DATI :
Sono istruzioni che servono per trasferire dati dalla memoria ai registri , dai registri a registri , da registri ad unità
esterne e viceversa.
Sono :
1. LOAD : memoria CPU.
2. STRORE : CPU memoria.
Alcuni esempi LOAD = LD e STORE = ST
1. LDA<ind> : <ind> A
2. STB<ind> : B <ind>
3. MOV A B : A B
4. INT<porta> B : <porta> B
-ISTRUZIONI ARITMETICHE :
Permettono di eseguire operazioni aritmetiche elementari su numeri interi .
Queste istruzioni producono oltre al risultato un vettore di bit scritto dalla ALU nel registro dei FLAG , tali bit
costituiscono degli indicatori .
SONO:
1. ADD somma
Per esempio : ADD<ind>A = <ind> + A A .
2. SUB sottrazione
Per esempio : SUB<ind>A = <ind> - A A .
3. C ( carry ) insdica se c’è stato un riporto o un prestito.
4. W (overflow) se c’è stato un trabocco o meno.
5. Z (zero) il risultato è o meno zero.
6. N ( negative ) il risultato è oppure no negativo.
-ISTRUZIONI LOGICHE :
Permettono di eseguire operazioni logiche su stringhe di bit, un loro vantaggio è l’esecuzione di alcune operazioni
molto velocemente. Sono :
1. AND
2. OR
3. NOT
4. EXOR
-ISTRUZIONI DI ROTAZIONE O SHIFT :
Operano sul contenuto di un registro.
1. SHIFT LOGICO A DESTRA: utilizzato per stringhe di bit in valore assoluto , consiste nello spostamento a
destra delle cifre di un numero inserendo nelle posizioni lasciate vuote gli zeri. Corrisponde ad una divisione
per potenze di due.
2. SHIFT ARITMETICO A DESTRA: viene utilizzato per stringhe in complemento a due , il bit significativo viene
traslato e riconfermato nella propria cella , mentre gli altri bit vengono spostati a destra di uno . Corrisponde
a una divisione per potenze di due.
3. ROTAZIONE A DESTRA : consiste di uno spostamento a destra dei bit, i bit che escono prima di essere
reinseriti a sinistra entrano nel carry.
-ISTRUZIONI CONTROLLO PROGRAMMA:
Sono istruzione che servono a modificare l’ordine di esecuzione sequenziale di un programma , prendono il nome di
salto.
Il salto può essere incondizionato o condizionato e possono essere senza o con ritorno all’istruzione successiva a
quella di salto .
1. SALTO CONDIZIONATO SENZA RITORNO :
Se viene verificata un certa condizione allora viene effettuato l’istruzione JUMP. Se la condizione è verificata
allora viene caricata nl PC l’indirizzo corrispondente alla cella in cui è contenuta l’istruzione da eseguire se no
il PC si aggiorna e procede come da programma.
2. SALTO INCODIZIONATO SENZA RITORNO:
Il salto avviene nel punto prestabilito sempre, non dipende da nessuna condizione.
3. SALTO RELATIVO ALLA POSIZIONE DEL PC SEN RITORNO :
Si tratta di un salto in avanti o in dietro , rispetto all’attuale posizione del PC di un certo numero di istruzione
chiamato DISPLACAMENT.
Si dice cioè al PC di passare a un istruzione successiva\precedente identificando quella nuova in base al
numero di istruzioni che la separano da quella attuale.
4. SALTO RELATIVO CONDIZIONATO SENZA RITORNO:
Come nel punto precedente solo che si verifica il salto se si verifica la condizione preposta.
stack pointer
Lo è un registro dedicato alla CPU che contiene l'indirizzo della locazione di memoria occupata dal top
dello stack.
I salti con ritorno sono chiamate a sottoprogrammi che una volta eseguiti prevedono il ritorno al programma
interrotto precedentemente . Ciò comporta che il contenuto del PC non venga perso , perché se no non si potrebbe
tornare indietro, detto ciò il contenuto del PC deve essere salvato prima che venga eseguito il salto.
Il contenuto del PC quindi viene salvato nello STACK una parte di memoria preposta a questo scopo , prima che il
nuovo indirizzo venga caricato.
Lo STACK viene riempito a indirizzi via via decrescenti e svuotato a indirizzi crescenti.
L’indirizzo in cui si trova il PC viene salvato nello STACK POINTER.
LIFO
Lo STACK segue la logica ( last in first out ).
-ISTRUZIONI DI CONTROLLO MACCHINA :
Non eseguono operazioni sui dati ne salti ne trasferimenti . Servono a modificare direttamente lo stato della CPU.
1. HALT Arresta il funzionamento della CPU.
2. NOP Mantiene inalterato il funzionamento della CPU , serve a creare dei ritardi per permettere il
completamento di altre operazioni.
3. DI disattiva gli INTERRUPT , la CPU non li riceve più.
4. EI attiva gli INTERRUPT .
5. RESET azzera lo stato della CPU.
-GLI INTERRUPT :
Sono segnali analogici creati da un trasduttore , ad ogni interrupt viene assegnato un indirizzo relativo ad una tabella .
( tabella degli interrupt)
La CPU quando riceve più interrupt consulta questa tabella in modo da poter stabilire la priorità relativa ad ogni
segnale , occupandosi così prima di quegli interrupt con elevata priorità e dopo di quelli con priorità minore.
Per esempio se una stessa CPU cestisse una sega circolare e una stampante e in uno stesso istante ricevesse due
interrupt uno proveniente dalla mani di un operatore che si stanno avvicinato alla sega circolare e uno dato
dall’esaurimento della carta per stampare si occuperebbe prima di fermare la sega circolare e poi di occuperebbe della
stampante.
Computer in stand by segnale HALT .
________________________________________________________________________________________________
-METODI DI INDIRIZZAMENTO:
byte
La memoria è organizzata in , la locazione di memoria di indirizzo i corrisponde all’ i-esimo byte della memoria.
Non è possibile assegnare un indirizzo a ciascun bit.
Nell’esecuzione del ciclo macchina abbiamo visto che alla CPU vanno fornite informazioni composte da : 1) CAMPO
OPERATIVO , 2) CAMPO OPERANDI. destinatario modalità di indirizzamento sorgente.
Il campo operandi è costituito da : 1) , 2) 3)
-Gradi di parallelismo numero di bit che posso essere letti\scritti contemporaneamente .
-Spazio di indirizzamento numero di byte che possono essere indirizzati 2^N , con N numero di bit usati come
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Informatica
-
Appunti Informatica
-
Appunti Fondamenti di Informatica
-
Appunti Fondamenti di informatica