Навіщо нам потрібно стільки транзисторів?


34

Транзистори виконують різні цілі в електричному ланцюзі, тобто комутатори, для посилення електронних сигналів, що дозволяє керувати струмом і т.д. ...

Однак я нещодавно прочитав про закон Мура, серед інших випадкових статей в Інтернеті, про те, що сучасні електронні пристрої мають величезну кількість транзисторів, запакованих у них, при цьому кількість транзисторів, що знаходяться в сучасній електроніці, сягає мільйонів, якщо не мільярдів.

Однак навіщо саме кому-небудь потрібна стільки транзисторів? Якщо транзистори працюють як комутатори і т. Д., Навіщо нам потрібна така абсурдно велика кількість їх у наших сучасних електронних пристроях? Хіба ми не в змозі зробити ефективніше, щоб ми використовували набагато менше транзисторів, ніж те, що ми використовуємо в даний час?


7
Я б запропонував перейти до того, з чого складається ваш чіп. Суматори, множники, мультиплексори, пам'ять, більше пам’яті… І подумайте про кількість цих речей, які там повинні бути присутніми ...
Dzarda


1
Також безперервне використання транзисторів в якості заміни більшості механічних пристроїв допомагало формувати сучасну побутову електроніку більше, ніж будь-що інше. Зображуйте телефон, що клакетує щоразу, коли підсвічування вмикається чи вимикається (при цьому розмір і вага автомобіля)
Марк

7
Ви запитуєте, чому ми не можемо "зробити ефективнішими" використання меншої кількості транзисторів; ви припускаєте, що ми прагнемо мінімізувати кількість транзисторів. Але що робити, якщо ефективність енергоспоживання підвищується, додаючи більше для керування? Або більш помітна ефективність часу в будь-яких обчисленнях? "Ефективність" - це не одне.
OJFord

2
Справа не в тому, що нам потрібно багато транзисторів для створення процесора, але, оскільки ми можемо зробити всі ці транзистори, ми можемо також використовувати їх у способи, що дозволяють процесору швидше.
користувач253751

Відповіді:


46

Транзистори - це вимикачі, так, але вимикачі - це не просто для включення та вимкнення вогнів.

Вимикачі згруповані в логічні ворота. Логічні ворота згруповані в логічні блоки. Логічні блоки згруповані в логічні функції. Логічні функції згруповані в чіпи.

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

схематичні

імітувати цю схему - Схематично створено за допомогою CircuitLab

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

схематичні

моделювати цю схему

Засувку (наприклад, SR) можна зробити за допомогою 2 воріт CMOS NAND, тобто 8 транзисторів. 32-розрядний реєстр може бути зроблений за допомогою 32 фліп-флопів, тобто 64 NAND-шлюзи або 256 транзисторів. АЛУ може мати кілька регістрів, а також безліч інших воріт, тому кількість транзисторів швидко зростає.

Чим складніші функції виконує мікросхема, тим більше затворів потрібно, а значить, і більше транзисторів.

Ваш середній процесор сьогодні значно складніший, ніж скажімо, мікросхема Z80 30 років тому. Він використовує не лише регістри, які в 8 разів перевищують ширину, але й фактичні операції, які він виконує (складні 3D-перетворення, обробка векторів тощо), набагато складніші, ніж старі мікросхеми. Один посібник у сучасному процесорі може зайняти багато секунд (а то й хвилин) обчислень у старій 8-гіркій, і все, що робиться, в кінцевому рахунку, за рахунок наявності більшої кількості транзисторів.


NAND = 4, а не 2 транзистори і FF - це більше ніж 2 NOR
заповнювач

2
О мій! вам справді потрібно переосмислити це. Покажіть навіть ОДИН дизайн, який має мільйон транзисторів, що зроблено в Bipolar !! ВСІ з цих конструкцій є CMOS,
заповнювач

2
Справедлива точка. Додано другу схему, щоб виділити різницю, і подальше подвоєння транзисторів саме від цього.
Majenko

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 низької якості.


EDIT - комірка пам’яті SRAM згідно мого googling виглядає так: -

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

Отже, це 6 транзисторів на біт і більше схоже на 192 мільйони транзисторів на тому чіпі, про який я згадував.


... а тепер уявіть 8 Гб оперативної пам’яті з 68719476736 бітами інформації
Каміль

1
... за винятком того, що вони не використовують транзистори в DRAM.
Majenko

