Зачем нам так много транзисторов?

34

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

Тем не менее, я недавно прочитал о законе Мура, среди других случайных интернет-статей, что современные электронные устройства содержат огромное количество транзисторов, упакованных в них, причем количество транзисторов в современной электронике составляет миллионы, если не миллиарды.

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

Кеннет
источник
7
Я бы посоветовал перейти к тому, из чего сделан ваш чип. Сумматоры, множители, мультиплексоры, память, больше памяти ... И подумайте о количестве этих вещей, которые должны присутствовать там ...
Дзарда
9
Несколько связано (и самореклама): Почему больше транзисторов = больше вычислительной мощности?
Пол А. Клейтон
1
Кроме того, постоянное использование транзисторов в качестве замены для большинства механических устройств помогло сформировать современную потребительскую электронику больше всего на свете. Представьте, как ваш телефон щелкает каждый раз, когда он включает или выключает подсветку (в то время как размер и вес автомобиля)
Mark
7
Вы спрашиваете, почему мы не можем «сделать вещи более эффективными», чтобы использовать меньше транзисторов; Вы предполагаете, что мы стремимся минимизировать количество транзисторов. Но что, если энергоэффективность повышается за счет добавления большего количества средств управления? Или, что более важно, экономия времени при выполнении любых вычислений? «Эффективность» - это не одно.
OJFord
2
Дело не в том, что нам нужно столько транзисторов для создания процессора, но, поскольку мы можем сделать все эти транзисторы, мы могли бы использовать их так, чтобы сделать процессор быстрее.
user253751

Ответы:

46

Да, транзисторы - это переключатели, но они предназначены не только для включения и выключения света.

Переключатели сгруппированы в логические элементы. Логические элементы сгруппированы в логические блоки. Логические блоки сгруппированы в логические функции. Логические функции сгруппированы в микросхемы.

Например, логический элемент TTL NAND обычно использует 2 транзистора (вентили NAND считаются одним из фундаментальных строительных блоков логики наряду с NOR):

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

Поскольку технология перешла от TTL к CMOS (который теперь является стандартом де-факто), транзисторы практически удвоились. Например, вентиль NAND перешел с 2 транзисторов на 4:

схематический

смоделировать эту схему

Защелка (например, SR) может быть выполнена с использованием 2-х затворов CMOS NAND, то есть 8 транзисторов. Следовательно, 32-битный регистр может быть создан с использованием 32 триггеров, то есть 64 вентилей NAND или 256 транзисторов. У ALU может быть несколько регистров, а также множество других затворов, поэтому количество транзисторов быстро растет.

Чем сложнее функции, выполняемые чипом, тем больше затворов требуется, и, следовательно, больше транзисторов.

Ваш средний процессор в наши дни значительно сложнее, чем, скажем, чип Z80 30 лет назад. Он не только использует регистры, ширина которых в 8 раз больше, но фактические операции, которые он выполняет (сложные трехмерные преобразования, векторная обработка и т. Д.), Намного сложнее, чем могут выполнять более старые чипы. Отдельная инструкция в современном процессоре может занять много секунд (или даже минут) вычислений в старом 8-разрядном процессоре, и все, что в конечном итоге делается с использованием большего количества транзисторов.

Majenko
источник
NAND = 4, а не 2 Транзистора и FF больше, чем просто 2 NOR
заполнитель
2
Боже мой! вам действительно нужно переосмыслить это. Покажите даже ОДИН дизайн, который имеет Миллион транзисторов, который сделан в Биполярном !! ВСЕ эти конструкции - CMOS,
заполнитель
2
Честная оценка. Добавлена ​​вторая схема, чтобы подчеркнуть разницу, и последующее удвоение транзисторов как раз из этого.
Майенко
3
Слабый против сильного подтягивания это совершенно другая проблема, чем TTL против CMOS. BJT приходят в PNP, в конце концов. CMOS не предполагает «удвоение транзисторов». Масштабная интеграция делает, так как транзисторы намного меньше, чем подтягивающие резисторы в любом процессе ASIC.
Бен Фойгт
1
Это не ворота TTL NAND. Это логический вентиль RTL.
fuzzyhair2
16

