Написать подпрограмму acache от двух параметров: a0 = A (некоторый адрес в памяти), и a1 = T — тип эксплуатации кеша. Затем программа читает машинные слова по адресам в диапазоне A … A + 1024 (как минимум, все по разу) в таком порядке, чтобы:
При T < 0 самым эффективным алгоритмом кеширования оказался бы кеш прямого доступа (Direct Mapping) со стандартными настройками (LRU / 1 / 8 / 4 / 128)
При T > 0 самым эффективным алгоритмом кеширования оказался бы ассоциативный кеш (Fully Associative) со стандартными настройками (LRU / 8 / 8 / 4 / 128)
При T == 0 самым эффективным алгоритмом кеширования оказался бы множественно-ассоциативный кеш (N-way Set Associative) с теми же настройками и количеством ассоциативных элементов в банке (Set size) 2
К программе будет приписан такой footer: LecturesCMC/ArchitectureAssembler2024/Homework_VarCache/VarCacheFooter.asm, а его вывод проверен программой моделирования кеша. Для проверки из RARS GUI вместо 0 в тесте можно использовать 268468224 (это $gp)
0 1
<ассоциативный кеш эффективнее>
