Архитектуры процессора intel за все время. Что такое процессор? Особенности и характеристики. Почему кластерные архитектуры эффективнее

Существуют процессоры различной архитектуры.

CISC (Complex Instruction Set Computing). Эта конфигурация для повышения гибкости и расширения возможностей предусматривает:

· увеличение числа различных по формату и длине команд;

· введение большого числа различных режимов адресации;

· сложную кодировку инструкции.

Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, однако обрабатывать несколько таких инструкций параллельно сложнее.

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

RISC (Reduced Instruction Set Computing). Процессор с сокращенным набором команд. Система команд имеет упрощенный вид. Все команды одинакового формата с простой кодировкой. Обращение к памяти происходит посредством команд загрузки и записи, остальные команды типа регистр-регистр. Команда, поступающая в CPU, уже разделена по полям и не требует дополнительной дешифрации.

Часть кристалла освобождается для включения дополнительных компонентов. Степень интеграции ниже, чем в предыдущем архитектурном варианте, поэтому при высоком быстродействии допускается более низкая тактовая частота. Команда меньше загромождает ОЗУ, CPU дешевле. Программной совместимостью указанные архитектуры не обладают. Отладка программ на RISC более сложна. Данная технология может быть реализована программно-совместимым с технологией CISC (например, суперскалярная технология).

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

MISC (Multipurpose lnstruction Set Computer) сочетает преимущества вышерассмотренных архитектур. Элементная база состоит из двух частей, которые либо выполнены в отдельных корпусах, либо объединены. Основная часть – RISC CPU, расширяемый подключением второй части – ПЗУ микропрограммного управления. Система приобретает свойства CISC. Основные команды работают на RISC CPU, а команды расширения преобразуются в адрес микропрограммы. RISC CPU выполняет все команды за один такт, а вторая часть эквивалентна CPU со сложным набором команд. Наличие ПЗУ устраняет недостаток RISC, выраженный в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, занимающей много места в ОЗУ. Поскольку микропрограмма уже дешифрована и открыта для программиста, то времени выборки из ОЗУ на дешифрацию не требуется.

Существует несколько подходов к классификации микропроцессоров по типу архитектуры. Так, выделяют МП с CISC (Complete Instruction Set Computer) архитектурой, характеризуемой полным набором команд, RISC (Reduce Instruction Set Computer) архитектурой, которая определяет систему с сокращенным набором команд одинакового формата, и MISC (Minimum Instruction Set Computing) вычисления с минимальным набором команд, выполняемых за один такт МП.

Анализируя адресные пространства программ и данных, определяют МП с архитектурой фон Неймана (память программ и память данных находятся в едином пространстве и нет никаких признаков, указывающих на тип информации в ячейке памяти) и МП с архитектурой Гарвардской лаборатории (память программ и память данных разделены, имеют свои адресные пространства и способы доступа к ним).

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

С точки зрения важности для пользователя-программиста под архитектурой в общем случае понимают совокупность следующих компонентов и характеристик:

1) разрядности адресов и данных;

2) состава, имен и назначения программно-доступных регистров;

3) форматов и системы команд;

4) режимов адресации памяти;

5) способов машинного представления данных разного типа;

6) структуры адресного пространства;

7) способа адресации внешних устройств и средств выполнения операций ввода/вывода;

8) классов прерываний, особенностей инициирования и обработки прерываний.

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

Джон фон Нейман придумал схему постройки компьютера в 1946 году.

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

Этапы цикла выполнения:

Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения;

Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности;

Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её;

Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды;

Снова выполняется п. 1.

Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства).

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

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

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

Гарвардская архитектура

Гарвардская архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете с целью увеличить скорость выполнения вычислительных операций и оптимизировать работу памяти.

Типичные операции (сложение и умножение) требуют от любого вычислительного устройства нескольких действий: выборку двух операндов, выбор инструкции и её выполнение, и, наконец, сохранение результата. Идея, реализованная Эйкеном, заключалась в физическом разделении линий передачи команд и данных. В первом компьютере Эйкена Марк I для хранения инструкций использовалась перфорированная лента, а для работы с данными — электромеханические регистры. Это позволяло одновременно пересылать и обрабатывать команды и данные, благодаря чему значительно повышалось общее быстродействие.

Конвейерная архитектура