Я проверил местного поставщика различных полупроводниковых устройств, и самый большой чип SRAM у них был 32 Мбит. Это 32 миллиона отдельных областей, где можно хранить 1 или 0. Принимая во внимание, что «минимум» 1 транзистор необходим для хранения 1 бита информации, тогда это абсолютный минимум 32 миллиона транзисторов.

Что 32 Мбит дает вам? Это 4 мегабайта или примерно 4-х минутный музыкальный файл MP3 низкого качества.


РЕДАКТИРОВАТЬ - ячейка памяти SRAM в соответствии с моим поиском выглядит следующим образом:

введите описание изображения здесь

Итак, это 6 транзисторов на бит и более, как 192 миллиона транзисторов на этом чипе, о котором я упоминал.

Энди ака
источник
... а теперь представьте себе 8 ГБ памяти с 68719476736 битами информации
Камил
1
... за исключением того, что они не используют транзисторы в DRAM.
Majenko
1
@Majenko: По крайней мере, не так много, как для других технологий. 1 транзистор + 1 конденсатор (на микроскопической области видимости) на 1 бит - если я правильно помню.
Откр
28
Каждый бит SRAM составляет не менее 4, а часто 6 транзисторов, то есть 128 миллионов транзисторов или более. DRAM не использует транзисторы для хранения - но каждый бит (хранящийся на конденсаторе) имеет свой собственный транзисторный переключатель для зарядки крышки.
Брайан Драммонд
6
Теперь представьте, что транзисторы в 1T SSD (предоставлены 3 бита на ячейку, и это на более чем одном чипе), но это все еще 2,7 триллиона транзисторов только для хранения - не считая адресации, контроля и учета неисправных битов и износа).
Спехро Пефхани
7

Я думаю, что ОП может быть сбит с толку электронными устройствами, имеющими так много транзисторов. Закон Мура в первую очередь касается компьютеров (процессоров, SRAM / DRAM / связанных систем хранения, графических процессоров, FPGA и т. Д.). Что - то , как транзистор может быть ( в основном) на одном чипе, но не может использовать все что многих транзисторов. Вычислительные устройства, с другой стороны, имеют ненасытный аппетит для транзисторов для дополнительных функций и большей ширины данных.

Фил Перри
источник
3
Радио в наши дни являются вычислительными устройствами или, по крайней мере, содержат их. Цифровой синтез частот FM, обработка сигнала DSP аудио (важная персона), цифровой диспетчерский контроль переключения станций и так далее. Например, TAS3208 ti.com/lit/ds/symlink/tas3208.pdf
Спехро Пефхани
1
Вы все еще не увидите десятки или сотни миллионов, а тем более миллиардов транзисторов, используемых для радио. Конечно, они становятся маленькими компьютерами специального назначения со всеми этими цифровыми функциями, но ничто в масштабе многоядерного 64-битного процессора.
Фил Перри,
@PhilPerry, конечно, цифровое радио имеет что-то вроде ARM? Не миллиарды транзисторов, но десятки миллионов.
Что ж, если вы пересекли «черту» от аналогового радио до компьютера, который (помимо прочего) принимает радиосигналы, вы будете использовать множество транзисторов. Я по-прежнему считаю, что вопрос ОП об электронных устройствах звучит как путаница между классическими аналоговыми радио и т. Д. И вычислительными устройствами. Да, они выступают совершенно по-разному, даже если оба черных ящика вытаскивают музыку из воздуха.
Фил Перри
4

