Типы архитектур процессоров. Что такое центральный процессор (CPU, ЦП)

Введение. Компьютерная техника развивается быстрыми темпами. Вычислительные устройства становятся мощнее, компактнее, удобнее, однако в последнее время повышение производительности устройств стало большой проблемой. В 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 месяцев».

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

Типы архитектур процессоров

В процессе работы процессор обрабатывает данные, которые находятся в его регистрах, в оперативной памяти и внешних буферных устройствах процессора. Всего существует 3 информационных потока, обрабатываемых процессором:

  1. Команды
  2. Адреса
  3. Данные подлежащие обработки

Совокупность разнообразных команд, которые может выполнить процессор над данными, образует систему команд процессора. Чем больше набор команд процессора, тем сложнее его архитектура, тем длиннее запись команд в байтах, тем дольше средняя продолжительность выполнения команд процессора. Процессоры Intel насчитывают более 1000 команд и относятся к процессорам с расширенной системой команд (CISC).

Архитектурный облик IBM PC-совместимого компьютера определяется рядом свойств, обеспечивающих возможность функционирования программного обеспечения, управляющего подключенным оборудованием. Программы могут взаимодействовать с устройствами разными способами:

  • Используя вызовы функций операционной системы(прерывания DOS, API Windows и т.д.);
  • Используя вызовы функций базовой системы ввода-вывода (BIOS);
  • Непосредственно взаимодействуя с известным им «железом» - портами и памятью устройств или контроллеров интерфейсов.

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

Облик PC-совместимого компьютера в значительной степени определяется разработчиками из фирм Microsoft и Intel. Для этих фирм стало уже традицией выпускать объемистый документ, диктующий разработчикам аппаратуры требования для получения желаемого логотипа “Designed for Microsoft Windows”.

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

В настоящее время выделяют следующие типы архитектур процессора:

  • RISC – возможность выполнения меньшего количества команд, но с большой скоростью Команды состоящие из более простых команд, выполняются более производительно и с большой скоростью. Недостатки: сложные алгоритмы не всегда можно разбить на последовательность простых команд.
  • CISC – процессоры универсальны и могут использоваться в любых компьютерных системах.
  • MISC – промежуточный тип архитектуры. Имеет внутреннее ядро микропроцессора, выполненное по RISC-архитектуре и внешнее выполненное по структуре CISC.

Шины.

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

Шины расширения является средствами подключения системного уровня: они позволяют адаптерам и контроллерам непосредственно использовать системные ресурсы PC – пространства памяти и ввода-вывода, прерывания, каналы прямого доступа к памяти. Как следствие, изготовителям модулей расширения приходится точно следовать протоколам шины, включая жесткие частотные и нагрузочные параметры, а также временные диаграммы. Отклонения приводят к несовместимости с некоторыми системными платами. Если при подключении к внешним интерфейсам это ведет к неработоспособности только самого устройства, то некорректное подключение к системной шине может блокировать работу всего компьютера. Следует также учитывать ограниченность ресурсов PC. Самые дефицитные из них – линии запросов прерываний, проблема прерываний, известная по шине ISA, так и не была радикально решена с переходом на PCI. Другой дефицит – каналы прямого доступа шины ISA, используемые и для прямого управления шиной, - в шине PCI исчез. Доступное адресное пространство памяти и портов ввода-вывода, в котором было тесновато абонентам шины ISA, в PCI существенно расширено. Проблемы распределения ресурсов на шинах решаются по-разному, но чаще всего применяется технология PnP.

В современных настольных компьютерах основной шиной расширения является PCI, порт AGP присутствует практически повсеместно, шина ISA, несмотря на рекомендации отойти от нее, сохраняется как средство подключения старых карт расширений.

Выделяют 3 вида шин:

  1. Шина данных
  2. Адресная шина
  3. Шина команд

Шина данных – происходит копирование данных из оперативной памяти, в регистре процессора и наоборот. 64 разрядная.

Адресная шина – данные, которые передаются, трактуются как адреса ячеек оперативной памяти. С помощью этой шины процессор считывает адреса команд, которые надо выполнить, а также данные, которыми оперируют команды. 32-разрядная.

Шина команд (управления)– поставляет команды, которые выполняет процессором. Простые команды укладываются в один байт, более сложные в 2,3 байта. 32-разрядная.

Шины на материнской плате используют не только для связи с процессором, все остальные устройства ЭВМ тоже подключаются с помощью шин.

  • ISA – позволяет связать между собой все устройства в системном блоке, а так же обеспечить подключение новых устройств через стандартные слоты. Пропускная способность составляет 5,5 Мб в секунду. Сейчас используют только для подключения внешних устройств, которые не требуют большой пропускной способности (звук, модемы).
  • EISA - 32-битная шина средней производительности, применяемая в основном для подключения контроллеров дисков и адаптеров локальных сетей в серверах. В настоящее время вытеснена шиной PCI. Раньше применялась в серверных платформах, где необходимо устанавливать множество дополнительных плат расширения. В слот EISA можно устанавливать карты ISA(но не наоборот). Пропускная способность до 32-Мб-в секунду.
  • VLB – локальная шина, которая представляет собой соединение процессора с оперативной памятью в обход основной магистральной шины. Эта шина работает на более высокой частоте и позволяет увеличить скорость передачи данных. Эта шина имеет интерфейс для подключения видео адаптера необходимого для подключения монитора в состав вычислительного комплекса. Пропускная способность до 130 Мб в секунду. Рабочая тактовая частота – 50 МГц. Зависит от типа устройств подключаемых к этой шине.
  • PCI – стандарт подключения внешних устройств который введен для Pentium. По своей сути это интерфейс - локальные шины с разъемами для подключения внешних компонентов вычислительных систем. Тактовая частота - до 166 МГц и обеспечивает передачу информации со скоростью 264 Мб в секунду независимо от количества подключенных устройств. С введением этого стандарта появилась возможность для подключения технологии “Plug & Play”: после физического подключения устройства обеспечивается автоматическая конфигурация в составе вычислительной системы.
  • FSB – шина, которая используется для связи процессора с оперативной памятью компьютера, эта шина работает на частоте 133-МГц и выше. Пропускная способность до 800 Мб/сек. Частота работы шины FSB является основным параметром, который указывается в спецификации материнской платы.
  • AGP – специальный шинный интерфейс, который предназначен для подключения видео адаптера. Этот интерфейс необходим в современных вычислительных устройствах, потому что параметры шины PCI не отвечают требованиям видеоадаптера по быстродействию. Пропускная способность 1066 Мб/сек. В отличие от шины PCI для порта AGP возникают проблемы совместимости карт акселераторов с типом системной платы (чипсета) и процессора даже при формальном соответствии их параметров.
  • USB – стандарт универсальной последовательной шины, который определяет способ взаимодействия компьютера с современным периферийном оборудованием. Этот порт разрешает подключать 256 различных устройств с последовательным интерфейсом, причем устройства могут подключаться последовательно (цепочкой). Преимущество этого стандарта в том, что периферийное устройство можно подключать. Во время текущего сеанса работы без перезагрузки. Этот порт позволяет соединять компьютеры в сеть без использования специальной аппаратуры и программного обеспечения.

Конфигурирование шин расширения предполагает в основном настройку их временных параметров:

  • Для шины PCI задается частота синхронизации, кроме того, с CMOS Setup для этой шины могут определяться некоторые её возможные режимы – конкурентные обращения, слежение за палитрами.
  • Для порта AGP задается частота, поддерживаемые режимы, а также апертуры AGP.
  • Для шин ISA и PCI иногда настройками CMOS Setup приходится распределять системные ресурсы (главным образом, линии запросов прерываний).
  • Для шины ISA кроме частоты (которая должна быть порядка 8 МГц) задают время восстановления для 8- и 16-битных обращений к памяти и вводу-выводу. Неустойчивая работа адаптеров может потребовать замедления шины ISA, но в настоящее время понижение её производительности не сильно отражается на производительности компьютера в целом.

Существует несколько подходов к классификации микропроцессоров по типу архитектуры. Так, выделяют МП с 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-процессоры.

См. также:

    Режимы адресции :

    Современная технология изготовления:

RISC-архитектура — компьютер с уменьшенным набором инструкций. Является типом микропроцессорной архитектуры, которая использует небольшой оптимизированный набор инструкций в отличие от предшестувующих типов архитектур с расширенным набором алгоритмических данных. Термин RISC был придуман Дэвидом Паттерсоном из проекта Berkeley RISC.

Определение

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

История и развитие

Первые проекты RISC пришли из IBM, Stanford и UC-Berkeley в 70-х и 80-х гг. ХХ века. IBM 801, Stanford MIPS и Berkeley RISC I и II были разработаны с аналогичной философией, которая стала известна как RISC. Некоторые особенности дизайна были характерны для большинства RISC-процессоров:


Хотя ряд компьютеров 1960-х и 70-х годов являлись предшествующими моделями RISC, современная концепция относится к 1980-м годам. В частности, два проекта в Стэнфорде и Калифорнийском университете масштабируют эту концептуальную идею. Стэнфордский MIPS станет коммерчески успешной моделью, в то время как университет в Беркли дал название всей концепции, коммерциализированной как SPARC. Другим успехом этой эпохи были усилия IBM, которые в конечном итоге привели к Power Architecture. По мере развития этих направлений в конце 1980-х гг., и особенно в начале 1990-х гг., процветало множество подобных проектов, представляющих собой основную силу на рынке рабочих станций Unix, а также встроенные процессоры в лазерных принтерах, маршрутизаторах и аналогичных продуктах.

Плюсы и минусы архитектуры RISC

Простейший способ изучить преимущества и уязвимости архитектуры RISC - это сопоставить ее с предшествующей архитектурой CISC. Основная цель архитектуры CISC — завершить задачу за меньшее количество линий сборки. Это достигается за счет создания процессорного оборудования, способного понимать и выполнять ряд операций. Для этой конкретной задачи процессор CISC выпускается с конкретной инструкцией (MULT). При выполнении эта команда загружает два значения в отдельные регистры, умножает операнды в исполнительном модуле и затем сохраняет продукт в соответствующем регистре. Таким образом, вся задача умножения двух чисел может быть завершена одной инструкцией: MULT 2: 3, 5: 2. CISC и RISC-архитектура — предшествующее и последующее архитектурное решение.

MULT - это то, что известно как «сложная инструкция». Команда работает непосредственно в банках памяти компьютера и не требует, чтобы программист явно вызывал любые функции загрузки или сохранения. Она очень похожа на команду на языке более высокого уровня. Например, если мы допустим, что a представляет значение 2:3, а b представляет значение 5:2, то эта команда идентична выражению C a = a * b.

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

Подход RISC

Процессоры RISC используют только элементарные инструкции, которые выполняются за один такт. Таким образом, описанная выше команда MULT может быть разделена на три отдельные команды: LOAD, которая перемещает данные из банка памяти в регистр PROD, который находит произведение двух операндов, расположенных внутри регистров, и STORE, который перемещает данные из регистра в банки памяти. Чтобы выполнить точный ряд шагов, описанных в подходе CISC, программисту необходимо будет закодировать четыре строки сборки:

LOAD A, 2:3.
LOAD B, 5:2.
PROD A, B.
STORE 2:3, А.

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

Сравнение CISC и RISC

Ниже представлены сравнительные данные CISC и RISC-архитектуры:

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

Стратегия RISC вносит некоторые очень важные преимущества. Поскольку каждая команда требует выполнения только одного такта, вся программа будет выполняться примерно в такое же количество времени, что и многоцилиндровая команда MULT. Эти «сокращенные инструкции» RISC требуют меньше транзисторов аппаратного пространства, чем сложные инструкции, оставляя больше места для общих регистров. Поскольку все инструкции выполняются в единое время (например, один такт), возможна конвейерная обработка.

Характеристика процесса

Разделение инструкций LOAD и STORE фактически уменьшает объем работы, которую должен выполнить компьютер. После выполнения команды MULT в стиле CISC процессор автоматически стирает регистры. Если один из операндов необходимо использовать для другого вычисления, процессор должен перезагрузить данные из банка памяти в регистр. В RISC операнд останется в регистре, пока на нем не будет загружено другое значение.

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

Сложности коммерцеской реализации

Несмотря на преимущества обработки на основе RISC, прошли десятилетия прежде, чем чипы RISK были коммерчески востребованы. Во многом это было связано с отсутствием поддержки программного обеспечения.

Хотя линейка Power Macintosh от Apple, в которой использовались чипы на основе RISC и Windows NT, совместима с RISC, Windows 3.1 и Windows 95 были разработаны с учетом процессоров CISC. Многие компании не желали рисковать появляющейся технологией RISC. Без коммерческого интереса разработчики процессоров не смогли изготовить чипы RISC в достаточно больших объемах, чтобы сделать их цену конкурентоспособной.

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

