вычислите время наихудшего случая для поиска переменной x в памяти

#memory #memory-management #operating-system #tlb

#память #управление памятью #операционная система #tlb

Вопрос:

У меня есть вопрос с экзамена, но я не понимаю решения, может кто-нибудь объяснить решение для меня?

Время доступа к памяти = 2.5*10^-7 sec

второе время памяти = 3*10^-6

Время TLB = 10^-8

Учитывая виртуальный адрес, значение x и таблицу страниц 3 уровня, сколько времени требуется для чтения значения x из памяти в наихудшем случае?

решение заключается : 10^-8 2.5*10^-7 3*(3*10^-6 2*2.5*10^-7) 10^-8 = 1076*10^-7

Комментарии:

1. Я хотел бы знать, в какой школе задают подобные бесполезные вопросы на экзаменах.

Ответ №1:

Довольно очевидно, что решение выполняет 2 поиска в TLB, 7 обращений к памяти и 3 обращения к дополнительной памяти.

Вот этапы процесса:

1) Центральный процессор обращается к TLB, чтобы найти ячейку памяти, к которой привязан виртуальный адрес.

2) Центральный процессор обращается к основной памяти для поиска виртуального адреса. Этот шаг завершается неудачей.

3) Центральный процессор обращается к файлу подкачки (1 обращение к памяти для получения файла подкачки, еще 1 для доступа к записи файла подкачки).

4) Центральный процессор считывает данные из вторичной памяти, чтобы получить страницу, на которую ссылается файл подкачки.

5) Повторите шаги 3 и 4 для каждого уровня в таблице страниц.

Ответ №2:

Насколько я знаю, нет формулы для вычисления наилучшего и наихудшего времени обращений к памяти. Однако на это влияют различные факторы:

  • Ширина доступа. В 32-разрядных x86 8-разрядные и 32-разрядные операции доступа, как правило, выполняются быстрее, чем 16-разрядные.
  • Выровнен ли доступ или нет. Невыровненные обращения, как правило, выполняются медленнее, чем выровненные обращения.
  • Кэшируется ли доступная память. Доступ к кэшированной памяти выполняется быстрее, чем доступ к некэшированной памяти.
  • Домен NUMA доступной памяти. Доступ к памяти, принадлежащей близкому домену NUMA, выполняется быстрее, чем доступ к памяти, принадлежащей удаленному домену NUMA.
  • Включена ли подкачка страниц. Доступ к памяти при включенной подкачке включает в себя обход структур подкачки и, следовательно, выполняется медленнее.
  • Тип памяти. Например, запись в видеопамять выполняется медленнее, чем запись в «обычную» память. Соответственно, чтение из видеопамяти происходит намного, намного, намного медленнее, чем чтение из «обычной» памяти.
  • Другие факторы, которые я забыл упомянуть. Трудно запомнить их все.

Кроме того, влияние каждого из этих факторов зависит от базового оборудования, поэтому было бы действительно сложно изобрести даже формулу приближения, которая вычисляет наилучшее и наихудшее время обращений к памяти.