Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Esercizi Esame 2008


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 31 risposta/e

#1
kandle

kandle

    Advanced Member

  • Utente
  • StellaStellaStella
  • 155 Messaggi:
Stavo pensando che possiamo svolgere gli esercizi che il prof ha proposto e a mano a mano postarli qui. Così possiamo confrontarci, correggerci, ecc...
Che ne pensate?
Comincio io con quelli relativi al processore MIPS (forse i più facili :D )


Quel bravo ragazzo...

The Kandle Space!

#2
kandle

kandle

    Advanced Member

  • Utente
  • StellaStellaStella
  • 155 Messaggi:
Continuo con quelli relativi all'Algebra di Boole (la minimizzazione di funzioni booleane) :cool:
Quel bravo ragazzo...

The Kandle Space!

#3
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
Riguardo gli esercizi sul MIPS:

1) nella figura 5.28 i segnali di controllo PCWrite, PCWriteCond, e lo Zero proveniente dalla ALU sono collegati in AND e OR; leggendo poi la descrizione del funzionamento si capisce il perchè di questa implementazione, e dà a capire che per poter scrivere nel PC il segnale PCWrite, ad esempio, deve essere alto; però questo non è coerente con la tabella in figura 5.29 dove dice che dev'essere basso! Se veramente dev'essere basso, la OR andrebbe sostituita con una NOR e anche il segnale Zero dovrebbe essere attivo al livello basso... c'è qualcosa che nn va o_O

2) l'istruzione JR è un'istruzione di salto, ma non è in formato-J bensì in formato-R; pertanto i passi per la sua esecuzione sono gli stessi di add, sub ecc.

3) perchè in alcuni casi viene specificato che un segnale di controllo è a 0 oppure a 1 mentre in certi altri casi no??? :huh:
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#4
ntt

ntt

    Member

  • Utente
  • StellaStella
  • 19 Messaggi:
Qualcuno potrebbe postare quelli sui dispositivi di ingresso uscita...? Avrei almeno bisogno di capire cosa studiare per essere in grado di svolgerli.....Su quale libro si trova qualcosa?Grazie a tutti.

#5
ntt

ntt

    Member

  • Utente
  • StellaStella
  • 19 Messaggi:
@ blackjack:

1) La tabella di figura 5.29 è semplicemente sbagliata....ho guardato molto velocemente quindi ricontrolla, però mi pare di vedere ke se inverti i "titoli" delle colonne (effetto quando asserito ed effetto quando non asserito) tutto funziona bene.

2)sono daccordo con te.

3)I segnali di controllo ke vengono specificati a 0 o a 1 sono esclusivamente (com'è logico) quelli ke pilotano i mux.Gli altri basta citarli per capire ke devono essere asseriti.Inoltre, in ogni stadio del grafo dove vengono descritti i segnali di controllo per ogni tipo di istruzione ( dalla 5.32 alla 5.38) vengono citati solo i segnali di controllo eslusivamente necessari al funzionamento corretto.Gli altri non citati sono da considerarsi non definiti (controlla sempre perkè ho fatto tutto di fretta!).

....Qualcuno sull'I/0......


Ciao.

#6
kandle

kandle

    Advanced Member

  • Utente
  • StellaStellaStella
  • 155 Messaggi:
Esercizio relativo al processore Motorola:

dbgt R1, label

Fase di prelievo
ciclo 0: PCout, MARin, read, select4, add, Zin;
ciclo 1: Zout, PCin, Vin, WMFC;
ciclo 2: MDRout, IRin;
Fase di decodifica ed esecuzione

ciclo 3: offset_field_of IRout, select V, add, Zin, if (Z v (N OResclusivoV) = 1) then end;
Fase di scrittura del risultato
ciclo 4: Zout, PCin, end;

E questo è fatto, però non riesco a fare l'altro sempre relativo al Motorola, tra l'altro non ricordo nemmeno cosa fa l'istruzione:

add (PC,R1), R2

Qualcuna che mi aiuta? :huh:
Quel bravo ragazzo...

The Kandle Space!

#7
lucacali87

lucacali87

    Advanced Member

  • Visitatore
  • StellaStellaStella
  • 159 Messaggi:
sul motorola non posso aiutarti perchè ho fatto gli esercizi sul mips e sono fin troppo semplici
Io volevo chiedere se qualcuno aveva fatto gli esercizi sulle macchine aritmetiche perchè su nessuno dei due libri(hamacher e reti logiche) ho trovato ciò che serve,per quanto riguarda il fan in ,per il sommatore veloce a riporto anticipato.Help se potete postare tutti gli esercizi sulle macchine aritmetiche ve ne sarei grato...grazie

#8
lucacali87

lucacali87

    Advanced Member

  • Visitatore
  • StellaStellaStella
  • 159 Messaggi:
sono riuscito a fare ,grazie all'hamacher ,gli esercizi 3 e 4 ,ma i primi due sugli addizionatori no.Qualcuno li ha fatti?

#9
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
ho un dubbio sugli addizionatori carry-look-ahead... sugli appunti mi ritrovo scritt oche un CLA può funzionare al massimo con 8 bit... però dappertutto ho trovato che il massimo è di 4 bit (con un fan-in delle porte massimo di 4). Era il professore ad essersi sbagliato, sono io che ho sbagliato a scrivere oppure veramente si può realizzare un CLA ad 8 bit? (ci vorrebbe un fan-in di 8!!!)
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#10
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:

Esercizio relativo al processore Motorola:

dbgt R1, label

Fase di prelievo
ciclo 0: PCout, MARin, read, select4, add, Zin;
ciclo 1: Zout, PCin, Vin, WMFC;
ciclo 2: MDRout, IRin;
Fase di decodifica ed esecuzione

ciclo 3: offset_field_of IRout, select V, add, Zin, if (Z v (N OResclusivoV) = 1) then end;
Fase di scrittura del risultato
ciclo 4: Zout, PCin, end;

E questo è fatto, però non riesco a fare l'altro sempre relativo al Motorola, tra l'altro non ricordo nemmeno cosa fa l'istruzione:

add (PC,R1), R2

Qualcuna che mi aiuta? :huh:


ma dove l'hai trovata l'istruzione dbgt??? :help:
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#11
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
allora ho trovato l'istruzione dbgt e praticamente è un salto condizionato con una strana condizione. La mia interpretazione è che se [R1] <= [PC] decrementa [R1] e se il nuovo valore di [R1] è diverso da -1 esegue il salto all'indirizzo contenuto in "label"... in poche parole:


dbgt R1, label

Fase di prelievo dell'istruzione
ciclo 0: PCout, MARin, Vin, select 4, read, add #invia l'ordine di lettura in memoria e incrementa PC
ciclo 1: Zout, PCin, Vin, WMFC #il nuovo valore viene salvato in PC e nel registro V e si mette in attesa che arrivi il dato richiesto alla memoria
ciclo 2: MDRout, IRin #l'istruzione viene raccolta e inserita nel registro IR

Fase di decodifica ed esecuzione
ciclo 3: R1out, select V, sub, if (Z v (NoresclusivoV)) = 0 then end # sottrae [PC] a [R1] e se il valore ottenuto è <= 0 continua, altrimenti va all'istruzione successiva
ciclo 4: R1out, select 1, sub #decrementa R1
ciclo 5: R1in, Zout, select 1, add, if (Z=1) then end #salva il risultato in R1 e se [R1] = -1 va all'istruzione successiva
ciclo 6: select V, OFFSET_FIELD_OFIRout, add #somma [PC] alla label

Fase di scrittura del risultato
ciclo 7: PCin, Zout, end

però c'è anche un'altra interpretazione... e se il confronto va fatto tra R1 e la label? forse ha più senso...

dbgt R1, label

Fase di decodifica ed esecuzione
ciclo 3: OFFSET_FIELD_OFIRout, Vin
ciclo 4: R1out, select V, sub, if (Z v (NoresclusivoV)) = 0 then end # sottrae label a [R1] e se il valore ottenuto è <= 0 continua, altrimenti va all'istruzione successiva
ciclo 5: R1out, select 1, sub #decrementa R1
ciclo 6: R1in, Zout, select 1, add, if (Z=1) then end #salva il risultato in R1 e se [R1] = -1 va all'istruzione successiva
ciclo 7: select V, PCout, add #somma [PC] alla label

Fase di scrittura del risultato
ciclo 8: PCin, Zout, end

secondo me l'altra istruzione sta a significare che deve fare una somma tra PC e il registro R1 per ricavare l'indirizzo di memoria dell'addendo che va sommato ad R2. Il risultato viene scritto in R2.


add (PC, R1), R2

Fase di prelievo dell'istruzione
ciclo 0: PCout, MARin, Vin, select 4, read, add #invia l'ordine di lettura in memoria e incrementa PC
ciclo 1: Zout, PCin, Vin, WMFC #il nuovo valore viene salvato in PC e nel registro V e si mette in attesa che arrivi il dato richiesto alla memoria
ciclo 2: MDRout, IRin #l'istruzione viene raccolta e inserita nel registro IR

Fase di decodifica ed esecuzione
ciclo 3: R1out, select V, add #somma [R1] a [PC]
ciclo 4: Zout, MARin, read, WMFC #invia l'ordine di lettura in memoria e attendi il riscontro
ciclo 5: MDRout, Vin #il dato preso dalla memoria viene salvato nel registro Vin
ciclo 6: R2out, select V, add #somma il valore in Vin con [R2]

Fase di scrittura del risultato

ciclo 7: Zout, R2in, end #il risultato viene scritto in R2

spero che se ho sbagliato qualcosa qualcuno mi corregga prima dell'esame... ho il cervello fuso... buonanotte :fun:
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#12
lucacali87

lucacali87

    Advanced Member

  • Visitatore
  • StellaStellaStella
  • 159 Messaggi:
quando negli esercizi d'esame chiede l'interfaccia serie-parallelo intende chiedere il disegno dello schema a blocchi di una interfaccia seriale?(che logicamente il libro non porta ma porta solo la parallela :badmood: )

#13
palopo2204

palopo2204

    Advanced Member

  • Utente
  • StellaStellaStella
  • 107 Messaggi:
Qualcuno potrebbe postarmi gli esercizi dei dispositivi I/O,sulle macchine aritmetiche?
Oppure dirmi dove posso trovare la spiegazione di come si fanno.
Grazie
ciao

#14
lucacali87

lucacali87

    Advanced Member

  • Visitatore
  • StellaStellaStella
  • 159 Messaggi:
magari..mi sa che nessuno ha molto chiaro come si fanno.
Io sto tentando di fare il primo del sito del proessore.Ho ipotizzato uno schema simile a quallo sull'hamacher a pag 175 sugli interrupt annidati.Ho allora pensato di aggiungere questa spiegazione:
Quando un dispositivo vuole lanciare una interrupt pone il suo f.f. RINT ad 1.L'interruzione però sarà lanciata solo se anche il f.f. MINT sarà 1.Il problema è questo:il prof richiede che non può essere settato INT a 1 se il dispositivo ha priorità inferiore a quella corrente.Però almeno nel primo caso è necessario.Tramite il circuito di arbitraggio viene accettata la richiesta solo del dispositivo con priorità maggiore di quella corrente.A questo punto il processore pone a 0 tutti i f.f. MINT dei dispositivi a piorità inferiore e può lanciare l'interruzione.
Ora non so se può servire anche una linea INTR con cui il processoreiinvia alla periferica un segnale di riscontro,fose non serve se si usa una interrupt vettorizzato.HELP :beg:

#15
lucacali87

lucacali87

    Advanced Member

  • Visitatore
  • StellaStellaStella
  • 159 Messaggi:
Se qualkuno capisce qualkosa su queste eccezioni o meglio ha qualke esercizio svolto se lo posta fa un enorme piacere,tnx

#16
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
io l'ho fatto, in maniera diversa.

Per prima cosa ho messo in corrispondenza di ogni coppia MINT, RINT una porta AND, in questo modo la periferica genera una richiesta di interruzione solo se è abilitata a farlo.

Poi le uscite di tutte le AND sono collegate ad un multiplexer, e da un altro lato sono messe tutte in OR.
L'uscita di questa OR arriva dentro una rete che ho chiamato abbastanza creativamente "CONTROLLO" che ha il compito, quando si verifica la richiesta di interruzione, di capire quale periferica ha richiesto l'interruzione e controllarne la priorità. Sto supponendo che la priorità sia associata alla linea alla quale è collegata la periferica, altrimenti avrei potuto supporre l'esistenza di altri flip-flop nel registro di stato di ogni periferica che contengono la priorità della periferica stessa.

Comunque, questa rete scandisce tutte le periferiche controllando opportunamente il multiplexer che ho descritto sopra, utilizzando un contatore a 3 bit che parte da 111 e decrementa fino a 000. In questo modo ad ogni linea viene associato biunivocamente un codice di 3 bit. Quest'operazione viene eseguita finchè non si trova la prima periferica che ha richiesto l'interruzione, che è quella con priorità più alta rispetto a tutte quelle che l'hanno richiesta in quel momento. A questo punto, viene confrontato il codice fornito dal contatore con il livello di priorità attuale e se il primo è maggiore del secondo viene inviato il segnale INT al processore e vengono aggiornati i 3 bit del suo registro di stato.

Per come è fatto, questo sistema non agisce direttamente sui flip-flop MINT, si limita solo a confrontarne il contenuto con RINT. Sto supponendo che sia il processore eventualmente a settarli o a resettarli.
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#17
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
secondo me non c'è bisogno di nessun segnale di riscontro da parte del processore, perchè questa rete si deve limitare a generare il segnale di interruzione. Poi sarà il processore ad inviare il segnale di riscontro direttamente alle periferiche (magari messe in daisy-chain) le quali porranno RINT a 0 e inizieranno la procedura per la gestione dell'interruzione
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#18
lucacali87

lucacali87

    Advanced Member

  • Visitatore
  • StellaStellaStella
  • 159 Messaggi:
io ho supposto così perchè non credo che nello schema a blocchi si debbano mettere le porte o altro.Cmq ho capito che l'esercizio di input output difficilmente lo farò,anche perchè nn ce ne sono fatti ne tantomeno ne abbiamo fatti in classe.Se per piacere li hai fatti poi postarli anche senza spiegazione ,almeno per farmi un'idea ,grazie

#19
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
ho fatto solo il primo. Non ho lo scanner purtroppo. Cmq la mia soluzione fa un pò schifo...
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#20
lucacali87

lucacali87

    Advanced Member

  • Visitatore
  • StellaStellaStella
  • 159 Messaggi:
io gli altri due li ho solo letti.Quando kiede le macchine elementari cosa intende?Sto uscendo pazzo con queste i/o e devo ancora fare le sequenziali,possibile che nn ci sia un'esercizio sull'i/0,ho cercato ovunque :doh:




Leggono questa discussione 2 utenti

0 utenti, 2 ospiti, 0 utenti anonimi