Общее преимущество RISC

Сегодня Intel x86 является единственным чипом, который сохраняет архитектуру CISC. Это связано прежде всего с продвижением в других областях компьютерной техники. Цена ОЗУ резко снизилась. В 1977 году 1 МБ DRAM стоил около 5000 долларов. К 1994 году такой же объем памяти стоит всего 6 долларов США (с учетом инфляции). Технология компилятора также стала более сложной, так что использование RISC RAM и акцент на программное обеспечение стали идеальными.

Философия набора инструкций

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

Под термином «уменьшенный набор процедур» подразумевается описание того факта, что объем работы, выполняемый каждой инструкцией, сокращается (не более одного цикла памяти) сравнительно с усложненными процедурами CISC, которые требуют десятки циклов для выполнения одной команды. RISC-архитектура обычно имеет отдельные алгоритмы ввода-вывода и работы с данными.

Формат инструкции

Большинство архитектур RISC имеют инструкции с фиксированной длиной (обычно 32 бита) и простое кодирование, что значительно упрощает выборку, декодирование и выдачу логики. Одним из недостатков 32-разрядных инструкций является снижение плотности кода, что является неблагоприятным фактором для встроенных вычислений на рабочих станциях и серверах. Архитектуры RISC изначально были предназначены для обслуживания. Для решения этой проблемы несколько архитектур, таких как ARM, Power ISA, MIPS, RISC-V и Adipteva Epiphany, имеют необязательный короткий сокращенный формат инструкции или функцию сжатия команд. SH5 также следует этой схеме, хотя и развился в обратном направлении, добавив более длинные мультимедийные инструкции к оригинальной 16-битной кодировке.

Использование оборудования

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

Другие функции, которые обычно встречаются в архитектурах RISC:

  • Средняя производительность процессора приближается к одной инструкции за цикл.
  • Единый формат инструкции — используется одно слово с кодом операции в одних и тех же позициях для более простого декодирования.
  • Все регистры общего назначения могут использоваться в качестве источника/назначения во всех инструкциях, упрощая разработку компилятора (регистры с плавающей запятой часто сохраняются отдельно).
  • Простые режимы со сложной адресацией, выполняемые последовательностями команд.
  • Несколько типов данных в аппаратном обеспечении (например, байтовая строка или BCD).

В RISC-конструкциях также представлена модель памяти Гарварда, где команды и данные концептуально разделены. Это означает, что изменение памяти, в которой хранится код, может не повлиять на инструкции, выполняемые процессором (поскольку ЦП имеет отдельный кэш команд и данных), до тех пор, пока не будет выдана специальная инструкция синхронизации. С другой стороны, это позволяет одновременно обращаться к кэшам, что часто повышает производительность.

Особенности RISC-архитектуры

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

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

У процессоров также было относительно мало регистров по нескольким причинам:


Практическое применение

RISC-архитектура процессора теперь используются на большом спектре платформ: от смартфонов и планшетных ПК до некоторых из самых высокопродуктивных суперкомпьютеров, таких как компьютер K (лидер списка топ-500 в 2011 г.).

К началу XXI века большинство низкопрофильных и мобильных систем основывались на архитектуре RISC. Примеры:

  • доминирует на рынке для маломощных и недорогих встроенных систем (200-1800 МГц в 2014 году). Она применяется в ряде большинства Android-систем, Apple iPhone и iPad, Microsoft Windows Phone (бывшая Windows Mobile), устройства RIM (topic.risc.архитектура), Nintendo Game Boy Advance, DS/3DS и Switch.
  • Линия MIPS (в какой-то момент используется во многих компьютерах SGI), а теперь - в PlayStation, PlayStation 2, Nintendo 64 (ipb.risc.архитектура), игровых консолях PlayStation Portable и шлюзах для жилых помещений, таких как Linksys WRT54G .
  • Hitachi SuperH, использующийся в Sega Super 32X, Saturn и Dreamcast (viewtopic.php.risc.архитектура), теперь разработан и продан Renesas как SH4.
  • Atmel AVR используется в разных продуктовых линейках: от портативных контроллеров Xbox до автомобилей BMW .
  • RISC-V (vbulletin.risc.архитектура), пятый Berkeley RISC ISA с открытым исходным кодом, с 32-разрядным адресным пространством, небольшим ядром целочисленного набора команд, экспериментальной «сжатой» ISA для плотности кода и предназначенной для стандартных и специальных расширений.
  • Рабочие станции, серверы и суперкомпьютеры.
  • MIPS (powered.by.smf.risc.архитектура), Silicon Graphics (в 2006 году прекратила создание систем на основе MIPS).
  • SPARC, Oracle (ранее Sun Microsystems) и Fujitsu (phorum.risc.архитектура).
  • Архитектура IBM Power Architecture, применяемая в большинстве суперкомпьютеров IBM, серверах усредненного уровня и терминальных станциях.
  • PA-RISC Hewlett-Packard (phpbb.risc.архитектура), также именуемый как HP-PA (прекращен в конце 2008 года).
  • Alpha, используется в рабочих станциях, серверах и суперкомпьютерах от Digital Equipment Corporation, Compaq и HP (прекращено с 2007 года).
  • RISC-V (powered.by.phpbb.risc.архитектура), пятый Berkeley RISC ISA, с открытым исходным кодом, с 64 или 128-битными адресными пространствами и целым ядром, расширенным с плавающей точкой, атомизацией и векторной обработкой, и разработанный для расширения с инструкциями для сетей, ввода-вывода, обработки данных. 64-битный суперскалярный дизайн Rocket доступен для скачивания.

