Ограничение частоты для доморощенных процессоров

15

Рассматривая некоторые специально созданные процессоры, я заметил, что частоты, на которых они работают, относительно низкие по сравнению с современными процессорами (порядка нескольких МГц). Есть ли причина такого ограничения в области электроники, например, для макетов? Если да, то как определить максимальную частоту, которую можно достичь с вашим дизайном?

Eugen
источник
Как ... домашние чипы VLSI? Я предполагаю, что это ограничение стоимости. Точность, которую обеспечивает многомиллионное оборудование, просто не может быть продублирована дома, и в результате чипы должны работать медленнее.
Nate
4
@Nate, я предполагаю, что он имеет в виду доморощенные многочиповые процессоры, построенные из TTL. Например: homebrewcpu.com
Альфред Центавра
@Nate, я обновил свой вопрос, чтобы быть более конкретным.
Евгений
@AlfredCentauri - да, вы правы;)
Евгений

Ответы:

16

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

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

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

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

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

Тем не менее, древние машины с дискретными компонентами в 1960-х годах работали немного быстрее, чем эти машины домашнего приготовления. Потребовалось некоторое время и хитрость, чтобы добраться туда. Например, IBM 360 Model 44 (1964) работала на частоте 4 МГц. Возможно, это все еще «домашняя скорость», но CDC 7600, выпущенный всего несколько лет спустя, в 1969 году, превысил 36 МГц. Статья в Википедии http://en.wikipedia.org/wiki/CDC_7600 дает подсказку о некоторых хитростях, например:

«Как всегда, дизайн Cray также был сфокусирован на упаковке, чтобы уменьшить размер, сократить пути прохождения сигнала и, таким образом, увеличить рабочую частоту. ... Схема [E] ach фактически состояла из шести плат ПК, каждая из которых была оснащена сверхминиатюрными резисторами, диодами. и транзисторы. Шесть плат были сложены и затем соединены вдоль их краев, создавая очень компактный, но в основном неисправимый модуль ».

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

Kaz
источник
В зависимости от сложности пути передачи данных, я думаю, что доморощенное устройство должно без проблем использовать тактовую частоту 20 МГц или более, используя современные технологии и традиционные методы. Не мульти-ГГц, но не полный дурак. Я подозреваю, однако, что в большинстве случаев, когда используются домашние процессоры, простота устранения неисправностей важнее, чем скорость. Кстати, основной кристалл часов оригинальной аркадной машины марки Pong® составлял 14,3818 МГц, хотя он был разделен довольно рано; Я думаю, единственное, что ограничивает скорость, - это центральная линия игрового поля.
суперкат
1
Многие домашние процессоры используют EPROM для хранения микрокода, а также для реализации сложных логических таблиц и / или таблиц истинности (многие из них даже имеют ALU, состоящий из одного или нескольких ПЗУ). Скорость доступа к ПЗУ может значительно ограничить максимальную скорость машины, но они популярны, поскольку позволяют легко отлаживать, переназначать и настраивать процессор без значительных переподключений.
Алексиос
15

Будучи старшеклассником, который строил компьютер специального назначения с TTL серии 7400, который получил какую-то награду на научной ярмарке, я наблюдал такие вещи, которые мешали ему работать максимально быстро:

  • Рассеянная емкость в макете. Несколько пф между каждой соседней парой разъемов. Это ограничило время нарастания / спада фронта импульса и местами добавляло перекрестные помехи. Это был, вероятно, самый большой фактор.

  • Вариации чипов с грейферным мешком. (Кто-нибудь помнит Poly-Paks?) 74LSxx, 74Hxx, 74xx с различными задержками распространения и другими характеристиками сделали невозможным синхронизацию сигналов на более высоких тактовых частотах, чем несколько МГц.

  • Дешевые чипы со статической памятью, опять же из сумки или другого некачественного источника. Они просто не могли читать или писать достоверно выше определенного уровня.

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

Сегодня было бы трудно найти 5 МГц, если бы вы не покупали антиквариат. Все лучшие чипы получить так же просто, даже в 0,1-дюймовых DIP-упаковках, за исключением того, что я давно не видел много мешков-захватчиков. Однако макеты для розеток практически не изменились. Паразитная емкость все еще является фактором скорости для любых острых творческих цифровых проектов.

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

DarenW
источник
4

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

