Транзисторы служат нескольким целям в электрической цепи, то есть переключателям, для усиления электронных сигналов, позволяя вам контролировать ток и т. Д.
Тем не менее, я недавно прочитал о законе Мура, среди других случайных интернет-статей, что современные электронные устройства содержат огромное количество транзисторов, упакованных в них, причем количество транзисторов в современной электронике составляет миллионы, если не миллиарды.
Однако зачем вообще так много транзисторов? Если транзисторы работают как переключатели и т. Д., Зачем нам их столь абсурдно большое количество в наших современных электронных устройствах? Разве мы не можем сделать вещи более эффективными, чтобы мы использовали менее транзисторы, чем те, которые мы используем в настоящее время?
Ответы:
Да, транзисторы - это переключатели, но они предназначены не только для включения и выключения света.
Переключатели сгруппированы в логические элементы. Логические элементы сгруппированы в логические блоки. Логические блоки сгруппированы в логические функции. Логические функции сгруппированы в микросхемы.
Например, логический элемент 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-разрядном процессоре, и все, что в конечном итоге делается с использованием большего количества транзисторов.
источник
Я проверил местного поставщика различных полупроводниковых устройств, и самый большой чип SRAM у них был 32 Мбит. Это 32 миллиона отдельных областей, где можно хранить 1 или 0. Принимая во внимание, что «минимум» 1 транзистор необходим для хранения 1 бита информации, тогда это абсолютный минимум 32 миллиона транзисторов.
Что 32 Мбит дает вам? Это 4 мегабайта или примерно 4-х минутный музыкальный файл MP3 низкого качества.
РЕДАКТИРОВАТЬ - ячейка памяти SRAM в соответствии с моим поиском выглядит следующим образом:
Итак, это 6 транзисторов на бит и более, как 192 миллиона транзисторов на этом чипе, о котором я упоминал.
источник
Я думаю, что ОП может быть сбит с толку электронными устройствами, имеющими так много транзисторов. Закон Мура в первую очередь касается компьютеров (процессоров, SRAM / DRAM / связанных систем хранения, графических процессоров, FPGA и т. Д.). Что - то , как транзистор может быть ( в основном) на одном чипе, но не может использовать все что многих транзисторов. Вычислительные устройства, с другой стороны, имеют ненасытный аппетит для транзисторов для дополнительных функций и большей ширины данных.
источник
Как указывалось ранее, для SRAM требуется 6 транзисторов на бит. Поскольку мы увеличиваем наши кэши (для повышения эффективности), нам требуется все больше и больше транзисторов. Глядя на пластину процессора , вы можете увидеть, что кэш больше, чем одно ядро процессора, и, если вы посмотрите ближе к ядрам, вы увидите хорошо организованные части в нем, которые также являются кешем (вероятно, данные и инструкция L1). кэша). Кэш-память объемом 6 МБ требует 300 миллионов транзисторов (плюс логика адресации).
Но, как уже говорилось ранее, транзисторы - не единственная причина для увеличения количества транзисторов. На современном Core i7 вы выполняете более 7 инструкций за такт и ядро (используя известный тест dhrystone). Это означает одно: современные процессоры выполняют много параллельных вычислений. Выполнение большего количества операций в одно и то же время требует большего количества юнитов, чтобы сделать это, и очень умной логики, чтобы планировать это. Более умная логика требует гораздо более сложных логических уравнений и гораздо больше транзисторов для ее реализации.
источник
Отойдя от деталей немного:
Компьютеры являются сложными цифровыми коммутационными устройствами. Они имеют слой за слоем за слоем сложности. Простейший уровень - это логические вентили, такие как вентили NAND, как уже обсуждалось. Затем вы попадаете в сумматоры, регистры сдвига, защелки и т. Д. Затем вы добавляете тактовую логику, декодирование команд, кэши, арифметические единицы, декодирование адресов. Это продолжается и продолжается и продолжается. , (Не говоря уже о памяти, для которой требуется несколько транзисторов на бит хранимых данных)
Каждый из этих уровней использует множество частей от предыдущего уровня сложности, все из которых основаны на множестве базовых логических элементов.
Затем вы добавляете параллелизм. Для того чтобы получить все более и более высокую производительность, современные компьютеры предназначены для одновременного выполнения множества задач. Внутри одного ядра декодер адресов, арифметический модуль, векторный процессор, менеджер кэша и различные другие подсистемы работают одновременно, со своими собственными системами управления и системами синхронизации.
Современные компьютеры также имеют все большее количество отдельных ядер (несколько процессоров на одном чипе).
Каждый раз, когда вы поднимаетесь на уровень абстракции, вы на много порядков усложняетесь. Даже самый низкий уровень сложности имеет тысячи транзисторов. Поднимитесь на подсистемы высокого уровня, такие как процессор, и вы говорите, по крайней мере, о миллионах транзисторов.
Тогда есть графические процессоры (графические процессоры). Графический процессор может иметь ТЫСЯЧУ отдельных процессоров с плавающей запятой, которые оптимизированы для векторной математики, и в каждом подпроцессоре будет несколько миллионов транзисторов.
источник
Не пытаясь обсудить, сколько транзисторов необходимо для конкретных элементов, процессор использует больше транзисторов для расширения возможностей, включая:
источник
Помимо увеличения объема оперативной памяти, кеша, регистров, а также добавления большего количества вычислительных ядер и увеличения ширины шины (32 против 64 бит и т. Д.), Это связано с тем, что ЦП становится все более сложным.
Процессоры - это вычислительные блоки, состоящие из других вычислительных блоков. Инструкция CPU проходит несколько этапов. В старые времена была одна ступень, и тактовый сигнал был бы таким же, как и наихудшее время для установки всех логических элементов (сделанных из транзисторов). Затем мы изобрели конвейерную разметку, в которой процессор был разбит на этапы: выборка инструкций, декодирование, обработка и запись результатов. Этот простой четырехступенчатый процессор может работать с тактовой частотой, равной 4-кратной первоначальной. Каждый этап отделен от других этапов. Это означает, что вы можете не только увеличить тактовую частоту до 4х (при 4-кратном усилении), но теперь у вас может быть 4-уровневые (или «конвейерные») инструкции в ЦП, что в 4 раза увеличивает производительность. Однако теперь «опасности» создаются потому, что одна поступающая инструкция может зависеть от результата предыдущей инструкции, а потому что s конвейеризован, он не получит его, поскольку входит в стадию процесса, а другой выходит из стадии процесса. Поэтому вам нужно добавить схему, чтобы переслать этот результат в команду, входящую в стадию процесса. Альтернативой является остановка конвейера, что снижает производительность.
Каждый этап конвейера и, в частности, часть процесса, можно подразделить на все больше и больше этапов. В результате вы создаете огромное количество схем для обработки всех взаимозависимостей (опасностей) в конвейере.
Другие схемы также могут быть улучшены. Тривиальный цифровой сумматор, называемый сумматором с волновым переносом, является самым простым, самым маленьким, но самым медленным сумматором. Самым быстрым сумматором является сумматор с упреждением с переносом, который использует огромное количество схем. На моем курсе по компьютерной инженерии у меня не хватило памяти в симуляторе 32-разрядного сумматора с упреждением переноса, поэтому я разрезал его пополам, 2 16-битных сумматора CLA в конфигурации с пульсацией переноса. (Сложение и вычитание очень сложно для компьютеров, умножение легко, деление очень сложно)
Побочным эффектом всего этого является уменьшение размера транзисторов и разделение каскадов, поэтому тактовые частоты могут увеличиваться. Это позволяет процессору выполнять больше работы, поэтому он работает быстрее. Кроме того, по мере увеличения частот задержки распространения становятся все более очевидными (время, необходимое для завершения этапа конвейера и для того, чтобы сигнал был доступен на другой стороне). Из-за полного сопротивления эффективная скорость распространения составляет около 1 фута в наносекунду. (1 ГГц). По мере того, как увеличивается ваша тактовая частота, расположение чипов становится все более важным, поскольку максимальный размер чипа 4 ГГц составляет 3 дюйма. Итак, теперь вы должны начать включать дополнительные шины и схемы для управления всеми данными, перемещающимися вокруг чипа.
Мы также постоянно добавляем инструкции к фишкам. SIMD (одна инструкция, несколько данных), энергосбережение и т. Д. Все они требуют схемотехники.
Наконец, мы добавляем больше возможностей для чипов. В старые времена ваш ЦП и АЛУ (Арифметическая логическая единица) были отдельными. Мы объединили их. FPU (модуль с плавающей запятой) был отдельным, который тоже был объединен. Сейчас мы добавляем USB 3.0, ускорение видео, декодирование MPEG и т. Д. Мы все больше и больше переносим вычисления с программного обеспечения на аппаратное обеспечение.
источник
Majenko имеет отличный ответ о том, как используются транзисторы. Итак, позвольте мне вместо этого перейти от другого подхода к решению проблемы эффективности.
Эффективно ли использовать как можно меньше транзисторов при проектировании?
Это в основном сводится к тому, о какой эффективности вы говорите. Возможно, вы являетесь представителем религии, которая утверждает, что необходимо использовать как можно меньше транзисторов - в этом случае ответ в значительной степени дан. Или, может быть, вы компания, создающая продукт. Внезапно простой вопрос об эффективности становится очень сложным вопросом о соотношении затрат и выгод.
И вот что важно: транзисторы в интегральных микросхемах чрезвычайно дешевы, и со временем они становятся все дешевле (твердотельные накопители являются отличным примером снижения стоимости транзисторов). Труд, с другой стороны, очень дорогой.
Во времена, когда микросхемы только начинали, был определенный толчок к тому, чтобы поддерживать необходимое количество компонентов на минимально возможном уровне. Это было просто потому, что они оказали значительное влияние на стоимость конечного продукта (на самом деле, они часто составляли большую часть стоимости продукта), а когда вы создаете готовый «коробочный» продукт, стоимость рабочей силы составляет распределить по всем кусочкам, которые вы делаете. Первые компьютеры на базе микросхем (например, видео-аркады) были рассчитаны на минимально возможную цену за штуку. Однако на фиксированную стоимость (в отличие от стоимости за единицу) сильно влияет сумма, которую вы можете продать. Если вы собираетесь продавать только пару, вероятно, не стоит тратить слишком много времени на снижение стоимости за штуку. Если вы пытались построить целый огромный рынок, с другой стороны,
Обратите внимание на важную часть: имеет смысл вкладывать много времени в повышение «эффективности», когда вы разрабатываете что-то для массового производства. В основном это и есть «промышленность» - у ремесленников затраты на квалифицированный труд часто являются основными затратами на готовую продукцию, на фабрике большую часть затрат составляют материалы и (относительно) неквалифицированный труд.
Давайте перенесемся в революцию ПК. Когда появились компьютеры в стиле IBM, они были очень глупы. Чрезвычайно глупый. Это были компьютеры общего назначения. Практически для любой задачи вы могли бы разработать устройство, которое могло бы делать это лучше, быстрее, дешевле. Другими словами, в упрощенном ракурсе эффективности они были крайне неэффективными. Калькуляторы были намного дешевле, умещались в кармане и долго работали от аккумулятора. У игровых приставок было специальное оборудование, чтобы они очень хорошо создавали игры. Проблема была в том, что они больше ничего не могли сделать. ПК мог делать все - у него было гораздо худшее соотношение цена / производительность, но вы не были вовлечены в создание калькулятора или игровой консоли 2D-спрайта. Почему Wolfenstein и Doom (и на компьютерах Apple, Марафон) появляются на компьютерах общего назначения, а не на игровых приставках? Поскольку консоли были очень хороши в создании 2D-игр на основе спрайтов (представьте типичную JRPG или такие игры, как Contra), но когда вы захотели отойти от эффективного оборудования, вы обнаружили, что вычислительной мощности недостаточно, чтобы делать что-то еще!
Итак, очевидно менее эффективный подход дает вам несколько очень интересных вариантов:
Все это приводит к «трате» транзисторов, но это не реальная трата, потому что реальные общие затраты ниже, чем они были бы, если бы вы настаивали на простом «как можно меньшем количестве транзисторов».
источник
Другая сторона истории «так много транзисторов» заключается в том, что эти транзисторы не разработаны человеком индивидуально. Современное ядро ЦП имеет порядка 0,1 миллиарда транзисторов, и ни один из этих транзисторов напрямую не разрабатывается человеком. Это было бы невозможно. 75-летний срок службы составляет всего 2,3 миллиарда секунд.
Таким образом, чтобы сделать такие огромные конструкции осуществимыми, люди участвуют в определении функциональности устройства на гораздо более высоком уровне абстракции, чем отдельные транзисторы. Преобразование в отдельные транзисторы известно как синтез схем, и выполняется очень дорогими, запатентованными инструментами, которые в общей сложности стоят порядка миллиарда долларов на разработку в течение многих лет, объединяясь среди основных производителей процессоров и литейных заводов.
Инструменты синтеза схем не генерируют конструкции с наименьшим возможным количеством транзисторов. Это сделано по множеству причин.
Во-первых, давайте рассмотрим наиболее простой случай: любая сложная схема может быть смоделирована гораздо более простым, возможно, последовательным ЦП с достаточным объемом памяти. Вы, конечно, можете с большой точностью смоделировать микросхему i7, если только подключите к Arduino достаточно последовательной оперативной памяти. Такое решение будет иметь гораздо меньше транзисторов, чем реальный процессор, и будет работать крайне медленно, с эффективной тактовой частотой 1 кГц или меньше. Мы явно не намерены заходить так далеко, чтобы уменьшить количество транзисторов .
Таким образом, мы должны ограничиться определенным классом преобразований конструкции в транзисторы: теми, которые поддерживают параллельную емкость, встроенную в первоначальный дизайн.
Даже в этом случае оптимизация для минимального числа транзисторов, вероятно, приведет к созданию конструкций, которые невозможно изготовить с использованием какого-либо существующего полупроводникового процесса. Зачем? Поскольку микросхемы, которые вы можете на самом деле сделать, являются двухмерными структурами и требуют некоторой избыточности схемы просто для того, чтобы вы могли соединить эти транзисторы, не требуя для этого килограмма металла. Вещество и разветвление транзисторов и вытекающих затворов имеет значение.
Наконец, инструменты не являются теоретически совершенными: обычно требуется слишком много процессорного времени и памяти, чтобы генерировать решения, которые являются глобально минимальными с точки зрения количества транзисторов, учитывая ограничение на технологичный чип.
источник
Я думаю, что ОП нужно знать, что для «простого выключателя» часто требуется несколько транзисторов? Зачем? Ну по многим причинам. Иногда требуются дополнительные транзисторы, чтобы потребляемая мощность была низкой для состояния «включено» или «выключено». Иногда необходимы транзисторы, чтобы справиться с неопределенностью входов напряжения или спецификаций компонентов. Причин много. Но я ценю суть. Посмотрите на принципиальную схему для OP-AMP, и вы увидите несколько десятков транзисторов! Но их бы там не было, если бы они не служили какой-либо цели для трассы.
источник
В основном все, что понимает компьютер, это 0 с и 1 с, что определяется этими переключателями. Да, функции транзисторов больше, чем у переключателей. Таким образом, если переключатель может решить, должен ли выходной сигнал быть 0 или 1 (при условии, что это как одна операция bi), тем больше число битов. чем больше транзисторов .. так что неудивительно, почему мы должны встраивать миллионы транзисторов в один микропроцессор .. :)
источник
В эпоху технологий нам нужны умные устройства (маленькие, быстрые и эффективные). Эти устройства состоят из интегральных схем (ИС), которые содержат нет. транзисторов. Нам нужно все больше и больше транзисторов, чтобы сделать ИС умнее и быстрее, потому что в электронике каждая схема в ИС состоит из сумматора, субтрактора, умножителя, делителя, логических вентилей, регистров, мультиплексоров, триггеров, счетчиков, переключателей, памяти и микропроцессоры и т. д. для реализации любой логики в устройствах, и они состоят только из транзисторов (MOSFET). С помощью транзисторов мы можем реализовать любую логику. Поэтому нам нужно все больше и больше транзисторов .....
источник