Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тестирование производительности подсистемы памяти и кэша





4. Какую команду нужно ввести в поле «Выполнить» чтобы посмотреть список автозагрузок?

5. Перечислите основные корневые разделы системного реестра.

Практическая работа №5

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

Давайте в первую очередь вспомним, от каких факторов зависит производительность оперативной памяти. Естественно было бы основным фактором производительности оперативной памяти назвать ее пропускную способность, т.е. количество мегабайт в секунду, которое способна считать (записать) оперативная память. Разумеется, пропу­скная способность оперативной памяти напрямую зависит от частоты работы чипов памяти и от ширины шины, связывающей память и процессор, и обычно определяется как произведение ширины шины на частоту работы памяти. Например, при ширине шины 64 бита (8 байт) и частоте работы памяти 100 МГц, пропускная способность со­ставляет 8 байт х 100 МГц = 800 Мбайт/с.

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

Какая память лучше: с малой задержкой и малой пропускной способностью или с большой задержкой и большой пропускной способностью? Однозначного ответа на этот вопрос, конечно, быть не может. Если конкретная программа работает с большими массивами не­прерывных данных, т.е. лишь однажды получает доступ, а затем линейно считывает, то для такой программы оптимальна память с большой пропускной способностью. А если программа оперирует малыми блоками данных, т.е. постоянно получает доступ к разным областям памяти и понемногу читает из каждой области, то оптимальна память с малым временем доступа, а пропускная способность имеет меньшее значение. Так как обычно на компьютере исполняются разные приложения, то очень трудно найти компромисс.

В общем случае, естественно, необходимо стремиться к тому, чтобы и время доступа и пропускная способность памяти были оптимальными.

Теперь разберемся с тем, какую роль играет кэширование. Кэширование операции чтения (спекулятивное чтение) не может ускорить доступ к внешней памяти выше то­го, что может сама подсистема памяти, оно убирает паузы в обмене. Кэширование за­писи (отложенная запись) может несколько замаскировать время операции записи при том условии, что эти операции будут редки. Отложенная запись называется так пото­му, что сама операция физической записи на диск может быть отложена на некоторое время и выполниться позднее. Данные, предназначенные для записи, временно сохра­няются в кэше. Причем, в выполняемую программу сразу посылается признак о за­вершении операции записи. Это позволяет программе не тратить время на ожидание завершения операции ввода-вывода. При постоянной записи или при переписывании кэширование записи только затормаживает процесс. Причем, чтение по случайным адресам вообще невозможно ускорить кэшированием, в отличие от записи, которая может выполняться в то время, когда контроллер памяти будет не слишком занят.

Таким образом, если программа не часто записывает, то сами операции записи в па­мять выполняются прозрачно, не останавливая процессор для ожидания окончания операции ввода-вывода. Проблемы возникают, когда программа начинает записывать слишком часто. При этом отложенная запись «съедает» место в кэше, и подсистема памяти не знает, когда лучше перейти от незаметной к постоянной записи, которая уже никак не будет невидимой и будет «тормозить» процессор, точнее, его блок ввода-вывода.

Как и по каким правилам будет выполняться запись, если программе требуется делать это часто, - целиком зависит от аппаратной реализации подсистемы памяти. В руках программиста очень мало средств повлиять на этот механизм. Можно поменять прин­цип кэширования или отключить его вовсе для какого-либо региона или всей памяти, но это малоэффективно и редко используется. В SSE появились команды прямой запи­си в RAM минуя кэширование. Эффективность может составлять до 30% (по данным AMD) из-за того, что кэш не засоряется.

Спекулятивность чтения заключается в чтении памяти блоками, равными размеру стро­ки кэша, и попытке начать операцию чтения следующего блока сразу по завершении ввода текущего. Как правило, программа читает и исполняет последовательные ячейки памяти. Но это «как правило» и в этом может быть больше вреда, чем пользы. Операция чтения с участием кэша выполняется аналогично записи, только «наоборот». Если про­цессору потребовались данные и их не оказалось в кэше, то посылается запрос на чтение в контроллер памяти. После получения этого запроса контроллер формирует адрес и начинает последовательное чтение блока данных из внешней памяти. Не дожидаясь окончания чтения блока, контроллер начинает посылку данных в процессор по мере счи­тывания. При поступлении в процессор они автоматически копируются в кэш. И сразу возникает проблема - размер кэша не бесконечен и при поступлении новых данных при­ходится выкидывать старые. А если это были данные отложенной записи, и они не были записаны? Естественно, эти данные обязательно надо записать, но, пока идет чтение, это не возможно. Возникает еще один конфликт: контроллер внешней памяти не может вы­полнять чтение и запись одновременно. Приходится решать проблему первоочередности операций. Но записывающая программа решить такую проблему не может, сказав «брось все, записывай». Это решается на уровне контроллера.

Тестирование производительности подсистемы памяти и кэша в SiSoftware Sandra вы­полняется двумя модулями: Тест пропускной способности памяти (Memory Bandwidth Benchmark) и Тест кэш и памяти (Cache & Memory Benchmark).







Дата добавления: 2015-09-19; просмотров: 951. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Studopedia.info - Студопедия - 2014-2025 год . (0.014 сек.) русская версия | украинская версия