Question: The remaining three problems in this exercise refer to the following function, given in both C and x86 assembly. For each x86 instruction, we also

The remaining three problems in this exercise refer to the following function, given in both C and x86 assembly. For each x86 instruction, we also show its length in the x86 variable-length instruction format and the interpretation (what the instruction does). Note that the x86 architecture has very few registers compared to MIPS, and as a result the x86 calling convention is to push all arguments onto the stack. The return value of an x86 function is passed back to the caller in the EAX register.a. C Code int f(int a, int b, int c, int d) { if(a>b) return c: return d; } f: push %ebp mov mov %esp,%ebpb. void f(int a[], int n) [ int i; for(i=0;i!-n;i++) a[i]=0; } : 1B, push %ebp to stack : 2B, move %esp to


If each MIPS instruction takes one cycle, and if each x86 instruction takes one cycle plus a cycle for each memory read or write it has to perform, what is the speedup of using x86 instead of MIPS? Assume that the clock cycle time is the same in both x86 and MIPS, and that the execution takes the shortest possible path through the function (i.e., every loop is exited immediately and every if statement takes the direction that leads toward the return from the function). Note that the x86 ret instruction reads the return address from the stack.

a. C Code int f(int a, int b, int c, int d) { if(a>b) return c: return d; } f: push %ebp mov mov %esp,%ebp 12(%ebp),%eax cmp %eax,8(%ebp) mov 16 (%ebp),%edx jle S pop %ebp. mov ret S: mov pop mov ret %edx, %eax 20 (%ebp),%edx %ebp %edx,%eax x86 Code : 1B, push %ebp to stack ; 2B, move %esp to %ebp : 3B, load 2nd arg into %eax ; 3B, compare %eax w/ 1st arg ; 3B, load 3rd arg into %edx : 2B, jump if cmp result is

Step by Step Solution

3.41 Rating (154 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Comparative function function a Instructions in MIPS 18 x86 15 Function b which initializes an array ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Computer Organization Design Questions!