Центральный процессор (CPU, Central Processing Unit) — функционально законченное программно-управляемое устройство обработки информации, выполненное на одной или нескольких СБИС (сверхбольшие интегральные схемы).
Большинство современных процессоров для персональных компьютеров, в общем основаны на той или иной версии циклического процесса последовательной обработки информации, предложенного Джоном фон Нейманом. Важнейшие этапы этого процесса приведены ниже:
-
Процессор выставляет число, хранящееся в регистре счётчика команд процессора, на шину адреса, и отдаёт памяти команду чтения;
-
Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности;
-
Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её;
-
Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды;
-
Снова выполняется п. 1.
Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства).
Во время процесса процессор считывает последовательность команд, содержащихся в памяти, и исполняет их. Такая последовательность команд называется программой и представляет алгоритм работы процессора. Очерёдность считывания команд изменяется в случае, если процессор считывает команду перехода – тогда адрес следующей команды может оказаться другим. Другим примером изменения процесса может служить случай получения команды останова или переключение в режим обработки аппаратного прерывания.
Скорость перехода от одного этапа цикла к другому определяется тактовым генератором. Тактовый генератор вырабатывает импульсы, служащие ритмом для центрального процессора. Частота тактовых импульсов называется тактовой частотой.
Современные процессоры выполняются в виде микропроцессоров. Первый микропроцессор Intel 4004 был создан фирмой Intel в 1971 году. Он состоял из 2250 транзисторов, размещенных на кристалле размером не более шляпки гвоздя. В 1974 году компания Intel совершила новый качественный скачок: был создан первый универсальный восьмиразрядный микроцессор 8080 с 4500 транзисторами. С тех пор развитие микропроцессорной техники происходило с фантастической скоростью: современный микропроцессор Pentium4 содержит около 30 млн транзисторов, т. е. является очень сложным техническим устройством.
С точки зрения потребителей, процессоры характеризуются двумя основными параметрами: разрядностью и быстродействием. Разрядность определяет, прежде всего, количество разрядов обрабатываемых процессором данных. Быстродействие процессора зависит от ряда факторов, среди которых основными являются тактовая частота — величина, обратная количеству элементарных действий процессора за одну секунду, и количество тактов, затрачиваемых на выполнение одной команды.
Микропроцессор осуществляет следующие основные функции:
-
выборку команд из ОЗУ;
-
декодирование команд, т. е. определение их назначения;
-
выполнение операций, закодированных в командах;
-
управление пересылкой информации между своими внутренними регистрами, оперативной памятью и внешними устройствами;
-
обработку сигналов от внешних устройств;
-
управление различными устройствами, входящими в состав компьютера.
Конструктивно микропроцессор состоит из набора регистров памяти различного назначения, которые определенным образом связаны между собой и обрабатываются в соответствии с некоторой системой правил. Наиболее важными регистрами микропроцессора являются счетчик адреса команд, указатель стека и регистр состояния.
Роль счетчика команд состоит в сохранении адреса очередной команды программы и автоматическом вычислении адреса следующей. В указателе стека хранится адрес начала специальным образом организуемого участка памяти. Наконец, в регистре состояния хранятся сведения о текущих режимах работы процессора и информация о результатах выполнения команд. Например, равен ли результат нулю, отрицателен ли он, не возникли ли ошибки в ходе операции и т. п. Помимо рассмотренных, каждый микропроцессор имеет набор рабочих регистров, в которых хранятся текущие обрабатываемые данные или их адреса в ОЗУ
Базовый адрес хранится в одном из регистров, а смещение может быть либо некоторой константой, либо содержимым другого регистра. Часто такой способ доступа к ОЗУ называют индексным, т. к. это похоже на нахождение элемента в одномерном массиве по его индексу. Применяются и более экзотические методы адресации, например, сегментный и стековый методы. При сегментном способе адресации адрес ОЗУ вычисляется как сумма двух чисел (сегмента и смещения). Стек — это неявный способ адресации, при котором информация записывается и считывается только последовательным образом. Стек является простейшей динамической структурой. Добавление информации в стек и выборка из него выполняются из одного конца, называемого вершиной стека. При выборке информация исключается из стека. Для работы со стеком используются две переменные: указатель на вершину стека и вспомогательный указатель, определяющий длину текущей информации в стеке. Таким образом, та информация, которая заносится в стек первой, извлекается последней, и наоборот. Стековый способ организации ОЗУ используется в вычислительной технике очень широко.
Способ обмена микропроцессора с внешними устройствами может быть одним из двух следующих:
-
устройства ввода/вывода включаются в общее адресное пространство;
-
устройства ввода/вывода имеют свое собственное адресное пространство.
В первом случае при обращении к определенным адресам памяти вместо обмена с ОЗУ происходит аппаратное подключение того или иного внешнего устройства. При этом для "общения" с внешними устройствами и памятью используются одни и те же команды микропроцессора. Во втором случае внешние устройства образуют отдельное адресное пространство, обычно значительно меньшее, чем ОЗУ. Каждый; адрес этого дополнительного пространства называется портом. Различают последовательные и параллельные коммуникационные порты. Последовательный порт обменивается данными с процессором побайтно, а с внешними устройствами побитно. Параллельный порт получает и посылает данные побайтно. Обмен процессора с организованными подобным образом устройствами осуществляется специальными командами ввода/вывода.
Достарыңызбен бөлісу: |