Конвейерная архитектура (pipelining) была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифрация команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Например, конвейер микропроцессора с архитектурой MIPS-I содержит четыре стадии:

1) получение и декодирование инструкции (Fetch)

2) адресация и выборка операнда из ОЗУ (Memory access)

3) выполнение арифметических операций (Arithmetic Operation)

4) сохранение результата операции (Store)

После освобождения k-й ступени конвейера она сразу приступает к работе над следующей командой. Если предположить, что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в n ступеней займёт n единиц времени, однако в самом оптимистичном случае результат выполнения каждой следующей команды будет получаться через каждую единицу времени.

Действительно, при отсутствии конвейера выполнение команды займёт n единиц времени (так как для выполнения команды по прежнему необходимо выполнять выборку, дешифрацию и т. д.), и для исполнения m команд понадобится единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения m команд понадобится всего лишь n + m единиц времени.

Факторы, снижающие эффективность конвейера:

  • простой конвейера, когда некоторые ступени не используются (напр., адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами);
  • ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд, out-of-order execution);
  • очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).
  • Некоторые современные процессоры имеют более 30 ступеней в конвейере, что увеличивает производительность процессора, однако приводит к большому времени простоя (например, в случае ошибки в предсказании условного перехода.)

Суперскалярная а рхитектура

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

CISC-процессоры

Complex Instruction Set Computer — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями CISC является семейство микропроцессоров Intel x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд).

RISC-процессоры

Reduced Instruction Set Computing (technology) — вычисления с сокращённым набором команд. Архитектура процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком (John Cocke) из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).

Самая распространённая реализация этой архитектуры представлена процессорами серии PowerPC, включая G3, G4 и G5. Довольно известная реализация данной архитектуры — процессоры серий MIPS и Alpha.

MISC-процессоры

Minimum Instruction Set Computing — вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC процессоров, слишком быстро отошёл на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и перегнал многие CISC процессоры по сложности.

Контрольные вопросы:

1) Дайте о пределение архитектуры микропроцессора.

2) Назовите основные типы архитектур.

3) Назовите о тличительные особенности архитектуры Джона Фон Неймана.

4) Что такое тактовая частота?

5) Дайте определение Гарвардской архитектуры.

6) Расскажите о конвейерной архитектуре. Для чего она была введена в центральный процессор?

7) Назовите факторы, снижающие эффективность конвейера.

8) Что такое суперскалярная архитектура?

9) Что характеризует RISC-процессоры?

10) Охарактеризуйте СISC-процессоры.

См. также:

Введение. Компьютерная техника развивается быстрыми темпами. Вычислительные устройства становятся мощнее, компактнее, удобнее, однако в последнее время повышение производительности устройств стало большой проблемой. В 1965 году Гордон Мур (один из основателей Intel) пришёл к выводу, что «количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца».

Первые разработки в области создания многопроцессорных систем начались в 70-х годах. Длительное время производительность привычных одноядерных процессоров повышалась за счёт увеличения тактовой частоты (до 80% производительности определяла только тактовая частота) с одновременным увеличением числа транзисторов на кристалле. Фундаментальные законы физики остановили этот процесс: чипы стали перегреваться, технологический стал приближаться к размерам атомов кремния. Все эти факторы привели к тому, что:

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

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

Hyper-Threading Technology (HTT) или технология сверхпоточной обработки данных, позволяющая процессору на одном ядре выполнять несколько программных потоков. Именно HTT по мнению многих специалистов стала предпосылкой для создания многоядерных процессоров. Выполнение процессором одновременно несколько программных потоков называется параллелизмом на уровне потоков (TLP –thread-level parallelism).

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

1. Общие понятия

Архитектура в широком смысле – это описание сложной системы, состоящей из множества элементов.

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

Микропроцессор (или процессор) – это главный компонент компьютера. Он обрабатывает информацию, выполняет программы и управляет другими устройствами системы. От мощности процессора зависит, насколько быстро будут выполняться программы.

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

Процессоры Intel, используемые в IBM – совместимых ПК, насчитывают более тысячи команд и относятся к процессорам с расширенной системой команд – CISC-процессорам (CISC –Complex Instruction Set Computing).

1.1 Высокопроизводительные вычисления. Параллелизм

