Что такое шина и кеш в материнских платах

Что такое материнская плата

Одним из самых важных элементов компьютера является системная, она же известная как материнская, плата. Эта текстолитовая пластина с припаянными к ней микросхемами и разъёмами выполняет сборочную функцию, объединяя все остальные элементы компьютера. Без материнской платы не собрать ни компьютер, ни смартфон, ни какое-либо другое сложное устройство. Она — основа всего.

Материнская плата, что это?

Системная (материнская) плата соединяет все важнейшие элементы компьютера. Благодаря ей организуются все сложные процессы и выполняются задачи. Даже компьютерные мышь и клавиатура работают так, как они работают, потому что обмениваются информацией с остальными устройствами через системную плату. Работоспособность всего компьютера зависит от неё. Да и скорость — тоже. Потому очень важно при сборе компьютера учитывать пропускную способность шины системной платы.

blank

Главные элементы материнской платы:

Положение при установке, количество подключаемых устройств, тип разъёмов и многое другое определяется форматом системной платы. Материнские платы бывают разных форматов. Вот самые распространённые:

Самая компактная плата — Mini ITX, идёт с интегрированным процессором, редко когда используется при самостоятельном сборе компьютера. Следующая по размеру — mATX. Отличная плата для офисного или домашнего рабочего компьютера. ATX — самая крупная и функциональная плата, к ней можно подключить гораздо больше устройств. Подходит для профессиональных рабочих компьютеров (для дизайна, программирования, работы с видео и других занятий) и игровых системников. Если вы самостоятельно собираете компьютер, лучше сначала приобретайте подходящую системную плату, а затем — системный блок, в который войдёт и она, и все дополнительные подключаемые элементы.

Микросхема BIOS на системной плате

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

blank

Почему он так важен и как вообще работает? Всё просто. На микросхеме BIOS заранее записано базовое программное обеспечение, которое необходимо для того, чтобы компьютер вообще запустился. Это ПО прозванивает все компоненты и затем запускает основную операционную систему. Свой собственный BIOS может стоять не только на системной плате, но также на видеокартах и другом современном высокотехнологичном железе.

blank

Шины на материнской плате

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

blank

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

Источник

Системная шина и шина кэш-памяти

Определение

Шины — это соединения маршрутов данных, связывающие центральный процессор компьютера с модулями оперативной памяти и иными устройствами, с которыми он взаимодействует. Системная (front-side) шина связывает центральный процессор с основной памятью компьютера и шинами периферийных устройств. Шина кэш-памяти (backside) — достаточно быстрое соединение, которое центральный процессор использует для обмена информацией с внешней кэш-памятью, в том числе и с кэшем второго уровня. Скорость шины часто характеризуют таким ее параметром, как рабочая частота в мегагерцах.

Что будет, если установить самый новый, самый мощный двигатель в дряблый кузов старенького авто? Самый мощный автомобиль в округе, не так ли? Возможно, если не полетит трансмиссия, не раскрошатся оси и не отлетят крылья, как крыша обветшавшего сарая в вихре торнадо.

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

Важной характеристикой, определяющей реальную производительность процессора, является скорость системной шины — основного конвейера, который процессор использует для связи с остальными компонентами системы. Современные системные шины, такие как 400-мегагерцевый канал в Pentium 4, передают данные со скоростью в трое быстрее, чем 133-мегагерцевая шина, применяемая в процессоре Pentium III.

С другой стороны, шина кэш-памяти второго уровня, которая служит для передачи данных в кэш, действительно работает с тактовой частотой центрального процессора. В достопамятные времена (примерно в середине 1990-х годов) шина кэш-памяти была важным средством поддержки обмена данными. В процессорах Pentium II и Pentium Pro используется так называемая внешняя кэш-память, которая позволяет хранить часто используемые данные ближе (как с точки зрения расстояния, так и с точки зрения времени, необходимого для доступа к ним) к центральному процессору, чем данные, размещаемые в традиционной оперативной памяти. Специальный конвейер связывал процессор с этой кэш-памятью второго уровня, которая использовалась для передачи данных между ними с тактовой частотой процессора. Конкуренты Intel, такие как Advanced Micro Devices, намерены воспользоваться той же самой тактикой.

На кристалле и вне него

Размещение кэш-памяти вне кристалла тем не менее требует определенных компромиссов. Затраты на производство набора из двух микросхем выше, чем на создание одной микросхемы. Кроме того, два отдельных элемента требуют точной компоновки на системной плате. Вдобавок в первых компьютерных системах с Pentium использовались шины памяти с настраиваемыми (и очень дорогими) модулями статической оперативной памяти SRAM в качестве кэш-памяти.

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

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

Но на самом деле говорить об исчезновении отдельной шины кэш-памяти пока рано. Микропроцессоры PowerPC G4 с тактовой частотой 400 или 500 МГц, которыми оснащаются, к примеру, компьютеры Power Mac G4, Cube и ноутбук Titanium компании Apple Computer, продолжают использовать архитектуру отдельной шины кэш-памяти. Процессорное ядро G4 задействует как шину кэш-памяти второго уровня, имеющей емкость 1 Мбайт, так и 64-разрядную шину кэш-памяти, которая дополняется 100-мегагерцевой системной шиной, что позволяет добиться максимальной скорости передачи данных 800 Мбит/с.

Читайте также:  Стартер ст 221 ремонт видео

Intel и Compaq Computer в любом случае пока не отказываются от шины кэш-памяти. Их перспективные микропроцессоры, 64-разрядный процессор Intel Itanium и Alpha EV8 разработки Compaq, поддерживают кэш-память третьего уровня; в обоих предполагается и в дальнейшем использовать такую архитектуру шины для организации эффективной передачи данных.

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

«Все понимают, что данное решение лучше, чем применение системной шины, — заметил Крюэлл. — Совместное использование полосы пропускания с системной памятью нельзя считать оптимальным».

Шины твоей машины
041 0 1

Поделитесь материалом с коллегами и друзьями

Источник

Кэш-память процессора

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

О том, что такое кэш-память процессора, как она работает и какое влияние оказывает на быстродействие компьютера, читатель узнает из этой статьи.

Содержание статьи

Что такое кэш-память процессора

Решая любую задачу, процессор компьютера получает из оперативной памяти необходимые блоки информации. Обработав их, он записывает в память результаты вычислений и получает для обработки следующие блоки. Это продолжается, пока задача не будет выполнена.

Все упомянутые операции производятся на очень высокой скорости. Однако, даже самая быстрая оперативная память работает медленнее любого «неторопливого» процессора. Каждое считывание из нее информации и обратная ее запись отнимают много времени. В среднем, скорость работы оперативной памяти в 16 – 17 раз ниже скорости процессора.

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

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

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

Устройство кэш-памяти процессора

Контроллер кэш памяти

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

Когда ядро процессора обращается к контроллеру за какими-то данными, тот проверяет, есть ли эти данные в кэш-памяти. Если это так, ядру моментально отдается информация из кэша (происходит так называемое кэш-попадание).

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

Задача контроллера – сделать так, чтобы кэш-промахи происходили как можно реже, а в идеале – чтобы их не было вообще.

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

• размером и структурой кэш-памяти (чем больше ресурсов имеет в своем распоряжении контроллер, тем ниже вероятность кэш-промаха);

• эффективностью алгоритмов, по которым контроллер определяет, какая именно информация понадобится процессору в следующий момент времени;

• сложностью и количеством задач, одновременно решаемых процессором. Чем сложнее задачи и чем их больше, тем чаще «ошибается» контроллер.

Кэш-память процессора

Однако, эта скорость зависит также от объема конкретной микросхемы. Чем значительней объем микросхемы, тем сложнее обеспечить высокую скорость ее работы.

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

Количество микросхем памяти L1 в процессоре, как правило, равно количеству его ядер. Каждое ядро имеет доступ только к своей микросхеме L1.

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

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

Уровень L3 служит для временного хранения важных данных с относительно низкой вероятностью запроса, а также для обеспечения взаимодействия ядер процессора между собой.

