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

  Deploying the 4-to-16 decoder

Develop the 4-to-16 decoder utilizing these elements. You should not utilize any additional elements.

  Gem infosys a small software company has decided to better

gem infosys a small software company has decided to better secure its computer systems after a malware attack shut

  Based on the assigned materialsnbspwrite a paper answering

based on the assigned materialsnbspwrite a paper answering the following questions.how can an it system initially help

  Prepare a flowchart and give the corresponding pseudocode

respond to the following about arrays and their implementations1 describe an array and its various implementations.2

  Create a class called song that has 3 attributes-title

Create a class called Song that has 3 attributes-title, artist, and price (which will be entered later as either 0.99 or 1.49). It should contain 2 constructor methods, all the necessary set and get methods, and a "toString" method that prints the..

  Define the advantages and disadvantages of these metrics

Research at least one possible metric (Business or Technology) that you will use in a project plan for a "Customer Relationship Management Software Development. define the advantages and disadvantages of these metrics

  What is total capacity of a track

What is total capacity of a track

  What are the kinds of information systems

What are the kinds of information systems

  Write down a for loop which will display all numbers that

write a for loop that will display all numbers that are multiples of 10 from 0 to 100 and then display the average of

  Developing the circuitry for class project

If number is divisable by 4 or 5, number has to be a multiple of 2 in order to generate an output. If the number is devisable by 3, it has to be a multiple of 3 and 5 to generate an output.

  Questiongenerate a time class which holds following

questiongenerate a time class which holds following information-hourminutesecondcreate a date class which holds the

  Questionthis program will permit the user to keep track of

questionthis program will permit the user to keep track of a cd or dvd collection. this can only work exclusively with

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