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