Для сравнения: первым микропроцессором считается Intel 4004 (1971 года выпуска). В нем установлено 2300 транзисторов. В этом году Apple представила систему на чипе A15 Bionic — на нем основывается последнее поколение iPhone. В A15 транзисторов уже 15 млрд.
Что такое процессор и как он устроен
Центральный процессор (микропроцессор, центральное процессорное устройство, CPU, разг. – «проц», «камень») – сложная микросхема, являющаяся главной составной частью любого компьютера. Именно это устройство осуществляет обработку информации, выполняет команды пользователя и руководит другими частями компьютера.
Уже много лет основными производителями процессоров являются американские компании Intel и AMD (Advanced Micro Devices). Есть, конечно, и другие производители, но до уровня указанных лидеров им далеко.
Intel и AMD постоянно борются за первенство в изготовлении все более производительных и доступных процессоров, вкладывая в разработки огромные средства и много сил. Их конкуренция — важный фактор, содействующий быстрому развитию этой отрасли.
Внешне центральный процессор не представляет собой ничего выдающегося – небольшая прямоугольная плата с множеством контактов с одной стороны и плоской металлической коробочкой с другой. Но внутри этой коробочки хранится сложнейшая микроструктура из миллионов транзисторов.
Как изготавливают процессоры. Что такое техпроцесс.
Основным материалом при производстве процессоров является самый обычный песок, а точнее сказать кремний, коего в составе земной коры около 30%. Из очищенного кремния сначала изготавливают большой монокристалл цилиндрической формы, который разрезают на «блины» толщиной около 1 мм.
Затем с использованием технологии фотолитографии в них создаются полупроводниковые структуры будущих процессоров.
Фотолитография чем-то напоминает еще не полностью забытый процесс печати фотографий с пленки, когда свет, проходя через негатив, действует на поверхность фотобумаги и проецирует на ней изображение.
При изготовлении процессоров своеобразной фотобумагой выступают упомянутые выше кремниевые «блины». Роль света играют ионы бора, разогнанные до огромной скорости высоковольтным ускорителем. Они пропускаются через специальные «трафареты» — системы высокоточных линз и зеркал, вкрапливаются в кремний и создают в нем микроскопическую структуру из множества транзисторов.
Сегодняшние технологии позволяют создавать транзисторы размером всего 5-6 нанометров (толщина человеческого волоса около 50000 нм). Со временем техпроцесс изготовления процессоров станет еще совершеннее. По прогнозам, транзисторы уменьшатся как минимум до 3 нм.
Чем тоньше техпроцесс – тем больше транзисторов можно поместить в один процессор, тем он будет производительнее и энергоэффективнее.
Созданная таким образом полупроводниковая структура вырезается из кварцевого «блина» и помещается на текстолит. На обратную его сторону выводятся контакты для обеспечения подсоединения к материнской плате. Сверху кристал защищается от повреждения металлической крышкой (см. рис. выше).
Понятие архитектуры, ядра, ревизии процессора
Процессоры прошли сложную эволюцию и сейчас продолжают развиваться. Производители совершенствуют не только техпроцесс изготовления, но и внутреннюю их структуру. Каждое новое поколение процессоров отличается от предыдущего строением, количеством и характеристиками входящих в их состав элементов.
Процессоры, в которых используются те же базовые принципы строения, называют процессорами одной архитектуры, а эти принципы — архитектурой (микроархитектурой) процессора.
Основные характеристики процессора
• Количество вычислительных ядер.
Многоядерные процессоры – это процессоры, содержащие на одном процессорном кристалле или в одном корпусе два и более вычислительных ядра. Все современные процессоры являются многоядерными.
Многоядерность, как способ повышения производительности процессоров, используется давно. Для «домашних» компьютеров и рабочих станций существуют процессоры с 64 ядрами (Ryzen Threadripper). Для серверов на рынке есть 128-ядерные предложения.
Эффективность вычислительных ядер разных архитектур заметно отличается. Но если сравнивать процессоры одной архитектуры, чем их (ядер) больше, тем процессор производительнее.
• Количество потоков.
Чем больше потоков – тем лучше. Количество потоков не всегда совпадает с количеством ядер процессора. Например, благодаря технологиям Hyper-Threading (у Intel) и Simultaneous MultiThreading (у AMD), 4-ядерный процессор может работать в 8 потоков и во многом опережать 6-тиядерных конкурентов.
• Размер кеша 2 и 3 уровней.
Кеш — это очень быстрая внутренняя память процессора, которая используется им как буфер для временного хранения информации, обрабатываемой в конкретный момент времени. Подробнее об этом можно узнать здесь. Чем кеш больше – тем лучше.
Структура не всех современных процессоров предусматривает наличие кеша 3 уровня, хотя критичным моментом это не является. Так, по результатам многих тестов производительность процессоров Intel Core 2 Quadro, выпускавшихся с 2007 г. по 2011 г. и не имеющих кеша 3 уровня, даже сейчас выглядит достойно. Правда, кеш 2 уровня у них достаточно большой.
• Частота процессора.
Здесь все просто – чем выше частота процессора, тем он производительнее. Но это справедливо, если речь идет о процессорах одной архитектуры. Этот показатель отображает количество операций (тактов), осуществляемых процессором за единицу времени. Однако, процессор с более совершенной архитектурой за один такт обрабатывает больше информации. Как результат, новый низкочастотный процессор может оказаться значительно быстрее старого высокочастотного.
Понятие техпроцесса рассматривалось в предыдущем пункте этой статьи. Чем тоньше используемый техпроцесс, тем больше процессор может содержать транзисторов, меньше потребляет электроэнергии и меньше греется. От техпроцесса во многом зависит еще одна важная характеристика процессора — TDP.
Termal Design Point — показатель, отображающий энергопотребление процессора, а также количество тепла, выделяемого им в процессе работы. Единицы измерения — Ватты (Вт). TDP зависит от многих факторов, среди которых главными являются количество ядер, техпроцесс изготовления и частота работы процессора.
Кроме прочих преимуществ, «холодные» процессоры (с TDP до 100 Вт) лучше поддаются «разгону», когда пользователь изменяет некоторые настройки системы, вследствие чего увеличивается частота процессора. Разгон позволяет без дополнительных финансовых вложений увеличить производительность процессора (идогда на целых 20-25 %), но это уже отдельная тема.
В то же время, проблему с высоким TDP всегда можно решить приобретением эффективной системы охлаждения (см. последний пункт этой статьи).
• Наличие и производительность видеоядра.
Помимо вычислительных ядер, производители часто включают в состав процессоров еще и ядра графические. Такие процессоры, кроме решения своих основных задач, могут выполнять роль видеокарты. Возможностей некоторых из них вполне достаточно для игры в компьютерные игры, не говоря уже о просмотре фильмов, работе с текстом и решении остальных задач.
Информация о процессоре компьютера, его значении, технологии изготовления, а также о характеристиках, которые необходимо учитывать при его выборе и приобретении.
Что внутри транзистора
Если бы мы могли разрезать один транзистор в микропроцессоре, мы бы увидели что-то вроде этого:
Слева — проводник, по которому бежит ток, справа — просто проводник, пока без тока. Между ними находится проводящий канал — те самые «ворота». Когда ворота открыты, ток из левого проводника поступает в правый. Когда закрыты — правый остаётся без тока. Чтобы ворота открылись, на них нужно подать ток откуда-то ещё. Если тока нет, то ворота закрыты.
Теперь, если грамотно посоединять тысячу транзисторов, мы получим простейшую вычислительную машину. А если посоединять миллиард транзисторов, получим ваш процессор.
Почему все так полюбили транзисторы
До транзисторов у учёных уже было некое подобие вычислительных машин. Например, счёты: там оператор управлял перемещением бусин в регистрах и складывал таким образом числа. Но оператор медленный и может ошибаться, поэтому система была несовершенной.
Были механические счётные машины, которые умели складывать и умножать числа за счёт сложных шестерней, бочонков и пружин, — например, арифмометр. Они работали медленно и были слишком дорогими для масштабирования.
Были вычислительные машины на базе механических переключателей — реле. Они были очень большими — те самые «залы, наполненные одним компьютером». Их могли застать наши родители, бабушки и дедушки.
Позже придумали электронные лампы: там управлять током уже можно было с помощью другого тока. Но лампы перегревались, ломались, на них мог прилететь мотылёк.
И только в конце сороковых учёные изобрели твердотельные транзисторы: вся кухня с включением и выключением тока проходила внутри чего-то твёрдого, устойчивого и безопасного, не привлекающего внимания мотыльков. За основу взяли германий и кремний и стали развивать эту технологию.
Кайф твердотельных транзисторов в том, что взаимодействия там происходят на скоростях, близких к скорости света. Чем меньше сам транзистор, тем быстрее по нему пробегают электроны, тем меньше времени нужно на вычисления. Ну и сломать твердотельный транзистор в хорошем прочном корпусе намного сложнее, чем хрупкую стеклянную лампу или механическое реле.
Самая быстрая память — это кэш первого уровня, обозначается как L1 cache. Обычно он всего несколько десятков килобайт. Дальше идёт L2 кэш он уже может быть 0,5-1 мб. А кэш третьего уровня может достигать размера в несколько мегабайт.
Хранение информации — регистры и память
Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Регистры
Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. 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).