디지털 FPU (CPU-> DAC-> 아날로그 FPU-> ADC-> CPU) 대신 아날로그 신호 산술 (정확도 및 정밀성 비용)을 사용하는 경우 이론적으로 최신 프로세서 속도를 높일 수 있습니까?
FPU 곱셈은 종종 한 번의 CPU 사이클을 필요로하므로 아날로그 신호 분할이 가능합니까?
디지털 FPU (CPU-> DAC-> 아날로그 FPU-> ADC-> CPU) 대신 아날로그 신호 산술 (정확도 및 정밀성 비용)을 사용하는 경우 이론적으로 최신 프로세서 속도를 높일 수 있습니까?
FPU 곱셈은 종종 한 번의 CPU 사이클을 필요로하므로 아날로그 신호 분할이 가능합니까?
답변:
기본적으로 모든 회로는 아날로그입니다. 아날로그 전압 또는 전류로 계산을 수행 할 때 발생하는 문제는 노이즈와 왜곡의 조합입니다. 아날로그 회로는 노이즈의 영향을 받기 때문에 아날로그 회로를 엄청나게 큰 선형으로 만들기가 매우 어렵습니다. 아날로그 회로의 각 단계는 신호에 노이즈 및 / 또는 왜곡을 추가합니다. 이를 제어 할 수는 있지만 제거 할 수는 없습니다.
디지털 회로 (즉, CMOS)는 기본적으로 정보를 표현하기 위해 두 단계 만 사용하여이 모든 문제를 회피하고 각 단계는 신호를 재생성합니다. 출력이 10 % 정도 꺼지면 누가 임계 값보다 높거나 낮아야합니까? 출력이 10 % 왜곡 된 경우 누가 신경 써야하는지 다시 임계 값 이상이어야합니다. 각 임계 값 비교에서 신호는 기본적으로 재생성되고 잡음 / 비선형 성 문제 등입니다. 벗겨졌다. 이것은 입력 신호를 증폭하고 클리핑하여 수행됩니다. CMOS 인버터는 비교기로 개방 루프로 작동되는 두 개의 트랜지스터로 만든 매우 단순한 증폭기입니다. 레벨이 임계 값을 넘어 서면 약간의 오류가 발생합니다. 프로세서는 일반적으로 10 ^ -20, IIRC 정도의 비트 오류율을 갖도록 설계되었습니다. 이것 때문에, 디지털 회로는 믿을 수 없을 정도로 견고합니다. 선형성과 노이즈가 기본적으로 문제가되지 않기 때문에 매우 광범위한 조건에서 작동 할 수 있습니다. 64 비트 숫자로 디지털 방식으로 작업하는 것은 거의 사소한 일입니다. 64 비트는 385dB의 동적 범위를 나타냅니다. 그것은 19의 순서입니다. 아날로그 회로를 사용하면 근처에 갈 수있는 방법이 없습니다. 해상도가 1 피코 볼트 (10 ^ -12) 인 경우 (기본적으로 열 노이즈에 의해 즉시 스윕 됨) 최대 값 10 ^ 7을 지원해야합니다. 10 메가 볼트입니다. 아날로그에서 이런 종류의 다이나믹 레인지를 조작 할 수있는 방법은 절대 없습니다. 단순히 불가능합니다. 아날로그 회로의 또 다른 중요한 절충점은 대역폭 / 속도 / 응답 시간 및 잡음 / 동적 범위입니다. 좁은 대역폭 회로는 잡음을 평균화하고 넓은 동적 범위에서 잘 수행합니다. 단점은 느리다는 것입니다. 광대역 회로는 빠르지 만 잡음은 더 큰 문제이므로 동적 범위가 제한됩니다. 디지털을 사용하면 문제에 비트를 던져 동적 범위를 늘리거나 병렬로 작업하거나 둘 다 수행하여 속도를 높일 수 있습니다.
그러나 일부 작업의 경우 아날로그는 더 빠르고 간단하며 전력 소비가 적은 등의 장점이 있습니다. 디지털은 레벨과 시간에 양자화되어야합니다. 아날로그는 둘 다 연속적입니다. 아날로그 승리의 한 예는 wifi 카드의 라디오 수신기에 있습니다. 입력 신호는 2.4GHz로 제공됩니다. 완전 디지털 수신기는 초당 최소 5 기가 샘플을 실행하는 ADC가 필요합니다. 이것은 엄청난 양의 전력을 소비합니다. 그리고 그것은 ADC 이후의 처리를 고려하지도 않습니다. 현재이 속도의 ADC는 실제로 고성능베이스 밴드 통신 시스템 (예 : 높은 심볼 속도 코 히어 런트 광 변조) 및 테스트 장비에만 사용됩니다. 그러나 소수의 트랜지스터와 패시브를 사용하여 2를 다운 컨버전 할 수 있습니다.
결론은 아날로그 및 디지털 계산에 장단점이 있다는 것입니다. 노이즈, 왜곡, 낮은 다이나믹 레인지 및 / 또는 낮은 정밀도를 견딜 수 있으면 아날로그를 사용하십시오. 노이즈 나 왜곡을 견딜 수없고 높은 동적 범위와 높은 정밀도가 필요한 경우 디지털을 사용하십시오. 더 많은 정밀도를 얻기 위해 항상 문제에 더 많은 비트를 던질 수 있습니다. 그러나 이에 상응하는 아날로그는 없습니다.
지난 달“ Back to the Future : Analog Signal Processing ” 이라는 IEEE 토크에 참석했습니다 . 이 연설은 IEEE 솔리드 스테이트 서킷 소사이어티 (Solid State Circuit Society)에서 주최했습니다.
아날로그 MAC (곱셈 및 누적)은 디지털보다 적은 전력을 소비 할 수 있다고 제안되었습니다. 그러나 한 가지 문제는 아날로그 MAC이 아날로그 노이즈의 영향을 받는다는 것입니다. 따라서 동일한 입력을 두 번 표시하면 결과가 정확히 동일하지 않습니다.
당신이 말하는 것은 아날로그 컴퓨터 (Analog Computer)라고하며, 컴퓨터 초기에는 상당히 널리 퍼져있었습니다. 60 년대 말쯤에 그들은 본질적으로 사라졌습니다. 문제는 디지털보다 정밀도가 훨씬 나빠질뿐만 아니라 정확도도 떨어진다는 것입니다. 또한 디지털 계산 속도는 겸손한 아날로그 회로보다 훨씬 빠릅니다.
아날로그 분배기는 실제로 가능하며 Analog Devices는 약 10 가지 모델을 만듭니다. 이들은 실제로 연산 증폭기의 피드백 경로에 삽입되어 디바이더를 생성하는 멀티 플라이어이지만 AD는 제수의 큰 (60dB, 생각) 다이내믹 레인지에 최적화 된 전용 디바이더를 생성하는 데 사용됩니다.
기본적으로 아날로그 계산은 디지털에 비해 느리고 부정확합니다. 뿐만 아니라 특정 아날로그 계산을 실현하려면 하드웨어를 재구성해야합니다. 게임이 늦게, 소프트웨어 제어 하에서이 작업을 수행 할 수있는 하이브리드 아날로그 컴퓨터가 생산되었지만이 장치는 부피가 커서 특수 용도를 제외하고는 절대로 붙 잡히지 않았습니다.
FPU 곱셈은 종종 한 번의 CPU 사이클을 필요로하므로 아날로그 신호 분할이 가능합니까?
아날로그 멀티 플라이어가있는 경우 아날로그 분배기는 "쉽게"만들 수 있습니다.
이 회로 시뮬레이션 – CircuitLab을 사용하여 작성된 회로도
X1과 X2가 양수라고 가정하면 Y = X1 / X2가 해결됩니다.
아날로그 승수가 존재하므로이 회로는 원칙적으로 가능합니다. 불행히도 대부분의 아날로그 곱셈기는 허용되는 입력 값의 범위가 상당히 제한되어 있습니다.
다른 접근법은 먼저 로그 증폭기를 사용하여 X1 및 X2의 로그를 구하고 빼고 지수화하는 것입니다.
디지털 FPU (CPU-> ADC-> 아날로그 FPU-> DAC-> CPU) 대신 아날로그 신호 산술 (정밀한 비용으로)을 사용하는 경우 이론적으로 최신 프로세서 속도를 높일 수 있습니까?
핵심은 기술의 문제입니다. 디지털 연산 속도를 높이기 위해 R & D에 많은 투자를 해왔 기 때문에 아날로그 기술은이 시점에서 따라 잡을 수있는 길이 멀었습니다. 그러나 그것이 불가능하다고 말할 방법은 없습니다.
반면에, 위의 조잡한 분배기 회로가 매우 신중한 작업을 수행하지 않고 10 MHz 이상에서 작동하고 더 빨리 진행하기 위해 심층 다이빙 연구를 수행하지 않을 것으로 예상됩니다.
또한 우리는 정밀도를 무시해야한다고 말하지만, 내가 그린 것과 같은 회로는 아마도 튜닝없이 1 % 정도로 정확하고 새로운 기술을 발명하지 않으면 0.1 %까지 정확할 것입니다. 유용하게 계산할 수있는 입력의 동적 범위도 비슷하게 제한됩니다. 따라서 사용 가능한 디지털 회로보다 100 ~ 1000 배 느릴 뿐만 아니라 동적 범위도 IEEE 300 비트 부동 소수점에 비해 10 ~ 300 배 더 나쁩니다.
아니요. DAC 및 ADC 변환은 디지털 나누기 또는 곱셈보다 훨씬 많은 시간이 걸리기 때문입니다.
아날로그 곱셈과 나눗셈은 그렇게 간단하지 않고 더 많은 에너지를 사용하며 비용 효율적이지 않습니다 (디지털 IC와 비교).
고속 (GHz 범위) 아날로그 곱셈 및 나눗셈 IC의 정밀도는 약 1 %입니다. 빠른 아날로그 분배기로 나눌 수있는 것은 8 비트 숫자 나 그와 비슷한 것입니다. 디지털 IC는 이와 같은 숫자를 매우 빠르게 처리합니다.
여기에서 Analog Devices가 제공하는 아날로그 분배기 및 승수를 볼 수 있습니다 ( link )
이러한 것들은 일반적인 컴퓨팅에는 그다지 유용하지 않습니다. 이것들은 아날로그 신호 처리에 훨씬 좋습니다.
float
경우 계수는 23 비트, 지수는 8 비트, 부호는 1 비트입니다. 이 3 가지 범위를 아날로그로 나타내야합니다.
실제로, 연구원들은 VLSI와 관련하여 아날로그 컴퓨팅 기술을 다시 방문하고 있습니다. 왜냐하면 아날로그 계산은 특정 응용 분야의 디지털 기술보다 훨씬 높은 에너지 효율을 제공 할 수 있기 때문입니다. 이 논문을보십시오 :
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7313881&tag=1