완전 비동기 회로가 더 널리 보급되지 않은 이유는 무엇입니까? [닫은]


19

내가 알기로는, 대부분의 최신 소비자 CPU는 동기식 논리를 기반으로합니다. 일부 고속 애플리케이션 (신호 처리 등)은 고속으로 비동기 로직을 ​​사용합니다.

그러나 오늘날 시장에서 소비자 제품의 속도는 주요 판매 포인트 중 하나입니다 (AMD vs. 인텔 참조). 완전 비동기식 로직을 채택하는 것보다 더 복잡한 리소그래피의 개발이 더 빠릅니까? 아니면 VLSI 애플리케이션에 비동기 로직이 너무 복잡하거나 실용적이지 않습니까?


4
절차적인 방법으로 프로그래밍하는 것은 매우 어렵다고 생각합니다.
— mehmet.ali.anil

16
현재 아키텍처는 하이브리드입니다. 동기식 블록은 비동기 방식으로 상호 연결됩니다. 그리고 예, 비동기 논리는 훨씬 더 복잡합니다.
— 유진 Sh.

5
비동기 타이밍 클로저에는 아직 좋은 도구가 없기 때문입니다.
— Oldfart

2
시스템은 점점 비 동기화되고 있습니다. 최신 CPU에서는 RAM, 캐시 및 CPU 코어와 같은 것들이 모두 독립적 인 시계로 실행됩니다. 새로운 인텔 HEDT 프로세서는이 단계를 한 단계 더 발전시켜 칩의 많은 코어 각각이 서로 독립적 인 클럭과 RAM, 캐시 및 외부 버스 등에서 클럭으로 실행될 수 있도록합니다.
— J ...

1
기억해야 할 것은 동기식 클록은 시스템에 대해 표준화 된 하트 비트를 도입하는 반면 순수한 비동기식 설계를 사용하는 경우 전파 지연과 같은 사소한 타이밍 차이를 다른 수단을 통해 수용해야 할 수도 있습니다. 또한 비동기 디자인에서 순수 함수를 구현하는 것이 상대적으로 효율적이지만 상태 저장 함수 (또는 제곱근과 같은 더 어려운 작업)는 복잡해질 수 있습니다. 라우팅 신호도 어려울 수 있습니다 (버스가 없으면 모든 것을 모든 것에 연결하지 못할 수 있음).
— jrh

답변:


45

나는 몇 년 동안 비동기 설계 기술을 상업화하는 데 시간을 보냈으므로 그 이유에 익숙합니다.

  • 비동기는 본질적으로 빠르지 않습니다 . 최악의 경로 지연은 동일하게 유지됩니다. 때로는 더 빠른 경로 실행을 활용할 수 있습니다.

  • 비동기에는 완료 감지 오버 헤드도 있습니다.

  • 디자인 툴. 이것은 정말 큰 것입니다. 동기식 설계와 동일한 품질로 사용할 수있는 완전한 비동기 "흐름"도구는 없습니다.

  • 훈련. 새로운 패러다임과 도구에 대해 모든 디자이너를 효과적으로 교육시켜야합니다.

  • 위험과 보수. 업계의 많은 부분이 "마지막 산업과 비슷한 것을 생산하지만 약간 다릅니다". 이것은 일할 가능성이 매우 높습니다. 회사는 총 1 억 달러의 비용을 지불 할 가능성이 훨씬 높기 때문에 완전히 다른 것을 만드는 것을 꺼려합니다.


본질적으로 저렴하지만 느릴 수 있습니다.
— Tony Stewart Sunnyskyguy EE75

3
나는 이것에 대해 한 번 생각한 것을 기억하고 또한 깨달았다 : 동기화 된 칩은 (배터리 / 온도 / 등의 경우) 사소하게 언더 클러킹되지만 비동기 칩은 아마도 덜?
— Mooing Duck

설계 툴 / 패러다임의 관점에서 동기 로직은 조합 로직 출력에서 ​​글리치를 완전히 무시할 수 있으며 클록 신호에만 글리치가 없어야합니다. 또한 비동기 회로는 데이터가 도착하기 전에 준비된 신호가 다음 블록에 도달 할 수 없도록하기 위해 일부 신호에 대해 추가 지연을 추가해야 할 가능성이 높습니다. 동기 회로에서는 인공 지연이 거의 필요하지 않습니다. 떠오르는 몇 가지 사례 중 하나는 대기 시간 요구 사항을 충족시키는 것인데, 이는 종종 자연적인 지연으로 충족 될 수 있습니다. 또한 일부 크로스 클럭 도메인 상황은 지연이 필요할 수 있습니다.
— Kevin Cathcart

많은 상황에서 2 상 겹치지 않는 클럭을 사용하면 단일 클럭보다 많은 이점을 제공 할 수 있다고 생각합니다. 단일 클록을 사용하는 경우 런트 펄스로 인해 시스템이 레일을 뛰어 넘을 수 있지만 두 개의 비교기를 통해 클록 입력을 공급하여 생성 된 2 상 클록을 사용하는 경우, 클록 위상의 런트 펄스는 선행하거나 뒤 따르면 무해합니다. 반대 클록 위상에 개입 펄스가없는 유효 길이 클록 펄스.
— supercat

3
@MooingDuck 논리 패러다임에 따라 다릅니다. 나는 Null Convention Logic에서 일했으며 조건 (프로세스, 전압, 온도)이 허용하는 한 빨리 실행됩니다. 이러한 조건으로 인해 시계를 멈출 필요는 없으며 자동으로 수행 됩니다 .
— W5VO

3

비동기식 집적 회로를 설계하는 것은 매우 유혹적입니다. 다른 답변은 이미하기 전에 두 번 생각해야하는 많은 이유를 다룹니다. 여기 하나 더 있습니다 :

