Я начал играть с электроникой некоторое время назад и создавать простые логические элементы, используя транзисторы. Я знаю, что современные интегральные схемы используют CMOS вместо транзисторно-транзисторной логики. Я не могу не задуматься о том, как устроены процессоры.
Дизайн все еще выполняется на уровне (суб) логических элементов или в этой области больше нет инноваций, и мы перешли на более высокий уровень абстракции? Я понимаю, как устроен ALU, но процессорам гораздо больше, чем это.
Откуда взялись проекты для миллиардов транзисторов? Являются ли они в основном автоматически генерируемыми программным обеспечением или все еще много ручной оптимизации?
Ответы:
Весьма вероятно, что процессоры и SoC используются такими языками описания оборудования, как Verilog и VHDL (два основных игрока).
Эти языки допускают разные уровни абстракций. В VHDL вы можете определять логические блоки как объекты; он содержит входные и выходные порты. Внутри блока вы можете определить необходимую логику. Допустим, вы определили блок с входом A, входом B и выходом C. Вы можете легко написать C = A и B; и в основном вы создали блок порта AND. Это, возможно, самый простой блок, который вы можете себе представить.
Цифровые системы обычно разрабатываются с сильной иерархией. Можно начать «верхний уровень» с основных функций, которые требуются ЦПУ: память процессора (множественная?), PCI-экспресс и другие шины. На этом уровне шины и сигналы связи между памятью и процессором уже могут быть определены.
Когда вы уйдете на один уровень вниз, это определит внутреннюю работу по созданию чего-то «работающего». Взяв пример микроконтроллера, он может содержать интерфейс UART. Фактическая логика, необходимая для создания функциональной UART, определяется на один уровень ниже. Здесь может потребоваться много другой логики для генерации и разделения требуемых тактовых импульсов, буферных данных (буферов FIFO), передачи данных в ЦП (какая-то шина). система).
Интересная вещь VHDL и цифрового дизайна - это повторное использование блоков. Например, вы можете просто скопировать и вставить блок UART на верхнем уровне, чтобы создать 2 UART (ну, может быть, это не так просто, только если блок UART способен к некоторой адресации!).
Этот дизайн не какой-либо дизайн уровня ворот. VHDL также может быть «скомпилирован» таким образом, что он, наконец, преобразуется в логические элементы. Машина может оптимизировать это намного лучше, чем человек (и тоже быстрее). Например; внутренним устройствам блока A требуется инвертор перед выводом сигнала. Блок B принимает этот выходной сигнал и снова инвертирует его. Ну, два инвертора в серии не так уж и хороши? Правильно, так что вы можете просто оставить их. Тем не менее, в дизайне «верхнего уровня» вы не сможете обнаружить два инвертора последовательно… вы просто увидите два подключенных порта. Компилятор может оптимизировать это намного быстрее, чем человек.
По сути, в дизайне цифровой системы содержится описание того, как логика должна «вести себя», и компьютер используется для определения того, как наиболее эффективно выстроить отдельные логические элементы.
источник
Позвольте мне упростить и расширить мои предыдущие комментарии и соединить точки для тех, кто, кажется, нуждается в этом.
Дизайн все еще выполняется на уровне (суб) логических элементов?
Проектирование выполняется на многих уровнях, сублогический уровень всегда отличается . Каждое сокращение производства требует самого блестящего опыта в области физики, химии и литографии, поскольку структура транзистора изменяется и геометрия также изменяется, чтобы компенсировать компромиссы, так как он сокращается до атомных уровней и стоит ~ $ миллиарды за каждый двоичный шаг вниз в размер. Геометрия 14 нм - это грандиозное начинание в области НИОКР, контроля и управления процессами, и это все еще преуменьшение!
Например, профессиональные навыки, необходимые для этого включают в себя; - «Пользовательские макеты FET, ячеек и блоков, планы этажей FUB, генерация абстрактных представлений, извлечение RC, проверка и отладка схемы для компоновки с использованием этапов разработки физического проекта, включая паразитное извлечение, статическую синхронизацию, нагрузку на провод» модели, генерация часов, пользовательское редактирование полигонов, автоматическое размещение и алгоритмы маршрутизации, планирование этажей, сборка чипов, упаковка и проверка. "*
- не так ли много инноваций в этой области больше? - НЕПРАВИЛЬНО - В физике полупроводников существует значительная и финансируемая в значительной степени инновация, судя по закону Мура и количеству патентов, она никогда не остановится. Экономия электроэнергии, тепла и, следовательно, четырехкратное увеличение возможностей окупаются каждый раз.
- мы перешли на более высокий уровень абстракции? - Он никогда не переставал двигаться. - Учитывая потребность в большем количестве ядер, выполнение большего количества операций в одной инструкции, такой как ЦП ARM RISC, более мощные встроенные микроконтроллеры или микроконтроллеры, интеллектуальное ОЗУ с DDR4, которое по умолчанию имеет ECC, и такие сектора, как флэш-память с приоритетными битами для срочных выборок памяти. - Эволюция процессора и архитектурные изменения никогда не остановятся.
Позвольте мне дать вам подсказку. Пойдите, ищите работу в Intel, AMD, TI или AD для Инженеров и посмотрите описания работы.
- Откуда взялись проекты для миллиардов транзисторов? - Это произошло из-за добавления более 64-битных блоков оборудования. но теперь, когда происходит сбой нанотрубок, мышление должно измениться от подхода сверху вниз блоков к подходу снизу вверх нанотрубок, чтобы заставить его работать.
На самом деле они до сих пор извлекают проекты из Area51 с космических кораблей и имеют возможность идти до тех пор, пока мы не станем полностью совместимыми с нано-нано-трубками. Инженер входит в библиотеку и говорит nVidia, что мы бы хотели, чтобы вы присоединились к нам на этом чипе и стали частью, которая входит в макроблоки . Макет может быть реплицирован как Ants в Toystory, но явный контроль над всеми соединениями должен быть вручную направлен / извлечен, а также использовать DRC и автоматическую маршрутизацию для сравнения. Да Инструменты автоматизации постоянно обновляются, чтобы устранить дублирование и потерянное время.
- много ли еще ручной оптимизации?
Но на самом деле процессоры растут так же, как Токио, не за одну ночь, а десятки миллионов живут там с постоянным улучшением. Я не научился дизайну в 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. - Объектно-ориентированное программирование и различные ЦП, шина / межсоединение, протоколы когерентности.
источник
Обзор AMD по процессору
Версия Intel
Ни один из них не дает много деталей, но тем не менее интересен. Не принимайте это как ответ. Другие подробно рассмотрели ваш вопрос и приложили больше усилий, чтобы попытаться ответить подробно.
источник