ENIAC – первый электронный компьютер в мире
ENIAC – созданный в 1940 году как первый электронный компьютер в мире, он оказывает глубокое и продолжительное влияние на технологии, на которые мы полагаемся сегодня. Ниже будет подробная статья о компьютере ENIAC
Сокращенно от «Электронный числовой интегратор и компьютер», ENIAC – первый электронный компьютер, который используется для решения общих задач, таких как численные задачи. Он был изобретен Джоном Преспером Эккертом и Джоном Мочли в Университете Пенсильвании для обслуживания лаборатории баллистических исследований армии США.
реклама
В двух словах, технологический процесс – это параметр, определяющий размеры транзисторов в процессоре. Чтобы разобраться подробнее в этом вопросе, и понять, как маркетологи манипулируют цифрами техпроцессов в своих интересах, кратко разберем устройство полевого транзистора.
Основой любого процессора являются полевые транзисторы, из них собираются различные логические элементы необходимые для его работы. В процессоре они работают в ключевом режиме, то есть находятся или в режиме насыщения (максимально открытом состоянии) или в режиме отсечки (полностью закрытом состоянии). Эти два крайних режима, в которых находятся транзисторы, и определяют, логическая «1» или логический «0», будут на их выходах.
Конструктивно, например N-канальный полевой транзистор состоит из кремниевой полупроводниковой подложки P-типа, в которой основными носителями заряда являются дырки, а неосновными электроны. По краям подложки внедрены участки полупроводника N-типа, то есть противоположного типа проводимости. Они образуют электроды, называющиеся «исток» и «сток», между которыми в случае образования токопроводящего канала начинает протекать электрический ток в виде движения основных носителей заряда канала от «истока» к «стоку».
Транзисторы. История появления
Транзистором называют радиоэлектронный компонент из полупроводникового материала, который на сегодняшний день является основным рабочим компонентом всех электронных устройств и микросхем. Он может от небольшого входного сигнала управлять током в выходной цепи, что позволяет его использовать для усиления, генерирования, коммутации и преобразования электрических сигналов.
Первый транзистор появился спустя десятилетия исследований ученых со всего мира у группы физиков под руководством Джозефа Бекера. Их финансировала компания Bell Telephone Laboratories, одна из самых наукоемких и богатых в США рубежа 1940-х. Еще один физик, Уильям Браттейн, спустя многолетние не очень удачные исследования твердотельных приборов однажды случайно сблизил два игольчатых электрода на поверхности германия, да еще перепутал полярность напряжений питания, и вдруг заметил влияние тока одного электрода на ток другого. Уже через полгода — к середине 1947 года — у них заработал первый твердотельный усилитель, который считают первым в мире транзистором.
Bell Labs сразу оформила патент на это изобретение, но технология была очень нестабильной и имела массу проблем. Первые транзисторы, поступившие в продажу в 1948 году, работали ненадежно — если их потрясти, коэффициент усиления резко менялся, а при нагревании устройства совсем переставали работать.
В 1952 году Bell Labs решила предоставить права на изготовления транзистора всем компаниям, которые смогут заплатить $25 тыс. за пользование патентом. И уже в 1953 году на рынке появилось первое коммерческое изделие на основе транзисторов — слуховой аппарат от пионера в этой области Джона Килби из компании Centralab.
После этого транзисторы заменили все радиолампы в электронных устройствах. Начиная с первых транзисторов по сегодняшний день, все микросхемы используются в качестве так называемых планарных или плоских транзисторов. Последние 50 лет инженеры пытались уменьшить размеры транзисторов, чтобы на одну плату могло влезть как можно больше подобных схем. Например, если в 1965 году в микросхему можно было встроить 30 транзисторов, то теперь — около 55 млн.
Во время эволюции транзисторов менялись не только их размеры, но и материалы, а также геометрия и технологии производства. При этом уменьшение транзистора влияет и на его рабочие характеристики, поскольку уменьшив его, например, в пять раз, увеличивается его скорость работы — тоже в пять раз.
Основная проблема, связанная с уменьшением размера транзистора, сталкивается с тем, что увеличение количества транзисторов приводит к росту потребляемой мощности и обычному перегреву микросхемы. Он происходит из-за утечки тока через слой диэлектрика, который приходится также снижать при уменьшении самого транзистора.
Альтернативой обычным стали SOI-транзисторы, в которых слой диэлектрика добавляют вглубь кремния для остановки утечки тока. Это позволяет даже повысить скорость работы транзисторов на 25%, однако у технологии есть и недостаток. Для работы таких схем необходимо повышать напряжение, что негативно сказывается на характеристиках. Таким образом, обычные кремниевые транзисторы подошли к физическому пределу, для преодоления которого ученым приходится не просто менять принцип работы устройства, а создавать новые схемы передачи электронов. Из-за этого закон Мура сейчас практически перестал работать.
Сейчас ученые активно развивают технологию создания вакуумных транзисторов, поскольку вакуум — намного более выгодная среда для передачи электронов, нежели твердое тело. Вакуумное устройство может стать первым полноценным терагерцевым транзистором, работающим намного быстрее кремниевых. Еще одной заменой кремниевых могут стать графеновые или состоящие из нанотрубок устройства, однако все эти технологии пока находятся на стадии разработки.
Как считают транзисторы
Транзисторы соединены таким хитрым образом, что, когда на них подаётся ток в нужных местах, они выдают ток в других нужных местах. И всё вместе производит впечатление полезной для человека математической операции.
Пока что не будем думать, как именно соединены транзисторы. Просто посмотрим на принцип.
Допустим, нам надо сложить числа 4 и 7. Нам, людям, очевидно, что результат будет 11. Закодируем эти три числа в двоичной системе:
Десятичная | Двоичная |
4 | 0100 |
7 | 0111 |
11 | 1011 |
Теперь представим, что мы собрали некую машину, которая получила точно такой же результат: мы с одной стороны подали ей ток на входы, которые соответствуют первому слагаемому; с другой стороны — подали ток на входы второго слагаемого; а на выходе подсветились выходы, которые соответствовали сумме.
Смотрите, что тут происходит: есть восемь входов и четыре выхода. На входы подается электричество. Это просто электричество, оно не знает, что оно обозначает числа. Но мы, люди, знаем, что мы в этом электричестве зашифровали числа.
Так же на выходе: электричество пришло на какие-то контакты. Мы как-то на них посмотрели и увидели, что эти контакты соответствуют какому-то числу. Мы делаем вывод, что эта простейшая машина сложила два числа. Хотя на самом деле она просто хитрым образом перемешала электричество.
Вот простейший пример компьютера, собранного на транзисторах. Он складывает два числа от 0 до 15 и состоит только из транзисторов, резисторов (чтобы не спалить) и всяких вспомогательных деталей типа батарейки, выключателей и лампочек. Можно сразу посмотреть концовку, как он работает:
Вот ровно это, только в миллиард раз сложнее, и происходит в наших компьютерах.
Что мы знаем на этом этапе:
- Транзисторы — это просто «краны» для электричества.
- Если их хитрым образом соединить, то они будут смешивать электричество полезным для человека образом.
- Все компьютерные вычисления основаны на том, чтобы правильно соединить и очень плотно упаковать транзисторы.
В следующей части разберем, как именно соединены эти транзисторы и что им позволяет так интересно всё считать.
В будущем останется две профессии: программист и массажист для его утомленной шеи. Если у вас сильные руки и хорошая выносливость, пролистывайте. Если нет — вот билет в профессию будущего.
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Инструкции микропроцессора
Даже простейший микропроцессор способен обрабатывать достаточно большой набор инструкций. Набор инструкций является своего рода шаблоном. Каждая из этих загружаемых в регистр команд инструкций имеет свое значение. Людям непросто запомнить последовательность битов, поэтому каждая инструкция описывается в виде короткого слова, каждое из которых отражает определенную команду. Эти слова составляют язык ассемблера процессора. Ассемблер переводит эти слова на понятный процессору язык двоичных кодов.
Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:
- LOADA mem — Загрузить (load) регистр A из некоторого адреса памяти
- LOADB mem — Загрузить (load) регистр B из некоторого адреса памяти
- CONB con — Загрузить постоянное значение (constant value) в регистр B
- SAVEB mem — Сохранить (save) значение регистра B в памяти по определенному адресу
- SAVEC mem — Сохранить (save) значение регистра C в памяти по определенному адресу
- ADD — Сложить (add) значения регистров A и B. Результат действия сохранить в регистре C
- SUB — Вычесть (subtract) значение регистра B из значения регистра A. Результат действия сохранить в регистре C
- MUL — Перемножить (multiply) значения регистров A и B. Результат действия сохранить в регистре C
- DIV — Разделить (divide) значение регистра A на значение регистра B. Результат действия сохранить в регистре C
- COM — Сравнить (compare) значения регистров A и B. Результат передать в тестовый регистр
- JUMP addr — Перепрыгнуть (jump) к указанному адресу
- JEQ addr — Если выполняется условие равенства значений двух регистров, перепрыгнуть (jump) к указанному адресу
- JNEQ addr — Если условие равенства значений двух регистров не выполняется, перепрыгнуть (jump) к указанному адресу
- JG addr — Если значение больше, перепрыгнуть (jump) к указанному адресу
- JGE addr — Если значение больше или равно, перепрыгнуть (jump) к указанному адресу
- JL addr — Если значение меньше, перепрыгнуть (jump) к указанному адресу
- JLE addr — Если значение меньше или равно, перепрыгнуть (jump) к указанному адресу
- STOP — Остановить (stop) выполнение
Английские слова, обозначающие выполняемые действия, в скобках приведены неспроста. Так мы можем видеть, что язык ассемблера (как и многие другие языки программирования) основан на английском языке, то есть на привычном средстве общения тех людей, которые создавали цифровые технологии.
На компоновку продукта влияет его предназначение
Плотность транзисторов тесно связана с предназначением и стилем разработки продукта. Будет, по меньшей мере, некорректно сравнивать такие сильно отличающиеся друг от друга компоновки, как ASIC с фиксированным быстродействием (к примеру, Broadcom Tomahawk 4 25.6Tb/s или Cisco Silicon One 10.8Tb/s) и высокоскоростной процессор для дата-центров (к примеру, Intel Cascade Lake или Google TPU3).
От ASIC требуется поддержка определенной пропускной способности, а увеличение частоты не приносит ему пользы. К примеру, чип Cisco Silicon One предназначен для высокоскоростных сетей, использующих 400Gbps Ethernet, и от увеличения частоты на 10% он ничего не выиграет. 400Gbps – это стандарт IEEE, а следующая ступень скоростей – уже 800Gbps. В итоге большинство команд разработки ASIC оптимизируют чипы по минимуму стоимости, автоматизации инструментов разработки, уменьшению количества специальных схем и плотности транзисторов.
И наоборот, чем быстрее серверный чип, тем больше он стоит, и поэтому он всегда будет получать преимущество от увеличения частоты. К примеру, Xeon 8268 и 8260 – 24-ядерные процессоры, и отличаются в основном базовой частотой (2,9 ГГц и 2,4 ГГц), в результате чего их стоимость отличается на $1600. Поэтому команда разработки серверов будет стремиться к оптимизации по частоте. Высокоскоростные процессоры обычно используют больше специальных схем и более крупные транзисторы. В современных схемах на базе FinFET это даёт увеличение количества транзисторов с 2, 3 плавниками, и даже больше. И наоборот, низкоскоростная логика, типа параллельных GPU или ASIC чаще использует более плотную компоновку транзисторов всего с одним плавником, принося в жертву тактовую частоту для увеличения плотности. Транзисторы с низкой утечкой также обычно имеют больший размер.
Исполнение закона Мура в 1971-2018 годах
В 1965 году (через шесть лет после изобретения интегральной схемы) один из основателей Intel Гордон Мур в процессе подготовки выступления нашел закономерность: появление новых моделей микросхем наблюдалось спустя примерно год после предшественников, при этом количество транзисторов в них возрастало каждый раз приблизительно вдвое.
Он предсказал, что к 1975 году количество элементов в чипе вырастет до 2 16 (65536) с 2 6 (64) в 1965 году. Мур пришел к выводу, что при сохранении этой тенденции мощность вычислительных устройств за относительно короткий промежуток времени может вырасти экспоненциально.Это наблюдение получило название — закон Мура.
В 1975 году Гордон Мур внёс в свой закон коррективы, согласно которым удвоение числа транзисторов будет происходить каждые два года (24 месяца).
Существует масса схожих утверждений, которые характеризуют процессы экспоненциального роста, также именуемых «законами Мура». К примеру, менее известный «второй закон Мура», введённый в 1998 году Юджином Мейераном, который гласит, что стоимость фабрик по производству микросхем экспоненциально возрастает с усложнением производимых микросхем.
Стоимость фабрики, на которой корпорация Intel производила микросхемы динамической памяти ёмкостью 1 Кбит, составляла $4 млн, а оборудование по производству микропроцессора Pentium по 0,6-микрометровой технологии с 5,5 млн транзисторов обошлось в $2 млрд. Стоимость же Fab32, завода по производству процессоров на базе 45-нм техпроцесса, составила $3 млрд.
По поводу эффектов, обусловленных законом Мура, в журнале «В мире науки» как-то было приведено такое интересное сравнение: «Если бы авиапромышленность в последние 25 лет развивалась столь же стремительно, как промышленность средств вычислительной техники, то сейчас самолёт Boeing 767 стоил бы 500 долл. и совершал облёт земного шара за 20 минут, затрачивая при этом 20 литров топлива. Приведенные цифры весьма точно отражают снижение стоимости, рост быстродействия и повышение экономичности ЭВМ».
Рост числа транзисторов на кристалле микропроцессора (1970-2016). Точки соответствуют наблюдаемым данным, а прямая — периоду удвоения в 24 месяца.
На графике отображены данные о количестве транзисторов в процессорах, производительности, потреблению энергии, количеству логических ядер.
Вместе с тем на прошедшей в рамках выставки CES 2019 пресс-конференции, глава компании NVIDIA Дженсен Хуанг (Jensen Huang) объявил закон Мура более невозможным. Об этом сообщило издание CNET. Дженсен Хуанг заявил, следующее: «Закон Мура более невозможен».
Как теперь отметил топ-менеджер NVIDIA на сессии вопросов и ответов перед небольшим количеством журналистов, прямо сейчас закон Мура выражается в росте на несколько процентов каждый год и удвоение можно ожидать только каждые десять лет.
Интересно, что ещё в 2010 году вице-президент NVIDIA Билл Дэлли (Bill Dally) в своей колонке для журнала Forbes объявил о смерти так называемого закона Мура и отметил, что будущее за параллельными вычислениями.
Будущее — за ARM? И при чем тут Apple
Несколько десятилетий назад еще не существовало так называемых языков программирования «высокого уровня» вроде Python, так что все команды приходилось писать машинным кодом, и каждая подобная команда обозначала какую-либо инструкцию для процессора. В общем, процесс трудоемкий, а главное, громоздкий — каждая программа получалась очень большой и трудночитаемой.
Такой подход назвали RISC (Reduced Instruction Set Computing), то есть компьютер с ограниченным набором команд. С совершенствованием технологий RISC начали развивать двумя способами — так появились архитектуры x86 и ARM. Первая рассчитана на «взрослые» и производительные компьютеры с процессорами от тех же Intel или AMD, которые умеют исполнять инструкции на базе технологии CISC (Complex Instruction Set Computing, то есть вычислительная машина со сложным набором команд), вторая — на относительно небольшие мобильные устройства с низким потреблением энергии, исполняющие усовершенствованные и более простые инструкции RISC.
Если еще немного упростить: говорим CISC — имеем в виду «классические» процессоры от компаний Intel или AMD, говорим RISC — подразумеваем варианты мобильных «систем на чипе», как у Apple или Samsung. Чтобы сделать процессор с x86-архитектурой, производителю необходимо самому придумать и нарисовать все транзисторы и соединения между ними. Это сложно и дорого. С ARM ситуация иная: любая компания может купить лицензию и сделать свой процессор с этой архитектурой, изменив компоновку и добавив другие модули.
Сложность в том, что программы, созданные для CISC (то есть x86, больших настольных процессоров), не способны прочитаться RISC-чипами (ARM, мобильные варианты) из-за разного набора инструкций. Поэтому до недавнего времени просто так запустить на компьютере программу, созданную для смартфона, не получалось.
Решение Apple перейти в компьютерах на ARM-чипы, схожие с применяющимися в iPhone и понимающие инструкции для RISC-процессоров, называют революционным благодаря тому, что компания отыскала программный способ заставить их читать софт, созданный для старых процессоров Intel под архитектуру x86. То есть компьютеры Apple последнего поколения с фирменными чипами M1 на ARM-архитектуре универсальны и берут лучшее от двух миров: производительность, энергоэффективность и возможность чтения программ, созданных для устройств обоих типов.
Пойдут ли по такому пути другие гиганты вроде Intel и AMD? Пока однозначно утверждать это нельзя. Все же их «классические» CPU показывают не меньшую, а то и бо́льшую пиковую производительность. Кроме того, их процессоры в массовом сегменте, как правило, предназначены для компьютеров под управлением операционной системы Windows, а схожую работу по оптимизации ОС таким образом, чтобы она могла читать программы для обеих архитектур, в Microsoft еще не провели.
14.2″ 3024 x 1964 IPS, 120 Гц, несенсорный, Apple M1 Pro (8 ядер), 16 ГБ, SSD 512 ГБ, видеокарта встроенная, Mac OS, цвет крышки серебристый