Esercizio n. 7 - Microcodice

Похожие документы
Struttura del processore. Funzionamento del processore

Architettura degli elaboratori Tema d esame del 20/01/2016

Architettura degli elaboratori - CPU multiciclo A.A. 2016/17. Architettura degli elaboratori

Esercizi su microistruzioni. 1 Esercizi con architettura a 1 bus

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

1 Esercizi con architettura a 1 bus

L unità di controllo di CPU a singolo ciclo

Informatica 2 Esame di lunedì 11 Luglio 2005

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit

Corso di Laurea in Informatica Architetture degli Elaboratori

Elementi di informatica

CPU pipeline hazards

Struttura di programmi MAL Elementi lessicali

Il processore: unità di controllo

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti e connessioni. Capitolo 3

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Componenti principali

L'architettura del processore MIPS

Struttura di un elaboratore

Corso di Laurea in Informatica

CPU a ciclo multiplo

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Elementi base per la realizzazione dell unità di calcolo

Architettura di un processore basato su registri generali.

Componenti di un processore

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Realizzazione del controllo

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Il Processore: l unità di controllo

Sistemi di Elaborazione delle Informazioni

Architettura dei calcolatori

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1

Architettura degli Elaboratori

SISTEMI DIGITALI COMPLESSI

ISA (Instruction Set Architecture) della CPU MIPS

Architettura dei calcolatori

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Elaborazione dell informazione

Architettura di un calcolatore: Introduzione parte 2

Architettura dei Calcolatori Elettronici

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Architettura del calcolatore

DEC PDP8, III Generazione, '65-'75

Progetto CPU (ciclo singolo) Salvatore Orlando

Corso di Fondamenti di Informatica Elementi di Architettura

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Rappresentazione degli algoritmi

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Programmazione dello Z80

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

CPU. Maurizio Palesi

Elementi di informatica

Architettura dei Calcolatori elettronici

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Lezione n.9. Introduzione al linguaggio macchina

Architettura di una CPU

Architettura dei computer

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Транскрипт:

Esercizio n. 7 - Microcodice Lo schema riportato qui di fianco illustra l architettura di processore a bus singolo di riferimento. Si scriva il microcodice capace di eseguire la coppia di istruzioni seguenti: ADD (Rx), (Ry) ADD ((Rx)), (Ry) che si vogliono aggiungere all Instruction Set Architecture del processore. Esse calcolano la somma di due addendi interi da, con prodotto da. Le interpretazioni RTL sono le seguenti: linee di indirizzo bus di memoria linee di dato costante 4 PC MAR MDR V bus interno del processore ordini decodificatore di istruzioni e circuito di controllo IR R 0 [Ry] [[Rx]] + [[Ry]] select MUX [Ry] [[[Rx]]] + [[Ry]] Ciascuna istruzione ingombra esattamente una parola da. Si supponga che l unità di controllo sia di tipo microprogrammato. Si devono pertanto prevedere la fase di prelievo comune, i microsalti (denotati simbolicamente) necessari per analizzare ciascuna istruzione e le fasi di esecuzione; se queste hanno microcodice in comune, si cerchi di unificarle per quanto possibile. linee di comando della ALU add sub and A ALU R Z B riporto in ingresso R n 1 SP TEMP SI COMPILINO LE DUE TABELLE RIPORTATE A PAGINA SUCCESSIVA. SI BADI BENE CHE IL NUMERO DI RIGHE NON È SIGNIFICATIVO. Informatica 2 Esame di lunedì 7 Luglio 2005 Esercizio n. 1 -- pagina 14 di 18

µ ind. Operazione (in RTL) SOLUZIONE PIÙ OVVIA 0 MAR [PC], Z [PC] + 4, preleva 1 PC [Z], V [Z], attendi 2 IR [MDR] 3 decodifica codice operativo, se (modo = (Rx), ((Rx)).) và a µ ind. a, b a a + 1 a + 2 a + 3 (altro microcodice) MAR [Rx], leggi, attendi V [MDR] MAR [Ry], leggi, attendi Z [MDR] + [V] a + 4 MDR [Z], scrivi, attendi, finisci (o và a µ ind. 0) b (altro microcodice) MAR [Rx], leggi, attendi b + 1 MAR [MDR], leggi, attendi, và a µ ind. a + 1 µ ind. Ordini 0 PC out, MAR in, select 4, Z in, read, add 1 Z out, PC in, V in, WMFC 2 MDR out, IR in 3 decode opcode field of IR, if (mode = (Rx), ((Rx))) goto µ addr. a, b a a + 1 a + 2 a + 3 (altri microordini) Rx out, MAR in, read, WMFC MDR out, V in Ry out, MAR in, read, WMFC MDR out, select V, Z in, add a + 4 Z out, MDR in, write, WMFC, end (or goto µ addr. 0) b (altri microordini) Rx out, MAR in, read, WMFC b + 1 MDR out, MAR in, read, WMFC, goto µ addr. a + 1 Informatica 2 Esame di lunedì 7 Luglio 2005 Esercizio n. 1 -- pagina 15 di 18

C è un altra soluzione praticabile, di cui do solo la formualzione RTL µ ind. Operazione (in RTL) SOLUZIONE MENO OVVIA 0 MAR [PC], Z [PC] + 4, preleva 1 PC [Z], V [Z], attendi 2 IR [MDR] 3 decodifica codice operativo, và a µ ind. a (serve solo per integrare nel microprog. completo) (altro microcodice) a MAR [Rx], leggi, attendi, se (modo = (Rx), ((Rx)).) và a µ ind. a + 2, a + 1 a + 1 a + 2 a + 3 a + 4 MAR [MDR], leggi, attendi V [MDR] MAR [Ry], leggi, attendi Z [MDR] + [V] a + 5 MDR [Z], scrivi, attendi, finisci (o và a µ ind. 0) (altro microcodice) Si sfrutta il fatto che, comunque, il codice operativo dell istruzione è sempre in IR, e quindi lo si può rianalizzare ogniqualvolta serva per decidere come condizionare l esecuzione del microcodice, saltando parti o inserendo aggiunte. Questa seconda versione usa una microistruzione in meno della prima. Lista microordini, ovvia Informatica 2 Esame di lunedì 7 Luglio 2005 Esercizio n. 1 -- pagina 16 di 18

Esercizio n. 7 Microcodice di Istruzione Lo schema riportato qui di fianco illustra l architettura di processore a bus singolo di riferimento. Si scriva il microcodice dell istruzione seguente: JPL (R0), etichetta che si vuole aggiungere all Instruction Set Architecture del processore. L istruzione effettua un salto condizionato all indirizzo PC + etichetta se il contenuto della cella di memoria il cui indirizzo è presente in R0 è non negativo. Si suppone che l unità di controllo sia di tipo cablato e che la ALU abbia il comando test. Dando alla ALU tale comando, essa esamina il valore presente all ingresso B ed emette il bit di esito N secondo il segno di tale valore. Il formato dell istruzione è il seguente: si suppone di avere parole di memoria da 32 bit; l etichetta occupa una parola da 4 byte; pertanto la dimensione complessiva dell istruzione è di due parole da (una per il codice operativo e una per etichetta ). linee di comando della ALU linee di indirizzo bus di memoria select linee di dato add sub and costante 4 MUX A PC MAR MDR V ALU R Z bus interno del processore B riporto in ingresso ordini decodificatore di istruzioni e circuito di controllo IR R 0 R n 1 SP TEMP # passo ordini (il numero di righe non è significativo) 1 PC out, MAR in, select 4, Z in, read, add 2 Z out, PC in, V in, WMFC 3 MDR out, IR in 4 PC out, MAR in, select 4, Z in, read, add 5 Z out, PC in, V in, WMFC 6 MDR out, add, select V, Z in 7 R0 out, MAR in, read, WMFC 8 MDR out, test, if (N = 1) then end 9 Z out, PC in, end 10 11 12 Il bit di esito N è fornito direttamente dalla ALU a seguito del comando test. Informatica 2 Esame di lunedì 17 luglio 2006 - CON SOLUZIONI pagina 16 di 19

# passo ordini soluzione meno efficiente che usa il registro TEMP 1 PC out, MAR in, select 4, Z in, read, add 2 Z out, PC in, V in, WMFC 3 MDR out, IR in 4 PC out, MAR in, select 4, Z in, read, add 5 Z out, PC in, V in, WMFC 6 MDR out, TEMP in 7 R0 out, MDR in, read, WMFC 8 MDR out, test, if (N = 1) then end 9 TEMP out, select V, add, Z in 10 Z out, PC in, end 11 12 Rispetto alla prima soluzione occorre un ciclo in più, del tutto evitabile. N. B.: si badi bene che l unità di controllo è cablata, non micro-programmata (vedi libro di testo). Informatica 2 Esame di lunedì 17 luglio 2006 - CON SOLUZIONI pagina 17 di 19

Esercizio 4 - Microprogrammazione Prima parte Lo schema riportato qui di fianco illustra l architettura di processore a bus singolo di riferimento. Si scriva la sequenza di passi di controllo dell istruzione seguente: ADDMUL2 #costante, (SP) che si vuole aggiungere all Instruction Set Architecture del processore. Essa calcola la moltiplicazione per due del valore costante, dato come primo argomento (sorgente) e ne somma il risultato al secondo argomento, che è l elemento correntemente in cima alla pila, dato come secondo argomento (sorgente). Il prodotto viene sovrascritto in cima alla pila, la quale non muta in altezza; il secondo argomento funziona dunque anche come destinazione. La costante è lunga 31 bit e occupa una parola doppia da 4 byte, pertanto l ingombro complessivo dell istruzione è di due parole da (una parola di codice operativo e una parola aggiuntiva per la costante). Il registro SP individua il puntatore alla pila, e ovviamente l unità di controllo è capace di generare gli ordini SP in e SP out. La ALU può calcolare lo shift a sinistra di un bit e dispone dell ordine shiftsx (A o B) appropriato, pure generabile dalla unità di controllo. Si supponga che l unità di controllo sia di tipo cablato. linee di comando della ALU linee di indirizzo bus di memoria select linee di dato add sub and costante 4 MUX A PC MAR MDR V ALU R Z bus interno del processore B riporto in ingresso ordini decodificatore di istruzioni e circuito di controllo IR R 0 R n 1 SP TEMP Inoltre, siccome l istruzione ingombra due parole, la fase di prelievo può essere più complessa e lunga di quella standard per un istruzione ingombrante una sola parola; si rifletta bene su quale parte del prelievo sia quella standard e quale l eventuale aggiunta, e le si mettano in evidenza. SI COMPILI LA TABELLA SEGUENTE (il numero di righe non è significativo) Passo Ordini Operazione (in RTL) Fase 1 PC out, MAR in, select 4, Z in, read, add MAR [PC], Z [PC] + 4, leggi da mem. 2 Z out, PC in, V in, WMFC PC [Z], V [Z], attendi MFC 3 MDR out, IR in IR [MDR] 4 PC out, MAR in, select 4, Z in, read, add MAR [PC], Z [PC] + 4, leggi da mem. 5 Z out, PC in, WMFC PC [Z], attendi MFC prelievo parola di cod. op. e seq. I STANDARD prelievo par. agg. e seq. II AGGIUNTA 6 MDR out, V in V [MDR] 7 SP out, MAR in, read, selectv, shiftsxa, Z in MAR [SP], leggi da mem., Z shiftsx [V] 8 Z out, V in, WMFC Z [V], attendi MFC esecuzione 9 MDR out, select V, add, Z in Z [MDR] + [V] 10 Z out, MDR in, write, WMFC, end MDR [Z], scrivi in mem, attendi MFC, finisci 11 12 13 14 Informatica 2 Esame di lunedì 9 luglio 2007 CON SOLUZIONI pagina 11 di 15

COMMENTO: la parte standard del prelievo riguarda la prima parola dell istruzione, e deve essere uniforme per tutte le istruzioni giacché l unità di controllo non sa ancora quale sia l istruzione corrente; a partire dal passo 4 (compreso) il completamento del prelievo e l esecuzione sono liberamente specializzabili per l istruzione corrente; il prelievo della parola aggiuntiva si svolge come quello della parola di codice operativo; tuttavia, mentre l ordine V in al passo 2 è quanto meno molto opportuno in previsione che l istruzione sia di salto (anche se non è indispensabile, perché si potrebbe comunque rimediare più avanti seppure al prezzo di consumare più passi), al passo 4 non lo è certamente più perché ormai si sa che non è così. Seconda parte Si consideri l architettura del processore a 3 bus. Riscrivere i passi di controllo dell istruzione ADDMUL2 considerando quest architettura, supponendo che la ALU abbia a disposizione l ordine shiftsx e che esistano i registri SP e TEMP nel banco dei registri. Quale miglioramento si ottiene? bus R SI COMPILI LA TABELLA SEGUENTE (il numero di righe non è significativo) Passo Ordini Operazione (in RTL) 1 PCout, R = B, MARin, read, increment PC, WMFC MAR [PC], PC [PC] + 4, leggi, attendi 2 MDRoutB, R = B, IRin IR [MDR] 3 PCout, R = B, MARin, read, increment PC, WMFC MAR [PC], PC [PC] + 4, leggi, attendi 4 MDRoutB, shiftsxb, TEMPin TEMP shiftsx [MDR] 5 SPoutB, R = B, MARin, read, WMFC MAR [SP], leggi, attendi 6 MDRoutB, TEMPoutA, add, MDRin, write, WMFC, end MDR [MDR] + [TEMP], scrivi, attendi, fine 7 8 9 10 Si scende da 10 a 6 passi, con un guadagno del 40 %. Informatica 2 Esame di lunedì 9 luglio 2007 CON SOLUZIONI pagina 12 di 15