Datapath Controller for a Square Root Calculator To calculate z = ( x2 + y2 ) 1/2, where x, y, and z are unsigned integers, the expression z = max( a - a/8 + b/2, a) can be used, where a = max( x, y) and b = min( x, y). Recall that to divide an integer by 8 or by 2 all that is needed is to shift it to the right three positions or one position, respectively. Make the adjustments that you find necessary in the datapath of figure 5.13a (for example, include a shift-right option in one of the existing registers or in a new register at the ALU output), then devise a state machine that computes the square root above using that datapath.
![1480_fc7416cd-c8bd-4374-915a-61565ae93a2f.png](https://secure.tutorsglobe.com/CMSImages/1480_fc7416cd-c8bd-4374-915a-61565ae93a2f.png)