Come viene controllato il percorso dei dati tra ALU e registri?

0

Su alcune macchine l'operazione del percorso dati tra ALU e registri è controllata da un microprogramma. Su alcune macchine, è controllato da hardware. Sulle macchine con controllo software del percorso dati, il microprogramma è un interprete per le istruzioni a livello macchina. Recupera, esamina ed esegue le istruzioni una per una, utilizzando il percorso dati per farlo.

Ad esempio, per un'istruzione ADD, l'istruzione viene recuperata, i suoi operandi sono localizzati e portati nei registri, la somma calcolata dall'ALU e infine il risultato viene reindirizzato al punto di appartenenza. Su una macchina con controllo cablato del percorso dati, simile i passaggi avrebbero luogo, ma senza un programma memorizzato esplicito per controllare il interpretazione delle istruzioni a livello macchina.

Non riesco a ottenerlo se non ci sono microprogrammi nel secondo caso, allora come può l'hardware essere in grado di interpretare le istruzioni direttamente?

    
posta radhika 25.12.2016 - 17:52
fonte

1 risposta

2

Esiste un decodificatore di istruzioni che invia segnali di controllo a Mux, che sono interruttori che scelgono tra vari ingressi.

Tutti i transistor e le porte logiche sono sempre in funzione (modulo moderne tecniche di risparmio energetico), e il controllo necessario è semplicemente quello di dire alla CPU ciò che i gate e i segnali logici dell'hardware devono prestare attenzione o ignorare. Quindi, ignorando alcune porte e segnali, mentre si concentra su altri, ogni istruzione di codice macchina esegue la sua operazione.

Potremmo girarci e chiedere come funziona un motore di microcodice, quale logica gli permette di funzionare! La linea di fondo è che l'hardware è in fondo allo stack, non il software. Tuttavia, hardware e software condividono molte funzionalità simili.

L'hardware funziona con molte funzionalità disponibili simultaneamente, come add, sub ..., pathway e route, switch e abilitandole in modo selettivo e mirato.

L'hardware può memorizzare costanti in tabelle / matrici, strutture dati che possono essere consultate per il conteggio e le sequenze da eseguire per una data istruzione. I dati memorizzati potrebbero, ad esempio, essere un po 'o due per l'impostazione di ciascun mux sulla CPU.

In alcuni hardware, i singoli bit dell'istruzione guidano la logica cablata con poche tabelle di ricerca dedicate, mentre in altri hardware potremmo trovare più tabelle.

E mentre il microcodice è come una macchina all'interno di una macchina, è in un certo senso una struttura dati che viene utilizzata per cercare come eseguire un'istruzione (macro). Effettivamente ci sono dei compromessi che vanno dal cablaggio fisso e dai conteggi dei transistor più grandi agli approcci basati su tabelle, che traducono le prestazioni in termini di costo in termini di proprietà del silicio.

    
risposta data 25.12.2016 - 18:35
fonte

Leggi altre domande sui tag