#ifndef _param_h
#define _param_h
/******************************************************************************
** FILE: param.h
** Parameters for various microarchitecture characteristics
*/

#define OOLIMIT			32	/* max size of the OOO queue */

#define FETCH_WIDTH		4	/* max # of instructions to fetch */

/******************************************************************************
 * Number of physical registers beyond those needed
 * to store all the aritectural registers. */

#define NUM_INT_REGS		32	/* extra int regs */
#define NUM_FP_REGS		32	/* extra fp regs */

/******************************************************************************
 * Cache control parameters. */

#define CACHE_HIT_DELAY		0
#define L1_MISS_DELAY		10
#define L2_MISS_DELAY		50
#define WRITE_DELAY		20

#define WRITE_LINE_WIDTH	8

#define L1_CACHE_SIZE		(128*1024)
#define L1_LINE_WIDTH		32
#define L1_CACHE_ASSOC		2

#define L2_CACHE_SIZE		(2*1024*1024)
#define L2_LINE_WIDTH		128
#define L2_CACHE_ASSOC		2

#define NUM_MSHRs		8
#define NUM_MSHR2s		8
#define NUM_WBUFs		8

/******************************************************************************
 * Branch predictor parameters. */

#define BRANCH_PREDICTOR_SIZE	256
#define BRANCH_PREDICTOR_BITS	2

#endif