Описание и назначение процессоров

Определение 1

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

Чем мощнее процессор, тем выше быстродействие ПК.

Замечание

Центральный процессор часто называют просто процессором, ЦПУ (Центральное Процессорное Устройство) или CPU (Central Processing Unit), реже – кристаллом, камнем, хост-процессором.

Современные процессоры являются микропроцессорами.

Микропроцессор имеет вид интегральной схемы – тонкой пластинки из кристаллического кремния прямоугольной формы площадью в несколько квадратных миллиметров, на которой размещены схемы с миллиардами транзисторов и каналов для прохождения сигналов. Кристалл-пластинка помещен в пластмассовый или керамический корпус и соединен золотыми проводками с металлическими штырьками для подсоединения к системной плате ПК.

Рисунок 1. Микропроцессор Intel 4004 (1971 г.)

Рисунок 2. Микропроцессор Intel Pentium IV (2001 г.). Слева – вид сверху, справа – вид снизу

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

Устройство процессора

Основными компонентами ЦП являются:

  • арифметико-логическое устройство (АЛУ) выполняет основные математические и логические операции;
  • управляющее устройство (УУ), от которого зависит согласованность работы компонентов ЦП и его связь с другими устройствами;
  • шины данных и адресные шины ;
  • регистры , в которых временно хранится текущая команда, исходные, промежуточные и конечные данные (результаты вычислений АЛУ);
  • счетчики команд ;
  • кэш-память хранит часто используемые данные и команды. Обращение в кэш-память гораздо быстрее, чем в оперативную память, поэтому, чем она больше, тем выше быстродействие ЦП.

Рисунок 3. Упрощенная схема процессора

Принципы работы процессора

ЦП работает под управлением программы, которая находится в оперативной памяти.

АЛУ получает данные и выполняет указанную операцию, записывая результат в один из свободных регистров.

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

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

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

Тактовая частота указывает частоту, на которой работает ЦП. За $1$ такт выполняется несколько операций. Чем выше частота, тем выше быстродействие ПК. Тактовая частота современных процессоров измеряется в гигагерцах (ГГц): $1$ ГГц = $1$ миллиард тактов в секунду.

Для повышения производительности ЦП стали использовать несколько ядер, каждое из которых фактически является отдельным процессором. Чем больше ядер, тем выше производительность ПК.

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

Разрядность шины данных указывает на количество информации (в байтах), которое можно передать за $1$ раз (за $1$ такт). От разрядности адресной шины зависит максимальный объем оперативной памяти, с которым может работать ЦП.

От частоты системной шины зависит количество данных, которые передаются за отрезок времени. Для современных ПК за $1$ такт можно передать несколько бит. Важна также и пропускная способность шины, равная частоте системной шины, умноженной на количество бит, которые можно передать за $1$. Если частота системной шины равна $100$ Мгц, а за $1$ такт передается $2$ бита, то пропускная способность равна $200$ Мбит/сек.

Пропускная способность современных ПК исчисляется в гигабитах (или десятках гигабит) в секунду. Чем выше этот показатель, тем лучше. На производительность ЦП влияет также объем кэш-памяти.

Данные для работы ЦП поступают из оперативной памяти, но т.к. память медленнее ЦП, то он может часто простаивать. Во избежание этого между ЦП и оперативной памятью располагают кэш-память, которая быстрее оперативной. Она работает как буфер. Данные из оперативной памяти посылаются в кэш, а затем в ЦП. Когда ЦП требует следующее данное, то при наличии его в кэш-памяти оно берется из него, иначе происходит обращение к оперативной памяти. Если в программе выполняется последовательно одна команда за другой, то при выполнении одной команды коды следующих команд загружаются из оперативной памяти в кэш. Это сильно ускоряет работу, т.к. ожидание ЦП сокращается.

Замечание 1

Существует кэш-память трех видов:

  • Кэш-память $1$-го уровня самая быстрая, находится в ядре ЦП, поэтому имеет небольшие размеры ($8–128$ Кб).
  • Кэш-память $2$-го уровня находится в ЦП, но не в ядре. Она быстрее оперативной памяти, но медленнее кэш-памяти $1$-го уровня. Размер от $128$ Кбайт до нескольких Мбайт.
  • Кэш-память $3$-го уровня быстрее оперативной памяти, но медленнее кэш-памяти $2$-го уровня.

От объема этих видов памяти зависит скорость работы ЦП и соответственно компьютера.

ЦП может поддерживать работу только определенного вида оперативной памяти: $DDR$, $DDR2$ или $DDR3$. Чем быстрее работает оперативная память, тем выше производительность работы ЦП.

Следующая характеристика – сокет (разъем), в который вставляется ЦП. Если ЦП предназначен для определенного вида сокета, то его нельзя установить в другой. Между тем, на материнской плате находится только один сокет для ЦП и он должен соответствовать типу этого процессора.

Типы процессоров

Основной компанией, выпускающей ЦП для ПК, является компания Intel. Первым процессором для ПК был процессор $8086$. Следующей моделью была $80286$, далее $80386$, со временем цифру $80$ стали опускать и ЦП стали называть тремя цифрами: $286$, $386$ и т.д. Поколение процессоров часто называют семейством $x86$. Выпускаются и другие модели процессоров, например, семейства Alpha, Power PC и др. Компаниями-производителями ЦП также являются AMD, Cyrix, IBM, Texas Instruments.

В названии процессора часто можно встретить символы $X2$, $X3$, $X4$, что означает количество ядер. Например в названии Phenom $X3$ $8600$ символы $X3$ указывают на наличие трех ядер.

Итак, основными типами ЦП являются $8086$, $80286$, $80386$, $80486$, Pentium, Pentium Pro, Pentium MMX, Pentium II, Pentium III и Pentium IV. Celeron является урезанным вариантом процессора Pentium. После названия обычно указывается тактовая частота ЦП. Например, Celeron $450$ обозначает тип ЦП Celeron и его тактовую частоту – $450$ МГц.

Процессор нужно устанавливать на материнскую плату с соответствующей процессору частотой системной шины.

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

Определение 2

Если в вычислительной системе несколько параллельно работающих процессоров, то такие системы называются многопроцессорными .

Важнейший компонент любого компьютера - его процессор (микропроцессор) - программно-управляемое устройство обработки информации, выполненное в виде одной или нескольких больших или сверхбольших интегральных схем.

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

    устройство управления - формирует и подает во все элементы ПК в нужные моменты времени определенные сигналы управления (управляющие импульсы), обусловленные спецификой выполняемой операции и результатами предыдущих операций;

    арифметическо-логическое устройство (АЛУ) - предназначено для выполнения всех арифметических и логических операций над числовой и символьной информацией;

    сопроцессор - дополнительный блок, необходимый для сложных математических вычислений и при работе с графическими и мультимедийными программами;

    регистры общего назначения - быстродействующие ячейки памяти, используемые в основном как различные счетчики и указатели на адресное пространство ПК, обращение к которым позволяет значительно увеличить быстродействие выполняемой программы;

    кэш-память - блок высокоскоростной памяти для кратковременного хранения, записи и выдачи информации, обрабатываемой в данный момент времени или используемой в вычислениях. Это позволяет повысить производительность процессора;

    шина данных - интерфейсная система, реализующая обмен данными с другими устройствами ПК;

    генератор тактовых сигналов (импульсов);

    контроллер прерываний ;

Основными характеристиками процессора являются:

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

Разрядность - количество двоичных разрядов (битов) информации, которое обрабатывается (или передается) за один такт. Разрядность также определяет количество двоичных разрядов, которое может быть использовано в процессоре для адресации оперативной памяти.

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

На сегодняшний день практически все настольные IBM PC-совместимые компьютеры имеют процессоры двух основных производителей (двух семейств) - Intel иAMD .

За всю историю развития IBM PC, в семействе микропроцессоров Intel сменилось восемь основных поколений (от i8088 до Pentium IV). Кроме того, корпораця Intel выпускала и выпускает побочные поколения процессоров Pentium (Pentium Pro, Pentium MMX, Intel Celeron и др.). Поколения микропроцессоров Intel отличаются скоростью работы, архитектурой, форм-фатором и т.д. Причем в каждом поколении выпускаются различные модификации.

Конкурентом микропроцессоров Intel на сегодняшний день является семейство микропроцессоров AMD: Athlon, Sempron, Opteron (Shanghai), Phenom.

Микропроцессоры Intel и AMD не совместимы (хотя и те, и другие соответствуют IBM PC-совместимости и поддерживают одни и те же программы) и требуют соответствующие материнские платы, а иногда и память.

Для ПК типа Macintosh (Apple) производятся собственные процессоры семействаMac .

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

Кроме того, есть и другие устройства с похожим названием. Например, текстовый процессор предназначен для создания документов и их форматирования. К такому типу программ относится Microsoft Word.

Что это такое?

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

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

Таков краткий ответ на вопрос, для чего предназначен процессор.

Устройство

Так как процессор - это устройство, предназначенное для обработки данных, он состоит из следующих элементов:

  • арифметико-логическое устройство;
  • устройство управления;
  • регистры памяти.

Устройство управления, как понятно из его названия, по заданной программе управляет всеми узлами компьютера. Оно извлекает каждую последующую команду из регистра, узнает из нее, какую операцию нужно выполнить, и в какой последовательности. Это своеобразный дирижер, управляющий целым оркестром. А музыкальной композицией служит как раз программа.

Составные части

Арифметико-логическое устройство - это инструмент для вычислений, которое, следуя программам, выполняет операции, связанные с арифметикой и логикой.

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

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

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

Виды регистров

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

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

Шина данных

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

Машинный цикл и его схема

Данный процесс, как правило, состоит из следующих шагов:

  • Выбирается команда из ячейки, адрес которой сохранен в регистре-счетчике. Его содержимое при этом увеличивается на значение длины этой команды.
  • Далее она отправляется в устройство управления, попадая в его регистр команд.
  • Адресное поле, принадлежащее команде, расшифровывается устройством управления.
  • Последнее дает сигнал, и данные считываются из оперативной памяти, попадая уже в арифметико-логическое устройство.
  • Устройством управления расшифровывается код выполняемой операции и в арифметико-логическое устройство подается сигнал о выполнении этого действия над данными, которые в таком случае называются операндами.
  • Результат выполнения операции может сохраниться в самом центральном процессоре или же передается в память, в случае, когда имеется адрес, по которому должен находиться результат.
  • Все вышеперечисленные шаги выполняются до тех пор, пока не будет дан стоповый сигнал.

Характеристики

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

  1. Тактовая частота. Центральный процессор тесно связан с генератором которым вырабатываются импульсы. Они синхронизируют между собой работу всех элементов компьютера. Равняется эта характеристика числу тактов за одну секунду. Один такт - это отрезок времени, находящийся между первым импульсом и вторым. Измеряется тактовая частота в мегагерцах.
  2. Разрядность. Это максимальное значение, отвечающее за число разрядов образованного и передаваемого процессором в одно и то же время. Эта характеристика определена разрядностью его регистров.
  3. Адресное пространство. К нему относится тот диапазон адресов, к которым обращается процессор, применяя адресный код.

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

Сегодня миллионы жителей развитых стран имеют в своих домах один или даже несколько персональных компьютеров и ноутбуков, что неудивительно, так как эти устройства сегодня используются в самых разных целях: от развлекательных до научных и коммуникационных. Однако значительная часть обладателей ПК не знает их устройства, так как при возникновении проблем предпочитает обращаться к специалистам. Такой подход вполне обоснован. Но все же стоит узнать, из каких основных компонентов состоит этот железный и интеллектуальный “друг” человека. Например, многих интересует, что такое процессор (CPU), каких видов он бывает и как его правильно выбрать.

Где у ПК мозги

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

Как устроен

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

Компоненты

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

  • шины адресов;
  • регистры;
  • шины данных;
  • арифметико-логическое устройство;
  • кэш, или быстрая память, имеющая небольшой объем 8-512 кбайт;
  • математический сопроцессор;
  • счетчики команд.

Ядро процессора

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

К "ядерным" характеристикам относятся:

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

В то же время в физическом смысле под словами “ядро процессора” понимают его часть, содержащую основные функциональные блоки или обычно открытый кристалл микропроцессора. В любом случае это - необходимая часть “мозга” ПК. Таким образом, вопрос "что такое ядерный процессор" звучит несколько некорректно, если, конечно, рассматривается только CPU, а не все те устройства и программы, которые также называются процессорами.

Системная шина

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

Кэш

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

Кэш делится на три уровня:

  • Первый уровень L1

Он подразделяется на два кэша — инструкций и данных, является самым быстрым и производит работу непосредственно с ядром процессора.

  • Второй уровень L2

С L1 взаимодействует кэш L2. Он в разы больше по объему и является целостным.

  • Третий уровень L3

У некоторых современных микропроцессоров существует еще и третий уровень, который больше двух предыдущих, но работает на порядок медленнее. Дело в том, что шина между 2-м и 3-м уровнем уже, чем между 1-м и 2-м. Однако скорость 3-го уровня все равно значительно выше, чем скорость системной памяти. В зависимости от того, повторяется ли информация, попадающая в кэш, на разных уровнях, или нет, различают два типа этой составляющей процессора: эксклюзивный и не эксклюзивный. Каждый из них имеет свои преимущества и недостатки, поэтому трудно сказать, какой из них лучше. Можно только отметить, что первый тип используется в микропроцессорах AMD, а второй — в Intel.

Разъем

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

Что такое частота процессора

Для сравнения любых технических устройств и для того, чтобы дать представление об их возможностях используются определенные характеристики, имеющие численное выражение. Для процессоров основной из них является тактовая частота. Причем это понятие имеет кардинальные отличия, когда речь идет об одноядерном и многоядерном вариантах. Итак, что такое тактовая частота процессора, если он способен выполнять только один поток команд? Оказывается, что этот параметр показывает, сколько вычислений в единицу времени может произвести конкретное одноядерное устройство. Соответственно, чем больше тактовая частота, тем больше процессор может выполнить операций в единицу времени. Чаще всего она составляет 1,0-4 ГГц и определяется умножением внешней частоты на определенную постоянную величину. Совсем другое дело, если нужно выяснить, что такое тактовая частота процессора. В таком случае некоторые горе-специалисты рекомендуют вычислять данный параметр для всего устройства, умножая данные для одноядерного варианта на количество составляющих. Однако это в корне неправильно, так как тактовая частота всего устройства от числа ядер не меняется, и положительный эффект касается только производительности процессора. В довершение следует отметить, что при выборе процессора частота не должна являться решающим фактором, а нужно рассматривать величины всех его характеристик в целом.

Что такое графический процессор

Как известно, современные ПК обеспечивают превосходную “картинку”. Это достигается посредством графического процессора — специального устройства выполняющего графический рендеринг. Кроме того, они предназначены для использования в качестве ускорителя 3Д графики. Благодаря конвейерной архитектуре такие устройства намного эффективнее обрабатывают изображения и другую графику, чем CPU, о котором было рассказано выше.

Текстовой процессор: что это?

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

Несколько слов о наиболее распространенных процессорах персональных компьютеров

Первое место по популярности занимает процессор Intel Core i5. Он считается прекрасным вариантом, когда нужна мощная игровая машина. За ним следует модель от Intel — Celeron E3200, который стоит недешево, но является оптимальным выбором для серьезной работы в офисе. Немало поклонников среди специалистов есть и у еще одного процессора от Intel — четырехядерного Core 2 Quad. Если вы не стремитесь стать обладателем сверхмощной машины и хотите сэкономить, то обратите внимание на AMD Athlon II X2215 или AMD Phenom II X4945.

Теперь вы знаете, что такое процессор, каких видов бывает и какими характеристиками обладает.

Лекция 6. Тенденция развития процессоры. М н о г ояд е рн ые пр о ц есс о р ы и н о в ые т е х н оло г и и многоядерной об р аботки д а нн ых

Центральный процессор

Центральный процессор в общем случае содержит в себе:

    арифметико-логическое устройство;

    шины данных и шины адресов;

    регистры;

    счетчики команд;

    кэш - очень быструю память малого объема (от 8 до 512 Кбайт);

    математический сопроцессор чисел с плавающей точкой.

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

1. Повышение производительности процессоров

На протяжении длительного времени прогресс в области микропроцессоров фактически отождествлялся со значением тактовой частоты. В 2001 году в корпоративных планах производителей микропроцессоров значилось, что уже к концу десятилетия будет преодолен барьер 10 ГГц. Увы, планы эти оказались неверны. Прав же оказался тот, кто сделал ставку на многоядерные архитектуры.

Первый двухъядерный процессор в семействе Power выпустила корпорация IBM. Сегодня многоядерные процессоры предлагает Sun Microsystems (восьмиядерный UltraSPARC T1), а также Intel и AMD.

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

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

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

Производительностьпроцессора (Performance) - это отношение общегочисла выполненных инструкций программного кода ко времени их выполнения иликоличество инструкций, выполняемых за секунду (Instructions rate):

к оли чес т во и нс т р у к ци й = пр о и зво д и т е ль н о с т ь

в р е м я в ы п олн е ни я

Таккак основнойхарактеристикойпроцессорасталаего тактоваячастота, то введемчастоту в формулупроизводительностьпроцессора. Помножимчислитель и зн аме н а т е ль н а к ол и чес тво т а к тов, за к оторое в ыпол н е н ы и н с т р у кции:

пр о и зво д и т е ль н о с т ь = к оли чес т во и н с т р у кц и й к оли ч е с т во т а к т ов

к оли чес т во т а к т о в в р е мя в ы п олн е ни я

Перваячастьполученногопроизведения -количествоинструкций, выполняемыхза один такт(InstructionPer Clock,IPC),Втораячастьпроизведения -количество тактов процессора в единицу времени (тактовая частота процессора, F илиFrequency). Таким образом, производительность процессора зависит не только от его тактовойчастоты,но и от количества инструкций, выполняемых за такт(IPC):

пр о и з во д и т е ль н о с т ь = (I P C) (F )

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

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

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

Поэтомусравнение производительности процессоров на основании их тактовой частоты возможно только впределах одной и той жеархитектуры (при одинаковом значенииколичества выполняемых операций всекунду -IPCпроцессоров).

Сравнениепроизводительностипроцессоров с различнойархитектурой на основе тактовой частотынеправомерно. К примеру, основываясь на тактовой частоте,некорректносравниватьпроизводительностипроцессоров с разным размеромкэшпамяти уровня L2, или производительности процессоров, поддерживающих и не п оддер ж и в а ющ и х т е х н олог и ю H y p e r - T h re a din g .

Из-за удельного удешевления транзисторов открылась возможность компенсировать несовершенство процессорной архитектуры их количеством, что в конечном итоге и стало причиной консервации предложенной в далекие 40-е годы схемы организации компьютерных систем, которая получила свое название по имени Джона фон Неймана. Трудно представить еще какую-либо из современных технологических областей, которая, декларируя свою причастность к техническому прогрессу, была бы столь консервативна по своей сути. О врожденных недостатках фон-неймановской схемы написано немало, но, что бы сейчас ни говорили на эту тему, еще лет десять назад никакие аргументы не возможно было противопоставить убеждению в том, что процессорная индустрия выбрала единственно правильный путь, основанный на количественном росте. Достаточно вспомнить, с какой гордостью произносились новые цифры; считалось, что, если не хватит миллиона транзисторов, сделаем миллиард - «нет проблем», главное уменьшить размеры кристаллов и межсоединений и повысить тактовую частоту. Но за все приходится платить. Каждый транзистор потребляет энергию, в итоге, по данным IDC, сегодня затраты на электричество, необходимое для питания центров обработки данных, составляют свыше 80% от затрат на приобретение компьютерного оборудования, а через пару лет эти показатели сравняются.

Отход отпоследовательногоисполнениякоманд ииспользованиенесколькихисполняющих блоков в одномпроцессорепозволяют одновременно обрабатыватьнесколько процессорных микрокоманд, то есть организовывать п а р а ллел из м н а у ровне ин с т р у кци й (InstructionLevelParallelism -I L P ),что, разумеется,увеличивает общуюпроизводительность.

Еще одинподход к решению даннойпроблемы был реализован вVLIW/EPIC -архитектуре IA-64 (очень длинных команд), где часть проблем переложена саппаратурынакомпилятор. И все же разработчикипризнают,что для достижения высокой производительности архитектура важнее.

При большом числе функциональных блоков микросхемы и большом ее размере возникаетпроблема, связанная со скоростью распространения сигналов - за один тактсигналы не успевают достигнуть необходимые блоки. В качестве возможного выхода вмикропроцессорах Alpha были введены такназываемые"к л а с т е р ы ",где у с тро й с тва час т и ч н о д у бл и ров а л и с ь , н о з а то в н у три к л ас т е ров р а сс тоя ни я были ме нь ш е . Можносказать,чтоидеяпостроениямногоядерныхмикропроцессоров является развитиемидеи кластеров, но в данном случае д у бл и р у е т с я ц е л ик ом п ро ц есс ор н ое ядро .

Другим предшественником многоядерного подхода можно считать технологиюI ntel - H y p e r T h r e a di n g , где также есть небольшое д у бл и ров а н и е а пп а р а т у ры и и с п ол ь з ов а ни е д в у х п ото к ов ин с т р у кций , и с п ол ь з у ющ и х общ е е ядро.

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

К 2006 годувсе ведущиеразработчикимикропроцессоровсоздали двуядерныепроцессоры. Первымипоявились двуядерныеRISC-процессорыSun Microsystems (UltraSPARCIV), IBM (Power4,Power5) и HP(PA-8800 иPA-8900).

О выпуске двуядерныхпроцессоров с архитектуройх86 фирмы AMD и Intel об ъ явили п о ч ти о д н ов р еме нн о.

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

Модернизации схемы фон Неймана

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

SISD (Single Instruction Single Data) - «один поток команд, один поток данных»;

SIMD (Single Instruction Multiple Data) - «один поток команд, много потоков данных»;

MISD (Multiple Instruction Single Data) - «много потоков команд, один поток данных»;

MIMD (Multiple Instruction Multiple Data) - «много потоков команд, много потоков данных»;

Класс SISD предполагает, что в один момент времени может быть выполнена одна команда, и она может оперировать только теми порциями данными, адреса которых непосредственным образом присутствуют в операндах этой команды. Напротив, в класс MIMD попадают машины, которые могут одновременно выполнять множество команд, используя при этом множество фрагментов данных. Эта классификация известна как «таксономия Флинна», она названа так по имени предложившего ее Майкла Флинна, выдающегося инженера и ученого, ныне являющегося профессором Стэндфордского университета. Из нее следует, что фон-неймановская машина является частным случаем, попадающим в класс SISD. Большинство современных компьютеров построено именно по этой схеме; между тем все суперкомпьютеры из первой десятки TOP500 построены по схеме MIMD.

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

Исторически первым оказалось изобретение процессоров, способных выполнять операции не над содержимым одного или нескольких регистров, а над более крупными фрагментами данных; по классификации Флинна они попадают в класс SIMD. Их появление связывают с проектом Solomon (1962 год, компания Westinghouse).