Как указывалось ранее, для SRAM требуется 6 транзисторов на бит. Поскольку мы увеличиваем наши кэши (для повышения эффективности), нам требуется все больше и больше транзисторов. Глядя на пластину процессора , вы можете увидеть, что кэш больше, чем одно ядро ​​процессора, и, если вы посмотрите ближе к ядрам, вы увидите хорошо организованные части в нем, которые также являются кешем (вероятно, данные и инструкция L1). кэша). Кэш-память объемом 6 МБ требует 300 миллионов транзисторов (плюс логика адресации).

Но, как уже говорилось ранее, транзисторы - не единственная причина для увеличения количества транзисторов. На современном Core i7 вы выполняете более 7 инструкций за такт и ядро ​​(используя известный тест dhrystone). Это означает одно: современные процессоры выполняют много параллельных вычислений. Выполнение большего количества операций в одно и то же время требует большего количества юнитов, чтобы сделать это, и очень умной логики, чтобы планировать это. Более умная логика требует гораздо более сложных логических уравнений и гораздо больше транзисторов для ее реализации.

Джейсен
источник
SRAM не требует 6 транзисторов в течение нескольких лет. На самом деле 6T Sram довольно расточительна, когда вы используете 1T 2T или 4T срам, так как по существу падение замены.
cb88
2

Отойдя от деталей немного:

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

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

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

Современные компьютеры также имеют все большее количество отдельных ядер (несколько процессоров на одном чипе).

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

Тогда есть графические процессоры (графические процессоры). Графический процессор может иметь ТЫСЯЧУ отдельных процессоров с плавающей запятой, которые оптимизированы для векторной математики, и в каждом подпроцессоре будет несколько миллионов транзисторов.

Дункан С
источник
1

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

  • Более сложные наборы команд
  • Больше встроенного кэша, поэтому требуется меньше выборок из оперативной памяти
  • Больше регистров
  • Больше процессорных ядер
Дэниел Уилсон
источник
1

Помимо увеличения объема оперативной памяти, кеша, регистров, а также добавления большего количества вычислительных ядер и увеличения ширины шины (32 против 64 бит и т. Д.), Это связано с тем, что ЦП становится все более сложным.

Процессоры - это вычислительные блоки, состоящие из других вычислительных блоков. Инструкция CPU проходит несколько этапов. В старые времена была одна ступень, и тактовый сигнал был бы таким же, как и наихудшее время для установки всех логических элементов (сделанных из транзисторов). Затем мы изобрели конвейерную разметку, в которой процессор был разбит на этапы: выборка инструкций, декодирование, обработка и запись результатов. Этот простой четырехступенчатый процессор может работать с тактовой частотой, равной 4-кратной первоначальной. Каждый этап отделен от других этапов. Это означает, что вы можете не только увеличить тактовую частоту до 4х (при 4-кратном усилении), но теперь у вас может быть 4-уровневые (или «конвейерные») инструкции в ЦП, что в 4 раза увеличивает производительность. Однако теперь «опасности» создаются потому, что одна поступающая инструкция может зависеть от результата предыдущей инструкции, а потому что s конвейеризован, он не получит его, поскольку входит в стадию процесса, а другой выходит из стадии процесса. Поэтому вам нужно добавить схему, чтобы переслать этот результат в команду, входящую в стадию процесса. Альтернативой является остановка конвейера, что снижает производительность.

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

Другие схемы также могут быть улучшены. Тривиальный цифровой сумматор, называемый сумматором с волновым переносом, является самым простым, самым маленьким, но самым медленным сумматором. Самым быстрым сумматором является сумматор с упреждением с переносом, который использует огромное количество схем. На моем курсе по компьютерной инженерии у меня не хватило памяти в симуляторе 32-разрядного сумматора с упреждением переноса, поэтому я разрезал его пополам, 2 16-битных сумматора CLA в конфигурации с пульсацией переноса. (Сложение и вычитание очень сложно для компьютеров, умножение легко, деление очень сложно)

