§ Процессор не умеет вычитать
Начну свой рассказ с самого простого, с самого начала. Что умеет делать процессор? Все начинается с того, что на самом деле, процессор даже не умеет вычитать. Он умеет складывать и больше ничего.
В первую очередь, он производит определенные расчеты. Во-вторую — общается с внешним миром через порты ввода и вывода. Процессор можно представить в виде черной микросхемы, куда подаются данные, где они перерабатываются, и получаются новые данные.
Сделаем самый простой процессор в мире. Он будет работать следующим образом — принимать на вход число, и выдавать на выход это число, увеличенное на единицу.
- Вход — число A
- Выход — число A + 1
Например, если подавать этому процессору число 4, то на выходе у него будет число 5. Процессор занимается обработкой данных, хоть эта обработка и крайне простая.
§ Общая схема любого процессора
Процессоры бывают самые разные, но у них всегда есть определенные блоки, которые есть почти у всех.
- Счетчик инструкции
- Регистры
- Арифметико-логическое устройство
Для начала, надо понять, что процессор не просто работает где-то в вакууме, где летают сферические кони, он исполняет определенные программы, которые записаны в памяти. В любой момент работы, процессор считывает из памяти информацию, или, наоборот, туда записывает. Если представить себе то, как работает процессор, для начала представим, как бы мы например шли в магазин за покупками.
Есть лист бумаги, где записана программа.
- Строка 1. Выйти из дома
- Строка 2. Пойти к магазину
- Строка 3. Набрать полную корзину продуктов
- Строка 4. Подойти к кассе
- Строка 5. Расплатиться
- Строка 6. Добежать до дома
В определенный момент времени мы находимся на каком-то определенном номере строки. Это и есть счетчик инструкции. То есть, когда программа начинается, то ее счетчик, например, равняется 1. Когда инструкция будет исполнена, то счетчик добавляет +1 и теперь он становится равным 2, потом 3, 4, 5, 6. То есть обычно счетчик увеличивается. Но это бывает не всегда так, иногда может происходить ветвление, и с инструкции например, 4 можно прыгнуть на инструкцию 3, например, подошел к кассе, а сникерса не оказалось, пошел опять набирать продукты, и снова подошел к кассе (инструкция номер 4).