Сравнение с другими архитектурами

Некоторые процессоры были специально разработаны с очень небольшим набором инструкций, но эти конструкции значительно отличаются от традиционных RISC-архитектур, поэтому им были предоставлены другие данные, такие как минимальный набор команд (MISC) или транспортная инициированная архитектура (TTA).

Архитектуры RISC традиционно имели мало успехов на рынке настольных ПК и товарных серверов, где платформы на базе x86 остаются доминирующей архитектурой процессора. Однако это может измениться, поскольку процессоры на базе архитектуры ARM разрабатываются для систем с более высокой производительностью. Производители, включая Cavium, AMD и Qualcomm, выпустили на базе архитектуры ARM. ARM также сотрудничала с Cray в 2017 году, чтобы создать суперкомпьютер на базе архитектуры ARM. Компания-лидер компьютерной индустрии Microsoft объявила, что в рамках партнерства с Qualcomm в 2017 году планируется поддержка ПК-версии Windows 10 на устройствах на базе Qualcomm Snapdragon. Эти устройства будут поддерживать программное обеспечение Win32 на базе x86 с помощью эмулятора процессора x86.

Тем не менее помимо настольной арены архитектура ARM RISC широко используется в смартфонах, планшетах и ​​многих формах встроенного устройства. Также Intel Pentium Pro (P6) использует внутреннее RISC-процессорное ядро ​​для своих процессоров.

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

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

Вопрос: Архитектура процессора - что это?
Ответ : Термин «архитектура процессора» в настоящее время не имеет однозначного толкования. С точки зрения программистов, под архитектурой процессора подразумевается его способность исполнять определенный набор машинных кодов. Большинство современных десктопных CPU относятся к семейству x86, или Intel-совместимых процессоров архитектуры IA32 (архитектура 32-битных процессоров Intel). Ее основа была заложена компанией Intel в процессоре i80386, однако в последующих поколениях процессоров она была дополнена и расширена как самой Intel (введены новые наборы команд MMX, SSE, SSE2 и SSE3), так и сторонними производителями (наборы команд EMMX, 3DNow! и Extended 3DNow!, разработанные компанией AMD). Однако разработчики компьютерного железа вкладывают в понятие «архитектура процессора» (иногда, чтобы окончательно не запутаться, используется термин «микроархитектура») несколько иной смысл. С их точки зрения, архитектура процессора отражает основные принципы внутренней организации конкретных семейств процессоров. Например, архитектура процессоров Intel Pentium обозначалась как Р5, процессоров Pentium II и Pentium III - Р6, а популярные в недавнем прошлом Pentium 4 относились к архитектуре NetBurst. После того, как компания Intel закрыла архитектуру Р5 для сторонних производителей, ее основной конкурент - компания AMD была вынуждена разработать собственную архитектуру - К7 для процессоров Athlon и Athlon XP, и К8 для Athlon 64.

