Лекция 6 - Процессор 

6.1. Что такое центральный процессор

Центральный процессор (CPU, от англ. Central Processing Unit) — это основной рабочий компонент компьютера, который выполняет арифметические и логические операции, заданные программой, управляет вычислительным процессом и координирует работу всех устройств компьютера.

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

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

Микропроцессор Intel Pentium 4 — наиболее совершенный и мощный процессор выпуска 2001 г. с тактовой частотой до 2 Гигагерц, представлен на рисунке 6.1 примерно в натуральную величину. Он предназначен для работы приложений, требующих высокой производительности процессора, таких, как передача видео и звука по Интернет, создание видео-материалов, распознавание речи, обработка трехмерной графики, игры.

Pentium 4
 
Рис. 6.1. Микропроцессор Pentium 4. Вид сверху (слева) и вид снизу (справа)

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


6.2. История развития процессоров Intel

Процессор - важнейшие элемент ЭВМ, поэтому производством процессоров занимается большое число фирм. Наиболее массовое распространение в настоящее время получили процессоры, произведенные фирмой Intel (США).

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

По способу представления команд все микропроцессоры можно разделить на две группы:

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

Под архитектурой понимается конструкция процессора и имеющаяся система команд процессора (набор инструкций).

В 1969 году компании Intel удалось создать комплект из четырех интегральных микросхем с полным набором элементов, характерным для процессора. Длина слова первого процессора составляла всего 4 бита.

В 1971 году был выпущен 4-разрядный процессор Intel 4004, который стал применяться в микрокалькуляторах.

Уже в 1972 году появился 8-разрядный процессор Intel 8008, а в 1974 году - его улучшенный вариант Intel 8080. Он нашел применение в первых встроенных ЭВМ для управления производственными процессами.

В 1978 году был разработан процессор Intel 8086, его система команд насчитывала 134 команды. На базе процессора 8086 и его модификации 8088 (различаются только разрядностью шины данных) выпускались компьютеры IBM PC и IBM PC/XT.

В 1980 году был представлен на рынок сопроцессор с плавающей точкой 8087, который расширил состав команд процессора 8086 почти на 60 новых команд.

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

Разработанный в 1982 году процессор Intel 80286 усовершенствовал конструкцию процессора 8086. Была реализована защита памяти, расширено адресное пространство, добавлено несколько команд. Начиная с 286-го, процессоры фирмы Intel поддерживают многозадачный режим (режим выполнения нескольких задач). При работе в таком режиме процессор поочередно переключается от одной задачи к другой, но в каждый текущий момент времени обслуживается лишь одна программа. Для 286-го процессора выпускался 287-й сопроцессор. На базе этих микросхем, начиная с 1984 года, компания IBM производила персональные компьютеры IBM PC/AT.

В 1987 году появился процессор Intel 80386. Начиная с этого процессора, во всех процессорах используется конвейерное выполнение команд - одновременное выполнение в разных частях процессора нескольких последовательно записанных в ОЗУ команд. При такой работе быстродействие ЭВМ увеличивается в 2-3 раза.

386-й процессор может функционировать в двух режимах:

В 1989 году был разработан процессор Intel 80486. Процессоры 486SX и 486DX - это 32-разрядные процессоры, у которых внутренняя кэш-память первого уровня имеет емкость 8Кбайт. Основное отличие между ними заключается в том, что в процессоре 486DX впервые сопроцессор размещен на одном кристалле с процессором. В 486SX отсутствует встроенный сопроцессор для выполнения операций с плавающей точкой. Он применяется в ЭВМ, для которых не очень важна производительность при обработке вещественных чисел.

В 1993 году появился процессор Pentium (Intel 80586 или P5), в котором стали использоваться элементы структуры RISC-процессора. Первоначальная реализация этого процессора была рассчитана на работу с тактовой частотой 60 и 66 МГц. Впоследствии были разработаны процессоры Pentium с тактовой частотой 75, 90, 100, 120, 133, 150, 166, 200МГц.

В 1995 году появился Pentium Pro (Intel 80686, Р6) с тактовой частотой 150 МГц.

В 1997 году был разработан процессор Pentium MMX (MultiMedia Extension) 166 МГц. Технология ММХ предполагает включение в состав команд процессора Pentium набора из 57 новых команд. Этот дополнительный набор команд предназначен в первую очередь для реализации алгоритмов обработки видео- и аудиоданных: фильтрации, свертки и пр.

1997 год - процессор Pentium II 233 МГц, 1998 - Pentium II 350 и 400МГц.

1999 год - процессор Pentium III 600 МГц. По сравнению с Pentium II, в нем для увеличения быстродействия еще больше усилено распараллеливание процессов. Кроме того, Pentium III отличается наличием уникального идентификационного номера, который может быть считан программно для определения личности пользователя.

Безусловно, фирма Intel не единственная компания, производящая процессоры. Процессоры изготавливают такие известные фирмы как IBM, Motorola, Sun, DEC, Apple. Ближайшие конкуренты фирмы Intel - AMD (Advanced Micro Devices) и Cyrix.


6.3. Принцип действия процессора

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

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

Перечислим основные особенности процессора Pentium:

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

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

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

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

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

Пример. Рассмотрим процесс выполнения команды, у которой длительности выполнения этапов составляют: 60, 30, 40, 50 и 20 нс. Примем накладные расходы на организацию конвейерной обработки: 5 нс. Время выполнения команды в ЭВМ без конвейеризации будет: 60 + 30 + 40 + 50 + 20 = 200нс. Если используется конвейерная организация, то длительность такта должна быть равна длительности самого медленного этапа обработки с учетом накладных расходов, т.е. 60 + 5 = 65 нс. Таким образом, полученное в результате конвейеризации ускорение составит: 200 / 65 = 3.1 раза. Заметим, что время выполнения конвейером одной команды составляет 5 * 65 = 325 нс. Но одновременное выполнение сразу пяти команд дает среднее время выполнения одной команды 65 нс.

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

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

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

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