Рассматривая некоторые специально созданные процессоры, я заметил, что частоты, на которых они работают, относительно низкие по сравнению с современными процессорами (порядка нескольких МГц). Есть ли причина такого ограничения в области электроники, например, для макетов? Если да, то как определить максимальную частоту, которую можно достичь с вашим дизайном?
15
Ответы:
В основном это связано с длиной соединений и задержками распространения через ворота. Если мы сводим процессор к его сути, это машина обратной связи. Группа комбинаторных логических схем вычисляет некоторые булевы функции для текущего состояния машины, и эти функции определяют новое состояние, которое фиксируется последовательной схемой, когда наступает новый фронт тактового сигнала. Все комбинаторные схемы имеют задержки. Период времени не может быть короче, чем время, которое требуется медленному пути через эти ворота для получения стабильного результата, потому что один неверный бит останавливает показ.
Кроме того, последовательная логика имеет требования к синхронизации. До наступления фронта часов есть некоторое минимальное время установки, при котором входы должны быть стабильными, а затем впоследствии они должны быть стабильными в течение некоторого времени удержания. Если они нарушаются, государство становится мусором.
Задержки распространения вызваны такими факторами, как то, как быстро паразитные емкости могут заряжаться, как быстрый ток может накапливаться перед индуктивностью и как быстро кремниевые устройства могут переключаться. Например, биполярный транзистор с меньшей базой может переключаться быстрее, чем транзистор с большей базой, поэтому крошечный транзистор на микросхеме будет быстрее, чем дискретный.
В более раннем ответе, который я удалил, я написал об эффектах линии передачи. Но я не учел, что эти эффекты даже не проявляются на скоростях, о которых мы говорим, потому что, скажем, при 10 МГц длина волны все еще составляет около 30 метров. Таким образом, в масштабе печатной платы обычного размера импульсы в масштабе времени в несколько мегагерц все еще достигают всех частей медной сети одновременно.
Таким образом, если вы делаете ЦП из отдельных компонентов, вы просто не получаете маленькие компоненты с быстрым временем переключения и такой же близостью, которая сводит к минимуму паразитные емкости и индуктивности.
Тем не менее, древние машины с дискретными компонентами в 1960-х годах работали немного быстрее, чем эти машины домашнего приготовления. Потребовалось некоторое время и хитрость, чтобы добраться туда. Например, IBM 360 Model 44 (1964) работала на частоте 4 МГц. Возможно, это все еще «домашняя скорость», но CDC 7600, выпущенный всего несколько лет спустя, в 1969 году, превысил 36 МГц. Статья в Википедии http://en.wikipedia.org/wiki/CDC_7600 дает подсказку о некоторых хитростях, например:
«Как всегда, дизайн Cray также был сфокусирован на упаковке, чтобы уменьшить размер, сократить пути прохождения сигнала и, таким образом, увеличить рабочую частоту. ... Схема [E] ach фактически состояла из шести плат ПК, каждая из которых была оснащена сверхминиатюрными резисторами, диодами. и транзисторы. Шесть плат были сложены и затем соединены вдоль их краев, создавая очень компактный, но в основном неисправимый модуль ».
Таким образом, доморощенные процессоры не обязательно имеют свой истинный потенциал из-за некоторых мешающих эффектов, связанных с качеством сборки и компоновкой. Тем не менее, следует приветствовать любого, кто создает ЦП из отдельных интегральных микросхем и дискретных компонентов, работающих на несколько мегагерц.
источник
Будучи старшеклассником, который строил компьютер специального назначения с TTL серии 7400, который получил какую-то награду на научной ярмарке, я наблюдал такие вещи, которые мешали ему работать максимально быстро:
Рассеянная емкость в макете. Несколько пф между каждой соседней парой разъемов. Это ограничило время нарастания / спада фронта импульса и местами добавляло перекрестные помехи. Это был, вероятно, самый большой фактор.
Вариации чипов с грейферным мешком. (Кто-нибудь помнит Poly-Paks?) 74LSxx, 74Hxx, 74xx с различными задержками распространения и другими характеристиками сделали невозможным синхронизацию сигналов на более высоких тактовых частотах, чем несколько МГц.
Дешевые чипы со статической памятью, опять же из сумки или другого некачественного источника. Они просто не могли читать или писать достоверно выше определенного уровня.
Мои контрольно-измерительные приборы были ограничены доморощенными генераторами сигналов, осциллографом с полосой пропускания 5 МГц и временными цифровыми схемами, оснащенными жюри. Трудно проверить целостность сигнала, синхронизацию, амплитуды цифровых сигналов, которые были отфильтрованы в нижних частотах в шаткую кашу.
Сегодня было бы трудно найти 5 МГц, если бы вы не покупали антиквариат. Все лучшие чипы получить так же просто, даже в 0,1-дюймовых DIP-упаковках, за исключением того, что я давно не видел много мешков-захватчиков. Однако макеты для розеток практически не изменились. Паразитная емкость все еще является фактором скорости для любых острых творческих цифровых проектов.
Избегание использования макетов с использованием доморощенной печатной платы - лучший способ избежать паразитной емкости, но, конечно, требует больше усилий и времени.
источник
Я думаю, что основная причина заключается в том, что по мере увеличения частоты импеданс соединений вашего макета будет увеличиваться и ограничивать конечную скорость вашей цепи.
Каждое соединение в вашем макете имеет низкую, но ненулевую индуктивность. Поскольку ваша частота становится все выше и выше, вы должны принимать во внимание эти эффекты. Сопротивление проводов можно найти по:
где L - индуктивность провода. В конце концов, Z станет достаточно высоким, чтобы ток не протекал и ваша схема перестала работать. Найти точное числовое значение для этого числа будет очень сложно, особенно потому, что макеты имеют следы рядом друг с другом, и это немного изменит импеданс каждого провода по этой формуле. Если вы действительно хотите (неточное) число, вы можете попытаться здесь рассчитать индуктивность (и, следовательно, полное сопротивление) ваших проводов. Если вам известен наименьший ток, с которым может работать деталь, вы можете определить максимальную частоту, прежде чем достигнете этого предела.
источник
Другие ответили «почему». Вот как можно определить максимальную скорость.
источник
Помимо всех электрических причин, которые ограничивают скорость, есть и одна на логическом уровне:
Вы не можете использовать столько ресурсов, чтобы заставить вещи работать быстрее, таких как конвейерная работа с предсказанием ветвлений, более быстрой арифметикой и так далее. Кеши не имеют большого смысла, если они не быстрее вашей основной памяти.
источник
Для доморощенных машин это сводится к двум факторам. Задержка распространения для используемых вами микросхем и количество микросхем, которые вам нужно использовать, на самом длинном пути в структуре вашего процессора.
Например, 74HC574 (8-битный регистр) имеет максимальную задержку распространения около 41 нс (взято из его таблицы данных). Теперь предположим, что самый длинный путь в конструкции вашего процессора требует, чтобы он проходил через 8 различных чипов. Сложите задержки распространения для каждой из 8 и давайте представим, что она составляет 333 нс. При 1000 нс, равных 1 МГц, максимальная скорость составляет 3 МГц.
На практике вы можете захотеть ограничиться чем-то более медленным, например, 2 МГц, чтобы обеспечить стабильный дизайн. Даже если вы думаете, что пропустите время только один раз на миллиард циклов, тогда у вас все еще проблемы. 10 миллиардов, разделенные на 3 миллиона, означают, что вы не выполняете их каждые 3333 секунды, то есть примерно один раз в час. Разбивать свою машину каждый час не хорошо!
Чтобы сделать это быстрее, вы можете использовать более быстрые фишки и / или изменить дизайн, чтобы уменьшить количество фишек на самом медленном пути. Самая быстрая скорость домашнего приготовления, которую вы видите, составляет около 4 МГц, что дает вам 250 нс для завершения каждого цикла.
источник