Файл: Процессор персонального компьютера. Назначение, функции и классификация процессора.pdf
Добавлен: 22.04.2023
Просмотров: 297
Скачиваний: 4
- большое количество регистров общего назначения (32 и более)[19].
Основными функциями процессора являются следующие:
- считывание и дешифрацию команд из памяти компьютера;
- чтение данных из памяти или устройства ввода-вывода;
- запись данных в память или устройства ввода-вывода;
- обработка сигналов, поступающих из устройств ввода-вывода;
- управление процессом обмена информацией между устройствами компьютера;
- обработка данных, в том числе арифметические операции над ними;
- адресация памяти;
- обработка прерываний и режима прямого доступа к памяти[20].
Для современных процессоров характерен набор дополнительных функций и технологий, расширяющих их возможности.
Так процессоры AMD в зависимости от модели могут поддерживать следующие технологии:
- 3DNowl, SSE, SSE2, SSE3 - ускоряющие работу с мультимедиа и большими объемами данных;
- Cool’n’Quiet - технология энергосбережения, заставляет процессор снизить тактовую частоту, если его нагрузка невелика;
- NX-bit - технология защиты компьютера от вирусов, запрещающая запуск кода из области данных;
- AMD-V – позволяет организовать одновременную работу нескольких виртуальных машин на одном компьютере[21].
У процессоров Intel дополнительные функции и технологии похожи:
- ММХ, SSE, SSE2, SSE3 - ускоряет работу с мультимедиа и большими объемами данных;
- технология НТ – позволяет выполнять несколько потоков команд одновременно;
- ТМ1 и ТМ2 - технологии защиты процессора от перегрева. В режиме ТМ1 процессор пропускает несколько рабочих тактов при достижении критической температуры, а в режиме ТМ2 снижается его тактовая частота;
- EIST - технология энергосбережения, динамически изменяющая с помощью операционной системы тактовую частоту процессора.
- XD - технология защиты компьютера от вирусов;
- Intel Trusted Execution - технология защиты от вредоносных программ на аппаратном уровне;
- VT - позволяет организовать одновременную работу нескольких виртуальных машин на одном компьютере[22].
Таким образом, от архитектуры процессора зависит работа всей вычислительной системы персонального компьютера, т.е. его функциональность. При этом основными функциями процессора персонального компьютера являются: передача данных между оперативной памятью и остальными компонентами компьютера, синхронизация информации на внешних и внутренних накопителях, организация бесперебойной многопотоковой работы, дешифрация машинного кода, синхронизация чисел разного регистра. Среди дополнительных функций выделяют: защиту компьютера от вирусов и вредоносных программ, защита от перегрева и энергосбережение за счет снижения тактовой частоты.
2. Классификация процессора
2.1. Виды процессоров
В литературе по компьютерной архитектуре принято разделять процессоры персонального компьютера на следующие четыре группы:
- микропроцессоры типа CISC с полным набором системы команд, где простые операции выполняются достаточно долго, при этом проблем со сложными не возникает из-за многозадачности. В CISC процессорах одна команда может быть заменена ей аналогичной, либо группой команд, выполняющих ту же функцию.
Самый яркий пример CISC архитектуры — это x86 (он же IA-32) и x86_64 (он же AMD64)[23];
- микропроцессоры типа RISC с усеченным набором системы команд, где каждый процесс при выполнении разбивается на маленькие команды;
Примеры RISC-архитектур: PowerPC, серия архитектур ARM (ARM7, ARM9, ARM11, Cortex).
RISC быстрее CISC. Даже если системе RISC приходится выполнять 4 или 5 команд вместо одной, которую выполняет CISC, RISC все равно выигрывает в скорости, так как RISC-команды выполняются в 10 раз быстрее.
Однако многие все еще используют CISC ввиду возможных проблем в совместимости. Так x86_64 лидер в desktop-сегменте только по историческим причинам, поскольку старые программы работают только на x86, то и новые desktop-системы должны быть x86(_64), чтобы все старые программы и игры могли работать на новой машине[24].
- микропроцессоры типа VLIW со сверхбольшим командным словом. Такие микропроцессоры поддерживают сразу несколько вычислительных устройств и выполняют операции параллельно для обеспечения максимального быстродействия.
По сути VLIW является архитектурой CISC со своим аналогом спекулятивного исполнения команд, только сама спекуляция выполняется во время компиляции, а не во время работы программы. Компиляторы для процессоров этой архитектуры сильно привязаны к конкретным процессорам. Например, в следующем поколении максимальная длина «очень длинной команды» может из условных 256 бит стать 512 бит, и тут приходится выбирать между увеличением производительности путём компиляции под новый процессор и обратной совместимостью со старым процессором.
Примеры архитектуры: Intel Itanium, Эльбрус-3;
- микропроцессоры типа MISC с минимальным набором системы команд и весьма высоким быстродействием. Такая архитектура позволяет укладывать разные команды в одну большую ячейку. В итоге при одном цикле работы процессор считывает все записанные команды за раз[25];
- микропроцессоры с виртуальной архитектурой, например, виртуальной JVM-архитектуры, которая, по сути, эмулируется на целевой реальной машине. Поэтому достаточно JVM-машины для целевой архитектуры для запуска на ней любой Java-программы. Другим примером виртуальной архитектуры является NET CIL.
Из минусов виртуальных архитектур можно выделить меньшую производительность по сравнению с реальными архитектурами. Этот минус нивелируется с помощью JIT- и AOT-компиляции. Однако большим плюсом будет кроссплатформенность;
- микропроцессоры с гибридной архитектурой. Например, современные x86_64 процессоры хотя и CISC-совместимы, но являются процессорами с RISC-ядром. В таких гибридных CISC-процессорах CISC-инструкции преобразовываются в набор внутренних RISC-команд[26].
Существует классификация процессора персонального компьютера по выполняемым функциям. Так выделяют:
- графический процессор - выполняет специфические функции по обработке графической информации;
- физический процессор - для выполнения математических вычислений при моделировании различных физических процессов, таких как расчёт динамики тел, обнаружение столкновений и пр.;
- сетевой процессор – это микропроцессор, размещаемый в сетевых устройствах, выполняющий специализированные операции, которые востребованы при передаче данных по сетям;
- звуковой процессор - обрабатывают звуки и музыку, например, создают эффект эха;
- буферный процессор или препроцессор – реализует промежуточную обработку данных, которыми обмениваются центральный компьютер с устройствами ввода-вывода[27].
По области применения выделяют следующие процессоры:
- процессоры встраиваемых систем:
– универсальные;
– с расширенными коммуникационными возможностями;
– с расширенными дискретными вводами и выводами;
– с возможностью обработки аналоговых сигналов;
- коммуникационные процессоры:
– сетевые;
– модемные;
- процессоры цифровой обработки сигналов (DSP) - реализуют методы цифровой обработки сигналов: фильтрацию, спектральный анализ, смешение сигналов, масштабирование.
Отличительная особенность DSP-процессоров - поточная обработка больших объемов данных в реальном времени, требующая высокой производительности, но ограниченного набора операций[28];
- медийные процессоры (аудио-, видео-адаптеры):
- с аппаратной поддержкой мультимедийной обработки (медиапроцессоры) - имеют аппаратные блоки и развитую систему команд для обработки и передачи аудио и графических данных, видеоизображений;
- с мультимедийным расширением набора команд;
- сопроцессоры (математические и ввода-вывода);
- транспьютеры - микропроцессор со встроенными средствами межпроцессорной коммуникации, предназначенной для построения многопроцессорных систем (TRansfer (передатчик) и computer (вычислитель))
Транспьютер имеет на кристалле локальные процессорное ядро и память, а также специальные быстродействующие каналы связи для взаимодействия с другими транспьютерами (линки).
Любой транспьютер может одновременно образовывать любое число параллельных процессов. Он имеет специальный планировщик, который производит распределение процессорного времени между этими процессами. Тем самым появляется возможность, имея всего лишь один транспьютер, написать параллельную программу, которая полностью выполняется на нем[29];
– нейропроцессоры построения нейтронных сетей ориентированы на построение систем с архитектурой нейронных сетей. Такие системы применяются для решения плохо формализуемых задач: распознавание образов, предсказание поведения систем, оптимизация и т.п. К классу данных процессоров относятся:
- нейроморфные процессоры — построенные по кластерной асинхронной архитектуре для создания и разработки разных видов искусственных нейронных сетей и применяются для алгоритмов глубокого машинного обучения[30];
- тензорные процессоры - сопроцессоры, оперирующие тензорами — объектами, которые описывают преобразования элементов одного линейного пространства в другое, узкоспециализированы для выполнения таких операций, как матричное умножение и свёртка, используемая для эмуляции свёрточных нейронных сетей, которые используются для задач машинного обучения;
- процессоры машинного зрения – для ускорения работы алгоритмов машинного зрения, в которых используются методы свёрточных нейронных сетей (CNN) и масштабно-инвариантная функция преобразования (SIFT), используются для вычислений c низкой точностью, принятой при обработке изображений.
По полноте вычислительного ядра существуют следующие виды процессоров:
- сопроцессоры (арифметические);
- полнофункциональные;
- с расширенной периферией;
- однокристальные микро ЭВМ;
- однокристальные мультимедийные системы[31].
По разрядности ядра процессоры могут быть:
– типовые - кратности 4, 8, 16, 32, 64;
– нетиповые – разрядность, не кратная восьми;
– масштабируемые (масштабность наращивается блочно)[32].
По организации памяти выделяют процессоры:
- с архитектурой фон-Неймана (инструкции и данные хранятся в одной и той же памяти).
При построении структуры процессора по архитектуре Фон Неймана имеется принципиальная возможность работы над управляющими программами точно так же как над данными. Это позволяет производить загрузку и выгрузку управляющих программ в произвольное место памяти процессора, которая в этой структуре не разделяется на память программ и память данных. Любой участок памяти может служить как памятью программ, так и памятью данных. Причём в разные моменты времени одна и та же область памяти может использоваться и как память программ и как память данных[33].
Для того, чтобы программа могла работать в произвольной области памяти, её необходимо модернизировать перед загрузкой, то есть работать с нею как с обычными данными. Эта особенность архитектуры позволяет наиболее гибко управлять работой микропроцессорной системы, но создаёт принципиальную возможность искажения управляющей программы, что понижает надёжность работы аппаратуры;
- с Гарвардской архитектурой, где принципиально различаются два вида памяти: память программ и память данных. То есть характеристики устройств памяти для инструкций и памяти для данных не требуется иметь общими[34].
В Гарвардской архитектуре принципиально невозможно производить операцию записи в память программ, что исключает возможность случайного разрушения управляющей программы в случае неправильных действий над данными. Кроме того, в ряде случаев для памяти программ и памяти данных выделяются отдельные шины обмена данными.
Гарвардская архитектура применяется в микроконтролерах, где требуется обеспечить высокую надёжность работы аппаратуры и в сигнальных процессорах, где эта архитектура кроме обеспечения высокой надёжности работы устройств позволяет обеспечить высокую скорость выполнения программы[35].
По способу управления процессоры подразделяются на:
- процессоры с микропрограммным управлением, что позволяет пользователю установить свой собственный набор команд, который будет наилучшим образом соответствовать решению конкретных задач;
- процессоры с макропрограммным или жестко-аппаратным управлением, где используется набор неизменных команд, определяемых схемой процессора[36].