Как еще можно повысить производительность процессоров — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Как еще можно повысить производительность процессоров

2017-06-13 71
Как еще можно повысить производительность процессоров 0.00 из 5.00 0 оценок
Заказать работу

Для ускорения вычислений используется несколько основных технологий.

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

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

· Большинство процессоров имеют кэш-память первого (level 1, L1), второго (level 2, L2), и третьего (level 3, L3) уровней. Кэш-память первого уровня очень быстра, но относительно мала (несколько сот килобайт). Кэши второго и третьего уровня больше (до нескольких мегабайт) и медленнее, но все равно работают с более высокой скоростью, чем системная память. Данные и команды, оперативно поступающие из кэша, обеспечивают максимальную загруженность процессора, избавляя его от необходимости ожидания медленной системной памяти. Если кэш-памяти недостаточно, процессору приходится чаще обращаться к оперативной памяти или к жесткому диску, что снижает производительность всей системы. Поэтому большой объем кэш-памяти является важным преимуществом.

· Конвейерная обработка. Чтобы ускорить выполнение команд, процессоры организуют для них так называемые конвейеры, подразумевающие последовательное прохождение команд через различные компоненты ЦП. Преимущество такого способа организации вычислений в том, что при наличии конвейера процессор занимается не одной командой в каждый момент времени, а несколькими – сколько поместится на конвейер. Чем длиннее конвейер, тем выше может быть тактовая частота. Однако длинный конвейер – не всегда преимуще­ство: в случае ошибки предвыборки или в иной непредвиденной ситуации при исполнении кода процессору приходится сбрасывать содержимое конвейера и заново его заполнять – с большой потерей времени.

· Алгоритмы предварительной выборки команд и данных. При загрузке очередной команды блок предвыборки (prefetch) пытается предсказать, какие команды и данные потребуются дальше. Таким образом, конвейер загружается быстрее, поскольку не тратится время на ожидание результатов выполнения предыдущих команд. Если же предсказание было ошибочным и нужные команды и данные надо искать в другом месте (к примеру, при выполнении команды условного перехода), конвейер приходится очищать и загружать заново.

· Распараллеливание вычислений. Ряд современных процессоров за счет наличия нескольких вычислительных ядер имитируют присутствие в системе двух, четырех и более отдельных процессоров. Если программа для ПК умеет распараллеливать вычисления, разделяя их на несколько потоков (threads), эти вычисления могут быть выполнены одновременно. Однако у многоядерных процессоров есть недостаток: они расходуют гораздо больше энергии, а значит, сильнее нагреваются и требуют более интенсивного охлаждения.

· Поддержка специальных алгоритмов обработки мультимедийных данных. Обычно такие алгоритмы строятся по принципу SIMD (Single Instruction – Multiple Data, то есть одна команда – множество данных). Процессоры, поддерживающие подобные технологии, быстрее обрабатывают большие объемы данных, требующих многократного исполнения одинаковых команд. Типичный случай – воспроизведение видео или обработка графических файлов. У Intel такие технологии называются MMX и SSE, у AMD – 3DNow!. Последние модели процессоров поддерживают наборы инструкций SSE версии 4 и выше.

Как же он все-таки работает

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

1.Условно говоря, работа процессора начинается с запроса очередной команды. Блок выборки, зная, по какому адресу расположена команда, пытается найти ее в кэше L1. Не обнаружив ее там, он обращается к кэшу L2 (который больше по объему и хранит больше ранее запрошенных команд и данных), если и там ее нет – к еще более вместительному L3. Если же искомая команда отсутствует и в кэше L3, она загружается через шину данных процессора из системной памяти, по пути попадая во все три кэша. Сходным образом запрашиваются и данные, требующиеся для выполнения этой команды.
2.Блок выборки передает команду в декодер. Этот узел нужен для того, чтобы разложить сложную команду системы команд x86 на несколько микроопераций, каждая из которых выполняется исполнительными устройствами за один такт. Получившуюся последовательность микроопераций декодер помещает в кэш декодированных команд. Блоку выборки нужна следующая команда. Для того чтобы узнать, откуда брать следующую команду и данные для нее, задей­ствуется блок предвыборки. Анализируя последовательность микроопераций, он определяет, какая команда понадобится далее.
3.Планировщик забирает из кэша декодированных команд несколько микроопераций и определяет, в какой последовательности их можно выполнять. Команды, результаты выполнения которых не зависят от результатов выполнения других команд, могут исполняться параллельно на разных исполнительных устройствах. Таких устройств в ядре современного процессора немало: ALU для целых чисел, FPU для чисел с плавающей запятой, ALU для команд SSE и множество других.
4.На этом этапе возможно определение ошибки предвыборки. К примеру, если исполняемая операция является командой условного перехода (то есть результат зависел от содержимого одного из регистров), блок предвыборки, не имея возможности узнать, каким будет значение регистра на момент исполнения команды, может ошибочно предположить, что переход осуществится (тогда как на самом деле его не должно быть), и предложит блоку выборки неверный адрес следующей команды. То же касается предвыборки данных: если на момент исполнения команды загрузки или выгрузки данных значения регистров, содержащих адрес этих данных, будут иными, нежели в момент предвыборки, будет зафиксирована ошибка пред­выборки, поскольку в кэш попали неверные данные. В этом случае конвейер очищается, а блок выборки снова запрашивает команду, предшествующую моменту совершения ошибки. Разумеется, очистка и повторное заполнение конвейера ведут к потере времени. И если при исполнении программы совершается множество ошибок предвыборки, производительность процессора заметно снижается. Тем не менее средняя эффективность предвыборки в современных ЦПУ достигает 90–95%.
5. Если команда на выходе с конвейера признана выполненной корректно (то есть ошибки предвыборки не было), ее результат помещается в кэш и далее попадает в системную память компьютера.

 

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


Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.