Центральный процессор: что за зверь такой?

Если девушка попросит настроить ей ноутбук? Боже упаси сказать ей, что в нем стоит процессор. Она же подумает, что ты ничего не знаешь в ноутбуках. Ведь процессор – это большая коробка, которая стоит под столом…

Народная мудрость

Каждый из нас активно пользуется компьютером или ноутбуком. Но многие ли из пользователей задумывались о том, как это происходит так, внутри? Кто такой процессор и как он работает? И правда ли, что это не та большая коробка, которая стоит под столом? Это я сейчас и расскажу вам.

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

Сердцем процессора является арифметико-логическое устройство (АЛУ). Его основное предназначение – производить арифметические (сложение, вычитание, умножение, деление), логические операции (логическое И, логическое ИЛИ, логическое НЕ) и сдвиговые операции.

Арифметико-логическое устройство работает последовательно: получил два числа на вход, сложил, отправил результат на выход, принял следующие два числа, перемножил их, отправил на выход и так до бесконечности. А что будет, если встроить процессору два «сердца»? Или даже 3-4? Смогут ли они работать одновременно? А почему бы и нет! Конечно, смогут! Так уже давно поступают многие производители. Вот сколько ядер у вашего процессора в рабочем компьютере? Два, четыре, а может даже и восемь? Количество ядер говорит о том, сколько АЛУ установлено в процессоре. Если у нас 4 ядра, значит, у нас есть 4 арифметико-логических устройств в процессоре, и они могут одновременно выполнять вычисления, каждый со своими входными данными и независимо друг от друга выдавать на выход результаты расчета.

Хочется еще остановиться на одной очень распространенной характеристике процессора – тактовой частоте. Мы встречаем надписи вроде этой: «Частота процессора 2,3 ГГц». Что же это значит? А значит это следующее. В каждом процессоре установлен тактовый генератор. Он формирует специальный сигнал, который называют синхронизирующим. Поскольку ЦП – многокомпонентная сложная структура, все его части нуждаются в едином управлении по времени. Этот синхросигнал как раз и предназначен для того, чтобы все составляющие блоки работали как единое целое. И частота, с которой данный генератор производит синхронизирующие сигналы, как раз является частотой процессора. Таким образом, 2,3 ГГц говорит нам о том, что в секунду посылается 2,3 млрд. синхронизирующих сигналов (вспомним школьный курс физики: частота – это величина обратная времени и показывает количество отсчетов в единицу времени). Время, проходящее между двумя соседними синхросигналами, называется тактом. Значит, чем выше частота, тем меньше длительность такта и тем быстрее выполнится команда.

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

mov esi, ebx

mul edx, ecx

Это похоже на какую-то непонятную шифровку, если вы никогда не работали с ассемблером. Но все на самом деле очень просто. Первая строка означает следующее: «Поместить значение (mov) из регистра ebx в регистр esi», а вторая означает «Перемножить значения (mul) в регистрах edx и ecx и результат поместить в регистр edx». Так что вот эти все сокращения обозначают просто имена регистров – регистров общего назначения (РОН). Таким образом, числа для операции считываются из регистров, затем производится сама операция и результат записывается обратно в один из регистров.

Здесь некоторые могут возмутиться: зачем нужны еще какие-то регистры (которых, к слову, совсем немного в процессоре), если у нас есть оперативная память? Разве ее недостаточно? Ответ однозначный: «Нет!» И, дабы окончательно смутить вопрошающих, добавим, что в процессоре есть еще одна разновидность памяти, называемая кэш. Более того, в современных процессорах ставится 3 уровня кэш-памяти (то есть по сути это еще 3 разных вида памяти)! А теперь пояснения: дело в том, что чем ближе к АЛУ размещается память, тем она быстрее. А чем она быстрее, тем дороже. Именно поэтому РОНов так мало, но они самые быстрые, разных уровней кэш-памяти больше, причем, чем больше номер уровня, тем больше памяти он включает и тем медленнее работает. В среднем, кэш-память работает в 20-50 раз медленнее регистровой памяти. Оперативная память проигрывает в скорости РОНам примерно в 1000 раз. Пока число попадет из оперативной памяти в процессор, он может успеть сделать больше количество вычислений. Но обращаем ваше внимание, что если РОН и кэш входят в состав процессора, то оперативная память живет своей отдельной жизнью.

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

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

Игорь Пацовский

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя mike

mul edx, ecx ... означает «Перемножить значения (mul) в регистрах edx и ecx и результат поместить в регистр edx».

В самом деле? :))

Аватар пользователя Al

Mike, ты ещё начни уточнять, о каком поколении процессоров идёт речь. ))) Я уж не стал писать о mul - не принципиально, это же не учебник по асму.

Аватар пользователя mike

о mul - не принципиально, это же не учебник по асму

Ну как же! Вот автор пишет: "В следующей части мы ... познакомимся ближе с процессорными командами и с тем, как процессор их выполняет." :)) Однако, ты прав. "Если девушка попросит настроить ей ноутбук", то и ей, и настройщику глубоко пофиг и процессорные команды, и то, как процессор их выполняет.

Может, завязать мне с начиткой лекций детишкам? Пусть ассемблер по статьям на «КВ» учат?

Если у нас 4 ядра, значит, у нас есть 4 арифметико-логических устройств в процессоре…

А как быть с двумя параллельными конвейерами, которые U- и V-pipes? Про двухоперандный mul уже написали.

Ошибки/опечатки просто убивают :(

Аватар пользователя mike

Вы можете представить подобную статью, нет, не хабре, она бы там и в песочницу не попала, а хотя бы ...ммм... на dev.by?

mike, камень в огород редакции? Дело в том, что dev.by - сайт только для программистов, там такая статья вряд ли нужна.

Аватар пользователя mike

Дело в том, что dev.by - сайт только для программистов...

Ну хорошо, а в "онлайнере" в разделе "технологии"? Или  в it.tut.by? (1k.by, 1024.by, 7digital.by, rnd2u.by, cit.org.by, byhelp.by, fly-net.by и т.д.) :))

Кстати, мои знакомые, не будучи программерами, читают dev.by, а не "Вести"...

Аватар пользователя Al

Зашёл на dev.by (до этого не заходил), посмотрел, почитал - неинтересно. Ну не моё. Почитал обсуждение статьи там - впечатление, что это сборище ламеров и дилетантов, мнящих себя гениями. Майк, серьёзно, старался быть беспристрастным.

Mike, чем больше Вы напишете хороших статей, тем больше их будет у нас на сайте.

Аватар пользователя mike

Чем больше Вы напишете хороших статей, тем больше их будет у нас на сайте.

Да, за мною должок. Увы, не пишется. Ну ничего не пишется! Даже хелп к софтине. После командировки слёг.

Страницы