내가 알기로는, 대부분의 최신 소비자 CPU는 동기식 논리를 기반으로합니다. 일부 고속 애플리케이션 (신호 처리 등)은 고속으로 비동기 로직을 사용합니다.
그러나 오늘날 시장에서 소비자 제품의 속도는 주요 판매 포인트 중 하나입니다 (AMD vs. 인텔 참조). 완전 비동기식 로직을 채택하는 것보다 더 복잡한 리소그래피의 개발이 더 빠릅니까? 아니면 VLSI 애플리케이션에 비동기 로직이 너무 복잡하거나 실용적이지 않습니까?
내가 알기로는, 대부분의 최신 소비자 CPU는 동기식 논리를 기반으로합니다. 일부 고속 애플리케이션 (신호 처리 등)은 고속으로 비동기 로직을 사용합니다.
그러나 오늘날 시장에서 소비자 제품의 속도는 주요 판매 포인트 중 하나입니다 (AMD vs. 인텔 참조). 완전 비동기식 로직을 채택하는 것보다 더 복잡한 리소그래피의 개발이 더 빠릅니까? 아니면 VLSI 애플리케이션에 비동기 로직이 너무 복잡하거나 실용적이지 않습니까?
답변:
나는 몇 년 동안 비동기 설계 기술을 상업화하는 데 시간을 보냈으므로 그 이유에 익숙합니다.
비동기는 본질적으로 빠르지 않습니다 . 최악의 경로 지연은 동일하게 유지됩니다. 때로는 더 빠른 경로 실행을 활용할 수 있습니다.
비동기에는 완료 감지 오버 헤드도 있습니다.
디자인 툴. 이것은 정말 큰 것입니다. 동기식 설계와 동일한 품질로 사용할 수있는 완전한 비동기 "흐름"도구는 없습니다.
훈련. 새로운 패러다임과 도구에 대해 모든 디자이너를 효과적으로 교육시켜야합니다.
위험과 보수. 업계의 많은 부분이 "마지막 산업과 비슷한 것을 생산하지만 약간 다릅니다". 이것은 일할 가능성이 매우 높습니다. 회사는 총 1 억 달러의 비용을 지불 할 가능성이 훨씬 높기 때문에 완전히 다른 것을 만드는 것을 꺼려합니다.
비동기식 집적 회로를 설계하는 것은 매우 유혹적입니다. 다른 답변은 이미하기 전에 두 번 생각해야하는 많은 이유를 다룹니다. 여기 하나 더 있습니다 :
IC 개발은 디자인으로 끝나지 않았습니다. 확인 및 테스트도 마찬가지로 중요합니다. 동기식 회로를위한 설계 툴은 매우 고급 일뿐만 아니라 시뮬레이션 툴 및 테스트 장비와 동일합니다.
실험실 조건에서 회로를 작동시키는 것만으로는 충분하지 않습니다. 작동 전압 (V) 범위, 작동 온도 (T) 범위 및 제조 공정 (P)으로 인한 변동과 관련하여 견고해야합니다. 동기식 로직의 경우 정적 타이밍 분석을 통해이를 보장 할 수 있습니다. 회로는 플립 플롭에서 플립 플롭까지 모든 타이밍 경로로 분류됩니다. 설정 및 유지 시간은 모든 단일 타이밍 경로 및 P, T 및 V의 다른 조합에 대해 점검됩니다. 이러한 PTV 조합은 소위 시뮬레이션 코너입니다.
비동기 회로에 대해서도 유사한 검증을 수행 할 수 있지만 설계 툴에 의해 훨씬 더 어렵고 덜 지원됩니다. 또한 디자이너가 실제로 확인할 수있는 비동기 구문으로 제한합니다. 임의의 비동기 회로에 대한 확실한 검증은 없습니다.
하드웨어 테스트와 관련하여 비슷한 어려움이 있습니다. 표준 및 장비 테스트를 통해 동기식 로직 테스트를 완벽하게 지원합니다. 비동기 회로를 테스트하는 것은 더 복잡 할뿐만 아니라 타이밍 추상화가 없기 때문에 회로가 모든 PTV 코너에서 작동한다는 것을 증명하는 것만으로는 충분하지 않습니다. 일부 PTV 조합에서 경쟁 조건으로 인해 회로가 고장날 수 있습니다.
IC 설계자들은 비동기 패러다임을 포기하지 않았지만, 비동기 로직은 검증 및 검증 과정에서 큰 단점이있다. 산업 환경에서 비동기 IC 설계는 온도 및 전압의 작동 범위뿐만 아니라 공정 변동의 전체 매개 변수 공간에서 작동하는 것으로 입증 될 수있는 구성으로 제한되어야합니다.
소위 "로컬 동기 글로벌 비동기"설계는 두 타이밍 패러다임의 장점과 단점을 줄이는 한 가지 방법입니다.
비동기 이진 카운터는 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는 모두 비동기 또는 동기화 작업에 사용 되든 최적의 대기 시간에 중요합니다.
초기 논리 설계는 비동기 적이었습니다. 종종 그들은 아날로그 회로와 혼합되었습니다. 그러나 시간이 지남에 따라 디자인이 복잡 해져서 더 많은 엔지니어가 단일 디자인 작업을 요구합니다. 비동기의 타이밍 다이어그램. 상태가 많은 경우 논리가 번거로울 수 있습니다. 이제 서로 다른 논리 블록을 서로 인터페이스하려고하는 엔지니어 팀을 추가하지만 이들 사이의 타이밍이 잘 맞지 않습니다. 예기치 않은 방식으로 설계가 변경되기 쉬워집니다.
동기식 로직 설계를 입력하십시오. 이제 모든 상태 흐름은 클럭 신호에 맞춰져있어 인터페이스를 매우 잘 정의 할 수 있으며 설계 변경에 대비하여 더욱 강력 해집니다. 그렇습니다. 더 많은 게이트를 사용할 수 있지만 설계 상 (보통) 안정적입니다. 아무도 손을 대지 않는 한 안정과 반대로!