[Architettura degli elaboratori e delle reti] Quesiti ed esercizi vari Clicca QUI per vedere il messaggio nel forum |
drakend |
Apro questo thread perché, mi pare, che in area informatica non ce ne sia nessuno dedicato esplicitamente a quesiti ed esercizi vari di architettura. Così almeno non ci si disperde in diecimila thread. :) |
drakend |
Comincio subito io! :)
Ho un dubbio sulla condizione di overflow del MIPS riassunta in questa tabella:
![](http://drakend.altervista.org/temp/Overflow.jpg)
La mia perplessità riguarda le condizioni di overflow riguardanti la differenza. Sono nell'ipotesi che il primo operando debba essere maggiore del secondo? No perché se no non capisco come mai ci sia overflow nei casi indicati nella tabella. |
drakend |
Perché la funzione logica che rappresenta la seguente tabella di verità dell'uscita CarryOut del sommatore della ALU:
è così:
CarryOut=(b*CarryIn)+(a*CarryIn)+(a*b)
Non mi è chiaro perché, nel primo operando, ad esempio, non si neghi a dato che vale 0 e questo viene semplicemente omesso.
Il dubbio mi è venuto osservando la funzione dell'uscita Somma del sommatore ALU:
Perché qua i componenti che valgono 0 vengono invece negati, invece di essere semplicemente ignorati come nel caso della funzione di uscita CarryOut? |
Gusher |
Nel primo caso (di sottrazione):
+a-(-b) quindi = +a+b hai un risultato <0 come nel primo caso di addizione A+B (con A >= 0 e B >=0)
Nel secondo caso di sottrazione(di sottrazione):
-a-(+b) = (-a) - b hai un risultato >=0 (come nel secondo caso di addizione: (-a)+(-b) >=0) |
Gusher |
Riguardo al CarryOut, IMHO non vengono considerati gli "zeri" in quanto anche se avessi un "1" al posto dello zero, avresti cmq. già "abbastaza" per rilevare il carry.
Mi spiego:
CarryOut=(b*CarryIn)+(a*CarryIn)+(a*b) (quello scritto sul libro)
nel caso avevessi a=1 oppure a=0
(nella prima delle 4 righe che danno 1) è indifferente, in quanto il carry dovrà cmq. essere propagato! E' per questo che difatti l'ultima riga (con tutti "1") non viene considerata.
spero di essermi spiegato :-D |
Flyzone |
Mi aggiungo alle richieste....
alla domanda "Come si trovano gli indirizzi fisici?" come rispondereste?
Di sicuro riguarda la memoria virtuale (P.510), ma non sò dare una risposta completa.. mi viene solo qualcosa riguardo alla traduzione dell'indirizzo virtuale generato dalla cpu, in indirizzo fisico (di mem. o di disco): la parte del numero di pagina virtuale viene tradotto, mentre l'offset interno rimane lo stesso.
Però non mi piace come definizione :sad:
Accetto suggerimenti :D |
Polo |
Non ho capito bene la tua domanda:
intendi "Come si traducono gli indirizzi fisici da quelli virtuali?" |
Flyzone |
Originally posted by Polo
Non ho capito bene la tua domanda:
intendi "Come si traducono gli indirizzi fisici da quelli virtuali?"
Si, credo sia questa (la domanda che dicevo si trova appunto nell'area filez, bisognerebbe chiedere a chi le ha scritte :asd: ) |
Polo |
Ho letto la domanda nell'area file da quello che ho capito mi sembra che voglia che tu parli di tutta la parte sulla risoluzione degli indirizzi che sul libro si trova nel cap 7.(Gerarchie memoria.hit&miss,ecc...).
Mi potreste dare conferma delle risposte a queste due domande due domande:
"cos'è l'assembler": è l'assemblatore non il linguaggio giusto?(il linguaggio è l' "assembly")
"quale istruzione NON usa la ALU": nessuna giusto?
grazie a chi mi da una conferma |
Gusher |
"cos'è l'assembler":
Solitamente viene usato come alias di assembly, ma effettivamente l'assemblatore ha il compito di creare file oggetto da assembly -> istruzioni macchina.
"quale istruzione NON usa la ALU":
La Jump non usa la ALU.
L'indirizzo viene calcolato moltiplicando per 4 (shift di 2 bit a sx) e rimpiazza i 28 bit meno significativi del program counter.
scià |
Polo |
mmm... ottimo tutte sbagliate
mi faccio sempre ingannare dalle domande trabocchetto
grazie cmq |
|
|
|