IC 개발은 디자인으로 끝나지 않았습니다. 확인 및 테스트도 마찬가지로 중요합니다. 동기식 회로를위한 설계 툴은 매우 고급 일뿐만 아니라 시뮬레이션 툴 및 테스트 장비와 동일합니다.

확인

실험실 조건에서 회로를 작동시키는 것만으로는 충분하지 않습니다. 작동 전압 (V) 범위, 작동 온도 (T) 범위 및 제조 공정 (P)으로 인한 변동과 관련하여 견고해야합니다. 동기식 로직의 경우 정적 타이밍 분석을 통해이를 보장 할 수 있습니다. 회로는 플립 플롭에서 플립 플롭까지 모든 타이밍 경로로 분류됩니다. 설정 및 유지 시간은 모든 단일 타이밍 경로 및 P, T 및 V의 다른 조합에 대해 점검됩니다. 이러한 PTV 조합은 소위 시뮬레이션 코너입니다.

비동기 회로에 대해서도 유사한 검증을 수행 할 수 있지만 설계 툴에 의해 훨씬 더 어렵고 덜 지원됩니다. 또한 디자이너가 실제로 확인할 수있는 비동기 구문으로 제한합니다. 임의의 비동기 회로에 대한 확실한 검증은 없습니다.

테스트

하드웨어 테스트와 관련하여 비슷한 어려움이 있습니다. 표준 및 장비 테스트를 통해 동기식 로직 테스트를 완벽하게 지원합니다. 비동기 회로를 테스트하는 것은 더 복잡 할뿐만 아니라 타이밍 추상화가 없기 때문에 회로가 ​​모든 PTV 코너에서 작동한다는 것을 증명하는 것만으로는 충분하지 않습니다. 일부 PTV 조합에서 경쟁 조건으로 인해 회로가 고장날 수 있습니다.

개요

IC 설계자들은 비동기 패러다임을 포기하지 않았지만, 비동기 로직은 검증 및 검증 과정에서 큰 단점이있다. 산업 환경에서 비동기 IC 설계는 온도 및 전압의 작동 범위뿐만 아니라 공정 변동의 전체 매개 변수 공간에서 작동하는 것으로 입증 될 수있는 구성으로 제한되어야합니다.

소위 "로컬 동기 글로벌 비동기"설계는 두 타이밍 패러다임의 장점과 단점을 줄이는 한 가지 방법입니다.


0

비동기 이진 카운터는 2 개로 나눌 때 1 개의 메모리 셀 또는 T 플립 플롭 만 사용하기 때문에 더 간단합니다. 따라서 이전 CD 및 74HC4020 및 4040은 많은 이진 단계를 저렴하게 제공합니다. 각 단계에서의 prop 지연은 prop 지연이 트레일 링 에지를 사용하여 결과를 래치하기 위해 1/2 입력 클럭 사이클보다 작지 않으면 이진 주소의 게이트 디코딩으로 경쟁 조건이나 글리치없이 사용될 수 없음을 의미합니다. 그런 다음 출력 대기 시간에 N 단계를 곱합니다.

동기 이진 카운터는 추가 메모리 셀을 D FF로 사용하여 지연되지만 카운터의 길이에 상관없이 지연을 1 값으로 최소화하여 더 많은 영역을 소비합니다.

따라서 모든 CPU는 보완 클록을 사용하여 주소 및 메모리 읽기 / 쓰기의 예상 대기 시간을 최적화하여 처리량을 최대화하지만 소품 지연, 설정 및 유지 시간을 초과하지는 않습니다.

메모리는 이제 특히 그래픽 메모리를 위해 DDR, 3DR, 4DR, 5DR과 같은 많은 단계를 사용하지만 CPU 클록이 단일 사이클 RAM 속도보다 훨씬 빠르게 진행되므로 읽기 및 쓰기 주소 지연 시간이 단일 또는 다중 또는 반 카운트로 시간이 초과 될 수 있습니다 각 클럭마다 T 소수 또는 정수로 지정된 수퍼 클럭 (예 : 100MHz xN). 이러한 prop 지연은 온도에 따라 증가합니다. CMOS의 경우 Vram 전압을 높이면 제대로 냉각되면 대기 시간 또는 기타 증가 Pd 및 온도 상승이 줄어들고 성능이 저하됩니다 (느려짐). 따라서 냉각, V, f, T는 모두 비동기 또는 동기화 작업에 사용 되든 최적의 대기 시간에 중요합니다.


-1

초기 논리 설계는 비동기 적이었습니다. 종종 그들은 아날로그 회로와 혼합되었습니다. 그러나 시간이 지남에 따라 디자인이 복잡 해져서 더 많은 엔지니어가 단일 디자인 작업을 요구합니다. 비동기의 타이밍 다이어그램. 상태가 많은 경우 논리가 번거로울 수 있습니다. 이제 서로 다른 논리 블록을 서로 인터페이스하려고하는 엔지니어 팀을 추가하지만 이들 사이의 타이밍이 잘 맞지 않습니다. 예기치 않은 방식으로 설계가 변경되기 쉬워집니다.

동기식 로직 설계를 입력하십시오. 이제 모든 상태 흐름은 클럭 신호에 맞춰져있어 인터페이스를 매우 잘 정의 할 수 있으며 설계 변경에 대비하여 더욱 강력 해집니다. 그렇습니다. 더 많은 게이트를 사용할 수 있지만 설계 상 (보통) 안정적입니다. 아무도 손을 대지 않는 한 안정과 반대로!


1
"올바른 설계"및 "잘 정의 된 인터페이스"를 보장하는 비동기 설계 방법론도 있습니다. 이는 동기식 설계에 대한 간단한 가정과는 다릅니다.
— Edgar Brown
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.