Транзисторы служат нескольким целям в электрической цепи, например, переключатели для усиления электронных сигналов, позволяя вам контролировать ток и т. д.
Тем не менее, я недавно прочитал о законе Мура среди других случайных статей в Интернете, что современные электронные устройства содержат огромное количество транзисторов, а количество транзисторов в современной электронике исчисляется миллионами, если не миллиардами.
Однако зачем вообще кому-то нужно так много транзисторов? Если транзисторы работают как переключатели и т. д., зачем нам такое абсурдно большое их количество в наших современных электронных устройствах? Разве мы не можем сделать вещи более эффективными, чтобы использовать намного меньше транзисторов, чем мы используем сейчас?
Транзисторы — это переключатели, да, но переключатели предназначены не только для включения и выключения света.
Переключатели сгруппированы в логические вентили. Логические вентили сгруппированы в логические блоки. Логические блоки сгруппированы в логические функции. Логические функции сгруппированы в микросхемы.
Например, вентиль TTL NAND обычно использует 2 транзистора (вентиль NAND считается одним из основных строительных блоков логики, наряду с NOR):
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Когда технология перешла от TTL к CMOS (которая теперь является стандартом де-факто), количество транзисторов практически мгновенно удвоилось. Например, вентиль И-НЕ изменился с 2 транзисторов на 4:
Защелку (такую как SR) можно сделать с помощью 2 вентилей CMOS NAND, то есть 8 транзисторов. Таким образом, 32-битный регистр может быть создан с использованием 32 триггеров, то есть 64 вентилей И-НЕ или 256 транзисторов. ALU может иметь несколько регистров, а также множество других вентилей, поэтому количество транзисторов быстро растет.
Чем более сложные функции выполняет микросхема, тем больше требуется затворов и, следовательно, больше транзисторов.
Ваш средний процессор в наши дни значительно сложнее, чем, скажем, чип Z80 30-летней давности. Он не только использует регистры, ширина которых в 8 раз больше, но и фактически выполняемые им операции (сложные трехмерные преобразования, векторная обработка и т. д.) намного сложнее, чем могут выполнять старые чипы. Одна инструкция в современном ЦП может занять много секунд (или даже минут) вычислений в старом 8-битном, и все это в конечном счете достигается за счет большего количества транзисторов.
Я проверил местного поставщика различных полупроводниковых устройств, и самый большой чип SRAM, который у них был, был 32 Мбит. Это 32 миллиона отдельных областей, в которых можно хранить 1 или 0. Учитывая, что для хранения 1 бита информации необходим «по крайней мере» 1 транзистор, то это как минимум 32 миллиона транзисторов.
Что вам дают 32 Мбит? Это 4 Мбайта или примерно размер 4-минутного музыкального файла в формате MP3 низкого качества.
РЕДАКТИРОВАТЬ - ячейка памяти SRAM, согласно моему поиску в Google, выглядит так: -
Итак, это 6 транзисторов на бит и более, около 192 миллионов транзисторов на чипе, о котором я упоминал.
Я думаю, что ОП может быть сбит с толку электронными устройствами , имеющими так много транзисторов. Закон Мура в первую очередь относится к компьютерам (ЦП, SRAM/DRAM/связанным с ними хранилищам, графическим процессорам, FPGA и т. д.). Что-то вроде транзисторного радиоприемника может быть (в основном) на одном чипе, но не может использовать столько транзисторов. Вычислительные устройства, с другой стороны, имеют ненасытный аппетит к транзисторам для дополнительных функций и большей ширины данных.
Как указывалось ранее, для SRAM требуется 6 транзисторов на бит. По мере увеличения наших кешей (в целях повышения эффективности) нам требуется все больше и больше транзисторов. Глядя на пластину процессора , можно увидеть, что кэш больше, чем одно ядро процессора, и, если присмотреться к ядрам, то в нем можно увидеть хорошо организованные части, которые также являются кешем (вероятно, данными и инструкциями L1 кэши). С 6 МБ кэш-памяти вам потребуется 300 миллионов транзисторов (плюс логика адресации).
Но, как уже говорилось ранее, транзисторы — не единственная причина увеличения количества транзисторов. На современном Core i7 у вас есть более 7 инструкций, выполняемых за такт и на ядро (используя известный тест dhrystone). Это означает одно: современные процессоры выполняют много параллельных вычислений. Выполнение большего количества операций одновременно требует наличия большего количества единиц и очень умной логики для планирования. Более умная логика требует гораздо более сложных логических уравнений и гораздо большего количества транзисторов для ее реализации.
Немного отойдем от деталей:
Компьютеры представляют собой сложные цифровые коммутационные устройства. Они имеют слой за слоем за слоем сложности. Самый простой уровень — это логические вентили, такие как вентили И-НЕ, как обсуждалось. Затем вы переходите к сумматорам, регистрам сдвига, защелкам и т. д. Затем вы добавляете тактовую логику, декодирование инструкций, кэши, арифметические единицы, декодирование адресов, и так далее, и так далее. . (Не говоря уже о памяти, для которой требуется несколько транзисторов на бит хранимых данных)
Каждый из этих уровней использует множество частей предыдущего уровня сложности, и все они основаны на большом количестве базовых логических вентилей.
Затем вы добавляете параллелизм. Чтобы добиться все большей и большей производительности, современные компьютеры предназначены для одновременного выполнения множества задач. В одном ядре декодер адресов, арифметическое устройство, векторный процессор, менеджер кэша и различные другие подсистемы работают одновременно, все со своими собственными системами управления и системами синхронизации.
Современные компьютеры также имеют все большее и большее количество отдельных ядер (несколько процессоров на кристалле).
Каждый раз, когда вы поднимаетесь на уровень абстракции, сложность становится на много порядков выше. Даже самый низкий уровень сложности имеет тысячи транзисторов. Поднимитесь на подсистемы высокого уровня, такие как ЦП, и вы говорите, по крайней мере, о миллионах транзисторов.
Тогда есть GPU (графические процессоры). Графический процессор может иметь ТЫСЯЧИ отдельных процессоров с плавающей запятой, оптимизированных для векторной математики, и каждый подпроцессор будет иметь несколько миллионов транзисторов.
Не пытаясь обсуждать, сколько транзисторов необходимо для конкретных элементов, процессоры используют больше транзисторов для расширения возможностей, включая:
Помимо увеличения необработанных объемов памяти ОЗУ, кэша, регистров, а также добавления большего количества вычислительных ядер и более широкой ширины шины (32 против 64 бит и т. д.), это связано с тем, что ЦП становится все более сложным.
Процессоры — это вычислительные блоки, состоящие из других вычислительных блоков. Инструкция процессора проходит несколько этапов. В прежние времена был один этап, и тактовый сигнал был бы таким же длинным, как наихудшее время для установки всех логических вентилей (сделанных из транзисторов). Затем мы изобрели конвейерную обработку, в которой ЦП был разбит на этапы: выборка инструкций, декодирование, обработка и запись результата. Тогда этот простой 4-этапный ЦП мог работать с тактовой частотой, в 4 раза превышающей исходную. Каждый этап отделен от других этапов. Это означает, что ваша тактовая частота может не только увеличиться в 4 раза (при 4-кратном усилении), но теперь вы можете иметь 4 многоуровневых (или «конвейерных») инструкции в ЦП, что приводит к 4-кратному увеличению производительности. Однако теперь возникают «опасности», потому что одна поступающая инструкция может зависеть от результата предыдущей инструкции, а потому, что она s конвейерный, он не получит его, поскольку он входит в стадию процесса, когда другой выходит из стадии процесса. Следовательно, вам нужно добавить схему, чтобы передать этот результат инструкции, входящей в стадию обработки. Альтернативой является остановка конвейера, что снижает производительность.
Каждая стадия конвейера, и особенно часть процесса, может быть разделена на все большее количество шагов. В результате вы в конечном итоге создаете огромное количество схем для обработки всех взаимозависимостей (опасностей) в конвейере.
Другие схемы также могут быть улучшены. Тривиальный цифровой сумматор, называемый сумматором с переносом пульсаций, является самым простым, самым маленьким, но самым медленным сумматором. Самый быстрый сумматор - это сумматор с опережением переноса, который использует огромное экспоненциальное количество схем. В моем курсе компьютерной инженерии у меня закончилась память в моем симуляторе 32-битного сумматора с опережением переноса, поэтому я сократил его пополам, 2 16-битных сумматора CLA в конфигурации с пульсирующим переносом. (Сложение и вычитание очень сложно для компьютеров, умножение легко, деление очень сложно)
Побочным эффектом всего этого является то, что по мере того, как мы уменьшаем размер транзисторов и разделяем каскады, тактовая частота может увеличиваться. Это позволяет процессору выполнять больше работы, поэтому он нагревается сильнее. Кроме того, по мере увеличения частоты задержки распространения становятся более очевидными (время, необходимое для завершения стадии конвейера и для того, чтобы сигнал был доступен на другой стороне). Из-за импеданса эффективная скорость распространения составляет около 1 фута в наносекунду. (1 ГГц). По мере увеличения тактовой частоты компоновка чипа становится все более важной, поскольку чип с частотой 4 ГГц имеет максимальный размер 3 дюйма. Итак, теперь вы должны начать включать дополнительные шины и схемы для управления всеми данными, перемещающимися по чипу.
Мы также постоянно добавляем инструкции к чипам. SIMD (одна инструкция, несколько данных), энергосбережение и т. д. — все они требуют схемотехники.
Наконец, мы добавляем больше возможностей в чипы. В старые времена ваш процессор и ваш ALU (арифметико-логическое устройство) были отдельными. Мы объединили их. FPU (модуль с плавающей запятой) был отдельным, но его тоже объединили. Теперь мы добавляем USB 3.0, ускорение видео, декодирование MPEG и т. д. Мы переносим все больше и больше вычислений из программного обеспечения в аппаратное.
У Маженко есть отличный ответ о том, как используются транзисторы. Поэтому позвольте мне вместо этого пойти от другого вектора подхода и заняться эффективностью.
Эффективно ли использовать как можно меньше транзисторов при разработке чего-либо?
Это в основном сводится к тому, о какой эффективности вы говорите. Возможно, вы исповедуете религию, которая утверждает, что необходимо использовать как можно меньше транзисторов — в этом случае ответ в значительной степени дан. Или, возможно, вы компания, создающая продукт. Внезапно простой вопрос об эффективности становится очень сложным вопросом о соотношении затрат и выгод.
А вот и кикер: транзисторы в интегральных схемах чрезвычайно дешевы, и со временем они становятся все дешевле (твердотельные накопители — отличный пример того, как снизилась стоимость транзисторов). Труд, с другой стороны, чрезвычайно дорог.
Во времена, когда ИС только зарождались, существовал определенный толчок к тому, чтобы количество необходимых компонентов было как можно меньше. Это было просто потому, что они оказывали значительное влияние на стоимость конечного продукта (фактически, они часто составляли большую часть стоимости продукта), а когда вы создаете готовый, «коробочный» продукт, стоимость рабочей силы составляет распространяться на все части, которые вы делаете. Ранние компьютеры на базе ИС (вспомните игровые автоматы) были доведены до минимально возможной стоимости за штуку. Однако на фиксированные затраты (в отличие от затрат на единицу товара) сильно влияет сумма, которую вы можете продать. Если вы собирались продать только пару, вероятно, не стоило тратить слишком много времени на снижение цены за штуку. С другой стороны, если вы пытаетесь построить огромный рынок,
Обратите внимание на важную часть — тратить много времени на повышение «эффективности» имеет смысл только тогда, когда вы разрабатываете что-то для массового производства. Это в основном то, чем является «промышленность» - у ремесленников затраты на квалифицированный труд часто составляют основную стоимость готового продукта, на фабрике большая часть затрат приходится на материалы и (относительно) неквалифицированный труд.
Давайте перенесемся к революции ПК. Когда появились ПК в стиле IBM, они были очень глупы. Крайне глупо. Это были компьютеры общего назначения. Практически для любой задачи можно разработать устройство, которое сделает ее лучше, быстрее и дешевле. Другими словами, с упрощенной точки зрения эффективности они были крайне неэффективны. Калькуляторы были значительно дешевле, помещались в кармане и долго работали от одной батарейки. У игровых консолей было специальное оборудование, которое позволяло им очень хорошо создавать игры. Проблема была в том, что они не могли сделать ничего другого. ПК мог делать все — у него было гораздо худшее соотношение цена/производительность, но вас не заставляли делать калькулятор или игровую приставку с 2D-спрайтами. Почему Wolfenstein и Doom (и на Apple PC, Marathon) появляются на компьютерах общего назначения, а не на игровых приставках? Потому что консоли очень хорошо справлялись с 2D-играми на основе спрайтов (представьте себе типичную JRPG или такие игры, как Contra), но когда вы хотели отойти от эффективного оборудования, вы обнаружили, что вычислительной мощности недостаточно, чтобы делать что-то еще!
Итак, очевидно менее эффективный подход дает вам несколько очень интересных вариантов:
Все это происходит из-за «пустой траты» транзисторов, но это не настоящая трата, потому что реальные общие затраты ниже , чем они были бы, если бы вы настаивали на простом «как можно меньшем количестве транзисторов».
Другая сторона истории «так много транзисторов» заключается в том, что эти транзисторы не разрабатываются человеком индивидуально. Ядро современного процессора имеет порядка 0,1 миллиарда транзисторов, и ни один человек не проектирует каждый из этих транзисторов напрямую. Это было бы невозможно. 75-летний срок службы составляет всего 2,3 миллиарда секунд.
Таким образом, чтобы сделать такие огромные конструкции возможными, люди участвуют в определении функциональности устройства на гораздо более высоком уровне абстракции, чем отдельные транзисторы. Преобразование в отдельные транзисторы известно как синтез схемы и выполняется с помощью очень дорогих проприетарных инструментов, которые в совокупности стоят порядка миллиарда долларов на разработку в течение многих лет, объединяясь между основными производителями процессоров и литейными заводами.
Инструменты синтеза схем не создают схемы с наименьшим количеством транзисторов. Это делается по множеству причин.
Во-первых, давайте рассмотрим самый простой случай: любую сложную схему можно смоделировать с помощью гораздо более простого, возможно, последовательного процессора с достаточным объемом памяти. Вы, безусловно, можете смоделировать чип i7 с идеальной точностью, если только подключите достаточно последовательной памяти к Arduino. В таком решении будет гораздо меньше транзисторов, чем в реальном процессоре, и оно будет работать ужасно медленно с эффективной тактовой частотой 1 кГц или меньше. Мы явно не собираемся уменьшать число транзисторов так далеко .
Таким образом, мы должны ограничиться определенным классом преобразований конструкции в транзисторы: теми, которые сохраняют параллельную емкость, заложенную в исходной конструкции.
Даже в этом случае оптимизация для минимального количества транзисторов, скорее всего, приведет к созданию конструкций, которые невозможно изготовить с использованием какого-либо существующего полупроводникового процесса. Почему? Потому что чипы, которые вы действительно можете сделать, представляют собой двумерные структуры и требуют некоторого резервирования схемы просто для того, чтобы вы могли соединить эти транзисторы, не требуя для этого килограмма металла. Вход и выход транзисторов и результирующие затворы имеют значение.
Наконец, инструменты теоретически несовершенны: обычно требуется слишком много процессорного времени и памяти для создания решений, которые глобально минимальны с точки зрения количества транзисторов, учитывая ограничение на производимый чип.
Я думаю, что ОП должен знать, что для «простого переключателя» часто требуется несколько транзисторов? Почему? Ну, по многим причинам. Иногда требуются дополнительные транзисторы, чтобы потребление энергии было низким как в состоянии «включено», так и в состоянии «выключено». Иногда транзисторы необходимы для устранения неопределенностей входного напряжения или характеристик компонентов. Много причин. Но я ценю это. Посмотрите на принципиальную схему операционного усилителя, и вы увидите несколько десятков транзисторов! Но их бы там не было, если бы они не служили какой-то цели цепи.
В основном все, что понимает компьютер, это 0 и 1, что определяется этими переключателями. Да, функции транзисторов больше, чем у переключателей. Таким образом, если переключатель может решить, должен ли вывод быть 0 или 1 (при условии, что это одна операция bi), тем больше количество битов. чем больше транзисторов.. так что неудивительно, почему мы должны встраивать миллионы транзисторов в один микропроцессор.. :)
В эпоху технологий нам нужны умные устройства (маленькие, быстрые и эффективные). Эти устройства состоят из интегральных схем (ИС), которые содержат нет. транзисторов. Нам нужно все больше и больше транзисторов, чтобы сделать ИС умнее и быстрее, потому что в электронике каждая схема в ИС состоит из сумматора, вычитателя, умножителя, делителя, логических элементов, регистров, мультиплексоров, триггеров, счетчиков, сдвигателей, памяти. и микропроцессоры и т. д. для реализации любой логики в устройствах, и они состоят только из транзисторов (MOSFET). С помощью транзисторов мы можем реализовать любую логику. Так что нам нужно все больше и больше транзисторов.....
Дзарда
Уоррен Хилл
Пол А. Клейтон
Отметка
ОДЖФОРД
Горячие Лики
пользователь 253751
Горячие Лики
пользователь 253751
Горячие Лики
пользователь34920
пушистые волосы2