Позднее аналогичный принцип работы с данными был реализован в самой производительной машине своего времени ILLIAC IV (1972). Если процессор, используя одну команду, может выполнять действия над векторами, то его называют векторным процессором (vector processor), а если над массивами, топроцессором массивов (array processor). Впоследствии Сеймур Крей использовал векторные принципы при разработке своих суперкомпьютеров, начиная с Cray-1. Сегодня схема SIMD широко используется в специализированных процессорах, предназначенных для игровых консолей.

После введения нового класса векторных процессоров обычные процессоры стали вынужденно, чтобы различать, называть «скалярными»; именно поэтому на следующем шаге появились решения со странным названием «суперскалярные процессоры ».Идея суперскалярности заключается в том, что процессор просматривает приближающиеся к исполнению команды и выбирает из них те последовательности, которые могут быть выполнены параллельно . Такие процессоры способны выполнять несколько инструкций за один такт, а такой вид параллелизма стали называтьпараллелизмом на уровне команд (Instruction-Level Parallelism,ILP ). Очевидно, что при заданной частоте суперскалярный процессор будет производительнее скалярного, поскольку он способен выделить в подмножество и одновременно выполнить несколько команд, распределив их по своим функциональным устройствам. Родоначальником идеи ILP был тот же Крей; он реализовал ее в 1965 году в компьютере CDC 6600, затем ILP была воспроизведена в процессоры Intel i960 (1988 год) и AMD 29050 (1990), особенно «впору» суперскалярный подход пришелся для RISC-процессоров с их упрощенной системой команд. Позже, начиная с Pentium II, обрели ILP и процессоры с архитектурой CISC.

Примерно в то же время - сначала на мэйнфреймах, а позже и на мини-ЭВМ - появилась кэш-память ; в дальнейшем идея кэширования получила развитие в многоуровневых решениях, предполагавших наличие кэшей первого и второго, а затем и третьего уровня.

Еще одним существенным изобретением, ускорившим работу процессоров, оказалось внеочередное исполнение (out-of-order execution, OoO), представляющее собой ограниченную реализацию идеи обработкипотока данных (data flow computation). Хотя первые попытки в этом направлении были предприняты еще при проектировании компьютеров CDC, но реально первые внедрения были в IBM 360, а затем в процессорах Power1. Одно из важнейших достоинств внеочередного исполнения состоит в том, что данная технология позволяет согласовать более высокую скорость работы процессоров с менее быстродействующей памятью, сняв часть нагрузки с кэш-памяти.

Заметной вехой в ряду усовершенствований фон-неймановской архитектуры стоит распараллеливание потоков (Thread Level Parallelism, TLP). Данная технология существует в нескольких версиях; среди них -одновременная многопоточность (Simultaneous Multithreading, SMT) имногопоточность на уровне кристалла (Сhip-level Multithreading, CMT). Эти два подхода в основном различаются представлением о том, что есть «поток», иначе говоря, по уровню гранулярности потоков.

Хронологически первым процессором, поддерживающим многопоточность, был процессор DEC Alpha EV4 21064. Драматическая судьба этого процессорного семейства была и остается предметом серьезных обсуждений, и, хотя на версии EV7 производство прекратилось, а EV8 и EV9 остались на бумаге, есть основания полагать, что ядро EV7 может возродиться в одном из готовящихся к выпуску многоядерных процессоров. Типичным представителем лагеря SMT является Pentium 4 с его технологией HTT (Hyper-Threading Technology). Процессор поддерживает деление на два потока команд, выбираемых из одной задачи в режиме SMT, что обеспечивает суммарное повышение производительности примерно на 30%. В процессоре UltraSPARC T1, известном прежде под кодовым названием Niagara, потоки образуются из разных задач; никакой одновременности в данном случае нет, каждый поток представляет собой виртуальное ядро процессора.

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