M2 Instruction Set Architecture

Size: px
Start display at page:

Download "M2 Instruction Set Architecture"

Transcription

1 M2 Instruction Set Architecture

2 Module Outline Addressing modes. Instruction classes. MIPS-I ISA. High level languages, Assembly languages and object code. Translating and starting a program. Subroutine and subroutine call. Use of stack for handling subroutine call and return.

3 Module Outline Addressing modes. Instruction classes. MIPS-I ISA. High level languages, Assembly languages and object code. Translating and starting a program. Subroutine and subroutine call. Use of stack for handling subroutine call and return.

4 MIPS-I Arithmetic Instructions Add, Subtract Mnemonics Example Meaning ADD, ADDU, ADDI, ADDIU, SUB, SUBU ADD R1, R2, R3 R1 R2 + R3 ADDU R1, R2, R3 R1 R2 + R3 ADDI R1, R2, 6 R Format op 6 bits rs rt 5 bits 5 bits OP rd, rs, rt rd 5 bits sh_amt 5 bits funct 6 bits op: Opcode (class of instruction). Eg. ALU funct: Which subunit of the ALU to activate? ADD op/funct = 0x0/0x20 sh_amt: Shift Amount. For Shift Instructions SLL, SRL.

5 MIPS-I Arithmetic Instructions Mnemonics Example Meaning Add, Subtract ADD, ADDU, ADDI, ADDIU, SUB, SUBU ADD R1, R2, R3 R1 R2 + R3 ADDI R1, R2, 6 R1 R2 + 6 Multiply, Divide MULT, DIV, MULTU, DIVU MULT R1, R2 LO lsw (R1 * R2) HI msw (R1 * R2)

6 MIPS-I Arithmetic Instructions Mnemonics Example Add, Subtract ADD, ADDU, ADDI, ADDIU, SUB, SUBU ADD R1, R2, R3 R1 R2 + R3 ADDI R1, R2, 6 R1 R2 + 6 Multiply, Divide MULT, DIV, MULTU, DIVU MULT R1, R2 Meaning LO lsw (R1 * R2) HI msw (R1 * R2) Product of two 32-bit numbers is a 64-bit quantity. HI and LO contain the MSW and LSW of the Product

7 MIPS-I Arithmetic Instructions Mnemonics Example Add, Subtract ADD, ADDU, ADDI, ADDIU, SUB, SUBU ADD R1, R2, R3 R1 R2 + R3 ADDI R1, R2, 6 R1 R2 + 6 Multiply, Divide MULT, DIV, MULTU, DIVU MULT R1, R2 Divide Operation Quotient in LO, Remainder in HI Meaning LO lsw (R1 * R2) HI msw (R1 * R2)

8 MIPS-I Arithmetic Instructions Mnemonics Example Meaning Add, Subtract ADD, ADDU, ADDI, ADDIU, SUB, SUBU ADD R1, R2, R3 R1 R2 + R3 ADDI R1, R2, 6 R1 R2 + 6 Multiply, Divide MULT, DIV, MULTU, DIVU MULT R1, R2 Logical AND, ANDI, OR, ORI, XOR, XORI, NOR OR R1, R2, 0xF R1 R2 SE(0xF) LO lsw (R1 * R2) HI msw (R1 * R2)

9 MIPS-I Control Transfer Instructions Mnemonics Conditional Branch BEQ, BNE Jump J, JR Jump and Link JAL, JALR System Call SYSCALL Example Meaning

10 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR Jump and Link JAL, JALR System Call SYSCALL PC PC

11 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 Jump and Link JAL, JALR System Call SYSCALL PC PC PC PC31-28 target26 00

12 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC31-28 target26 00 Jump and Link JAL, JALR JALR R2 R31 PC + 4 PC R2 System Call SYSCALL PC PC

13 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC31-28 target26 00 Jump and Link JAL, JALR JALR R2 R31 PC + 4 PC R2 System Call SYSCALL SYSCALL PC PC

14 MIPS-I Control Transfer Instructions Conditional Branch Mnemonics Example Meaning BEQ, BNE BGEZ, BLEZ BLTZ, BGTZ BEQ R2, R3, -16 If R2 == R3; PC PC

15 MIPS-I Control Transfer Instructions Conditional Branch Mnemonics Example Meaning BEQ, BNE BGEZ, BLEZ BLTZ, BGTZ BEQ R2, R3, -16 If R2 == R3; PC PC PC Relative Addressing

16 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC J 0x475 PC PC31-28 target26 00

17

18 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC J 0x475 J Format op Offset added to PC 6 bits 26 bits PC PC31-28 target26 00

19 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC J 0x475 PC PC31-28 target26 00 PC before J 0101 PC after J

20 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC J 0x475 PC PC31-28 target26 00 JR R2 PC R2

21 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC31-28 target26 00 Jump and Link JAL, JALR JAL target26 JALR R2 R31 PC + 4 PC R2 System Call SYSCALL SYSCALL PC PC

22 MIPS-I Control Transfer Instructions Mnemonics Example Meaning Conditional Branch BEQ, BNE BEQ R2, R3, -16 If R2 == R3; Jump J, JR J target26 PC PC31-28 target26 00 Jump and Link JAL, JALR JAL target26 JALR R2 R31 PC + 4 PC R2 System Call SYSCALL SYSCALL PC PC

23 MIPS Instruction Formats R-type. op 6 bits rs rt 5 bits 5 bits OP rd, rs, rt I-type. op 6 bits rd 5 bits shamt 5 bits J-type rs rt 5 bits 5 bits immediate 16 bits op Offset added to PC 6 bits 26 bits OP LABEL 6 bits op: Opcode (class of instruction). Eg. ALU funct: Which subunit of the ALU to activate? OP rt, rs, IMM funct

24 How are the locations of operands and results specified in instructions?

25 MIPS-I Instruction Set Immediate, Register (for Arithmetic and Logic instructions) Absolute (for Jumps) Base-displacement (for Loads, Stores) PC relative (for conditional branches)

26 Addressing Mode Examples

27 ADD ADD R3, R3, R1, R1, R2 R2 R3 = R1 + R2 Register File R5 R4 R3 R2 R1 R

28 Register Addressing Mode Operand is in the specified general purpose register ADD ADD R3, R3, R1, R1, R2 R2 R3 = R1 + R2 Register File R5 R4 R3 R2 R1 R

29 ADD ADD R3, R3, R1, R1, #13 #13 R3 = R Register File R5 R4 R3 R2 R1 R

