Для комфортного пользования компьютером очень важна его производительность. Одним из важнейших модулей, который напрямую отвечает за скорость работы устройства, является процессор. В данной статье будут детально рассмотрены вопросы: что такое процессор, определение как таковое, его устройство и принцип работы, а также проведем сравнение основных типов процессоров Intel и AMD по назначению и производительности. Благодаря этому даже неопытный пользователь сможет подобрать процессор компьютера конкретно под свои нужды.
Что такое процессор
Это упрощенное название, которое привычнее употреблять в повседневном общении. Его правильное название звучит, как Центральное Процессорное Устройство, он же ЦПУ. Происходит от английского выражения Central Processing Unit или сокращенно CPU.
Центральный процессор — уникальная аппаратная составная часть компьютера, многоцелевое устройство, которое предназначено для выполнения кода программ. Код размещается в его собственной памяти. Работа приложений в операционной системе основана на выполнении различных команд и вычислении определенных данных.
169 секунд и ты знаешь как работает процессор
Задача ЦПУ — обрабатывать информацию, сопоставлять с ней конкретные команды. Запуск и работа десятков и сотен исполняемых файлов, невообразимые по количеству и объемам вычисления, обработка миллионов файлов весом в сотни гигабайт — лишь поверхностный список того, что он делает на компьютере. Таким образом, процессор — мозг, вычислительная сила вашей машины, которая также координирует работу остального железа.
Как он выглядит
Это небольшой квадратный модуль, который устанавливается в специальный разъем материнской платы. Пользователи, которые первый раз видят процессор, удивляются его неожиданно маленькому размеру — площадью он всего несколько квадратных сантиметров. На его поверхности чаще всего нанесен логотип производителя вместе с его названием. Некоторые модели имеют выгравированные или нанесенные краской технические характеристики.
Сверху него установлен вентилятор, который предназначен для охлаждения модуля во время работы. Для улучшения теплоотвода также может быть установлена система пассивного охлаждения в виде радиаторов.
Что внутри
Для начала будет приведен список элементов, за что отвечает каждый из них, общее устройство процессора:
- ядро (одно или несколько);
- дешифратор;
- системная шина;
- кеш;
- сокет.
Ядро — полноценная рабочая единица процессора. Фактически это и есть полноценный мини-процессор, способный полностью решать вычислительную задачу. Объединение нескольких ядер в один процессор позволяет значительно увеличить совокупный вычислительный потенциал компьютера или ноутбука.
Размеры самого кремниевого кристалла процессора, который занимается вычислениями несимметричны, чаще всего это черный плоский прямоугольник площадью несколько миллиметров. Эта самая площадь является одним из важнейших показателей кристаллов. С каждой новой версией производитель старается уменьшить площадь, чтобы в тот же корпус поместилось большее количество ядер. Чем больше ядер, тем большая суммарная вычислительная мощность, ведь при решении очень сложных задач может быть одновременно задействовано 1, 2, 4, 6, 8 и даже 10 ядер. Ядра состоят из транзисторов, о которых мы поговорим чуть позже.
Также важна общая тактовая частота. Это значение, которое показывает, сколько информации устройство может обработать за единицу времени. Чем больше частота, тем больше данных оно способно переработать и представить пользователю в виде запущенных программ и игр. В современных компьютерах данный показатель измеряется в ГГц.
Она формируется из частоты шины, о которой поговорим ниже, умноженной на множитель процессора. Перемножая их, получается итоговая частота, которая указывается в паспортных данных, доступных от производителя.
Тактовая частота ядер на домашних компьютерах редко достигает 2.6–2.8 ГГц. Для высокоэффективных систем созданы процессоры, которые при правильном разгоне выдают частоту более 4.4 ГГц. К частоте добавляем распределение выполняемой задачи на несколько ядер, такие процессоры называются многоядерными, и получаем общую производительность данного вычислительного элемента.
Дешифратор — элемент, который превращает команды программы в специальные сигналы, понятные для работы транзисторам ядер.
Системная шина — специальные пути передачи информации, при помощи которых процессор общается с остальными модулями компьютера. Он подключается к шине напрямую, когда как жесткий диск, видеокарта и оперативная память подключаются с помощью специальных разъемов — контроллеров или же для подключения используются высокоскоростные провода и шлейфы. Чем выше скорость системной шины процессора, тем быстрее он сможет управлять остальным железом. Для достижения наибольшей производительности тактовая частота шины процессора и материнской платы, куда он будет устанавливаться, должны совпадать. Идеально, если они совпадают, иначе либо производительность не раскроется в полной мере, либо же ее не будет хватать для поставленных задач.
Теперь разберемся, что такое кэш процессора. Это третий по важности показатель, от которого зависит производительность процессоров. Это прямой аналог оперативной памяти у компьютера в целом, поэтому второе название кэша — сверхоперативная память, ее скорость до 20 раз выше, чем у оперативной памяти. В кэше содержатся данные, которые обрабатываются в данный момент.
Он имеет несколько важных параметров. Первый — его объем, чем он больше, тем больший объем информации процессор может обработать на высокоскоростной памяти. Второй показатель тесно связан с размером — количество уровней кэша. В обычных процессорах находятся два уровня, для более высокой производительности добавляют третий.
Они нужны для накопления и хранения данных, к которым процессор через короткое время вернется вновь. Самый первый уровень (L1 или Level 1) содержит самую актуальную информацию, с которой прямо сейчас ведется работа. На втором уровне (L2) находятся чуть менее актуальные данные, третий уровень (L3) содержит остальной массив информации. Чем больше уровень, тем больше там памяти. Например, может быть L1 = 128 Кб, L2 = 512 Кб, L3 = 3 и более Mб.
Давайте уточним, на что это влияет. Чем больше уровней кэша и чем больше памяти они содержат, тем он более производительней. Эти параметры очень тесно связаны с частотой и ядрами, они должны иметь достаточные ресурсы для обработки такого массива данных.
Сокет (разъем) — техническое устройство, способ крепления, с помощью которого ЦПУ фиксируется на материнской плате. Прямое подключение обеспечивает обмен данными между процессором и остальным железом. Подбор сокета — самая важная часть при раздельной покупке комплектующих. Разъемы материнской платы и процессора должны быть идентичными для правильной установки и работы. Если сокеты будут различаться, то ЦПУ просто не встанет на свое место, не будет подходить разъем.
У некоторых моделей контакты торчат из корпуса, подключаясь к специальным углублениям в плате. Помимо этого, важно расположение контактов, их количество, размер и площадь распределения. Это обусловлено различными возможностями, которые «умеют» процессоры: подключение интегрированной графики, повышенная производительность и установка дополнительного охлаждения. Таким образом, совместимость «процессор и материнская плата» должна быть полная.
Как он работает
Несмотря на достаточно сложное и ювелирное устройство этого модуля, его работа вполне понятна пользователю, который решил в этом разобраться. Постараемся изложить принцип работы и назначение процессора понятным для большинства языком, упуская профессиональные термины и значения:
- На невидимом для нас уровне все действия, которые происходят во время активности программы, сводятся к банальной математике чисел, чаще всего это сложение и умножение, сравнение. Это условные обозначения, но они раскрывают суть процессов, которые происходят в модуле при вычислениях.
- Для выполнения любого процесса необходима инструкция, которая имеет в себе данные о протекании вычислений.
- Всей работой управляет дешифратор. При первом такте работы он загружает в сверхоперативную память необходимые данные. Вторым циклом он превращает эти данные в набор понятных для транзисторов команд, которые принимаются за вычисления, записывая результат в тот же кэш. Третий цикл запускает выполнение определенной инструкции, которая выводит в программу обработанные данные, а ядрам дает новую задачу.
- Больше ядер, кэша и частоты — больше обрабатываемых данных, больше открытых программ, больше скорость их работы как по отдельности, так и при суммарной нагрузке.
- При проведении вычислений ядра имеют свойство нагреваться. Для этого обязательно нужен активный куллер или пассивный радиатор. Во избежание сгорания модуля он имеет функцию «троттлинг процессора» — дешифратор начинает пропускать рабочие такты, уменьшая количество проводимых операций. Меньше вычислений — меньше температура, но и на производительность сильно влияет.
- Также не стоит забывать о битности. Старые поколения имеют значение 32, более современные x64. 32-битный процессор имел ограниченную вычислительную мощность, так как мог работать с оперативной памятью объемом до 4 гигабайт. Процессор 64-битный обошел это ограничение, получив в несколько раз возросшую производительность в сравнении со старым поколением. Требуется соответственно 64-разрядная операционная система.
Эволюция
От самого первого созданного вычислительного устройства до современных многоядерных монстров эволюция процессоров продвигалась по нескольким основным путям:
- увеличение количества транзисторов вследствие плотности их расположения при изготовлении;
- увеличение тактовой частоты ядер;
- увеличение количества ядер в одном корпусе;
- увеличение сверхоперативной памяти.
Если описать эволюцию очень грубо, то можно утверждать, что рост производительности процессоров происходил из-за одновременного уменьшения и уплотнения составных частей. Буквально 40 лет назад самые мощные модели были гораздо слабее современных офисных вариантов, при этом они уменьшились в разы, стали отдавать гораздо меньше тепла и потреблять электричества.
Производство
Можно смело заявлять, что процессоры делаются из обыкновенного песка. Дело в том, что песок — идеальный источник кремния, из которого и состоят ядра процессора. С помощью доменных печей и ряда химических реакций добывается кремний с чистотой 99,9999999%. Он заливается в специальную форму, после остывания получается кремниевый цилиндр весом около центнера и размером с человека. С помощью специальной резки этот цилиндр нарезается на тончайшие диски диаметром около 50 см.
Эти диски полируются до зеркального блеска, затем с помощью мощного пучка света и хорошей линзы на поверхности создается структура процессора. На нее сверху с помощью специальных веществ наращиваются транзисторы, о которых мы говорили ранее. Транзисторы — полупроводниковые элементы, из которых состоят ядра. Здесь нужно упомянуть такое определение, как техпроцесс.
Он стал одним из путей эволюции процессора. Техпроцесс — толщина создаваемых транзисторов. Чем она меньше, тем больше транзисторов влезет в одно ядро, тем больше данных они могут обработать.
Современные процессоры создаются по техпроцессу 14 нм, в 2019 анонсировано появление техпроцесса 10 нм. После наращивания транзисторов нужное количество ядер помещается в корпус, который в итоге видит потребитель.
Отличие процессоров друг от друга
Устройство и производство всех процессоров практически идентично за исключением фирменных технологий, техпроцесса и прочих патентных тонкостей, которые потребителю не нужны. Потребителя интересует, чем отличаются процессоры фактически, по типам и назначению:
- Процессоры отличаются фирмой-производителем. Есть конкуренция — есть развитие продукта и регулирование цены. Процессора визуальные характеристики опустим, они бесполезны.
- Отличаются типом установки (это отсылка к сокету). Обычно различие наблюдается у разных производителей, подробнее поговорим ниже.
- Есть процессоры для повседневных задач — браузер, документы, кино. Чуть более мощные берут пользователи, желающие поиграть в более-менее современные игры на средних или низких настройках. Игровые системы имеют многоядерные и высокочастотные процессоры, которые помогают видеокарте обрабатывать динамические визуальные сцены в играх. Людям, которые работают в программах, где происходят колоссальные вычисления, требуются невероятно мощные модули, которые потребляют огромное количество электроэнергии и требуют специального охлаждения.
- Современные процессоры имеют архитектуру х64, 32 уже редко встречается, однако, это тоже повод найти отличия в возможностях и производительности.
- Сравнить процессоры можно по конкретным задачам — математическим, графическим и прочим.
- Они могут иметь интегрированную графику — идеальное решение для ноутбуков.
Основные разработчики
На сегодняшний день основные производители — Intel и AMD. Рядом с ними притаился ARM, который создает процессоры для устройств производства Apple Inc. Последний рассматривать не будет, так как модули процессора имеют назначение для конкретных компьютеров и программного обеспечения. Если возникла необходимость выбора процессора для своего компьютера, то нужно остановиться на первых двух.
Сравнение Intel и AMD
Доступное простому пользователю сравнение процессоров будет представлено, как удобная таблица.
Для игр: для недорогой игровой системы прекрасно подойдут Core i3 и Core i5, в том ценовом сегменте обгоняя по показателям AMD.
Для игр: в совокупности с грамотным разгоном и хорошим охлаждением подходит для игр. Для дешевой игровой системы хорошо подойдет FX-6300.
Общий вывод: для различных задач предназначены и различные процессоры. AMD имеют меньшую стоимость, возможность оверклокинга до огромных тактовых частот. Их бюджетные варианты очень хорошо подойдут для домашних маломощных систем. Если же бюджет выше 150 долларов, стоит обратить внимание на 64-битные Интел процессоры, в данном ценовом сегменте они значительно превосходят по характеристикам своих конкурентов. Выбирайте x64-разрядный вариант для достижения наибольшей производительности.
Не стоит забывать, что ЦПУ фирмы Интел — основные варианты для ноутбуков. Они устанавливаются ввиду хорошей энергоэффективности и малой теплоотдачи, поэтому процессоры Intel подходят для ноутбуков.
Заключение
На данный момент производители процессоров предоставляют огромное количество различных моделей, которые предназначены для выполнения разнообразных работ. Работа у него одна — координировать и вычислять, но в зависимости от назначения подбираются различные характеристики как его самого, так и вспомогательного железа.
В данной статье подробно были рассмотрены такие вопросы, как что такое процессор, производство, работа, а также приведено сравнение по основным параметрам.
Источник: ustanovkaos.ru
Виды процессоров и зачем они нужны
Немаловажный вопрос от пользователей, который я откладывал на потом, что такое процессор в компьютере? Центральный процессор (CPU) – важнейшая часть аппаратного обеспечения любого компьютера, отвечающая за выполнение необходимых арифметических операций, заданных программами, координирующая работу всех, без исключения, устройств компьютера.
Безусловно, процессор – сердце каждого компьютера. Именно процессор выполняет инструкции программного обеспечения, использующегося на персональном компьютере, обрабатывает набор данных и производит сложные вычислительные операции. Главными характеристиками процессора являются: производительность, тактовая частота, энергопотребление, разрядность, архитектура и кэш.
Итак, мы с вами поняли, что такое процессор, но какие бывают виды и для чего нужен процессор в компьютере? Давайте, обо всем по порядку. Известно, что процессоры бывают одноядерные и многоядерные.
Многоядерным процессором называется центральный процессор, содержащий два (и больше) вычислительных ядра, размещенных на одном небольшом процессорном кристалле или в одном общем корпусе. Обычный процессор имеет только одно ядро. Эпоха одноядерных процессоров понемногу уходит в прошлое. По своим характеристикам они, в целом, проигрывают многоядерным процессорам.
Например, тактовая частота средненького двухъядерного процессора нередко может быть намного ниже частоты неплохого одноядерного процессора, но из-за разделения задач на «обе головы», разница в результатах становится несущественной. Двухъядерный процессор Core 2 Duo с тактовой частотой 1,7ГГц легко сможет обскакать одноядерный Celeron с тактовой частотой 2,8ГГц, ведь производительность зависит не от одной лишь частоты, но и от количества ядер, кэша и других факторов.
На сегодняшний момент на мировом компьютерном рынке лидируют два крупнейших производителя процессоров — корпорация Intel (ее доля на сегодня порядка 84%) и компания AMD (около 10%). Если взглянуть на историю развития центральных процессоров, то можно увидеть довольно много интересного. Начиная с появления первых настольных компьютеров, основным способом повысить производительность было планомерное повышение тактовой частоты.
Это весьма очевидно и логично. Однако всему есть предел и частоту невозможно наращивать до бесконечности. К сожалению, с увеличением частоты начинает нелинейно возрастать тепловыделение, достигающее, в конечном итоге, критически высоких значений. Пока решить эту проблему не помогает даже применение более тонких технических процессов в создании транзисторов.
Существует ли выход из этой очень непростой ситуации? Вскоре выход был найден в применении нескольких ядер в одном кристалле. Решено было применить вариант процессора «2 в 1». Появление на рынке компьютеров с такими процессорами вызвало целый ряд споров. Нужны ли многоядерные процессоры?
Чем они лучше обычных процессоров, имеющих одно ядро? Может компании-производители просто хотят получить дополнительную прибыль? Сейчас уже можно уверенно ответить: многоядерные процессоры нужны, за ними будущее. В ближайшие десятилетия невозможно представить прогресса в этой отрасли без применения многоядерных процессоров.
Многоядерные процессоры, чем же хороши? Использование таких процессоров сравнимо с применением нескольких отдельных процессоров для одного компьютера. Ядра находятся в одном кристалле, они не являются полностью независимыми (к примеру, используют общую кэш-память).
При применении имеющегося программного обеспечения, созданного изначально для работы с одним ядром, такой вариант даёт ощутимый плюс. Вы сможете запустить одновременно две (и более) ресурсоёмкие задачи без малейшего дискомфорта. Однако, ускорение единственного процесса – задание для этих систем фактически непосильное. В итоге, мы получаем почти тот же одноядерный процессор с небольшим плюсом в виде возможности задействования нескольких программ одновременно.
Как же быть? Выход из этой щекотливой ситуации вполне очевиден – требуется разработка нового поколения программного обеспечения, способного задействовать одновременно несколько ядер. Необходимо как-то распараллелить процессы. В реальности это оказалось весьма непросто. Конечно, некоторые задачи, возможно, довольно легко распараллелить.
Например, относительно просто можно распараллелить кодирование видео и аудио.
Здесь в основе находится набор однотипных потоков, соответственно, организовать их одновременное выполнение – задача довольно простая. Выигрыш существующих многоядерных процессоров в решении задач кодирования перед «аналогичными» одноядерными будет пропорционален количеству этих ядер: если два ядра, то вдвое быстрее, четыре ядра – в четыре раза, 6 ядер – в шесть раз. К сожалению, подавляющую часть важных задач распараллелить гораздо сложнее. В большинстве случаев необходима серьезная переработка программного кода.
Уже несколько раз от представителей довольно мощных компьютерных компаний звучали радостные высказывания об удачной разработке оригинальных многоядерных процессоров нового поколения, которые способны самостоятельно разделять один поток на группу независимых потоков, но, к глубокому сожалению, никто из них пока не продемонстрировал ни одного подобного рабочего образца.
Шаги компьютерных компаний на пути к массовому использованию многоядерных процессоров весьма очевидны и незамысловаты. Основным заданием этих компаний является совершенствование процессоров, создание новых перспективных многоядерных процессоров, ведение продуманной ценовой политики, направленной на снижение цен (или сдерживание их роста). На сегодня, в среднем сегменте двух ведущих мировых компьютерных гигантов (AMD и Intel) можно увидеть очень широкое разнообразие двухъядерных и четырехъядерных процессоров.
При желании, можно найти еще более навороченные варианты. Радует то, что немаловажный шаг на пути к пользователю начинают делать сами разработчики современного программного обеспечения. Многие последние игры уже обзавелись поддержкой двух ядер. Самым мощным из них практически жизненно важен минимум двухъядерный процессор для обеспечения и поддержания оптимальной производительности.
Окинув взглядом прилавки лучших компьютерных магазинов, проанализировав положение дел с ассортиментом, можно сказать, что общая картина вовсе не плоха. Производителям многоядерных процессоров удалось достичь весьма высокого уровня выпуска годных кристаллов. Ценовая политика ими проводится довольно разумная.
По существующим ценам видно, что, например, увеличение числа ядер процессора в два раза обычно не приводит к двойному повышению цены такого процессора для покупателя. Это весьма разумно и вполне логично. К тому же, многим совершенно ясно, что при увеличении количества ядер центрального процессора вдвое производительность в среднем возрастает далеко не в столько же раз.
Все же, стоит признать, что, несмотря на всю тернистость пути к созданию еще более совершенных многоядерных процессоров, альтернативы ему в ближайшем обозримом будущем просто-напросто нет. Рядовым потребителям, желающим идти в ногу со временем, остается лишь своевременно модернизировать свой компьютер, применяя новые процессоры с увеличенным числом встроенных ядер, выводя таким способом общую производительность на более высокий уровень. Различные одноядерные процессоры еще успешно применяются в мобильных телефонах, нетбуках и другой технике.
Если вы не знаете, где он находится, читайте статью: «Где находится процессор в компьютере». Напишите в комментариях какой у вас процессор?
Источник: useroff.com
Чем отличаются архитектуры процессоров и можно ли их сравнивать?
Нам часто задают вопросы о том, чем же отличаются процессоры друг от друга? Причем, если в рамках одной архитектуры их еще можно сравнить, то как быть с принципиально разными? Чем отличается, скажем, Qualcomm Snapdragon от Intel Core или MediaTek Helio от Apple M1?
erid: LjN8Jzc3Y
ООО «ИТ Медиа»
erid: LjN8K7fA6
ООО «ИТ Медиа»
В этом материале мы попытаемся ответить на столь непростой технический вопрос понятным русским языком. Сегодня трудно представить жизнь без многочисленных компьютерных устройств, разнообразных мобильных и стационарных систем, включая смартфоны, планшеты, ноутбуки, десктопы, мощные рабочие станции, серверы и т. п. Среди важнейших компонентов, входящих в состав компьютерных изделий, центральный процессор (далее просто процессор) занимает особое место.
Это фактически «мозг» компьютерного устройства, представленный одним или несколькими полупроводниковыми чипами. Внутренние схемы этих чипов сегодня нередко состоят из сотен миллионов, а в ряде случаев даже из десятков миллиардов транзисторов. При этом размеры транзисторов в настоящее время составляют примерно 10–20 нм и имеют тенденцию к дальнейшему уменьшению по мере развития полупроводниковых технологий. Объединены все эти транзисторы в очень сложные структуры, которые определяют внутреннее устройство и функциональные возможности процессоров и, как следствие, конечных компьютерных изделий.
С чего всё начиналось
В настоящее время на рынке есть сотни моделей самых разных процессоров. Подавляющее число их создано в соответствии с несколькими распространенными архитектурами. Основные свойства этих архитектур будут рассмотренных ниже, но сначала небольшой экскурс в историю разработки процессоров.
Анализируя современные процессоры, необходимо отметить, что, несмотря на огромную внутреннюю сложность и разнообразие этих важнейших компонентов компьютерных систем, их функции, по сути, сравнительно просты. Действительно, все сводится к тому, что процессор с очень высокой скоростью читает инструкции из оперативной памяти и в соответствии с ними выполняет различные операции.
Говоря простыми словами, процессорные инструкции указывают компьютерному устройству, что и в каком порядке необходимо делать. Есть, правда, в такой простоте одна любопытная особенность, заключающаяся в том, что команды, как и данные, над которыми должны быть произведены необходимые операции, — это просто наборы двоичных чисел. Отличить же команды от данных процессору помогают системные и прикладные программы. Они с учетом внутренней микроархитектуры и системы команд задают адреса и последовательность загрузки двоичных чисел, которые интерпретируются либо как команды, либо как данные, определяют действия и судьбу полученных результатов.
Первым массовым процессором стал, как известно, Intel 4004 (i4004). Это был 4-битный микропроцессор, разработанный корпорацией Intel и выпущенный 15 ноября 1971 года. Его набор команд насчитывал 46 инструкций, тактовая частота была равна 92,6 кГц, время выполнения одной инструкции составляло 8 тактов. Вторым стал чип i8008, который унаследовал многие решения своего предшественника.
Это был 8-битный микропроцессор, разработанный Intel и выпущенный в 1972-м. Набор команд i8008 — 48 инструкций, тактовая частота — 500 кГц (200–800 кГц), выполнение команд занимало от 10 до 22 тактов генератора. В 1974 году появился i8080: 8 бит, 80 инструкций, тактовая частота 2 МГц (позже 2,5, 3,1, 4 МГц), выполнение команд занимало от 4 до 11 циклов тактового генератора. Его производительность была в 10 раз больше производительности i8008. Спустя четыре года появился i8086: 16 бит, 98 инструкций, тактовая частота 4–16 МГц, команды требуют от 2 до 184 циклов, а еще через год появился i8088, послуживший основой персональных компьютеров IBM PC и IBM PC/XT.
Оценивая параметры и эволюцию указанных и последующих изделий, следует отметить неуклонный рост тактовых частот и постоянное расширение наборов выполняемых команд. Тем не менее, несмотря на архитектурные изменения внутренних структур процессоров, конструкторы старались максимально сохранить программную совместимость.
Постепенно для процессоров Intel и многочисленных их клонов, созданных другими компаниями, появился ряд стандартов и рекомендаций для разработчиков и пользователей. Они были объединены в некий набор, получивший наименование x86 (от Intel 80×86). Под этим наименованием понимается процессорная архитектура и одноименный набор команд, которые были впервые реализованы в соответствующих изделиях Intel. Кстати, название образовано от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей.
Эволюция CISC
За время своего существования набор процессорных команд постоянно расширялся, сохраняя совместимость с предыдущими поколениями. Однако постепенно стало очевидно, что 32-битное адресное пространство архитектуры x86 ограничивает производительность приложений. Действительно, 32-разрядное адресное пространство позволяет процессору осуществлять непосредственную адресацию лишь 4 Гбайт данных, что часто недостаточно для современных приложений. Для решения этой проблемы было предложено ввести 64-разрядное расширение к уже существующей 32-разрядной архитектуре x86. Новая версия архитектуры получила название EM64T, или чаще x86-64, хотя по старинке нередко называют просто x86. По мере совершенствования полупроводниковых технологий, внутреннего устройства процессоров и усложнения аппаратно-программного обеспечения компьютеров, призванных решать все более сложные задачи, состав x86 дополнялся различными расширениями. В качестве примера можно привести следующие наборы: x87, IA-32, MMX, SSE, SSE2, x86-64, SSE3, SSSE3, SSE4, SSE5, AVX, AVX2, SGX. Эти и последующие расширения, поддержанные соответствующими электронными средствами, интегрированными в состав процессоров, призваны увеличить производительность и сократить время разработки и выполнения программ. Конечно, совершенствование и расширение наборов команд является важным, но не единственным направлением в обеспечении высоких уровней производительности процессоров. Очевидно, что производительность пропорциональна числу выполняемых команд в секунду. Она увеличивается с ростом тактовой частоты, но существенно зависит от реализации команд. При этом выполнение каждой из них требует нередко десятков, а иногда и сотен циклов тактового генератора. Это означает, что для реализации сложных команд понадобится больше времени, чем для выполнения простых. Компенсировать эту особенность и повысить производительность удается внедрением соответствующих конструкторских решений и новых технологий. В качестве примера можно привести две интересные разработки, внедренные в процессоры разных производителей, начиная с Intel Pentium (1993 г.). Речь идет о суперскалярности и суперконвейерности.
Суперскалярность — это поддержка параллелизма на уровне инструкций. Другими словами, суперскалярный процессор может выполнять более одной операции за один такт, то есть несколько инструкций одновременно. Обычно данная возможность достигается увеличением количества одинаковых функциональных узлов процессора (АЛУ, FPU и др.), способных работать одновременно. Это обеспечивает существенный рост производительности процессора и, как следствие, всей системы. Здесь целесообразно напомнить способы увеличения производительности, которые могут использоваться совместно:
- применение конвейера;
- увеличение количества функциональных узлов процессора (суперскалярность),;
- увеличение количества ядер (многоядерность);
- увеличение количества процессоров (многопроцессорность).
Конвейер — это способ организации вычислений, применяемый в современных процессорах и контроллерах для повышения их производительности (увеличения числа инструкций, выполняемых в единицу времени). При использовании конвейера количество узлов остается прежним, увеличение же производительности достигается за счет одновременной работы узлов, ответственных за разные стадии обработки инструкций одного потока.
Благодаря суперскалярности увеличение производительности достигается за счет одновременной работы большего количества одинаковых узлов, независимо обрабатывающих инструкции одного потока (в том числе и большего количества конвейеров). В процессе работы на вход процессора поступает поток инструкций, рассчитанных на последовательное исполнение. Процессор может детектировать независимые операции и запускать их параллельно (суперскалярность) и даже менять их порядок (внеочередное исполнение).
При использовании нескольких ядер каждое ядро выполняет инструкции отдельного потока, причем каждое из них может быть суперскалярным и/или конвейерным. При применении нескольких процессоров каждый процессор может быть многоядерным, что соответствующим образом увеличивает число обрабатываемых потоков.
Суперконвейерность означает, что процессор имеет несколько вычислительных конвейеров. К слову сказать, у Intel Pentium их было два, что позволяло ему при одинаковых частотах в идеале быть вдвое производительней своего предшественника в лице i486, выполняя сразу две инструкции за такт. С дальнейшим же увеличением числа конвейеров еще больше возрастает производительность, что и реализуется в более мощных процессорах.
Остается добавить, что указанные решения демонстрируют особенности эволюции процессоров CISC, к которым относятся широко известные мобильные, десктопные и серверные модели, созданные не только корпорацией Intel, но и рядом других компаний, например, AMD, Motorola, IBM.
CISC (Complex Instruction Set Computing или Complex Instruction Set Computer) — тип архитектуры процессора с полным набором команд, характеризуется следующими свойствами:
- нефиксированное значение длины команды;
- арифметические действия кодируются в одной команде;
- небольшое число регистров, каждый из которых выполняет строго определённую функцию.
Основоположником CISC-архитектуры многие эксперты считают фирму IBM с архитектурой IBM/360. При этом подходе выполнение любой сколь угодно сложной команды из системы команд процессора реализуется аппаратно средствами процессора. Этот тип архитектуры предусматривает наличие больших наборов команд. Среди них значительную долю составляют сложные.
Их выполнение осуществляется в течение нередко большого числа тактов тактового генератора. Использование сложных команд позволяет решать большое количество задач, упрощает программирование, помогает сократить размер программ и время их разработки. В качестве примеров процессоров CISC-архитектуры можно привести большинство процессоров Intel и AMD.
Однако этому типу архитектуры присущи и принципиальные недостатки, связанные, прежде всего, со сложностью реализации упомянутых функциональных узлов и технологий, а также проблемы с распараллеливанием вычислений сложных команд.
Нельзя сказать, что существующих проблем с архитектурой CISC не видели разработчики процессоров, но их изобретательский потенциал ограничен наличием огромного количества уже разработанного аппаратно-программного обеспечения. Тем не менее поиски оптимальных путей развития не прекращаются.
RISC: достоинства и недостатки
Одним из альтернативных вариантов CISC-архитектуре является RISC, чья разработка интенсивно развивается с восьмидесятых годов прошлого столетия, то есть вскоре после появления первых процессоров Intel. RISC (Restricted (Reduced) Instruction Set Computer — компьютер с сокращенным набором команд) — архитектура процессора, в которой быстродействие увеличивается за счет упрощения инструкций благодаря исключению из набора сложных команд, требующих для своего выполнения большого числа тактов.
Такой подход делает декодирование простым, а время выполнения — малым. В процессорах с архитектурой RISC применяется ограниченный набор быстрых команд. Согласно идеологии RISC, все команды должны выполняться всего за один такт.
Это облегчает повышение тактовой частоты и значительно упрощает реализацию суперскалярности (распараллеливание инструкций между несколькими исполнительными блоками). В чипах архитектуры RISC по сравнению с вариантами CISC содержится меньшее количество транзисторов. Это упрощает разработку процессоров, снижает площадь их полупроводниковых кристаллов, уменьшает себестоимость, предоставляет конструкторам возможность снизить уровни энергопотребления и теплообразования.
Недостатки архитектуры RISC прямо связаны с ее некоторыми преимуществами. Так, из-за исключения из набора сложных команд выполнение некоторых функций требует применения нескольких простых команд вместо одной сложной. Это удлиняет код программ, предполагает бóльшие объемы памяти, увеличивает трафик.
Исследования показали, что программы в системах RISC в среднем на 30% длиннее программ в системах CISC. Тем не менее архитектура RISC развивается и находит все больше сторонников среди производителей не только относительно простых контроллеров и встраиваемых систем, но и мобильных и стационарных компьютерных устройств, и даже серверов. Остается добавить, что идеи RISC нашли воплощение в многочисленных моделях процессоров архитектуры MIPS и ARM.
Примеры реализации RISC-архитектуры
MIPS (сокращение от названия соответствующего проекта Стэнфордского университета — Microprocessor without Interlocked Pipeline Stages) — система команд и микропроцессорных архитектур, разработанных компанией MIPS Computer Systems в соответствии с концепцией проектирования процессоров RISC. Ранние модели процессоров имели 32-битную структуру, позднее появились его 64-битные версии.
Существует несколько наборов команд: MIPS32, MIPS64, microMIPS и nanoMIPS. Помимо этого, доступны дополненные наборы инструкций и модели процессоров. С середины до конца 1990-х годов каждым третьим микропроцессором на рынке был процессор под управлением MIPS. В настоящее время различные реализации MIPS используются в основном во встроенных системах — например, в шлюзах, маршрутизаторах, во встраиваемых системах, контроллерах, смартфонах, игровых приставках, видеоплеерах.
Процессоры архитектуры MIPS разработали и выпустили многие компании, среди которых, например, Broadcom, NEC, Realtek, Toshiba. В мае 2015 года российская компания «Байкал Электроникс» (Baikal Electronics) объявила о тестировании своего первого продукта — процессора Baikal-T1 на ядре MIPS Warrior. В том же году был выпущен первый коммерческий продукт на этом процессоре.
ARM (Advanced RISC Machine — усовершенствованная RISC-машина) — система команд и семейство описаний и готовых топологий 32- и 64-битных микропроцессорных/микроконтроллерных ядер, разрабатываемых компанией ARM Limited. Среди лицензиатов готовых топологий ядер ARM много известных компаний, в их числе, например, AMD, Apple, Analog Devices, Intel, Marvell, NXP, STMicroelectronics, Samsung, LG, MediaTek, Qualcomm, Sony, Texas Instruments, Nvidia, HiSilicon, «Байкал электроникс».
При этом немало лицензиатов проектируют собственные топологии ядер на базе системы команд ARM. Многие специалисты считают процессоры ARM перспективными для применения в серверах.
В настоящее время процессоры ARM широко используются в потребительской электронике: в смартфонах, мобильных телефонах, аудио- и видео плеерах, игровых консолях, калькуляторах, «умных» часах и компьютерных периферийных устройствах, таких как жесткие диски или маршрутизаторы. Эти процессоры имеют низкое энергопотребление, а потому находят широкое применение во встраиваемых системах и преобладают на рынке мобильных устройств, для которых данный фактор критически важен. Кстати, российская компания «Байкал Электроникс» разработала микропроцессор Baikal-M на базе 8 ядер ARM Cortex-A57 и GPU Mali-T628. В 2020 году были представлены планы по разработке ARM-процессоров Baikal-М/2 и М/2+, однако компания позже изменила свою продуктовую стратегию. А Baikal-S был представлен в середине декабря 2021 года.
Оценивая особенности архитектур CISC и RISC, необходимо отметить, что они находятся в постоянном развитии. Более того, в своей эволюции каждая из них часто заимствует достоинства и решения соперника. Таким образом, в некоторых процессорах можно найти узлы и технологии обеих архитектур, что делает их, по сути, гибридными.
Портированные узлы и технологии улучшают функциональные и потребительские возможности процессоров, повышают их производительность, но не делают их универсальными. Такие процессоры остаются либо в группе CISC, либо в группе RISC. Данное обстоятельство накладывает соответствующие ограничения на использование программного обеспечения. Здесь уместно еще раз напомнить, что процессоры CISC и RISC имеют разные наборы команд. Это не позволяет без соответствующего перекодирования осуществлять беспроблемный перенос системных и прикладных программ между компьютерными устройствами CISC и RISC.
В заключение остается добавить, что рассмотренными вариантами не исчерпывается все многообразие архитектур современных процессоров. Приведенный обзор — это упрощенный взгляд на эволюцию процессоров, в реальности же все намного сложнее и интереснее. Поэтому — продолжение следует…
Источник: www.it-world.ru