Иван Мельников
15 июня 12:36.
222

Если с нуля разработать архитектуру CPU, не ограничивая себя обратной совместимостью с арх-рой x86 и программами написанными под x86, насколько производительнее может стать эта новая архитектура?

Ответить
Ответить
Комментировать
1
Подписаться
3
3 ответа
Поделиться
Ответ партнёра TheQuestion

Архитектура процессора отвечает за организацию процессов, наборов и качеств самого процессора. Она складывается из регистров и иных компонентов микроархитектуры.  В теории создать более производительную архитектуру можно, и, наверное, вы не первый человек, который задаётся этим вопросом.

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

 Если вопрос совместимости вас не пугает, и вы готовы проделать такую работу, то конечно стоит этим заняться :)

0
-2
Прокомментировать

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

Это связано с тем, как вообще устроено программирование. Любой алгоритм представляет собой способ разбить задачу на множество отдельных шагов. Но сама идея разбиения задачи на шаги подразумевает, что эти шаги имеют смысл лишь в контексте этой задачи. То есть выполнение всех шагов само по себе ничего не даёт. Результаты, получаемые в процессе выполнения отдельных шагов, ещё необходимо интегрировать в некий общий результат, который и станет результатом работы всего алгоритма. И вот в этом месте обычно теряется производительность. Качество алгоритма определяется в основном тем, сколько он теряет на интеграции отдельных шагов в единый процесс.

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

К процессорной архитектуре это всё относится в полной мере. Универсальная архитектура вынужденно будет реализовывать лишь простые команды. Алгоритмы, реализованные для неё, будут содержать больше шагов. И значит будут большие транзакционные потери. Уменьшить эти потери можно только одним способом - использовать более сложные команды, которые будут за один удар (такт процессора) выполнять кучу сложной специфической работы. И тогда некоторые задачи можно будет декомпозировать более эффективно. Но зато другие задачи на эту систему команд вообще не будут натягиваться. В лучшем случае можно будет придумать какой-нибудь способ эмуляции.

3
-2
Прокомментировать

В СССР была разработана уникальная и единственная в своём роде вычислительная машина "Сетунь" на троичных ячейках памяти. Поинтересуйтесь её производительностью по сравнению с двоичными того времени и что с ней сделали, когда выяснились все её преимущества...

0
0
Прокомментировать
Ответить