SISTEMA DI CONTROLLO - Istituzioni per categorie | … · 2004-03-25 · 8086/8088 5 processore...
Transcript of SISTEMA DI CONTROLLO - Istituzioni per categorie | … · 2004-03-25 · 8086/8088 5 processore...
SEGNALE DIGITALE E ANALOGICO
• SEGNALE DI TIPO ANALOGICOl'informazione è contenuta nei valori istantanei del segnale
• SEGNALE DI TIPO DIGITALEl'informazione è di tipo binario e quindi caratterizzata da una banda discreta di valori
DISPOSITIVI IN LOGICA CABLATA
UN PROBLEMA DI TIPO LOGICO PUO' ESSERE RISOLTO :
• UTILIZZANDO COMPONENTI DIGITALI DI TIPO COMBINATORIO O SEQUENZIALE TRA LORO OPPORTUNAMENTE COLLEGATI (LOGICA CABLATA)
DISPOSITIVI IN LOGICA PROGRAMMATA
UN PROBLEMA DI TIPO LOGICO PUO' ESSERE RISOLTO :
• RICORRENDO A DISPOSITIVI CHE VENGONO OPPORTUNAMENTE PROGRAMMATI PER SVOLGERE QUELLA DETERMINATA FUNZIONE (LOGICA PROGRAMMATA)
PRINCIPIO DI FUNZIONAMENTO
• NELLA EPROM VENGONO MEMORIZZATI I BIT CORRISPONDENTI ALLO STATO DEI LED CHE SI VUOLE ACCENDERE
• IL CONTATORE PUNTA ALLE PRIME 16 LOCAZIONI DI MEMORIA CIASCUNA DI 8 BIT
• VENGONO INDIRIZZATE CELLE CONSEGUENTI GRAZIE AL SEGNALE DI CLOCK APPLICATO AL CONTATORE
• MODIFICANDO IL CONTENUTO DELLA EPROM (IL SOFTWARE) CAMBIERA’ LA SEQUENZA DI ACCENSIONE DEI LED E QUESTO SENZA MODIFICARE L’HARDWARE
MICROPROCESSORE :campi di appicazione
• ELETTRONICA DI CONSUMO– CALCOLATRICI, OROLOGI, VIDEOGIOCHI, APP.
FOTOGRAFICHE
• INDUSTRIA– COMPUTER, ROBOTICA , TELEFONIA, CONTROLLO
PROCESSI, MACCHINE A CONTROLLO NUMERICO
• STRUMENTAZIONE– STRUM. LABORATORIO, ELETTROMEDICALI, SISTEMI
PUNTAMENTO D'ARMA E SICUREZZA
• COMMERCIO– FOTOCOPIATRICI, FAX, TERMINALI RETI, APP.
BANCARIE,DISTRIBUTORI AUTOMATICI
LA STRUTTURA A BUS
IL COMPUTER E’ CARATTERIZZATO DALLA PRESENZA DI TRE TIPI DI BUS:
• IL BUS DATI• IL BUS INDIRIZZI• IL BUS CONTROLLI
MICROPROCESSORE:IL BUS DATI
• attraverso il bus dati scorrono le informazioni che possono essere dati da processare o istruzioni di programma.
MICROPROCESSORE:IL BUS INDIRIZZI
• è un collegamento unidirezionale dal microprocessore alle altre unità del sistema che permette la comunicazione dal o verso il micro.
IL BUS INDIRIZZI
Si tratta del Bus Address (o Bus degli Indirizzi); la figura seguente mette in evidenzia che questo bus, a differenza del bus dati è monodirezionale; d’alto canto il suo compito è limitato a individuare chi deve intervenire in un rapporto di scarico… ed è la CPU che impartisce l’ordine, per cui esso (o meglio, il numero che corrisponde all’oggetto che deve intervenire) potrà solo uscire dal processore.
La cosa non ha nulla di magico: insieme al bus address, si fa pervenire ad entrambe un filo di controllo. Se il livello presente su di esso è 1 sarà la memoria ad intervenire, mentre se 0 sarà il dispositivo di I/O.
Il bus address è nato per indirizzare (come fa capire il suo nome…) cioè per consentire al processore di chiamare in casa una ben precisa locazione di memoria, ma anche una determinata periferica; il numero dell’indirizzo,posto sul bus, arriva di norma sia alla prima che alla seconda, ma solo una delle due risponderà al processore! Come è possibile?
MICROPROCESSORE:IL BUS CONTROLLI
• è l'insieme di conduttori che collegano i vari blocchi che compongono il microprocessore e permettono di controllare la funzionalità di ciascun blocco
LE LINEE DI CONTROLLO: IL CLOCKLa più significativa è la linea di CLK, sulla quale è presente un’onda quadra (clock) la cui frequenza dà la vita al processore; la spinta tecnologica ha portato a traguardi assolutamente straordinari: la velocità base dei processori ha superato il GigaHerz e chissà dove ci fermeremo. La tabella mostra l’evoluzione dei processori da questo punto di vita:
2200Pentium IV
800Pentium III
450Pentium II
233Pentium
10080486
3380386
2580286
1080186/80188
58086/8088
Clock Max (in Clock Max (in MHzMHz))ProcessoreProcessore
L’ARCHITETTURA DEI MICROPROCESSORI
FC-PGA2 (Flip-Chip Pin Grid Array 2)478Pentium IVFC-PGA (Flip-Chip Pin Grid Array)370Pentium III
BGA61 (Ball Grid Array)370Pentium IISPGA (Staggered Pin Grid Array)296Pentium
PGA (Pin Grid Array)16880486DX-PGA (Pin Grid Array)13280386
PGA (Pin Grid Array)PLLC (Plastic Leaded Chip Carrier)
6880286PGA (Pin Grid Array)6880186/80188
DIP (Dual InLine Package)408086/8088
Tipo di contenitoreTipo di contenitoreNumeroNumeropiedinipiedini
ProcessoreProcessore
L’architettura dei processori si è evoluta enormemente nel tempo e, sebbene in misura superficiale, anche la loro dimensione esterna e il loro numero di piedini può, in qualche modo, esprimere questa evoluzione:
TABELLA RIASSUNTIVA CARATTERISTICHE PRINCIPALI DEI MICRO-P.
Processore anno Numero Register Data Bus Address Memoria Bus Speed Clock Max Num. Piedini Contenitore MicronTransistor Size Size Bus Size Max (in MHz) (in MHz)
8080 1970 29.000 8 bit 8 bit 20 bit 1 Mbytes 5 - 8 5 - 8 40 DIP 38085 1978 29.000 16 bit 16 bit 20 bit 1 Mbytes 5 - 10 5 - 10 40 DIP 3
80183 1982 / 8 bit 8 bit 24 bit 18 Mbytes 5 - 10 5 - 10 68 PGA 380188 1982 / 16 bit 16 bit 24 bit 18 Mbytes 6 - 10 6 - 10 68 PGA 380286 1982 134.000 16 bit 16 bit 32 bit 4 Gbytes 6 - 10 6 - 10 68 PGA -PLCC 1,5
80388SX 1985 275.000 32 bit 16 bit 32 bit 4 Gbytes 18 - 33 18 - 33 132 DX. PGA 1,580388DX 1988 275.000 32 bit 32 bit 32 bit 4 Gbytes 18 - 40 18 - 40 132 DX. PGA 1,580480DX 1989 1.200.000 32 bit 32 bit 32 bit 4 Gbytes 33 25 - 50 168 PGA 180480SX 1991 1.185.000 32 bit 32 bit 32 bit 4 Gbytes 26 15 - 33 186 PQFP 1
80486DX2 1992 1.200.000 32 bit 32 bit 32 bit 4 Gbytes 25 - 33 50 - 66 168 PGA 0,880486DX4 1994 1.600.000 32 bit 32 bit 32 bit 4 Gbytes 25 - 33 75 - 100 168 PGA 0,8
Pentium 1993 3.100.000 32 bit 64 bit 32 bit 4 Gbytes 88 60 - 100 273 PGA 0,81996 3.300.000 32 bit 64 bit 32 bit 4 Gbytes 88 120 - 200 273 PGA 0,35
Pentium Pro 1995 5.500.000 32 bit 64 bit 36 bit 64 Gbytes 88 150 - 200 296 SPGA 0,6Pentium MMX 1997 4.500.000 32 bit 64 bit 32 bit 4 Gbytes 88 188 - 233 321 SPGA 0,35
Pentium II 1997 7.500.000 32 bit 64 bit 36 bit 64 Gbytes 88 233 - 300 370 BGA615 0,351998 7.500.000 32 bit 64 bit 36 bit 64 Gbytes 100 200 - 400 370 BGA615 0,25
Celeron 1999 7.500.000 32 bit 64 bit 36 bit 64 Gbytes 88 200 - 533 370 PGA370 0,251999 9.500.000 32 bit 64 bit 36 bit 64 Gbytes 100 - 133 450 - 500 370 FC - PGA 0,25
Pentium III 1999 28.000.000 32 bit 64 bit 36 bit 64 Gbytes 100 - 133 533 - 1130 370 FC - PGA 0,182001 44.000.000 32 bit 64 bit 36 bit 64 Gbytes 133 1000 - 1400 370 FC - PGA 0,13
Celeron Sse 2000 28.000.000 32 bit 64 bit 36 bit 64 Gbytes 88 533 - 1100 370 FC - PGA 0,182002 44.000.000 32 bit 64 bit 36 bit 64 Gbytes 100 1000 - 1300 370 FC - PGA 0,13
Pentium IV 2001 42.000.000 32 bit 64 bit 36 bit 64 Gbytes 368 1300 - 2000 423 FC - PGA2 0,182002 55.000.000 32 bit 64 bit 36 bit 64 Gbytes 368 1500 - 2200 478 FC - PGA2 0,13
IL MICROPROCESSORE Z80
A11
A15CLKD4
D6Vcc
D2
D1INTNMI
HALTMREQIORQ
D7D0
D3D5
A12A13A14
A10A9
A9A8
A6A5A4A3A2A1A0
GNDRFSHM1
RESET
A7
BUSREQWAIT
BUSACKWRRD
MICROZ80
MICROPROCESSORE Z80: blocchi fondamentali
bus dati interno
bufferdati
A.L.U. accum.decod.istruz.
logica di controlloe temporizzazione
reg.interni
cont.prog.
stack poin.
reg.ind.mem.
buffer
bus dati
bus indirizzi
bus controlli
flag
reg.istruz.
CLOCK
A.L.U.
A.L.U. è l'acronimo di Unita' Aritmetico Logica
• questa unità esegue operazioni aritmetiche e logiche su uno o due operandi contenuti temporaneamente nei registri
• l' ALU è collegata direttamente sia al registro accumulatore che a quello di stato (flag).
REGISTRI
• Un registro è costituito da un insieme di flip-flop dove è possibile memorizzare temporaneamente un dato.
• i registri più importanti sono: l'accumulatore,quello di stato,il contatore programma, il registro istruzioni,quello di indirizzi di memoria , lo stack pointer e i registri di uso generale.
• Ciascun registro ha una capacità di 8 o 16 bit.
LOGICA DI CONTROLLO
• Tale blocco permette a tutte le parti del micro di lavorare nella corretta sequenza temporale.
• La funzione principale è quella di decodificare ciascuna istruzione di programma ed emettere i segnali di controllo per eseguire tale istruzione.
• Da essa dipartono tutti i segnali del bus di controllo interno ed esterno.
TEMPORIZZAZIONI
• L' ESECUZIONE DI UNA ISTRUZIONE PREVEDE DUE FASI:
– FASE DI FETCH– FASE DI EXECUTE
• IL CICLO DI ISTRUZIONE E' COSTITUITO DA UNA SEQUENZA DI PASSI DETTA CICLO MACCHINA
MICROPROCESSORE :set di istruzioni
• UNA ISTRUZIONE E' COSTITUITA DA UN GRUPPO DI CARATTERI CHE DETERMINANO UNA SPECIFICA OPERAZIONE.
• CIASCUNA ISTRUZIONE PUO' ESSERE ESPRESSA IN VARIE FORME :
– IN CODICE MACCHINA (codice oggetto)
– IN CODICE ASSEMBLER (codice sorgente)
ESEMPIO DI ISTRUZIONI
• 3C INC A incrementa di 1 il contenuto dell'accumulatore
• 3E(B2) LD A,dato carica nell'accumulatore il dato b2
• C3(B2)(B3) JP addr salto all'indirizzo di memoria b3b2
MICROPROCESSORE : istruzioni fondamentali
• TRASFERIMENTO DATI
• ARITMETICO- LOGICHE
• SALTO CHIAMATA E RITORNO
• MANIPOLAZIONE DEI BIT
• ROTAZIONE E SCORRIMENTO
• DI I/O E CONTROLLO MACCHINA
UN SISTEMA MINIMO A MICROPROCESSORE
ESSO COMPRENDE:
• UN ALIMENTATORE• UN CLOCK• UNA MEMORIA EPROM• UNA PORTA D’INGRESSO• UNA PORTA DI USCITA
• NELLA EPROM ( 27C256 A 8 BIT DI 32K) SI SUPPONEMEMORIZZATO IL PROGRAMMA DA SVOLGERE. ESSAE’ COLLEGATA AL BUS DATI, INDIRIZZI NONCHE’ AIPIEDINI DI CONTROLLO MEMRQ E RD
• LA PORTA DI USCITA (74HC374 COSTITUITO DA 8 FF TIPOD PET) E’ COLLEGATA AL BUS DATI ED AI PIEDINI DICONTROLLO IORQ E WR
• LA PORTA DI INGRESSO (74HC244 COSTITUITO DA 8BUFFER DRIVER CON ENABLE) E’ COLLEGATA AL BUSDATI ED AI PIEDINI DI CONTROLLO IORQ E RD
• IL CIRCUITO RC COLLEGATO AL RESET HA LAFUNZIONE DI RESETTARE IL MICROPROCESSOREALL’ATTO DELL’ACCENSIONE
COMPONENTI HARDWARE
PRINCIPIO DI FUNZIONAMENTO
SUPPONIAMO CHE DEBBA ESSERE ESEGUITO ILSEGUENTE PROGRAMMA:
CODICE ASSEMBLER CODICE ESADECIMALE• LD A,0F HEX 3E 0F• OUT (00HEX), A D3 00
• LA PRIMA ISTRUZIONE CARICA NELL’ACCUMULATOREIL DATO ESADECIMALE 0F
• LA SECONDA ISTRUZIONE TRASFERISCE IL CONTENUTODELL’ACCUMULATORE SULLA PORTA DI USCITA
PRINCIPIO DI FUNZIONAMENTO
• ALL’ATTO DELL’ACCENSIONE IL RESET AUTOMATICO INDIRIZZAIL PC SULLA LOCAZIONE 0000HEX DELLA EPROM
• SUCCESSIVAMENTE I PIEDINI MEMRQ E RD VANNO BASSI E ILCONTENUTO DELLA MEMORIA VIENE TRASFERITO AL MICRO
• IL MICRO INTERPRETA IL CODICE OPERATIVO E CARICA IL BYTEDELLA LOCAZIONE DI MEMORIA 0001HEX NELL’ACCUMULATORE
• IL PC PUNTA ORA ALLA LOCAZIONE 0002HEX; IL CONTENUTO DIQUESTA (D3) VIENE TRASFERITO NEL MICRO E INTERPRETATOCOME UN TRASFERIMENTO DEL CONTENUTO DELL’ ACCUMU--LATORE NELLA PORTA DI USCITA DI INDIRIZZO 00
• A TALE SCOPO VENGONO ATTIVATI I PIEDINI IORQ E WR; ILCONTENUTO DELL’ACCUMULATORE VIENE POSTO SUL BUS DATIE TRASFERITO IN USCITA
PROGRAMMA DI I/O
NOTE:• QUANDO SI ESEGUE UN PROGRAMMA
CONVIENE INIZIALMENTE TRACCIARE IL DIAGRAMMA DI FLUSSO CHE RIASSUME LE OPERAZIONI LOGICHE CHE BISOGNA SVOLGERE
• SUCCESSIVAMENTE SI TRASCRIVE IL PROGRAMMA ASSEMBLER E OVE NECESSARIO QUELLO IN CODICE MACCHINA
IL DIAGRAMMA DI FLUSSO
START
LEGGI L’INGRESSO
INPUT=00
ACCENDI I LED0-2-4-6
ACCENDI I LED0-1-2-3
NO SI
IL PROGRAMMA ASSEMBLER
START: IN A,(00H) LEGGI LA PORTA DI INGRESSOCP 00H CONFRONTA CON 00HJP Z,P1 SALTA A P1 SE E’ 00HLD A,AAH CARICA L’ACCUMULATORE CON AAOUT (00H),A SCARICA IL CONTENUTO SULLA PORTA 00JP START ESEGUI UNA NUOVA LETTURA
P1: LD A,F0H CARICA L’ACCUMULATORE CON F0OUT (00H),A SCARICA IL CONTENUTO SULLA PORTA 00JP START RITORNA ALL’INIZIO
ORGANIZZAZIONE DELLA MEMORIA
IN UN SISTEMA A MICROPROCESSORE POSSONO COESISTERE:
• UNA MEMORIA EPROM NON VOLATILE DOVE VIENE CONSERVATO IL PROGRAMMA PRINCIPALE E QUELLO DI GESTIONE DELLE PERIFERICHE• UNA MEMORIA RAM VOLATILE DOVE VENGONO SCRITTI I DATI O EVENTUALI PROGRAMMI TEMPORANEI
OSSERVAZIONI
• LE DUE MEMORIE HANNO IN QUESTO CASO LA STESSA CAPACITA’ PARI A 8Kbytes
• I PIEDINI DI CONTROLLO SONO GLI STESSI SOLO CHE PER LA RAM E’ UTILIZZATA ANCHE LA LINEA WR
• PER INDIRIZZARE 8192 CELLE DA 8BIT SONO NECESSARI 13 PIEDINI (A0-A12)
• IL PIEDINO A13 VIENE UTILIZZATO PER SELEZIONARE LA EPROM (A13=0) O LA RAM (A13=1)
INDIRIZZI
IN QUESTO MODO :• ALLA EPROM COMPETONO GLI INDIRIZZI DI
CELLA COMPRESI TRA
0000H-1FFFH
• ALLA RAM COMPETONO GLI INDIRIZZI DI CELLA COMPRESI TRA
2000H-3FFFH