Мне нужно решить это упражнение, и я просто не могу понять, как его решить.
Вопрос
Consider that you have three matrices:
long A[8][64];
long B[8][64];
long C[8][64];
The page size in this system is 1024 Bytes and a long occupies 8 Bytes. The cache has 3 Page-Frames for pages. At the beginning, the cache is empty. The system uses LRU algorithm and Modify-Bit.
Given the following code:Program Afor(i = 0; i < 8; i++) { for(j = 0; j < 64; j++) { A[i][j] = B[i][j] + C[i][j]; }}
Program Bfor(j = 0; j < 64; i++) { for(i = 0; i < 8; j++) { A[i][j] = B[i][j] + C[i][j]; }}A) How many Page-Faults are generated by program A?
B) How many Swap-Outs are generated by program A?
C) How many Page-Faults are generated by program B?
D) How many Swap-Outs are generated by program B?
Спасибо вам всем!!
Это упражнение решается путем применения вещей, которые вы повторно узнали в своем классе. Убедитесь, что все термины и выражения вам понятны. Если не искать их, желательно в учебнике, рекомендованном человеком, который дал вам задание. В этом особом случае вы должны действовать как компилятор и процессор и демонстрировать свое понимание, применяя концепции самостоятельно. После этого вы узнаете запрошенный номер. В качестве альтернативы, но, на мой взгляд, маловероятно, вас попросят скомпилировать код, запустить его на платформе с заданными атрибутами с помощью отладчика и выяснить это.
Это, как и все вопросы, которые производят впечатление слепой домашней свалки, слишком широки, чтобы на них можно было ответить. Продемонстрируйте свои собственные усилия, превратив части кода в компилируемые программы и объяснив как можно больше упомянутых технических терминов. Затем представьте выполняемые программы и опишите, что, по вашему мнению, произойдет.
Ребята, это всегда комментарии к домашнему заданию. У меня больше нет уроков, поэтому у меня нет домашних заданий. Буду признателен за ответ на вопрос.
@AlexandreSerra: если «кеш» - это «резервный буфер трансляции» (а не «кеш данных»), и если ЦП автоматически выбирает трансляцию из ОЗУ при промахе TLB; и если оперативной памяти достаточно (может быть, 16 КиБ или больше); тогда все ответы - «нулевые ошибки страниц и нулевые подкачки».
Откуда в (* & @ #) возник такой вопрос? На этот вопрос нельзя ответить, если не квалифицировать его как «по крайней мере». Я недоумеваю, почему университеты усложняют компьютерное программирование бессмысленными вопросами вроде этого.
Вы хотите получить ответ на этот вопрос, будь то домашнее задание или нет. Вы работали над таким ответом, например следуя моему описанию? Какого рода ответа вы ожидаете, который не был бы получен при применении той же концепции? Какую пользу принесет вам ответ, если вы не придете к нему, сделав это самостоятельно? То есть, если кто-то ответит, например, «30, 32, 26 и 30», что это вам поможет?
@Yunnosch Мне было бы полезно, если бы кто-нибудь объяснил мне, как это делается. Не дайте точной информации. О просто нужно объяснение
Вы прочитали мой первый комментарий? Я имел в виду, что это именно то, о чем вы сейчас прямо просите.
@Yunnosch ты был на моих занятиях? Мой учитель не предоставил никаких материалов по этому поводу. Я в этом уверен. Но в любом случае, поскольку всех больше беспокоит, является ли это домашним заданием, я закрою эту ветку.





в вашем вопросе указано «два» массива, но фактический код использует «три» массива. Опубликованные фрагменты кода не являются исполняемыми (они не компилируются). Насколько велики исполняемые файлы в байтах?