ПРОЦЕССОР: СТРУКТУРА И ФУНКЦИОНИРОВАНИЕ
Центральный процессор (ЦП) - функционально-законченное программно-управляемое устройство выполненное на одной или нескольких СБИС, предназначенное для выполнения арифметической и логической обработки информации программного управления работой устройств. В современных персональных компьютерах разных фирм применяются процессоры двух основных архитектур:
полная система команд переменной длины - Complex Instruction Set Computer (CISC);
сокращенный набор команд фиксированной длины - Reduced Instruction Set Computer (RISC).
Процессор разрешает выполнять программный код, находящийся в памяти и руководит работой всех устройств компьютера. Скорость его работы определяет быстродействие компьютера. Конструктивно, процессор - это кристалл кремния очень маленьких размеров. Процессор имеет специальные ячейки, которые называются регистрами. Именно в регистрах помещаются команды, которые выполняются процессором, а также данные, которыми оперируют команды. Работа процессора состоит в выборе из памяти в определенной последовательности команд и данных и их выполнении. На этом и базируется выполнение программ.
В ПК обязательно должен присутствовать центральный процессор (Central Rpocessing Unit - CPU), который выполняет все основные операции. Часто ПК оснащен дополнительными сопроцессорами, ориентированными на эффективное выполнение специфических функций, такие как, математический сопроцессор для обработки числовых данных в формате с плавающей точкой, графический сопроцессор для обработки графических изображений, сопроцессор ввода/вывода для выполнения операции взаимодействия с периферийными устройствами.
Основными параметрами процессоров являются:
· тактовая частота,
· разрядность,
· рабочее напряжение,
· коэффициент внутреннего умножения тактовой частоты,
· размер кэш памяти.
Тактовая частота определяет количество элементарных операций (тактов), выполняемые процессором за единицу времени. Тактовая частота современных процессоров измеряется в МГц (1 Гц соответствует выполнению одной операции за одну секунду, 1 МГц=106 Гц). Чем больше тактовая частота, тем больше команд может выполнить процессор, и тем больше его производительность. Первые процессоры, которые использовались в ПК работали на частоте 4,77 МГц, сегодня рабочие частоты современных процессоров достигают отметки в 2 ГГц (1 ГГц=103 МГц).
Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за один такт. Разрядность процессора определяется разрядностью командной шины, то есть количеством проводников в шине, по которой передаются команды. Современные процессоры семейства Intel являются 32-разрядными.
Рабочее напряжение процессора обеспечивается материнской платой, поэтому разным маркам процессоров отвечают разные материнские платы. Рабочее напряжение процессоров не превышает 3 В. Снижение рабочего напряжения разрешает уменьшить размеры процессоров, а также уменьшить тепловыделение в процессоре, что разрешает увеличить его производительность без угрозы перегрева.
Коэффициент внутреннего умножения тактовой частоты - это коэффициент, на который следует умножить тактовую частоту материнской платы, для достижения частоты процессора. Тактовые сигналы процессор получает от материнской платы, которая из чисто физических причин не может работать на таких высоких частотах, как процессор. Для получения более высоких частот в процессоре происходит внутреннее умножение на коэффициент 4, 4.5, 5 и больше.
В процессе работы процессор обрабатывает данные, находящиеся в его регистрах, оперативной памяти и внешних портах процессора. Часть данных интерпретируется как собственно данные, часть данных - как адресные данные, а часть - как команды. Совокупность разнообразных команд, которые может выполнить процессор над данными, образовывает систему команд процессора. Чем больше набор команд процессора, тем сложнее его архитектура, тем длиннее запись команд в байтах и тем дольше средняя продолжительность выполнения команд.
Весь ряд процессоров фирмы Intel, устанавливаемых в персональные компьютеры IBM, имеют архитектуру CISC, а процессоры Motorola, используемые фирмой Apple для своих персональных компьютеров, имеют архитектуру RISC. Обе архитектуры имеют свои преимущества и недостатки. Так CISC-процессоры имеют обширный набор команд (до 400), из которых программист может выбрать команду, наиболее подходящую ему в данном случае. Недостатком этой архитектуры является то, что большой набор команд усложняет внутреннее устройство управления процессором, увеличивает время исполнения команды на микропрограммном уровне. Команды имеют различную длину и время исполнения.
RISC-архитектура имеет ограниченный набор команд и каждая команда выполняется за один такт работы процессора. Небольшое число команд упрощает устройство управления процессора. К недостаткам RISC-архитектуры можно отнести то, что если требуемой команды в наборе нет, программист вынужден реализовать ее с помощью нескольких команд из имеющегося набора, увеличивая размер программного кода.
Упрощенная схема процессора, отражающая основные особенности архитектуры микроуровня, приведена на рис. 5. Наиболее сложным функциональным устройством процессора является устройство управления выполнением команд. Оно содержит:
· буфер команд, который хранит одну или несколько очередных команд программы; читает следующие команды из запоминающего устройства, пока выполняется очередная команда, уменьшая время ее выборки из памяти;
· дешифратор команд расшифровывает код операции очередной команды и преобразует его в адрес начала микропрограммы, которая реализует исполнение команды;
Рис. 5. Архитектура процессора
· управление выборкой очередной микрокоманды представляет собой небольшой процессор, работающий по принципу фон Неймана, имеет свой счетчик микрокоманд, который автоматически выбирает очередную микрокоманду из ПЗУ микрокоманд;
· постоянное запоминающее устройство (ПЗУ) микрокоманд - это запоминающее устройство, в которое информация записывается однократно и затем может только считываться; отличительной особенностью ПЗУ является то, что записанная в него информация сохраняется сколь угодно долго и не требует постоянного питающего напряжения.
Поступивший от дешифратора команд адрес записывается в счетчик микрокоманд устройства выборки, и начинается процесс обработки последовательности микрокоманд. Каждый разряд микрокоманды связан с одним управляющим входом какого-либо функционального устройства. Так, например, управляющие входы регистра хранения «Сброс», «Запись», «Чтение» соединены с соответствующими разрядами микрокоманды. Общее число разрядов микрокоманды может составлять от нескольких сотен до нескольких тысяч и равно общему числу управляющих входов всех функциональных устройств процессора. Часть разрядов микрокоманды подается на устройство управления выборкой очередной микрокоманды и используется для организации условных переходов и циклов, так как алгоритмы обработки команд могут быть достаточно сложными.
Выборка очередной микрокоманды осуществляется через определенный интервал времени, который, в свою очередь, зависит от времени выполнения предыдущей микрокоманды. Частота, с которой осуществляется выборка микрокоманд, называется тактовой частотой процессора. Тактовая частота является важной характеристикой процессора, так как определяет скорость выполнения процессором команд, и, в конечном итоге, быстродействие процессора. Другими словами тактовая частота показывает количество элементарных операций, выполняемых центральным процессором в секунду. Под элементарной операцией понимается любая простейшая операция типа сложения, пересылки, сравнения и т.д.
Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации. Функционально АЛУ состоит из нескольких специальных регистров, полноразрядного сумматора и схем местного управления.
Регистры общего назначения (РОН) используются для временного хранения операндов исполняемой команды и результатов вычислений, а также хранят адреса ячеек памяти или портов ввода-вывода для команд, обращающихся к памяти и внешним устройствам. Необходимо отметить, что если операнды команды хранятся в РОН, то время выполнения команды значительно сокращается. Одна из причин, почему программисты иногда обращаются к программированию на языке машинных команд, это наиболее полное использование РОН для получения максимального быстродействия при выполнении программ, критичных по времени.
Основными параметрами процессоров являются: рабочее напряжение, разрядность, рабочая тактовая частота, коэффициент внутреннего умножения тактовой частоты и размер кэш-памяти.
Рабочее напряжение процессора обеспечивает материнская плата, поэтому разным маркам процессоров соответствуют разные материнские платы (их надо выбирать совместно). Ранние модели процессоров x86 имели рабочее напряжение 5 В. С переходом к процессорам Intel Pentium оно понижено до 3,3 В, а в настоящее время составляет менее 3 В. Сверху микропроцессора всегда устанавливают вентилятор (куллер) для его охлаждения во время работы.
Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за одни раз (за одни такт) и определяется разрядностью этих регистров. Первые процессоры x86 были 16-разрядными. Начиная с процессора 80386, они имеют 32-разрядную архитектуру. Современные процессоры семейства Intel Pentium остаются 32 разрядными, хотя и работают с 64 разрядной шиной данных.
Обмен данными внутри процессора происходит в несколько раз быстрее, чем обмен с другими устройствами, например, с оперативной памятью. Для того чтобы уменьшить количество обращений к оперативной памяти, внутри процессора создают буферную область - так называемую кэш-память. Это как бы «сверхоперативная память». Когда процессору нужны данные, он сначала обращается в кэш-память, и только если там нужных данных нет, происходит его обращение в оперативную память. Принимая блок данных из оперативной памяти, процессор заносит его одновременно и в кэш-память. Высокопроизводительные процессоры имеют повышенный объем кэш-памяти.
Рассмотрим аппаратную архитектуру физической памяти и организацию управления ею на примере последних поколений процессоров Intel Pentium. Для управления памятью в процессор включен специальный модуль управления памятью, или, иначе, контроллер памяти (Memory Controller). В этом контексте схема обмена данными в компьютерной системе может быть представлена так, как показано на рис. 6. Данная схема отображает обмен данными в компьютерной системе, в которой используется процессор Intel Pentium 4. Все операции по обмену данными с устройствами со стороны процессора выполняет контроллер памяти.
Количество памяти, которая может быть использована программой, ограничено максимальным размером адресного пространства процессора. У процессора Intel Pentium 4, например, максимальное адресное пространство, включая физическую (оперативную) и виртуальную память, может достигать 64 Гбайт.
Процессор Intel Pentium 4 имеет два кэша данных, которые называются кэшем 1-го уровня (L1 Cache) и кэшем 2-го уровня (L2 Cache). Для серверных платформ разработаны модификации процессора, содержащие и кэш 3-го уровня, реализуется на отдельных быстродействующих микросхемах с расположением на материнской плате и имеют объем один и более Мб. Отметим важное обстоятельство - процессоры Intel Pentium 4 имеют также и кэш команд 1-го уровня (он называется Trace Cache), специфика работы которого отличается от особенностей работы кэшей данных.
|
Кэш 1-го уровня имеет очень маленький размер (8 Кбайт), но обладает очень высокой скоростью выборки данных, уступая только процессору. Конструктивно располагается на одном кристалле с процессором. Кэш 2-го уровня называют иногда универсальным кэшем, поскольку в нем могут находиться как данные, так и команды. Кэш 2-го уровня имеет размер 256 Кбайт и работает в 3 раза медленнее, чем кэш 1-го уровня. Размещается на отдельном кристалле, но в границах процессора.
При обмене данными с оперативной памятью ключевую для эффективной работы программы роль играет кэш 1-го уровня, поскольку практически все данные работающего приложения проходят через него и через буферы записи (write buffers).