Процессор: структура и функционирование
Центральный процессор (ЦП) - функционально-законченное программно-управляемое устройство выполненное на одной или нескольких СБИС, предназначенное для выполнения арифметической и логической обработки информации программного управления работой устройств. В современных персональных компьютерах разных фирм применяются процессоры двух основных архитектур:
· полная система команд переменной длины - Complex Instruction Set Computer (CISC);
· сокращенный набор команд фиксированной длины - Reduced Instruction Set Computer (RISC).
Весь ряд процессоров фирмы Intel, устанавливаемых в персональные компьютеры IBM, имеют архитектуру CISC, а процессоры Motorola, используемые фирмой Apple для своих персональных компьютеров, имеют архитектуру RISC. Обе архитектуры имеют свои преимущества и недостатки. Так CISC-процессоры имеют обширный набор команд (до 400), из которых программист может выбрать команду, наиболее подходящую ему в данном случае. Недостатком этой архитектуры является то, что большой набор команд усложняет внутреннее устройство управления процессором, увеличивает время исполнения команды на микропрограммном уровне. Команды имеют различную длину и время исполнения.
RISC-архитектура имеет ограниченный набор команд и каждая команда выполняется за один такт работы процессора. Небольшое число команд упрощает устройство управления процессора. К недостаткам RISC-архитектуры можно отнести то, что если требуемой команды в наборе нет, программист вынужден реализовать ее с помощью нескольких команд из имеющегося набора, увеличивая размер программного кода.
Упрощенная схема процессора, отражающая основные особенности архитектуры микроуровня, приведена на рис. 4.1. Наиболее сложным функциональным устройством процессора является устройство управления выполнением команд. Оно содержит:
· буфер команд, который хранит одну или несколько очередных команд программы; читает следующие команды из запоминающего устройства, пока выполняется очередная команда, уменьшая время ее выборки из памяти;
· дешифратор команд расшифровывает код операции очередной команды и преобразует его в адрес начала микропрограммы, которая реализует исполнение команды;
Рис. 4.1. Архитектура процессора
· управление выборкой очередной микрокоманды представляет собой небольшой процессор, работающий по принципу фон Неймана, имеет свой счетчик микрокоманд, который автоматически выбирает очередную микрокоманду из ПЗУ микрокоманд;
· постоянное запоминающее устройство (ПЗУ) микрокоманд - это запоминающее устройство, в которое информация записывается однократно и затем может только считываться; отличительной особенностью ПЗУ является то, что записанная в него информация сохраняется сколь угодно долго и не требует постоянного питающего напряжения.
Поступивший от дешифратора команд адрес записывается в счетчик микрокоманд устройства выборки, и начинается процесс обработки последовательности микрокоманд. Каждый разряд микрокоманды связан с одним управляющим входом какого-либо функционального устройства. Так, например, управляющие входы регистра хранения «Сброс», «Запись», «Чтение» соединены с соответствующими разрядами микрокоманды. Общее число разрядов микрокоманды может составлять от нескольких сотен до нескольких тысяч и равно общему числу управляющих входов всех функциональных устройств процессора. Часть разрядов микрокоманды подается на устройство управления выборкой очередной микрокоманды и используется для организации условных переходов и циклов, так как алгоритмы обработки команд могут быть достаточно сложными.
Выборка очередной микрокоманды осуществляется через определенный интервал времени, который, в свою очередь, зависит от времени выполнения предыдущей микрокоманды. Частота, с которой осуществляется выборка микрокоманд, называется тактовой частотой процессора. Тактовая частота является важной характеристикой процессора, так как определяет скорость выполнения процессором команд, и, в конечном итоге, быстродействие процессора. Другими словами тактовая частота показывает количество элементарных операций, выполняемых центральным процессором в секунду. Под элементарной операцией понимается любая простейшая операция типа сложения, пересылки, сравнения и т.д.
Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации. Функционально АЛУ состоит из нескольких специальных регистров, полноразрядного сумматора и схем местного управления.
Регистры общего назначения (РОН) используются для временного хранения операндов исполняемой команды и результатов вычислений, а также хранят адреса ячеек памяти или портов ввода-вывода для команд, обращающихся к памяти и внешним устройствам. Необходимо отметить, что если операнды команды хранятся в РОН, то время выполнения команды значительно сокращается. Одна из причин, почему программисты иногда обращаются к программированию на языке машинных команд, это наиболее полное использование РОН для получения максимального быстродействия при выполнении программ, критичных по времени.
Основными параметрами процессоров являются: рабочее напряжение, разрядность, рабочая тактовая частота, коэффициент внутреннего умножения тактовой частоты и размер кэш-памяти.
Рабочее напряжение процессора обеспечивает материнская плата, поэтому разным маркам процессоров соответствуют разные материнские платы (их надо выбирать совместно). Ранние модели процессоров x86 имели рабочее напряжение 5 В. С переходом к процессорам Intel Pentium оно понижено до 3,3 В, а в настоящее время составляет менее 3 В. Сверху микропроцессора всегда устанавливают вентилятор (куллер) для его охлаждения во время работы.
Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за одни раз (за одни такт) и определяется разрядностью этих регистров. Первые процессоры x86 были 16-разрядными. Начиная с процессора 80386, они имеют 32-разрядную архитектуру. Современные процессоры семейства Intel Pentium остаются 32 разрядными, хотя и работают с 64 разрядной шиной данных.
Обмен данными внутри процессора происходит в несколько раз быстрее, чем обмен с другими устройствами, например, с оперативной памятью. Для того чтобы уменьшить количество обращений к оперативной памяти, внутри процессора создают буферную область - так называемую кэш-память. Это как бы «сверхоперативная память». Когда процессору нужны данные, он сначала обращается в кэш-память, и только если там нужных данных нет, происходит его обращение в оперативную память. Принимая блок данных из оперативной памяти, процессор заносит его одновременно и в кэш-память. Высокопроизводительные процессоры имеют повышенный объем кэш-памяти.
Рассмотрим аппаратную архитектуру физической памяти и организацию управления ею на примере последних поколений процессоров Intel Pentium. Для управления памятью в процессор включен специальный модуль управления памятью, или, иначе, контроллер памяти (Memory Controller). В этом контексте схема обмена данными в компьютерной системе может быть представлена так, как показано на
рис. 4.2. Данная схема отображает обмен данными в компьютерной системе, в которой используется процессор Intel Pentium 4. Все операции по обмену данными с устройствами со стороны процессора выполняет контроллер памяти.
Количество памяти, которая может быть использована программой, ограничено максимальным размером адресного пространства процессора. У процессора Intel Pentium 4, например, максимальное адресное пространство, включая физическую (оперативную) и виртуальную память, может достигать 64 Гбайт.
Процессор Intel Pentium 4 имеет два кэша данных, которые называются кэшем 1-го уровня (L1 Cache) и кэшем 2-го уровня (L2 Cache). Для серверных платформ разработаны модификации процессора, содержащие и кэш 3-го уровня, реализуется на отдельных быстродействующих микросхемах с расположением на материнской плате и имеют объем один и более Мб. Отметим важное обстоятельство - процессоры Intel Pentium 4 имеют также и кэш команд 1-го уровня (он называется Trace Cache), специфика работы которого отличается от особенностей работы кэшей данных.
|
Рис. 4.2. Схема организации обмена данными в компьютерной системе
Кэш 1-го уровня имеет очень маленький размер (8 Кбайт), но обладает очень высокой скоростью выборки данных, уступая только процессору. Конструктивно располагается на одном кристалле с процессором. Кэш 2-го уровня называют иногда универсальным кэшем, поскольку в нем могут находиться как данные, так и команды. Кэш 2-го уровня имеет размер 256 Кбайт и работает в 3 раза медленнее, чем кэш 1-го уровня. Размещается на отдельном кристалле, но в границах процессора.
При обмене данными с оперативной памятью ключевую для эффективной работы программы роль играет кэш 1-го уровня, поскольку практически все данные работающего приложения проходят через него и через буферы записи (write buffers).
Организация памяти ЭВМ
В компьютерах для хранения информации выделяют следующие основные типы памяти: внутренняя память, кэш-память и внешняя память (рис. 4.3). Кроме того, в ЭВМ могут присутствовать различные специализированные виды памяти, характерные для тех или иных устройств вычислительной системы, например, видеопамять.
Внутренняя память предназначена для оперативного хранения и обмена данными непосредственно участвующими в процессе обработки (оперативная память, кэш-память), а также для долговременного хранения информации о конфигурации ПК (энергонезависимая). Конструктивно она исполняется в виде интегральных схем (ИС) и подразделяется на два вида: постоянное запоминающее устройство (ПЗУ) и оперативное запоминающее устройство (ОЗУ).
Кэш-память служит для хранения копий информации, используемой в текущих операциях обмена и являющееся буфером между устройствами с различным быстродействием. Обычно используется при обмене данными между микропроцессором и оперативной памятью для компенсации разницы в скорости обработки информации процессором и несколько менее быстродействующей оперативной памятью.
Рис. 4.3. Структура памяти ПК
Внешняя память используется для долговременного хранения больших объемов информации. В современных компьютерных системах в качестве устройств внешней памяти наиболее часто применяются:
· накопители на жестких магнитных дисках (НЖМД);
· накопители на гибких магнитных дисках (НГМД);
· накопители на магнитооптических дисках (НМОД);
· накопители на оптических дисках;
· ленточные накопители (стримеры).
Оперативное запоминающее устройство (ОЗУ). Оперативное запоминающее устройство, или оперативная память, - это массив кристаллических ячеек, способных хранить данные. Ее основная особенность заключена в том, что хранение информации в ней осуществляется только до тех пор, пока компьютер включен. При выключении компьютера вся хранимая информация сразу же удаляется без возможности восстановления, т.е. это энергозависимая память. По способу хранения информации оперативная память делится на статическую (SRAM - Static RAM) и динамическую (DRAM - Dynamic RAM).
Микросхемы динамической памяти используют в качестве основной оперативной памяти компьютера. Микросхемы статической памяти используют в качестве вспомогательной памяти (кэш-памяти), предназначенной для оптимизации работы процессора.
Оперативная память в компьютере размещается на стандартных панельках, называемых модулями. Модули оперативной памяти вставляют в соответствующие разъемы на материнской плате.
Постоянное запоминающее устройство (ПЗУ).В момент включения компьютера в его оперативной памяти ничего нет - ни данных, ни программ, поскольку оперативная память не может ничего хранить без подзарядки ячеек более долей секунды, но процессору нужны команды, в том числе и в первый момент после включения.
Поэтому сразу после включения на адресной шине процессора выставляется стартовый адрес. Это происходит аппаратно, без участия программ (всегда одинаково). Процессор обращается по выставленному адресу за своей первой командой и далее начинает работать по программам.
Этот исходный адрес не может указывать на оперативную память, в которой пока ничего нет. Он указывает на другой тип памяти - постоянное запоминающее устройство (ПЗУ) - ROM ( Read Only Memory - память только для чтения). Микросхема ПЗУ способна длительное время хранить информацию, даже когда компьютер выключен. Программы, находящиеся в ПЗУ, называют «зашитыми» - их записывают туда на этапе изготовления микросхемы.
Комплект программ, находящихся в ПЗУ, образует базовую систему ввода-вывода (BIOS - Basic Input Output System). Основное назначение программ этого пакета состоит в том, чтобы проверить состав и работоспособность компьютера и обеспечить взаимодействие с клавиатурой, монитором, жестким диском и дисководом гибких дисков. Программы, входящие в BIOS, позволяют нам наблюдать на экране диагностические сообщения, сопровождающие запуск компьютера, а также вмешиваться в ход запуска с помощью клавиатуры.
Работа таких стандартных устройств, как клавиатура, может обслуживаться программами, входящими в BIOS, но такими средствами нельзя обеспечить работу со всеми возможными устройствами. Так, например, изготовители BIOS абсолютно ничего не знают о параметрах наших жестких и гибких дисков, им не известны ни состав, ни свойства произвольной вычислительной системы. Для того чтобы начать работу с другим оборудованием, программы, входящие в состав BIOS, должны знать, где можно найти нужные параметры. По очевидным причинам их нельзя хранить ни в оперативной памяти, ни в постоянном запоминающем устройстве.
Специально для этого на материнской плате есть микросхема «энергонезависимой памяти», по технологии изготовления называемая CMOS (complementary metaloxide semiconductor). От оперативной памяти она отличается тем, что ее содержимое не стирается во время выключения компьютера, а от ПЗУ - тем, что данные в нее можно заносить и изменять самостоятельно, в соответствии с тем, какое оборудование входит в состав системы. Эта микросхема постоянно подпитывается от небольшой батарейки, расположенной на материнской плате. Заряда этой батарейки хватает на то, чтобы микросхема не теряла данные, даже если компьютер не будут включать несколько лет.
В микросхеме CMOS хранятся данные о гибких и жестких дисках, о процессоре, о некоторых других устройствах материнской платы. Тот факт, что компьютер четко отслеживает время и календарь (даже и в выключенном состоянии), тоже связан с тем, что показания системных часов постоянно хранятся (и изменяются) в CMOS.
Таким образом, программы, записанные в BIOS, считывают данные о составе оборудования компьютера из микросхемы CMOS, после чего они могут выполнить обращение к жесткому диску, а в случае необходимости и к гибкому, и передать управление тем программам, которые там записаны.
Специальная память. К устройствам специальной памяти относятся постоянная память (ПЗУ), перепрограммируемая постоянная память (ППЗУ - Flash Memory), память CMOS RAM, питаемая от батарейки, видеопамять и некоторые другие виды памяти.
Перепрограммируемая постоянная память (Flash Memory) - энергонезависимая память, допускающая многократную перезапись своего содержимого с дискеты.
Видеопамять (VRAM) - разновидность оперативного запоминающего (ЗУ), в котором хранятся закодированные изображения. Это ЗУ организовано так, что его содержимое доступно сразу двум устройствам - процессору и дисплею. Поэтому изображение на экране меняется одновременно с обновлением видеоданных в памяти.
Внешние устройства хранения информации.В качестве внешних запоминающих устройств при работе на ПК в основном используются накопители на гибких магнитных дисках (НГМД) или дискеты, накопитель на жестком магнитном диске (НЖМД) или винчестер и накопители на лазерных компакт-дисках или CD-диски (рис. 4.4). Кроме того, в последнее время все большую популярность стали приобретать разные сменные карты памяти. Основными характеристиками всех внешних устройств хранения информации являются:
1. Информационная емкость - максимально возможный объем хранимой информации. Выражается в мегабайтах (для дискет и CD-дисков) и гигабайтах (для винчестеров и DVD-дисков).
2. Время доступа к информации - временной интервал между моментом, когда процессор запрашивает с диска данные, и моментом их выдачи. Измеряется в миллисекундах (мс). Наибольшее время доступа к информации у накопителей на гибких магнитных дисках (дискетах), а наименьшее - у винчестеров.
3. Скорость чтения и записи информации - определяется количеством байт, прочитанных/записанных в секунду. Выражается в Мбайт/с.
Рис. 4.4. Устройства хранения данных