30 Immediate Addressing Mode Operand is a constant value specified inside the instruction. ADD ADD R3, R3, R1, R1, #13 #13 R3 = R Register File R5 R4 R3 R2 R1 R

31 ADD ADD R3, R3, R1, R1, (R2) (R2) R3 = R1 + M(0x104) Register File MEMORY R x108 0x104 0x100 R4 R3 R2 R1 R x

32 Register Indirect Addressing Mode Memory address of operand is in the specified general purpose register. ADD ADD R3, R3, R1, R1, (R2) (R2) R3 = R1 + M(0x104) Register File MEMORY R x108 0x104 0x100 R4 R3 R2 R1 R x

33 ADD ADD R3, R3, R1, R1, 4(R2) 4(R2) R3 = R1 + M(0x ) Register File MEMORY R x108 0x104 0x100 R4 R3 R2 R1 R x

34 Base Displacement Addressing Mode Memory address of operand is calculated as the sum of value in specified register and specified displacement ADD ADD R3, R3, R1, R1, 4(R2) 4(R2) R3 = R1 + M(0x ) Register File MEMORY R5 Can be used instead of Register indirect addressing mode x108 0x104 0x100 R4 R3 R2 R1 R x

35 R3 = R1 + M(0x104) ADD ADD R3, R3, R1, R1, (104) (104) Register File MEMORY R x108 0x104 0x100 R4 R3 R2 R1 R x

36 Absolute Addressing Mode Memory address of operand is specified directly in the instruction R3 = R1 + M(0x104) ADD ADD R3, R3, R1, R1, (104) (104) Register File MEMORY R x108 0x104 0x100 R4 R3 R2 R1 R x

37 R3 = R1 + M(R2+R4) ADD ADD R3, R3, R1, R1, (R2, (R2, R4) R4) Register File MEMORY R5 R2: Base of an array R4: Index x108 0x104 0x100 R4 R3 R2 R1 R0 0x x

38 Indexed Addressing Mode Memory address of operand is calculated as sum of contents of 2 registers R3 = R1 + M(R2+R4) ADD ADD R3, R3, R1, R1, (R2, (R2, R4) R4) Register File MEMORY R5 R2: Base of an array R4: Index x108 0x104 0x100 R4 R3 R2 R1 R0 0x x

39 R3 = R1 + M(M(R2)) ADD ADD R3, R3, MEMORY Register File x104 R5 0x108 0x104 0x100 R4 R3 R2 0x40 R1 R0 0x x40 124

40 Memory Indirect Addressing Mode A memory location is used as a pointer to the value in another location in memory R3 = R1 + M(M(R2)) ADD ADD R3, R3, MEMORY Register File x104 R5 0x108 0x104 0x100 R4 R3 R2 0x40 R1 R0 0x x40 124

41 R3 = R3 + M(R1) R1 = R1 + d ADD ADD R3, R3, (R1)+ (R1)+ Register File MEMORY R x108 0x104 0x100 R4 R3 R2 R1 R x104 0x100

42 Auto-Increment Addressing Mode Increment the value inside a register after the operation is completed. R3 = R3 + M(R1) R1 = R1 + d ADD ADD R3, R3, (R1)+ (R1)+ Register File MEMORY R5 Useful for stepping through arrays within a loop x108 0x104 0x100 R4 R3 R2 R1 R x104 0x100

43 ADD ADD R3, R3, -(R1) -(R1) - R1 = R1 d R3 = R3 + M(R1) Register File MEMORY R x108 0x104 0x100 R4 R3 R2 R1 R x104 0x100

44 Auto-Decrement Addressing Mode Decrement the value inside a register before the operation is completed. ADD ADD R3, R3, -(R1) -(R1) - R1 = R1 d R3 = R3 + M(R1) Register File MEMORY R5 PUSH/POP operations x108 0x104 0x100 R4 R3 R2 R1 R x104 0x100

45 ADD ADD R3, R3, 100(R1)[R3] 100(R1)[R3] R3 = R3 + M(100 + R1 + R3*d) MEMORY Register File x100 0x10C 0x108 0x104 0x100 R4 R3 R2 0x40 R1 R0 R x40

46 Scaled Addressing Mode Memory address of operand is calculated as sum of contents of 2 registers ADD ADD R3, R3, 100(R1)[R3] 100(R1)[R3] R3 = R3 + M(100 + R1 + R3*d) MEMORY Register File x100 0x10C 0x108 0x104 0x100 R4 R3 R2 0x40 R1 R0 R x40

47 PC = PC 16 JMP JMPloop loop 0x100 0x104 0x108 0x112 0x116 Loop: ADD XOR AND SUB JMP

48 PC Relative Addressing Mode The operand address is specified as a displacement from the PC value (i.e., from the address of the instruction itself) PC = PC 16 JMP JMPloop loop 0x100 0x104 0x108 0x112 0x116 Loop: ADD XOR AND SUB JMP

49 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2]

50 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register

51 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Register

52 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate

53 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]]

54 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement

55 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]]

56 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect

57 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475]

58 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute

59 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]]

60 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect

61 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC]

62 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC] PC relative

63 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC] PC relative Add R4, R3, 100(R1)[R5] Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1] + Regs[R5] * 4]

64 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC] PC relative Add R4, R3, 100(R1)[R5] Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1] + Regs[R5] * 4] Scaled

65 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC] PC relative Add R4, R3, 100(R1)[R5] Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1] + Regs[R5] * 4] Scaled Add R4, (R3)+ Regs[R4] <- Regs[R4] + Mem[R3] Regs[R3] <- Regs[R3] + d

66 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC] PC relative Add R4, R3, 100(R1)[R5] Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1] + Regs[R5] * 4] Scaled Add R4, (R3)+ Regs[R4] <- Regs[R4] + Mem[R3] Regs[R3] <- Regs[R3] + d Auto Increment

67 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC] PC relative Add R4, R3, 100(R1)[R5] Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1] + Regs[R5] * 4] Scaled Add R4, (R3)+ Regs[R4] <- Regs[R4] + Mem[R3] Regs[R3] <- Regs[R3] + d Auto Increment Add R4, -(R3) Regs[R3] <- Regs[R3] - d Regs[R4] <- Regs[R4] + Mem[R3]

