This project is split into two parts; the Branch Predictors and the Out-of-Order Processor. Please refer to Section 3 for information on implementing the Branch Predictors, and refer to Section 4 for information on implementing the Out-of-Order Processor. In this section, we will discuss simulator parameters and trace files, which are shared by both parts of the project.2.1 Simulator Parameters The following command line parameters can be passed to the simulator. Details on these parameters can be found in the corresponding sections listed in Section 2: • -x: When enabled, only run the Branch Predictors. • -i: The path to the input trace file • -h: Print the usage information. 2.1.1 Branch Predictor Specific Parameters • -b: Select the Branch Predictor to use. – 0: Always Taken (provided) – 1: Two-bits Smith Counter (provided) – 2: Yeh-Patt (for students in ECE 6100 & CS 6290) – 3: GShare (for everyone) • -p: Log2 of the number of entries in the Pattern Table for Yeh-Patt, or the number of 2-bit counters in GShare. – Restriction: P ≥ 9, small pattern tables are not very performant. • -H: Log2 of the number of entries in the History Table for Yeh-Patt. – Restriction: H ≥ 9, small history tables are not very performant. 2.1.2 Out-of-Order Processor Specific Parameters • -a: The number of Addition (ALU) function units in the Execute stage. • -m: The number of Multiply (MUL) function units in the Execute stage. • -l: The number of Load/Store (LSU) function units in the Execute stage. • -s: The number of reservation stations per function unit. The scheduling queue is unified, which means that s × (a + m + l) reservation stations are shared by all function units. • -f: The “Fetch Width”, which is the number of instructions fetched/added to the Dispatch queue per cycle. • -d: This flag has no argument; if it is passed, cache misses and mispredictions are disabled by the driver. Note that the upper bounds for some parameters are not defined. You will need to constraint these in the experiments according to Section 8.2.2 Trace Format Each line in a trace represents the following:
Reviews
There are no reviews yet.