NT1330 Unit 1 Assignment 1: A Case Study

Words: 1165
Pages: 5

A. Aliasing: Aliasing problem refers to the case of overlapping of more than one branch addresses (low order byte of the PC content) to the same entry in the branch history table. Obviously, aliasing takes place due to limited table space, as a result of which, more than one branch address get a chance to index into the same BHT entry. However, since indexing into BHT is a hint, aliasing is not considered to be a serious problem.
B. Simulation Environment: The DBP algorithms were written in C++ language and was build using GNU g++ compiler Release 3.4 under CentOS Release 4.8 linux in a Pentium Core i3 based machine environment, with Flex and Bison installed. The same code has also been used to build binary under Windows 7 environment, using Bloodshed Developer C++ (DevC++) and Cygwin environment. Further tuning will yield superior performance.
C.
…show more content…
The Trace file: The trace file contains information regarding outcome of following types of instructions in addition to a four-byte little-endian branch address – the address in memory where the first byte of the branch instruction is available, along with a four-byte little-endian branch target – the address in memory to where the branch takes place. The branch types could be one of the following types:
• Taken conditional branch
• Not-taken conditional branch
• Unconditional branch
• Indirect branch
• Call
• Indirect call
• Return
D. The Trace Data Format: A trace is a piece of information about a branch [10]. The external representation of a trace is 9 bytes, as shown below: Fig.14: Record Format in the Trace Data File
• A one byte "Code." The lower 4 bits are the x86 Op-code for a conditional branch (modulo 16). The upper four bits are one of the following:
1: taken conditional branch
2: not taken conditional branch
3: unconditional branch
4: indirect