|
Gehur |
CPU singolo ciclo BRANCH |
13-06-2007 09:45 |
|
|
Gehur |
.grande:maestro.
Registered: Apr 2006
Posts: 519 (0.08 al dì)
Location: Milano
Corso: Informatica
Anno:
Time Online: 3 Days, 0:41:42 [...]
Status: Offline
Edit | Report | IP: Logged |
CPU singolo ciclo BRANCH
Nell' istruzione branch l'indirizzo di salto è calcolato in 2 passi
1 - calcolo dello spiazzamento in byte: offset*4
2 - somma base+offset
non capisco a cosa serve moltiplicare l'offset per 4, chi me lo spiega???
Last edited by Gehur on 19-03-2008 at 12:26
|
13-06-2007 09:45 |
|
|
| |
|
Skilotto83 |
mi pare che moltiplicare per 4 sia lo stesso che s ... |
13-06-2007 10:20 |
|
|
Skilotto83 |
..Energia positiva...
Registered: Jun 2003
Posts: 1608 (0.20 al dì)
Location: Arconate
Corso: Informatica
Anno: LAUREATO!!!
Time Online: 15 Days, 6:32:44 [...]
Status: Offline
Edit | Report | IP: Logged |
mi pare che moltiplicare per 4 sia lo stesso che shiftare a sx di due..che è quello che devi fare...
__________________
"Why, Sir, you find no man at all intellectual who is willing to leave London.
No, Sir, when a man is tired of London, he is tired of life; for there is in London all that life can afford."
(DR SAMUEL JOHNSON 1777)
MSN andrea.poretti(at)hotmail.it
|
13-06-2007 10:20 |
|
|
| |
|
Gehur |
ma perchè devo shiftare?? ... |
13-06-2007 11:37 |
|
|
Gehur |
.grande:maestro.
Registered: Apr 2006
Posts: 519 (0.08 al dì)
Location: Milano
Corso: Informatica
Anno:
Time Online: 3 Days, 0:41:42 [...]
Status: Offline
Edit | Report | IP: Logged |
ma perchè devo shiftare??
|
13-06-2007 11:37 |
|
|
| |
|
Skilotto83 |
ops..
... |
13-06-2007 12:49 |
|
|
Skilotto83 |
..Energia positiva...
Registered: Jun 2003
Posts: 1608 (0.20 al dì)
Location: Arconate
Corso: Informatica
Anno: LAUREATO!!!
Time Online: 15 Days, 6:32:44 [...]
Status: Offline
Edit | Report | IP: Logged |
ops..
non era quello il motivo..
La moltiplicazione per 4 la fai perchè l'offset ti viene fornito in byte e tu devi calcolare un nuovo indirizzo e per fare cio' hai bisogno i bit che poi sommerai al base..
__________________
"Why, Sir, you find no man at all intellectual who is willing to leave London.
No, Sir, when a man is tired of London, he is tired of life; for there is in London all that life can afford."
(DR SAMUEL JOHNSON 1777)
MSN andrea.poretti(at)hotmail.it
|
13-06-2007 12:49 |
|
|
| |
|
Gehur |
ma perchè nel calcolare l'indirizzo di una lw non ... |
13-06-2007 19:20 |
|
|
Gehur |
.grande:maestro.
Registered: Apr 2006
Posts: 519 (0.08 al dì)
Location: Milano
Corso: Informatica
Anno:
Time Online: 3 Days, 0:41:42 [...]
Status: Offline
Edit | Report | IP: Logged |
ma perchè nel calcolare l'indirizzo di una lw non avviene la moltiplicazione per 4 ma solo l'addizione
ps:
so che non è fondamentale per passare l'esame ma volevo capire
e poi un altra cosa nelle cpu pipeline quando si parla di forwarding per le criticità di dati, in un primo esempio preleva i dati all' inizio di mem, nel secondo esempio alla fine di mem, ma allora dove si trovano sti dati? a me sembra sensato all' inizio di mem, cioè alla fine di ex
|
13-06-2007 19:20 |
|
|
| |
|
wizard |
Beh, l'indirizzo normalmente si riferisce al singo ... |
14-06-2007 09:44 |
|
|
wizard |
.artista.
Registered: Jan 2007
Posts: 18 (0.00 al dì)
Location:
Corso: Informatica
Anno: 3
Time Online: 4:02:39 [...]
Status: Offline
Edit | Report | IP: Logged |
Beh, l'indirizzo normalmente si riferisce al singolo byte. Lavorando però con istruzioni word a 32 bit (1 word = 4 bytes) possiamo solo effettuare spostamenti su locazioni che siano multipli di 4. La base lo è già per definizione quindi:
(esempio)
base = indirizzo 200 (multiplo di 4)
vogliamo saltare di 10 istruzioni perché il branch richiede l'undicesima: 10 * 4 = 40
prossima locazione = 200 + 40 = 240 (esattamente + 10 istruzioni da 4 bytes cad.)
Per quanto riguarda il forwarding non ho capito di quale esempio stai parlando (se sul libro di Patterson/Hennessy o sugli appunti). Comunque, come c'é scritto negli appunti, l'informazione che serve all'istruzione successiva è disponibile all'uscita della ALU, prima della sua collocazione in MEM.
Diverso è per lo stallo, in cui per effettuare una LW bisogna ovviamente leggere prima la MEM
ciaoo
|
14-06-2007 09:44 |
|
|
| |
|
Gehur |
mi riferivo alle slide, sei stato chiaro , dovrei ... |
14-06-2007 10:54 |
|
|
Gehur |
.grande:maestro.
Registered: Apr 2006
Posts: 519 (0.08 al dì)
Location: Milano
Corso: Informatica
Anno:
Time Online: 3 Days, 0:41:42 [...]
Status: Offline
Edit | Report | IP: Logged |
mi riferivo alle slide, sei stato chiaro , dovrei aver risolto tutto dopo magari lo rileggo, grazie!
ok capito tutto...
Last edited by Gehur on 14-06-2007 at 19:17
|
14-06-2007 10:54 |
|
|
| |
|
truffy |
Re: CPU singolo ciclo BRANCH |
19-03-2008 09:41 |
|
|
truffy |
.novellino.
Registered: Mar 2008
Posts: 2 (0.00 al dì)
Location: avellino
Corso: Informatica
Anno: 5
Time Online: 0:27:45 [...]
Status: Offline
Edit | Report | IP: Logged |
Re: CPU singolo ciclo BRANCH
Salve qualcuno sa dirmi quanti cicli di clock sono necessari per l'esecuzione di beq e j in un' unità a ciclo singolo e a ciclo multiplo.
Originally posted by Gehur
Nell' istruzione branch l'indirizzo di salto è calcolato in 2 passi
1 - calcolo dello spiazzamento in byte: offset*4
2 - somma base+offset
non capisco a cosa serve moltiplicare l'offset per 4, chi me lo spiega???
|
19-03-2008 09:41 |
|
|
| |
|
All times are GMT. The time now is 16:18. |
|
|
|
|
|
|
|
| |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|