Процессоры, ядра и потоки. Топология систем
В этой статье я попытаюсь описать терминологию, используемую для описания систем, способных исполнять несколько программ параллельно, то есть многоядерных, многопроцессорных, многопоточных. Разные виды параллелизма в ЦПУ IA-32 появлялись в разное время и в несколько непоследовательном порядке. Во всём этом довольно легко запутаться, особенно учитывая, что операционные системы заботливо прячут детали от не слишком искушённых прикладных программ.

Используемая далее терминология используется в документации процессорам Intel. Другие архитектуры могут иметь другие названия для похожих понятий. Там, где они мне известны, я буду их упоминать.
Цель статьи — показать, что при всём многообразии возможных конфигураций многопроцессорных, многоядерных и многопоточных систем для программ, исполняющихся на них, создаются возможности как для абстракции (игнорирования различий), так и для учёта специфики (возможность программно узнать конфигурацию).
Процессор
Конечно же, самый древний, чаще всего используемый и неоднозначный термин — это «процессор».
В современном мире процессор — это то (package), что мы покупаем в красивой Retail коробке или не очень красивом OEM-пакетике. Неделимая сущность, вставляемая в разъём (socket) на материнской плате. Даже если никакого разъёма нет и снять его нельзя, то есть если он намертво припаян, это один чип.

Мобильные системы (телефоны, планшеты, ноутбуки) и большинство десктопов имеют один процессор. Рабочие станции и сервера иногда могут похвастаться двумя или больше процессорами на одной материнской плате.
Поддержка нескольких центральных процессоров в одной системе требует многочисленных изменений в её дизайне. Как минимум, необходимо обеспечить их физическое подключение (предусмотреть несколько сокетов на материнской плате), решить вопросы идентификации процессоров (см. далее в этой статье, а также мою предыдущую заметку), согласования доступов к памяти и доставки прерываний (контроллер прерываний должен уметь маршрутизировать прерывания на несколько процессоров) и, конечно же, поддержки со стороны операционной системы. Я, к сожалению, не смог найти документального упоминания момента создания первой многопроцессорной системы на процессорах Intel, однако Википедия утверждает, что Sequent Computer Systems поставляла их уже в 1987 году, используя процессоры Intel 80386. Широко распространённой поддержка же нескольких чипов в одной системе становится доступной, начиная с Intel® Pentium.
Если процессоров несколько, то каждый из них имеет собственный разъём на плате. У каждого из них при этом имеются полные независимые копии всех ресурсов, таких как регистры, исполняющие устройства, кэши. Делят они общую память — RAM. Память может подключаться к ним различными и довольно нетривиальными способами, но это отдельная история, выходящая за рамки этой статьи. Важно то, что при любом раскладе для исполняемых программ должна создаваться иллюзия однородной общей памяти, доступной со всех входящих в систему процессоров.

К взлёту готов! Intel® Desktop Board D5400XS
Исторически многоядерность в Intel IA-32 появилась позже Intel® HyperThreading, однако в логической иерархии она идёт следующей.
Казалось бы, если в системе больше процессоров, то выше её производительность (на задачах, способных задействовать все ресурсы). Однако, если стоимость коммуникаций между ними слишком велика, то весь выигрыш от параллелизма убивается длительными задержками на передачу общих данных. Именно это наблюдается в многопроцессорных системах — как физически, так и логически они находятся очень далеко друг от друга. Для эффективной коммуникации в таких условиях приходится придумывать специализированные шины, такие как Intel® QuickPath Interconnect. Энергопотребление, размеры и цена конечного решения, конечно, от всего этого не понижаются. На помощь должна прийти высокая интеграция компонент — схемы, исполняющие части параллельной программы, надо подтащить поближе друг к другу, желательно на один кристалл. Другими словами, в одном процессоре следует организовать несколько ядер, во всём идентичных друг другу, но работающих независимо.
Первые многоядерные процессоры IA-32 от Intel были представлены в 2005 году. С тех пор среднее число ядер в серверных, десктопных, а ныне и мобильных платформах неуклонно растёт.
В отличие от двух одноядерных процессоров в одной системе, разделяющих только память, два ядра могут иметь также общие кэши и другие ресурсы, отвечающие за взаимодействие с памятью. Чаще всего кэши первого уровня остаются приватными (у каждого ядра свой), тогда как второй и третий уровень может быть как общим, так и раздельным. Такая организация системы позволяет сократить задержки доставки данных между соседними ядрами, особенно если они работают над общей задачей.

Микроснимок четырёхядерного процессора Intel с кодовым именем Nehalem. Выделены отдельные ядра, общий кэш третьего уровня, а также линки QPI к другим процессорам и общий контроллер памяти.
Гиперпоток
До примерно 2002 года единственный способ получить систему IA-32, способную параллельно исполнять две или более программы, состоял в использовании именно многопроцессорных систем. В Intel® Pentium® 4, а также линейке Xeon с кодовым именем Foster (Netburst) была представлена новая технология — гипертреды или гиперпотоки, — Intel® HyperThreading (далее HT).
Ничто не ново под луной. HT — это частный случай того, что в литературе именуется одновременной многопоточностью (simultaneous multithreading, SMT). В отличие от «настоящих» ядер, являющихся полными и независимыми копиями, в случае HT в одном процессоре дублируется лишь часть внутренних узлов, в первую очередь отвечающих за хранение архитектурного состояния — регистры. Исполнительные же узлы, ответственные за организацию и обработку данных, остаются в единственном числе, и в любой момент времени используются максимум одним из потоков. Как и ядра, гиперпотоки делят между собой кэши, однако начиная с какого уровня — это зависит от конкретной системы.
Я не буду пытаться объяснить все плюсы и минусы дизайнов с SMT вообще и с HT в частности. Интересующийся читатель может найти довольно подробное обсуждение технологии во многих источниках, и, конечно же, в Википедии. Однако отмечу следующий важный момент, объясняющий текущие ограничения на число гиперпотоков в реальной продукции.
Ограничения потоков
В каких случаях наличие «нечестной» многоядерности в виде HT оправдано? Если один поток приложения не в состоянии загрузить все исполняющие узлы внутри ядра, то их можно «одолжить» другому потоку. Это типично для приложений, имеющих «узкое место» не в вычислениях, а при доступе к данным, то есть часто генерирующих промахи кэша и вынужденных ожидать доставку данных из памяти. В это время ядро без HT будет вынуждено простаивать. Наличие же HT позволяет быстро переключить свободные исполняющие узлы к другому архитектурному состоянию (т.к. оно как раз дублируется) и исполнять его инструкции. Это — частный случай приёма под названием latency hiding, когда одна длительная операция, в течение которой полезные ресурсы простаивают, маскируется параллельным выполнением других задач. Если приложение уже имеет высокую степень утилизации ресурсов ядра, наличие гиперпотоков не позволит получить ускорение — здесь нужны «честные» ядра.
Типичные сценарии работы десктопных и серверных приложений, рассчитанных на машинные архитектуры общего назначения, имеют потенциал к параллелизму, реализуемому с помощью HT. Однако этот потенциал быстро «расходуется». Возможно, по этой причине почти на всех процессорах IA-32 число аппаратных гиперпотоков не превышает двух. На типичных сценариях выигрыш от использования трёх и более гиперпотоков был бы невелик, а вот проигрыш в размере кристалла, его энергопотреблении и стоимости значителен.
Другая ситуация наблюдается на типичных задачах, выполняемых на видеоускорителях. Поэтому для этих архитектур характерно использование техники SMT с бóльшим числом потоков. Так как сопроцессоры Intel® Xeon Phi (представленные в 2010 году) идеологически и генеалогически довольно близки к видеокартам, на них может быть четыре гиперпотока на каждом ядре — уникальная для IA-32 конфигурация.
Логический процессор
Из трёх описанных «уровней» параллелизма (процессоры, ядра, гиперпотоки) в конкретной системе могут отсутствовать некоторые или даже все. На это влияют настройки BIOS (многоядерность и многопоточность отключаются независимо), особенности микроархитектуры (например, HT отсутствовал в Intel® Core™ Duo, но был возвращён с выпуском Nehalem) и события при работе системы (многопроцессорные сервера могут выключать отказавшие процессоры в случае обнаружения неисправностей и продолжать «лететь» на оставшихся). Каким образом этот многоуровневый зоопарк параллелизма виден операционной системе и, в конечном счёте, прикладным приложениям?
Далее для удобства обозначим количества процессоров, ядер и потоков в некоторой системе тройкой (x, y, z), где x — это число процессоров, y — число ядер в каждом процессоре, а z — число гиперпотоков в каждом ядре. Далее я буду называть эту тройку топологией — устоявшийся термин, мало что имеющий с разделом математики. Произведение p = xyz определяет число сущностей, именуемых логическими процессорами системы. Оно определяет полное число независимых контекстов прикладных процессов в системе с общей памятью, исполняющихся параллельно, которые операционная система вынуждена учитывать. Я говорю «вынуждена», потому что она не может управлять порядком исполнения двух процессов, находящихся на различных логических процессорах. Это относится в том числе к гиперпотокам: хотя они и работают «последовательно» на одном ядре, конкретный порядок диктуется аппаратурой и недоступен для наблюдения или управления программам.
Чаще всего операционная система прячет от конечных приложений особенности физической топологии системы, на которой она запущена. Например, три следующие топологии: (2, 1, 1), (1, 2, 1) и (1, 1, 2) — ОС будет представлять в виде двух логических процессоров, хотя первая из них имеет два процессора, вторая — два ядра, а третья — всего лишь два потока.
Windows Task Manager показывает 8 логических процессоров; но сколько это в процессорах, ядрах и гиперпотоках?
Linux top показывает 4 логических процессора.
Это довольно удобно для создателей прикладных приложений — им не приходится иметь дело с зачастую несущественными для них особенностями аппаратуры.
Программное определение топологии
Конечно, абстрагирование топологии в единственное число логических процессоров в ряде случаев создаёт достаточно оснований для путаницы и недоразумений (в жарких Интернет-спорах). Вычислительные приложения, желающие выжать из железа максимум производительности, требуют детального контроля над тем, где будут размещены их потоки: поближе друг к другу на соседних гиперпотоках или же наоборот, подальше на разных процессорах. Скорость коммуникаций между логическими процессорами в составе одного ядра или процессора значительно выше, чем скорость передачи данных между процессорами. Возможность неоднородности в организации оперативной памяти также усложняет картину.
Информация о топологии системы в целом, а также положении каждого логического процессора в IA-32 доступна с помощью инструкции CPUID. С момента появления первых многопроцессорных систем схема идентификации логических процессоров несколько раз расширялась. К настоящему моменту её части содержатся в листах 1, 4 и 11 CPUID. Какой из листов следует смотреть, можно определить из следующей блок-схемы, взятой из статьи [2]:

Я не буду здесь утомлять всеми подробностями отдельных частей этого алгоритма. Если возникнет интерес, то этому можно посвятить следующую часть этой статьи. Отошлю интересующегося читателя к [2], в которой этот вопрос разбирается максимально подробно. Здесь же я сначала кратко опишу, что такое APIC и как он связан с топологией. Затем рассмотрим работу с листом 0xB (одиннадцать в десятичном счислении), который на настоящий момент является последним словом в «апикостроении».
APIC ID
Local APIC (advanced programmable interrupt controller) — это устройство (ныне входящее в состав процессора), отвечающее за работу с прерываниями, приходящими к конкретному логическому процессору. Свой собственный APIC есть у каждого логического процессора. И каждый из них в системе должен иметь уникальное значение APIC ID. Это число используется контроллерами прерываний для адресации при доставке сообщений, а всеми остальными (например, операционной системой) — для идентификации логических процессоров. Спецификация на этот контроллер прерываний эволюционировала, пройдя от микросхемы Intel 8259 PIC через Dual PIC, APIC и xAPIC к x2APIC .
В настоящий момент ширина числа, хранящегося в APIC ID, достигла полных 32 бит, хотя в прошлом оно было ограничено 16, а ещё раньше — только 8 битами. Нынче остатки старых дней раскиданы по всему CPUID, однако в CPUID.0xB.EDX[31:0] возвращаются все 32 бита APIC ID. На каждом логическом процессоре, независимо исполняющем инструкцию CPUID, возвращаться будет своё значение.
Выяснение родственных связей
Значение APIC ID само по себе ничего не говорит о топологии. Чтобы узнать, какие два логических процессора находятся внутри одного физического (т.е. являются «братьями» гипертредами), какие два — внутри одного процессора, а какие оказались и вовсе в разных процессорах, надо сравнить их значения APIC ID. В зависимости от степени родства некоторые их биты будут совпадать. Эта информация содержится в подлистьях CPUID.0xB, которые кодируются с помощью операнда в ECX. Каждый из них описывает положение битового поля одного из уровней топологии в EAX[5:0] (точнее, число бит, которые нужно сдвинуть в APIC ID вправо, чтобы убрать нижние уровни топологии), а также тип этого уровня — гиперпоток, ядро или процессор, — в ECX[15:8].