Побочным эффектом всего этого является уменьшение размера транзисторов и разделение каскадов, поэтому тактовые частоты могут увеличиваться. Это позволяет процессору выполнять больше работы, поэтому он работает быстрее. Кроме того, по мере увеличения частот задержки распространения становятся все более очевидными (время, необходимое для завершения этапа конвейера и для того, чтобы сигнал был доступен на другой стороне). Из-за полного сопротивления эффективная скорость распространения составляет около 1 фута в наносекунду. (1 ГГц). По мере того, как увеличивается ваша тактовая частота, расположение чипов становится все более важным, поскольку максимальный размер чипа 4 ГГц составляет 3 дюйма. Итак, теперь вы должны начать включать дополнительные шины и схемы для управления всеми данными, перемещающимися вокруг чипа.

Мы также постоянно добавляем инструкции к фишкам. SIMD (одна инструкция, несколько данных), энергосбережение и т. Д. Все они требуют схемотехники.

Наконец, мы добавляем больше возможностей для чипов. В старые времена ваш ЦП и АЛУ (Арифметическая логическая единица) были отдельными. Мы объединили их. FPU (модуль с плавающей запятой) был отдельным, который тоже был объединен. Сейчас мы добавляем USB 3.0, ускорение видео, декодирование MPEG и т. Д. Мы все больше и больше переносим вычисления с программного обеспечения на аппаратное обеспечение.

user9170
источник
1

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

Эффективно ли использовать как можно меньше транзисторов при проектировании?

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

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

Во времена, когда микросхемы только начинали, был определенный толчок к тому, чтобы поддерживать необходимое количество компонентов на минимально возможном уровне. Это было просто потому, что они оказали значительное влияние на стоимость конечного продукта (на самом деле, они часто составляли большую часть стоимости продукта), а когда вы создаете готовый «коробочный» продукт, стоимость рабочей силы составляет распределить по всем кусочкам, которые вы делаете. Первые компьютеры на базе микросхем (например, видео-аркады) были рассчитаны на минимально возможную цену за штуку. Однако на фиксированную стоимость (в отличие от стоимости за единицу) сильно влияет сумма, которую вы можете продать. Если вы собираетесь продавать только пару, вероятно, не стоит тратить слишком много времени на снижение стоимости за штуку. Если вы пытались построить целый огромный рынок, с другой стороны,

Обратите внимание на важную часть: имеет смысл вкладывать много времени в повышение «эффективности», когда вы разрабатываете что-то для массового производства. В основном это и есть «промышленность» - у ремесленников затраты на квалифицированный труд часто являются основными затратами на готовую продукцию, на фабрике большую часть затрат составляют материалы и (относительно) неквалифицированный труд.

Давайте перенесемся в революцию ПК. Когда появились компьютеры в стиле IBM, они были очень глупы. Чрезвычайно глупый. Это были компьютеры общего назначения. Практически для любой задачи вы могли бы разработать устройство, которое могло бы делать это лучше, быстрее, дешевле. Другими словами, в упрощенном ракурсе эффективности они были крайне неэффективными. Калькуляторы были намного дешевле, умещались в кармане и долго работали от аккумулятора. У игровых приставок было специальное оборудование, чтобы они очень хорошо создавали игры. Проблема была в том, что они больше ничего не могли сделать. ПК мог делать все - у него было гораздо худшее соотношение цена / производительность, но вы не были вовлечены в создание калькулятора или игровой консоли 2D-спрайта. Почему Wolfenstein и Doom (и на компьютерах Apple, Марафон) появляются на компьютерах общего назначения, а не на игровых приставках? Поскольку консоли были очень хороши в создании 2D-игр на основе спрайтов (представьте типичную JRPG или такие игры, как Contra), но когда вы захотели отойти от эффективного оборудования, вы обнаружили, что вычислительной мощности недостаточно, чтобы делать что-то еще!

