Смекни!
smekni.com

Основы информатики 3 2 (стр. 14 из 43)

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


ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР

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

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

ЦП типичного компьютера состоит из большого числа логических вентилей и триггеров. УУ использует много вентилей, чтобы выбрать способ обработки, которая должна быть выполнена в АЛУ, а также направить полученные результаты другим частям компьютера. Регистры, о которых мы рассказывали выше, представляют собой большей частью матрицы из триггеров. Наметился ряд тенденций в конструкции и производстве ЦП. В больших компьютерах и многих миникомпьютерах ЦП состоит из набора чипов, каждый из которых выполняет специальную функцию. В этих машинах каждый из основных блоков ЦП – АЛУ, УУ, микрокоманды для УУ – может находиться на одном или нескольких чипах. (Микрокоманды, по существу, сообщают УУ, какие проводники и вентили нужно соединить, чтобы выполнить команду.) Эти ЦП слишком сложны, чтобы их можно было уместить на одном чипе. Такой подход также позволяет вносить изменения в схему компьютера путем замены одного или двух чипов, а не всего ЦП.

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

Возможно, самый большой скачок в конструировании ЦП был сделан с появлением в 1971 микропроцессора 4044 фирмы «Интел». Этот 4-разрядный микропроцессор представлял собой сравнительно медленный чип с ограниченным набором команд, но он и его наследники сделали возможным создание карманных калькуляторов и цифровых часов и привели к разработке микрокомпьютера. В 1974 появились 8-разрядные микропроцессоры, обрабатывающие по 8 бит информации одновременно.

Как упоминалось раньше, микропроцессор (или другой ЦП) принимает информацию в виде «слов». Например, память компьютера по командам УУ подает в сумматор сразу 8 бит. Затем УУ добавляет, например, число 00101101 к битам в сумматоре (снова сразу все). Теперь в сумматоре находится новый набор из 8 бит. Далее УУ передает эти 8 бит в память, все сразу. На каждом из этих шагов 8 бит обрабатываются или перемещаются одновременно, но индивидуальные действия – их ввод, сложение, копирование результата – выполняются последовательно. В принципе, чем больший размер слова доступен для обработки ЦП, тем больше информации он может «проглотить» сразу и тем быстрее он выполняет свои задачи.

Восьмиразрядные микропроцессоры дали жизнь микрокомпьютерам, сложным компьютерным терминалам и ряду «интеллектуальных» устройств; прогресс в вычислительной технике продолжается. В 1990-х годах имелись сотни миллионов 8- и 16-разрядных микропроцессоров, а в большинстве новых персональных компьютеров и рабочих станций использовались 32-разрядные микропроцессоры, выполняющие миллионы операций в секунду. В 1999 фирмой «Интел» выпущен высокопроизводительный микропроцессор «Пентиум III» с тактовой частотой 500 МГц, интегрированной кэш-памятью до 2 Мб и повышенными возможностями в таких сферах, как распознавание речи и трехмерная графика.

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

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

Одна ячейка статической памяти состоит из шести транзисторов и двух резисторов (для техпроцессов с проектными нормами до 0,5 мкм могли быть использованы только четыре транзистора на одну ячейку, с дополнительным слоем поликремния и с более жесткими ограничениями по максимальной тактовой частоте), в то время как аналогичная структура динамической памяти состоит из одного транзистора и одного конденсатора. Быстродействие статической памяти намного выше (емкость, используемая в динамической памяти, имеет определенную скорость зарядки до требуемого уровня, определяющую «частотный потолок»), но из-за большего количества составляющих элементов она существенно дороже в производстве и отличается более высоким энергопотреблением. Битовое значение ячейки статической памяти характеризуется состоянием затворов транзисторов, а динамической — уровнем заряда конденсатора. Так как конденсаторы имеют свойство с течением времени разряжаться, то для поддержания их состояния требуется регулярная перезарядка (для современных микросхем динамической памяти — приблизительно 15 раз в секунду). Кроме того, при операции чтения из ячейки динамической памяти конденсатор разряжается, т. е. ячейка утрачивает свой первоначальный заряд, а следовательно должна быть перезаряжена.

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

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

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

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