68 Add R1, R2, R3 Regs[R4] <- Regs[R3] + Regs[R2] Register Add R4, R3, #5 Regs[R4] <- Regs[R3] + 5 Immediate Add R4, R3, 100(R1) Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1]] Displacement Add R4, R3, (R1) Regs[R4] <- Regs[R3] + Mem[Regs[R1]] Register Indirect Add R4, R3, (0x475) Regs[R4] <- Regs[R3] + Mem[0x475] Absolute Add R4, Regs[R4] <- Regs[R3] + Mem[Mem[R1]] Memory Indirect Add R4, R3, 100(PC) Regs[R4] <- Regs[R3] + Mem[100 + PC] PC relative Add R4, R3, 100(R1)[R5] Regs[R4] <- Regs[R3] + Mem[100 + Regs[R1] + Regs[R5] * 4] Scaled Add R4, (R3)+ Regs[R4] <- Regs[R4] + Mem[R3] Regs[R3] <- Regs[R3] + d Auto Increment Add R4, -(R3) Regs[R3] <- Regs[R3] - d Regs[R4] <- Regs[R4] + Mem[R3] Auto Decrement

69 Which ones should a new architecture support? What should be size of the displacement? What should be size of the immediate field?

70 Which ones should a new architecture support? What should be size of the displacement? What should be size of the immediate field? Benchmarks: GCC, Particle simulations (Physics, Chemistry), Large databases, Video encoding/decoding Popular Choices: Displacement, Immediate, Register Indirect 12 16b

71 Module Outline Instruction classes. MIPS-I ISA. Addressing modes High level languages, Assembly languages and object code. Subroutine and subroutine call. Translating and starting a program.

72 Extra Slides

73 MIPS-I Data Transfer Instructions Load Mnemonics Example Meaning LB, LBU, LH, LHU, LW, LUI LB R2, 4(R3) LH R2, 4(R3) LW R2, 4(R3) R215-0 Mem(R3 + 4)15-0 R Sign Extension LBU R2, 4(R3) LUI R2, 4(R3) R2 Memory 0x2D8A107F 0x F x104 R3 0x100

74 MIPS-I Data Transfer Instructions Mnemonics Example Meaning Load LB, LBU, LH, LHU, LW, LUI LW R2, 4(R3) R2 Mem(R3 + 4) Store SB, SH, SW SB R2, -8(R4) Mem(R4-8) R2 Move MFHI, MFLO, MTHI, MTLO MFHI R1 R2 HI L: Load S: Store M: Move from/to HI/LO B: Byte (8b), H: Half Word (16b), W: Word (32b) U: Upper I: Immediate

75 MIPS-I Arithmetic Instructions Mnemonics Example Add, Subtract ADD, ADDU, ADDI, ADDIU, SUB, SUBU ADD R1, R2, R3 R1 R2 + R3 ADDI R1, R2, 6 R1 R2 + 6 Multiply, Divide MULT, DIV, MULTU, DIVU MULT R1, R2 Divide Operation Quotient in LO, Remainder in HI Meaning LO lsw (R1 * R2) HI msw (R1 * R2)

76 x86 (IA-32) Instruction Encoding Instruction Prefix Up to four prefixes (1 byte each) Opcode 1, 2 or 3B ModR/M Scale,Index Base 1B (if needed) 1B (if needed) Displace ment Immediate 0,1,2, or 4B 0,1,2, or 4B (if needed) (if needed) x86 and x86-64 instruction format Possible instructions 1 to 18 bytes long REP MOVSB

77 ISA Examples

78 Arithmetic Example C code: f = (g + h) - (i + j); {f,g,h,i,j} in {$s0,$s1,$s2,$s3,$s4} Compiled MIPS code: add $t0, $s1, $s2 add $t1, $s3, $s4 sub $s0, $t0, $t1

79 R-format Example op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits add $t0, $s1, $s2 special $s1 $s2 $t0 0 add =

80 I-format Example op rs rt constant or address 6 bits 5 bits 5 bits 16 bits addi $t0, $s1, 10 addi $s1 $t = A16

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Pipeline Hazards See P&H Chapter 4.7 Hakim Weatherspoon CS 341, Spring 213 Computer Science Cornell niversity Goals for Today Data Hazards Revisit Pipelined Processors Data dependencies Problem, detection,

More information

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Pipeline Hazards See P&H Chapter 4.7 Hakim Weatherspoon CS 341, Spring 213 Computer Science Cornell niversity Goals for Today Data Hazards Revisit Pipelined Processors Data dependencies Problem, detection,

More information

Anne Bracy CS 3410 Computer Science Cornell University. [K. Bala, A. Bracy, S. McKee, E. Sirer, H. Weatherspoon]

Anne Bracy CS 3410 Computer Science Cornell University. [K. Bala, A. Bracy, S. McKee, E. Sirer, H. Weatherspoon] Anne Bracy CS 3410 Computer Science Cornell University [K. Bala, A. Bracy, S. McKee, E. Sirer, H. Weatherspoon] Prog. Mem PC +4 inst Reg. File 5 5 5 control ALU Data Mem Fetch Decode Execute Memory WB

More information

FabComp: Hardware specication

FabComp: Hardware specication Sol Boucher and Evan Klei CSCI-453-01 04/28/14 FabComp: Hardware specication 1 Hardware The computer is composed of a largely isolated data unit and control unit, which are only connected by a couple of

More information

Hakim Weatherspoon CS 3410 Computer Science Cornell University

Hakim Weatherspoon CS 3410 Computer Science Cornell University Hakim Weatherspoon CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, McKee, and Sirer. memory inst register

More information

Pipelined MIPS Datapath with Control Signals

Pipelined MIPS Datapath with Control Signals uction ess uction Rs [:26] (Opcode[5:]) [5:] ranch luor. Decoder Pipelined MIPS path with Signals luor Raddr at Five instruction sequence to be processed by pipeline: op [:26] rs [25:2] rt [2:6] rd [5:]

More information

Improving Performance: Pipelining!

Improving Performance: Pipelining! Iproving Perforance: Pipelining! Meory General registers Meory ID EXE MEM WB Instruction Fetch (includes PC increent) ID Instruction Decode + fetching values fro general purpose registers EXE EXEcute arithetic/logic

More information

6.823 Computer System Architecture Prerequisite Self-Assessment Test Assigned Feb. 6, 2019 Due Feb 11, 2019

6.823 Computer System Architecture Prerequisite Self-Assessment Test Assigned Feb. 6, 2019 Due Feb 11, 2019 6.823 Computer System Architecture Prerequisite Self-Assessment Test Assigned Feb. 6, 2019 Due Feb 11, 2019 http://csg.csail.mit.edu/6.823/ This self-assessment test is intended to help you determine your

