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

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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