Question
Imagine that you are targeting an instruction set architecture that does not have an integer division or modulus operation. - Write a function in C
Imagine that you are targeting an instruction set architecture that does not have an integer division or modulus operation.
- Write a function in C that takes two signed, 32-bit integers as arguments and returns a 2-element struct containing the quotient and remainder as 32-bit integer fields. For division by zero, return {0,0}.
- Compile your function to a target machine of your choosing and use profiling or debugging tools of your choice to determine the number of instructions executed in a single call to your function.
- If supporting a HW divider increased cycle time by 1%, CPI is exactly 1 for all non-DIV instructions, and DIV operations accounted for 5% of all instructions, how fast would a HW divider have to be to offer a better total program execution time than your SW division?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started