Sei sulla pagina 1di 6

MICROPROCESSORE – PARTE II – CORSO DI SISTEMI E RETI Classe 3B – Sistemi e Reti – Samuele Trucco

Microprocessore – Il circuito di clock

Un microprocessore è un sistema sincrono e sequenziale:

 Sincrono: significa che funziona grazie ad un segnale periodico, cioè ripete sempre la stessa forma nel tempo ed
è chiamato clock e indicato con CK.
Il CK ha una forma d’onda quadra
 Sequenziale: significa che svolge le istruzioni in sequenza una dopo l’altra
 Sempre positivo in senso largo: il segnale di clock ha un segno sempre positivo ovvero è sempre sopra l’asse
delle x

Livello alto e livello basso del segnale di clock

In figura viene rappresentato un esempio di andamento del segnale di clock:

È possibile osservare dalla figura che la forma


d’onda è un’onda quadra e che questa è
caratterizzata da livelli alti (rappresentati in blu) e
livelli bassi (rappresentati in rosso).

Il periodo del segnale di clock

Questa forma d’onda si ripete nel tempo quindi è


possibile scansionarla in più periodi che sono
rappresentati dai numeri 1,2,3,4 come nella figura
a sinistra

Stato macchina, ciclo macchina e ciclo istruzione

Il segnale di clock può essere suddiviso in più sottocicli:

NOME CICLO RAPPRESENTAZIONE


STATO MACCHINA è la durata di un periodo
CICLO MACCHINA è l’insieme di più stati macchina
CICLO ISTRUZIONE è l’insieme di più cicli macchina

ESERCIZIO: Dato il segnale di clock calcolare periodo e frequenza


Per prima cosa vedo che il segnale si ripete ogni 0.006 secondi quindi il periodo è:
𝑇 = 0.006 𝑠 = 6 𝑚𝑠
La frequenza invece sarà: 𝑓 = = . = 166,7 𝐻𝑧
PC, IR e MAR

 PC (Program Counter): contiene l’indirizzo di dove è memorizzata la prossima istruzione da eseguire


 IR (Instruction Register): contiene l’indirizzo dell’istruzione che si sta svolgendo attualmente
 MAR (Memory Address Register): è un registro che contiene tutti gli indirizzi di memoria delle varie istruzioni
Analisi dei cicli di istruzione

Il microprocessore per eseguire le istruzioni


lavora su tre fasi:

 FETCH: il microprocessore preleva


l’istruzione dalla memoria primaria
 DECODIFICA: l’istruzione viene tradotta
in linguaggio macchina
 EXECUTE: L’istruzione viene eseguita

Una volta arrivata alla fase di execute il ciclo


riparte nuovamente per eseguire la prossima
istruzione

Microprocessore – Le periferiche

Una periferica è un qualsiasi dispositivo hardware che può essere collegato al microprocessore, ogni periferica è dotata
di una porta ovvero di un circuito programmabile che permette la comunicazione tra il microprocessore e la periferica
stessa. Le periferiche si distinguono in due tipologie:

1. Periferiche di input: che sono dispositivi in grado di immettere i dati dall’esterno verso l’interno del computer.
Esempi di periferiche di input sono mouse, tastiera, scanner, microfono, webcam ecc…
2. Periferiche di output: che sono dispositivi in grado di esportare dati dall’interno verso l’esterno del computer
Esempi di periferiche di output sono stampante, monitor, altoparlanti ecc…

Il collegamento tra periferiche e microprocessore può essere classificato in diverse modalità:

1. A SECONDA DELLA QUANTITA’ DI DATI TRASMESSI: che si divide in due tipologie:


a. Trasferimento in parallelo
b. Trasferimento seriale

Il microprocessore comunica con le diverse periferiche quindi, qualora la periferica sia di input questa è l’unità
trasmittente (T o TX) mentre il microprocessore è l’unità ricevente(R o RX), nelle periferiche di output invece l’unità
trasmittente è il microprocessore mentre quella ricevente è la periferica di output, detto ciò queste due unità possono
essere collegate nei due modi visti:

Tutti i bit viaggiano sullo stesso filo


 Parallelo Esempi di interfacce parallele sono PPI (Parallel Pheriperal
Interface) o PIO (Parallel Input Output)

Ogni bit viaggia su un filo diverso


 Seriale Esempi di interfacce seriali sono UART o USART (Universal
Synchronus Asynchronus Receveir Transmitter)

2. A SECONDA DELL’ARCHITETTURA: che si divide in due tipologie:

 A stella
Ogni periferica è collegata al
microprocessore con un proprio bus.
È più semplice da realizzare ma più costosa
 Party Line
Ogni periferica è collegata al
microprocessore su un bus comune.
È più economica ma meno prestazionale

3. A SECONDA DELLE MODALITA’: che si divide in tre tipologie:


a. Trasferimento programmato (o polling)
Il microprocessore controlla lo scambio di dati.
Le varie periferiche vengono analizzate in sequenza.
Questo metodo impiega un elevato tempo di elaborazione perché le
periferiche devono essere analizzate in continuazione.
Per questi motivi risulta essere una metodologia poco adatta per le
periferiche veloci.

Se la richiesta della periferica viene soddisfatta viene eseguita una


routine di servizio cioè una sequenza di istruzioni altrimenti si passa
alla periferica successiva

b. Trasferimento su interruzione
Il trasferimento su interruzione avviene per periferiche che devono essere servite più velocemente. Una periferica può
lanciare un segnale di interrupt (INT), se il microprocessore accetta la richiesta il programma generale viene interrotto.
Ci sono diversi tipi di trasferimento su interruzione:

I. Interrupt di tipo software:


In questo metodo tutti i dispositivi sono connessi ad
una porta OR all’ingresso del collegamento del segnale
INT del microprocessore.

Il microprocessore che riceve questo segnale, avvia una


routine attraverso cui controlla i flag di tutti i dispositivi
alla ricerca di quello che ha generato l’interrupt per poi
procedere con l’esecuzione della richiesta.

II. Interrupt con priority encoder


In questa metodologia viene utilizzato un circuito
integrato chiamato priority encoder dove si
programmano le priorità delle varie periferiche a monte
e non sono più modificabili
- In rosso: n ingressi per le n periferiche
- In verde: uscite del circuito priority encoder
- In blu: uscita della porta logica OR collegata al
segnale di interrupt
- In nero: bit necessari per decodificare il numero
del dispositivo(dipende da quanti dispositivi ho)

Una o più periferiche inviano il segnale INT, il processore invia il segnale INTA (Interrupt Acknowledge) al priority
encoder, dalle uscite in nero viene decodificato il numero del dispositivo, nel frattempo si entra nella porta logica OR
(in verde) e il segnale di interrupt viene lanciato al microprocessore (blu)
III. Interrupt con PIC (Programmable Interrupt
Controller)
In questa metodologia viene utilizzato un circuito
integrato chiamato PIC.

In questo metodo è possibile utilizzare degli ingressi


chiamati IRQ (Interrupt Request) e programmare la
priorità delle diverse periferiche.

Una o più periferiche inviano le richieste al PIC, quella


con priorità maggiore arriva al microprocessore
mediante il segnale INT, il quale se accetta la richiesta
rispedisce un segnale INTA . Alla ricezione di questo segnale il PIC genera un codice che
viene immesso sul bus dei dati che serve sia al
microprocessore per capire quale dispositivo ha generato
l’interrupt sia alla memoria per eseguire l’interrupt della
routine di servizio (IRS) memorizzata nella tabella di vettori

c. Trasferimento per accesso diretto in memoria


Con la tecnica di accesso diretto in memoria la periferica
anziché venire assistita dal microprocessore accede
direttamente in memoria.
 La periferica invia un segnale BUSR=0 al
microprocessore
 Il microprocessore può rispondere con un
segnale BUSA=0 se abilita o BUSA=1 se non
abilita la periferica ad accedere direttamente in Per accedere a questa modalità la periferica deve avere i
memoria registri necessari all’esecuzione delle funzioni del
 Il programma principale viene congelato e la microprocessore ovvero i registri:
periferica incomincia a trasferire dati in memoria  MAR (Memory Address Register) già visto in
o a prendere dati dalla memoria precedenza
 Appena la comunicazione termina il  MBR (Memory Buffer Register) o MDR (Memory
microprocessore riprende ad eseguire il Data Register): Memorizza i dati trasferiti verso la
programma che aveva congelato memoria ad accesso immediato

Nel caso in cui si abbiano più periferiche che chiedono l’accesso diretto in memoria viene utilizzato un dispositivo
chiamato DMA controller.

4. A SECONDA DELLA VELOCITA’ DEI DATI TRASMESSI: che si divide in due tipologie:
a. Trasferimento sincrono
b. Trasferimento asincrono

Sia l’unità che trasmette i dati, sia quella che li riceve hanno ciascuna una propria temporizzazione rappresentabile
come un’onda quadra

 Sincrono  Asincrono
Le due unità T Le due unità non sono
e R sono temporizzate quindi
temporizzate non sono sincronizzate
allo stesso e ciò avviene per
modo quindi i problemi legati
due periodi principalmente a
coincidono velocità diverse
Per queste ragioni i due
periodi non coincidono
Il microprocessore viene detto MASTER, mentre la periferica viene detta SLAVE

Essendo le periferiche sia di input che di output e la trasmissione potendo essere sia sincrona che asincrona si
distinguono quattro casistiche di comunicazione tra microprocessore e periferiche:

TRASMISSIONE TRASMISSIONE
ASINCRONA TRA 𝜇𝑝 E PERIFERICA DI OUTPUT ASINCRONA TRA 𝜇𝑝 E PERIFERICA DI INPUT

 Il microprocessore TX mette i dati sul canale  Il microprocessore RX invia il segnale di READY per
 Il microprocessore attiva il segnale READY per dire alla dire alla periferica di prepararsi a spedire i dati
periferica RX di prepararsi a leggere i dati  La periferica mette i dati sul canale

 La periferica invia il segnale ACKNOWLEDGE  La periferica invia il segnale ACKNOWLEDGE


comunicando al microprocessore che incomincia la comunicando al microprocessore di incominciare la
lettura lettura dei dati
 Al termine la periferica disattiva il segnale  Al termine il microprocessore disattiva il segnale
ACKNOWLEDGE READY
 Successivamente il microprocessore disattiva il  Successivamente la periferica disattiva il segnale di
segnale di READY ACKNOWLEDGE

TRASMISSIONE TRASMISSIONE
SINCRONA TRA 𝜇𝑝 E PERIFERICA DI OUTPUT SINCRONA TRA 𝜇𝑝 E PERIFERICA DI INPUT

Questi due casi funzionano come i casi analoghi di prima ma senza il segnale ACKNOWLEDGE perché periferica e
microprocessore hanno lo stesso sincronismo quindi dei clock sincroni. Quindi:
 Il MASTER invia allo SLAVE il segnale READY
 Il MASTER invia immediatamente i dati allo SLAVE
 Al termine il segnale di READY viene disattivato

Microprocessori RISC e CISC

I processori si dividono in due grandi famiglie:

 CISC (Complex Instruction Set Computer): In cui le istruzioni sono molteplici e di tipo complesso, e vengono
svolte sequenzialmente una per volta
 RISC (Reduced Instruction Set Computer): In cui le istruzioni sono limitate e di tipo semplice e vengono svolte in
modalità catena di montaggio quindi seguendo un modello chiamato Pipeline

In pratica si può considerare l’analogia di un esempio reale sul processo di lavaggio, asciugatura e stiratura,
consideriamo due esempi:
 Nel primo caso analogo al processo eseguito di un processore CISC: laviamo il primo carico di vestiti in lavatrice,
quando termino asciugo lo stesso carico in asciugatrice e infine stiro tutti i panni di questo primo carico;
successivamente rieseguo le stesse istruzioni nello stesso ordine relativamente al secondo carico e chiudo il
secondo ciclo, poi rieseguo tutte le istruzioni del terzo ciclo ecc… in maniera sequenziale

Svolgo tutto il primo ciclo


Lavaggio Asciugatura Stiratura FINE
1°CICLO Fine 1° CICLO

Prendo il
primo
carico di
vestiti

Svolgo tutto il secondo ciclo


Lavaggio Asciugatura Stiratura FINE
2°CICLO Fine 2° CICLO

Prendo il
secondo
carico di
vestiti

Svolgo tutto il terzo ciclo


Lavaggio Asciugatura Stiratura FINE
3°CICLO Fine 3° CICLO

Prendo il
terzo
carico di
vestiti

 Nel secondo caso analogo al processo eseguito da un processore RISC: lavo il primo carico di vestiti, appena
termina metto il primo carico il asciugatrice e inserisco il secondo carico in lavatrice, infine il primo carico viene
stirato, il secondo viene posto in asciugatrice e il terzo viene posto in stiratura e a procedere allo stesso modo
ecc… in maniera pipeline.
In questo modo è possibile eseguire molti più passaggi in maniera più veloce

Lavo il 1°Carico Stendo il 1°Carico Stiro il 1°, Stendo


mentre lavo il 2° il 2° e lavo il 3°
1°Carico

2°Carico

3°Carico

Potrebbero piacerti anche