Центральный процессор

Ноябрь 13, 2011

Компьютер может многое: считать, писать, рисовать. Может говорить, исполнять музыку (Сто профессий компьютера.). Но все эти сложные действия обязательно дробятся на самые простые: сложение, вычитание, сравнение. И производит эти действия центральный процессор. Всё, что обрабатывает центральный процессор, поступает в него из оперативной памяти. В это «всё» входят как сами числа, которые нужно обрабатывать, так и программа, которая определяет, как вести обработку.

Вот и выплыло слово, которого ты, наверно, долго ждал. Слово, которое неразрывно связано с появлением и существованием компьютера. Это слово «программа».

Программой называется запись алгоритма на языке, понятном исполнителю.

В этом определении несколько непонятных слов, поэтому поясним их.

Алгоритм – это описание последовательности действий, которые приводят к решению поставленной задачи.

А «исполнитель» – человек или устройство, которое должно выполнить программу.

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

Программы для компьютера пишут на специальных языках – языках программирования. Назовем некоторые из них: Фортран, Бейсик, Паскаль, Рапира, Си, Лого (Языки программирования.). В каждом из языков есть ограниченный набор слов и правил, с помощью которых можно писать тексты программ.

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

Состоит процессор из таких частей:

1. Регистры.

2. Арифметическо-логическое устройство (АЛУ).

3. Устройство управления (УУ).

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

Выполнение любой операции процессор начинает с вызова чисел из оперативной памяти в регистры.

Саму операцию выполняет арифметическо-логическое устройство. Название устройства подчеркивает, какие операции им выполняются. Что такое арифметическая операция, ты наверняка знаешь: это, например, сложение и вычитание.

Логической называется операция проверки какого-либо условия. Результат выполнения этой операции либо 0, либо 1, что означает: истинно условие или ложно. Например, условие А=В будет истинно, если А=3 и В=3, и ложно, если при том же значении А значение В будет равно 4. Такие операции тоже выполняет АЛУ.

Наконец, третья часть процессора – устройство управления. Там хранится адрес ячейки, откуда нужно получить очередную команду. Если нет специальных условий, то команды выполняются подряд: первая, вторая, третья и т. д. При этом адрес следующей команды, находящейся в устройстве управления, автоматически увеличивается на единицу.

Бывает, и довольно часто, что порядок выполнения команд нужно изменить. В этом случае адрес меняется скачком и выполняется команда, стоящая не после только что выполненной, а совсем в другой части программы.

Теперь посмотрим, как процессор выполняет программу.

Вспомним задачу про пионерский лагерь (Что такое информация.) и посмотрим, как бы решал ее компьютер.

Если обозначить число всех ребят, отдыхающих летом в пионерском лагере, буквой А, побывавших там в июне – В, в июле – С, в августе – X, то программа для решения задачи на некотором языке программирования может быть записана так:

Х = А – (В + С).

После того как программа будет введена в компьютер, транслятор преобразует ее, например, в такую последовательность команд (мы предполагаем, что у компьютера три регистра):

1. Поместить в регистр 1 число из ячейки памяти с адресом В.

2. Поместить в регистр 2 число из ячейки С.

3. Сложить содержимое регистров 1 и 2 и поместить результат в регистр 3.

4. Поместить в регистр 1 число из ячейки А.

5. Вычесть содержимое регистра 3 из регистра 1 и поместить результат в регистр 2.

6. Поместить в ячейку X число из регистра 2.

Вот такую программу может выполнить процессор.

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

На такие же простейшие команды разбивается любая самая сложная программа.

Комметирование закрыто now!