Главная » Просмотр файлов » Э. Таненбаум - Архитектура компьютера

Э. Таненбаум - Архитектура компьютера (1127755), страница 83

Файл №1127755 Э. Таненбаум - Архитектура компьютера (Э. Таненбаум - Архитектура компьютера) 83 страницаЭ. Таненбаум - Архитектура компьютера (1127755) страница 832019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 83)

Это поле вмещает одну строку кэша размером 32 байта. В кэш-памяти прямого отображения заданное слово может храниться только в одном месте. Если его в этом месте нет, значит, его вообще нет в кэш-памяти. Для хранения данных в каше и извлечения их из кэша адрес разбивается на 4 компонента, как показано на рис. 4.26, б: + Поле строки указывает, какой элемент кэш-памяти содержит соответствующие данные, если они есть в кэш-памяти. Повышение производительности 333 Бит достоверности реса, которые используют этот элемент Элемент 65504-65535, 131040-131072,...

2047 96-127, 65632-65663, 131068-131099 64-95, 65600-65631, 131036-131067,... 32-63, 65568-65599, 131004-131035,... 0-31, 65536-65567, 131072-131003,... 3 2 16 Биты Строка Слово Байт Тег Рис. 4.26. Кзш-память прямого отображения (а); 32-разрядный виртуальный адрес (б) + Поле тега соответствует битам, сохраненным в поле тега элемента кэш-па- мяти. + Поле слова указывает, на какое слово в строке производится ссылка. + Поле байта обычно не используется, но если требуется только один байт, в этом поле указано, какой именно байт в слове нужен. Для кэш-памяти, поддерживающей только 32-разрядные слова, это поле всегда содержит О.

Когда центральный процессор выдает адрес памяти, аппаратура выделяет из этого адреса 11 бит поля строки и использует их для поиска в кэш-памяти одного из 2048 элементов. Если элемент действителен, то производится сравнение поля тета основной памяти и поля тега кэш-памяти. Если поля равны, значит, в кэш-памяти есть запрашиваемое слово. Такая ситуация называется кэш-попаданием. В случае кэш-попадания слово берется прямо из кэш-памяти, и тогда не нужно обращаться к основной памяти. Из элемента кэш-памяти берется только нужное слово, остальная часть элемента не используется. Если элемент кэш-памяти недействителен (недостовереи) или поля тета не совпадают, то нужного слова нет в памяти.

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

Поскольку известен адрес, известно и точное местополо- 334 Глава 4. Уровень микроархитектуры жение слова, если оно имеется в кэш-памяти. Это значит, что нужно считать слово из кэш-памяти, доставить его пропессору и одновременно с этим проверить, правильное ли это слово (путем сравнения полей тега). Поэтому процессор в действительности получает слово из кэш-памяти одновременно или даже до того, как становится известно, запрошенное это слово или нет. При такой схеме смежные строки основной памяти помещаются в смежные алементы кзш-памяти.

Фактически в кэш-памяти может храниться до 64 Кбайт смежных данных. Однако две строки, адреса которых отличаются ровно на 64 Кбайт (65 536 байт) или на любое целое, кратное этому числу, не могут одновременно хранится в кзш-памяти (поскольку они имеют одно и то же значение поля строки). Например, если программа обращается к данным с адресом Х, а затем выполняет команду, которой требуются данные с адресом Х + 65 536 (или с любым другим адресом в той же строке), вторая команда требует перезагрузки элемента кэш-памяти. Если это происходит достаточно часто, то могут возникнуть проблемы. В действительности, если кэш-память плохо работает, лучше, чтобы ее вообще не было, поскольку при каждой операции с основной памятью считывается целая строка, а не одно слово.

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

Таким образом, мгц видим второе преимущество наличия двух кашей вместо одного — больше гибкости при разрешении конфликтных ситуаций. Ассоциативная кзш-память с множественным доступом Как было отмечено ранее, различные строки основной памяти конкурируют за право занять одну и ту же область каша. Если программе, используюшей кэш-память, изображенную на рис. 4.26, а, часто требуются слова с адресами 0 и 65 536, то будут иметь место постоянные конфликты, поскольку каждое обрашение потенциально повлечет за собой вытеснение из кэш-памяти той или иной строки. Чтобы разрешить эту проблему, нужно сделать так, чтобы в каждом элементе кэш-памяти помещалось по две и более строки.