Вопрос: Какие процессоры лучше, 64-битные или 32-битные? И почему?
Ответ : Достаточно удачное 64-битное расширение классической 32-битной архитектуры IA32 было предложено в 2002 году компанией AMD (первоначально называлось x86-64, сейчас - AMD64) в процессорах семейства К8. Спустя некоторое время компанией Intel было предложено собственное обозначение - EM64T (Extended Memory 64-bit Technology). Но, независимо от названия, суть новой архитектуры одна и та же: разрядность основных внутренних регистров 64-битных процессоров удвоилась (с 32 до 64 бит), а 32-битные команды x86-кода получили 64-битные аналоги. Кроме того, за счет расширения разрядности шины адресов объем адресуемой процессором памяти существенно увеличился.

И… все. Так что те, кто ожидает от 64-битных CPU сколь-нибудь существенного прироста производительности, будут разочарованы - их производительность в подавляющем большинстве современных приложений (которые в массе своей заточены под IA32 и вряд ли в обозримом будущем будут перекомпилированы под AMD64/EM64T) практически та же, что и у старых добрых 32-битных процессоров. Весь потенциал 64-битной архитектуры может раскрыться лишь в отдаленном будущем, когда в массовых количествах появятся (а может, и не появятся) приложения, оптимизированные под новую архитектуру. В любом случае, наиболее эффективен переход на 64-бита будет для программ, работающих с базами данных, программ класса CAD/CAE, а также программ для работы с цифровым контентом.

Вопрос: Что такое процессорное ядро?
Ответ : В рамках одной и той же архитектуры различные процессоры могут достаточно сильно отличаться друг от друга. И различия эти воплощаются в разнообразных процессорных ядрах, обладающих определенным набором строго обусловленных характеристик. Чаще всего эти отличия воплощаются в различных частотах системной шины (FSB), размерах кэша второго уровня, поддержке тех или иных новых систем команд или технологических процессах, по которым изготавливаются процессоры. Нередко смена ядра в одном и том же семействе процессоров влечет за собой замену процессорного разъема, из чего вытекают вопросы дальнейшей совместимости материнских плат. Однако в процессе совершенствования ядра, производителям приходится вносить в него незначительные изменения, которые не могут претендовать на «имя собственное». Такие изменения называются ревизиями ядра и, чаще всего, обозначаются цифробуквенными комбинациями. Однако в новых ревизиях одного и того же ядра могут встречаться достаточно заметные нововведения. Так, компания Intel ввела поддержку 64-битной архитектуры EM64T в отдельные процессоры семейства Pentium 4 именно в процессе изменения ревизии.

Вопрос: В чем заключается преимущество двухъядерных процессоров перед одноядерными?
Ответ : Самым значимым событием 2005 года стало появление двухъядерных процессоров. К этому времени классические одноядерные CPU практически полностью исчерпали резервы роста производительности за счет повышения рабочей частоты. Камнем преткновения стало не только слишком высокое тепловыделение процессоров, работающих на высоких частотах, но и проблемы с их стабильностью. Так что экстенсивный путь развития процессоров на ближайшие годы был заказан, и их производителям волей-неволей пришлось осваивать новый, интенсивный путь повышения производительности продукции. Самой расторопной на рынке десктопных CPU, как всегда, оказалась Intel, первой анонсировавшая двухъядерные процессоры Intel Pentium D и Intel Extreme Edition. Впрочем, AMD с Athlon64 X2 отстала от конкурента буквально на считанные дни. Несомненным достоинством двухъядерников первого поколения, к которым относятся вышеназванные процессоры, является их полная совместимость с существующими системными платами (естественно, достаточно современными, на которых придется только обновить BIOS). Второе поколение двухъядерных процессоров, в частности, Intel Core 2 Duo, «требует» специально разработанных для них чипсетов и со старыми материнскими платами не работает.

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

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

Вопрос: Что такое кэш?
Ответ : Во всех современных процессорах имеется кэш (по-английски - cache) - массив сверхскоростной оперативной памяти, являющейся буфером между контроллером сравнительно медленной системной памяти и процессором. В этом буфере хранятся блоки данных, с которыми CPU работает в текущий момент, благодаря чему существенно уменьшается количество обращений процессора к чрезвычайно медленной (по сравнению со скоростью работы процессора) системной памяти. Тем самым заметно увеличивается общая производительность процессора.

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

Кэш бывает двух типов: эксклюзивный и не эксклюзивный кэш. В первом случае информация в кэшах всех уровней четко разграничена - в каждом из них содержится исключительно оригинальная, тогда как в случае не эксклюзивного кэша информация может дублироваться на всех уровнях кэширования. Сегодня трудно сказать, какая из этих двух схем более правильная - и в той, и в другой имеются как минусы, так и плюсы. Эксклюзивная схема кэширования используется в процессорах AMD, тогда как не эксклюзивная - в процессорах Intel.

