Как устроены процессоры?


21

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

Дизайн все еще выполняется на уровне (суб) логических элементов или в этой области больше нет инноваций, и мы перешли на более высокий уровень абстракции? Я понимаю, как устроен ALU, но процессорам гораздо больше, чем это.

Откуда взялись проекты для миллиардов транзисторов? Являются ли они в основном автоматически генерируемыми программным обеспечением или все еще много ручной оптимизации?


2
Я бы сказал Verilog или VHDL.
Авакар

3
Хотя эти темы увлекательны, мы, похоже , далеки от «практических, ответственных вопросов, основанных на реальных проблемах, с которыми вы сталкиваетесь» . Также я могу представить целую книгу, которая отвечает на этот вопрос.
Мартин

1
@ Overver, еще много работы, где вы убедитесь, что ваши базовые блоки, которые вы подключаете вместе, оптимизированы на уровне шлюза, а затем вы просто подключаете эти оптимизированные блоки оптимизированным способом!
Кортук

13
Я проголосовал за повторное открытие - хотя я согласен с тем, что полный ответ, говорящий «все, что вам нужно знать для создания всего процессора с нуля», не очень подходит для этого сайта, я думаю, что краткий обзор и несколько ссылок будут хороший ответ здесь.
Дэвидкари

1
Я удивлен, что у нас нет людей, которые работают в полупроводниковой промышленности, которые могли бы прокомментировать здесь более сложный дизайн ASIC. Так как я не эксперт, я слышал лишь кое-что: у IP-ядер много лицензий, и область, в которой все это собрано, называется VLSI. Я полагаю, что дизайн выполняется в VHDL / Verilog с высоко оптимизированными инструментами для синтеза - как это происходит на уровне пластин и производства, мне неизвестно.
Джон Л

Ответы:


10

Весьма вероятно, что процессоры и SoC используются такими языками описания оборудования, как Verilog и VHDL (два основных игрока).

Эти языки допускают разные уровни абстракций. В VHDL вы можете определять логические блоки как объекты; он содержит входные и выходные порты. Внутри блока вы можете определить необходимую логику. Допустим, вы определили блок с входом A, входом B и выходом C. Вы можете легко написать C = A и B; и в основном вы создали блок порта AND. Это, возможно, самый простой блок, который вы можете себе представить.

Цифровые системы обычно разрабатываются с сильной иерархией. Можно начать «верхний уровень» с основных функций, которые требуются ЦПУ: память процессора (множественная?), PCI-экспресс и другие шины. На этом уровне шины и сигналы связи между памятью и процессором уже могут быть определены.

Когда вы уйдете на один уровень вниз, это определит внутреннюю работу по созданию чего-то «работающего». Взяв пример микроконтроллера, он может содержать интерфейс UART. Фактическая логика, необходимая для создания функциональной UART, определяется на один уровень ниже. Здесь может потребоваться много другой логики для генерации и разделения требуемых тактовых импульсов, буферных данных (буферов FIFO), передачи данных в ЦП (какая-то шина). система).

Интересная вещь VHDL и цифрового дизайна - это повторное использование блоков. Например, вы можете просто скопировать и вставить блок UART на верхнем уровне, чтобы создать 2 UART (ну, может быть, это не так просто, только если блок UART способен к некоторой адресации!).

Этот дизайн не какой-либо дизайн уровня ворот. VHDL также может быть «скомпилирован» таким образом, что он, наконец, преобразуется в логические элементы. Машина может оптимизировать это намного лучше, чем человек (и тоже быстрее). Например; внутренним устройствам блока A требуется инвертор перед выводом сигнала. Блок B принимает этот выходной сигнал и снова инвертирует его. Ну, два инвертора в серии не так уж и хороши? Правильно, так что вы можете просто оставить их. Тем не менее, в дизайне «верхнего уровня» вы не сможете обнаружить два инвертора последовательно… вы просто увидите два подключенных порта. Компилятор может оптимизировать это намного быстрее, чем человек.

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