Кэш-память с п возможными элементами для каждого адреса назтцвается и-входовой ассоциативной кзш-памятью. 4-входовая ассоциативная кэш-память изображена на рис. 4.27. Ассоциативная кэш-память с множественным доступом по сути гораздо сложнее, чем кэш-память прямого отображения, поскольку, хотя элемент кэш-памяти и можно вычислить по адресу основной памяти, требуется проверить и элементов кэш-памяти, чтобы узнать, есть ли там нужная нам строка.

Тем не менее ' 'гта самом деле подобные коллизии не столь уж и редки из-за того, что при страничном способе организации виртуальной памяти и параллельном выполнении нескольких заданий страницы как бы еперемепгиваютсяь. Разбиение программы на страницы осуществляется случайным образом, поэтому и «локальность кодах может быть иарущена.

— Примеч. научи. ред. Повышение производительности 335 практика показывает, что 2- или 4-входовая ассоциативная кэш-память дает хо- роший результат, поэтому внедрение этих дополнительных схем вполне оправ- данно. Бит достоверности Бит достоверности Бит достоверности Бит достоверности Тег Данные Тег Данные Тег Данные Тег Данные 2047 Элемент А Элемент В Элемент С Элемент й Рис. 4.27. 4-входовая ассоциативная кэш-память Использование ассоциативной кэш-памяти с множественным доступом ставит разработчика перед выбором. Если нужно поместить новый элемент в кэшпамять, какой именно из старых элементов удалить? Для большинства задач хорошо подходит алгоритм обработки элемента, который дольше всего ие использовался (Ееазг гтесеп1у ()зес1, ЕК~1).

Имеется определенный порядок каждого набора ячеек, доступных из данной ячейки памяти. Всякий раз, когда осуществляется доступ к любой строке, в соответствии с алгоритмом ЕКУ список обновляется, и маркируется элемент, к которому произведено последнее обращение. Когда требуется заменить какой-нибудь элемент, удаляется тот, который находится в конце списка, то есть тот, который использовался раньше других.

Возможен также предельный случай — 2048-входовая ассоциативная кэш-память, содержащая единственный набор из 2048 элементов. В данном случае все адреса памяти оказываются в этом наборе, поэтому при поиске требуется сравнивать нужный адрес со всеми 2048 тегами в кэш-памяти. Отметим, что для этого каждый элемент кэш-памяти должен содержать специальную логическую схему. Поскольку поле строки в данном случае нулевое, поле тега — это весь адрес за исключением полей слова и байта.

Более того, когда строка каша заменяется, возможными кандидатами на смену являются все 2048 элементов. Для хранения упорядоченного списка потребовался бы громоздкий учет использования системных ресурсов,поатому применение алгоритма Ется оказывается невозможным. (Вспомните, что список требуется обновлять при каждой операции с памятью.) Интересно, что кэш-память с большим числом входов далеко не всегда превосходит по производительности кэш-память, в которой число входов невелико, а в некоторых случаях работает даже хуже.

Поэтому число входов больше четырех встречается редко. 336 Глава 4. Уровень микроархитектуры Наконец, особой проблемой для кэш-памяти является запись. Когда процессор записывает слово, а это слово есть в кэш-памяти, он, очевидно, должен либо обновить слово, либо удалить данный элемент кэш-памяти. Практически во всех разработках имеет место обновление кэш-памяти. А что же можно сказать об обновлении копии в основной памяти7 Эту операцию можно отложить на потом до того момента, когда строка каша будет готова к замене в соответствии с алгоритмом ЕКП. Выбор труден и ни одно из решений не является предпочтительным. Немедленное обновление элемента основной памяти называется сквозной записью.

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

С процессом записи связана еще одна проблема: что происходит, если нужно записать что-либо в ячейку, которой нет в кэш-памяти7 Должны ли данные передаваться в кэш или просто записываться в основную память? И снова ни один из ответов не является во всех отношениях лучшим. В большинстве разработок, в которых применяется обратная запись, данные передаются в кэш-память. Эта технология называется заполнением по записи (я гйе а11осайоп). С другой стороны, в тех разработках, где применяется сквозная запись, элемент в кэш-память при записи обычно не помещается, поскольку это усложняет систему.

Заполнение по записи полезно только в том случае, если имеют место повторные записи в одно и то же слово или в разные слова в пределах одной строки кэша. Эффективность кэширования является крайне важным условием повышения общей производительности системы в силу огромного разрыва между быстродействием процессора и памяти. Дискуссия об альтернативных стратегиях кэширования ведется постоянно 16, 96, 145, 149, 1971. Прогнозирование ветвлений Современные компьютеры в значительной степени конвейеризированы.

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

Характеристики

Тип файла
DJVU-файл
Размер
13,7 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее