Что такое CPU и для чего он нужен

С амой важной частью Вашего компьютера, если бы Вам пришлось выбирать только одну, был бы центральный процессор (CPU). Это «мозг», который обрабатывает инструкции, поступающие от программ, операционной системы и других компонентов Вашего ПК.
1 и 0
ЦП (CPU) — это чудо инженерной мысли, но в своей основе он по-прежнему опирается на базовую концепцию интерпретации двоичных сигналов (единицы и нули). Разница в том, что вместо чтения перфокарт или инструкций по обработке с помощью наборов электронных ламп современные процессоры используют крошечные транзисторы для создания видеороликов TikTok или заполнения чисел в электронной таблице.
Основы CPU

Производство процессоров — сложный процесс. Важным моментом является то, что в каждом ЦП есть кремний (один или несколько), на котором размещены миллиарды микроскопических транзисторов.
Как мы упоминали ранее, эти транзисторы используют серию электрических сигналов для представления двоичного кода машины, состоящего из единиц и нулей. Поскольку этих транзисторов очень много, процессоры могут выполнять все более сложные задачи с большей скоростью, чем раньше.
Количество транзисторов не обязательно означает, что процессор будет быстрее. Тем не менее, это все еще основная причина, по которой телефон, который Вы носите в кармане, обладает огромной вычислительной мощностью.
Давайте поговорим о том, как ЦП выполняет инструкции на основе машинного кода, называемого «набором команд». Процессоры разных компаний могут иметь разные наборы инструкций, но не всегда.
Например, большинство ПК с Windows и современные процессоры Mac используют набор инструкций x86-64, независимо от того, процессор от Intel или AMD. Однако компьютеры Mac, дебютирующие в конце 2020 года, будут иметь процессоры на базе ARM, которые используют другой набор инструкций. Также существует небольшое количество ПК с Windows 10, использующих процессоры ARM.
Ядра, кеши и графика

Приведенная выше диаграмма взята из опубликованного в 2014 году официального документа Intel об архитектуре процессора Core i7-4770S. Это просто пример того, как выглядит один процессор — другие процессоры имеют разную компоновку.
Мы видим, что это четырехъядерный процессор. Было время, когда у процессора было только одно ядро. Теперь, когда у нас несколько ядер, они обрабатывают инструкции намного быстрее. Ядра также могут иметь так называемую гиперпоточность или одновременную многопоточность (SMT), что делает одно ядро похожим на два для ПК. Как Вы понимаете, это помогает еще больше сократить время обработки.
Ядра на этой диаграмме совместно используют так называемый кэш L3. Это форма встроенной памяти внутри ЦП. ЦП также имеют кеши L1 и L2, содержащиеся в каждом ядре, а также регистры, которые являются формой низкоуровневой памяти. Если Вы хотите понять различия между регистрами, кешами и системной оперативной памятью, ознакомьтесь с этим ответом на StackExchange.
Показанный выше ЦП также содержит системный агент, контроллер памяти и другие части микросхемы, которые управляют входящей и исходящей информацией ЦП.
Наконец, есть встроенная графика процессора, которая генерирует все те замечательные визуальные элементы, которые Вы видите на своем экране. Не все процессоры содержат собственный графический адаптер. Например, процессорам AMD Zen для настольных ПК требуется дискретная видеокарта для отображения чего-либо на экране. Некоторые процессоры Intel Core для настольных ПК также не имеют встроенной графики.
ЦП на материнской плате