Темпы развития вычислительной техники легко проследить: от ENIAC (первый электронный цифровой компьютер общего назначения) с производительностью в несколько тысяч операций в секунду до суперкомпьютера Tianhe-2 (1000 триллионов операций с плавающей запятой в секунду). Это означает, что скорость вычислений увеличилась в триллион раз за 60 лет. Создание высокопроизводительных вычислительных систем – одна из самых сложных научно-технических задач. При том, что скорость вычислений технических средств выросла всего лишь в несколько миллионов раз, общая скорость вычислений выросла в триллионы раз. Этот эффект достигнут за счёт применения параллелизма на всех стадиях вычислений. Параллельные вычисления требуют поиска рационального распределения памяти, надёжных способов передачи информации и координации вычислительных процессов.

1.2 Симметрическая мультипроцессорность

Symmetric Multiprocessing (сокращённо SMP) или симметрическое мультипроцессирование – это особая архитектура мультипроцессорных систем, в которой несколько процессоров имеют доступ к общей памяти. Это очень распространённая архитектура, достаточно широко используемая в последнее время.

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

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

SMP-система (как и любая другая, основанная на параллельных вычислениях) предъявляет повышенные требования к такому параметру памяти, как полоса пропускания шины памяти. Это зачастую ограничивает количество процессоров в системе (современные SMP- системы эффективно работают вплоть до 16 процессоров).

Так как у процессоров общая память, то возникает необходимость рационального её использования и согласования данных. В мультипроцессорной системе получается так, что несколько кэшей работают для разделяемого ресурса памяти. Сache coherence (когерентность кэша) – свойство кэша, обеспечивающее целостность данных, хранящихся в индивидуальных кэшах для разделяемого ресурса. Данное понятиечастный случай понятия когерентности памяти, где несколько ядер имеют доступ к общей памяти (повсеместно встречается в современных многоядерных системах). Если описать данные понятия в общих чертах, то картина будет следующей: один и тот же блок данных может быть загружен в разные кэши, где данные обрабатываются по-разному.

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

SMP-системы являются подгруппой MIMD (multi in-struction multi data - вычислительная система со множественным потоком команд и множественным потоком данных) классификации вычислительных систем по Флинну (профессор Стэнфордского университета, сооснователь Palyn Associates). Согласно данной классификации, практически все разновидности параллельных систем можно отнести к MIMD.

Разделение многопроцессорных систем на типы происходит на основе разделения по принципу использования памяти. Этот подход позволил различить следующие важные типы

многопроцессорных систем – multiprocessors (мультипроцессорные системы с общей разделяемой памятью) и multicomputers (системы с раздельной памятью). Общие данные, используемы при параллельных вычислениях требуют синхронизации. Задача синхронизация данных – одна из самых важных проблем, и её решение при разработке многопроцессорных и многоядерных и, соответственно, необходимого программного обеспечения является приоритетной задачей инженеров и программистов. Общий доступ к данным может быть произведён при физическом распределении памяти. Этот подход называется неоднородным доступом к памяти (non-uniform memory access или NUMA).

Среди данных систем можно выделить:

  • Системы, где только индивидуальная кэш-память процессоров используется для представления данных (cache-only memory architecture).
  • Системы с обеспечением когерентности локальных кэшей для различных процессоров (cache-coherent NUMA).
  • Системы с обеспечением общего доступа к индивидуальной памяти процессоров без реализации на аппаратном уровне когерентности кэша (non-cache coherent NUMA).

Упрощение проблемы создания мультипроцессорных систем достигается использованием распределённой общей памяти (distributed shared memory), однако этот способ приводит к ощутимому повышению сложности параллельного программирования.

1.3 Одновременная многопоточность