Каждое соединение в вашем макете имеет низкую, но ненулевую индуктивность. Поскольку ваша частота становится все выше и выше, вы должны принимать во внимание эти эффекты. Сопротивление проводов можно найти по:

Эта формула

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

Nate
источник
Не могли бы вы объяснить взаимосвязь между сопротивлением и скоростью цепи?
Евгений
Итак, как это объясняет, что процессоры, такие как Intel Core I7, работают на тактовой частоте 2,5 ГГц, а процессоры, построенные на макетах, не могут достичь этой скорости? Сначала я думал, что есть связь с длиной провода между чипами процессора и оперативной памяти.
Евгений
Не отрицать законы физики, но я не думаю, что индуктивность действительно является основным ограничителем скорости. После этого аналогичные провода одинакового диапазона длин используются в доморощенных радиоприемниках и других проектах на гораздо более высоких частотах. Нужно просто быть осторожным с согласованием импедансов, длин, макетов, избегать случайных соединений и т. Д.
DarenW
1
@ ДаренВ: Рассеянная индуктивность и емкость - действительно проблемы. В радиосистеме у вас обычно есть только один провод нетривиальной длины. В реализации процессора у вас есть сотни, с взаимной индуктивностью в зависимости от расстояния. Частотно-зависимые взаимодействия неуправляемы из-за сложности. Характеристический импеданс сильно зависит от таких вещей, как расстояние от наземных следов ... которые плохо контролируются на макете.
Бен Фойгт
1
Я думаю, что вы правы, я думаю, это должны быть просто реактивные сопротивления в целом. Емкость приведет к аналогичным проблемам, но для таких вещей, как резкий рост / спад и изменение состояния. Уравнения для определения полного сопротивления аналогичны, и, если он хочет получить численный ответ, они, вероятно, могут быть применены аналогичным образом.
Nate
3

Другие ответили «почему». Вот как можно определить максимальную скорость.

  1. Для каждого триггера посмотрите его часы на Q.
  2. Суммируйте длину всех проводов от триггера до следующего триггера. Поверни эту длину на время. Провод ~ 2/3 скорости света
  3. Итого, любые задержки шлюза, в том числе через асинхронную оперативную память.
  4. Возьмите время установки на следующем триггере.
  5. Добавить 1-4. Это ваш минимальный период времени. Инвертировать, чтобы получить частоту.
  6. Посмотрите на перекос часов. Если часы доходят до второго ff до первого, добавьте перекос с 1-4.
  7. Если часы доходят до второго ff до первого, рассчитайте минимум 1-3. Удостоверьтесь, что они меньше, чем время удержания, требуемое вторым ff плюс перекос часов.
Брайан Карлтон
источник
О какой длине провода вы говорите: длина от источника питания до выводов ЦП, выводов ЦП до микросхем ОЗУ ...? Также мне не очень понятно, что вы имеете в виду на первом этапе.
Евгений
2
@Eugen - я думаю (но не в своей области), что он имеет в виду внутреннюю задержку распространения - время от синхронизации до стабильного выхода.
Безоговорочно восстановите
1

Помимо всех электрических причин, которые ограничивают скорость, есть и одна на логическом уровне:

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

starblue
источник
1

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

Например, 74HC574 (8-битный регистр) имеет максимальную задержку распространения около 41 нс (взято из его таблицы данных). Теперь предположим, что самый длинный путь в конструкции вашего процессора требует, чтобы он проходил через 8 различных чипов. Сложите задержки распространения для каждой из 8 и давайте представим, что она составляет 333 нс. При 1000 нс, равных 1 МГц, максимальная скорость составляет 3 МГц.

На практике вы можете захотеть ограничиться чем-то более медленным, например, 2 МГц, чтобы обеспечить стабильный дизайн. Даже если вы думаете, что пропустите время только один раз на миллиард циклов, тогда у вас все еще проблемы. 10 миллиардов, разделенные на 3 миллиона, означают, что вы не выполняете их каждые 3333 секунды, то есть примерно один раз в час. Разбивать свою машину каждый час не хорошо!

Чтобы сделать это быстрее, вы можете использовать более быстрые фишки и / или изменить дизайн, чтобы уменьшить количество фишек на самом медленном пути. Самая быстрая скорость домашнего приготовления, которую вы видите, составляет около 4 МГц, что дает вам 250 нс для завершения каждого цикла.

Фил Райт
источник