More information

COSC 6385 Computer Architecture. - Tomasulos Algorithm

COSC 6385 Computer Architecture. - Tomasulos Algorithm COSC 6385 Computer Architecture - Tomasulos Algorithm Fall 2008 Analyzing a short code-sequence DIV.D F0, F2, F4 ADD.D F6, F0, F8 S.D F6, 0(R1) SUB.D F8, F10, F14 MUL.D F6, F10, F8 1 Analyzing a short

More information

Lecture 14: Instruction Level Parallelism

Lecture 14: Instruction Level Parallelism Lecture 14: Instruction Level Parallelism Last time Pipelining in the real world Today Control hazards Other pipelines Take QUIZ 10 over P&H 4.10-15, before 11:59pm today Homework 5 due Thursday March

More information

UC Berkeley CS61C : Machine Structures

UC Berkeley CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 20 Synchronous Digital Systems Blu-ray vs HD-DVD war over? As you know, there are two different, competing formats for the next

More information

Chapter 3: Computer Organization Fundamentals. Oregon State University School of Electrical Engineering and Computer Science.

Chapter 3: Computer Organization Fundamentals. Oregon State University School of Electrical Engineering and Computer Science. Chapter 3: Computer Organization Fundamentals Prof. Ben Lee Oregon State University School of Electrical Engineering and Computer Science Chapter Goals Understand the organization of a computer system

More information

