06.09.2013 Views

Digitale electronica en processoren Digitale electronica en ...

Digitale electronica en processoren Digitale electronica en ...

Digitale electronica en processoren Digitale electronica en ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7) Schuifoperaties<br />

Schuifoperaties<br />

Schuifoperaties Schuifoperaties : in e<strong>en</strong> reeks van n bits (woord, cijfer) verschuiv<strong>en</strong> we alle alle bits m po posities po<br />

sities naar<br />

links ‘’. Daarbij gaan dus telk<strong>en</strong>s m bits verlor<strong>en</strong> <strong>en</strong> word<strong>en</strong> er m nieuwe<br />

bits bits geïntroduceerd<br />

geïntroduceerd. geïntroduceerd We kunn<strong>en</strong> om 2 red<strong>en</strong><strong>en</strong> verschuiv<strong>en</strong><br />

verschuiv<strong>en</strong>, verschuiv<strong>en</strong><br />

afhankelijk vanwaar de nieuwe bits<br />

kom<strong>en</strong> :<br />

Logisch schuiv<strong>en</strong> : de nieuwe bits kom<strong>en</strong> van e<strong>en</strong> bijkom<strong>en</strong>de ingang ingang<br />

ingang<br />

Aritmetisch schuiv<strong>en</strong> :<br />

- naar naar links schuiv<strong>en</strong> betek<strong>en</strong>d m null<strong>en</strong> rechts erbijvoeg<strong>en</strong> erbijvoeg<strong>en</strong>,<br />

erbijvoeg<strong>en</strong><br />

- naar rechts rechts schuiv<strong>en</strong> betek<strong>en</strong>d m m bits links erbijvoeg<strong>en</strong> erbijvoeg<strong>en</strong>. erbijvoeg<strong>en</strong><br />

Deze toe te voeg<strong>en</strong> bits links hang<strong>en</strong><br />

af van wat voor getal het is : als we werk<strong>en</strong> met 2-complem<strong>en</strong>t<br />

complem<strong>en</strong>t moet<strong>en</strong> we zorg<strong>en</strong> dat het<br />

tek<strong>en</strong> behoud<strong>en</strong> blijft <strong>en</strong> moet<strong>en</strong> we dus tek<strong>en</strong>bits toevoeg<strong>en</strong> (MBS). Wanneer we werk<strong>en</strong> met<br />

sign sign-magnitude<br />

sign magnitude voeg<strong>en</strong> we null<strong>en</strong> bij.<br />

Deze verschuiving<strong>en</strong> zijn (aritmetrisch) verm<strong>en</strong>igvuldiging<strong>en</strong> met met 2 2m<br />

voor verschuiv<strong>en</strong> naar links<br />

<strong>en</strong> del<strong>en</strong> door 2 m voor verschuiv<strong>en</strong> naar links<br />

Roter<strong>en</strong> Roter<strong>en</strong> : We roter<strong>en</strong> e<strong>en</strong> inputreeks inputreeks van n bits m m posities naar links of rechts : dat betek<strong>en</strong>d dat we<br />

links m bits wegnem<strong>en</strong> <strong>en</strong> die rechts terug bijvoeg<strong>en</strong> of omgekeerd. Hierbij gaan ge<strong>en</strong> bits verlor<strong>en</strong> verlor<strong>en</strong>, verlor<strong>en</strong><br />

de bits die aan de <strong>en</strong>e kant afvall<strong>en</strong> word<strong>en</strong> er aan de andere kant bijgezet.<br />

Implem<strong>en</strong>tatie : Wanneer we e<strong>en</strong> 4-bit bit ingang<strong>en</strong> hebb<strong>en</strong>, hebb<strong>en</strong> we ook e<strong>en</strong> 4-bit bit uitgang uitgang. uitgang<br />

We<br />

hebb<strong>en</strong> ook 3 ingang<strong>en</strong> om om te stur<strong>en</strong> :<br />

S2 bepaald of er iet iets iet<br />

s s gedaan wordt wordt. wordt<br />

Wanneer die 0 is ingang gelijk aan uitgang.<br />

S1 kiest de richting waarin we gaan :<br />

0 voor links links <strong>en</strong> 1 voor rechts rechts. rechts<br />

S0 bepaald wat we do<strong>en</strong> :<br />

0 voor verschuiv<strong>en</strong> <strong>en</strong> 1 voor roter<strong>en</strong> roter<strong>en</strong>. roter<strong>en</strong><br />

E<strong>en</strong> ba barrel ba rrel rotator is e<strong>en</strong> rotator die e<strong>en</strong> met<br />

ingang<strong>en</strong> ingang<strong>en</strong> instelbaar instelbaar aantal aantal ker<strong>en</strong> ker<strong>en</strong> ker<strong>en</strong> naar e<strong>en</strong> vaste<br />

richting richting roteert. Bv. de 8-bit bit barrel left rotator<br />

roteerd de 8 bits van de ingang n keer naar<br />

links, waarbij we getal n kunn<strong>en</strong> instell<strong>en</strong> met<br />

de ingang<strong>en</strong> S0, S1 <strong>en</strong> S2, die binair het aantal<br />

keer draai<strong>en</strong> aanduid<strong>en</strong>.<br />

De implem<strong>en</strong>tatie gebeurt met multiplex<strong>en</strong> :<br />

S1 <strong>en</strong> S2 gaan telk<strong>en</strong>s naar de sturing van de<br />

MUX<strong>en</strong>, <strong>en</strong> zo wordt bepaald welk van de<br />

ingang<strong>en</strong> geselecteerd wordt als uitgang. In<br />

de blokk<strong>en</strong> M wordt via S0 (is 0 wanneer er<br />

verschov<strong>en</strong> wordt) bepaald of we het<br />

originele signaal nem<strong>en</strong> (roter<strong>en</strong>) of e<strong>en</strong><br />

externe input (verschuiv<strong>en</strong>).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!