У логических процессоров, находящихся внутри одного ядра, будут совпадать все биты APIC ID, кроме принадлежащих полю SMT. Для логических процессоров, находящихся в одном процессоре, — все биты, кроме полей Core и SMT. Поскольку число подлистов у CPUID.0xB может расти, данная схема позволит поддержать описание топологий и с бóльшим числом уровней, если в будущем возникнет необходимость. Более того, можно будет ввести промежуточные уровни между уже существующими.
Важное следствие из организации данной схемы заключается в том, что в наборе всех APIC ID всех логических процессоров системы могут быть «дыры», т.е. они не будут идти последовательно. Например, во многоядерном процессоре с выключенным HT все APIC ID могут оказаться чётными, так как младший бит, отвечающий за кодирование номера гиперпотока, будет всегда нулевым.
Отмечу, что CPUID.0xB — не единственный источник информации о логических процессорах, доступный операционной системе. Список всех процессоров, доступный ей, вместе с их значениями APIC ID, кодируется в таблице MADT ACPI [3, 4].
Операционные системы и топология
Операционные системы предоставляют информацию о топологии логических процессоров приложениям с помощью своих собственных интерфейсов.
В Linux информация о топологии содержится в псевдофайле /proc/cpuinfo , а также выводе команды dmidecode . В примере ниже я фильтрую содержимое cpuinfo на некоторой четырёхядерной системе без HT, оставляя только записи, относящиеся к топологии:
В FreeBSD топология сообщается через механизм sysctl в переменной kern.sched.topology_spec в виде XML:
В MS Windows 8 сведения о топологии можно увидеть в диспетчере задач Task Manager.

Также их предоставляет консольная утилита Sysinternals Coreinfo и API вызов GetLogicalProcessorInformation.
Полная картина
Проиллюстрирую ещё раз отношения между понятиями «процессор», «ядро», «гиперпоток» и «логический процессор» на нескольких примерах.
Система (2, 2, 2)

Система (2, 4, 1)

Система (4, 1, 1)

Прочие вопросы
В этот раздел я вынес некоторые курьёзы, возникающие из-за многоуровневой организации логических процессоров.
Как я уже упоминал, кэши в процессоре тоже образуют иерархию, и она довольно сильно связано с топологией ядер, однако не определяется ей однозначно. Для определения того, какие кэши для каких логических процессоров общие, а какие нет, используется вывод CPUID.4 и её подлистов.
Лицензирование
Некоторые программные продукты поставляются числом лицензий, определяемых количеством процессоров в системе, на которой они будут использоваться. Другие — числом ядер в системе. Наконец, для определения числа лицензий число процессоров может умножаться на дробный «core factor», зависящий от типа процессора!
Виртуализация
Системы виртуализации, способные моделировать многоядерные системы, могут назначить виртуальным процессорам внутри машины произвольную топологию, не совпадающую с конфигурацией реальной аппаратуры. Так, внутри хозяйской системы (1, 2, 2) некоторые известные системы виртуализации по умолчанию выносят все логические процессоры на верхний уровень, т.е. создают конфигурацию (4, 1, 1). В сочетании с особенностями лицензирования, зависящими от топологии, это может порождать забавные эффекты.
За что отвечают ножки процессора
Почему у процессоров так много выводов (ножек, контактов)?
Почему у процессоров так много выводов (ножек, контактов)? В современных настольных процессорах их число доходит до тысячи или даже более. Ведь, например, в USB всего 4 контакта — так почему бы не сделать так же в процессоре (умножив на необъодимую пропускную скорость, но тогда вряд ли выйдет больше 100 выводов)?

Много ножек? Да, это проблема. Причем она носит философский характер.
Представьте, что вы начали что-то производить и наняли 10 человек. Но вас не устраивает производительность, потому что спрос на товар большой. Тогда вы строите завод и нанимаете 1000 человек! Но ведь хочется как-то "сократить" расходы на содержание этих 1000 человек. Им нужна столовая (ну, хотя бы на 500 мест, чтобы в две смены пообедать). В общем, это называется "накладные расходы".
И тут вам предлагают купить новые станки, заменяющие по 10 человек каждый. Вы берете эти станки, у вас всего 100 человек на заводе, есть свободные площади даже (столовая освободилась — не нужна, пусть едят на своем рабочем месте!).
А спрос на товар опять "и все еще" растет! И вы снова нанимаете 1000 человек, но уже на новых станках. А вам предлагают еще более новые станки .
С микропроцессорами тоже самое. Каждая ножка — это "ручеёк" информации. Чем больше выводов, тем полноводнее река информации, которая перерабатывается этим микропроцессором. Но, много ножек, это большой корпус (что неудобно для миниатюризации устройства) и снижение надежности (каждый контакт вносит свою лепту в ненадежность всего устройства в целом). Чтобы снизить число контактов, нужно, чтобы скорость вывода информации по каждому контакту была как можно выше. А она и так на пределе! И как только переходят на технологию более высокой скорости передачи информации по одному контакту, так сразу число контактов уменьшают. Но это ненадолго. Потому что пользователи требуют более высокой производительности от процессора и, чтобы удовлетворить такой спрос, опять увеличивают число контактов.
Вот там, где быстродействие не требуется, там стоят микропроцессоры с 8 контактами, а то и ещё меньше. А есть места, где быстродействия самого "многоконтактоного" процессора все равно не хватает. И тогда приходится ставить много таких процессоров, чтобы успевали перерабатывать огромный поток информации. Представляете, сколько "контактов" в компьютере, где стоят сотни таких процессоров?!
Как устроен процессор? Разбираемся вместе
В закладки

Современного потребителя электроники очень сложно удивить. Мы уже привыкли к тому, что наш карман законно занимает смартфон, в сумке лежит ноутбук, на руке послушно отсчитывают шаги «умные» часы, а слух ласкают наушники с активной системой шумоподавления.
Забавная штука, но мы привыкли носить с собой не один, а сразу два, три и более компьютеров. Ведь именно так можно назвать устройство, у которого есть процессор. И вовсе неважно, как выглядит конкретный девайс. За его работу отвечает миниатюрный чип, преодолевший бурный и стремительный путь развития.
Почему мы подняли тему процессоров? Все просто. За последние десять лет произошла настоящая революция в мире мобильных устройств.
Между этими устройствами всего 10 лет разницы. Но Nokia N95 тогда нам казалась космическим девайсом, а на ARKit сегодня мы смотрим с определенным недоверием

А ведь все могло бы сложиться иначе и потрепанный Pentium IV так бы и остался пределом мечтаний рядового покупателя.
Мы постарались обойтись без сложных технических терминов и рассказать, как работает процессор, и выяснить, за какой архитектурой будущее.
1. С чего все началось

Первые процессоры были абсолютно не похожи на то, что вы можете видеть, приоткрыв крышку системного блока вашего ПК.
Вместо микросхем в 40-е годы XX века использовались электромеханические реле, дополненные вакуумными лампами. Лампы выполняли роль диода, регулировать состояние которого можно было за счет понижения или повышения напряжения в цепи. Выглядели такие конструкции так:

Для работы одного исполинского компьютера нужны были сотни, иногда тысячи процессоров. Но, при этом, вы не смогли бы запустить на таком компьютере даже простенький редактор, как NotePad или TextEdit из штатного набора Windows и macOS. Компьютеру банально не хватило бы мощности.
2. Появление транзисторов

Первые полевые транзисторы появились еще в 1928 году. Но мир изменился лишь после появления так называемых биполярных транзисторов, открытых в 1947-м.
В конце 40-х физик-экспериментатор Уолтер Браттейн и теоретик Джон Бардин разработали первый точечный транзистор. В 1950 его заменил первый плоскостной транзистор, а в 1954 году небезызвестный производитель Texas Instruments анонсировал уже кремниевый транзистор.
Но настоящая революция наступила в 1959 году, когда ученый Жан Энри разработал первый кремниевый планарный (плоский) транзистор, который стал основой для монолитных интегральных схем.
Да, это немного сложно, поэтому давайте копнем немного глубже и разберемся с теоретической частью.
3. Как работает транзистор

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

Из школьного курса информатики вы, наверняка, помните, что компьютер «понимает» человеческий язык за счет комбинаций всего двух состояний: «включено» и «выключено». В понимании машины это состояние "0" или "1".
Задача компьютера заключается в том, чтобы представить электрический ток в виде чисел.
И если раньше задачу переключения состояний выполняли неповоротливые, громоздкие и малоэффективные электрические реле, то теперь эту рутинную работу взял на себя транзистор.
С начала 60-х транзисторы стали изготавливать из кремния, что позволило не только делать процессоры компактнее, но и существенно повысить их надежность.
Но сначала разберемся с диодом
Кремний (он же Si – "silicium" в таблице Менделеева) относится к категории полупроводников, а значит он, с одной стороны, пропускает ток лучше диэлектрика, с другой, – делает это хуже, чем металл.

Хочется нам того или нет, но для понимания работы и дальнейшей история развития процессоров придется окунуться в строение одного атома кремния. Не бойтесь, сделаем это кратко и очень понятно.
Задача транзистора заключается в усилении слабого сигнала за счет дополнительного источника питания.
У атома кремния есть четыре электрона, благодаря которым он образует связи (а если быть точным – ковалентные связи) с такими же близлежащими тремя атомами, формируя кристаллическую решетку. Пока большинство электронов находятся в связи, незначительная их часть способна двигаться через кристаллическую решетку. Именно из-за такого частичного перехода электронов кремний отнесли к полупроводникам.
Но столь слабое движение электронов не позволило бы использовать транзистор на практике, поэтому ученые решили повысить производительность транзисторов за счет легирования, а проще говоря – дополнения кристаллической решетки кремния атомами элементов с характерным размещением электронов.
Так стали использовать 5-валентную примесь фосфора, за счет чего получили транзисторы n-типа. Наличие дополнительного электрона позволило ускорить их движение, повысив пропуск тока.
При легировании транзисторов p-типа таким катализатором стал бор, в который входят три электрона. Из-за отсутствия одного электрона, в кристаллической решетке возникают дырки (выполняют роль положительного заряда), но за счет того, что электроны способны заполнять эти дырки, проводимость кремния повышается в разы.
Предположим, мы взяли кремниевую пластину и легировали одну ее часть при помощи примеси p-типа, а другую – при помощи n-типа. Так мы получили диод – базовый элемент транзистора.

Теперь электроны, находящиеся в n-части, будут стремится перейти в дырки, расположенные в p-части. При этом n-сторона будет иметь незначительный отрицательный, а p-сторона – положительный заряды. Образованное в результате этого «тяготения» электрическое поле –барьер, будет препятствовать дальнейшему перемещению электронов.
Если к диоду подключить источник питания таким образом, чтобы "–" касался p-стороны пластины, а "+" – n-стороны, протекание тока будет невозможно из-за того, что дырки притянутся в минусовому контакту источника питания, а электроны – к плюсовому, и связь между электронами p и n стороны будет утеряна за счет расширения объединенного слоя.

