Я читаю «компьютерную организацию и дизайн аппаратного/программного интерфейса» в испанском издании, и я столкнулся с упражнением, которое я не могу решить. Упражнение касается иерархии памяти, в частности кэшей.Время загрузки кэша CPU
упражнение говорит:
Если 2,5 нс требуется для доступа метки в N-ассоциативным кэшем, 4 нс для доступа к данным, 1 нс для попадания/сравнения отказов и 1 нс, чтобы вернуть данные выбранных процессором в случае успеха.
Критический путь в кэш-кете, задается временем, чтобы определить, был ли доступ к данным о достигнутом или временном доступе?
Что такое латентность попадания в кеш? (успешный случай).
Какова была бы латентность успеха в кеше, если время доступа к меткам и матрица данных равно 3 нс?
Я постараюсь ответить на вопросы, все, что я знаю, о памяти.
Чтобы получить доступ к данным, сохраненным в кеше, первое, что мне нужно сделать, это найти строку, используя поле индекса какого-либо адреса. После того, как система памяти нашла строку, мне нужно сравнить поле метки моего адреса с полем метки кеша. Если они совпадают, то это удар, и я должен вернуть данные и вытеснить количество данных в строке, определяемую полем смещения адреса, а затем вернуть данные в процессор.
Это означает, что кеш займет 8,5 нс. Но я думал по-другому, что chaches могут это сделать: если я получу нужную строку (2,5 нс), то теперь я могу получить доступ к данным, и параллельно могу оценить состояние iquality. Таким образом, время составит 4,5 нс. Итак, один из них является результатом второго вопроса. Какой из этих результатов правильный?
Для первого вопроса критический путь будет выполнять операцию, которая занимает большее количество времени; если кэш принимает 4,5 для получения данных, тогда критический путь будет доступ к меткам в кеше - сравнение - вернуть данные. В противном случае это будет весь процесс.
Для последнего вопроса, если критический путь - это весь процесс, тогда это займет 8ns. В противном случае это займет 5 нс (доступ к ярлыкам в кеше, сравнение, возврат данных).
Это правда ?, а как насчет полностью assoctive cache ?, и прямого кеша отображения?
Проблема в том, что я не знаю, что делают кеширование в первую очередь и что дальше или параллельно.
Отличный ответ !, спасибо –