Теперь давайте посмотрим, как он интегрируется с остальной частью Вашего ПК. ЦП находится в так называемом сокете на материнской плате.
Как только он вставлен в разъем, другие части компьютера могут подключаться к процессору через так называемые «шины». ОЗУ, например, подключается к ЦП через свою собственную шину, в то время как многие компоненты ПК используют шину определенного типа, называемую «PCIe».
У каждого ЦП есть набор «линий PCIe», которые он может использовать. Например, процессоры AMD Zen 2 имеют 24 полосы, которые подключаются напрямую к процессору. Затем эти полосы делятся производителями материнских плат под руководством AMD.
Например, для слота видеокарты x16 обычно используется 16 полос. Есть четыре полосы для хранения, например одно быстрое устройство хранения, такое как M.2 SSD. Как вариант, эти четыре полосы также можно разделить. Две полосы можно использовать для SSD M.2 и две для более медленного диска SATA, такого как жесткий диск или 2,5-дюймовый SSD.
Это 20 полос, остальные четыре зарезервированы для набора микросхем, который является центром связи и контроллером трафика для материнской платы. В этом случае чипсет имеет собственный набор шинных соединений, что позволяет добавлять в ПК еще больше компонентов. Как и следовало ожидать, более высокопроизводительные компоненты имеют прямое соединение с ЦП.
Как видите, процессор выполняет большую часть обработки инструкций, а иногда даже графики. Однако процессор — не единственный способ обрабатывать инструкции. Другие компоненты, такие как видеокарта, имеют собственные встроенные возможности обработки. Графический процессор также использует свои собственные возможности обработки для работы с центральным процессором и запуска игр или выполнения других задач с интенсивным использованием графики.
Большая разница в том, что компонентные процессоры созданы с учетом конкретных задач. Однако ЦП — это универсальное устройство, способное выполнять любую вычислительную задачу, которую его просят. Вот почему центральный процессор безраздельно властвует в Вашем ПК, а вся остальная система полагается на его работу.
Что такое CPU в компьютере: анатомия вашего ПК простыми словами
![]()
CPU — это Central Processing Unit или «центральный блок обработки» ; если человеческим языком, то CPU — это центральный процессор какого-либо устройства. В любом современном вычислительном устройстве — смартфон, планшет, компьютер, телевизор, сервер и т. д. — есть свой центральный процессор, который несет ответственность за общую функциональность и правильную работоспособность устройства.
В широком понимани и C PU или процессор — это некий компонент небольших размеров какого-либо устройства, чьи функции заключаются в обработке логических и вычислительных операций, а также в управлении и контроле функциональности других компонентов устройства. Процессор — это мозг и сердце любого вычислительного устройства, поэтому считается самым важным компонентом всех вычислительных устройств.
Процессор — что это
Во всех устройствах разные процессоры, но если рассматривать компьютерный, т о в изуальн о п роцессор — это небольшой квадрат плоской формы со стороной около 5 см. С внутренней части процессора располага е тся множество коннекторов, при помощи которых он прикрепляется к материнской плате. От мощности CPU будет зависеть скорость обрабатывания инструкций и производительность других компонентов компьютера. К примеру, купив мощную видеокарту на свой компьютер, вы так и не увидите всю ее мощь из-за того , что у вашего компьютера слабый процессор.
Назначение процессора в компьютере
-
получение данных и з оперативной памяти и выполнение с ними нужных операций;
-
формирование сигналов и команд для управления внутренними компонентами или внешними устройствами, подключенными к компьютеру;
-
временное хранение в собственной памяти информации по проделанным операциям или отданным командам;
-
обработка запросов от внешних устройств или внутренних компонентов компьютера;
-
и др.
Из чего состоит процессор
-
Ядро процессора. Именно на него ложится основная масса всей функциональности процессора. Я дро занимается расшифровкой, чтением, выполнением и отправкой инструкции другим компонентам или, наоборот, от других компонентов. Ядро единовременно может исполнять только одну инструкцию, хоть и за сотые доли секунды. Поэтому если процессор компьютера состоит из одного ядра, то все команды компьютер будет выполнять последовательно и в порядке очереди. Сейчас редко когда встретишь одноядерные компьютеры, потому что они тяжело справляются с командами современного пользователя. Но вот процессор с 2, 3, 4 и более яд рами — это не редкость.
-
Устройство для запоминания. У каждого процессора есть собственная небольшая память, которая ему нужна для работы. Память в процессоре состоит из двух частей: одна часть нужна для «запоминания» текущих операций, а другая часть памяти — это к э ш, в котором хранятся часто выполняемые инструкции. Обращаться в собственный к э ш будет быстрее, чем обращаться к оперативной памяти компьютера, поэтому объем к э ш-памяти имеет влияние на скорость и работоспособность процессора.
-
Шины — это пути , по которым передаются команды внутри процессора.
Чем характеризуется процессор
-
Тактовая частота — это количество выполненных операций в единицу времени. Чем выше эта частотность, тем быстрее процессор «думает». Частота исчисляется в мегагерца х ( МГц) или гигагерца х ( ГГц).
-
Разрядность — это объем информации, который процессор может передать за один цикл ; измеряется в битах. Все мы слышали про 32-х и 64-х битные компьютеры — это оно самое.
Виды и производители процессоров
На самом деле , процессоров большое разнообразие, при то м ч то производителей процессоров можно посчитать на пальцах одной руки. Процессоры делают разными для разных устройств. Но даже если брать во внимание только одно устройство — компьютер, то и тут на с ждет большое многообразие от одноядерных процессоров «послабее» для офисной работы и до многоядерных процессоров, предназначенных для сложных научных расчетов.
Среди производителей процессоров для компьютеров и ноутбуков наиболее известны 2 производителя — это Intel и AMD. Основное отличие между процессорами этих компаний — это не количество ядер или производительность, а уникальная архитектура. То ест ь э ти компании разрабатывают процессоры по разным принципам, поэтому у процессоров обоих производителей есть свои плюсы и минусы, которые мы не будем сейчас обсуждать, потому что это тема отдельной статьи.
Для смартфонов и планшетов наиболее известными производителями процессоров являются NVIDIA, Qualcomm и Apple.
Заключение
Что такое ЦП в компьютере? Центральный процессор — это то, без чего компьютер не сможет работать. Самая простая операция на компьютере делается только с команды процессора и никак по-другому. Производительность компьютера напрямую зависит от производительности процессора, именно поэтому важно перед покупкой компьютера подбирать процессор, который будет справляться с вашими потребностями.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Как работает CPU: интерактивный урок для начинающих
Simple CPU — маленький урок, который знакомит новичка с ключевыми понятиями информатики. Хотя урок далеко не полный и предназначен для «самых маленьких», но даже образованному человеку приятно видеть, насколько доступно и элегантно можно изложить сложный материал.
Урок состоит из 8 интерактивных примеров.
2. Логические операции на примере штриха Шеффера (NAND gate).
Штрих Шеффера (NAND gate)
3. Триггер. Демонстрирует, как хранится информация в компьютере. Верхний переключатель изменяет значение бита, а нижний включает/отключает хранение.
D-триггер (триггер задержки)
Восемь триггеров сохраняют 1 байт информации.
4. Логические операции AND, OR, XOR. Щёлкая мышкой по входящим значениям, можно наглядно посмотреть, как они работают.
Что делать с числами, которые мы храним в памяти?
5. На схеме показано устройство под названием сумматор, которое складывает два бита. Если нужно сложить несколько бит, то последовательно используется несколько сумматоров: вход одного (carry in) подключается к выходу другого (carry out).
Опять же, это интерактивная схема.
Далее, как из калькулятора сделать компьютер?
С точки зрения CPU, программа не отличается от данных в том смысле, что здесь такой же двоичный код. Но он воспринимаются как инструкции. Например:
| Инструкция | Код |
| «Добавить одно число к другому» | 00000001 |
| «Вычесть одно число из другого» | 00000010 |
У каждого байта в памяти есть свой адрес, так что мы можем обратиться к CPU и попросить сделать что-то с конкретным байтом. Например, если нужно обратиться к ячейке памяти № 5, то мы указываем её адрес 00000101.
Таким образом, команда «Сложить число в ячейке памяти № 5 с числом в ячейке памяти № 7 транслируется в машинный код:
00000001 00000101 00000111
(сложить)(адрес № 5)(адрес № 7)
Здесь автор предлагает поиграться с простым эмулятором процессора, указывая инструкции в отдельных ячейках памяти. При этом инструкции меняют значение других ячеек, где тоже хранятся инструкции. Можно придумать забавные рекурсии. Компьютер понимает три инструкции: сложение, вычитание и перемещение данных из одной ячейки в другую.
# факты | Как работает процессор компьютера?
Вы читаете эти строки со смартфона, планшета или компьютера. Любое из этих устройств основано на микропроцессоре. Микропроцессор является «сердцем» любого компьютерного устройства. Существует много типов микропроцессоров, но все они решают одни и те же задачи. Сегодня мы поговорим о том, как процессор работает и какие задачи он выполняет. На первый взгляд все это представляется очевидным. Но очень многим пользователям было бы интересно углубить свои знания о важнейшем компоненте, обеспечивающем работу компьютера. Мы узнаем о том, как технология, основанная на простой цифровой логике, позволяет вашему компьютеру не только решать математические задачи, но и быть развлекательным центром. Как всего две цифры — единица и ноль — преобразуются в красочные игры и фильмы? Этот вопрос многие неоднократно задавали себе и будут рады получить на него ответ. Ведь даже в основе недавно рассмотренного нами процессора AMD Jaguar, на котором базируются новейшие игровые приставки, лежит та же древняя логика.