CS152: Computer Architecture and Engineering Introduction to Pipelining. October 22, 1997 Dave Patterson (http.cs.berkeley.

CS152: Computer Architecture and Engineering Introduction to Pipelining. October 22, 1997 Dave Patterson (http.cs.berkeley. CS152: Computer Architecture and Engineering Introduction to Pipelining October 22, 1997 Dave Patterson (http.cs.berkeley.edu/~patterson) lecture slides: http://www-inst.eecs.berkeley.edu/~cs152/ cs 152

More information

Computer Architecture ELE 475 / COS 475 Slide Deck 6: Superscalar 3. David Wentzlaff Department of Electrical Engineering Princeton University

Computer Architecture ELE 475 / COS 475 Slide Deck 6: Superscalar 3. David Wentzlaff Department of Electrical Engineering Princeton University Computer Architecture ELE 475 / COS 475 Slide Deck 6: Superscalar 3 David Wentzlaff Department of Electrical Engineering Princeton University 1 Agenda SpeculaJon and Branches Register Renaming Memory DisambiguaJon

More information

CMU Introduction to Computer Architecture, Spring 2013 HW 3 Solutions: Microprogramming Wrap-up and Pipelining

CMU Introduction to Computer Architecture, Spring 2013 HW 3 Solutions: Microprogramming Wrap-up and Pipelining CMU 18-447 Introduction to Computer Architecture, Spring 2013 HW 3 Solutions: Microprogramming Wrap-up and Pipelining Instructor: Prof. Onur Mutlu TAs: Justin Meza, Yoongu Kim, Jason Lin 1 Adding the REP

More information

EE 6502 UNIT-II PROGRAMMING OF 8085 MICROPROCESSOR. Prepared by S.Sayeekumar, AP/RMDEEE

EE 6502 UNIT-II PROGRAMMING OF 8085 MICROPROCESSOR. Prepared by S.Sayeekumar, AP/RMDEEE EE 6502 UNIT-II PROGRAMMING OF 8085 MICROPROCESSOR Prepared by S.Sayeekumar, AP/RMDEEE 7 12 15 PSW (Program Status word) - Flag unaffected * affected 0 reset 1 set S Sign

More information

Computer Architecture 计算机体系结构. Lecture 3. Instruction-Level Parallelism I 第三讲 指令级并行 I. Chao Li, PhD. 李超博士

Computer Architecture 计算机体系结构. Lecture 3. Instruction-Level Parallelism I 第三讲 指令级并行 I. Chao Li, PhD. 李超博士 Computer Architecture 计算机体系结构 Lecture 3. Instruction-Level Parallelism I 第三讲 指令级并行 I Chao Li, PhD. 李超博士 SJTU-SE346, Spring 2018 Review ISA, micro-architecture, physical design Evolution of ISA CISC vs

More information

To read more. CS 6354: Tomasulo. Intel Skylake. Scheduling. How can we reorder instructions? Without changing the answer.

To read more. CS 6354: Tomasulo. Intel Skylake. Scheduling. How can we reorder instructions? Without changing the answer. To read more CS 6354: Tomasulo 21 September 2016 This day s paper: Tomasulo, An Efficient Algorithm for Exploiting Multiple Arithmetic Units Supplementary readings: Hennessy and Patterson, Computer Architecture:

More information

Advanced Superscalar Architectures. Speculative and Out-of-Order Execution

Advanced Superscalar Architectures. Speculative and Out-of-Order Execution 6.823, L16--1 Advanced Superscalar Architectures Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Speculative and Out-of-Order Execution Branch Prediction kill kill Branch

More information

CS 6354: Tomasulo. 21 September 2016

CS 6354: Tomasulo. 21 September 2016 1 CS 6354: Tomasulo 21 September 2016 To read more 1 This day s paper: Tomasulo, An Efficient Algorithm for Exploiting Multiple Arithmetic Units Supplementary readings: Hennessy and Patterson, Computer

More information

Chapter 10 And, Finally... The Stack

Chapter 10 And, Finally... The Stack Chapter 10 And, Finally... The Stack Stacks: An Abstract Data Type A LIFO (last-in first-out) storage structure. The first thing you put in is the last thing you take out. The last thing you put in is

More information

CIS 662: Sample midterm w solutions

CIS 662: Sample midterm w solutions CIS 662: Sample midterm w solutions 1. (40 points) A processor has the following stages in its pipeline: IF ID ALU1 MEM1 MEM2 ALU2 WB. ALU1 stage is used for effective address calculation for loads, stores

More information

Programming Languages (CS 550)

Programming Languages (CS 550) Programming Languages (CS 550) Mini Language Compiler Jeremy R. Johnson 1 Introduction Objective: To illustrate how to map Mini Language instructions to RAL instructions. To do this in a systematic way

More information

CS 152 Computer Architecture and Engineering

CS 152 Computer Architecture and Engineering CS 152 Computer Architecture and Engineering Lecture 23 Synchronization 2006-11-16 John Lazzaro (www.cs.berkeley.edu/~lazzaro) TAs: Udam Saini and Jue Sun www-inst.eecs.berkeley.edu/~cs152/ 1 Last Time:

More information

Pipelining A B C D. Readings: Example: Doing the laundry. Ann, Brian, Cathy, & Dave. each have one load of clothes to wash, dry, and fold

Pipelining A B C D. Readings: Example: Doing the laundry. Ann, Brian, Cathy, & Dave. each have one load of clothes to wash, dry, and fold Pipelining Readings: 4.5-4.8 Example: Doing the laundry Ann, Brian, Cathy, & Dave A B C D each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes Folder takes

More information

Code Scheduling & Limitations

Code Scheduling & Limitations This Unit: Static & Dynamic Scheduling CIS 371 Computer Organization and Design Unit 11: Static and Dynamic Scheduling App App App System software Mem CPU I/O Code scheduling To reduce pipeline stalls

More information

CSCI 510: Computer Architecture Written Assignment 2 Solutions

CSCI 510: Computer Architecture Written Assignment 2 Solutions CSCI 510: Computer Architecture Written Assignment 2 Solutions The following code does compution over two vectors. Consider different execution scenarios and provide the average number of cycles per iterion

More information

PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS

PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 1 submission

More information

Parallelism I: Inside the Core

Parallelism I: Inside the Core Parallelism I: Inside the Core 1 The final Comprehensive Same general format as the Midterm. Review the homeworks, the slides, and the quizzes. 2 Key Points What is wide issue mean? How does does it affect

More information

Direct-Mapped Cache Terminology. Caching Terminology. TIO Dan s great cache mnemonic. UCB CS61C : Machine Structures

Direct-Mapped Cache Terminology. Caching Terminology. TIO Dan s great cache mnemonic. UCB CS61C : Machine Structures Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 31 Caches II 2008-04-12 HP has begun testing research prototypes of a novel non-volatile memory element, the

More information

CIS 371 Computer Organization and Design

CIS 371 Computer Organization and Design CIS 371 Computer Organization and Design Unit 10: Static & Dynamic Scheduling Slides developed by M. Martin, A.Roth, C.J. Taylor and Benedict Brown at the University of Pennsylvania with sources that included

More information

DAT105: Computer Architecture Study Period 2, 2009 Exercise 2 Chapter 2: Instruction-Level Parallelism and Its Exploitation

DAT105: Computer Architecture Study Period 2, 2009 Exercise 2 Chapter 2: Instruction-Level Parallelism and Its Exploitation Study Period 2, 29 Exercise 2 Chapter 2: Instruction-Level Parallelism and Its Exploitation Mafijul Islam Department of Computer Science and Engineering November 12, 29 Study Period 2, 29 Goals: To understand

More information

CIS 371 Computer Organization and Design

CIS 371 Computer Organization and Design CIS 371 Computer Organization and Design Unit 10: Static & Dynamic Scheduling Slides developed by Milo Martin & Amir Roth at the University of Pennsylvania with sources that included University of Wisconsin

More information

In-Place Associative Computing:

In-Place Associative Computing: In-Place Associative Computing: A New Concept in Processor Design 1 Page Abstract 3 What s Wrong with Existing Processors? 3 Introducing the Associative Processing Unit 5 The APU Edge 5 Overview of APU

More information

Unit 9: Static & Dynamic Scheduling

Unit 9: Static & Dynamic Scheduling CIS 501: Computer Architecture Unit 9: Static & Dynamic Scheduling Slides originally developed by Drew Hilton, Amir Roth and Milo Mar;n at University of Pennsylvania CIS 501: Comp. Arch. Prof. Milo Martin

More information

mith College Computer Science CSC231 Assembly Fall 2017 Week #4 Dominique Thiébaut

mith College Computer Science CSC231 Assembly Fall 2017 Week #4 Dominique Thiébaut mith College Computer Science CSC231 Assembly Fall 2017 Week #4 Dominique Thiébaut dthiebaut@smith.edu How are Integers Stored in Memory? 120 11F 11E 11D 11C 11B 11A 119 118 117 116 115 114 113 112 111

More information

Computer Architecture: Out-of-Order Execution. Prof. Onur Mutlu (editted by Seth) Carnegie Mellon University

Computer Architecture: Out-of-Order Execution. Prof. Onur Mutlu (editted by Seth) Carnegie Mellon University Computer Architecture: Out-of-Order Execution Prof. Onur Mutlu (editted by Seth) Carnegie Mellon University Reading for Today Smith and Sohi, The Microarchitecture of Superscalar Processors, Proceedings

More information

Linear/Gradient Flow Rate Ramping

Linear/Gradient Flow Rate Ramping NEW ERA PUMP SYSTEMS INC. WWW.SYRINGEPUMP.COM (631) 249-1392 FW-1-X FIRMWARE UPGRADE NE-1000 SERIES OF SYRINGE PUMPS This User Manual is an addendum to the standard NE-1000 User Manual and supersedes it.

More information

CS 152 Computer Architecture and Engineering. Lecture 15 - Advanced Superscalars

CS 152 Computer Architecture and Engineering. Lecture 15 - Advanced Superscalars CS 152 Comuter Architecture and Engineering Lecture 15 - Advanced Suerscalars Krste Asanovic Electrical Engineering and Comuter Sciences University of California at Berkeley htt://www.eecs.berkeley.edu/~krste

More information

Optimality of Tomasulo s Algorithm Luna, Dong Gang, Zhao

Optimality of Tomasulo s Algorithm Luna, Dong Gang, Zhao Optimality of Tomasulo s Algorithm Luna, Dong Gang, Zhao Feb 28th, 2002 Our Questions about Tomasulo Questions about Tomasulo s Algorithm Is it optimal (can always produce the wisest instruction execution

More information

CS 152 Computer Architecture and Engineering. Lecture 14 - Advanced Superscalars

CS 152 Computer Architecture and Engineering. Lecture 14 - Advanced Superscalars CS 152 Comuter Architecture and Engineering Lecture 14 - Advanced Suerscalars Krste Asanovic Electrical Engineering and Comuter Sciences University of California at Berkeley htt://www.eecs.berkeley.edu/~krste

More information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017 ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 Digital Arithmetic Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletch and Andrew Hilton (Duke) Last

More information

Announcements. Programming assignment #2 due Monday 9/24. Talk: Architectural Acceleration of Real Time Physics Glenn Reinman, UCLA CS

Announcements. Programming assignment #2 due Monday 9/24. Talk: Architectural Acceleration of Real Time Physics Glenn Reinman, UCLA CS Lipasti, artin, Roth, Shen, Smith, Sohi, Tyson, Vijaykumar GAS STATION Pipelining II Fall 2007 Prof. Thomas Wenisch http://www.eecs.umich.edu/courses/eecs470 Slides developed in part by Profs. Austin,

More information

ENGN1640: Design of Computing Systems Topic 05: Pipeline Processor Design

ENGN1640: Design of Computing Systems Topic 05: Pipeline Processor Design ENGN64: Design of Computing Systems Topic 5: Pipeline Processor Design Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University

More information

Out-of-order Pipeline. Register Read. OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide)

Out-of-order Pipeline. Register Read. OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide) Out-of-order Pipeline Register Read When do instructions read the register file? Fetch Decode Rename Dispatch Buffer of instructions Issue Reg-read Execute Writeback Commit Option #: after select, right

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 20: Multiplier Design

CMPEN 411 VLSI Digital Circuits Spring Lecture 20: Multiplier Design CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 20: Multiplier Design [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN 411

More information

Advanced Superscalar Architectures

Advanced Superscalar Architectures Advanced Suerscalar Architectures Krste Asanovic Laboratory for Comuter Science Massachusetts Institute of Technology Physical Register Renaming (single hysical register file: MIPS R10K, Alha 21264, Pentium-4)

More information

Electro Pneumatic Workbench Scientech 2470

Electro Pneumatic Workbench Scientech 2470 Scientech 2470 Electro Pneumatic Workbench is designed to demonstrate the design, construction and application of Pneumatic components and circuits. It integrates PLC technology to build Hybrid Industrial

More information

ASAM ATX. Automotive Test Exchange Format. XML Schema Reference Guide. Base Standard. Part 2 of 2. Version Date:

ASAM ATX. Automotive Test Exchange Format. XML Schema Reference Guide. Base Standard. Part 2 of 2. Version Date: ASAM ATX Automotive Test Exchange Format Part 2 of 2 Version 1.0.0 Date: 2012-03-16 Base Standard by ASAM e.v., 2012 Disclaimer This document is the copyrighted property of ASAM e.v. Any use is limited

More information

Code Generation Part III

Code Generation Part III 1 Code Generation Part III Chapters 8 and 9.1 (1 st ed. Ch.9) COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University, 2007-2013 2 Classic Examples of Local and Global Code

More information

Warped-Compression: Enabling Power Efficient GPUs through Register Compression

Warped-Compression: Enabling Power Efficient GPUs through Register Compression WarpedCompression: Enabling Power Efficient GPUs through Register Compression Sangpil Lee, Keunsoo Kim, Won Woo Ro (Yonsei University*) Gunjae Koo, Hyeran Jeon, Murali Annavaram (USC) (*Work done while

More information

Correlation to the Common Core State Standards

Correlation to the Common Core State Standards Correlation to the Common Core State Standards Go Math! 2011 Grade 3 Common Core is a trademark of the National Governors Association Center for Best Practices and the Council of Chief State School Officers.

More information

RAM-Type Interface for Embedded User Flash Memory

RAM-Type Interface for Embedded User Flash Memory June 2012 Introduction Reference Design RD1126 MachXO2-640/U and higher density devices provide a User Flash Memory (UFM) block, which can be used for a variety of applications including PROM data storage,

More information

Registers Shift Registers Accumulators Register Files Register Transfer Language. Chapter 8 Registers. SKEE2263 Digital Systems

Registers Shift Registers Accumulators Register Files Register Transfer Language. Chapter 8 Registers. SKEE2263 Digital Systems Chapter 8 Registers SKEE2263 igital Systems Mun im Zabidi {munim@utm.my} Ismahani Ismail {ismahani@fke.utm.my} Izam Kamisian {e-izam@utm.my} Faculty of Electrical Engineering, Universiti Teknologi Malaysia

More information

EEM 451: Industrial Control Systems

EEM 451: Industrial Control Systems EEM 451: Industrial Control Systems Hakkı UIaş Ünal EEM 451-l4 p. 1/53 Outline Process Industry Process Control Relay PLC Programmable Logical Controller (PLC) Application Areas Features Structure of a

More information

Price List & Technical Manual August

Price List & Technical Manual August Price List & Technical Manual August 2009 Pacific Clip Shelving 11 2 offers the versatility of inter-changeable components for all open and closed shelving units, the option of assembling with bolts and

More information

Lecture 31 Caches II TIO Dan s great cache mnemonic. Issues with Direct-Mapped

Lecture 31 Caches II TIO Dan s great cache mnemonic. Issues with Direct-Mapped CS61C L31 Caches II (1) inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 31 Caches II 26-11-13 Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia GPUs >> CPUs? Many are using

More information

Data$Operation$Instructions. Data$Operation

Data$Operation$Instructions. Data$Operation Data$Operation$Instructions 1 Data$Operation ARM&can&only&perform&data&operations&on&registers.& All&data&operation&instructions&can&be&extended&by& adding&a&suffix&to&the&instructions. execute&conditionally&by&adding&the&conditional&suffix.&

More information

TM8723. User s Manual

TM8723. User s Manual TM8723 4-Bit Micro-Controller with LCD Driver User s Manual tenx technology, inc. tenx technology, inc. CONTENTS CHAPTER 1 General Description... 3 1-1 General Description... 3 1-2 Features... 3 1-3 Block

More information

Improving Onboard DS-ATC Equipment Functions in Response to Shinkansen Service Expansion

Improving Onboard DS-ATC Equipment Functions in Response to Shinkansen Service Expansion Hitachi Review Vol. 66 (2017), No. 2 167 Featured Articles III Improving Onboard DS-ATC Equipment Functions in Response to Shinkansen Service Expansion Hiroyuki Yokoyama Satomi Minesaki Tomohide Kidachi

More information

CH 19 MEASURING LENGTH

CH 19 MEASURING LENGTH CH 9 MEASURING LENGTH The Basic Facts: inches (in), feet (ft), yards (yd), and miles (mi) 2 in = ft = yd = mi Note that the smallest of the four units is inch, while the largest is mile. The word inch

More information

Decoupling Loads for Nano-Instruction Set Computers

Decoupling Loads for Nano-Instruction Set Computers Decoupling Loads for Nano-Instruction Set Computers Ziqiang (Patrick) Huang, Andrew Hilton, Benjamin Lee Duke University {ziqiang.huang, andrew.hilton, benjamin.c.lee}@duke.edu ISCA-43, June 21, 2016 1

More information

ELM327 OBD to RS232 Interpreter

ELM327 OBD to RS232 Interpreter OBD to RS232 Interpreter Description Almost all new automobiles produced today are required, by law, to provide an interface from which test equipment can obtain diagnostic information. The data transfer

More information

EECS 583 Class 9 Classic Optimization

EECS 583 Class 9 Classic Optimization EECS 583 Class 9 Classic Optimization University of Michigan September 28, 2016 Generalizing Dataflow Analysis Transfer function» How information is changed by something (BB)» OUT = GEN + (IN KILL) /*

More information

Examples using gdb. Text shown in bold red is what the user types.

Examples using gdb. Text shown in bold red is what the user types. Examples using gdb. Text shown in bold red is what the user types. Example 1:.section.text.global main.type main, %function main: push {r4-r6, lr} mov r6, #10 sub r4, r6, #1 sub r5, r6, #7 mul r6, r4,

More information

PRISM TM Refining and Marketing Industry Analysis

PRISM TM Refining and Marketing Industry Analysis PRISM TM Refining and Marketing Industry Analysis PRISM is a trademark of Baker & O Brien, Inc. All rights reserved. Baker & O Brien, Inc. All rights reserved. Baker & O Brien Overview History Founded

More information

Multi-Chemistry Battery Charger Supports Maximum Power Point Tracking for Solar Panels

Multi-Chemistry Battery Charger Supports Maximum Power Point Tracking for Solar Panels Multi-Chemistry Battery Charger Supports Maximum Power Point Tracking for Solar Panels Trevor Barcelo The is a versatile synchronous step-down charger capable of supporting a variety of battery chemistries

More information

Rotel RSX-1065 RS232 HEX Protocol

Rotel RSX-1065 RS232 HEX Protocol Rotel RSX-1065 RS232 HEX Protocol Date Version Update Description February 7, 2012 1.00 Original Specification The RS232 protocol structure for the RSX-1065 is detailed below. This is a HEX based communication

More information

APPLICATION NOTE Application Note for Torque Down Capper Application

APPLICATION NOTE Application Note for Torque Down Capper Application Application Note for Torque Down Capper Application 1 Application Note for Torque Down Capper using ASDA-A2 servo Contents Application Note for Capper Axis with Reject Queue using ASDA-A2 servo... 2 1

More information

Pectel T2 ECU Technical documentation Release 1.00 INTRODUCTION

Pectel T2 ECU Technical documentation Release 1.00 INTRODUCTION Pectel T2 ECU Pectel T2 INTRODUCTION AIM has developed special applications for many of the most popular ECUs: by special applications we mean user-friendly systems which allow to easily connect your ECU

More information

EL In-Place Inclinometer

EL In-Place Inclinometer EL In-Place Inclinometer 56804199 Copyright 1999 Slope Indicator Company. All Rights Reserved. This equipment should be installed, maintained, and operated by technically qualified personnel. Any errors

More information

Topics on Compilers. Introduction to CGRA

Topics on Compilers. Introduction to CGRA 4541.775 Topics on Compilers Introduction to CGRA Spring 2011 Reconfigurable Architectures reconfigurable hardware (reconfigware) implement specific hardware structures dynamically and on demand high performance

More information

Rotel RSX-1067 RS232 HEX Protocol

Rotel RSX-1067 RS232 HEX Protocol Rotel RSX-1067 RS232 HEX Protocol Date Version Update Description February 7, 2012 1.00 Original Specification The RS232 protocol structure for the RSX-1067 is detailed below. This is a HEX based communication

More information

Contents. Preface... xiii Introduction... xv. Chapter 1: The Systems Approach to Control and Instrumentation... 1

Contents. Preface... xiii Introduction... xv. Chapter 1: The Systems Approach to Control and Instrumentation... 1 Contents Preface... xiii Introduction... xv Chapter 1: The Systems Approach to Control and Instrumentation... 1 Chapter Overview...1 Concept of a System...2 Block Diagram Representation of a System...3

More information

UNIVERSITY OF CALIFORNIA, IRVINE THESIS MASTER OF SCIENCE

UNIVERSITY OF CALIFORNIA, IRVINE THESIS MASTER OF SCIENCE UNIVERSITY OF CALIFORNIA, IRVINE Several DVB-T Cores Mapping into MorphoSys Architecture THESIS submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in Electrical and

More information

ECE 552 / CPS 550 Advanced Computer Architecture I. Lecture 10 Instruction-Level Parallelism Part 3

ECE 552 / CPS 550 Advanced Computer Architecture I. Lecture 10 Instruction-Level Parallelism Part 3 ECE 552 / CPS 550 Advanced Comuter Architecture I Lecture 10 Instruction-Level Parallelism Part 3 Benjamin Lee Electrical and Comuter Engineering Duke University www.duke.edu/~bcl15 www.duke.edu/~bcl15/class/class_ece252fall12.html

More information

Introduction to Digital Techniques

Introduction to Digital Techniques to Digital Techniques Dan I. Porat, Ph.D. Stanford Linear Accelerator Center Stanford University, California Arpad Barna, Ph.D. Hewlett-Packard Laboratories Palo Alto, California John Wiley and Sons New

More information

ELM327 OBD to RS232 Interpreter

ELM327 OBD to RS232 Interpreter OBD to RS232 Interpreter Description Almost all new automobiles produced today are required, by law, to provide an interface from which test equipment can obtain diagnostic information. The data transfer

More information

Grade 3: Houghton Mifflin Math correlated to Riverdeep Destination Math

Grade 3: Houghton Mifflin Math correlated to Riverdeep Destination Math 1 : correlated to Unit 1 Chapter 1 Uses of Numbers 4A 4B, 4 5 Place Value: Ones, Tens, and Hundreds 6A 6B, 6 7 How Big is One Thousand? 8A 8B, 8 9 Place Value Through Thousands 10A 10B, 10 11, 12 13 Problem-Solving

More information

TM8722. User s Manual

TM8722. User s Manual TM8722 4-Bit Micro-Controller with LCD Driver User s Manual tenx technology, inc. tenx technology, inc. CONTENTS CHAPTER 1 General Description... 3 1-1 General Description... 3 1-2 Features... 3 1-3 Block

More information

2017 Oklahoma Income Tax Table

2017 Oklahoma Income Tax Table Instructions... Use this table if your taxable income is $100,000. If your taxable income is $100,000 or more, use the tax computation on the lower portion of page 31. For an example, see the box to the

More information

Parametrization of Steering Models and. Analysis of Driving Maneuvers with. MXsteeringdesigner and MXevaluation

Parametrization of Steering Models and. Analysis of Driving Maneuvers with. MXsteeringdesigner and MXevaluation Parametrization of Steering Models and Analysis of Driving Maneuvers with MXsteeringdesigner and MXevaluation by Matthias Becker and Matthias Niegl 20.09.2016 1 MXsteeringdesigner MXsteeringdesigner 20.09.2016

More information

Drive Application Software

Drive Application Software Drive Application Software Function Module Inertia Compensation Imperial Units Reference Manual Important User Information Users of this Reference Manual must be familiar with the application this Function

More information

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática Architectures for Embedded Computing MEIC-A, MEIC-T, MERC Lecture Slides Version 3.0 - English Lecture 02

More information

EE 330 Integrated Circuit. Sequential Airbag Controller

EE 330 Integrated Circuit. Sequential Airbag Controller EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei 04/2012 Content...page Introduction...3 Design strategy...3 Input, Output and Registers in the System...4 Initialization Block...5

More information

Workshop Manual Sisu Diesel

Workshop Manual Sisu Diesel Workshop Manual Sisu Diesel If you are searching for the ebook Workshop manual sisu diesel in pdf format, in that case you come on to right website. We furnish the utter variant of this book in epub, PDF,

More information

Fault Attacks Made Easy: Differential Fault Analysis Automation on Assembly Code

Fault Attacks Made Easy: Differential Fault Analysis Automation on Assembly Code Fault Attacks Made Easy: Differential Fault Analysis Automation on Assembly Code Jakub Breier, Xiaolu Hou and Yang Liu 10 September 2018 1 / 25 Table of Contents 1 Background and Motivation 2 Overview

More information

EL In-Place Inclinometer Multiplexed Version

EL In-Place Inclinometer Multiplexed Version EL In-Place Inclinometer Multiplexed Version 56804599 Copyright 2000 Slope Indicator Company. All Rights Reserved. This equipment should be installed, maintained, and operated by technically qualified

More information

1. Historical background of I2C I2C from a hardware perspective Bus Architecture The Basic I2C Protocol...

1. Historical background of I2C I2C from a hardware perspective Bus Architecture The Basic I2C Protocol... Table of contents CONTENTS 1. Historical background of I2C... 16 2. I2C from a hardware perspective... 18 3. Bus Architecture... 22 3.1. Basic Terminology... 23 4. The Basic I2C Protocol... 24 4.1. Flowchart...

More information

Open Drive Excellence in the control

Open Drive Excellence in the control Open Drive Excellence in the control dep open drive-gb.indd 1 2-12-2005 15:34:04 FIELD BUS Can Open Ethernet Profi bus Modbus Open Drive POWER MODULARITY AND FLEXIBILITY: FEEDBACK TTL line driver incremental

More information

ZT-USB Series User Manual

ZT-USB Series User Manual ZT-USB Series User Manual Warranty Warning Copyright All products manufactured by ICP DAS are under warranty regarding defective materials for a period of one year, beginning from the date of delivery

More information

Missouri Learning Standards Grade-Level Expectations - Mathematics

Missouri Learning Standards Grade-Level Expectations - Mathematics A Correlation of 2017 To the Missouri Learning Standards - Mathematics Kindergarten Grade 5 Introduction This document demonstrates how Investigations 3 in Number, Data, and Space, 2017, aligns to, Grades

More information

ULB Gen3 Reference Manual. G02355-xx

ULB Gen3 Reference Manual. G02355-xx ULB Gen3 Reference Manual G02355-xx AC Power: The ULB accepts 100-250VAC input. The 6.0A / 250V AC power fuse is located between the power switch and the power cord attachment behind the small plastic

More information

Chapter 1: Battery management: State of charge

Chapter 1: Battery management: State of charge Chapter 1: Battery management: State of charge Since the mobility need of the people, portable energy is one of the most important development fields nowadays. There are many types of portable energy device

More information

Houghton Mifflin MATHEMATICS. Level 1 correlated to Chicago Academic Standards and Framework Grade 1

Houghton Mifflin MATHEMATICS. Level 1 correlated to Chicago Academic Standards and Framework Grade 1 State Goal 6: Demonstrate and apply a knowledge and sense of numbers, including basic arithmetic operations, number patterns, ratios and proportions. CAS A. Relate counting, grouping, and place-value concepts

More information

KEMKRAFT ENGINEERING, INC. MODEL KEI-234 STEERING WHEEL TORQUE/INCLINOMETER TESTER

KEMKRAFT ENGINEERING, INC. MODEL KEI-234 STEERING WHEEL TORQUE/INCLINOMETER TESTER INSTRUCTION MANUAL STEERING WHEEL TORQUE/ INCLINOMETER SYSTEM MODEL KEI-234 W / INTERNAL BARCODE SCANNER REVISION DATE: 17-AUG-1999 1 GENERAL DESCRIPTION... 3 INSTALLATION... 3 SYSTEM SETUP... 4 To change

More information

$DA ECM DEFINITION FILE

$DA ECM DEFINITION FILE $DA ECM DEFINITION FILE OVERVIEW This document is intended to familiarize you with the features of C.A.T.S. Tuner Program. We do not attempt to provide instruction on engine tuning. The features provided

More information

Principles and types of analog and digital ammeters and voltmeters

Principles and types of analog and digital ammeters and voltmeters Principles and types of analog and digital ammeters and voltmeters Electrical voltage and current are two important quantities in an electrical network. The voltage is the effort variable without which

More information

Electro Pneumatic WorkStation Scientech 2470

Electro Pneumatic WorkStation Scientech 2470 Electro Pneumatic WorkStation is designed to demonstrate the design, construction and application of Pneumatic components and circuits. It integrates PLC technology to build Hybrid Industrial Automation

More information

COMPASS MODULE INSTALLATION & OPERATION MANUAL RMI ROCKY MOUNTAIN INSTRUMENT PO BOX 683 THERMOPOLIS, WY 82443

COMPASS MODULE INSTALLATION & OPERATION MANUAL RMI ROCKY MOUNTAIN INSTRUMENT PO BOX 683 THERMOPOLIS, WY 82443 COMPASS MODULE INSTALLATION & OPERATION MANUAL RMI ROCKY MOUNTAIN INSTRUMENT PO BOX 683 THERMOPOLIS, WY 82443 Table of Contents Technical Specifications Physical... 1 Electrical... 1 Mechanical... 1 Installation

More information