Skip to content

Latest commit

 

History

History
209 lines (118 loc) · 24.9 KB

2.0.2 Processor(CPU).md

File metadata and controls

209 lines (118 loc) · 24.9 KB

Центральный процессор (CPU, Central Processing Unit)

Джон фон Нейман и архитектуры процессоров

Основы об архитектуре вычислительных машин заложил Джон фон Нейман в 1944 году, когда подключился к созданию первого в мире лампового компьютера ENIAC (Electronic Numerical Integrator, Analyzer and Computer/Электронный числовой интегратор и вычислитель).

В своем последующем докладе Джон фон Нейман описал, как должен быть устро­ен компьютер для того, чтобы он был универсальным и эффективным устройством для обработки информации.

Сущность фон-неймановской концепции ЭВМ можно свести к четырем принципам:

  • Двоичное кодирование: вся информация (как команды, так и данные) кодируется двоичными циф- рами 0 и 1, поскольку двоичное кодирование по теории информации близко к оптимальному, а кроме того, легче реализовать элементы с двумя устойчивыми состояниями (магнитные сердечники, триггеры);
  • Программное управление: команды программы, так же как и данные, хранятся в памяти машины; хранимая программа позволяет выполнять команды в естественном порядке следования либо осуществлять произвольный переход от одной команды к другой;
  • Однородность памяти: Вид хранимой информации (команды или данные непосредственно в па- мяти) неразличим, а зависит от последующего использования; команды могут обрабатываться так же, как и числовые данные (модификация команд – сейчас не поощряется), либо порождать в процессе обработки другие команды (трансляция – широко применяется);
  • Адресность: в команде указываются не сами данные, а адреса их размещения в памяти;

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

Cхема устройства современных компьютеров несколько отличается. В частности, арифметическо-логическое устройство и устройство управления, как правило, объединены в единое устройство — центральный процессор (CPU). Тем не менее, большинство современных компьютеров в основных чер­тах *соответствуют принципам, изложенным фон Нейманом.

Что же такое процессор?

Процессор – устройство или программа, которые предназначаются для обработки чего-либо. Центральный вычислительный элемент любого компьютера. Он управляет всеми остальными компонентами оборудования, поэтому его также называют CPU (Central Processing Unit)

Memory hierarchy

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

Processor_Scheme

Google заявляет, что процессор – это электронный блок или интегральная схема, исполняющая машинные инструкции. Главная часть аппаратного обеспечения ЭВМ и программируемых логических контроллеров.

Принцип работы CPU

Принцип функционирования CPU Google описывает так:

  1. Сначала блок управления процессора забирает из оперативной памяти необходимые данные и команды, загружая их в кэш;
  2. После получения информации из кэша процессор записывает их в регистры. Инструкции отправляются в регистры команд, а значения – отправляются в регистры данных;
  3. Как только инструкции считаны, начинается их выполнение. За данный этап отвечает арифметико-логическое устройство;
  4. Результаты обработки данных записываются в регистр. Google говорит о том, что при завершении вычислений они записываются в буферную память. Промежуточные результаты сохраняются в кэше;

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

Архитектура: x86 vs ARM (CISC vs RICS)

Каждый производитель в 70х считал свою платформу лучшей и делал свою архитектуру процессора. Это привело к изобилию разных платформ, пока не пришёл Intel 8086 в 1978 году впервые и не представила x86-архитектура. На фоне других форматов x86 предлагал наиболее оптимальные и эффективные инструкции обработки данных - CISC (Complex Instruction Set Computing).

ARM появилась в 1985 году, как упрощённая альтернатива x86. В ней используется упрощённый набор инструкций RISC (reduced instruction set computer), поэтому не нужны «тяжеловесные» вычислительные блоки => требуется меньше времени и энергии на обработку каких-то базовых задач.

Сейчас все телефоны и планшеты построены на чипах по архитектуре ARM

Ядра (Cernel)

Кристалл как раз и содержит Ядра:

Processor_Core

Внутренность ядра схематично можно изобразить следующи образом:

Processor_Core

❗ В однопоточном процессоре каждое ядро обрабатывает только один поток данных.

Hyper-Threading (HT) — это технология Intel, позволяет 1му физическому ядру обрабатывать два потока данных одновременно. Достигается за счет создания двух виртуальных (логических) ядер на базе одного физического.

Memory hierarchy или самая быстрая память компьютера

  1. Cамая быстрая «память» — это регистры процессора, находятся внутри вычислительных ядер ЦП и доступны за один–несколько тактов, без каких-либо обращений к кэшам или оперативной памяти. Поэтому регистры считаются самым быстрым местом для хранения данных в компьютере.

  2. Сразу после регистров по скорости доступа и близости к ядрам процессора идёт кэш-память. Причём внутри кэша существует ещё несколько уровней:

  • L1-кэш – самый быстрый, но самый маленький по объёму;
  • L2-кэш – больше, чем L1, но чуть медленнее;
  • L3-кэш – общий для всех ядер .
  1. После кэшей идёт оперативная память (RAM/ОЗУ);
  2. затем постоянные накопители (SSD, HDD), которые намного медленнее;
Memory hierarchy

Что делают транзисторы в процессорах?

Любое вычислительное устройство, будь то компьютер, смартфон или ваши AirPods, работает в двоичной системе счисления. То есть все операции записываются, просчитываются и выводятся в последовательности нулей и единиц.

Эволючия транзисторов: от реле и вакуумных ламп до транзисторов:

Memory hierarchy

Транзистор в процессоре можно представить в роли своеобразного переключателя/лампочки, способного работать в двух режимах: усиления или переключения электрического сигнала. Мы будем обсуждать только режим переключения

  • Единица - есть ток (ламка горит);
  • Ноль - нет тока (лампа не горит);

Разная последовательность нулей и единиц образует информацию — программы, музыку, картинки, видео и даже этот текст.

Закон Мура

Гордон Мур (основатель корпорации Intel) задумался о том, как быстро растет количества транзисторов, помещающихся на одной и той же площади. Показатель напрямую влияет на скорость вычислений и развитие технологий.

Memory hierarchy

❗ Количество транзисторов на кристалле удваивается примерно каждые 2 года.

Соответственно, размеры транзисторов уменьшаются на корень из двух раз. Другими словами, нужно умножать каждую сторону квадратного транзистора на 0.7, чтобы его площадь уменьшилась вдвое:

Memory hierarchy

Так родилась маркировка техпроцесса: каждые два года эту цифру умножали на 0.7. Например, при переходе от 1000-нм техпроцесса к 700-нм, количество транзисторов на чипе возросло в 2 раза. Примерно то же можно сказать и обо всех современных процессорах: 14 нм -> 10 нм -> 7 нм -> 5 нм.

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

Создание транзистора

  1. Магия транзисторов: как мы научили компьютеры думать с помощью кусочков кремния?

Для создания транзистора мы берем немножко песка (условно какую-то часть одной песчинки) и делаем из него микроскопическую основу:

Это будет наша кремниевая подложка (кремний получают именно из песка). Теперь нужно на эту основу нанести две области: в одну ток подаем (вход в транзистор), а из другой — считываем (выход).

Мы сделали эти области внутри кремниевой подложки таким образом, чтобы ток не смог пройти от входа к выходу. Он будет останавливаться самим кремнием. Чтобы ток смог пройти от входа к выходу по поверхности кремниевой подложки, нужно сверху разместить проводящий материал (скажем, металл) и хорошенько его изолировать:

Когда мы подадим напряжение на этот изолированный кусочек металла, размещенный над кремниевой подложкой, он создаст вокруг себя электрическое поле: слой кремния под действием этого электрического поля начинает проводить ток от входа к выходу! То есть, когда мы подаем напряжение, ток может легко протекать между двумя областями:

Осталось дело за малым — подключить «провода» (электроды) ко входу, выходу и кусочку изолированного металла, с помощью которого мы и будем включать/выключать транзистор. Назовем их так:

  • Вход — Исток;
  • Выход — Сток;
  • Металл с изоляцией — Затвор;

Техпроцесс

Производители освоили производство чипов, а вернее сказать транзисторов, по 5-нанометровой технологии.

Волос человека имеет толщину 80 тысяч нанометров — выходит, на его разрезе в теории можно разместить 16 тысяч транзисторов.

Вирус COVID-19 имеет размер 110 нм и на нём можно разместить целых 22 транзистора от Apple M1.

Что внутри такого транзистора имеет размер 7 нанометров?

Если бы этот же вопрос я задал лет 20 назад, правильным ответом была бы длина затвора (или длина канала, по которому протекает ток от стока к истоку):

Удалось сокращать длину затвора быстрее, чем другие части транзистора. С тех пор связывать размер затвора с техпроцессом стало не совсем корректно, так как это уже не отражало реального увеличения плотности размещения транзисторов на кристалле.

Например, в 250-нм техпроцессе длина затвора составляла 190 нанометров, но транзисторы не были упакованы настолько плотно по сравнению с предыдущим техпроцессом, чтобы называть его 190-нанометровым (по размеру затвора). Это не отражало бы реальную плотность.

Затем длина канала и вовсе перестала уменьшаться каждые два года, так как появилась новая проблема. При уменьшении до 2012 года когда перешли на 22-нанометрового техпроцесса, электроны могли обходить узкий затвор, так как блокирующий эффект был недостаточно сильным. Более того, такие утечки возникали постоянно, вызывая повышенное энергопотребление и нагрев транзистора (и, как следствие, всего процессора).

Решение оказалось простым и гениальным — нужно взять канал, по которому проходит ток и поднять его вверх, над кремниевой основной, чтобы он полностью проходил через затвор:

Теперь всё пространство, по которому идет ток, управляется затвором, так как полностью им окружено. А раньше, как мы видим, этот затвор находился сверху над каналом и создавал сравнительно слабый блокирующий эффект.

С новой технологией (FinFET), можно было продолжать уменьшать длину затвора и размещать еще больше транзисторов, так как они стали более узкими (сравните на картинке ширину канала). Но говорить о размерах транзистора стало вообще бессмысленно. Не совсем понятно даже, как эти размеры теперь высчитывать, когда транзистор из плоского превратился в трехмерный.

Что важнее — нанометры или плотность?

Длина канала в 14-нм процессоре от Intel составляет 24 нанометра, а у Samsung — 30 нанометров. Отличаются и другие метрики этих процессоров, сделанных, казалось бы, по одинаковому техпроцессу. Более того, длина затвора — не самая миниатюрная часть транзистора. В том же 14-нм процессоре ширина канала вообще состоит из нескольких атомов и составляет 8 нанометров! То есть, техпроцесс — это даже не описание самой маленькой части транзистора.

10/7-нанометровые чипы у Intel и TSMC соответственно. Размеры составляющих у них почти идентичны, поэтому 10-нанометров Intel не сильно-то и уступают 7 нм у TSMC

Ругают Intel за то, что не смогли выпустить коммерческий процессор на архитектуре 5-7 нм, как Apple и Qualcomm. Но вот по плотности размещения транзисторов — Intel безусловный лидер. На один квадратный миллиметр 10 нм процессора Intel помещается на целых 5% больше транзисторов, чем в чипах от Apple, Qualcomm или AMD. Кстати, последние поколения процессоров от этих трёх брендов производит TSMC.

Вывод

Таким образом, техпроцесс полностью «оторвался» от каких-либо реальных величин и просто условно обозначает увеличение плотности транзисторов относительно предыдущего техпроцесса.

Разница техпроцесса в 0.7 раз означает двукратное увеличение количества транзисторов

Для примера можем посмотреть на последние чипы от Apple. В 10-нм процессоре Apple A11 Bionic содержится 4.3 млрд транзисторов, в 7-нм A13 Bionic — 8.5 млрд транзисторов, в А14 11.8 млрд.

То есть, видим, что техпроцесс отличается в 0.7 раз, а количество транзисторов — в 2 раза


2.0.1 Linux Theme | Back To iOSWiki Contents | 2.0.2 File System in Linux Theme