Но если подключить питание с достаточным напряжением наоборот, т.е. "+" от источника к p-стороне, а "–" – к n-стороне, размещенные на n-стороне электроны будут отталкиваться отрицательным полюсом и выталкиваться на p-сторону, занимая дырки в p-области.

Но теперь электроны притягивает к положительному полюсу источника питания и они продолжаются перемещаться по p-дыркам. Это явление назвали прямым смещением диода.
Диод + диод = транзистор
Сам по себе транзистор можно представить как два, состыкованных друг к другу диода. При этом p-область (та, где размещены дырки) у них становится общей и именуется «базой».
У N-P-N транзистора две n-области с дополнительными электронами – они же «эмиттер» и «коллектор» и одна, слабая область с дырками – p-область, именуемая «базой».

Если подключить источник питания (назовем его V1) к n-областям транзистора (независимо от полюса), один диод получит обратное смещение и транзистор будет находиться в закрытом состоянии.
Но, как только мы подключим еще один источник питания (назовем его V2), установив "+" контакт на «центральную» p-область (базу), а "–" контакт на n-область (эмиттер), часть электронов потечет по вновь образованной цепи (V2), а часть будет притягиваться положительной n-областью. В результате, электроны потекут в область коллектора, а слабый электрический ток будет усилен.
4. Так как все-таки работает компьютер?

Как автор данного материала, я хочу сразу извиниться за утомительное объяснение несколькими абзацами выше. Но именно понимание принципа работы транзистора даст вам понимание того, как работает компьютер.
А теперь самое главное.
В зависимости от подаваемого напряжения, транзистор может быть либо открыт, либо закрыт. Если напряжение недостаточное для преодоления потенциального барьера (того самого на стыке p и n пластин) – транзистор будет находится в закрытом состоянии – в состоянии «выключен» или, говоря языком двоичной системы – "0".
При достаточно напряжении транзистор открывается, а мы получаем значение «включен» или "1" в двоичной системе.
Такое состояние, 0 или 1, в компьютерной индустрии назвали «битом».
Т.е. мы получаем главное свойство того самого переключателя, который открыл человечеству путь к компьютерам!

В первом электронном цифровом вычислителе ЭНИАК, а проще говоря – первом компьютере, использовалось около 18 тысяч ламп-триодов. Размер компьютера был сопоставим с теннисным кортом, а его вес составлял 30 тонн.
Для понимания работы процессора нужно понять еще два ключевых момента.
Момент 1. Итак, мы определились с тем, что такое бит. Но с его помощью мы можем лишь получить две характеристики чего-либо: или «да» или «нет». Для того, чтобы компьютер научился понимать нас лучше, придумали комбинацию из 8 битов (0 или 1), которую прозвали байтом.
Используя байт можно закодировать число от нуля до 255. Используя эти 255 чисел – комбинаций нулей и единиц, можно закодировать все что угодно.
Момент 2. Наличие чисел и букв без какой-либо логики нам бы ничего не дало. Именно поэтому появилось понятие логических операторов.
Подключив всего два транзистора определенным образом, можно добиться выполнения сразу нескольких логических действий: «и», «или». Комбинация величины напряжения на каждом транзисторе и тип их подключения позволяет получить разные комбинации нулей и единиц.

Стараниями программистов значения нулей и единиц, двоичной системы, стали переводить в десятичную для того, чтобы мы могли понять, что именно «говорит» компьютер. А для ввода команд привычные нами действия, вроде ввода букв с клавиатуры, представлять в виде двоичной цепи команд.
Проще говоря, представьте, что есть таблица соответствия, скажем, ASCII, в которой каждой букве соответствует комбинация 0 и 1. Вы нажали кнопку на клавиатуре, и в этот момент на процессоре, благодаря программе, транзисторы переключились таким образом, чтобы на экране появилась та самая, написанная на клавише буква.
Это довольно примитивное объяснение принципа работы процессора и компьютера, но именно понимание этого позволяет нам двигаться дальше.
5. И началась транзисторная гонка

После того, как в 1952 году британский радиотехник Джеффри Дамер предложил размещать простейшие электронные компоненты в монолитном кристалле полупроводника, компьютерная индустрия сделал семимильный шаг вперед.
От интегральных схем, предложенных Дамером, инженеры быстро перешли на микрочипы, в основе которых использовались транзисторы. В свою очередь, нескольких таких чипов уже образовывали сам процессор.
Разумеется, что размеры таких процессоров мало чем схожи с современными. К тому же, вплоть до 1964 года у всех процессоров была одна проблема. Они требовали индивидуального подхода – свой язык программирования для каждого процессора.
А дальше началась гонка техпроцессов. Задачей чипмейкеров стало в производственных масштабах как можно плотнее разместить транзисторы друг возле друга, добившись уменьшенного технологического процесса.
- 1964 год IBM System/360. Компьютер, совместимый с универсальным программным кодом. Набор инструкций для одной модели процессора мог использоваться и для другой.
- 70-e годы. Появление первых микропроцессоров. Однокристальный процессор от Intel. Intel 4004 – 10 мкм ТП, 2 300 транзисторов, 740 КГц.
- 1973 год Intel 4040 и Intel 8008. 3 000 транзисторов, 740 КГц у Intel 4040 и 3 500 транзисторов при 500 кГц у Intel 8008.
- 1974 год Intel 8080. 6 мкм ТП и 6000 транзисторов. Тактовая частота около 5 000 кГц. Именно этот процессор использовался в компьютере Altair-8800. Отечетсвенная копия Intel 8080 – процессор КР580ВМ80А, разработанный Киевским НИИ микроприборов. 8 бит.
- 1976 год Intel 8080. 3 мкм ТП и 6500 транзисторов. Тактовая частота 6 МГц. 8 бит.
- 1976 год Zilog Z80. 3 мкм ТП и 8500 транзисторов. Тактовая частота до 8 МГц. 8 бит.
- 1978 год Intel 8086. 3 мкм ТП и 29 000 транзисторов. Тактовая частота около 25 МГц. Система команд x86, которая используется и сегодня. 16 бит.
- 1980 год Intel 80186. 3 мкм ТП и 134 000 транзисторов. Тактовая частота – до 25 МГц. 16 бит.
- 1982 год Intel 80286. 1,5 мкм ТП и 134 000 транзисторов. Частота – до 12,5 МГц. 16 бит.
- 1982 год Motorola 68000. 3 мкм и 84 000 транзисторов. Этот процессор использовался в компьютере Apple Lisa.
- 1985 год Intel 80386. 1,5 мкм тп и 275 000 транзисторов.Частота – до 33 МГц в версии 386SX.
Казалось бы, продолжать список можно было бы до бесконечности, но тут инженеры Intel столкнулись с серьезной проблемой.
6. Закон Мура или как чипмейкерам жить дальше

На дворе конец 80-х. Еще в начале 60-х один из основателей компании Intel Гордон Мур формулировал так называемый «Закон Мура». Звучит он так:
Каждые 24 месяца количество транзисторов, размещенных на кристалле интегральной схемы, удваивается.
Назвать этот закон законом сложно. Вернее будет окрестить его эмпирическим наблюдением. Сопоставив темпы развития технологий, Мур сделал вывод, что может сформироваться подобная тенденция.
Но уже во время разработки четвертого поколения процессоров Intel i486 инженеры столкнулись с тем, что уже достигли потолка производительности и больше не могут разместить большее количество процессоров на той же площади. На тот момент технологии не позволяли этого.
В качестве решения был найден вариант с использованием рядом дополнительных элементов:
- кэш-памяти;
- конвейера;
- встроенного сопроцессора;
- множителя.
Часть вычислительной нагрузки ложилась на плечи этих четырех узлов. В результате, появление кэш-памяти с одной стороны усложнило конструкцию процессора, с другой – он стал значительно мощнее.

Процессор Intel i486 состоял уже из 1,2 млн транзисторов, а максимальная частота его работы достигла 50 МГц.
В 1995 году к разработке присоединяется компания AMD и выпускает самый быстрый на тот момент i486-совместимый процессор Am5x86 на 32-битной архитектуре. Изготавливался он уже по 350 нанометровому техпроцессу, а количество установленных процессоров достигло 1,6 млн штук. Тактовая частота повысилась до 133 МГц.
Но гнаться за дальнейшим наращиванием количества установленных на кристалле процессоров и развитии уже утопической архитектуры CISC (Complex Instruction Set Computing) чипмейкеры не решились. Вместо этого американский инженер Дэвид Паттерсон предложил оптимизировать работу процессоров, оставив лишь самые необходимые вычислительные инструкции.
Так производители процессоров перешли на платформу RISC (Reduced Instruction Set Computing]. Но и этого оказалось мало.
В 1991 году выходит 64-битный процессор R4000, работающий на частоте 100 МГц. Через три года появляется процессор R8000, а еще через два года – R10000 с тактовой частотой вплоть до 195 МГц. Параллельно развивался рынок SPARC-процессоров, особенностью архитектуры которых стало отсутствие инструкций умножения и деления.

Вместо борьбы за количество транзисторов, производители чипов стали пересматривать архитектуру их работы. Отказ от «ненужных» команд, выполнение инструкций в один такт, наличие регистров общего значения и конвейеризация позволили оперативно наращивать тактовую частоту и мощность процессоров, не извращаясь с количеством транзисторов.
Вот лишь некоторые из появившихся с период с 1980 по 1995 год архитектур:
- SPARC;
- ARM;
- PowerPC;
- Intel P5;
- AMD K5;
- Intel P6.
В их основе лежала платформа RISC, а в некоторых случаях и частичное, совмещенное использование CISC-платформы. Но развитие технологий вновь подталкивало чипмейкеров продолжить наращивание процессоров.
В августе 1999 года на рынок выходе AMD K7 Athlon, изготовленный по 250 нанометровому техпроцессу и включающий 22 млн транзисторов. Позднее планку подняли до 38 млн процессоров. Потом до 250 млн.
Увеличивался технологический процессор, росла тактовая частота. Но, как гласит физика, всему есть предел.
7. Конец транзисторных соревнований близко
В 2007 году Гордон Мур выступил с весьма резким заявлением:
Закон Мура скоро перестанет действовать. Устанавливать неограниченное количество процессоров до бесконечности невозможно. Причина тому — атомарная природа вещества.
Невооруженным глазом заметно, что два ведущих производителям чипов AMD и Intel последние несколько лет явно замедлили темпы развития процессоров. Точность технологического процесса выросла всего до нескольких нанометров, но размещать еще больше процессоров невозможно.
И пока производители полупроводников грозятся запустить многослойные транзисторы, проводя параллель с 3DNand памятью, у упершейся в стену архитектуры x86 еще 30 лет назад появился серьезный конкурент.
8. Что ждет «обычные» процессоры

«Закон Мура» признан недействительным еще с 2016 года. Об этом официально заявил крупнейший производитель процессоров Intel. Удваивать вычислительную мощность на 100% каждые два года чипмейкеры больше не состоянии.
И теперь у производителей процессоров есть несколько малоперспективных вариантов.
Первый вариант – квантовые компьютеры. Попытки построить компьютер, который использует для представления информации частицы, уже были. В мире существует несколько подобных квантовых устройств, но они способны справляться лишь с алгоритмами небольшой сложности.
К тому же, о серийном запуске подобных устройств в ближайшие десятилетия не может идти и речи. Дорого, неэффективно и… медленно!
Да, квантовые компьютеры потребляют намного меньше энергии, чем их современные коллеги, но при этом работать они будут медленнее до тех пор, пока разработчики и производители комплектующих не перейдут на новую технологию.
Второй вариант – процессоры со слоями транзисторов. О данной технологии всерьез задумались и в Intel, и в AMD. Вместо одного слоя транзисторов планируют использовать несколько. Похоже, что в ближайшие годы вполне могут появится процессоры, в которых будут важны не только количество ядер и тактовая частота, но и количество транзисторных слоев.
Решение вполне имеет право на жизнь, и таким образом монополистам удастся доить потребителя еще пару десятков лет, но, в конце концов, технология опять-таки упрется в потолок.
Сегодня же, понимая стремительное развитие ARM-архитектуры, Intel провела негромкий анонс чипов семейства Ice Lake. Процессоры будут изготавливаться по 10-нанометровому технологическому процессу и станут основой для смартфонов, планшетов и мобильных устройств. Но произойдет это в 2019 году.
9. Будущее за ARM

Итак, архитектура x86 появилась в 1978 году и относится к типу платформы CISC. Т.е. сама по себе она предполагает наличие инструкций на все случаи жизни. Универсальность – главный конек x86.
Но, в тоже время, универсальность сыграла с этими процессорами и злую шутку. У x86 есть несколько ключевых недостатков:
- сложность команд и откровенная их запутанность;
- высокое потребление энергии и выделение теплоты.
За высокую производительность пришлось попрощаться с энергоэффективностью. Более того, над архитектурой x86 сейчас трудятся две компании, которых можно смело отнести к монополистам. Это Intel и AMD. Производить x86-процессоры могут только они, а значит и правят развитием технологий только они.
В тоже время разработкой ARM (Arcon Risk Machine) занимаются сразу несколько компания. Еще в 1985 году в качестве основы для дальнейшего развития архитектуры разработчики выбрали платформу RISC.
В отличие от CISC, RISC предполагает разработку процессора с минимально необходимым количеством команд, но максимальной оптимизацией. Процессоры RISC намного меньше CISC, более энергоэффективны и просты.
Более того, ARM изначально создавался исключительно как конкурент x86. Разработчики ставили задачу построить архитектуру, более эффективную чем x86.

Еще с 40-х годов инженеры понимали, что одной из приоритетных задач остается работа над уменьшением габаритов компьютеров, а, в первую очередь — самих процессоров. Но вряд ли почти 80 лет назад кто-либо мог предположить, что полноценный компьютер будет меньше спичечного коробка.
Архитектуру ARM в свое время поддержала компания Apple, запустив производство планшетов Newton на базе семейства ARM-процессоров ARM6.
Продажи стационарных компьютеров стремительно падают, в то время как количество ежегодно реализуемых мобильных устройств уже исчисляется миллиардами. Зачастую, помимо производительности, при выборе электронного гаджета пользователя интересуют еще несколько критериев:
- мобильность;
- автономность.
x86 архитектура сильна в производительности, но стоит вам отказаться от активного охлаждения, как мощный процессор покажется жалким на фоне архитектуры ARM.
10. Почему ARM – неоспоримый лидер
Вряд ли вы будете удивлены, что ваш смартфон, будь то простенький Android или флагман Apple 2016 года в десятки раз мощнее полноценных компьютеров эпохи конца 90-х.
Но во сколько мощнее тот же айфон?
Само по себе сравнение двух разных архитектур – штука очень сложная. Замеры здесь можно выполнить лишь приблизительно, но понять то колоссальное преимущество, что дает построенные на ARM-архитектуре процессоры смартфона, можно.
Универсальный помощник в таком вопросе – искусственный тест производительности Geekbench. Утилита доступна как на стационарных компьютерах, так и на Android и iOS платформах.

Средний и начальный класс ноутбуков явно отстает от производительности iPhone 7. В топовом сегменте все немного сложнее, но в 2017 году Apple выпускает iPhone X на новом чипе A11 Bionic.
Там, уже знакомая вам архитектура ARM, но показатели в Geekbench выросли почти вдвое. Ноутбуки из «высшего эшелона» напряглись.

А ведь прошел всего один год.
Развитие ARM идет семимильными шагами. Пока Intel и AMD год за годом демонстрируют 5 – 10% прирост производительности, за тот же период производители смартфонов умудряются повысить мощность процессоров в два – два с половиной раза.
Скептически настроенным пользователям, которые пройдутся по топовым строчкам Geekbench лишь хочется напомнить: в мобильных технологиях размер – это то, что прежде всего имеет значение.
Установите на стол моноблок с мощным 18-ядерный процессором, который «в клочья разрывает ARM-архитектуру», а затем положите рядом iPhone. Чувствуете разницу?
11. Вместо вывода

Объять 80-летнюю историю развития компьютеров в одном материале невозможно. Но, прочитав данную статью, вы сможете понять как устроен главный элемент любого компьютера – процессор, и чего стоит ждать от рынка в последующие годы.
Безусловно, Intel и AMD буду работать над дальнейшим наращиванием количества транзисторов на одном кристалле и продвигать идею многослойных элементов.
Но нужна ли вам как покупателю такая мощность?
Вряд ли вас не устраивает производительность iPad Pro или флагманского iPhone X. Не думаю, что вы недовольны производительностью расположившейся на кухне мультиварки или качеством картинки на 65-дюймовом 4K-телевизоре. А ведь во всех этих устройствах используются процессоры на ARM-архитектуре.
Windows уже официально заявила, что с интересом смотрит в сторону ARM. Поддержку этой архитектуры компания включила еще в Windows 8.1, а ныне активно работает над тандемом с ведущим ARM-чипмейкером Qualcomm.
На ARM успела посмотреть и Google – операционная система Chrome OS поддерживает эту архитектуру. Появились сразу несколько дистрибутивов Linux, которые также совместимы с данной архитектурой. И это только начало.
И лишь попробуйте на минутку представить, каким приятным будет сочетание энергоэффективного ARM-процессора с графеновым аккумулятором. Именно эта архитектура позволит получить мобильные эргономичные гаджеты, которые смогут диктовать будущее.
В закладки
Восстановление процессора AMD
Дело было вечером, делать было нечего. Валялся давненько у меня процессор AMD Phenom II X3 710 с сильно погнутыми ножками по краям и немного в середине. Ну и от нечего делать я решил его восстановить. Ну что, приступим!
Первоначально надо было выправить все сильно загнутые ножки, это очень удобно делать обрезанными иглами от шприцов:


К сожалению не снял состояние процессора до манипуляций, но вот фото после правки иголкой:

Уже выглядит обнадёживающе. Ножки-то я выпрямил, но они всё ещё довольно кривые что бы процессор вставал в сокет. Тут нам помогут зубной зонд и верхняя пластиковая часть от сокета.
Проводим зубным зондом между ножек процессора, он проходит между ними идеально не задевая ровные ножки и выпрямляя гнутые:

Попутно правим всё той же иголкой совсем кривые ножки. После каждой такой процедуры нужно накидывать на проц верхнюю часть сокета и смотреть где ножки не попадают в отверстия. В итоге после 10-15 минут мучений проц с лёгким усилием залез в кусок сокета:

Проводим зондом с обратной стороны по всем направлениям что бы окончательно выравнять ножки:

И казалось бы всё, можно вставлять и пользоваться. Но нет. На проце отсутствуют 3 ножки.
Сделал визуализацию pinout что бы было понятнее:

Красным выделены контакты NC, тобишь они никак не задействованы в работе процессора.
Зелёным же я выделил ножку которая именуется как VDDA, не буду подробно описывать что это, скажу только что эта ножка отвечает за питание внутренних частей CPU, но как можно видеть по pinout эта ножка дублируется ещё два раза, так что в принципе её не обязательно восстанавливать, процессор и без неё в теории должен работать. Но мне же нечего делать, я восстановлю
Сдёргиваем ножку с донорского CPU:

«Заряжаем» её в уже знакомую иголку:

Ну и припаиваем:

Всё, процессор готов.

Жаль в текущий момент нету матери что бы проверить, но что-то мне подсказывает что он должен работать.
PS:много раз восстанавливал подобным методом погнутые и отломанные ножки. Надеюсь было интересно и полезно

6.7K пост 38.8K подписчиков
Правила сообщества
ЕСЛИ НЕ ХОТИТЕ, ЧТОБЫ ВАС ЗАМИНУСИЛИ НЕ ПУБЛИКУЙТЕ В ЭТОМ СООБЩЕСТВЕ ПРОСЬБЫ О ПОМОЩИ В РЕМОНТЕ, ДЛЯ ЭТОГО ЕСТЬ ВТОРОЕ СООБЩЕСТВО:
Посты с просьбами о помощи в ремонте создаются в дочернем сообществе: https://pikabu.ru/community/HelpRemont
К публикации допускаются только тематические статьи с тегом «Ремонт техники».
В сообществе строго запрещено и карается баном всего две вещи:
В остальном действуют базовые правила Пикабу.
есть старый паровозный двигатель, возьмётесь?
хорошо у вас не такой друг

Спасибо,очень помог ваш совет — «ну,и припаиваем»..
Хехе. был я мелок и туп, а комп был подубитый и частенько не запускался, постоянно что-то отказывало, но после разборки\осмотра\продувки запускалось. Есесно, про «выяснить в чем проблема конкретно и устранить» речи не шло) И вот как-то в очередной раз я снял проц и бл. ск. ебт. уронил его. Трясущимися руками поднял с пола, а там несколько ног гнутые. Весь в поту и с выпрыгивающим из груди сердцем я в течении пары часов аккуратно, по одной выпрямлял их до нормального состояния, но одна, сволочь такая, была совсем плоха и во время разгибания оторвалась под корень. Вместе с этой ногой оборвалась и моя мечта и дальше играть в игры на этом драндулете. Было больно, страшно, обидно и жалко. Вот тогда, решив что терять уже нечего, я взял кусачки, откусил кусок от канцелярской скрепки и загнал этот обрезок в отверстие под недостающей ногой, сверху прижал процом, собрал, нажимаю на кнопку И ЗАРАБОТАЛО!! Тогда я наверное впервые и узнал, что такое настоящий оргазм после дооолгой е*ли)
З.Ы. Работало еще долго и весьма успешно, около года, до появления нового компа.
"Проводим зубным зондом между ножек процессора"
Чувствую мне пора на свидание, я увидел тут пошлость)))
Я канцелярским ножом данную операцию провожу. Если ножкам кирдык, у меня трупы есть.
Первый AM4 проц распаян на донора. Затем пришел второй без ноги в центре. У AM4 ноги меньше и ближе, вывод на контакт совсем мелкий и хрупкий.



могу отдать за скольконежалко
Мат. плата — ASRock M3A785GMH/128M
Проц — AMD Phenom II X2 550
но что-то из этого не фурычит
валяется без дела
Лет 15 назад работал в небольшом магазине/сервисе продаваном и криворуко уровнил какой-то проц на 478 сокете.Чуть удар не хватил,проц стоил больше,чем мне платили в месяц. Но выправил вот так же,иголочкой.
Вопрос: можно для донорства выпаивать неиспользуемые ножки?
наркоманы вы там все, шо ли?
Здравствуйте! пост старый но я попробую, сломалась ножка на AM4. Посмотрел на распиновке, получается MB_ZVSS. Поискал что это, похоже на МозерБорд_ЗероВолтаджСаплайСервис(но я не уверен) т.е. это ноль/земля от питания чего то там с материнкой связанное. Возможно ли что будет работать без него?

Вот как ноги в сокете восстановить? Валяются без дела пара испорченых матерей дорогущих на 1151 и в каждой замято по паре ног. Попытка выпрямить приводит тупо к слому, т.к. метал очень тонкий.
О, я тоже в Сапёра играть люблю
интересно зачем, он 3.5 бакса стоит, и уже устарел совсем
Автор ничего полезного не показал, к тому же не факт что после всего этот проц заработает.
Блин, я всё понимаю. Но какой смысл такого «восстановления», если ты его не запустил?
Я так могу труп ёжика «восстановить». Жаль, не оживёт.
Вот никогда тут никого не критикую, но раз уж ты позволяешь себе так активно яростно гореть и выискивать косяки в моей работе — то держи рецензию на свою.
1. То что ты тут понаделал, это никакое не "восстановление процессора". Это просто полная неквалифицированная хуйня, сколхоженая абы как. Понапаял поялнычком ты 1000% холодную пайку (почитай чё оно такое), которая с гарантией отвалится. А если ты это говно еще и продал (хоть за 10 рублей, не важно) — ты мошенник.
2. Почему ты рукажопый дилетант? Потому что у тебя есть фен и ты мог сделать эту простую работу НОРМАЛЬНО. Но не стал. Вот поэтому.
3. Критиковать можно только когда САМ умеешь делать то же самое лучше. Поэтому я тебя имею право критиковать — я делал лучше то же самое. И не раз. И знаю как делать это "лучше" правильно.
Тебе меня критиковать пока еще рановато, сынок. Но ты конечно можешь.
4. Мастер никогда не ищет косяки у других. Чужая работа его не касается до тех пор, пока не мешает. И это вторая причина почему ты криворукий дилетант.
5. Зависть — это добровольное признание себя дерьмом. Помни этот постулат всегда когда хочется кого-то обосрать.
Загадка тысячелетия: чей же сокет практичнее, Intel или Amd? Что обычно дороже: поменять мать или камень? Я до сих пор не могу найти ответ. Казалось бы, на амудешном камне ножки хоть и погнешь, но выравнять или припаять можно, а на интеловской матери выравнять ещё кое как можно, но припаять, по-моему, уже фиг. С другой стороны в интеловский сокет нужно потрудится, чтобы вставить проц не той стороной ибо ограничители и ножки гнутся в основном при транспортировке и неправильном обращении с доской без процессора. А в Амд аж бегом можно не попасть. Где же истина?

Компьютерная ретроспектива
Привет Пикабу! В комментариях попросили сделать развернутый пост, ну что же, давайте вернемся туда где всё начиналось. Туда, где все эти сокеты, процессоры и видеокарты только зарождались и посмотрим, что изменилось за эти несколько десятилетий.
Socket 1
Начнем с разъема для процессора. Самое сложное здесь провести красную черту. Формально самым-самым первым сокетом можно назвать DIP, или по-русски двухрядный корпус.

Два ряда отверстий прямо в плате, куда втыкался процессор, и в случае с x86-решениями впервые использовался еще в 70-ых, с такими легендарными процессорами как Intel 8086 и 8088.

Но это что-то совсем древнее и вообще не похоже на современный сокет, пропускаем. Начало 80-ых, двух рядов уже не хватает – появляется PLCC, или пластиковый держатель чипа. Теперь контакты были со всех четырех сторон, но все еще на современные сокеты он походит лишь отдаленно.

Какое же крепление процессора на плате можно назвать первым сокетом? PGA 169. Да, существовал PGA 168, который неформально называют Socket 0.

Он поддерживал ранние Intel 486-ые и был достаточно быстро заменен уже официальным Socket 1, который прибавил ровно одну контактную ножку – что-то забыли, ДА, идея быстрой смены сокета у Intel это по канону. Так что именно Socket 1 логично считать первым сокетом. И по современным меркам он поддерживался довольно долго, аж 5 лет, с 1989 по 1994 год, на нем работали множество процессоров вплоть до топовых Intel 486DX4, а также клонов от AMD и Сайрикс.

Это была паразитическая гармония, у процессоров Intel и AMD были общие платы, и «красные» занимались по сути копированием процессоров «синих». К слову, и внешне большой разницы Socket 1 с тем же AMD AM4 почти нет – конечно, возросло число контактов, но основная идея крепления за 30 лет не поменялась.

И да, тогда процессоры от Intel не были бракованными и тоже имели ножки.

Материнские платы под Socket 1
Но как выглядели платы с таким разъёмом для процессора? Абсолютно не так, как мы привыкли. Это такой ардуино на максималках.

Более-менее привычный нам сейчас вид с процессором в центре, слотами ОЗУ и модулями расширения снизу стали получать лишь на Socket 370 в конце 90-ых, когда ПК стали достаточно массовыми и на рынке уже присутствовали крупные игроки, такие как ASUS, вынужденные договариваться о стандартизации. Производители более ранних плат размещали процессор и ОЗУ так, как было удобно с точки зрения компоновки и производства.

В платах с Socket 1 из начала 90-ых вы не найдете привычной 24-pin колодки питания. Того коннектора, который легко подключить, но очень сложно потом выдрать, появился он лишь в 1995 году с принятием стандарта ATX, и то в форме 20-pin . И это важная точка отсечения: к платам из 1995 года современные БП подключить можно, а к более старым – без танцев с бубном уже нет.Также на плате не было разъема для подключения питания процессора. 486-ые потребляли десяток ватт, поэтому и не требовали дополнительной запитки.

Также на плате не было разъема для подключения питания процессора. 486-ые потребляли десяток ватт, поэтому и не требовали дополнительной запитки.
А вместо привычной нам батарейки BIOS стоял небольшой бочонок. От долгого неиспользования такие никель-кадмиевые батарейки могли подтекать, что только усложняло задачу восстановления работоспособности плат. Также у плат тогда было очень мало выходов – нередко один-единственный AT-порт для подключения клавиатуры (мышь тогда была не обязательным атрибутом).

Никаких вам USB и даже LPT с COM – тогда использовался несколько другой подход: минимум всего на плате, зато максимум слотов для подключения – это позволяло здорово сэкономить, так как нередко хорошая звуковая карта стоила как весь ПК. А вместо PCI Express тогда использовалась его бабуля, шина ISA, которая в максимуме выдавала умопомрачительные 4 мбайта/с.

И вот именно в слоты ISA можно было пихать все что душе угодно. Звуковые карты, сетевухи, дисководы для дискет и конечно же видеокарту. По этой причине ISA-слотов на материнской плате было много, нередко по 6-7 штук, чтобы была возможность разместить всю необходимую периферию.

Да, сейчас таким количеством PCI может похвастаться разве что серверная плата, или майнерские никому не нужные франкенштейны.
Процессоры Intel 486
Платы с тех пор изменились сильно. А что насчет процессоров? Тут как посмотреть – если снизу, то 486й Intel слабо отличается даже от современных Ryzen – ну разве что ножек стало на порядок больше.

А вот вид сверху поменялся значительно – все современные процессоры имеют медные крышки, а вот решения из 90-ых обычно было керамическими. Причина тут лежит на поверхности: это сейчас процессоры требуют серьезного охлаждения, тогда же нередко хватало обычного радиатора. Собственно, именно поэтому на платах и не было отверстий для крепления кулеров – они если и использовались, то были максимально простыми и легкими, и просто приклеивались на керамику.

Из интересного стоит отметить, что тогда кэш второго уровня находился на самой плате, а максимальная частота процессоров 486-ой серии не превышала сотню мегагерц. Зато у них уже был встроенный математический сопроцессор, он же FPU – предшественники в лице 386-ых были без него. Также можно прикинуть рост производительности за 30 лет. Например, 50-мгц 486DX2 имел производительность около 0.05 ГФЛОПС, а народный Ryzen 5 3600 набирает около 500 ГФЛОПС, то есть он в 10 000 раз быстрее.

ОЗУ FPM
А вот что несильно внешне изменилось за 30 лет, так это модули ОЗУ. По сути разве что сами модули стали больше, чтобы вместить больше контактов и банок памяти. Конечно, внутреннее устройство серьезно отличалось от привычного нам стандарта DDR SDRAM, который появился лишь в 1998 году.
Если же мы откатимся еще лет на 6-7 назад во времена Socket 1, то самым прогрессивным стандартом памяти был 30 pin SIMM FPM, что переводится как модуль памяти с однорядным расположением выводов, поддерживающий быстрый страничный режим. До 200 мбит/с на частоте 25 МГц – вероятно скорость вашего интернета выше.

Емкость тоже не удивляет – 1-2, реже 4 МБ на модуль. А вот количество слотов под ОЗУ внушает уважение – нередко на плате их было по 8 штук. Сейчас таким количеством могут похвастаться в лучшем случае серверные или HEDT-платы. В итоге с 8 модулями по 4 МБ можно было получить 32 МБ – и на начало 90-ых это нереальный объем.
2D-видеокарты
Многие уже заметили, что у плат начала 90-ых не было видеовыхода. Встроенные видеоядра появились лишь в начале 2000х. Тогда дискретная видеокарта была обязательна, без неё полюбоваться на цветную Windows 3 не получится.

И да, никакого ускорения 3D – карты тех лет умели работать только с 2D. Никакого 32-битного цвета – даже 256 цветов было счастьем, которое нередко требовало снижение разрешение до 320х200.

Королём по разрешению было VGA, или 640*480 – нередко всего при 16 цветах. Современные мониторы к таким картам подключить их едва ли получится: скорее всего вы увидите картинку типа «вне диапазона».Так что если вы планируете собрать себе ПК тех лет – запаситесь ЭЛТ-пушкой.

А как же Wolfenstein 3D из 92 года? В те далекие уже времена был софтверный рендеринг, то есть картинку полностью обрабатывал процессор. Разумеется, осилить высокие разрешения он не мог, но тогда это мало кого смущало. У видеокарты была единственная цель – вывести картинку на монитор.

Какой была RTX 4090 в начале 90-ых? Например, S3 911 – могла выводить целых 256 цветов и имела до 1 МБ памяти. К слову, тогда была фишка, которая пригодилась бы сейчас пользователям многих видеокарт – видеопамять можно было самостоятельно увеличить без всякого паяльника, на карте для этого были слоты.

Окей, картинку из «вульфа» мы вывели. Но хочется же еще и звук? Самым простым вариантом было подключение PC speaker.

Да, издаваемые им звуки сложно назвать музыкой – но это в любом случае было лучше чем ничего. А вот для зажиточных ПК-бояр тех лет существовали ISA-аудиокарты – например, популярные решения Sound Blaster, первая версия которого вышла в далеком 1989 году. Такая карта могла выдавать монозвук с частотой дискретизации в 22 кГц, что вдвое меньше минимально принятых сейчас 44.1 кГц.

К слову, даже по сегодняшим меркам это не так плохо – качество, выдаваемое такой карты, вполне сравнимо с FM-радио, которое до сих пор массово слушают многие водители. Ну а уж в 89 оно вызывало истинный восторг у меломанов, ведь до начала эры MP3 оставалось еще 5 лет.
Еще одним интересным и ожидаемым нюансом аудиокарт тех лет было отсутствие стандартизации, то есть разработчикам тех же игр приходилось оптимизировать их под каждую конкретную карточку – разумеется, обычно брались лишь самые популярные. Именно тогда началась эпоха так называемых Sound Blaster совместимых карт, которые были дешевле оригиналов, но при этом также позволяли насладиться звуком в большинстве проектов.
Сетевая карта
Сейчас нам сложно представить свою жизнь без интернета, компьютер без интернета уже не полноценен. Но 30 лет назад все было иначе. Самый первый HTTP-сайт, который работает до сих пор работает появился лишь в 1991 году . Тогда же появился первый браузер Mosaic, но в целом выход в сеть тогда был необязательным, и тот же Internet Explorer появился лишь в 95.
Однако это не значит, что сетевыми технологиями никто не пользовался. И до интернета существовало множество компьютерных сетей, так называемых BBS или по-русски бордов, самой известной из которых был Фидонет – который, кстати, тоже работает до сих пор, и к нему можно подключиться через обычный эмулятор терминала. Обычно в таких сетях узлами были сами ПК пользователей, на которых хранилась общедоступная информация. Ну и разумеется чтобы обеспечить подключение к таким сетям нужна была сетевая карта.
Лимит картинок на Пикабу закончился, если интересно, будет вторая часть. Полное видео пропитанное подробностями и ностальгическими звуками:
Маркетологи AMD тоже любят красивые графики


AMD официально представила линейку настольных процессоров Ryzen 7000 на Socket AM5
Компания AMD официально представила линейку настольных процессоров Ryzen 7000, в которую вошли четыре модели с новой архитектурой Zen 4. По официальным данным, новое семейство демонстрируют уверенный рост перед настольными процессорами Ryzen 5000: 13 % прироста IPC (удельной производительности на такт) и до 29 % роста однопоточной производительности.

Линейка настольных процессоров Ryzen 7000, которая поступит в продажу 27 сентября, пока включает в себя четыре модели с 6, 8, 12 и 16 ядрами.

В привязке к рекомендованной цене список новинок выглядит следующим образом:
Ryzen 9 7950X: 16 ядер, частота 4,5-5,7 ГГц, 64 Мбайт L3-кеша, 170 Вт TDP ($699);
Ryzen 9 7900X: 12 ядер, частота 4,7-5,6 ГГц, 64 Мбайт L3-кеша, 170 Вт TDP ($549);
Ryzen 7 7700X: 8 ядер, частота 4,5-5,4 ГГц, 32 Мбайт L3-кеша, 105 Вт TDP ($399);
Ryzen 5 7600X: 6 ядер, частота 4,7-5,3 ГГц, 32 Мбайт L3-кеша, 105 Вт TDP ($299).
В ходе презентации компания AMD заявила, что флагманский Ryzen 9 7950X быстрее своего аналога из прошлой линейки (Ryzen 9 5950X) в среднем на 40 % при создании и обработке «тяжёлого» цифрового контента, игровая производительность в разрешении 1080p выросла на 21 %.

В сравнении с Intel Core i9-12900K новый 16-ядерный процессор от AMD быстрее на 9 % в играх и на 45 % — в приложениях. Также компания особым образом выделила тот факт, что младшая модель в новой линейке (Ryzen 5 7600X) примерно на 5 % быстрее в играх по сравнению с флагманским Core i9-12900K.

Новая микроархитектура Zen 4 по сути является гармоничным развитием Zen 3: восьмиядерный CCD-чиплет Zen 4 был переведён на технологический процесс TSMC N5, что позволило увеличить количество транзисторов до 6,57 миллиарда (у Zen 3 было 4,15 млрд). Размер L2 кеша был удвоен до 1 Мбайт на ядро, а кэш для микроопераций был расширен в полтора раза.

Производство IO-чиплета Ryzen 7000 было переведено на технологию TSMC N6, теперь он получил встроенное графическое ядро с архитектурой RDNA 2 и долгожданную поддержку памяти DDR5 с шиной PCIe 5.0.

По части энергоэффективности новых процессоров AMD заявила следующее: при равной производительности Ryzen 9 7950X потребляет на 62 % меньше энергии по сравнению с Ryzen 9 5950X. А если выровнять энергопотребление двух сравниваемых процессоров, то новый 16-ядерник окажется на 49 % быстрее. Также по заверению производителя, по энергоэффективности Ryzen 9 7950X выше превосходит Core i9-12900K на 47 %.

Процессоры линейки Ryzen 7000 можно будет установить только в новые материнские платы с интегрированным сокетом AM5, который сможет обеспечивать до 230 Вт питания. Новинки поступят в продажу 27 сентября, тогда же можно будет купить материнские платы на Socket AM5 на топовых чипсетах X670 и X670E. Появление плат со среднеуровневыми B650E и B650 ожидается в октябре.
Необычные архитектуры процессоров
Привет Пикабу! В 1978 году Intel представляет первый процессор на архитектуре x86 (Intel 8086), уже к концу 80х она захватывает мир и используется в процессорах Intel и AMD до сих пор. Но этот набор команд и аппаратных решений с самого зарождения процессоров — не единственный.

В 1985 году выходит первый процессор Acorn RISC Machine, тогда еще сырой, но на очень перспективной архитектуре APM. Сейчас в вашем смартфоне да и во многих лучших суперкомпьютерах мира трудятся именно ARM процессоры. Знакомые всем Snapdragon, MediaTek и конечно же Apple, все они успешно используют ARM в своих гаджетах. За многие десятилетия эти две архитектуры сумели пробить себе дорогу среди конкурентов и стать буквально монополистами.

Но это не значит, что на рынке нет других интересных кремниевых решений. Десятки миллионов людей по всеми миру продолжают играть на консолях с чипами PowerPC, а многие страны, такие как Россия и Китай, активно развивают собственные процессоры Эльбрус и Loongson. Сейчас, вооружившись знаниями, любой человек может сам сконструировать процессор на опенсорс архитектуре RISC-V. На связи МК, сегодня мы заглянем в мир необычных кремниевых чипов, активно развивающихся вместе с ARM и х86.
Китайские чипы х86
Но начнем мы со всем знакомой архитектуры х86. Про двух американских товарищей AMD и Intel знают все. Но производителей х86-чипов не два, а целых 4. И несложно догадаться, что еще два относятся к Китаю.
Олдовые ПК гики помнят, что еще 30 лет назад на рынке была компания VIA — неожиданно организованная на Тайване китайцем который 3 года провел в лабораториях Intel.
Компания известна в первую очередь по чипсетам, своего производства не было, но именно она продвинула шину PCI. В конце 90-ых она покупает американского производителя сопроцессоров Cyrix, что дает ей возможность производить х86-процессоры. В начале нулевых к тандему присоединилась Калифорнийская S3 Graphics – тогда еще Тайваньская VIA получает доступ еще и к видеокартам.

Но все еще полноценно конкурировать с AMD, Intel и Nvidia не получалось. Последней попыткой, предпринятой десять лет назад, был вывод на рынок процессоров VIA Nano с интегрированной графикой Chrome. Они совершенно не радовали производительностью, но зато были достаточно дешевыми и энергоэффективными — эдакие аналоги Intel Atom. Но массовыми такие процессоры не стали, и к 2013 году у компании все было плохо.
Не дать VIA исчезнуть вместе со всеми патентами помогло правительство Китая — совместно с городской администрацией Шанхая, куда пришлось переехать с недружественного острова, была организована компания Zhaoxin для производства х86-процессоров на внутренний рынок Китая. И, надо сказать, сотрудничество оказалось весьма плодотворным. В 2020 году в руки обзорщикам попали платы с процессором KX-U6780A, который смог приятно удивить.

Все универсально — есть поддержка DDR4 и PCI Express, то есть можно поставить обычную память и видеокарту. А так как это x86-процессор, то без всяких танцев с бубном на него устанавливается привычная Windows 10. Что касается характеристик, то на бумаге они смотрелись отлично: 8 ядер с частотой до 2.7 ГГц, поддержка инструкций SSE 4 и AVX, да и теплопакет в 70 Вт не выглядит пугающим.
Увы, на деле производительность была в среднем на уровне 2-ядерных Intel Skylake, то есть ближе к офисным ПК. Но все еще поиграть в онлайн-игры типа Dota 2, посидеть в интернете и посмотреть фильмы на таком процессоре можно без проблем, что и показали обзоры.

И все это, повторюсь, на обычной Windows без эмуляции и шаманских танцев. Более того, останавливаться на достигнутом VIA-Zhaoxin не планирует, и в этом году хочет выпустить обновленное семейство KX-7000 на 7-нм техпроцессе с поддержкой PCIe 4.0 и DDR5. Конечно, до уровня топовых Core i9 или Ryzen 9 такие решения скорее всего не допрыгнут, но все еще третий активный игрок на рынке x86 явно не помешает.
Четвертый производитель x86-чипов — Hygon. Ситуация тут схожа с VIA, однако на ее месте выступила AMD – в 2018 году было образовано совместное с китайцами производство процессоров на базе имеющихся у «красных» решений Ryzen и Epyc на архитектуре Zen. Так и появились два семейства: Dhyana для обычных пользователей с числом ядер до 8, и Dhyana Plus c количеством ядер до 32 и возможностью создания многопроцессорных серверов. Главным отличием этих чипов стал встроенный тормоз в виде криптографического движка – таково требование правительства Китая к государственным серверам. От этого выигрывали все: AMD получила деньги на дальнейшей развитие своих процессоров, а Китай – крутые «американские» чипы, заточенные под местные правила и гарантированно лишенные закладок.

Во всем другом чипы Dhyana максимально схожи с Ryzen и Epyc первых поколений, они даже внешне выглядят одинаково. При этом так как Ryzen имеют множество встроенных контроллеров, для работы PCIe и USB не нужен чипсет – и это можно заметить на китайских платах под процессоры от Hygon. По тестам тоже все ожидаемо: в задачах, связанных с шифрованием, Dhyana ощутимо проседают. Во всех других сценариях они выступают около обычных Ryzen 1000-ой линейки с поправкой на более низкие частоты.

В 2020 году перед самым началом экономической войны США и Китая, было объявлено, что Hygon совместно с AMD продолжит выпускать процессоры, переведя их на 7-нм техпроцесс – видимо, это адаптация уже более мощных Ryzen 3000. Но тут ситуация похожая на наш Эльбрус, о нем мы еще поговорим. В 2019 году правительство США запретила AMD делиться технологиями с Hygon и что с ними будет дальше, пока не известно.
Экзотика – open source архитектура RISC-V
Окей, с x86 все понятно – архитектура эта привычная, и многие обычные пользователи ПК даже не почувствуют разницу, если их Ryzen вдруг заменится на Zhaoxin. Давайте уйдем в экзотику и поговорим про полностью открытую архитектуру RISC-V. В отличие от софта, где open source уже не является чем-то удивительным, в железе все не так – например, японо-британская ARM зарабатывает миллиарды долларов в год на лицензировании своих ядер Cortex сторонним компаниям.
И это проблема: если вы не являетесь компанией уровня MediaTek или Huawei, у вас просто не хватит денег на покупку нужной лицензии, а с торрента гайд как собрать процессор в гараже вы не скачаете. Именно поэтому в России, например, есть лишь один производитель ARM-процессоров – это Байкал, который тратит на каждый свой ARM-чип миллиарды рублей.
Вот и получается, что если небольшая группа энтузиастов вполне может написать собственную утилиту или игру, которая может стать популярной, создать свой конкурентоспособный чип до последнего времени они не могли. Все изменилось в 2010 году, когда исследователями из отделения информатики Калифорнийского университета в Беркли была создана архитектура RISC-V.

Она базируется на двух столпах – это простота и полная открытость без всяких лицензий. В базовом обязательном наборе команд всего 53 инструкции – для сравнения, в современных чипах Intel их уже под тысячу, и количество неуклонно растет, удваиваясь за 13 лет. Разумеется, присутствуют расширенные наборы команд для различных применений, что позволяет сделать на базе RISC-V чип, подходящий для любых задач.
В итоге такой подход всем понравился: в 2015 году был создан международный фонд RISC-V. Через три года к нему присоединился Linux Foundation. В 2022 году даже Intel признала этот подход, вложив в развитие RISC-V миллиард долларов. В России уже есть микроконтроллеры на базе этой архитектуры – их создают на заводах Микрона для задач отечественного шифрования.

Всего на RISC-V уже создается несколько десятков микроконтроллеров, и, что важно, благодаря открытости и бесплатности в дело идут совсем небольшие игроки, такие как, например, ONiO – небольшой стартап, создающий на базе этой архитектуры собственные чипы для устройств умного дома, фишка которых – питание от откружающих беспроводных сетей. Да, они настолько энергоэффективные, что не требуют наличия батарейки.
Более того, архитектура RISC-V достаточно продвинута, чтобы уже создавать вполне взрослые чипы. Например, в 2019 году Alibaba представила свой 16-ядерный процессор XuanTie 910. Он поддерживает Linux, а удельная производительность каждого ядра выше, чем у ARM Cortex-A73 (это уровень мобильных процессоров из 2016 года). Есть даже новомодный встроенный нейропроцессор.

Две другие китайские компании, DeepComputing и Xcalibyte, пошли еще дальше и пару недель назад представили ноутбук на 4-ядерном RISC-V процессоре. Точных характеристик нет, но обещают поддержку Linux, памяти DDR4 и неплохое встроенное видеоядро. Он должен поступить в продажу уже осенью.

И глядя на такое стремительное развитие RISC-V хочется даже назвать ее архитектурой будущего. Посудите сами – open source софт стал максимально популярным, про тот же GitHub слышали буквально все. Так почему бы не выстрелить бесплатной и открытой архитектуре, особенно с учетом того, что в ее разработку вкладывают большие деньги даже крупные игроки кремниевого рынка?
SPARC – неудачный опенсорс
Однако реальность сурова – об этом невольно вспоминаешь, когда речь заходит об архитектуре SPARC. Она была разработана в конце 80-ых годов американской Sun Microsystems с прицелом на серверный сегмент рынка, и при этом также была открытой. Успех не заставил себя долго ждать: в 90-ых про SPARC и Fujitsu слышал любой сисадмин, и даже Microsoft хотела перенести свою серверную Windows NT на эту архитектуру, однако в итоге все же отказалась от таких планов. В конце нулевых открытость привлекла даже внимание МЦСТ – так появились отечественные процессоры, например, R1000, предлагающий в 2010 году 4 ядра по 1 ГГц и поддержку DDR2. Не самые выдающиеся характеристики – зато 90-нм техпроцесс позволял производить их в России.
Пик SPARC пришелся на 2011 год, когда суперкомпьютер Fujitsu K на архитектуре SPARC64 с 700 000 ядер стал самым быстрым суперкомпьютером в мире. И казалось что, у архитектуры отличное будущее в серверном сегменте – но нет.

В 2017 году Oracle, один из крупнейших поставщиков серверного ПО и оборудования, прекращает разрабатывать процессоры на архитектуре SPARC. Fujitsu планировала в 20 году показать обновление своей архитектуры SPARC64 XII, представленной в 2017 году, но не сделала этого до сих пор.

Судя по всему сейчас разработкой решений на этой архитектуре не занимается ни один крупный игрок, а жаль – в позднем SPARC есть интересные фичи: к примеру поддержка 8 виртуальных потоков на 1 ядре.
POWER10 – да, IBM продолжает создавать процессоры
Казалось бы, если такой мастодонт серверного рынка как SPARC находится на последнем издыхании, то куда уж там архитектуре Power. Пик ее популярности пришелся на начало нулевых – именно на ней работали процессоры G-серии в компьютерах Apple тех лет, и даже Sony с Microsoft в своих PS3 и Xbox 360 использовали ЦП именно на этой архитектуре.
Но, как мы знаем, уже в середине нулевых Apple перебралась на более быстрые и энергоэффективные x86 процессоры Intel, от которой сейчас открещивается отдав предпочтение собственным APM.

А игроделам на Power приходилось показывать чудеса оптимизации, чтобы заставить на консолях тех лет работать шедевры игропрома, включая GTA V.

Казалось бы – все, Power Off. А вот и нет, IBM так просто сдаваться не привыкла. Компания здраво рассудила, что раз в десктопах и консолях бой с x86 и ARM проигран – пора продолжать развивать серверный сегмент. И, надо сказать, IBM угадала. Последние ее процессоры представлены в 2021 году и основаны на архитектуре Power10. 7 нм, 15 ядер и 120 потоков, частота под 4 ГГц, огромный кэш L3 в 120 МБ, поддержка до 16 ТБ памяти DDR4 с пропускной способностью в 410 ГБ/с – выглядит внушительно.

И, к слову, серверы на базе Power10 действительно стали популярны – они отлично подходят для задач ИИ и при этом имеют хороший показатель производительности на ватт. Вполне возможно, что именно архитектура Power в итоге и выдавила опенсорсный SPARC с рынка.
Loongson – прямой конкурент десктопным Intel и AMD
Но что-то мы ушли в серверы. Да, там хватает интересных решений, но что насчет массового пользователя? Китайцы говорят – есть да. Компания которая изначально называла себя как Godson или крестный сын, а теперь уже Loongson или сын дракона уже 20 лет в стенах Академиии наук Китая пытается создать конкурента Intel и AMD. Несколько лет назад Loongson рассказала о архитектуре LoongArch.

Она поддерживает около 2000 инструкций, сочетает лучшие функции MIPS и RISC-V, а также включает в себя все необходимые расширения, в том числе векторные инструкции, а также виртуализацию и двоичную трансляцию. Разумеется, работать процессоры Loongson будут в основном под Linux, но благодаря трансляции x86 может появиться возможность запускать и Windows.
Год назад в руки энтузиастов даже попал процессор Loongson 3A5000. 4 ядра, 2.5 ГГц и 16 МБ кэша L3 – да звучит не очень бодро и в среднем китайское решение на 30% отстает от 10-летнего Core i7-2600. Но нужно учесть, что у последнего и потоков вдвое больше, и частота на треть выше.

Loongson двигается дальше и в июне анонсировала новую линейку чипов, 3C6000 и 3D6000. Первый получит уже 16 ядер и также частоту около 2.5 ГГц, при этом компания заявляет, что по IPC, или производительности на герц, новинки не будет отличаться от свежих Ryzen 5000. Второй же процессор получит вдвое больше ядер и будет по сути склейкой из двух 3C6000. Выйдут эти процессоры в 2023 году – тогда и узнаем, смогли ли китайцы догнать AMD и Intel.
Эльбрусы
Ну и под конец – конечно же Эльбрусы. Про них сказано много хорошего и много плохого – кто-то хейтит их за то, что они работают только на определенных дистрибутивах Linux и не поддерживают современные игрушки. Кто-то возражает, что архитектура e2k создана для работы, и в этом плане современные Эльбрусы хороши.

В любом случае одно неоспоримо – их уже стали использовать в России, например, компания «Норси-Транс» в 2020 году выпустила 5 тысяч систем хранения данных именно на Эльбрусах.
Так чем же интересны Эльбрусы? Во-первых, своей архитектурой e2k, которая, как и LoongArch, разработана с нуля и не опирается на популярные x86 или ARM. Это позволяет реализовывать интересные фичи: например, у эльбрусов нет микрокода как у x86-процессоров, компилятор переводит исходный код сразу в двоичный код, выигрывая тем самым время.

Также можно отметить возможность выполнять несколько операций за один такт операций, что обеспечивает высокую производительность при умеренной тактовой частоте, и поддержку трансляции архитектуры x86, благодаря которой два ядра Эльбруса можно превратить в одно ядро Core 2 Duo. В таком режиме на Эльбрус можно без всяких проблем поставить хоть Windows 10, хотя скорость работы радовать вас не будет. Более того, что важно, комплектующие для работы современных Эльбрусов, таких как 8с, вполне стандартны: нужна обычная память DDR4, более-менее новая видеокарта от AMD и любой жесткий диск или SSD.

Первые тесты топового пока еще инженерного Эльбрус-16С радуют. Он может похвастаться 16 ядрами на частоте в 2 ГГц, 32 МБ кэша L3, поддержкой DDR4-3200 и 32 линиями PCIe 3.0. В тесте перекодирования видео (стр. 93) в ffmpeg он не так уж и сильно отстает от 4-ядерного мобильного Core i7 и Apple M1 в режиме эмуляции. В тесте рендера в Blender ситуация схожая: да, современные чипы x86 и ARM лучше, но отставание уже не драматическое (стр. 117), как в случае, например, с китайским Loongson.
Так что Эльбрусы вполне могут стать заменой обычным десктопным ПК. Если конечно компания сможет приспособиться и переезд производства из Тайваньской TSMC в Зеленоградский Микрон не помешает планам. Они без проблем справятся с серфингом в интернете и просмотром фильмов, на них вполне можно заняться несложным редактированием видео и фото. Пожалуй, единственный камень преткновения – игры, но нужно понимать, что Эльбрусы позиционируются именно как рабочие машины.
Устройство процессора, из чего состоит процессор
Сейчас полно информации в интернете по теме процессоров, можно найти кучу статей о том как он работает, где в основном упоминаются регистры, такты, прерывания и прочее. Но, человеку не знакомому со всеми этими терминами и понятиями достаточно трудно вот так «с лету» вникнуть в понимание процесса, а начинать надо с малого — а именно с элементарного понимания как устроен процессор и из каких основных частей он состоит.

Итак, что же окажется внутри микропроцессора, если его разобрать:

цифрой 1 обозначается металлическая поверхность (крышка) микропроцессора, служащая для отвода тепла и защиты от механических повреждений того, что находится за этой крышкой (тоесть внутри самого процессора).
Под номером 2 — находится сам кристалл, по факту являющийся самой важной и дорогой в изготовлении частью микропроцессора. Именно благодаря этому кристаллу происходят все вычисления (а это и есть самая главная функция процессора) и чем он сложнее, чем совершенней — тем мощнее получается процессор и тем дороже соответственно. Кристалл изготавливается из кремния. На самом деле процесс изготовления очень сложный и содержит в себе десятки шагов, подробнее в этом видео:
Цифра 3 — специальная текстолитовая подложка, к которой крепятся все остальные части процессора, кроме того она играет роль контактной площадки — на ее обратной стороне есть большое количество золотистых «точек» — это контакты (на рисунке их немного видно). Благодаря контактной площадке (подложке) обеспечивается тесное взаимодействие с кристаллом, ибо напрямую хоть как нибудь воздействовать на кристалл не представляется возможным.
Крышка (1) крепится к подложке (3) с помощью клея-герметика, устойчивого к высоким температурам. Между кристаллом (2) и крышкой нет воздушного зазора, его место занимает термопаста, при застывании из нее получается «мостик» между кристаллом процессора и крышкой, благодаря чему обеспечивается очень хороший отток тепла.

Кристалл соединяется с подложкой с помощью пайки и герметика, контакты подложки соединяются с контактами кристалла. На этом рисунке наглядно показано как соединяются контакты кристалла с контактами подложки при помощи очень тонких проводков (на фото 170-кратное увеличение):

Вообще устройство процессоров разных производителей и даже моделей одного производителя может сильно разниться. Однако принципиальная схема работы остается прежней — у всех есть контактная подложка, кристалл (или несколько, расположенных в одном корпусе) и металлическая крышка для отвода тепла.
Так например выглядит контактная подложка процессора Intel Pentium 4 (процессор перевернут):

Форма контактов и структура их расположения зависит от сокета процессора и материнской платы компьютера (сокеты должны совпадать). Например на рисунке чуть выше контакты у процессора без «штырьков», поскольку штырьки находятся прямо в сокете материнской платы.
А бывает другая ситуация, где «штырьки» контактов торчат прямо из контактной подложки. Эта особенность характерна в основном для процессоров AMD:

Как уже упоминалось выше, устройство разных моделей процессоров одного производителя может различаться, перед нами яркий тому пример — четырехъядерный процессор Intel Core 2 Quad, который по сути представляет собой 2 двухъядерных процессора линейки core 2 duo, совмещенных в одном корпусе:

Важно! Количество кристаллов внутри процессора и количество ядер процессора — не одно и то же.
В современных моделях процессоров Intel умещается сразу 2 кристалла (чипа). Второй чип — графическое ядро процессора, по-сути играет роль встроенной в процессор видеокарты, тоесть даже если в системе отсутствует видеокарта, графическое ядро возьмет на себя роль видеокарты, причем довольно мощной (в некоторых моделях процессоров вычислительная мощь графических ядер позволяет играть в современные игры на средних настройках графики).

Вот и все устройство центрального микропроцессора, вкратце конечно же.
Что такое процессор? Основные характеристики процессоров

За время работы системный администратором мне не раз приходилось слышать от сотрудников нашего офиса вопросы, которые заставляли меня окунуться в «чертоги разума» или применить дедуктивные навыки, чтобы понять, о чем вообще идёт речь.
И один из таких вопросов «мой процессор перестал включаться» или его другая версия «я что-то нажал и мой процессор отключился».
В это статье я хочу внести немного ясности и рассказать всем, что это вообще такое процессор и почему его не стоит путать с другими компонентами компьютера.
Что такое процессор (CPU)?
Процессор, что это вообще такое? Зачем он нужен? За какие задачи он отвечает?
Для большинства неопытных и технически неподготовленных пользователей процессором зачастую выступает весь системный блок в сборе. Но это относительно ошибочное суждение, процессор — это нечто, что сокрыто за стенками корпуса и толстым радиатором с вентилятором для его охлаждения.
Процессор или, как его еще называют, центральный процессор (Central Processing Unit) — это электронное устройство (интегральная схема), которое выполняет и обрабатывает машинные инструкции, код программ (машинный язык) и отвечает за все логические операции, которые протекают внутри вашей операционной системы и системного блока.
Без преувеличения, процессор можно назвать мозгом (или сердцем, это кому как больше нравится) любого компьютера, мобильного устройства или другого периферийного устройства. Да-да, слово процессор применимо не только к вашему системному блоку, но и планшету, смарт-холодильнику, игровой приставке, фотоаппарату и другой электронике.
Внешне процессор выглядит как квадратный (или прямоугольный) элемент или плата, в нижней части которой располагается контактная группа для подключения, в вверху находится сам кристалл процессора, который сокрыт под металлической крышкой, чтобы исключить возможность повреждения хрупкого кристалла процессора, а также крышка помогает при отводе тепла с поверхности кристалла на радиатор системы охлаждения.

Кристалл процессора состоит из кремния. Если точнее, полупроводники, из которых состоит процессор, производятся из кремния. На кремневой пластине кристалла в несколько слоёв располагается несколько триллиардов транзисторов (размер которых составляет порядка
10 нм в зависимости от используемого техпроцесса при производстве), которые отвечают за все логические операции процессора.
Впоследствии производители процессоров научились располагать на печатной плате, помимо самого кристалла процессора, кристалл видеоядра (видеокарты), что позволило исключить необходимость в отдельной дискретной видеокарте для вывода изображения на монитор.
Подводя итог этого блока статьи и что бы дать простой ответ на такой сложный вопрос «Что такое процессор (CPU)» — процессор это сердце любого современного устройства, которое выполняет все основные операции, будь то простое сложение 2+2, набор текста в Microsoft Word или расчет физической модели в Blender.
История появления процессоров
Теперь, когда всё стало немного понятнее и слово процессор у вас не ассоциируется с системным блоком, давайте совершим небольшой экскурс в историю и посмотрим, как появились процессоры и что вообще способствовало их появлению.
Первые ЭВМ (электронно-вычислительные машины) появились в 40-х годах прошлого века. Изначально в их основе использовались лампы и примитивные радиоэлементы по типу резисторов и реле. Размер таких ЭВМ мог достигать нескольких квадратных метров.
На фотографии изображена первая ЭВМ — ENIAC. Ее вес составлял порядка 30 тон, и внутри располагалось 18000 электронных ламп.
Но прогресс не стоит на месте, и в 50-х годах громоздкие электронные лампы сменили транзисторы, которые, в свою очередь, в 60-х годах были вытеснены интегральными микросхемами, которые вмещали в себя уже тысячи таких транзисторов.
Всё изменилось в 1971 году, когда компания Intel представила первую 4-битную однокристальную микросхему Intel 4004. Именно Intel 4004 можно считать первым прародителем процессоров, нежели более ранние прототипы по типу электронных ламп и транзисторов. После Intel 4004 индустрия развития стала шагать семимильными шагами, и каждый год инженерам и конструкторам удавалось разработать более современный микропроцессор, который был мощнее и производительней своего приемника.
В 1993 году компанией Intel был представлен первый полноценный десктоп процессор первого поколения P5, который впоследствии был переименован в Pentium.
Но не стоит полагать, что двигателем прогресса была только компания Intel, свой вклад в индустрию электроники и центральных процессоров внесли такие компании, как Motorola, Zilog, MOS Technology, Sinclair Research (ZX Spectrum). СССР тоже не отставали, и в 70-х годах Российские разработки в области ЭВМ вполне могли потягаться с зарубежными аналогами. Но в силу того, что СССР перенаправила силы из этой области в другие отраслевые технологии, было принято решение отказаться от собственного производства и впоследствии использовать сертифицированные импортные технологии.
Основные характеристики процессоров
Хорошо. Теперь, когда мы знаем, что такое процессор и его краткую историю появления, нам нужно расставить все точки над i и разобрать еще одну не менее важную составляющую процессоров — характеристики и за что они вообще отвечают.
Производитель
На текущий момент на рынке процессоров существует только два крупных игрока, которые постоянно конкурируют друг с другом как в плане технологий, так и за деньги в вашем кармане — AMD (Advanced Micro Devices) и Intel.
Очень трудно говорить, кто лучше или процессор какого производителя вам стоит выбрать. Всё зависит от конкретных потребностей и ряда задач, которые будут выполняться на данном процессоре. Внести немного ясности в процесс выбора как производителя, так и процессора должна наша статья «Какой процессор лучше: AMD или Intel?»
Сокет (Socket)
Сокет — это разъем подключения (программный интерфейс) для установки центрального процессора на материнскую плату. На английском языке он называется Socket. Сокет — это первый параметр, на который вам нужно обратить внимание при выборе центрального процессора. Существует большое количество сокетов и их модификаций. Например, если у вас есть материнская плата с сокетом LGA 1151, то и процессор должен быть с сокетом LGA 1151, так как процессор с другим сокетом попросту невозможно установить в сокет материнской платы LGA 1151.
Тактовая частота
В качестве примера: центральный процессор с тактовой частотой 1 МГц обрабатывает 1 миллион тактов (операций) в секунду.
У процессоров существует параметр как базовой частоты, так и турбочастоты.
Базовая частота подразумевает частоту, с которой центральный процессор готов обрабатывать операций в стандартном режиме или при отсутствии интенсивной нагрузки. Если базовой частоты становиться недостаточно, автоматически включается интерсивный (турборежим) режим работы, в котором за счет повышения напряжения, центральный процессор поднимает свою тактовую частоту до заявленных, максимальных значений, что позволяет увеличить общую производительности и скорость обработки команд (тактов).
Количество ядер
Ядро — является самой главной частью процессора. Это своеобразный «мозг», который обрабатывает все поступающие команды. Ядро может обрабатывать только один поток команд, следовательно, если в процессоре есть два ядра, ОС может распараллелить поток команд, и ядра будут обрабатывать отдельные потоки команд, что увеличивает общую производительность. Стоит отметить, чтобы процессор мог обрабатывать команды в нескольких потоках и на разных ядрах, сам код программы должен поддерживать многоядерность и многопоточность, в противном случае будет работать только одно ядро, и разницы в производительности вы попросту не увидите. К счастью, большинство современных приложений поддерживают и то, и другое.
Число потоков
Число потоков — это параметр, который отвечает за то, сколько потоков информации может обрабатывать одно ядро процессора.
В качестве примера: процессор Intel Core i3-4170 имеет 2 реальных физических ядра, каждое ядро способно обрабатывать команды в два потока, что при должной оптимизации со стороны программного обеспечения позволяет получить бюджетный аналог четырехъядерного процессора при наличии только двух физических ядер. К сожалению, не все модели процессоров имеют дополнительные потоки.
Кэш (L1, L2, L3)
Кэш-память не менее важный параметр при выборе процессора, чем все остальные. Кэш-память это область энергозависимого ОЗУ (оперативное запоминающее устройство), в котором хранится информация, с которой центральный процессор работает в текущий момент или собирается работать в ближайшем будущем (или, возможно, уже отработал, но ему еще потребуется эта информация).
Использование кэш-памяти позволяет получить доступ к хранимой информации или командам мгновенно без участия в данном процессе оперативной памяти и связующей шины. Следовательно, чем больше кэш-памяти на различных уровнях имеет процессор, тем лучше.
Техпроцесс
Под словом «техпроцесс» следует понимать технологию, которая используется при производстве полупроводниковых элементов процессора. С уменьшением цифры техпроцесса уменьшается размер и толщина транзисторов, которые размещены в процессоре.
В качестве примера: AMD Ryzen 5 1600 имеет техпроцесс 12 нм, что, в свою очередь, означает, что размер используемых в нём транзисторов равен 12 нанометрам.
Тепловыделение (TDP)
В процессе работы процессор выделяет различное количество тепла. Чтобы исключить возможность перегрева, конструкторами был добавлен уникальный для каждого процессора параметр «тепловыделение (TDP)», с помощью которого можно рассчитать необходимое охлаждение для стабильной работы процессора.
Параметр «тепловыделение (TDP)» процессора означает, сколько ватт тепловой мощности выделяется при максимальной нагрузке на процессор. Например, заявленное тепловыделение AMD Ryzen 7 PRO 1700X равно 95 Вт, что означает, что вам потребуется охлаждение, которое сможет рассеять с поверхности процессора 95 Вт тепла.
Хоть многие и игнорируют этот параметр, но как минимум на него стоит обратить внимание и при выборе «горячего» процессора заложить в его стоимость соответствующий кулер, который сможет обеспечить должное охлаждение и поможет избежать чрезмерного нагрева и последующий переход в состояние троттлинга.
Разрядность процессора
Под определением разрядности следует понимать количество бит информации, которые центральный процессор может обрабатывать за один такт. Если размер данных за один цикл равен 1 байту, то процессор является восьмиразрядным (8 bit). В случае если размер данных составляет 2 байта, такой процессор будет считаться шестнадцатиразрядным (16 bit). Для тридцатидвухразрядного (32 bit) и шестидесяти четырех разрядного (64 bit) процессоров размер данных будет равен 4 и 8 байтам, соответственно.
Тогда почему все тридцатидвухразрядные процессоры обозначаются как x86? Давайте попробуем прояснить ситуацию — аббревиатура или набор инструкций x86 получен в наследство от процессора Intel i8086 и ряда последующих моделей процессоров, в именовании которых использовалось значение 86.
Интегрированное графическое ядро
Конструкторы и разработчики процессоров научились умещать под защитной крышкой маленького процессора не только саму архитектуру процессора, но и отдельное графическое ядро, которое способно на аппаратном уровне имитировать внешнюю видеокарту.
И пусть интегрированное графическое ядро значительно уступает в производительности своим старшим братьям, внешним видеокартам, его производительности хватает, чтобы работать с большинством современных программ, к тому же такие интегрированные видеокарты вполне справляются с простыми и нетребовательными видеоиграми по типу Minecraft или Dota 2.
Стоит отметить, что не все модели процессоров имеют интегрированное графическое ядро, и если в ваш бюджет для сборки компьютера не входит покупка отдельной видеокарты, вам стоит обратить внимание на процессоры, которые имеют отдельное интегрированное графическое ядро, например AMD Athlon 3000G или Intel Celeron G5900.
Выбор процессора
Теперь, когда мы узнали все основы и четко понимаем, что такое тактовая частота и техпроцесс или почему количество ядер не стоит путать с количеством потоков, нам осталось выбрать подходящий центральный процессора для нашего компьютера.
К сожалению, здесь тоже всё не так просто.
Вот небольшой пример — если Intel Core i3-8100 будет идеальным решением для офиса (работа в Microsoft Office, 1С, почтовыми программами и т. д.), то он едва ли сможет обеспечить стабильный FPS в современных и требовательных играх.
Как не запутаться в таком обилии и разнообразии различных центральных процессоров и выбрать подходящий процессор именно вам? В этом сложном вопросе вам поможет наша статья «Как выбрать процессор для компьютера? Какой процессор лучше: AMD или Intel?», в которой мы постарались доходчиво разобрать все основные моменты, связанные с выбором центрального процессора.
Как работает процессор?
Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.
Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.
Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.
Два основных компонента процессора
Устройство управления
Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.
Существует два типа реализации УУ:
- УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
- УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.
УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.
Арифметико-логическое устройство
Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.
Большинство логических элементов имеют два входа и один выход.
Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).
Схема арифметического полусумматора
Хранение информации — регистры и память
Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Регистры
Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.
Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.
По функциональному назначению триггеры делятся на несколько групп:
- RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
- JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
- T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
- D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.
Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.
Принцип действия RS-триггера
Память (ОЗУ)
ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.
Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.
Команды (инструкции)
Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:
- Арифметические: сложение, вычитание, умножение и т. д.
- Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
- Информационные: move , input , outptut , load и store .
- Команды перехода: goto , if . goto , call и return .
- Команда останова: halt .
Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.
Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.
В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.
Группу инструкций принято называть набором команд (англ. instruction set).
Тактирование процессора
Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.
Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.
Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.
Выполнение инструкций
Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.
Ниже рассмотрен пример набора команд, который суммирует два числа:
- LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, <1100 1000> . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
- LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
- ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
- STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .
Вот такие операции нужны, чтобы сложить два числа.
Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.

У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.
Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).
Поток инструкций
Современные процессоры могут параллельно обрабатывать несколько команд. Пока одна инструкция находится в стадии декодирования, процессор может успеть получить другую инструкцию.

Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.
Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.