Исходя из всех вышеперечисленных недостатков симметрической мультипроцессорности, имеет смысл разработка и развитие других способов повышения производительности. Если проанализировать работу каждого отдельного транзистора в процессоре, можно обратить внимание на очень интересный факт – при выполнении большинства вычислительных операций задействуются далеко не все компоненты процессора (согласно последним исследованиям – около 30% всех транзисторов). Таким образом, если процессор выполняет, скажем, несложную арифметическую операцию, то большая часть процессора простаивает, следовательно, её можно использовать для других вычислений. Так, если в данный момент процессор выполняет вещественные операции, то в свободную часть можно загрузить целочисленную арифметическую операцию. Чтобы увеличить нагрузку на процессор, можно создать спекулятивное (или опережающее) выполнение операций, что требует большого усложнения аппаратной логики процессора. Если в программе заранее определить потоки (последовательности команд), которые могут выполняться независимо друг от друга, то это заметно упростит задачу (данный способ легко реализуется на аппаратном уровне). Эта идея, принадлежащая Дину Тулсену (разработана им в 1955 г в университете Вашингтона), получила название одновременной многопоточности (simul-taneous multithreading). Позднее она была развита компанией Intel под названием гиперпоточности (hyper threading). Так, один процессор, выполняющий множество потоков, воспринимается операционной системой Windows как несколько процессоров. Использование данной технологии опять-таки требует соответствующего уровня программного обеспечения. Максимальный эффект от применения технологии многопоточности составляет около 30%.

1.4 Многоядерность

Технология многопоточности – реализация многоядерности на программном уровне. Дальнейшее увеличение производительности, как всегда, требует изменений в аппаратной части процессора. Усложнение систем и архитектур не всегда оказывается действенным. Существует обратное мнение: «всё гениальное – просто!». Действительно, чтобы повысить производительность процессора вовсе необязательно повышать его тактовую частоту, усложнять логическую и аппаратную составляющие, так как достаточно лишь провести рационализацию и доработку существующей технологии. Такой способ весьма выгоден – не нужно решать проблему повышения тепловыделения процессора, разработку нового дорогостоящего оборудования для производства микросхем. Данный подход и был реализован в рамках технологии многоядерности – реализация на одном кристалле нескольких вычислительных ядер. Если взять исходный процессор и сравнить прирост производительности при реализации нескольких способов повышения производительности, то очевидно, что применение технологии многоядерности является оптимальным вариантом.

Если сравнивать архитектуры симметричного мультипроцессора и многоядерного, то они окажутся практически идентичными. Кэш-память ядер может быть многоуровневой (локальной и общей, причём данные из оперативной памяти могут загружаться в кэш-память второго уровня напрямую). Исходя из рассмотренных достоинств многоядерной архитектуры процессоров, производители делают акцент именно на ней. Данная технология оказалась достаточно дешёвой в реализации и универсальной, что позволило вывести её на широкий рынок. Кроме того, данная архитектура внесла свои коррективы в закон Мура: «количество вычислительных ядер в процессоре будет удваиваться каждые 18 месяцев».

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

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

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

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

Второе, на что нужно обратить внимание, это поколения процессора Intel. Наверное, вы уже много раз слышали - этот процессор пятого поколения, тот четвертого, а это седьмого. Многие думают что это обозначается i3, i5, i7. Но на самом деле нет i3, и так далее - это марки процессора. А поколение зависит от используемой архитектуры.

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

Архитектуры процессора Intel

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

Первые процессоры

Сначала кратко окунемся в историю чтобы понять с чего все началось. Не будем углубятся далеко и начнем с 32-битных процессоров. Первым был Intel 80386, он появился в 1986 году и мог работать на частоте до 40 МГц. Старые процессоры имели тоже отсчет поколений. Этот процессор относиться к третьему поколению, и тут использовался техпроцесс 1500 нм.

Следующим, четвертым поколением был 80486. Используемая в нем архитектура так и называлась 486. Процессор работал на частоте 50 МГц и мог выполнять 40 миллионов команд в секунду. Процессор имел 8 кб кэша первого уровня, а для изготовления использовался техпроцесс 1000 нм.

Следующей архитектурой была P5 или Pentium. Эти процессоры появились в 1993 году, здесь был увеличен кэш до 32 кб, частота до 60 МГц, а техпроцесс уменьшен до 800 нм. В шестом поколении P6 размер кэша составлял 32 кб, а частота достигла 450 МГц. Тех процесс был уменьшен до 180 нм.

Дальше компания начала выпускать процессоры на архитектуре NetBurst. Здесь использовалось 16 кб кэша первого уровня на каждое ядро, и до 2 Мб кэша второго уровня. Частота выросла до 3 ГГц, а техпроцесс остался на том же уровне - 180 нм. Уже здесь появились 64 битные процессоры, которые поддерживали адресацию большего количества памяти. Также было внесено множество расширений команд, а также добавлена технология Hyper-Threading, которая позволяла создавать два потока из одного ядра, что повышало производительность.

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