1
@Majenko: Принаймні, не так багато, як для інших технологій. 1 транзистор + 1 конденсатор (на мікроскопічному просторі очевидно) за 1 біт - якщо я правильно пам’ятаю.
Rev1.0

28
Кожен біт SRAM становить щонайменше 4 і часто 6 транзисторів, тобто 128 мільйонів транзисторів і більше. DRAM не використовує транзистори для зберігання, але кожен біт (зберігається на конденсаторі) має свій транзисторний перемикач для зарядки кришки.
Брайан Драммонд

6
Тепер уявіть транзистори в 1T SSD (надано 3 біти на комірку, і це на більш ніж одній мікросхемі), але це все ще 2,7 трлн транзисторів лише для зберігання - не рахуючи адреси, контролю та врахування поганих бітів і зносу).
Spehro Pefhany

7

Я думаю, що ОП можуть плутати електронні пристрої, що мають стільки транзисторів. Закон Мура стосується в першу чергу комп’ютерів (процесори, SRAM / DRAM / пов'язані сховища, графічні процесори, FPGA тощо). Щось подібне до транзисторного радіо може бути (в основному) на одному мікросхемі, але не може використовувати все, що багато транзисторів. З іншого боку, обчислювальні пристрої мають ненаситний апетит до транзисторів додаткових функцій та ширшої ширини даних.


3
Радіо в наші дні є обчислювальними пристроями або принаймні їх містять. Цифровий синтез частот FM, обробка DSP-сигналу аудіо (biggie), цифровий контрольний контроль комутації станції тощо. Наприклад, TAS3208 ti.com/lit/ds/symlink/tas3208.pdf
Spehro Pefhany

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 біт тощо), це тому, що процесор стає все більш складним.

ЦП - це обчислювальні одиниці, що складаються з інших обчислювальних одиниць. Інструкція процесора проходить кілька етапів. У старі часи був один етап, і синхросигнал буде до тих пір, поки найгірший час для всіх логічних воріт (зроблених з транзисторів) не повинен осідати. Тоді ми винайшли накладки труб, де процесор було розбито на етапи: отримання інструкції, декодування, обробка та запис результату. Цей простий 4-ступінковий процесор міг би працювати тоді з тактовою частотою в 4 рази від початкової тактової частоти. Кожен етап, є окремим від інших етапів. Це означає, що не тільки ваша тактова частота може збільшитися до 4х (при 4-кратному підсиленні), але тепер ви можете мати 4 інструкції з шаруватими (або "конвеєрними") процесорами, що призводить до кращої продуктивності. Однак зараз "небезпеки" створюються тому, що одна інструкція, що надходить, може залежати від результату попередньої інструкції, а тому, що вона " s конвеєрний конвеєр, він не отримає його під час вступу в стадію процесу, оскільки інший виходить з етапу процесу. Тому вам потрібно додати схему, щоб передати цей результат до інструкції, що входить до етапу процесу. Альтернативою є затримка трубопроводу, що знижує продуктивність.

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