Встречаются также процессоры с двухуровневой кэш-памятью. В них L2 совмещает в себе функции L2 и L3.

Влияние кэш-памяти процессора на быстродействие компьютера

Указанные показатели касаются простых задач. С повышением нагрузки на процессор число кэш-промахов увеличивается.

Эффективность кэш-памяти процессора сводит к минимуму влияние скорости оперативной памяти на быстродействие компьютера. Например, компьютер одинаково хорошо будет работать с оперативной памятью 1066 МГц и 2400 МГц. При прочих равных условиях разница производительности в большинстве приложений не превысит 5%.

Пытаясь оценить эффективность кэш-памяти, пользователи чаще всего ищут ответы на следующие вопросы:

Какая структура кэш-памяти лучше: двух- или трехуровневая?

Трехуровневая кэш-память более эффективна.

Чтобы определить, как сильно L3 влияет на работу процессора, сайтом Tom’s Hardware был проведен эксперимент. Заключался он в замере производительности процессоров Athlon II X4 и Phenom II X4. Оба процессора оснащены одинаковыми ядрами. Первый отличается от второго лишь отсутствием кэш-памяти L3 и более низкой тактовой частотой.

Приведя частоты обеих процессоров к одинаковому показателю, было установлено, что наличие кэш-памяти L3 повышает производительность процессора Phenom на 5,8 %. Но это средний показатель. В одних приложениях он был почти равен нулю (офисные программы), в других – достигал 8% и даже больше (компьютерные 3D игры, архиваторы и др.).

Как влияет размер кэша на производительность процессора?

Оценивая размер кэш-памяти, нужно учитывать характеристики процессора и круг решаемых им задач.

Кэш-память двуядерного процессора редко превышает 3 MB. Тем более, если его тактовая частота ниже 3 Ггц. Производители прекрасно понимают, что дальнейшее увеличение размера кэша такого процессора не принесет прироста производительности, зато существенно повысит его стоимость.

Другое дело высокочастотные 4-, 6- или даже 8-миядерные процессоры. Некоторые из них (например, Intel Core i7) поддерживают технологию Hyper Threading, обеспечивающую одновременное выполнение каждым ядром двух задач. Естественно, что потенциал таких процессоров не может быть раскрыт с маленьким кэшем. Поэтому его увеличение до 15 или даже 20 MB вполне оправдано.

В процессорах Intel алгоритм наполнения кэш-памяти построен по так называемой инклюзивной схеме, когда содержимое кэшей верхнего уровня (L1, L2) полностью или частично дублируется в кэше нижнего уровня (L3). Это в определенной степени уменьшает полезный объем его пространства. С другой стороны, инклюзивная схема позитивно сказывается на взаимодействии ядер процессора между собой.

В целом же, эксперименты свидетельствуют, что в среднестатистическом «домашнем» процессоре влияние размера кэша на производительность находится в пределах 10 %, и его вполне можно компенсировать, например, высокой частотой.

Эффект от большого кэша наиболее ощутим при использовании архиваторов, в 3D играх, во время кодирования видео. В «не тяжелых» же приложениях разница стремится к нулю (офисные программы, интернет-серфинг, работа с фотографиями, прослушивание музыки и др.).

Читайте также:  Тесты шин 2015 года зимние нешипованные

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

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

Как узнать размер кэш-памяти процессора?

kesh cpu3

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

Программа не требует установки. После ее запуска нужно перейти на вкладку «Caches» (см. изображение).

На примере видно, что проверяемый процессор оснащен трехуровневой кэш-памятью. Размер кэша L3 у него составляет 3 MB, L2 – 512 KB (256×2), L1 – 128 KB (32×2+32×2).

Можно ли как-то увеличить кэш-память процессора?

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

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

Одной из особенностей компьютеров на базе процессоров AMD, которой они выгодно отличаются от платформ Intel, является высокий уровень совместимости процессоров и материнских плат. У владельцев относительно не старых настольных систем на базе AMD есть высокие шансы безболезненно «прокачать» компьютер путем простой замены процессора на «камень» из более новой линейки или же флагман из предыдущей.

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

