⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wcetinstruction.java

📁 Java Op Processor java vhdl processor
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		// DADD = 99		case org.apache.bcel.Constants.DADD:			wcet = -1;			break;		// ISUB = 100		case org.apache.bcel.Constants.ISUB:			wcet = 1;			break;		// LSUB = 101		case org.apache.bcel.Constants.LSUB:			wcet = -1;			break;		// FSUB = 102		case org.apache.bcel.Constants.FSUB:			wcet = -1;			break;		// DSUB = 103		case org.apache.bcel.Constants.DSUB:			wcet = -1;			break;		// IMUL = 104		case org.apache.bcel.Constants.IMUL:			wcet = 35;			break;		// LMUL = 105		case org.apache.bcel.Constants.LMUL:			wcet = -1;			break;		// FMUL = 106		case org.apache.bcel.Constants.FMUL:			wcet = -1;			break;		// DMUL = 107		case org.apache.bcel.Constants.DMUL:			wcet = -1;			break;		// IDIV = 108		case org.apache.bcel.Constants.IDIV:			wcet = -1;			break;		// LDIV = 109		case org.apache.bcel.Constants.LDIV:			wcet = -1;			break;		// FDIV = 110		case org.apache.bcel.Constants.FDIV:			wcet = -1;			break;		// DDIV = 111		case org.apache.bcel.Constants.DDIV:			wcet = -1;			break;		// IREM = 112		case org.apache.bcel.Constants.IREM:			wcet = -1;			break;		// LREM = 113		case org.apache.bcel.Constants.LREM:			wcet = -1;			break;		// FREM = 114		case org.apache.bcel.Constants.FREM:			wcet = -1;			break;		// DREM = 115		case org.apache.bcel.Constants.DREM:			wcet = -1;			break;		// INEG = 116		case org.apache.bcel.Constants.INEG:			wcet = 4;			break;		// LNEG = 117		case org.apache.bcel.Constants.LNEG:			wcet = -1;			break;		// FNEG = 118		case org.apache.bcel.Constants.FNEG:			wcet = -1;			break;		// DNEG = 119		case org.apache.bcel.Constants.DNEG:			wcet = -1;			break;		// ISHL = 120		case org.apache.bcel.Constants.ISHL:			wcet = 1;			break;		// LSHL = 121		case org.apache.bcel.Constants.LSHL:			wcet = -1;			break;		// ISHR = 122		case org.apache.bcel.Constants.ISHR:			wcet = 1;			break;		// LSHR = 123		case org.apache.bcel.Constants.LSHR:			wcet = -1;			break;		// IUSHR = 124		case org.apache.bcel.Constants.IUSHR:			wcet = 1;			break;		// LUSHR = 125		case org.apache.bcel.Constants.LUSHR:			wcet = -1;			break;		// IAND = 126		case org.apache.bcel.Constants.IAND:			wcet = 1;			break;		// LAND = 127		case org.apache.bcel.Constants.LAND:			wcet = -1;			break;		// IOR = 128		case org.apache.bcel.Constants.IOR:			wcet = 1;			break;		// LOR = 129		case org.apache.bcel.Constants.LOR:			wcet = -1;			break;		// IXOR = 130		case org.apache.bcel.Constants.IXOR:			wcet = 1;			break;		// LXOR = 131		case org.apache.bcel.Constants.LXOR:			wcet = -1;			break;		// IINC = 132		case org.apache.bcel.Constants.IINC:			wcet = 8;			break;		// I2L = 133		case org.apache.bcel.Constants.I2L:			wcet = -1;			break;		// I2F = 134		case org.apache.bcel.Constants.I2F:			wcet = -1;			break;		// I2D = 135		case org.apache.bcel.Constants.I2D:			wcet = -1;			break;		// L2I = 136		case org.apache.bcel.Constants.L2I:			wcet = 3;			break;		// L2F = 137		case org.apache.bcel.Constants.L2F:			wcet = -1;			break;		// L2D = 138		case org.apache.bcel.Constants.L2D:			wcet = -1;			break;		// F2I = 139		case org.apache.bcel.Constants.F2I:			wcet = -1;			break;		// F2L = 140		case org.apache.bcel.Constants.F2L:			wcet = -1;			break;		// F2D = 141		case org.apache.bcel.Constants.F2D:			wcet = -1;			break;		// D2I = 142		case org.apache.bcel.Constants.D2I:			wcet = -1;			break;		// D2L = 143		case org.apache.bcel.Constants.D2L:			wcet = -1;			break;		// D2F = 144		case org.apache.bcel.Constants.D2F:			wcet = -1;			break;		// I2B = 145		case org.apache.bcel.Constants.I2B:			wcet = -1;			break;		// INT2BYTE = 145 // Old notion		// case org.apache.bcel.Constants.INT2BYTE : wcet = -1; break;		// I2C = 146		case org.apache.bcel.Constants.I2C:			wcet = 2;			break;		// INT2CHAR = 146 // Old notion		// case org.apache.bcel.Constants.INT2CHAR : wcet = -1; break;		// I2S = 147		case org.apache.bcel.Constants.I2S:			wcet = -1;			break;		// INT2SHORT = 147 // Old notion		// case org.apache.bcel.Constants.INT2SHORT : wcet = -1; break;		// LCMP = 148		case org.apache.bcel.Constants.LCMP:			wcet = -1;			break;		// FCMPL = 149		case org.apache.bcel.Constants.FCMPL:			wcet = -1;			break;		// FCMPG = 150		case org.apache.bcel.Constants.FCMPG:			wcet = -1;			break;		// DCMPL = 151		case org.apache.bcel.Constants.DCMPL:			wcet = -1;			break;		// DCMPG = 152		case org.apache.bcel.Constants.DCMPG:			wcet = -1;			break;		// IFEQ = 153		case org.apache.bcel.Constants.IFEQ:			wcet = 4;			break;		// IFNE = 154		case org.apache.bcel.Constants.IFNE:			wcet = 4;			break;		// IFLT = 155		case org.apache.bcel.Constants.IFLT:			wcet = 4;			break;		// IFGE = 156		case org.apache.bcel.Constants.IFGE:			wcet = 4;			break;		// IFGT = 157		case org.apache.bcel.Constants.IFGT:			wcet = 4;			break;		// IFLE = 158		case org.apache.bcel.Constants.IFLE:			wcet = 4;			break;		// IF_ICMPEQ = 159		case org.apache.bcel.Constants.IF_ICMPEQ:			wcet = 4;			break;		// IF_ICMPNE = 160		case org.apache.bcel.Constants.IF_ICMPNE:			wcet = 4;			break;		// IF_ICMPLT = 161		case org.apache.bcel.Constants.IF_ICMPLT:			wcet = 4;			break;		// IF_ICMPGE = 162		case org.apache.bcel.Constants.IF_ICMPGE:			wcet = 4;			break;		// IF_ICMPGT = 163		case org.apache.bcel.Constants.IF_ICMPGT:			wcet = 4;			break;		// IF_ICMPLE = 164		case org.apache.bcel.Constants.IF_ICMPLE:			wcet = 4;			break;		// IF_ACMPEQ = 165		case org.apache.bcel.Constants.IF_ACMPEQ:			wcet = 4;			break;		// IF_ACMPNE = 166		case org.apache.bcel.Constants.IF_ACMPNE:			wcet = 4;			break;		// GOTO = 167		case org.apache.bcel.Constants.GOTO:			wcet = 4;			break;		// JSR = 168		case org.apache.bcel.Constants.JSR:			wcet = -1;			break;		// RET = 169		case org.apache.bcel.Constants.RET:			wcet = -1; // TODO: Should this be 1?			break;		// TABLESWITCH = 170		case org.apache.bcel.Constants.TABLESWITCH:			wcet = -1;			break;		// LOOKUPSWITCH = 171		case org.apache.bcel.Constants.LOOKUPSWITCH:			wcet = -1;			break;		// IRETURN = 172		case org.apache.bcel.Constants.IRETURN:			wcet = 23;			if (r > 3) {				wcet += r - 3;			}			if (b > 10) {				wcet += b - 10;			}			break;		// LRETURN = 173		case org.apache.bcel.Constants.LRETURN:			wcet = 25;			if (r > 3) {				wcet += r - 3;			}			if (b > 11) {				wcet += b - 11;			}			break;		// FRETURN = 174		case org.apache.bcel.Constants.FRETURN:			wcet = 23;			if (r > 3) {				wcet += r - 3;			}			if (b > 10) {				wcet += b - 10;			}			break;		// DRETURN = 175		case org.apache.bcel.Constants.DRETURN:			wcet = 25;			if (r > 3) {				wcet += r - 3;			}			if (b > 11) {				wcet += b - 11;			}			break;		// ARETURN = 176		case org.apache.bcel.Constants.ARETURN:			wcet = 23;			if (r > 3) {				wcet += r - 3;			}			if (b > 10) {				wcet += b - 10;			}			break;		// RETURN = 177		case org.apache.bcel.Constants.RETURN:			wcet = 21;			if (r > 3) {				wcet += r - 3;			}			if (b > 9) {				wcet += b - 9;			}			break;		// GETSTATIC = 178		case org.apache.bcel.Constants.GETSTATIC:			wcet = 12 + 2 * r;			break;		// PUTSTATIC = 179		case org.apache.bcel.Constants.PUTSTATIC:			wcet = 13 + r + w;			break;		// GETFIELD = 180		case org.apache.bcel.Constants.GETFIELD:			wcet = 17 + 2 * r;			break;		// PUTFIELD = 181		case org.apache.bcel.Constants.PUTFIELD:			wcet = 20 + r + w;			break;		// INVOKEVIRTUAL = 182		case org.apache.bcel.Constants.INVOKEVIRTUAL:			wcet = 104 + 3 * r;			if (r > 3) {				wcet += r - 3;			}			if (r > 2) {				wcet += r - 2;			}			if (b > 37) {				wcet += b - 37;			}			break;		// INVOKESPECIAL = 183		case org.apache.bcel.Constants.INVOKESPECIAL:			wcet = 74 + r;			if (r > 3) {				wcet += r - 3;			}			if (r > 2) {				wcet += r - 2;			}			if (b > 37) {				wcet += b - 37;			}			break;		// INVOKENONVIRTUAL = 183		// case org.apache.bcel.Constants.INVOKENONVIRTUAL : wcet = -1; break;		// INVOKESTATIC = 184		case org.apache.bcel.Constants.INVOKESTATIC:			wcet = 74 + r;			if (r > 3) {				wcet += r - 3;			}			if (r > 2) {				wcet += r - 2;			}			if (b > 37) {				wcet += b - 37;			}			break;		// INVOKEINTERFACE = 185		case org.apache.bcel.Constants.INVOKEINTERFACE:			wcet = 118 + 5 * r;			if (r > 3) {				wcet += r - 3;			}			if (r > 2) {				wcet += r - 2;			}			if (b > 37) {				wcet += b - 37;			}			break;		// NEW = 187		case org.apache.bcel.Constants.NEW:			wcet = -1;			break;		// NEWARRAY = 188		case org.apache.bcel.Constants.NEWARRAY:			wcet = -1;			break;		// ANEWARRAY = 189		case org.apache.bcel.Constants.ANEWARRAY:			wcet = -1;			break;		// ARRAYLENGTH = 190		case org.apache.bcel.Constants.ARRAYLENGTH:			wcet = 10 + 2 * r;			break;		// ATHROW = 191		case org.apache.bcel.Constants.ATHROW:			wcet = -1;			break;		// CHECKCAST = 192		case org.apache.bcel.Constants.CHECKCAST:			wcet = -1;			break;		// INSTANCEOF = 193		case org.apache.bcel.Constants.INSTANCEOF:			wcet = -1;			break;		// MONITORENTER = 194		case org.apache.bcel.Constants.MONITORENTER:			wcet = 11;			break;		// MONITOREXIT = 195		case org.apache.bcel.Constants.MONITOREXIT:			wcet = 16; // BCET: 10			break;		// WIDE = 196		case org.apache.bcel.Constants.WIDE:			wcet = -1;			break;		// MULTIANEWARRAY = 197		case org.apache.bcel.Constants.MULTIANEWARRAY:			wcet = -1;			break;		// IFNULL = 198		case org.apache.bcel.Constants.IFNULL:			wcet = 4;			break;		// IFNONNULL = 199		case org.apache.bcel.Constants.IFNONNULL:			wcet = 4;			break;		// GOTO_W = 200		case org.apache.bcel.Constants.GOTO_W:			wcet = -1;			break;		// JSR_W = 201		case org.apache.bcel.Constants.JSR_W:			wcet = -1;			break;		// JOPSYS_RD = 209   		case JOPSYS_RD:			wcet = 4 + r;			break;		// JOPSYS_WR = 210		case JOPSYS_WR:			wcet = 5 + w;			break;		// JOPSYS_RDMEM = 211		case JOPSYS_RDMEM:			wcet = 4 + r;			break;		// JOPSYS_WRMEM = 212		case JOPSYS_WRMEM:			wcet = 5 + w;			break;		// JOPSYS_RDINT = 213		case JOPSYS_RDINT:			wcet = 3;			break;		// JOPSYS_WRINT = 214		case JOPSYS_WRINT:			wcet = 3;			break;		// JOPSYS_GETSP = 215		case JOPSYS_GETSP:			wcet = 3;			break;		// JOPSYS_SETSP = 216		case JOPSYS_SETSP:			wcet = 4;			break;		// JOPSYS_GETVP = 217		case JOPSYS_GETVP:			wcet = 1;			break;		// JOPSYS_SETVP = 218		case JOPSYS_SETVP:			wcet = 2;			break;		// JOPSYS_INT2EXT = 219		case JOPSYS_INT2EXT:			int wt = 0;			if (w>8) wt = w-8;			wcet = 14+r+ n*(23+wt);			break;		// JOPSYS_EXT2INT = 220		case JOPSYS_EXT2INT:			int rt = 0;			if (r>10) rt = r-10;			wcet = 14+r+ n*(23+rt);			break;		// JOPSYS_NOP = 221		case JOPSYS_NOP:			wcet = 1;			break;		default:			wcet = -1;			break;		}		// TODO: Add the JOP speciffic codes?		return wcet;	}	/**	 * Check to see if there is a valid WCET count for the instruction.	 * 	 * @param opcode	 * @return true if there is a valid wcet value	 */	static boolean wcetAvailable(int opcode) {		if (getCycles(opcode, false, 0) == WCETNOTAVAILABLE)			return false;		else			return true;	}	/**	 * Method load time on invoke or return if there is a cache miss (see pMiss).	 * 	 * @see ms thesis p 232	 */	public static int calculateB(boolean hit, int n) {		int b = -1;		if (n == -1) {			System.err.println("n not set!");			System.exit(-1);		} else {			if (hit) {				b = 4;			} else {				b = 6 + (n+1) * (2+c);			}		}		return b;	}	// should be removed from WCETAnalyser:	public static int calculateB(int x) {		return -1;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -