You are on page 1of 26

CSN221:COMPUTERARCHITECTURE

ANDMICROPROCESSORS
Computer Arithmetic
(Lecture - 8)

Dr.Sudip Roy
CourseWebsite:http://faculty.iitr.ac.in/~sudiproy.fcs/csn221_2015.html
PiazzaSite:https://piazza.com/iitr.ac.in/fall2015/csn221

32bitALU(MultiOperationALU):
ConsiderAND,OR,NOR,ADD,Subtract,SLToperationsareimplemented

Dr.SudipRoy

Functioningof32bitALU:

Dr.SudipRoy

AnNbitALU:

Dr.SudipRoy

Comparator:

Dr.SudipRoy

Comparator:

Dr.SudipRoy

Comparator:

Dr.SudipRoy

Comparator:

Dr.SudipRoy

ShiftOperations:

Dr.SudipRoy

ShiftOperations:

Dr.SudipRoy

10

4bitBasicShifter:

S=00Noshift
S=01Rightshift
S=10Leftshift
Dr.SudipRoy

11

Shifter:

Dr.SudipRoy

12

SummarySoFar:

TheALU:acircuitthatcan
add,subtract,detectoverflow,SLT,compare,anddo
bitwiseoperations(AND,OR,NOT)
Shifter
Next:StorageElementslikeRegisters,Latches,Buses
Dr.SudipRoy

13

SequentialBuildingBlocks:(Flipflops,LatchesandRegisters

Dr.SudipRoy

14

DataLatch(Dlatch):

Dr.SudipRoy

15

DFlipFlop:

Dr.SudipRoy

16

RegisterusingDFlipFlops:

Dr.SudipRoy

17

BasicRegister:

Dr.SudipRoy

18

Computer Arithmetic: Algorithms for Arithmetic Operations


like Multiplication, Division, etc.

Dr.SudipRoy

19

BinaryMultiplication:
Multiplicationterms(recallschool):

Eachdigitinthemultiplierhasdifferentplacevalues
Thepartialproductisshiftedleftforeachconsecutivedigitinthemultiplier
UnsignedMultiplication:
Whentwonumbers,eachwbitslongaremultiplied,theresultcanbe2*wbitslong
Iftheresultalsoneedstobewbitslong,thenwbitsneedtobediscarded
ThewMostSignificantBits(MSBs)arediscarded
Dr.SudipRoy

20

BinaryMultiplication:
Algorithm:
Step1:CheckLSBofmultiplier
DecisionStep2:
If1,thenaddmultiplicandtoresult
If0,add0toresult

Step3:Shiftmultiplicandleftby1bit(Multiplyby2)
Step4:Shiftmultiplierrightby1bit
StopCondition:Repeatstepsfornumberofbitsinthemultiplier

Dr.SudipRoy

21

BinaryMultiplication:

Dr.SudipRoy

22

BinaryMultiplication:

Binarymultiplicationof
unsignedintegersreduces
toshiftandadd
Dr.SudipRoy

23

UnsignedMultiplication:
Straightforwardunsignedmultiplicationwillnotworkifeither(orifboth)the
multiplicandorthemultiplierarenegative
Ifthemultiplicandisnegative
thesignbitsinthepartialproductsdonotalign
thiscanbesolvedusingsignextension
Ifthemultiplierisnegative
the1sdonotcorrespondwiththeshifts
e.g.multiplyingby1101(3)shouldnothaveshiftsinthefirst,thirdand
fourthpartialproducts
Solution:
Determinesignofproductbasedonsignofmultiplicandandmultiplier
ANS=X*Y
ANSis+ve ifXandYhavethesamesignelseANSisve
Hence:
Convertmultiplier,multiplicandtopositivenumbers
tonegateanumber,complementthatnumberandadd1
Multiplyunsignednumbersasbefore
Notveryefficient
Computesign,convertproductaccordingly
approach
Dr.SudipRoy

24

SignExtension:
Convertinga2scomplementnumbertoalargerdatatype(shorttolong)
For+ve numbers,youcanpadasmany0stotheMSBasyouwantwithout
changingvalue
For2scomplement,inordertochangefrom4bitsto8bitsorfrom8bitsto16
bits,appendadditionalbitsontheleftsideofthenumber.Filleachextrabitwiththe
valueofthenumber'smostsignificantbit(thesignbit)

Dr.SudipRoy

25

Multiplication(withsignextension):

Dr.SudipRoy

26

You might also like