Точно так же, как в программном обеспечении все еще есть место для ассемблерного кода, низкоуровневое проектирование оборудования может быть экономически эффективным в некоторых случаях. Например, ячейки SRAM часто используются так часто, что разрабатываются высокооптимизированные конструкции для оптимизации плотности (кэш последнего уровня), задержки доступа (кэш L1) или других характеристик, особенно у интегрированного производителя разработки, такого как Intel.
Пол А. Клейтон

@Пол задает мне интересный вопрос: сколько Intel инвестирует в ручную оптимизацию своих проектов по сравнению с написанием программных оптимизационных проходов, которые обеспечивают динамическое и общее улучшение производительности?
Ponkadoodle

6

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

Дизайн все еще выполняется на уровне (суб) логических элементов?

  • ДА

Проектирование выполняется на многих уровнях, сублогический уровень всегда отличается . Каждое сокращение производства требует самого блестящего опыта в области физики, химии и литографии, поскольку структура транзистора изменяется и геометрия также изменяется, чтобы компенсировать компромиссы, так как он сокращается до атомных уровней и стоит ~ $ миллиарды за каждый двоичный шаг вниз в размер. Геометрия 14 нм - это грандиозное начинание в области НИОКР, контроля и управления процессами, и это все еще преуменьшение!введите описание изображения здесь

Например, профессиональные навыки, необходимые для этого включают в себя; - «Пользовательские макеты FET, ячеек и блоков, планы этажей FUB, генерация абстрактных представлений, извлечение RC, проверка и отладка схемы для компоновки с использованием этапов разработки физического проекта, включая паразитное извлечение, статическую синхронизацию, нагрузку на провод» модели, генерация часов, пользовательское редактирование полигонов, автоматическое размещение и алгоритмы маршрутизации, планирование этажей, сборка чипов, упаковка и проверка. "*

- не так ли много инноваций в этой области больше? - НЕПРАВИЛЬНО - В физике полупроводников существует значительная и финансируемая в значительной степени инновация, судя по закону Мура и количеству патентов, она никогда не остановится. Экономия электроэнергии, тепла и, следовательно, четырехкратное увеличение возможностей окупаются каждый раз.

- мы перешли на более высокий уровень абстракции? - Он никогда не переставал двигаться. - Учитывая потребность в большем количестве ядер, выполнение большего количества операций в одной инструкции, такой как ЦП ARM RISC, более мощные встроенные микроконтроллеры или микроконтроллеры, интеллектуальное ОЗУ с DDR4, которое по умолчанию имеет ECC, и такие сектора, как флэш-память с приоритетными битами для срочных выборок памяти. - Эволюция процессора и архитектурные изменения никогда не остановятся. введите описание изображения здесь

Позвольте мне дать вам подсказку. Пойдите, ищите работу в Intel, AMD, TI или AD для Инженеров и посмотрите описания работы.

- Откуда взялись проекты для миллиардов транзисторов? - Это произошло из-за добавления более 64-битных блоков оборудования. но теперь, когда происходит сбой нанотрубок, мышление должно измениться от подхода сверху вниз блоков к подходу снизу вверх нанотрубок, чтобы заставить его работать.

  • Они в основном автоматически генерируются программным обеспечением? с языком твердо посаженным в щеку ...
  • На самом деле они до сих пор извлекают проекты из Area51 с космических кораблей и имеют возможность идти до тех пор, пока мы не станем полностью совместимыми с нано-нано-трубками. Инженер входит в библиотеку и говорит nVidia, что мы бы хотели, чтобы вы присоединились к нам на этом чипе и стали частью, которая входит в макроблоки . Макет может быть реплицирован как Ants в Toystory, но явный контроль над всеми соединениями должен быть вручную направлен / извлечен, а также использовать DRC и автоматическую маршрутизацию для сравнения. Да Инструменты автоматизации постоянно обновляются, чтобы устранить дублирование и потерянное время.

    - много ли еще ручной оптимизации?

  • Учитывая, что одна авиакомпания сэкономила достаточно денег, чтобы заплатить за зарплату, убрав всего лишь одну оливку с ужина в первом классе, Intel будет искать способы удаления как можно большего количества атомов в установленные сроки. Любая избыточная емкость означает потерю тепла, производительности и упс, а также больше шума, не так быстро ...