Вопрос: Что такое процессорная шина?
Ответ : Процессорная (иначе - системная) шина, которую чаще всего называют FSB (Front Side Bus), представляет собой совокупность сигнальных линий, объединенных по своему назначению (данные, адреса, управление), которые имеют определенные электрические характеристики и протоколы передачи информации. Таким образом, FSB выступает в качестве магистрального канала между процессором (или процессорами) и всеми остальными устройствами в компьютере: памятью, видеокартой, жестким диском и так далее. Непосредственно к системной шине подключен только CPU, остальные устройства подсоединяются к ней через специальные контроллеры, сосредоточенные в основном в северном мосте набора системной логики (чипсета) материнской платы. Хотя могут быть и исключения - так, в процессорах AMD семейства К8 контроллер памяти интегрирован непосредственно в процессор, обеспечивая, тем самым, гораздо более эффективный интерфейс память-CPU, чем решения от Intel, сохраняющие верность классическим канонам организации внешнего интерфейса процессора. Основные параметры FSB некоторых процессоров приведены в табл

Процессор частота FSB, МГц Тип FSB Теоретическая пропускная способность FSB, Мб/с
Intel Pentium III 100/133 AGTL+ 800/1066
Intel Pentium 4 100/133/200 QPB 3200/4266/6400
Intel Pentium D 133/200 QPB 4266/6400
Intel Pentium 4 EE 200/266 QPB 6400/8533
Intel Core 133/166 QPB 4266/5333
Intel Core 2 200/266 QPB 6400/8533
AMD Athlon 100/133 EV6 1600/2133
AMD Athlon XP 133/166/200 EV6 2133/2666/3200
AMD Sempron HyperTransport <6400
AMD Athlon 64 800/1000 HyperTransport 6400/8000

Процессоры компании Intel используют системную шину QPB (Quad Pumped Bus), передающую данные четыре раза за такт, тогда как системная шина EV6 процессоров AMD Athlon и Athlon XP передает данные два раза за такт (Double Data Rate). В архитектуре AMD64, используемой компанией AMD в процессорах линеек Athlon 64/FX/Opteron, применен новый подход к организации интерфейса CPU - здесь вместо процессорной шины FSB и для сообщения с другими процессорами используются: высокоскоростная последовательная (пакетная) шина HyperTransport, построенная по схеме Peer-to-Peer (точка-точка), обеспечивающая высокую скорость обмена данными при сравнительно низкой латентности.

И наконец-то конкретика!

Процессы первого поколения этого семейства (Intel Pentium III 450 и Intel Pentium III 500) были анонсированы Intel в конце февраля 1999 года и имели следующие характеристики:

· технология производства: 0,25 мкм;

· ядро процессора: Katmai, разработанное на основе Deschutes (поздняя версия ядра процессоров Intel Pentium II) с добавленным SSE-конвейером для обработки 70 новых SSE-инструкций;

· L1-кэш: объем - 32 Кбайт (16 Кбайт для данных плюс 16 Кбайт для инструкций);

· L2-кэш: объем - 512 Кбайт, тактовая частота - половина тактовой частоты ядра, внешний (не интегрирован на одном кристалле с процессором, а выполнен на отдельных микросхемах, которые расположены на той же печатной плате, что и микросхема процессора), поддерживает ECC-механизм обнаружения и коррекции ошибок при обмене данными с ядром процессора; в терминологии Intel такой L2-кэш называют Discrete Cache;

· частота системной шины: 100 МГц, поддерживается ECC;

· напряжение питания ядра процессора: 2,0 В;

· многопроцессорность: поддерживается до двух процессоров на одной системной шине;

· идентификация: каждый процессор имеет уникальный 96-битный серийный номер, «прошитый» в нем во время изготовления, который может быть считан программными средствами;

· в случае нежелания пользователя «разглашать» серийный номер своего процессора возможность считывания его серийного номера может быть заблокирована на уровне BIOS с помощью программы настройки BIOS материнской платы или же утилиты Processor Serial Number Control Utility физический разъем: Slot 1;

· исполнение: S.E.C.C.- или S.E.C.C.2-картридж.



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!