We are then assured that the loop will only be

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: n cc.1 t.1 %ecx.1 %edx.1 cc.1 In our translation, we have converted the memory reference by the multiply instruction into an explicit load instruction that reads the data from memory into the processor. We have also assigned operand labels to the values that change each iteration. These labels are a stylized version of the tags generated by register renaming. Thus, the value in register %ecx is identified by the label %ecx.0 at the beginning of the loop, and by %ecx.1 after it has been updated. The register values that do not change from one iteration to the next would be obtained directly from the register file during decoding. We also introduce the label t.1 to denote the value read by the load operation and passed to the imull operation, and we explicitly show the destination of the operation. Thus, the pair of operations load (%eax, %edx.0, 4) imull t.1, %ecx.0 t.1 %ecx.1 indicates that the processor first performs a load operation, computing the address using the value of %eax (which does not change during the loop), and the value stored in %edx at the start of the loop. This will yield a temporary value, which we label t.1. The multiply operation then t...
View Full Document

This note was uploaded on 09/02/2010 for the course ELECTRICAL 360 taught by Professor Schultz during the Spring '10 term at BYU.

Ask a homework question - tutors are online