Architettura della CPU
Unità di microprocessore è sinonimo di unità di elaborazione centrale, CPU utilizzata nei computer tradizionali. Il microprocessore (MPU) funge da dispositivo o gruppo di dispositivi che svolgono le seguenti attività.
- comunicare con i dispositivi periferici
- fornire il segnale di temporizzazione
- flusso di dati diretto
- eseguire le attività del computer come specificato dalle istruzioni in memoria
8085 Microprocessore
Il microprocessore 8085 è un microprocessore generico a 8 bit in grado di indirizzare 64k di memoria. Questo processore ha quaranta pin, richiede un'alimentazione singola da +5 V e un clock monofase da 3 MHz.
Diagramma a blocchi
ALU
L'ALU svolge la funzione di calcolo del microprocessore. Include l'accumulatore, il registro temporaneo, il circuito aritmetico e logico e cinque flag. Il risultato viene memorizzato in accumulatore e flag.
Diagramma a blocchi
Accumulatore
È un registro a 8 bit che fa parte di ALU. Questo registro viene utilizzato per memorizzare dati a 8 bit e per eseguire operazioni aritmetiche e logiche. Il risultato dell'operazione viene memorizzato nell'accumulatore.
Diagramma
Bandiere
I flag sono programmabili. Possono essere utilizzati per memorizzare e trasferire i dati dai registri utilizzando istruzioni. L'ALU include cinque flip-flop che vengono impostati e ripristinati in base alle condizioni dei dati nell'accumulatore e in altri registri.
S (Sign) flag- Dopo l'esecuzione di un'operazione aritmetica, se il bit D 7 del risultato è 1, viene impostato il flag di segno. È usato per firmare il numero. In un dato byte, se D 7 è 1 significa numero negativo. Se è zero significa che è un numero positivo.
Z (Zero) flag - Il flag zero è impostato se il risultato dell'operazione ALU è 0.
AC (Auxiliary Carry) flag- Nel funzionamento aritmetico, quando il riporto viene generato dalla cifra D3 e passato alla cifra D 4 , viene impostato il flag AC. Questo flag viene utilizzato solo internamente per l'operazione BCD.
P (Parity) flag- Dopo un'operazione aritmetica o logica, se il risultato ha un numero pari di 1, viene impostato il flag. Se ha un numero dispari di 1, il flag viene ripristinato.
C (Carry) flag - Se il risultato dell'operazione aritmetica è in un riporto, viene impostato il flag di riporto, altrimenti viene resettato.
Sezione di registrazione
È fondamentalmente un dispositivo di archiviazione e trasferisce i dati dai registri utilizzando le istruzioni.
Stack Pointer (SP)- Anche lo stack pointer è un registro a 16 bit che viene utilizzato come memory pointer. Punta a una posizione di memoria nella memoria di lettura / scrittura nota come stack. Tra l'esecuzione del programma, a volte i dati devono essere memorizzati nello stack. L'inizio dello stack viene definito caricando un indirizzo a 16 bit nel puntatore dello stack.
Program Counter (PC)- Questo registro a 16 bit si occupa della quarta operazione per sequenziare l'esecuzione dell'istruzione. Questo registro è anche un puntatore di memoria. La posizione della memoria ha un indirizzo a 16 bit. Viene utilizzato per memorizzare l'indirizzo di esecuzione. La funzione del contatore di programma è di puntare all'indirizzo di memoria da cui deve essere prelevato il byte successivo.
Storage registers- Questi registri memorizzano dati a 8 bit durante l'esecuzione di un programma. Questi registri sono identificati come B, C, D, E, H, L. Possono essere combinati come coppie di registri BC, DE e HL per eseguire alcune operazioni a 16 bit.
Sezione Tempo e controllo
Questa unità è responsabile della sincronizzazione del funzionamento del microprocessore in base all'impulso di clock e della generazione dei segnali di controllo necessari per una comunicazione regolare tra il microprocessore e le periferiche. I segnali della barra RD e della barra WR sono impulsi sincroni che indicano se i dati sono disponibili o meno sul bus dati. L'unità di controllo è responsabile del controllo del flusso di dati tra microprocessore, memoria e dispositivi periferici.
Diagramma PIN
Tutto il segnale può essere classificato in sei gruppi
SN | Gruppo | Descrizione |
---|---|---|
1 | Address bus | Il microprocessore 8085 ha 8 linee di segnale, A 15 - A 8 che sono unidirezionali e utilizzate come bus indirizzi di ordine elevato. |
2 | Data bus | Le linee di segnale AD7 - AD0 sono bidirezionali per un duplice scopo. Vengono utilizzati come bus indirizzi di ordine basso e bus dati. |
3 | Control signal and Status signal | Segnale di controllo RD bar- È un segnale di controllo di lettura (attivo basso). Se è attivo, la memoria legge i dati. WR bar- È un segnale di controllo di scrittura (attivo basso). È attivo quando viene scritto nella memoria selezionata. Segnale di stato ALU (Address Latch Enable)- Quando ALU è alto. 8085 microprocessore usa bus indirizzi. Quando ALU è basso. Il microprocessore 8085 utilizza il bus dati. IO/M bar- Questo è un segnale di stato utilizzato per distinguere tra operazioni di I / O e operazioni di memoria. Quando è alto, indica un'operazione di i / o e quando è basso, indica un'operazione di memoria. S1 and S0 - Questi segnali di stato, simili a i / o e alla barra di memoria, possono identificare varie operazioni, ma sono usati raramente in piccoli sistemi. |
4 | Power supply and frequency signal | Vcc - Alimentazione + 5v. Vss - riferimento a terra. X, X- Un cristallo è collegato a questi due pin. La frequenza è divisa internamente per due sistemi operativi a 3 MHz, il cristallo dovrebbe avere una frequenza di 6 MHz. CLK out - Questo segnale può essere utilizzato come orologio di sistema per altri dispositivi. |
5 | Externally initiated signal | INTR (i/p) - Richiesta di interruzione. INTA bar (o/p) - Viene utilizzato come interrupt di riconoscimento. TRAP (i/p) - Questo è un interrupt non mascherabile e ha la massima priorità. HOLD (i/p) - Viene utilizzato per contenere il programma in esecuzione. HLDA (o/p) - Aspetta, conferma. READY (i/p) - Questo segnale viene utilizzato per ritardare il ciclo di lettura o scrittura del microprocessore fino a quando una periferica a risposta lenta è pronta ad accettare o inviare dati. RESET IN bar - Quando il segnale su questo pin diventa basso, il contatore del programma viene impostato su zero, il bus viene dichiarato triplo e la MPU viene ripristinata. RESET OUT- Questo segnale indica che è in corso il ripristino della MPU. Il segnale può essere utilizzato per ripristinare altri dispositivi. RST 7.5, RST 6.5, RST 5.5 (Request interrupt)- Viene utilizzato per trasferire il controllo del programma in una posizione di memoria specifica. Hanno una priorità più alta dell'interrupt INTR. |
6 | Serial I/O ports | Il microprocessore 8085 ha due segnali per implementare la trasmissione seriale dei dati di ingresso seriale e dei dati di uscita seriale. |
Formato delle istruzioni
Ogni istruzione è rappresentata da una sequenza di bit all'interno del computer. L'istruzione è divisa in un gruppo di bit chiamato campo. Il modo in cui viene espressa l'istruzione è noto come formato di istruzione. Di solito è rappresentato sotto forma di scatola rettangolare. Il formato delle istruzioni può essere dei seguenti tipi.
Formati di istruzioni variabili
Questi sono i formati di istruzione in cui la lunghezza dell'istruzione varia in base agli specificatori di codice operativo e indirizzo. Ad esempio, l'istruzione VAX varia tra 1 e 53 byte mentre l'istruzione X86 varia tra 1 e 17 byte.
Formato
Vantaggio
Questi formati hanno una buona densità di codice.
Inconveniente
Questi formati di istruzioni sono molto difficili da decodificare e pipeline.
Formati di istruzioni fissi
In questo tipo di formato di istruzione, tutte le istruzioni hanno la stessa dimensione. Ad esempio, MIPS, Power PC, Alpha, ARM.
Formato
Vantaggio
Sono facili da decodificare e pipeline.
Inconveniente
Non hanno una buona densità di codice.
Formati di istruzioni ibridi
In questo tipo di formati di istruzione, abbiamo più lunghezze di formato specificate dal codice operativo. Ad esempio, IBM 360/70, MIPS 16, Thumb.
Formato
Vantaggio
Questi compromessi tra densità del codice e istruzioni di questo tipo sono molto facili da decodificare.
Modalità di indirizzamento
La modalità di indirizzamento fornisce diversi modi per accedere a un indirizzo a dati dati a un processore. I dati operati sono archiviati nella posizione di memoria, ogni istruzione richiede alcuni dati su cui deve operare. Esistono varie tecniche per specificare l'indirizzo dei dati. Queste tecniche sono chiamate modalità di indirizzamento.
Direct addressing mode- Nella modalità di indirizzamento diretto, l'indirizzo dell'operando viene fornito nell'istruzione e i dati sono disponibili nella posizione di memoria fornita nell'istruzione. Sposteremo questi dati nella posizione desiderata.
Indirect addressing mode- Nella modalità di indirizzamento indiretto, l'istruzione specifica un registro che contiene l'indirizzo dell'operando. È possibile accedere sia alla RAM interna che alla RAM esterna tramite la modalità di indirizzamento indiretto.
Immediate addressing mode- Nella modalità di indirizzamento immediato, i dati diretti sono dati nell'operando che sposta i dati in accumulatore. È molto veloce.
Relative addressing mode- Nella modalità di indirizzo relativo, l'indirizzo effettivo è determinato dalla modalità di indice utilizzando il contatore di programma al posto del registro del processore di uso generale. Questa modalità è chiamata modalità indirizzo relativo.
Index addressing mode- Nella modalità dell'indirizzo di indice, l'indirizzo effettivo dell'operando viene generato aggiungendo un valore di contenuto al contenuto del registro. Questa modalità è chiamata modalità dell'indirizzo di indice.