В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка «Добавить процессор»). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.

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

Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.

В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.

Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.

Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным «железом». Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).

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

Для получения подробной информации о любом процессоре достаточно нажать на его название.

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

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

Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.

Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.

Проверка стабильности работы центрального процессора требуется не часто. Как правило, такая необходимость возникает при приобретении компьютера, разгоне процессора (оверлокинге), при возникновении сбоев в работе компьютера, а также в некоторых других случаях.

В статье описан порядок проверки процессора при помощи программы Prime95, которая, по мнению многих экспертов и оверлокеров, является лучшим средством для этих целей.

plus
ПОКАЗАТЬ ЕЩЕ loader

Источник

Что такое кэш в процессоре и зачем он нужен

q93 f275cb9da672f9ac368cd7dd7333cd8d7dff424b139ba7730c57d5fba280c491

bb6fa769bbe393c849a725fde858008447abd5d70bc1309ef92fa65760f39295

Содержание

Содержание

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

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

Предпосылки создания кэш-памяти

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

Каждый раз при запуске программы из постоянной памяти, ее наиболее часто используемые данные или вся программа целиком «подгружаются» в оперативную память. Это делается для ускорения обработки данных процессором. Считывать и обрабатывать данные из оперативной памяти процессор будет значительно быстрей, а, следовательно, и система будет работать значительно быстрее в сравнении с тем, если бы массивы данных поступали напрямую из не очень быстрых (по меркам процессорных вычислений) накопителей.

Если бы не было «оперативки», то процесс считывания напрямую с накопителя занимал бы непозволительно огромное, по меркам вычислительной мощности процессора, время.

q93 f400d340f6b0b7bd3fcb67a4fe95930ce6014c25951f30bce4ab961d46ea44f9

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

Производительность процессора в любом компьютере всегда ограничена скоростью считывания из оперативной памяти.

Процессоры развиваются так же быстро, как память, поэтому несоответствие в их производительности и скорости сохраняется. Производство полупроводниковых изделий постоянно совершенствуется, поэтому на пластину процессора, которая сохраняет те же размеры, что и 10 лет назад, теперь можно поместить намного больше транзисторов. Как следствие, вычислительная мощность за это время увеличилась. Впрочем, не все производители используют новые технологии для увеличения именно вычислительной мощности. К примеру, производители оперативной памяти ставят во главу угла увеличение ее емкости: ведь потребитель намного больше ценит объем, нежели ее быстродействие. Когда на компьютере запущена программа и процессор обращается к ОЗУ, то с момента запроса до получения данных из оперативной памяти проходит несколько циклов процессора. А это неправильно — вычислительная мощность процессора простаивает, и относительно медленная «оперативка» тормозит его работу.

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

q93 484644978ad85479ab48d62f9ca8706d9bf91d74f8d1d2bfe39445cec0b9a560

Объяснить простому пользователю, голосующему своими кровными сбережениями, что такой процессор самый быстрый и самый лучший, но за него придется отдать значительно больше денег — довольно проблематично. К тому же существует множество стандартов, направленных на унификацию оборудования, которым следуют производители «железа». В общем, поместить оперативную память прямо на кристалл процессора не представляется возможным по ряду объективных причин.

Читайте также:  Тойота версо какой привод грм

Как работает кэш-память

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

Кэш-память — это, по сути, та же оперативная память, только более быстрая и дорогая. Она имеет небольшой объем и является одним из компонентов современного процессора.

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

Спекулятивное исполнение — метод оптимизации работы процессора, когда последний выполняет команды, которые могут и не понадобиться в дальнейшем. Использование метода в современных процессорах довольно существенно повышает их производительность.

Речь идет именно об анализе потока данных и предугадывании команд, которые могут понадобиться в скором будущем (попадании в кэш). Это так называемый идеальный кэш, способный предсказать ближайшие команды и заблаговременно выгрузить их из ОЗУ в ячейки сверхбыстрой памяти. В идеале их надо выбирать таким образом, чтобы конечный результат имел нулевой процент «промахов».

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