Итак, очевидно менее эффективный подход дает вам несколько очень интересных вариантов:

  • Это дает вам больше свободы. Сравните старые 2D-консоли со старыми ПК IBM и старыми ускорителями 3D-графики с современными графическими процессорами, которые сами по себе постепенно превращаются в компьютеры общего назначения.
  • Это позволяет повысить эффективность массового производства, даже несмотря на то, что конечные продукты (программное обеспечение) в некотором смысле «ремесленники». Таким образом, такие компании, как Intel, могут снизить стоимость единицы работы гораздо эффективнее, чем все отдельные разработчики во всем мире.
  • Это дает больше места для большего количества абстракций в разработке, что позволяет лучше повторно использовать готовые решения, что, в свою очередь, позволяет снизить затраты на разработку и тестирование для повышения производительности. Это в основном причина, по которой каждый школьник может написать полноценное приложение на основе графического интерфейса пользователя с доступом к базе данных и подключением к Интернету, а также все остальное, что было бы чрезвычайно сложно разработать, если бы вам всегда приходилось начинать с нуля.
  • В ПК это означало, что ваши приложения в основном становились быстрее со временем без вашего участия. Время бесплатного обеда в основном закончилось, так как улучшать скорость работы компьютеров становится все труднее, но это формировало большую часть срока службы ПК.

Все это приводит к «трате» транзисторов, но это не реальная трата, потому что реальные общие затраты ниже, чем они были бы, если бы вы настаивали на простом «как можно меньшем количестве транзисторов».

Luaan
источник
1

Другая сторона истории «так много транзисторов» заключается в том, что эти транзисторы не разработаны человеком индивидуально. Современное ядро ​​ЦП имеет порядка 0,1 миллиарда транзисторов, и ни один из этих транзисторов напрямую не разрабатывается человеком. Это было бы невозможно. 75-летний срок службы составляет всего 2,3 миллиарда секунд.

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

Инструменты синтеза схем не генерируют конструкции с наименьшим возможным количеством транзисторов. Это сделано по множеству причин.

Во-первых, давайте рассмотрим наиболее простой случай: любая сложная схема может быть смоделирована гораздо более простым, возможно, последовательным ЦП с достаточным объемом памяти. Вы, конечно, можете с большой точностью смоделировать микросхему i7, если только подключите к Arduino достаточно последовательной оперативной памяти. Такое решение будет иметь гораздо меньше транзисторов, чем реальный процессор, и будет работать крайне медленно, с эффективной тактовой частотой 1 кГц или меньше. Мы явно не намерены заходить так далеко, чтобы уменьшить количество транзисторов .

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

Даже в этом случае оптимизация для минимального числа транзисторов, вероятно, приведет к созданию конструкций, которые невозможно изготовить с использованием какого-либо существующего полупроводникового процесса. Зачем? Поскольку микросхемы, которые вы можете на самом деле сделать, являются двухмерными структурами и требуют некоторой избыточности схемы просто для того, чтобы вы могли соединить эти транзисторы, не требуя для этого килограмма металла. Вещество и разветвление транзисторов и вытекающих затворов имеет значение.

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

Восстановить Монику
источник
0

Я думаю, что ОП нужно знать, что для «простого выключателя» часто требуется несколько транзисторов? Зачем? Ну по многим причинам. Иногда требуются дополнительные транзисторы, чтобы потребляемая мощность была низкой для состояния «включено» или «выключено». Иногда необходимы транзисторы, чтобы справиться с неопределенностью входов напряжения или спецификаций компонентов. Причин много. Но я ценю суть. Посмотрите на принципиальную схему для OP-AMP, и вы увидите несколько десятков транзисторов! Но их бы там не было, если бы они не служили какой-либо цели для трассы.

Jiminion
источник
0

В основном все, что понимает компьютер, это 0 с и 1 с, что определяется этими переключателями. Да, функции транзисторов больше, чем у переключателей. Таким образом, если переключатель может решить, должен ли выходной сигнал быть 0 или 1 (при условии, что это как одна операция bi), тем больше число битов. чем больше транзисторов .. так что неудивительно, почему мы должны встраивать миллионы транзисторов в один микропроцессор .. :)


источник
0

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

введите описание изображения здесь

Дипак Бервал
источник