




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth analysis of binary division algorithms, specifically focusing on restoring and non-restoring methods. The concept of dividing a 64-bit dividend by a 32-bit divisor using shift registers and alus. It also explains the concept of restoring division, where the divisor is added back to the remainder if it becomes negative, and non-restoring division, where the remainder is added to the divisor instead. Examples and exercise sheets to help students understand the concepts.
Typology: Study notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!





CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 2
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 3
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 4
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 5
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 8
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 9
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 10
Iteration Divisor Hardware design 3, non-restoringStep Remainder 0 0010 initial values shift remainder left by 1^ 0000 01110000 1110 1 0010 remainder = remainder – divisor (remainder<0) ⇒ shift left; r0=0^1110 1101 110^11100 2 0010 remainder = remainder + divisor (remainder<0) ⇒ shift left; r0=0^1111 1111 100^11000 3 0010 remainder = remainder + divisor (remainder>0) ⇒ shift left; r0=1^0001 0011 000^10001 4 0010 remainder = remainder – divisor (remainder>0) ⇒ shift left; r0=1^0001 0010 001^00011 done 0010 shift “left half of remainder” right by 1^0001
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 11
Iteration Divisor Hardware design 3, non-restoringStep Remainder 0 initial valuesshift remainder left by 1 1 2 3 4 done shift “left half of remainder” right by 1
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 14
sign exponent significand (or mantisa)
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 15
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 16
sign 8-bit exponent 23-bit significand (or mantissa)
CS/CoE0447: Computer Organization and Assembly Language (^) University of Pittsburgh 17