В англоязычной литературе микропроцессор часто называют CPU (central processing unit, [единым] модулем центрального процессора). Причина такого названия кроется в том, что современный процессор представляет собою единый чип. Первый микропроцессор в истории человечества был создан корпорацией Intel в далеком 1971 году.
Роль Intel в истории микропроцессорной индустрии

Первым микропроцессором для домашних компьютеров стал представленный в 1974 году Intel 8080. Вся вычислительная мощность 8-битного компьютера помещалась в одном чипе. Но по-настоящему большое значение имел анонс процессора Intel 8088. Он появился в 1979 году и с 1981 года стал использоваться в первых массовых персональных компьютерах IBM PC.
Далее процессоры начали развиваться и обрастать мощью. Каждый, кто хоть немного знаком с историей микропроцессорной индустрии, помнит, что на смену 8088 пришли 80286. Затем настал черед 80386, за которым следовали 80486. Потом были несколько поколений «Пентиумов»: Pentium, Pentium II, III и Pentium 4. Все это «интеловские» процессоры, основанные на базовой конструкции 8088. Они обладали обратной совместимостью. Это значит, что Pentium 4 мог обработать любой фрагмент кода для 8088, но делал это со скоростью, возросшей примерно в пять тысяч раз. С тех пор прошло не так много лет, но успели смениться еще несколько поколений микропроцессоров.