Intel Core

На смену NetBurst в 2006 году пришла архитектура Intel Core. Одной из причин разработки этой архитектуры была невозможность увеличения частоты в NetBrust, а также ее очень большое тепловыделение. Эта архитектура была рассчитана на разработку многоядерных процессоров, размер кэша первого уровня был увеличен до 64 Кб. Частота осталась на уровне 3 ГГц, но зато была сильно снижена потребляемая мощность, а также техпроцесс, до 60 нм.

Процессоры на архитектуре Core поддерживали аппаратную виртуализацию Intel-VT, а также некоторые расширения команд, но не поддерживали Hyper-Threading, поскольку были разработаны на основе архитектуры P6, где такой возможности еще не было.

Первое поколение - Nehalem

Дальше нумерация поколений была начата сначала, потому что все следующие архитектуры - это улучшенные версии Intel Core. Архитектура Nehalem пришла на смену Core, у которой были некоторые ограничения, такие как невозможность увеличить тактовую частоту. Она появилась в 2007 году. Здесь используется 45 нм тех процесс и была добавлена поддержка технологии Hyper-Therading.

Процессоры Nehalem имеют размер L1 кэша 64 Кб, 4 Мб L2 кэша и 12 Мб кєша L3. Кэш доступен для всех ядер процессора. Также появилась возможность встраивать графический ускоритель в процессор. Частота не изменилась, зато выросла производительность и размер печатной платы.

Второе поколение - Sandy Bridge

Sandy Bridge появилась в 2011 году для замены Nehalem. Здесь уже используется техпроцесс 32 нм, здесь используется столько же кэша первого уровня, 256 Мб кэша второго уровня и 8 Мб кэша третьего уровня. В экспериментальных моделях использовалось до 15 Мб общего кэша.

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

Третье поколение - Ivy Bridge

Процессоры Ivy Bridge работают быстрее чем Sandy Bridge, а для их изготовления используется техпроцесс 22 нм. Они потребляют на 50% меньше энергии чем предыдущие модели, а также дают на 25-60% высшую производительность. Также процессоры поддерживают технологию Intel Quick Sync, которая позволяет кодировать видео в несколько раз быстрее.

Четвертое поколение - Haswell

Поколение процессора Intel Haswell было разработано в 2012 году. Здесь использовался тот же техпроцесс - 22 нм, изменен дизайн кэша, улучшены механизмы энергопотребления и немного производительность. Но зато процессор поддерживает множество новых разъемов: LGA 1150, BGA 1364, LGA 2011-3, технологии DDR4 и так далее. Основное преимущество Haswell в том, что она может использоваться в портативных устройствах из-за очень низкого энергопотребления.

Пятое поколение - Broadwell

Это улучшенная версия архитектуры Haswell, которая использует техпроцесс 14 нм. Кроме того, в архитектуру было внесено несколько улучшений, которые позволили повысить производительность в среднем на 5%.

Шестое поколение - Skylake

Следующая архитектура процессоров intel core - шестое поколение Skylake вышла в 2015 году. Это одно из самых значительных обновлений архитектуры Core. Для установки процессора на материнскую плату используется сокет LGA 1151, теперь поддерживается память DDR4, но сохранилась поддержка DDR3. Поддерживается Thunderbolt 3.0, а также шина DMI 3.0, которая дает в два раза большую скорость. И уже по традиции была увеличенная производительность, а также снижено энергопотребление.

Седьмое поколение - Kaby Lake

Новое, седьмое поколение Core - Kaby Lake вышло в этом году, первые процессоры появились в середине января. Здесь было не так много изменений. Сохранен техпроцесс 14 нм, а также тот же сокет LGA 1151. Поддерживаются планки памяти DDR3L SDRAM и DDR4 SDRAM, шины PCI Express 3.0, USB 3.1. Кроме того, была немного увеличена частота, а также уменьшена плотность расположения транзисторов. Максимальная частота 4,2 ГГц.

Выводы

В этой статье мы рассмотрели архитектуры процессора Intel, которые использовались раньше, а также те, которые применяются сейчас. Дальше компания планирует переход на техпроцесс 10 нм и это поколение процессоров intel будет называться CanonLake. Но пока что Intel к этому не готова.

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

Об авторе

Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.