Estratto del documento

-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

Anteprima
Vedrai una selezione di 11 pagine su 47
Appunti Fondamenti di informatica Pag. 1 Appunti Fondamenti di informatica Pag. 2
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 6
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 11
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 16
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 21
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 26
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 31
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 36
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 41
Anteprima di 11 pagg. su 47.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica Pag. 46
1 su 47
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher torta1998 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Danese Giovanni.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community