Основы об архитектуре вычислительных машин заложил Джон фон Нейман в 1944 году, когда подключился к созданию первого в мире лампового компьютера ENIAC (Electronic Numerical Integrator, Analyzer and Computer/Электронный числовой интегратор и вычислитель).
В своем последующем докладе Джон фон Нейман описал, как должен быть устроен компьютер для того, чтобы он был универсальным и эффективным устройством для обработки информации.
Сущность фон-неймановской концепции ЭВМ можно свести к четырем принципам:
- Двоичное кодирование: вся информация (как команды, так и данные) кодируется двоичными циф- рами 0 и 1, поскольку двоичное кодирование по теории информации близко к оптимальному, а кроме того, легче реализовать элементы с двумя устойчивыми состояниями (магнитные сердечники, триггеры);
- Программное управление: команды программы, так же как и данные, хранятся в памяти машины; хранимая программа позволяет выполнять команды в естественном порядке следования либо осуществлять произвольный переход от одной команды к другой;
- Однородность памяти: Вид хранимой информации (команды или данные непосредственно в па- мяти) неразличим, а зависит от последующего использования; команды могут обрабатываться так же, как и числовые данные (модификация команд – сейчас не поощряется), либо порождать в процессе обработки другие команды (трансляция – широко применяется);
- Адресность: в команде указываются не сами данные, а адреса их размещения в памяти;
Основные особенности первых машин, построенных по изложенным принципам и называемых сейчас машинами фон неймановского типа, состоят в следующем:
Cхема устройства современных компьютеров несколько отличается. В частности, арифметическо-логическое устройство и устройство управления, как правило, объединены в единое устройство — центральный процессор (CPU). Тем не менее, большинство современных компьютеров в основных чертах *соответствуют принципам, изложенным фон Нейманом.
Процессор – устройство или программа, которые предназначаются для обработки чего-либо. Центральный вычислительный элемент любого компьютера. Он управляет всеми остальными компонентами оборудования, поэтому его также называют CPU (Central Processing Unit)
Современный микропроцессор – это готовая ИМС/чип (защищена прочным керамическим или пластмассовым корпусом), содержащая пластину прямоугольной формы, выращеный по специальным технологиям кристалл кремния. На ее небольшой площади располагаются транзисторы. Конструкция обеспечивает легкое подключение к системным платам компьютеров.
Google заявляет, что процессор – это электронный блок или интегральная схема, исполняющая машинные инструкции. Главная часть аппаратного обеспечения ЭВМ и программируемых логических контроллеров.
Принцип функционирования CPU Google описывает так:
- Сначала блок управления процессора забирает из оперативной памяти необходимые данные и команды, загружая их в кэш;
- После получения информации из кэша процессор записывает их в регистры. Инструкции отправляются в регистры команд, а значения – отправляются в регистры данных;
- Как только инструкции считаны, начинается их выполнение. За данный этап отвечает арифметико-логическое устройство;
- Результаты обработки данных записываются в регистр. Google говорит о том, что при завершении вычислений они записываются в буферную память. Промежуточные результаты сохраняются в кэше;
Если цикл вычислений завершен, результат сохраняется в оперативную память устройства – это помогает освободить место в буферной памяти.
Каждый производитель в 70х считал свою платформу лучшей и делал свою архитектуру процессора. Это привело к изобилию разных платформ, пока не пришёл Intel 8086 в 1978 году впервые и не представила x86-архитектура. На фоне других форматов x86 предлагал наиболее оптимальные и эффективные инструкции обработки данных - CISC (Complex Instruction Set Computing).
ARM появилась в 1985 году, как упрощённая альтернатива x86. В ней используется упрощённый набор инструкций RISC (reduced instruction set computer), поэтому не нужны «тяжеловесные» вычислительные блоки => требуется меньше времени и энергии на обработку каких-то базовых задач.
Сейчас все телефоны и планшеты построены на чипах по архитектуре ARM
Кристалл как раз и содержит Ядра:
Внутренность ядра схематично можно изобразить следующи образом:
❗ В однопоточном процессоре каждое ядро обрабатывает только один поток данных.
Hyper-Threading (HT) — это технология Intel, позволяет 1му физическому ядру обрабатывать два потока данных одновременно. Достигается за счет создания двух виртуальных (логических) ядер на базе одного физического.
-
Cамая быстрая «память» — это регистры процессора, находятся внутри вычислительных ядер ЦП и доступны за один–несколько тактов, без каких-либо обращений к кэшам или оперативной памяти. Поэтому регистры считаются самым быстрым местом для хранения данных в компьютере.
-
Сразу после регистров по скорости доступа и близости к ядрам процессора идёт кэш-память. Причём внутри кэша существует ещё несколько уровней:
- L1-кэш – самый быстрый, но самый маленький по объёму;
- L2-кэш – больше, чем L1, но чуть медленнее;
- L3-кэш – общий для всех ядер .
- После кэшей идёт оперативная память (RAM/ОЗУ);
- затем постоянные накопители (SSD, HDD), которые намного медленнее;
Любое вычислительное устройство, будь то компьютер, смартфон или ваши AirPods, работает в двоичной системе счисления. То есть все операции записываются, просчитываются и выводятся в последовательности нулей и единиц.
Эволючия транзисторов: от реле и вакуумных ламп до транзисторов:
Транзистор в процессоре можно представить в роли своеобразного переключателя/лампочки, способного работать в двух режимах: усиления или переключения электрического сигнала. Мы будем обсуждать только режим переключения
- Единица - есть ток (ламка горит);
- Ноль - нет тока (лампа не горит);
Разная последовательность нулей и единиц образует информацию — программы, музыку, картинки, видео и даже этот текст.
Гордон Мур (основатель корпорации Intel) задумался о том, как быстро растет количества транзисторов, помещающихся на одной и той же площади. Показатель напрямую влияет на скорость вычислений и развитие технологий.
❗ Количество транзисторов на кристалле удваивается примерно каждые 2 года.
Соответственно, размеры транзисторов уменьшаются на корень из двух раз. Другими словами, нужно умножать каждую сторону квадратного транзистора на 0.7, чтобы его площадь уменьшилась вдвое:
Так родилась маркировка техпроцесса: каждые два года эту цифру умножали на 0.7. Например, при переходе от 1000-нм техпроцесса к 700-нм, количество транзисторов на чипе возросло в 2 раза. Примерно то же можно сказать и обо всех современных процессорах: 14 нм -> 10 нм -> 7 нм -> 5 нм.
Более того, уменьшая размер транзистора, автоматически снижается его энергопотребление (ток, проходящий через транзистор пропорционален отношению его ширины к длине). Также уменьшается размер затвора и его емкость, позволяя ему переключаться еще быстрее.
Для создания транзистора мы берем немножко песка (условно какую-то часть одной песчинки) и делаем из него микроскопическую основу:
Это будет наша кремниевая подложка (кремний получают именно из песка). Теперь нужно на эту основу нанести две области: в одну ток подаем (вход в транзистор), а из другой — считываем (выход).
Мы сделали эти области внутри кремниевой подложки таким образом, чтобы ток не смог пройти от входа к выходу. Он будет останавливаться самим кремнием. Чтобы ток смог пройти от входа к выходу по поверхности кремниевой подложки, нужно сверху разместить проводящий материал (скажем, металл) и хорошенько его изолировать:
Когда мы подадим напряжение на этот изолированный кусочек металла, размещенный над кремниевой подложкой, он создаст вокруг себя электрическое поле: слой кремния под действием этого электрического поля начинает проводить ток от входа к выходу! То есть, когда мы подаем напряжение, ток может легко протекать между двумя областями:
Осталось дело за малым — подключить «провода» (электроды) ко входу, выходу и кусочку изолированного металла, с помощью которого мы и будем включать/выключать транзистор. Назовем их так:
- Вход — Исток;
- Выход — Сток;
- Металл с изоляцией — Затвор;
Производители освоили производство чипов, а вернее сказать транзисторов, по 5-нанометровой технологии.
Волос человека имеет толщину 80 тысяч нанометров — выходит, на его разрезе в теории можно разместить 16 тысяч транзисторов.
Вирус COVID-19 имеет размер 110 нм и на нём можно разместить целых 22 транзистора от Apple M1.
Если бы этот же вопрос я задал лет 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