Но на самом деле процессоры растут так же, как Токио, не за одну ночь, а десятки миллионов живут там с постоянным улучшением. Я не научился дизайну в Univ. но, читая и пытаясь понять, как все работает, я смог довольно быстро освоиться в отрасли. Я получил 10-летний опыт работы в течение первых 5 лет работы в аэрокосмической отрасли, проектировании ядерных приборов, проектировании SCADA, мониторинге процессов, проектировании антенн, проектировании и отладке автоматизированных метеорологических станций, VLF RX системы PLL OCXO, двустороннем дистанционном управлении Black Brandt Rockets ... и это была моя первая работа. Я понятия не имел, что я мог сделать.

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

Я помню, как однажды, за 20 минут, мне нужно было создать 741 «подобный» операционный усилитель как часть экзамена. Я никогда по-настоящему не использовал его, но я могу распознать хорошее из отличного дизайна. Но тогда у него было только 20 транзисторов.введите описание изображения здесь

Но как проектировать процессор нужно начинать со спец., А именно; Зачем проектировать процессор и делать измеримые тесты для достижения таких, как; - Например, макрокоманды в секунду (MIPS) (более важные, чем тактовая частота процессора); - Чип Intel Itanium основан на том, что они называют разработкой явных параллельных командных вычислений (EPIC). - Запатентованная компанией Transmeta конструкция процессора с микропроцессорами с очень длинным кодом командного слова (VLIWCMM). Они подали в суд на Intel в 2006 году, закрыли магазин и в 2007 году заплатили около 200 миллионов долларов. - Производительность на ватт (PPW), когда затраты на электроэнергию> стоимость чипа (для серверов) - Число операций плавания в секунду (FLOPS) для математической производительности.

Есть много других метрик, но никогда не основывайте качество дизайна процессора на его частоте ГГц (см. Миф)

Итак, какие инструменты нужны для проектирования процессоров? Список не будет соответствовать на этой странице: от проектирования физики атомарного уровня до физического проектирования электромагнитной / электромагнитной совместимости с динамической сеткой, до инженера-тестировщика внешнего проектирования, где требуются навыки; - Front-end RTL Simulation - знание IA и компьютерной архитектуры и проектирования системного уровня - Логическая проверка и логическое моделирование с использованием VHDL или Verilog. - Объектно-ориентированное программирование и различные ЦП, шина / межсоединение, протоколы когерентности.


6
«Verilog» и «VHDL» лишь поверхностно раскрывают все эти наивные, но вдохновляющие поиски вопросы. Реальный мир гораздо более аналоговый, чем цифровой, чем вы думаете.
Тони Стюарт Sunnyskyguy EE75

У вас есть объяснение схемы операционного усилителя где угодно. Все, что я могу видеть, - это OTA с кодировкой, остальное - схема Voodoo.
CyberMen

3
Вау. Жаль, что это в основном не имеет отношения к вопросу.
Дэйв Твид

3
Я должен сказать, что это было очень забавное чтение. Постепенный переход от писателя, играющего с оригинальным вопросом, к нему, делающему попытку взорвать ум читателя числами и вокалом, а затем предоставление некоторой самопомощи, сопровождаемой воспоминанием о его школьных днях с небольшим намеком на высокомерие и наконец движение на клише "это так сложно, что я бы никогда не суммировал это здесь". Абсолютно красивый.
Ponkadoodle

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

2

Обзор AMD по процессору

Версия Intel

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


Я видел эту страницу TomsHardware раньше. Тем не менее, это объясняет, как производятся процессоры , а не как они спроектированы
stevenvh
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.