Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Beispiel BaseAdr: 0xBADBEEF0 = %1011 1010 1101 1011 1110 1110 1111 0000 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 1 LD #0,R3 2 LD 0xBADBEEF0,R2 3 LD 0(R2),R1 0xBADBEEF0 16 7 M 7 M 4 ADD R1,R3,R3 5 LD 2040(R2),R1 0xBADBF6E8 8 7 M 7 M 6 ADD R1,R3,R3 7 LD 4(R2),R1 0xBADBEEF4 20 7 M 7 H 8 ADD R1,R3,R3 9 LD 8(R2),R1 0xBADBEEF8 24 7 H 7 H 10 ADD R1,R3,R3 11 LD 16(R2),R1 0xBADBEF00 0 8 M 0 M 12 ADD R1,R3,R3 13 LD 32(R2),R1 0xBADBEF10 16 8 H 0 H 14 ADD R1,R3,R3 15 LD 64(R2),R1 0xBADBEF30 16 9 M 1 M 16 ADD R1,R3,R3 17 LD 540(R2),R1 0xBADBF10C 12 8 M 0 M 18 ADD R1,R3,R3 19 LD 1020(R2),R1 0xBADBF2EC 12 15 M 7 M 20 ADD R1,R3,R3 21 LD 5000(R2),R1 0xBADC0278 24 11 M 3 M 22 ADD R1,R3,R3 Im Folgenden Beispiel: • 512 Byte Cache • 32 Byte Cache Line • 16 Einträge • Vergleich direct mapped und 2 fach assoziativ • LRU (Least Recently Used) Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 1 BaseAdr: 0xBADBEEF0 = %1011 1010 1101 1011 1110 1110 111 1 0000 Associative Tag: 0xBADBEE DM Tag: 0x5D6DF7 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 3 LD 0(R2),R1 0xBADBEEF0 16 7 M 7 M 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 NV NV 1 NV NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE NV IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 NV 9 NV 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 2 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 5 LD 2040(R2),R1 0xBADBF6E8 8 7 M 7 M 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 NV NV 1 NV NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DFB 8 NV 9 NV 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV BaseAdr: 0xBADBF6E8 = %1011 1010 1101 1011 1111 0110 111 0 1000 Associative Tag: 0xBADBF6 DM Tag: 0x5D6DFB Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 3 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 7 LD 4(R2),R1 0xBADBEEF4 20 7 M 7 H 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 NV NV 1 NV NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 NV 9 NV 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV BaseAdr: 0xBADBEEF4 = %1011 1010 1101 1011 1110 1110 111 1 0100 Associative Tag: 0xBADBEE DM Tag: 0x5D6DF7 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 4 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 9 LD 8(R2),R1 0xBADBEEF8 24 7 H 7 H 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 NV NV 1 NV NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 NV 9 NV 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV BaseAdr: 0xBADBEEF8 = %1011 1010 1101 1011 1110 1110 111 1 1000 Associative Tag: 0xBADBEE DM Tag: 0x5D6DF7 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 5 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 11 LD 16(R2),R1 0xBADBEF00 0 8 M 0 M 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 0xBADBEF NV 1 NV NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 0x5D6DF7 9 NV 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV BaseAdr: 0xBADBEF00 = %1011 1010 1101 1011 1110 1111 000 0 0000 Associative Tag: 0xBADBEF DM Tag: 0x5D6DF7 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 6 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 13 LD 32(R2),R1 0xBADBEF10 16 8 H 0 H 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 0xBADBEF NV 1 NV NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 0x5D6DF7 9 NV 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV BaseAdr: 0xBADBEF10 = %1011 1010 1101 1011 1110 1111 000 1 0000 Associative Tag: 0xBADBEF DM Tag: 0x5D6DF7 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 7 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 15 LD 64(R2),R1 0xBADBEF30 16 9 M 1 M 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 0xBADBEF NV 1 0xBADBEF NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 0x5D6DF7 9 0x5D6DF7 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV BaseAdr: 0xBADBEF30 = %1011 1010 1101 1011 1110 1111 001 1 0000 Associative Tag: 0xBADBEF DM Tag: 0x5D6DF7 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 8 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 17 LD 540(R2),R1 0xBADBF10C 12 8 M 0 M 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 0xBADBEF 0xBADBF1 1 0xBADBEF NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBEE 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 0x5D6DF8 9 0x5D6DF7 10 NV 11 NV 12 NV 13 NV 14 NV 15 NV BaseAdr: 0xBADBF10C = %1011 1010 1101 1011 1111 0001 000 0 1100 Associative Tag: 0xBADBF1 DM Tag: 0x5D6DF8 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 9 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 19 LD 1020(R2),R1 0xBADBF2EC 12 15 M 7 M 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 0xBADBEF 0xBADBF1 1 0xBADBEF NV 2 NV NV 3 NV NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBF2 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 0x5D6DF8 9 0x5D6DF7 10 NV 11 NV 12 NV 13 NV 14 NV 15 0x5D6DF9 BaseAdr: 0xBADBF2EC = %1011 1010 1101 1011 1111 0010 111 0 1100 Associative Tag: 0xBADBF2 DM Tag: 0x5D6DF9 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Tags 10 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 21 LD 5000(R2),R1 0xBADC0278 24 11 M 3 M 512 Byte direct mapped cache 512 Byte 2-fach associative cache IDX Tag 0 Tag 1 0 0xBADBEF 0xBADBF1 1 0xBADBEF NV 2 NV NV 3 0xBADC02 NV 4 NV NV 5 NV NV 6 NV NV 7 0xBADBF2 0xBADBF6 IDX Tag 0 NV 1 NV 2 NV 3 NV 4 NV 5 NV 6 NV 7 0x5D6DF7 8 0x5D6DF8 9 0x5D6DF7 10 NV 11 0x5D6E01 12 NV 13 NV 14 NV 15 0x5D6DF9 BaseAdr: 0xBADC0278 = %1011 1010 1101 1100 0000 0010 011 1 1000 Associative Tag: 0xBADC02 DM Tag: 0x5D6E01 Volker Lindenstruth (www.compeng.de) 12. November 2019— Copyright ©, Goethe Uni, alle Rechte vorbehalten Cache Example BaseAdr: 0xBADBEEF0 = %1011 1010 1101 1011 1110 1110 1111 0000 # Inst. Adr. Sub Adr. IDX D.M. IDX 2 assoc. 1 LD #0,R3 2 LD 0xBADBEEF0,R2 3 LD 0(R2),R1 0xBADBEEF0 16 7 M 7 M 4 ADD R1,R3,R3 5 LD 2040(R2),R1 0xBADBF6E8 8 7 M 7 M 6 ADD R1,R3,R3 7 LD 4(R2),R1 0xBADBEEF4 20 7 M 7 H 8 ADD R1,R3,R3 9 LD 8(R2),R1 0xBADBEEF8 24 7 H 7 H 10 ADD R1,R3,R3 11 LD 16(R2),R1 0xBADBEF00 0 8 M 0 M 12 ADD R1,R3,R3 13 LD 32(R2),R1 0xBADBEF10 16 8 H 0 H 14 ADD R1,R3,R3 15 LD 64(R2),R1 0xBADBEF30 16 9 M 1 M 16 ADD R1,R3,R3 17 LD 540(R2),R1 0xBADBF10C 12 8 M 0 M 18 ADD R1,R3,R3 19 LD 1020(R2),R1 0xBADBF2EC 12 15 M 7 M 20 ADD R1,R3,R3 21 LD 5000(R2),R1 0xBADC0278 24 11 M 3 M 22 ADD R1,R3,R3
欢迎咨询51作业君