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


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.