- Name (Название). Модель процессора
- Date (Дата). Год, в который процессор был впервые представлен. Многие процессоры представляли многократно, каждый раз, когда повышалась их тактовая частота. Таким образом, очередная модификация чипа могла быть повторно анонсирована даже через несколько лет после появления на рынке первой его версии
- Transistors (Количество транзисторов). Количество транзисторов в чипе. Вы можете видеть, что этот показатель неуклонно увеличивался
- Microns (Ширина в микронах). Один микрон равен одной миллионной доле метра. Величина этого показателя определяется толщиной самого тонкого провода в чипе. Для сравнения, толщина человеческого волоса составляет 100 микрон
- Clock speed (Тактовая частота). Максимальная скорость работы процессора
- Data Width. «Битность» арифметико-логического устройства процессора (АЛУ, ALU). 8-битное АЛУ может слагать, вычитать, умножать и выполнять иные действия над двумя 8-битными числами. 32-битное АЛУ может работать с 32-битными числами. Чтобы сложить два 32-битных числа, восьмибитному АЛУ необходимо выполнить четыре инструкции. 32-битное АЛУ справится с этой задачей за одну инструкцию. Во многих (но не во всех) случаях ширина внешней шины данных совпадает с «битностью» АЛУ. Процессор 8088 обладал 16-битным АЛУ, но 8-битной шиной. Для поздних «Пентиумов» была характерна ситуация, когда шина была уже 64-битной, а АЛУ по-прежнему оставалось 32-битным
- MIPS (Миллионов инструкций в секунду). Позволяет приблизительно оценить производительность процессора. Современные микропроцессоры выполняют настолько много разных задач, что этот показатель потерял свое первоначальное значение и может использоваться, в основном, для сравнения вычислительной мощности нескольких процессоров (как в данной таблице)
Существует непосредственная связь между тактовой частотой, а также количеством транзисторов и числом операций, выполняемых процессором за одну секунду. Например, тактовая частота процессора 8088 достигала 5 МГЦ, а производительность: всего 0,33 миллиона операций в секунду. То есть на выполнение одной инструкции требовалось порядка 15 тактов процессора. В 2004 году процессоры уже могли выполнять по две инструкции за один такт. Это улучшение было обеспечено увеличением количества процессоров в чипе.
Чип также называют интегральной микросхемой (или просто микросхемой). Чаще всего это маленькая и тонкая кремниевая пластинка, в которую «впечатаны» транзисторы. Чип, сторона которого достигает двух с половиной сантиметров, может содержать десятки миллионов транзисторов. Простейшие процессоры могут быть квадратиками со стороной всего в несколько миллиметров. И этого размера достаточно для нескольких тысяч транзисторов.
Логика микропроцессора

Микропроцессор способен выполнять определенный набор машинных инструкций (команд). Оперируя этими командами, процессор выполняет три основные задачи:
- C помощью своего арифметико-логического устройства, процессор выполняет математические действия: сложение, вычитание, умножение и деление. Современные микропроцессоры полностью поддерживают операции с плавающей точкой (с помощью специального арифметического процессора операций с плавающей точкой)
- Микропроцессор способен перемещать данные из одного типа памяти в другой
- Микропроцессор обладает способностью принимать решение и, на основании принятого им решения, «перепрыгивать», то есть переключаться на выполнение нового набора команд
- Address bus (адресную шину). Ширина этой шины может составлять 8, 16 или 32 бита. Она занимается отправкой адреса в память
- Data bus (шину данных): шириной 8, 16, 32 или 64 бита. Эта шина может отправлять данные в память или принимать их из памяти. Когда говорят о «битности» процессора, речь идет о ширине шины данных
- Каналы RD (read, чтения) и WR (write, записи), обеспечивающие взаимодействие с памятью
- Clock line (шина синхронизирующих импульсов), обеспечивающая такты процессора
- Reset line (шина стирания, шина сброса), обнуляющая значение счетчика команд и перезапускающая выполнение инструкций
Поскольку информация достаточно сложна, будем исходить из того, что ширина обеих шин — и адресной и шины данных — составляет всего 8 бит. И кратко рассмотрим компоненты этого сравнительно простого микропроцессора:
- Регистры A, B и C являются логическими микросхемами, используемыми для промежуточного хранения данных
- Address latch (защелка адреса) подобна регистрам A, B и C
- Счетчик команд является логической микросхемой (защелкой), способной приращивать значение на единицу за один шаг (если им получена соответствующая команда) и обнулять значение (при условии получения соответствующей команды)
- ALU (арифметико-логическое устройство) может осуществлять между 8-битными числами действия сложения, вычитания, умножения и деления или выступать в роли обычного сумматора
- Test register (тестовый регистр) является специальной защелкой, которая хранит результаты операций сравнения, производимых АЛУ. Обычно АЛУ сравнивает два числа и определяет, равны ли они или одно из них больше другого. Тестовый регистр способен также хранить бит переноса последнего действия сумматора. Он хранит эти значения в триггерной схеме. В дальнейшем эти значения могут использоваться дешифратором команд для принятия решений
- Шесть блоков на диаграмме отмечены, как «3-State». Это буферы сортировки. Множество источников вывода могут быть соединены с проводом, но буфер сортировки позволяет только одному из них (в один момент времени) передавать значение: «0» или «1». Таким образом буфер сортировки умеет пропускать значения или перекрывать источнику вывода возможность передавать данные
- Регистр команд (instruction register) и дешифратор команд (instruction decoder) держат все вышеперечисленные компоненты под контролем
На данной диаграмме не отображены линии управления дешифратора команд, которые можно выразить в виде следующих «приказов»:
- «Регистру A принять значение, поступающее в настоящий момент от шины данных»
- «Регистру B принять значение, поступающее в настоящий момент от шины данных»
- «Регистру C принять значение, поступающее в настоящий момент от арифметико-логического устройства»
- «Регистру счетчика команд принять значение, поступающее в настоящий момент от шины данных»
- «Адресному регистру принять значение, поступающее в настоящий момент от шины данных»
- «Регистру команд принять значение, поступающее в настоящий момент от шины данных»
- «Счетчику команд увеличить значение [на единицу]»
- «Счетчику команд обнулиться»
- «Активировать один из из шести буферов сортировки» (шесть отдельных линий управления)
- «Сообщить арифметико-логическому устройству, какую операцию ему выполнять»
- «Тестовому регистру принять тестовые биты из АЛУ»
- «Активировать RD (канал чтения)»
- «Активировать WR (канал записи)»
В дешифратор команд поступают биты данных из тестового регистра, канала синхронизации, а также из регистра команд. Если максимально упростить описание задач дешифратора инструкций, то можно сказать, что именно этот модуль «подсказывает» процессору, что необходимо сделать в данный момент.
Память микропроцессора

Выше мы писали о шинах (адресной и данных), а также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один момент времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативной памяти (начиная с адреса 128).
Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. То есть в данном случае возможно только чтение данных.
Из оперативной памяти процессор может не только считывать информацию, он способен также записывать в нее данные. В зависимости от того, чтение или запись осуществляется, сигнал поступает либо через канал чтения (RD), либо через канал записи (WR). К сожалению, оперативная память энергозависима. При отключении питания она теряет все размещенные в ней данные. По этой причине компьютеру необходимо энергонезависимое постоянное запоминающее устройство.
Более того, теоретически компьютер может обойтись и вовсе без оперативной памяти. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В персональных компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS.
Команды BIOS выполняют тестирование аппаратного обеспечения компьютера, а затем они обращаются к жесткому диску и выбирают загрузочный сектор. Этот загрузочный сектор является отдельной небольшой программой, которую BIOS сначала считывает с диска, а затем размещает в оперативной памяти. После этого микропроцессор начинает выполнять команды расположенного в ОЗУ загрузочного сектора. Программа загрузочного сектора сообщает микропроцессору о том, какие данные (предназначенные для последующего выполнения процессором) следует дополнительно переместить с жесткого диска в оперативную память. Именно так происходит процесс загрузки процессором операционной системы.
Инструкции микропроцессора

Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:
- LOADA mem — Загрузить (load) регистр A из некоторого адреса памяти
- LOADB mem — Загрузить (load) регистр B из некоторого адреса памяти
- CONB con — Загрузить постоянное значение (constant value) в регистр B
- SAVEB mem — Сохранить (save) значение регистра B в памяти по определенному адресу
- SAVEC mem — Сохранить (save) значение регистра C в памяти по определенному адресу
- ADD — Сложить (add) значения регистров A и B. Результат действия сохранить в регистре C
- SUB — Вычесть (subtract) значение регистра B из значения регистра A. Результат действия сохранить в регистре C
- MUL — Перемножить (multiply) значения регистров A и B. Результат действия сохранить в регистре C
- DIV — Разделить (divide) значение регистра A на значение регистра B. Результат действия сохранить в регистре C
- COM — Сравнить (compare) значения регистров A и B. Результат передать в тестовый регистр
- JUMP addr — Перепрыгнуть (jump) к указанному адресу
- JEQ addr — Если выполняется условие равенства значений двух регистров, перепрыгнуть (jump) к указанному адресу
- JNEQ addr — Если условие равенства значений двух регистров не выполняется, перепрыгнуть (jump) к указанному адресу
- JG addr — Если значение больше, перепрыгнуть (jump) к указанному адресу
- JGE addr — Если значение больше или равно, перепрыгнуть (jump) к указанному адресу
- JL addr — Если значение меньше, перепрыгнуть (jump) к указанному адресу
- JLE addr — Если значение меньше или равно, перепрыгнуть (jump) к указанному адресу
- STOP — Остановить (stop) выполнение
Английские слова, обозначающие выполняемые действия, в скобках приведены неспроста. Так мы можем видеть, что язык ассемблера (как и многие другие языки программирования) основан на английском языке, то есть на привычном средстве общения тех людей, которые создавали цифровые технологии.
Работа микропроцессора на примере вычисления факториала

факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120
На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:
Когда эта программа завершит свою работу, переменная f будет содержать значение факториала от пяти.
Компилятор C транслирует (то есть переводит) этот код в набор инструкций языка ассемблера. В рассматриваемом нами процессоре оперативная память начинается с адреса 128, а постоянная память (которая содержит язык ассемблера) начинается с адреса 0. Следовательно, на языке данного процессора эта программа будет выглядеть так:
// Предположим, что a по адресу 128// Предположим, что F по адресу 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // if a > 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP
Теперь возникает следующий вопрос: а как же все эти команды выглядят в постоянной памяти? Каждая из этих инструкций должна быть представлена в виде двоичного числа. Чтобы упростить понимание материала, предположим, что каждая из команд языка ассемблера рассматриваемого нами процессора имеет уникальный номер:
- LOADA — 1
- LOADB — 2
- CONB — 3
- SAVEB — 4
- SAVEC mem — 5
- ADD — 6
- SUB — 7
- MUL — 8
- DIV — 9
- COM — 10
- JUMP addr — 11
- JEQ addr — 12
- JNEQ addr — 13
- JG addr — 14
- JGE addr — 15
- JL addr — 16
- JLE addr — 17
- STOP — 18
Будем считать эти порядковые номера кодами машинных команд (opcodes). Их еще называют кодами операций. При таком допущении, наша небольшая программа в постоянной памяти будет представлена в таком виде:
// Предположим, что a по адресу 128// Предположим, что F по адресу 129Addr машинная команда/значение0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP
Как вы заметили, семь строчек кода на языке C были преобразованы в 18 строчек на языке ассемблера. Они заняли в ПЗУ 32 байта.
Декодирование

Дешифратор команд нужен для того, чтобы перевести каждый машинный код в набор сигналов, приводящих в действие различные компоненты микропроцессора. Если упростить суть его действий, то можно сказать, что именно он согласует «софт» и «железо».
Рассмотрим работу дешифратора команд на примере инструкции ADD, выполняющей действие сложения:
- В течение первого цикла тактовой частоты процессора происходит загрузка команды. На этом этапе дешифратору команд необходимо: активировать буфер сортировки для счетчика команд; активировать канал чтения (RD); активировать защелку буфера сортировки на пропуск входных данных в регистр команд
- В течение второго цикла тактовой частоты процессора команда ADD декодируется. На этом этапе арифметико-логическое устройство выполняет сложение и передает значение в регистр C
- В течение третьего цикла тактовой частоты процессора счетчик команд увеличивает свое значение на единицу (теоретически, это действие пересекается с происходившим во время второго цикла)
Каждая команда может быть представлена в виде набора последовательно выполняемых операций, которые в определенном порядке манипулируют компонентами микропроцессора. То есть программные инструкции ведут ко вполне физическим изменениям: например, изменению положения защелки. Некоторые инструкции могут потребовать на свое выполнение двух или трех тактовых циклов процессора. Другим может потребоваться даже пять или шесть циклов.
Микропроцессоры: производительность и тенденции

Многие транзисторы поддерживают технологию конвейеризации. В рамках конвейерной архитектуры происходит частичное наложение выполняемых инструкций друг на друга. Инструкция может требовать на свое выполнение все тех же пяти циклов, но если процессором одновременно обрабатываются пять команд (на разных этапах завершенности), то в среднем на выполнение одной инструкции потребуется один цикл тактовой частоты процессора.
Во многих современных процессорах дешифратор команд не один. И каждый из них поддерживает конвейеризацию. Это позволяет выполнять более одной инструкции за один такт процессора. Для реализации этой технологии требуется невероятное множество транзисторов.
64-битные процессоры
Основная причина, по которой процессорам нужна 64-битность, состоит в том, что данная архитектура расширяет адресное пространство. 32-битные процессоры могут получать доступ только к двум или четырем гигабайтам оперативной памяти. Когда-то эти цифры казались гигантскими, но миновали годы и сегодня такой памятью никого уже не удивишь. Несколько лет назад память обычного компьютера составляла 256 или 512 мегабайт. В те времена четырехгигабайтный лимит мешал только серверам и машинам, на которых работают большие базы данных.
Но очень быстро оказалось, что даже обычным пользователям порой не хватает ни двух, ни даже четырех гигабайт оперативной памяти. 64-битных процессоров это досадное ограничение не касается. Доступное им адресное пространство в наши дни кажется бесконечным: два в шестьдесят четвертой степени байт, то есть что-то около миллиарда гигабайт. В обозримом будущем столь гигантской оперативной памяти не предвидится.
64-битная адресная шина, а также широкие и высокоскоростные шины данных соответствующих материнских плат, позволяют 64-битным компьютерам увеличить скорость ввода и вывода данных в процессе взаимодействия с такими устройствами, как жесткий диск и видеокарта. Эти новые возможности значительно увеличивают производительность современных вычислительных машин.
Но далеко не все пользователи ощутят преимущества 64-битной архитектуры. Она необходима, прежде всего, тем, кто занимается редактированием видео и фотографий, а также работает с различными большими картинками. 64-битные компьютеры по достоинству оценены ценителями компьютерных игр. Но те пользователи, которые с помощью компьютера просто общаются в социальных сетях и бродят по веб-просторам да редактируют текстовые файлы никаких преимуществ этих процессоров, скорее всего, просто не почувствуют.