/* ===================================================================== */ /* Commandline Switches */ /* ===================================================================== */ KNOB KNOB_OUTPUT_FILE(KNOB_MODE_WRITEONCE, "pintool", "o", "sim.out", "specify output file name"); KNOB KNOB_TRACE_NAME (KNOB_MODE_WRITEONCE, "pintool", "tracename", "trace.pzip", "trace output filename"); KNOB KNOB_TRACE_NAME2 (KNOB_MODE_WRITEONCE, "pintool", "tracename2", "trace.pzip", "trace output filename"); KNOB KNOB_TRACE_NAME3 (KNOB_MODE_WRITEONCE, "pintool", "tracename3", "trace.pzip", "trace output filename"); KNOB KNOB_TRACE_NAME4 (KNOB_MODE_WRITEONCE, "pintool", "tracename4", "trace.pzip", "trace output filename"); KNOB KNOB_READ_TRACE (KNOB_MODE_WRITEONCE, "pintool", "readtrace", "0", "trace read mode"); KNOB KNOB_WRITE_TRACE (KNOB_MODE_WRITEONCE, "pintool", "writetrace", "0", "trace write mode"); KNOB KNOB_PRINT_INST (KNOB_MODE_WRITEONCE, "pintool", "printinst", "1", "trace print"); KNOB KNOB_MAX_SIM_COUNT (KNOB_MODE_WRITEONCE, "pintool", "max_sim_count", "0", "maximum simulation cycle count"); KNOB KNOB_MAX_INST_COUNT (KNOB_MODE_WRITEONCE, "pintool", "max_inst_count", "1000", "maximum simulation instruction count"); KNOB KNOB_PERFECT_ICACHE (KNOB_MODE_WRITEONCE, "pintool", "perfect_icache", "1", "perfect icache"); KNOB KNOB_PERFECT_DCACHE (KNOB_MODE_WRITEONCE, "pintool", "perfect_dcache", "1", "perfect icache"); KNOB KNOB_PERFECT_BR (KNOB_MODE_WRITEONCE, "pintool", "perfect_br", "0", "perfect branch prediction"); KNOB KNOB_ISSUE_WIDTH (KNOB_MODE_WRITEONCE, "pintool", "issue_width", "1", "width of the pipeline"); KNOB KNOB_ICACHE_LATENCY (KNOB_MODE_WRITEONCE, "pintool", "icache_latency", "5", "I-cache access latency"); KNOB KNOB_DCACHE_LATENCY (KNOB_MODE_WRITEONCE, "pintool", "dcache_latency", "5", "D-cache access latency"); KNOB KNOB_DCACHE_SIZE (KNOB_MODE_WRITEONCE, "pintool", "dcache_size", "512", "D-cache size(KB)"); KNOB KNOB_DCACHE_WAY (KNOB_MODE_WRITEONCE, "pintool", "dcache_way", "4", "D-cache way"); KNOB KNOB_MEM_LATENCY_ROW_HIT (KNOB_MODE_WRITEONCE, "pintool", "mem_latency_row_hit", "100", "dram row buffer hit latency"); KNOB KNOB_MEM_LATENCY_ROW_MISS (KNOB_MODE_WRITEONCE, "pintool", "mem_latency_row_miss", "200", "dram row buffer miss latency"); KNOB KNOB_MSHR_SIZE (KNOB_MODE_WRITEONCE, "pintool", "mshr_size", "4", "the size of MSHR"); KNOB KNOB_DRAM_BANK_INDEX_SIZE (KNOB_MODE_WRITEONCE, "pintool", "dram_bank_index_size", "2", "log2(the number of dram banks)"); KNOB KNOB_DRAM_BANK_ROW_ADDR_BITS (KNOB_MODE_WRITEONCE, "pintool", "dram_bank_row_addr_bits", "20", "the number of row address bits"); KNOB KNOB_DRAM_PAGE_SIZE (KNOB_MODE_WRITEONCE, "pintool", "dram_page_size", "2", "the dram page size (the unit is KB)"); KNOB KNOB_PRINT_PIPE_FREQ(KNOB_MODE_WRITEONCE, "pintool", "print_pipe_freq", "0", "pipeline print frequency"); KNOB KNOB_GHR_LENGTH(KNOB_MODE_WRITEONCE, "pintool", "ghr_length", "8", "gshare predictor length"); KNOB KNOB_DEBUG_PRINT(KNOB_MODE_WRITEONCE, "pintool", "debug_print", "0", "print debug message"); KNOB KNOB_FE_DEPTH (KNOB_MODE_WRITEONCE, "pintool", "fe_depth", "1", "Depth of the FE stage"); KNOB KNOB_ID_DEPTH (KNOB_MODE_WRITEONCE, "pintool", "id_depth", "1", "Depth of the ID stage"); KNOB KNOB_WB_DEPTH (KNOB_MODE_WRITEONCE, "pintool", "wb_depth", "1", "Depth of the WB stage");