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.