Временная локальность

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

Пространственная локальность

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

Набор таких адресов называется строкой (блоком) кэша, а количество считанных данных — длиной кэша.

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

Иерархия кэш-памяти

Любой современный процессор имеет в своей структуре несколько уровней кэш-памяти. В спецификации процессора они обозначаются как L1, L2, L3 и т. д.

q93 890e2ad63c0944d1059ea9900ef53de9b4f7686628398390e0e8aa2924be8677

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

Так же организована и работа быстрых ячеек кэша. Ячейки памяти первого уровня (L1) располагаются на кристалле в непосредственной близости от вычислительного ядра. Эта память — самая быстрая, но и самая малая по объему. В нее помещаются наиболее востребованные данные и команды. Для передачи данных оттуда потребуется всего около 5 тактовых циклов. Как правило, кэш-память первого уровня состоит из двух блоков, каждый из которых имеет размер 32 КБ. Один из них — кэш данных первого уровня, второй — кэш инструкций первого уровня. Они отвечают за работу с блоками данных и молниеносное обращение к командам.

Кэш второго и третьего уровня больше по объему, но за счет того, что L2 и L3 удалены от вычислительного ядра, при обращении к ним будут более длительные временные интервалы. Более наглядно устройство кэш-памяти проиллюстрировано в следующем видео.

Кэш L2, который также содержит команды и данные, занимает уже до 512 КБ, чтобы обеспечить необходимый объем данных кэшу нижнего уровня. Но на обработку запросов уходит в два раза больше времени. Кэш третьего уровня имеет размеры уже от 2 до 32 МБ (и постоянно увеличивается вслед за развитием технологий), но и его скорость заметно ниже. Она превышает 30 тактовых циклов.

q93 4c1821f19ab70f9363b8d3a5367345302b3f5211ae4a3656172808e834c9b2aa

Процессор запрашивает команды и данные, обрабатывая их, что называется, параллельными курсами. За счет этого и достигается потрясающая скорость работы. В качестве примера рассмотрим процессоры Intel. Принцип работы таков: в кэше хранятся данные и их адрес (тэг кэша). Сначала процессор ищет их в L1. Если информация не найдена (возник промах кэша), то в L1 будет создан новый тэг, а поиск данных продолжится на других уровнях. Для того, чтобы освободить место под новый тэг, информация, не используемая в данный момент, переносится на уровень L2. В результате данные постоянно перемещаются с одного уровня на другой.

С кэшем связан термин «сет ассоциативности». В L1 блок данных привязан к строкам кэша в определенном сете (блоке кэша). Так, например, 8-way (8 уровень ассоциативности) означает, что один блок может быть привязан к 8 строкам кэша. Чем выше уровень, тем выше шанс на попадание кэша (процессор нашел требуемую информацию). Есть и недостатки. Главные — усложнение процесса и соответствующее снижение производительности.

Также при хранении одних и тех же данных могут задействоваться различные уровни кэша, например, L1 и L3. Это так называемые инклюзивные кэши. Использование лишнего объема памяти окупается скоростью поиска. Если процессор не нашел данные на нижнем уровне, ему не придется искать их на верхних уровнях кэша. В этом случае задействованы кэши-жертвы. Это полностью ассоциативный кэш, который используется для хранения блоков, вытесненных из кэша при замене. Он предназначен для уменьшения количества промахов. Например, кэши-жертвы L3 будут хранить информацию из L2. В то же время данные, которые хранятся в L2, остаются только там, что помогает сэкономить место в памяти, однако усложняет поиск данных: системе приходится искать необходимый тэг в L3, который заметно больше по размеру.

В некоторых политиках записи информация хранится в кэше и основной системной памяти. Современные процессоры работают следующим образом: когда данные пишутся в кэш, происходит задержка перед тем, как эта информация будет записана в системную память. Во время задержки данные остаются в кэше, после чего их «вытесняет» в ОЗУ.

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

Источник

Оцените статью
Adblock
detector