Building an adder and multiplier with mips

Assignment Help Computer Engineering
Reference no: EM13682087

Part 1: Building an ADDER with MIPS

1. Understand the operation of subroutines in MIPS

2. Understand the operation of the stack

3. Manually manipulate the stack

4. Implement sub-routines in MIPS

5. Understand simple Mathematical operations and their relation to the hardwarePart 1: Building an ADDER with MIPS

1. A one-bit full adder simply consists of two XOR gates two AND gates and an OR gate. All of these are provided as MIPS instructions.

2. Suppose that you did not have the benefit of the ADD instructions, you will need to create your own full adder circuit

3. Design the algorithm for a single bit full-adder and implement it as a MIPS sub-routine

4. A single bit adder is not so useful, so using your full-adder algorithm, design the algorithm for a 32-bit adder with overflow detection and code this as a MIPS sub-routine

5. Compare your implementation with the standard ADD instruction

Part 2: Building a Multiplier with MIPS

1. Assuming that your MIPS language had no multiply instruction, you are going to create one using only the ADD, the logic instructions and the shift instructions

2. Use the multiplier design shown below (assume only positive values):

1854_Multiplier with MIPS.png

3. Design the algorithm for this multiplier

a. Use two temp registers to hold the Product, note that on shifting you will have to know what is shifted out of the top one to know what to shift into the bottom one

4. Implement this algorithm as a sub-routine in MIPS the others (using an AND)

a. Remember you need to access specific bits of a register, so you will need to mask out

b. You also need to set/reset specific bits, so again you can use a mask to do this

5. Estimate how long your sub-routine will take based on the instructions it must complete

6. Test your sub-routine against the built-in MIPS instruction

Part 3: Building a Divider with MIPS

1. Assuming that your MIPS language had no divide instruction, you are going to create one using

only the ADD, the logic instructions and the shift instructions

2. Use the divider design shown below (assume only positive values):

2150_Divider with MIPS.png

3. Design the algorithm for this divider

a. Use two temp registers to hold the Remainder

4. Implement this algorithm as a sub-routine in MIPS

a. Remember you need to access specific bits of a register, so you will need to mask out the others (using an AND)

b. You also need to set/reset specific bits, so again you can use a mask to do this (using an OR)

5. Estimate how long your sub-routine will take based on the instructions it must complete

6. Test your sub-routine against the built-in MIPS instruction

Part 4: Handling Floating Point

Many early systems did not include hardware to handle floating point. Today many still include it as a co-processor, FPU (Floating Point Unit).

1. Assuming that your MIPS language had no co-processor for floating point

2. Use the design shown below for a floating point adder (assume only positive values):

1812_Handling Floating Point.png

3. Design the algorithm for this adder

4. Implement this algorithm as a sub-routine in MIPS

5. Estimate how long your sub-routine will take based on the instructions it must complete

6. Test your sub-routine against the built-in MIPS instruction

Reference no: EM13682087

Questions Cloud

Determine the net force on the rectangular loop : Determine the net force on the rectangular loop of wire that is 2 centimeter wide, 6 centimeter long, and is placed 2 centimeter from a long
What is the tension in the rope : Consider a beam that is 2 meter long and supported by a rope. It is pressed against the wall. There is no friction between the beam and the wall. Determine what is the tension in the rope
Estimate the mutual inductance of the solenoids : One solenoid is centered inside another. The outer one has a length of 55 centimeter and contains 6800 coils, Estimate the mutual inductance of the solenoids
Manufacturing overhead applied : Manufacturing overhead applied
Building an adder and multiplier with mips : Design the algorithm for this adder, implement this algorithm as a sub-routine in MIPS and estimate how long your sub-routine will take based on the instructions it must complete
Estimate what is the value of the inductor : A switch, an inductor and a 68.0 Ω resistor are connected in series across an ideal battery E = 9.0 Volt. Estimate what is the value of the inductor
Obtain the object and image distance : The distance between an object and its image formed by a diverging lens is 49.3 centimeter. The focal length of the lens is -223.5 centimeter. Obtain the image distance
Prepare a bank reconciliation going from balance per bank : (a) Prepare a bank reconciliation going from balance per bank and balance per book to correct cash balance.
Determine the normal force acting on the acrobat : Four acrobats of mass 70 kilogram, 68 kilogram, 62 kilogram, and 55 kilogram form a human tower, Obtain the normal force acting on the 70-kg acrobat

Reviews

Write a Review

Computer Engineering Questions & Answers

  Write down a c program function which takes the values of a

write a c program function that takes the values of a two-card blackjack hands as input and returns the point total of

  You have been hired by a big company with branch offices

you have been hired by a large company with branch offices around the country to assist with rollout of a new

  Make a menu bar with a file menu

make a menu bar with a File menu that includes a Perform Action command and an Exit command. The Perform Action command computes either the sum or average of the rows or columns in the array and displays the result in a message box. The Exit comma..

  What continues a well-maintained system

What continues a well-maintained system, in terms of function utility, and reliability and how does the truely effective SysAdmin ensure sucess?

  Write down three separate simple exception handlers

Write down three separate simple exception handlers, one for dividing by zero, another for attempting to open a nonexistent file, and the last for an array out-of-bounds check.

  Mapping the cache organization

A computer has a memory of 16 blocks, 32 bytes each, and a cache of 8 blocks, which blocks may be read from the block No. 5 in the cache, if the system utilizes: Fully associative the mapping cache organization.

  How to maintain the list of cd/dvds

How to maintain the list of CD/DVDs.

  Examine how social media gives a competitive advantage for

analyze how social media provides a competitive advantage for an organizations web strategy given that many companies

  What sorts of network servers and resources

What sorts of network servers and resources.

  Board of your business it network for discussion

In another year, after all projects are completed, you plan to convert back to a volunteer basis with AllTechComm, and to find out more profitable employment, preferably with a major corporation. You are doing all of the research and networking yo..

  Questionyou use a 1 ghz system with paged virtual memory

questionyou use a 1 ghz system with paged virtual memory for doing a real-time application. no other application is

  Write down one method containing string manipulations

Program should include a method for each element. Write one method containing String manipulations, one that includes if-else statements, and one that includes a switch.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd