Datapaths Flashcards

1
Q

RTN(s) for the TRAP instruction

A

R7 ⇐ PC; PC ⇐ Mem[ ZEXT(IR[7:0]) ]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

RTN(s) for the JMP instruction

A

PC ⇐ BaseR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

RTN(s) for the ADD instruction - register mode -

A

DR ⇐ SR1 + SR2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

RTN(s) for the ADD instruction - immediate mode -

A

DR ⇐ SR1 + SEXT(IR[4:0])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

RTN(s) for the AND instruction - register mode -

A

DR ⇐ SR1 . SR2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

RTN(s) for the AND instruction - immediate mode -

A

DR ⇐ SR1 . SEXT(IR[4:0])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

RTN(s) for the JSR instruction

A

R7⇐PC; PC ⇐ PC + SEXT(IR[10:0])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

RTN(s) for the NOT instruction

A

DR ⇐ (SR1’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

RTN(s) for the ST instruction

A

Mem[ PC + SEXT(IR[8:0]) ] ⇐ SR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

RTN(s) for the LD instruction

A

DR ⇐ Mem[ PC + SEXT(IR[8:0]) ]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

RTN(s) for the LDR instruction

A

DR ⇐ Mem[ IR[8:6] + SEXT(IR[5:0]) ]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

RTN(s) for the LEA instruction

A

DR ⇐ PC + SEXT(IR[8:0])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

RTN(s) for the STI instruction

A

Mem[ Mem[ PC + SEXT(IR[8:0]) ] ] ⇐ SR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

RTN(s) for the BR instruction

A

PC ⇐ PC + SEXT(IR[8:0]) iff (N.n + Z.z + P.p)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

RTN(s) for the STR instruction

A

Mem[ IR[8:6] + SEXT(IR[5:0]) ] ⇐ SR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

RTN(s) for the JSRR instruction

A

R7 ⇐ PC; PC ⇐ (BaseR)

17
Q

Control Instructions for BR

A
  1. ADDR1MUX selects PC
  2. ADDR2MUX selects SEXT(IR[8:0])
  3. PCMUX selects ADDR ADD
  4. LD.PC iff (N.n + Z.z + P.p)
18
Q

Control Instructions for JSRR

A
  1. GatePC
  2. DRMUX selects [111]
  3. LD.REG
  4. SR1MUX selects IR[8:6] ​
  5. ADDR1MUX selects SR1OUT
  6. ADDR2MUX selects 0
  7. PCMUX selects ADDR ADD
  8. LD.PC
19
Q

Control Instructions for TRAP

A
  1. GatePC
  2. DRMUX selects [111]
  3. LD.REG
  4. MARMUX selects ZEXT(IR[7:0)
  5. Gate.MARMUX
  6. LD.MAR
  7. MEM.EN/R
    a. Wait for R
  8. MDRMUX selects MEM.​
  9. LD.MDR
  10. Gate.MDR​
  11. PCMUX selects bus.
  12. LD.PC
20
Q

Control Instructions for LDR

A
  1. SR1MUX selects IR[8:6]
  2. ADDR1MUX selects SR1OUT
  3. ADDR2MUX selects SEXT(IR[5:0])
  4. MARMUX selects ADDR ADD
  5. Gate.MARMUX
  6. LD.MAR
  7. MEM.EN/R
    a. Wait for R
  8. MDRMUX selects Memory
  9. LD.MDR
  10. Gate.MDR ​
  11. DRMUX selects IR[11:9] ​
  12. LD.REG
21
Q

Control Instructions for ST

A
  1. ADDR1MUX selects PC
  2. ADDR2MUX select SEXT(IR[8:0])
  3. MARMUX selects ADDR ADD
  4. Gate.MARMUX
  5. LD.MAR
  6. SR1MUX selects IR[11:9]
  7. ALUK selects Pass Through
  8. Gate.ALU
  9. MDRMUX selects bus ​
  10. LD.MDR
  11. MEM.EN/W
22
Q

Control Instructions for STI

A
  1. ADDR1MUX selects PC
  2. ADDR2MUX selects SEXT(IR[8:0])
  3. MARMUX selects ADDR ADD
  4. Gate.MARMUX
  5. LD.MAR
  6. MEM.EN/R
    a. Wait for R
  7. MDRMUX selects Memory
  8. LD.MDR
  9. Gate.MDR
  10. LD.MAR
  11. SR1MUX selects IR[11:9]
  12. ALUK selects Pass Through
  13. Gate.ALU
  14. MDRMUX selects Bus
  15. LD.MDR
  16. MEM.EN/W
23
Q

Control Instructions for STR

A
  1. SR1MUX selects IR[8:6]
  2. ADDR1MUX selects SR1OUT
  3. ADDR2MUX selects SEXT(IR[5:0])
  4. MARMUX selects ADDR ADD
  5. Gate.MARMUX
  6. LD.MAR
  7. SR1MUX selects IR[11:9]
  8. ALUK selects Pass Through
  9. Gate.ALU
  10. MDRMUX selects Bus
  11. LD.MDR
  12. MEM.EN/W
24
Q

Control Instructions for JMP/RET

A
  1. SR1MUX selects IR[8:6]
  2. ADDR1MUX selects SR1OUT
  3. ADDR2MUX selects 0
  4. PCMUX selects ADDR ADD
  5. LD.PC
25
Control Instructions for JSR
1. GatePC 2. DRMUX selects [111] ​ 3. LD.REG 4. ADDR1MUX selects PC 5. ADDR2MUX selects SEXT(IR[10:0]) 6. PCMUX selects ADDR ADD 7. LD.PC
26
Control Instructions for JSRR
1. GatePC 2. DRMUX selects [111] ​ 3. LD.REG 4. SR1MUX selects IR[8:6] ​(not shown in the simplified datapath) 5. ADDR1MUX selects SR1OUT 6. ADDR2MUX selects 0 7. PCMUX selects ADDR ADD 8. LD.PC
27
Control Instructions for TRAP
1. GatePC 2. DRMUX selects [111] ​ 3. LD.REG 4. MARMUX selects ZEXT(IR[7:0) 5. Gate.MARMUX 6. LD.MAR 7. MEM.EN/R a. Wait for R 8. MDRMUX selects MEM.​ 9. LD.MDR 10. Gate.MDR​ 11. PCMUX selects bus. 12. LD.PC
28
Control Instructions for ADD (register mode)
1. SR1MUX selects IR[8:6] 2. SR2MUX selects SR2OUT 3. ALUK selects ADD 4. GateALU 5. DRMUX selects IR[11:9] 6. LD.REG
29
Control Instructions for ADD (immediate mode)
1. SR1MUX selects IR[8:6] 2. SR2MUX selects SEXT(IR[4:0]) 3. ALUK selects ADD 4. GateALU 5. DRMUX selects IR[11:9] 6. LD.REG
30
Control Instructions for AND (register mode)
1. SR1MUX selects IR[8:6] 2. SR2MUX selects SR2OUT 3. ALUK selects AND 4. Gate.ALU 5. DRMUX selects IR[11:9] 6. LD.REG
31
Control Instructions for NOT
1. SR1MUX selects IR[8:6] ​ 2. ALUK selects NOT 3. Gate.ALU 4. DRMUX selects IR[11:9] 5. LD.REG
32
Control Instructions for LEA
1. ADDR1MUX selects PC 2. ADDR2MUX selects IR[8:0] 3. MARMUX selects ADDR ADD 4. Gate.MARMUX 5. DRMUX selects IR[11:9] 6. LD.REG
33
Control Instructions for LD
1. ADDR1MUX selects PC 2. ADDR2MUX selects SEXT(IR[8:0]) 3. MARMUX selects ADDR ADD 4. Gate.MARMUX 5. LD.MAR 6. MEM.EN/R a. Wait for R 7. MDRMUX selects Memory 8. LD.MDR 9. Gate.MDR 10. DRMUX selects IR[11:9] 11. LD.REG
34
Control Instructions for LDI
1. ADDR1MUX selects PC 2. ADDR2MUX selects SEXT(IR[8:0]) 3. MARMUX selects ADDR ADD 4. Gate.MARMUX 5. LD.MAR 6. MEM.EN/R a. Wait for R 7. MDRMUX selects Memory 8. LD.MDR 9. Gate.MDR 10. LD.MAR 11. MEM.EN/R a. Wait for R 12. MDRMUX selects Memory 13. LD.MDR 14. Gate.MDR 15. DRMUX selects IR[11:9] 16. LD.REG