Архитектура – это некий набор свойств и качеств, которые присущи тому или иному семейству процессоров. Она представляет собой количественную составляющую компонентов микроархитектуры вычислительной машины (компьютерного процессора), рассматриваемая IT-специалистами в аспекте прикладной деятельности.
Сегодня существуют различные компьютерные архитектуры. Многие пользователи слышали об x64 и x86. Все это – архитектуры компьютеров. Далее они будут изучены более подробно. Особое внимание будет уделено архитектуре x86. Она встречается в современных устройствах чаще всего. Предстоит познакомиться с ее особенностями, преимуществами и недостатками. Также предстоит рассмотреть несколько других популярных архитектур. Соответствующая информация пригодится как начинающим системным администраторам, так и совершенно обычным ПК-пользователям.
Основные архитектуры процессоров
Современные процессоры поддерживают разнообразные наборы свойств, характерных для всего процессорного семейства. Соответствующие параметры отражают особенности и нюансы внутренней организации процессоров. Существуют различные их виды.
На данный момент известны следующие варианты архитектур процессоров:
- CISC;
- RISC;
- MISC;
- VLIW.
Также есть ARM и RISC-V. Далее каждый вариант будет рассмотрен более подробно. Эта информация поможет лучше разобраться в компьютерном железе и понять особенности функционирования процессора устройства.
CISC
CISC (Complex Instruction Set Computer) – это процессоры с полным набором команд. Их длина не фиксированная. Данный тип архитектуры процессоров выделяется кодированием арифметических действий в единой команде, а также небольшим количеством регистров. Их основная масса используется только для конкретных (выделенных) функций.
CISC используется на большинстве микропроцессоров, особенно на Pentium, способном выполнять огромное количество разноформатных операций (около 200-300 штук), применяя более 10 разнообразных методов адресации. Командная система в таких процессорах может включать несколько сотен команд совершенно разного уровня сложности или формата (1-15 байт).
CISC позволяет реализовывать достаточно эффективные алгоритмы для самых разных задач. Примерами десктопной архитектуры можно считать следующие процессоры:
- мейнфреймы zSeries;
- Motorola MC680x0;
- X86_64 (AMD64);
- X86 (IA-32 или Intel Architecture, 32-bit).
CISC процессоры поддерживают возможность замены каждой из команд на аналогичную ей или на группы выполняющих точно такие же функции операций. Соответствующая архитектура предусматривает высокий уровень производительности за счет возможности замены команд, но имеет более сложный состав. Здесь предусматривается множество сложных для раскодирования операций.
RISC
RISC (Reduced Instruction Set Computer) – это процессоры с сокращенным набором команд. В них быстродействие увеличивается за счет значительного упрощения инструкций: время исполнения сокращается благодаря тому, что их декодирование становится на порядок проще.
На первых порах RISC архитектура не предусматривала инструкции деления и умножения. Такие процессоры не могли работать с числами с плавающей запятой. Они появились из-за того, что в CISC поддерживается множество команд и способов адресации, но в реальности эти самые операции встречались редко.
Система команд в RISC включает в себя небольшое количество наиболее применяемых команд одного и того же формата. Их можно реализовать за единичный такт центрального процессора. Более сложные и редко применяемые команды допустимы, но они выполняются на программном уровне. Средняя производительность RISC процессоров выше, чем у CISC за счет увеличения скорости обработки команд.
Современные RISC-процессоры способны выполнять около 100 команд с закрепленным форматом длиной 4 байта при помощи небольшого количества простейших способов адресации (индексную, регистровую и другие). Для сокращения числа обращений оборудования к внешней оперативной памяти здесь используются сотни регистров общего назначения (POH). В CISC их всего 8-16 штук. RISC процессоры обращаются к памяти только в процессе загрузки информации в POH или при пересылке результатов в память устройства.
За счет сокращения аппаратных средств, используемых для декодирования и применения сложных команд, достигается значительное упрощение и снижение стоимости интегральных схем. Одновременно с этим возрастает производительность, а энергопотребление снижается. Подобное поведение актуально и значимо для мобильных устройств. Соответствующие особенности также являются причиной использования RISC-ядер в CISC-процессорах. Сложные CISC-команды заранее будут преобразованы в набор простейших RISC-операций, которые оперативно выполняются RISC-ядром.
Вот типичные представители RISC-архитектуры:
- PowerPC;
- ARC;
- AMD Am29000;
- DEC Alpha;
- Motorola 88000;
- RISC-V;
- SuperH;
- MIPS;
- Intel i860 и i960.
RISC работает быстрее CISC, причем разница весьма значительная. CISC все равно используется за счет совместимости: x86_64 продолжает оставаться лидером в десктопном сегменте. Старые приложения способны функционировать только на x86. Это значит, что и новые десктоп-системы должны быть x86(_64), чтобы дать возможность старому программному обеспечению успешно работать на новом оборудовании.
Для Open Source это не является какой-либо проблемой – пользователи с легкостью могут обнаружить в Интернете необходимую версию программы. Создать сборку проприетарного приложения для другой архитектуры выйдет лишь у владельца исходного кода.
MISC
MISC (Minimal Instruction Set Computer) – это процессоры с минимальным набором операций. От предыдущей архитектуры этот вариант отличается еще большей простотой. MISC используется для большего снижения электропотребления, а также уменьшения итоговой стоимости процессора. Данный тип архитектуры активно применяется в IoT-сегменте, а также в компьютерах небольшой стоимости. Примером могут послужить роутеры. Первый вариант соответствующего процессора – это MuP21.
В основе MISC процессоров заложена укладка ряда команд в единое большое слово. Данный прием позволяет осуществлять параллельную обработку сразу нескольких потоков информации. MISC пользуется стековой моделью устройства, а также базовыми словами языка Forth. Процессоры рассматриваемой архитектуры отличаются небольшим количеством команд – наиболее востребованных. Командные слова здесь очень длинные. Этот прием позволяет добиться выполнения ряда непротиворечивых операций за единый цикл функционирования процессора. Порядок их реализации определяется так, чтобы максимально загрузить маршруты, пропускающие информационные потоки.
Все указанные ранее архитектуры процессоров способны применять так называемое «спекулятивное исполнение команд». Это реализация той или иной команды, когда еще ничего неизвестно о ее необходимости. Так удается добиться высокого уровня производительности у процессоров и операционных систем.
VLIW
VLIW (Very Long Instruction Word) – это микропроцессоры, применяющие очень длинные команды за счет наличия нескольких вычислительных устройств в своем составе. В отдельных полях команды поддерживаются коды, обеспечивающие реализацию разнообразных манипуляций на исходном оборудовании.
При помощи всего одной команды VLIW можно одновременно выполнить несколько операций в разных узлах микропроцессора. За формирование таких длинных команд отвечает соответствующий компилятор. Он начинает работать во время трансляции приложений, написанных на языках разработки высокого уровня.
VLIW-архитектура – это перспективный вариант для разработки нового поколения высокопроизводительных процессоров. Сейчас он встречается на микропроцессорах:
- AMD/ATI Radeon (от R600 до Northern Islands);
- серия «Эльбрус»;
- Intel Itanium.
VLIW напоминает CISC. У нее поддерживается собственный аналог спекулятивной реализации операций. Эта самая спекуляция выполняется не в процессе реализации приложения, а на этапе ее компиляции. Соответствующий прием делает VLIW процессоры более устойчивы к таким уязвимостям как Spectre и Meltdown. Компиляторы в рассматриваемой архитектуре имеют привязку к определенным процессорам.
RISC-V
Изучая архитектуру процессоров x86, необходимо также понимать особенности других архитектур. Это поможет разобраться в преимуществах и недостатках x86.
Кроме перечисленных ранее вариантов есть RISC-V. Это полноценная и открытая архитектура. Ее популярность с каждым годом возрастает все больше. Разрабатываются процессоры на ее основе с учетом простоты и модульности. Это делает архитектуру более гибкой для запуска самых разных приложений.
RISC-V встречается в самых разных областях – от микроконтроллеров до полноценных высокопроизводительных вычислительных систем. Архитектура имеет следующие преимущества:
- Открытость и свобода. RISC-V имеет свободные лицензии, доступные всем без исключения. Это благоприятно сказывается на разработке расширений и новых процессоров.
- Разделение на базовый набор инструкций (ISA), а также наборы расширений. Модульность и расширяемость позволяют разработчикам выбирать и включать только те расширения, которые требуются для определенной задачи. RISC-V легко оптимизируется под выполнение конкретных операций.
- Минималистичность. RISC-V создатели старались сделать простой и минималистичной. Базовый набор инструкций включает в себя относительно небольшое количество простейших команд. За счет этого получается добиться более эффективного их выполнения. Также данная особенность положительно влияет на снижение энергопотребления.
Недостатки у RISC-V тоже есть. К ним обычно относят:
- Плохо развитую экосистему и поддержку. RISC-V имеет существенный недостаток – это недоразвитость технической поддержки и собственной экосистемы. Несмотря на то, что архитектура быстро становится популярной, разработчики нередко сталкиваются с ограниченным выбором библиотек, инструментов и операционных систем для работы.
- Низкий уровень производительности в некоторых приложениях. Из-за простоты и минималистичного набора инструкций, RISC-V может предусматривать ограничения в плане производительности для некоторых сложных вычислительных задач. В масштабных сценариях лучше использовать x86 или ARM. Эти архитектуры предлагают намного больше мощности и эффективных решений.
Недостатки этого типа процессоров можно устранить. Экосистема и поддержка потихоньку увеличиваются и позволяют решать проблемы, связанные с ограничениями. Простота и гибкость RISC-V делают архитектуру привлекательной для большинства приложений, особенно в области встроенных систем, Интернета вещей (IoT) и научных исследований.
ARM
ARM – процессоры, которые активно используются при разработке мобильных устройств. Сюда можно отнести планшеты и смартфоны.
Процессоры ARM изначально разрабатывались для достижения энергоэффективности. Они чаще всего предусматривают низкий уровень потребления энергии. ARM используются во встроенных системах и Интернете вещей (IoT).
К преимуществам таких процессоров можно отнести:
- Высокую энергоэффективность. Это одно из ключевых преимуществ ARM в отличие от x86 и других процессоров. По сравнению с «конкурентами» ARM потребляют значительно меньше энергии. Это делает их более эффективными при создании мобильных устройств, а также различного оборудования с ограниченным источником питания.
- Масштабируемость. У ARM поддерживается широкий спектр процессорных ядер, начиная от одноядерных до многоядерных вариаций. Это позволяет добиться высокого уровня масштабируемости. ARM могут удовлетворить разнообразные требования по производительности и спектру выполняемых задач.
- Относительно небольшую стоимость. Особенно это касается сравнения с архитектурой x86. Это способствует тому, что ARM становятся привлекательными для мобильных устройств и встраиваемых систем. Их разработчики стараются снизить затраты на производство не в ущерб производительности и другим параметрам оборудования.
- Широкую поддержку и развитую экосистему. Это значит, что разработка программного обеспечения для ARM будет упрощена. Доступность ресурсов для разработчиков здесь находится на достаточно высоком уровне.
Недостатки у этой архитектуры тоже есть. Первый – это ограничение производительности, особенно в сравнении с x86. Обычно добиться у ARM процессоров таких же высоких частот, как в случае с x86, не получается. То же самое касается вычислительных мощностей. Второй недостаток ARM – проблемы совместимости с программным обеспечением. Этот недостаток вызван меньшей популярностью архитектуры. Некоторые программы и операционные системы, разработанные специально для x86, могут не функционировать (или делать это с ошибками) на ARM процессорах без эмуляторов и соответствующих адаптаций.
На данный момент ситуация, связанная с проблемами совместимости, значительно улучшилась. Как только ARM-процессоры стали появляться на ноутбуках и настольных компьютерах, поддержка приложений для них расширилась. Данное явление также связано с появлением операционных систем, адаптированных специально под ARM. Примеры – Windows 10 или Chrome OS.
Стоит также обратить внимание на то, что основная масса мобильных приложений и операционных систем (iOS/Android) уже разработаны с учетом ARM-архитектуры. Этот прием позволяет добиться высокого уровня совместимости и производительности на оборудовании, использующем ARM процессоры.
X64
Процессоры x64 (сокращение от x86-64) – это архитектура системы команд, поддерживающая 64-битный код. Именно этот вариант послужил основой разработки x86. Впервые x64 была запущена в 2000 году. Тогда процессоры поддерживали два режима функционирования:
- 64-битный режим;
- режим совместимости, позволяющий запускать 16-битные и 32-битные программы.
X64 поддерживает все команды, что и x86. Это приводит к тому, что старые исполняемые файлы (приложения) функционируют на устройствах практически без снижения реального уровня производительности.
X64 может использовать 16 миллиардов гигабайт памяти. За счет этой особенности можно задействовать соответствующие процессоры в суперкомпьютерах и машинах, требующих доступ к большому объему ресурсов.
X86
Архитектура x86 является наиболее распространенной в настольных и мобильных компьютерах. Обычно процессоры соответствующей категории производятся организациями AMD и Intel. Они обладают поддержкой широкого набора инструкций и предусматривают высокий уровень совместимости с программным обеспечением.
X86 – это ISA для компьютерных процессоров, разработанных в 1978 году. Базируется на основании процессора Intel 8086. Именно отсюда произошло название архитектуры. Изначально x86 была представлена 16-битной системой команд для 16-битных процессоров. Позже она стала поддерживать 32-битные командные системы.
Одним из ключевых ограничений x86 является возможность обработки максимум 4096 Мб памяти. Сегодня x86 обозначает любой 32-разрядный процессор, способный на выполнение системы команд x86.
К преимуществам таких процессоров относят следующие моменты:
- Широкая поддержка. X86 – это один из наиболее популярных и распространенных типов процессоров. Это значит, что основная масса существующих операционных систем, программ и платформ разработаны с учетом совместимости с этой «моделью». Это делает x86 удобным и доступным широкому кругу пользователей вариантом.
- Обширная экосистема. У x86 поддерживается обширная экосистема, включая процессоры различных производителей, различные конфигурации и модели, множество производителей материнских плат, оперативной памяти и других составляющих. Все это обеспечивает гибкость в процессе создания систем.
- Высокий уровень производительности. X86 позволяет добиться эффективной обработки инструкций, а также реализации достаточно сложных вычислительных операций. Технологические улучшения и увеличение количества ядер привело к тому, что x86 могут обрабатывать многопоточные задачи, а также работать с требовательными приложениями и играми.
Архитектура х86 также имеет ряд недостатков:
- Ограничения совместимости. Некоторые старые приложения и операционные системы могут не поддерживаться на новых системах. При использовании x86 иногда также возникают ограничения в области энергоэффективности и масштабируемости.
- Сложная структура. Это связано с тем, что x86 обладает сложной иерархией команд и спецификаций. Для программирования этот вариант тоже достаточно трудный. Из-за подобных особенностей x86 может потребовать определенных усилий и времени для досконального изучения. То же самое касается оптимизации программного обеспечения.
- Ограничения энергоэффективности. X86 обладает большей потребляемой мощностью и может генерировать больше тепла при повышенной нагрузке. Данную особенность предстоит учитывать при выборе системы охлаждения – она должна быть более мощной.
- Ограничения масштабируемости. X86 предусматривают достаточно высокий уровень производительности, но в плане масштабируемости здесь предусматриваются ограничения. В крупных вычислительных системах, где требуются такие операции, как синхронизация и распараллеливание большого количества процессоров, лучше устанавливать другие процессоры. Пример – RISC.
Теперь, когда известно, что собой представляет x86, можно выполнить сравнение с x64. Эти два типа процессоров являются наиболее распространенными при производстве ноутбуков и стационарных компьютеров.
X64 и X86 – разница
Чтобы лучше понимать разницу между x86 и x64, рекомендуется внимательно изучить следующую таблицу:
Параметр | X86 | X64 |
Дата выпуска | 1978 год | 2000 год |
Кто стал создателем | Компания Intel | AMD |
Основа | Базируется на процессоре Intel 8086 | Вышла в качестве расширения x86. |
Количество поддерживаемых бит | 32-бита | 64-бита |
Адресное пространство | 4 Гб | 16 Эб |
Лимит поддерживаемой памяти | 4 Гб (фактически доступно 3,2 Гб) | 16 миллиардов Гб |
Скорость функционирования | Менее мощная и более медленная в сравнении с x64. | Дает возможность быстро обрабатывать большие числовые наборы. Функционирует на порядок быстрее x86. |
Информационная передача | Поддерживает параллельную передачу только 32-бит через 32-битную шину за один заход. | Предусматривает параллельную передачу крупных фрагментов информации при помощи 64-битной шины. |
Хранилище | Использует больше регистров для разделения и хранения информации. | Предусматривает большие информационные объемы с меньшим количеством регистров. |
Поддержка приложений | Отсутствует поддержка 64-битных игр и приложений. | Поддерживает 64-битные и 32-битные программы. |
Поддерживаемые операционные системы | Linux, Windows XP/Vista/7/8. | Windows XP Professional/Vista/7/8/10, Linux, MacOS. |
Ключевая разница между архитектурами x86 и x64 заключается в количестве данных, которые могут быть ими обработаны за каждый тактовый цикл. Сюда также можно отнести ширину процессорного регистра.
Функции и ограничения x86
У x86 предусматриваются следующие функции и особенности:
- Использование сложной архитектуры со сложным набором команд. А именно – CISC-архитектуры.
- X86 поддерживает больше доступных регистров, но меньше памяти.
- Процессоры соответствующего типа разработаны с меньшим количеством конвейеров обработки запросов. Эта особенность перекрывается возможностью обработки сложных адресов.
- Оптимизация производительности системы достигается за счет аппаратного подхода. X86 задействует физические компоненты памяти для компенсации ее нехватки.
- Использование программной технологии DEP (Data Execution Prevention).
Ограничения здесь следующие:
- X86 architecture обладает ограниченным пулом адресуемой памяти.
- Скорость обработки здесь ниже, чем у x64.
- Приложения и игры для 32-битных операционных систем больше не разрабатываются. Это приводит к проблемам совместимости.
- Все устройства в системе совместно пользуются доступной оперативной памятью, оставляя все меньше «пространства» для операционной системы и программного обеспечения.
Узнать больше об x86 architecture помогут дистанционные компьютерные курсы. На них не только расскажут об особенностях таких процессоров, но и научат работать с ними, а также с совместимым программным обеспечением. В конце курса будет выдан электронный сертификат, подтверждающий приобретенные знания и навыки.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!