Можно сказать, что крохи-транзисторы (напомним, что их размер в современном процессоре в тысячу раз тоньше человеческого волоса) наделяют компьютер способностью «думать». Точнее – вычислять, производя определённые математические операции с числами, в которые преобразуется любая поступающая в компьютер информация. Однако это будет не совсем правильно: ведь сами транзисторы способны лишь работать переключателями, пропуская или задерживая бегущий по каналам процессора ток! Поэтому чтобы понять, как процессор может обрабатывать информацию, нам нужно будет познакомиться с основными логическими блоками.
С логической точки зрения процессор состоит из множества ячеек. Хранить такая ячейка может от 1 до 8 байт информации (комбинация из двух байтов иначе называется «машинным словом»). Впрочем, далеко не все регистры заняты обработкой данных: часть из них, так называемые «адресные» и «сегментные» регистры, занимаются «пропиской» данных в ячейках памяти, другие регистры отвечают за самодиагностику процессора… Словом, внутри каждого «камня» существует целый город, каждый житель которого чётко знает свои обязанности.
Вроде бы все понятно, однако пока что вы не получили ответа на главный вопрос: каким образом процессор взаимодействует с программной начинкой нашего компьютера? Для того чтобы объяснить это взаимодействие, попробуем представить себе компьютер в виде большой кухни, где есть повар, плита и продукты, из которых готовятся блюда. Задачи программы (которая в этой кухне работает поваром) – подготовить данные (продукты) для кулинарной обработки на плите-процессоре. Подобно тому, как повар шинкует и нарезает кубиками овощи, программа переводит данные на язык понятных процессору инструкций. Один большой процесс, будь то сложение двух чисел или воспроизведение музыкальной композиции, разбивается на множество кусочков-операций. На уровне процессора это выглядит просто: «считать информацию, проживающую в памяти по такому-то адресу, переместить её в такой-то регистр». Каждый кусочек информации проходит через своеобразный конвейер, где каждый «рабочий» выполняет только одну простую операцию. На выходе прошедшие через «кулинарную обработку» данные вновь передаются программе-повару которая умело сервирует всю эту стряпню и подаёт её на красивой тарелочке на ваш стол.
Со временем классические процессоры «приросли» дополнительными модулями: сегодня на процессорном кристалле помещаются и отдельный модуль для обработки графики (ещё пять лет назад эту работу выполняла отдельная видеоплата), и дополнительная память… Увеличилось и количество процессорных ядер – теперь на одном кристалле их расположено до нескольких десятков! И все равно один процессор, каким бы могучим он не был, с обработкой информации справиться не в состоянии: для этого ему нужно общаться со множеством других компьютерных устройств: жёстким диском, оперативной памятью и т. д. Для этого в компьютере существует специальная скоростная магистраль, по которой данные передаются к процессору и обратно – она называется «шиной». С её работой мы подробнее познакомимся в главе, посвященной системным платам.
Но все же, когда речь заходит о покупке нового компьютера, то первым делом мы смотрим именно на процессор: от его выбора зависит очень и очень многое! А выбор этот сделать порой не просто: сегодня на рынке можно найти десятки моделей процессоров. И у каждого из них есть свои особенности и отличия в скорости, архитектуре… И, конечно, в цене. Поэтому нам с вами просто необходимо понять, чем же отличаются друг от друга разные процессоры?
Начнём с