Також можуть бути покращені інші схеми. Тривіальний цифровий суматор, який називається суматором "перенесення пульсацій", є найпростішим, найменшим, але найповільнішим додавачем. Найшвидший суматор - суматор, що переносить погляд вперед і займає величезну експоненційну кількість схем. У моєму курсі комп’ютерної інженерії мені не вистачало пам’яті в моєму симуляторі 32-розрядного допоміжного пристрою для перенесення вперед, тому я розрізав його навпіл, 2 16-бітні CLA-добавки в конфігурації з пульсацією. (Додавання і віднімання дуже важко для комп'ютерів, множення просто, поділ дуже важкий)

Побічним ефектом у всьому цьому є те, що ми зменшуємо розміри транзисторів і розділяємо етапи, тактові частоти можуть збільшуватися. Це дозволяє процесору більше працювати, тому він працює гарячіше. Крім того, у міру збільшення частот затримки поширення стають більш очевидними (час, який потребує завершення етапу трубопроводу, а сигнал буде доступний на іншій стороні) Через опір ефективна швидкість поширення становить приблизно 1 фут на наносекунд (1 ГГц). Із збільшенням вашої тактової частоти розкладка мікросхеми стає все більш важливою, оскільки чіп 4 ГГц має максимальний розмір 3 дюйма. Тому тепер ви повинні почати включати додаткові шини та схеми для управління всіма даними, що рухаються навколо мікросхеми.

Також ми постійно додаємо інструкції до чіпів. SIMD (Одноразова інструкція з декількома даними), економія енергії та ін., Всі вони потребують схеми.

Нарешті, ми додаємо більше функцій до чіпів. За старих часів ваш процесор і ALU (Арифметична логічна одиниця) були окремими. Ми їх комбінували. ФПУ (одиниця з плаваючою точкою) була окремою, яка також поєднувалася. Зараз ми додаємо USB 3.0, прискорення відео, декодування MPEG і т. Д. ... Ми переносимо все більше і більше обчислень від програмного забезпечення до обладнання.


1

У Majenko чудова відповідь про те, як використовуються транзистори. Тож дозвольте мені замість цього перейти від іншого вектору підходу та мати справу з ефективністю.

Чи ефективно при проектуванні чогось використовувати якомога менше транзисторів?

Це в основному зводиться до того, про яку ефективність ви говорите. Можливо, ви є релігією, яка стверджує, що потрібно використовувати якомога менше транзисторів - у цьому випадку відповідь дається багато. Або, можливо, ви компанія, яка будує продукт. Раптом, просте питання щодо ефективності стає дуже складним питанням щодо співвідношення витрат і вигод.

І ось іде кікер - транзистори в інтегральних схемах надзвичайно дешеві, і вони з часом стають все дешевшими (SSD-диски - чудовий приклад того, як вартість транзисторів була знижена). Праця, з іншого боку, надзвичайно дорога.

У часи, коли ІС тільки починали працювати, був певний поштовх, щоб максимально знизити кількість необхідних компонентів. Це було просто тому, що вони мали суттєвий вплив на вартість кінцевого продукту (насправді вони часто становили більшу частину вартості продукту), а коли ви будуєте готовий, "упакований" продукт, вартість робочої сили становить розкладіть по всіх створених вами частинах. Ранні комп'ютери на базі ІС (аркади для відеороликів) приводилися до мінімальної вартості за штуку. Однак на постійні витрати (на відміну від витрат на частину) сильно впливає сума, яку ви можете продати. Якщо ви збиралися продати лише пару, напевно, не варто було витрачати занадто багато часу на зниження витрат на частину. Якщо ви намагалися побудувати цілий величезний ринок, з іншого боку,

Зауважте важливу частину - має сенс вкладати багато часу на покращення "ефективності", коли ви розробляєте щось для масового виробництва. В основному це "промисловість" - у ремісників кваліфіковані витрати на робочу силу часто є основною вартістю готової продукції, на заводі більша частина витрат припадає на матеріали та (відносно) некваліфіковану робочу силу.

Давайте вперед до революції ПК. Коли появились ПК у стилі IBM, вони були дуже дурні. Надзвичайно дурний. Вони були комп'ютерами загального призначення. Для майже будь-якого завдання ви можете розробити пристрій, який міг би робити це краще, швидше, дешевше. Іншими словами, з точки зору спрощеної ефективності, вони були дуже неефективними. Калькулятори були набагато дешевші, помістилися в кишені і довго заряджали акумулятор. Консолі для відеоігор мали спеціальне обладнання, щоб зробити їх дуже хорошими у створенні ігор. Проблема була в тому, що вони нічого іншого не могли зробити. ПК міг би зробити все - у нього було набагато гірше співвідношення ціни / випуску, але ви не мали змоги робити калькулятор чи 2D ігрову консоль спрайт. Чому Вольфенштейн і Дум (і на Apple PC, Марафон) з'являються на комп'ютерах загального призначення, а не на ігрових консолях? Оскільки консолі дуже добре робили 2D ігри на основі спрайту (уявіть типовий JRPG або такі ігри, як Contra), але коли ви хотіли відхилитися від ефективного обладнання, ви виявили, що не вистачає процесорної потужності, щоб зробити що-небудь ще!

Отже, мабуть, менш ефективний підхід дає вам кілька дуже цікавих варіантів:

  • Це дає більше свободи. Порівнюйте старі 2D-консолі зі старими комп'ютерами IBM та старими прискорювачами 3D-графіки сучасним графічним процесорам, які поступово самостійно стають значною мірою комп'ютерами загального призначення.
  • Це дозволяє підвищити ефективність масового виробництва, навіть незважаючи на те, що кінцева продукція (програмне забезпечення) певним чином "майстерна". Таким чином, такі компанії, як Intel, можуть знизити вартість одиниці роботи набагато ефективніше, ніж всі окремі розробники у всьому світі.
  • Це дає більше місця для більшої абстракції в розробці, тим самим дозволяє краще використовувати готові рішення, що, в свою чергу, дозволяє знизити витрати на розробку та тестування, для кращого результату. Це, в основному, причина, коли кожен школяр може написати повноцінну програму на основі GUI з доступом до бази даних та підключенням до Інтернету та всі інші речі, які б було надзвичайно важко розробити, якби завжди потрібно було починати з нуля.
  • На ПК це означало, що ваші програми в основному стають швидшими з часом без вашого вкладу. Час вільного обіду зараз здебільшого закінчився, оскільки покращувати швидкість роботи комп'ютерів все важче і важче, але це склало більшу частину життя ПК.

Все це відбувається на "відході" транзисторів, але це не реальні відходи, тому що реальні загальні витрати нижчі, ніж були б, якби ти наполягав на простому "якомога менше транзисторах".


1

Ще одна сторона історії "стільки транзисторів" полягає в тому, що ці транзистори не створені людиною індивідуально. Сучасне ядро ​​процесора має близько 0,1 мільярда транзисторів, і жоден з людей не проектує безпосередньо кожен з цих транзисторів. Це було б неможливо. 75-річний термін життя складає лише 2,3 мільярди секунд.

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

Інструменти синтезу ланцюга не створюють конструкцій з найменшою можливою кількістю транзисторів. Це робиться з безлічі причин.

Спочатку давайте розглянемо найосновніший випадок: будь-яка складна схема може бути змодельована набагато простішим, можливо, серійним процесором, з достатньою кількістю пам'яті. Ви, звичайно, зможете імітувати чіп i7 з ідеальною точністю, якщо лише підключите достатню кількість послідовних оперативної пам’яті до Arduino. Таке рішення матиме набагато менше транзисторів, ніж реальний процесор, і працюватиме безвідмовно повільно, з ефективною тактовою частотою 1 кГц або менше. Ми, очевидно, не маємо намір скоротити кількість транзисторів так далеко .

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

Вже тоді оптимізація мінімальної кількості транзисторів, ймовірно, дасть конструкції, які не піддаються виробництву з використанням будь-якого існуючого напівпровідникового процесу. Чому? Оскільки мікросхеми, які ви можете зробити, - це 2D структури і вимагають певної надмірності ланцюга просто для того, щоб ви могли з'єднати ці транзистори, не вимагаючи для цього ні кілограма металу. Вентилятор і вентилятор транзисторів, а отже, і ворота, мають значення.

Нарешті, інструменти не є теоретично досконалими: зазвичай потрібно занадто багато часу та пам'яті процесора для генерації рішень, які є мінімально глобальними щодо транзисторних номерів, враховуючи обмеження чіпу, який виготовляється.


0

Я думаю, що ОП має знати, що для простого перемикача часто потрібно кілька транзисторів? Чому? Ну, з багатьох причин. Іноді потрібні додаткові транзистори, щоб споживання електроенергії було низьким для стану "увімкнено" або "вимкнено". Іноді транзистори потрібні для вирішення невизначеностей у входах напруги або технічних характеристиках компонентів. Причин дуже багато. Але я ціную суть. Подивіться на схему для OP-AMP, і ви побачите кілька десятків транзисторів! Але їх не було б, якби вони не служили певній меті ланцюга.


0

По суті, все, що комп'ютер розуміє, це 0s і 1s .. що визначається цими перемикачами. Так, функції транзисторів більше, ніж функції комутаторів. Отже, якщо комутатор може вирішити, чи повинен вихід 0 або 1 (якщо вважати, що це як одна операція бі), то більше число біт. тим більше транзисторів .. тому не дивно, чому нам доводиться вбудовувати мільйони транзисторів в єдиний мікропроцесор .. :)


0

В епоху технологій нам потрібні розумні пристрої (маленькі, швидкі та ефективні). Ці пристрої складаються з інтегральних мікросхем (ІС), які містять ні. транзисторів. Нам потрібно все більше та більше транзисторів, щоб зробити ІС розумнішими та швидшими, тому що в електроніці кожен ланцюг ІС складається з суматора, під-трактора, мультиплікатора, дільника, логічних воріт, регістрів, мультиплексорів, шльопальниць, лічильників, перемикачів, пам'яті і мікропроцесори тощо, щоб реалізувати будь-яку логіку в пристроях, і вони складаються лише з транзисторів (MOSFET). За допомогою транзисторів ми можемо реалізувати будь-яку логіку. Тож нам потрібно все більше транзисторів .....

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.