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

Тем не менее, с широким распространением этих моделей в дизайне, другие методы отошли на второй план - те, которые могут иметь определенные преимущества для их использования. С этим я представляю два вопроса:

1) Может ли существовать практичный массивно-параллельный процессор? В этом случае ЦП использует все параллельные шины для передачи данных длиной более одного бита и может использовать передачу сигналов на основе света для передачи данных между компонентами (особенно для сигналов PIC).

2) Может ли параллельный процессор питаться и работать более чем на одном ядре одновременно? Могут ли ядра и под-ядра проектироваться и обрабатываться как микроконтроллеры, работающие под одним программным обеспечением (вместо того, чтобы использовать свое собственное программное обеспечение) с общей памятью?

Я взял информацию для этой идеи из нескольких источников, два из которых:

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

1 ответ1

2

Может ли существовать практичный массивно-параллельный процессор?

Ofc это может существовать. Если это практично или экономично - это совсем другой вопрос. Проблема с параллельными линиями состоит в том, что они часто изогнуты.

Например, посмотрите на эти две диаграммы:

Simple straight though of 3 paralel lines. Works well

 S0 ------------------- S0
 S1 ------------------- S1
 S2 ------------------- S2
    ------------------- S0
    | |---------------- S1
    | | |-------------- S2
    | | |
   S0 S1 S2

Длина пути для соединения отличается.

S0-S0 имеет длину 22.
S2-S2 имеет длину 16.

Это означает, что сигнал от S0 до S0 занимает больше времени, чем сигнал от S2 до S2. Эта проблема усугубляется с более широкими автобусами. (больше параллельных путей).

В прошлом это было меньшей проблемой, когда тактовые частоты были медленнее, но на частотах ГГц синхронизация становится более критичной. Так же, как грубая идея: скорость электричества, хотя медь составляет около 280 000 000 м / с, довольно близко к c .

Свет будет двигаться примерно на 30 сантиметров (примерно на один фут) в течение тактовых циклов 1 ГГц. Это 30 см по прямой. Процессоры содержат все, кроме прямых путей, и мы уже работаем с частотой, кратной ГГц.

В этом случае ЦП использует все параллельные шины для передачи данных длиной более одного бита и может использовать передачу сигналов на основе света для передачи данных между компонентами (особенно для сигналов PIC).

Легкие интерфейсы еще не совсем готовы к производству. В этом много исследований. В лаборатории есть рабочие модели, но она еще не готова к массовому производству.


Второй вопрос:

2) Может ли параллельный процессор питаться и работать более чем на одном ядре одновременно?

Да. Нет причин, по которым это не удастся (похоже на современные процессоры, которые работают с несколькими ядрами параллельно). Если мы получим более эффективную связь, тогда станет еще проще снабжать эти ядра данными и, таким образом, легче поддерживать их все время загруженными.


Могут ли ядра и под-ядра проектироваться и обрабатываться как микроконтроллеры, работающие под одним программным обеспечением (вместо того, чтобы использовать свое собственное программное обеспечение) с общей памятью?

Да, почему бы и нет. Вспомним мэйнфреймы (AS/400). Или многопроцессорные рабочие столы. Обычно это не делается, но даже простой современный рабочий стол с несколькими ЦП представляет собой установку, в которой каждый ЦП выполняет свой собственный микрокод, имеет свой собственный контроллер памяти и где вы можете прикреплять свои собственные программы к определенному ЦП. Вы могли бы сделать этот шаг дальше и даже запустить определенную ОС (что, как я полагаю, вы подразумеваете под "программным обеспечением" на одном конкретном процессоре /ядре).

Это будет означать использование ОС, которая взаимодействует с любой другой ОС, поэтому либо специально написана как эта, либо что-то запущенное в гипервизоре типа 1.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .