Решён
Как люди создают архитектуру процессора? С чего вообще начинают?

Понимаю как работает процессор на уровне "транзисторы, логические вентили, АЛУ". Но совершенно не понимаю как люди создают новую архитектуру с нуля.

Это вообще реально для одного человека? Или это всегда команды тысяч инженеров? Какие инструменты используются для проектирования? Есть ли open-source процессоры, где можно посмотреть как это устроено изнутри?

Интересует именно процесс проектирования, а не физическое производство кристаллов.

Решение
100
Участник • 2 ответа

Разберу процесс по слоям абстракции, потому что без этого картина не складывается.

Уровень ISA (что делает процессор)
Сначала определяют набор инструкций. Какие операции поддерживаются, сколько регистров, как кодируются команды. Это документ, а не код. Пример - ARM Architecture Reference Manual, это тысячи страниц спецификации.

Уровень RTL (как это реализовано)
Архитекторы пишут описание схемы на языках Hardware Description Language - Verilog или VHDL (или современные Chisel, SpinalHDL). Это не программирование в привычном смысле - это описание параллельно работающей цифровой схемы. RTL-код синтезируется в логические вентили автоматически.

Верификация
Самый дорогой этап. Нужно доказать что реализация соответствует спецификации ISA. Используют формальную верификацию, симуляторы, тестовые наборы. В Intel и AMD верификация занимает больше человеко-часов, чем само проектирование.

FPGA-прототипирование
До того как идти на фаб, архитектуру прошивают в FPGA (программируемую матрицу) и гоняют реальный код. Это медленнее готового чипа, но позволяет ловить ошибки за тысячи долларов, а не миллионы.

Синтез и place&route
EDA-инструменты (Synopsys, Cadence) автоматически преобразуют RTL в реальные транзисторные схемы под конкретный техпроцесс фабрики.

Один человек может спроектировать простой процессор. RISC-V ядро типа PicoRV32 написал один разработчик (Clifford Wolf) за несколько месяцев. Cortex-M0 от ARM - несколько десятков инженеров. Современный Snapdragon - тысячи.

Аватар Audio Nerd

Спасибо за разбор по слоям, именно такой ответ и нужен был. Пошел смотреть PicoRV32.

20
Участник • 1 ответ

RISC-V - твой друг. Это открытая ISA (Instruction Set Architecture), вокруг нее огромная экосистема учебных реализаций. Посмотри на проект Rocket Chip от Berkeley или PicoRV32. Все исходники на Verilog/Chisel открыты на GitHub, можно читать как книгу.

35
Участник • 1 ответ

Есть хороший курс "Nand to Tetris" (nand2tetris.org) - там строят процессор с логических вентилей до работающего компьютера с ОС. Бесплатно, есть на Coursera. Не реальное железо, симулятор, но понимание дает очень хорошее.

16
Участник • 1 ответ

На самом деле если хочешь почувствовать это руками - купи любую FPGA-плату (Arty A7, Tang Nano). Там можно взять готовое RISC-V ядро с GitHub и прошить. Когда видишь как твоя плата запускает Hello World на процессоре, который ты сам собрал из чужих исходников - понимание архитектуры перестает быть абстрактным.

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.