Là số học tín hiệu tương tự nhanh hơn so với kỹ thuật số?


36

Về mặt lý thuyết có thể tăng tốc bộ xử lý hiện đại nếu người ta sử dụng số học tín hiệu tương tự (với chi phí chính xác và chính xác) thay vì FPU kỹ thuật số (CPU -> DAC -> FPU tương tự -> ADC -> CPU)?

Có thể phân chia tín hiệu tương tự không (vì phép nhân FPU thường mất một chu kỳ CPU)?


Nó không trả lời cho câu hỏi của bạn, nhưng đây là một bài viết thú vị về việc sử dụng máy tính cơ điện tương tự trong tàu chiến arstechnica.com/inatures-t Technology / 2014/03 / Lỗi
Doombot

Thỉnh thoảng đã có đề xuất sử dụng logic kỹ thuật số đa trạng thái - ví dụ: "flip-flop" với bốn trạng thái thay vì hai. Điều này thực sự đã được thực hiện trong một số chip bộ nhớ sản xuất, vì nó làm giảm tắc nghẽn dây. (Tuy nhiên, tôi không biết liệu có bất kỳ chip nào được sản xuất sử dụng logic đa trạng thái hay không.)
Hot Licks

Câu trả lời:


44

Về cơ bản, tất cả các mạch là tương tự. Vấn đề với việc thực hiện tính toán với điện áp hoặc dòng điện tương tự là sự kết hợp giữa nhiễu và méo. Các mạch tương tự phải chịu nhiễu và rất khó để tạo ra các mạch tương tự tuyến tính trên các đơn đặt hàng cường độ lớn. Mỗi giai đoạn của một mạch tương tự sẽ thêm nhiễu và / hoặc biến dạng cho tín hiệu. Điều này có thể được kiểm soát, nhưng nó không thể được loại bỏ.

Về cơ bản, các mạch kỹ thuật số (cụ thể là CMOS) đã xử lý toàn bộ vấn đề này bằng cách chỉ sử dụng hai cấp độ để thể hiện thông tin, với mỗi giai đoạn tái tạo tín hiệu. Ai quan tâm nếu đầu ra giảm 10%, nó chỉ phải ở trên hoặc dưới một ngưỡng. Ai quan tâm nếu đầu ra bị biến dạng 10%, một lần nữa nó chỉ phải ở trên hoặc dưới một ngưỡng. Ở mỗi ngưỡng so sánh, tín hiệu cơ bản được tái tạo và các vấn đề nhiễu / phi tuyến / v.v. lột ra. Điều này được thực hiện bằng cách khuếch đại và cắt tín hiệu đầu vào - một biến tần CMOS chỉ là một bộ khuếch đại rất đơn giản được chế tạo với hai bóng bán dẫn, hoạt động vòng hở như một bộ so sánh. Nếu mức được đẩy vượt ngưỡng, thì bạn sẽ gặp một chút lỗi. Bộ xử lý thường được thiết kế để có tỷ lệ lỗi bit theo thứ tự 10 ^ -20, IIRC. Bởi vì điều này, các mạch kỹ thuật số cực kỳ mạnh mẽ - chúng có thể hoạt động trong một phạm vi điều kiện rất rộng bởi vì tuyến tính và nhiễu về cơ bản không phải là vấn đề. Nó hoạt động gần như không đáng kể với các số 64 bit. 64 bit đại diện cho 385 dB của dải động. Đó là 19 mệnh lệnh cường độ. Không có cách nào trong địa ngục bạn sẽ đến bất cứ nơi nào gần đó với các mạch tương tự. Nếu độ phân giải của bạn là 1 picovolt (10 ^ -12) (và điều này về cơ bản sẽ bị ngập ngay lập tức bởi nhiễu nhiệt) thì bạn phải hỗ trợ giá trị tối đa là 10 ^ 7. Đó là 10 megavol. Hoàn toàn không có cách nào để vận hành trên loại dải động đó trong tương tự - đơn giản là không thể. Một sự đánh đổi quan trọng khác trong mạch tương tự là băng thông / tốc độ / thời gian đáp ứng và nhiễu / dải động. Mạch băng thông hẹp sẽ loại bỏ nhiễu trung bình và hoạt động tốt trên một dải động rộng. Sự đánh đổi là họ chậm. Mạch băng thông rộng thì nhanh, nhưng nhiễu là vấn đề lớn hơn nên phạm vi động bị hạn chế. Với kỹ thuật số, bạn có thể ném bit vào vấn đề để tăng phạm vi động hoặc tăng tốc độ bằng cách thực hiện song song hoặc cả hai.

Tuy nhiên, đối với một số hoạt động, analog có lợi thế - nhanh hơn, đơn giản hơn, tiêu thụ điện năng thấp hơn, v.v. Kỹ thuật số phải được lượng tử hóa theo cấp độ và thời gian. Analog là liên tục trong cả hai. Một ví dụ trong đó chiến thắng tương tự là trong máy thu radio trong thẻ wifi của bạn. Tín hiệu đầu vào có tốc độ 2,4 GHz. Một máy thu kỹ thuật số hoàn toàn sẽ cần một ADC chạy ít nhất 5 gigasamples mỗi giây. Điều này sẽ tiêu thụ một lượng lớn năng lượng. Và điều đó thậm chí không xem xét việc xử lý sau ADC. Ngay bây giờ, ADC với tốc độ đó thực sự chỉ được sử dụng cho các hệ thống truyền thông băng cơ sở hiệu suất rất cao (ví dụ: điều chế quang kết hợp tốc độ ký hiệu cao) và trong thiết bị thử nghiệm. Tuy nhiên, một số ít bóng bán dẫn và thụ động có thể được sử dụng để chuyển đổi 2.

Điểm mấu chốt là có những lợi thế và bất lợi đối với tính toán tương tự và kỹ thuật số. Nếu bạn có thể chịu được nhiễu, méo, dải động thấp và / hoặc độ chính xác thấp, hãy sử dụng analog. Nếu bạn không thể chịu được tiếng ồn hoặc biến dạng và / hoặc bạn cần dải động cao và độ chính xác cao, thì hãy sử dụng kỹ thuật số. Bạn luôn có thể ném nhiều bit hơn vào vấn đề để có độ chính xác cao hơn. Không có tương đương với điều này, tuy nhiên.


Điều này xứng đáng nâng cao hơn nhiều!
John U

Tôi biết mà! Tôi không thể nói nó thành lời tốt. Thông tin bổ sung tốt đẹp về các máy thu không dây.
Smithers

2
Mẫu và giữ mạch? Băng từ? Ghi âm? Chụp ảnh phim? Các thiết bị bộ nhớ analog chắc chắn tồn tại, nhưng chúng có các đặc điểm hơi khác so với các thiết bị kỹ thuật số.
alex.forencich

1
Bất kỳ phạm vi, có. Nhưng bất kỳ phạm vi với bất kỳ độ phân giải tùy ý? Không nhiều lắm.
alex.forencich

1
Khuếch đại @ehsan không tăng phạm vi động của bạn, giá trị tối thiểu của bạn (mức nhiễu) được khuếch đại ngay cùng với mức tối đa.
mbrig

20

Tôi đã tham dự một buổi nói chuyện của IEEE vào tháng trước có tựa đề Trở lại tương lai: Xử lý tín hiệu tương tự . Buổi nói chuyện được sắp xếp bởi Hiệp hội Mạch trạng thái rắn.

Nó đã được đề xuất rằng một MAC tương tự (nhân và tích lũy) có thể tiêu thụ ít năng lượng hơn so với kỹ thuật số. Tuy nhiên, một vấn đề là MAC tương tự là đối tượng của nhiễu tương tự. Vì vậy, nếu bạn trình bày nó với cùng một đầu vào hai lần, kết quả sẽ không hoàn toàn giống nhau.


1
(+1 cho tiếng ồn tương tự.)
George Herold

Tương tự như vậy, một bài viết về việc sử dụng máy tính cơ học trên tàu chiến arstechnica.com/inatures-t Technology / 2014/03 / Từ
Doombot

18

Những gì bạn đang nói về được gọi là Máy tính Tương tự, và khá phổ biến trong những ngày đầu của máy tính. Đến cuối thập niên 60, về cơ bản chúng đã biến mất. Vấn đề là không chỉ độ chính xác kém hơn nhiều so với kỹ thuật số, mà độ chính xác cũng vậy. Và tốc độ tính toán kỹ thuật số nhanh hơn nhiều so với các mạch analog khiêm tốn.

Bộ chia analog thực sự có thể và Thiết bị Analog tạo ra khoảng 10 mẫu khác nhau. Đây thực sự là các bội số được đưa vào đường dẫn phản hồi của op amp, tạo ra một bộ chia, nhưng AD được sử dụng để tạo một bộ chia chuyên dụng được tối ưu hóa cho dải động lớn (60 dB, tôi nghĩ) của bộ chia.

Về cơ bản, tính toán tương tự chậm và không chính xác so với kỹ thuật số. Không chỉ vậy, nhưng việc thực hiện bất kỳ tính toán tương tự cụ thể nào cũng đòi hỏi phải cấu hình lại phần cứng. Cuối trò chơi, các máy tính tương tự lai được sản xuất có thể thực hiện việc này dưới sự kiểm soát của phần mềm, nhưng chúng rất cồng kềnh và không bao giờ bị bắt ngoại trừ việc sử dụng đặc biệt.


6
Tôi thích câu trả lời của bạn, (+1) và câu hỏi. Nhưng tôi sẽ không đồng ý về phần tốc độ. Analog rất nhanh. Vấn đề là độ chính xác và có lẽ quan trọng nhất là tiếng ồn. Analog luôn có một số nhiễu. Kỹ thuật số là tiếng ồn, máy tính khôn ngoan.
George Herold

Cảm ơn những lời tốt đẹp. Nhưng. Analog có thể "nhiều" nhanh nhưng nói chung kỹ thuật số nhanh hơn. Và tiếng ồn là dễ dàng để mô phỏng.
WhatRoughBeast

4
Analog là nhanh, nếu nó chỉ là số học, exp, sqrt, v.v. Nhưng ngay khi bạn thêm một tụ điện hoặc cuộn cảm, cần thiết cho sự khác biệt và tích hợp, thì nó sẽ chậm. Các máy tính tương tự của lịch sử thường được sử dụng để giải các phương trình vi phân - chúng "chậm". Nhưng một số chỉ làm đại số. Vì vậy, tôi có thể thấy tại sao những người khác nhau có thể có quan điểm khác nhau về tốc độ tính toán tương tự.
DarenW

1
Bạn có thể giải thích tại sao analog chậm? Trong máy tính kỹ thuật số, một số hướng dẫn là "chậm" vì chúng cần vài lần lặp để hoàn thành. Nhưng với analog tôi tin rằng chỉ cần một lần vượt qua để có kết quả.
mrpyo

1
@mrpyo - Tuyệt đối, bạn có thể làm cả hai chức năng. Nếu bạn lấy một số nhân và kết nối cả hai đầu vào với nhau, nó sẽ trở thành một "squarer". Nếu bạn sử dụng mạch Photon được sử dụng trong câu trả lời của anh ấy với cả hai đầu vào được gắn với đầu ra op amp, nó sẽ tạo ra căn bậc hai. Mối quan hệ điện áp / hiện tại trong một diode là theo cấp số nhân, vì vậy bạn có thể sử dụng điều đó để tạo ra số mũ. Và bằng cách đặt một diode vào một đường dẫn phản hồi, bạn sẽ có được logarit. Tuy nhiên, trong mọi trường hợp, phạm vi động có thể bị giới hạn bởi độ lệch của bộ khuếch đại, độ trôi, v.v. Và đối với các mạch diode cũng có các nguồn lỗi khác.
WhatRoughBeast

11

Có thể phân chia tín hiệu tương tự không (vì phép nhân FPU thường mất một chu kỳ CPU)?

Nếu bạn có một số nhân tương tự, một bộ chia tương tự sẽ "dễ dàng" thực hiện:

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Giả sử X1 và X2 là dương, điều này giải quyết Y = X1 / X2.

Các số nhân tương tự tồn tại, do đó, mạch này có thể về nguyên tắc. Thật không may, hầu hết các số nhân tương tự có một phạm vi khá hạn chế của các giá trị đầu vào được phép.

Một cách tiếp cận khác là trước tiên sử dụng các bộ khuếch đại log để lấy logarit của X1 và X2, trừ đi, sau đó lũy thừa.

Về mặt lý thuyết có thể tăng tốc bộ xử lý hiện đại nếu người ta sử dụng số học tín hiệu tương tự (với chi phí chính xác) thay vì FPU kỹ thuật số (CPU -> ADC -> FPU tương tự -> DAC -> CPU)?

Về cơ bản, đó là một câu hỏi về công nghệ --- đã đầu tư rất nhiều vào R & D để làm cho hoạt động kỹ thuật số nhanh hơn, công nghệ analog đó sẽ còn một chặng đường dài để bắt kịp vào thời điểm này. Nhưng không có cách nào để nói nó hoàn toàn không thể.

Mặt khác, tôi sẽ không hy vọng mạch phân chia thô của tôi ở trên có thể hoạt động trên mức có thể 10 MHz mà không phải thực hiện một số công việc rất cẩn thận và có thể nghiên cứu lặn sâu để khiến nó đi nhanh hơn.

Ngoài ra, bạn nói rằng chúng ta nên bỏ qua độ chính xác, nhưng một mạch như tôi đã vẽ có lẽ chỉ chính xác đến 1% hoặc không có điều chỉnh và có thể chỉ đến 0,1% mà không phát minh ra công nghệ mới. Và phạm vi động của các đầu vào có thể được tính toán hữu ích cũng bị giới hạn tương tự. Vì vậy, nó không chỉ chậm hơn 100 đến 1000 lần so với các mạch kỹ thuật số có sẵn, phạm vi động của nó có lẽ còn tệ hơn khoảng 10 300 lần (so với điểm nổi 64 bit của IEEE).


5
Xin chào, tôi đã có một hệ số nhân AD cũ có tốc độ 10 MHz. Tôi cá là tôi có thể nhận được một cái gì đó nhanh hơn bây giờ. Chỉ cần ném một cái mỏ lết khỉ vào chủ đề này, nếu điện toán lượng tử không bao giờ tắt thì nó sẽ tương tự.
George Herold

@GeorgeHerold, đó là lý lẽ tốt nhất của tôi tại sao điện toán lượng tử là dầu rắn.
Photon

Thủ thuật rất gọn gàng. Ngoại trừ tôi nghĩ rằng tính A (x1) / (1 + A (x2)), điều này cần chính xác cho mức tăng lớn A.
Yale Zhang

@georgeherold Một bộ trộn thực sự chỉ là một hệ số nhân tương tự nhanh với các yêu cầu đầu vào hơi kỳ lạ và tôi nghĩ rằng những người vi sóng đang nhận được những tốc độ lên đến 60 GHz trở lên trong những ngày này
mbrig

@mbrig, khó khăn là op-amp và đóng vòng phản hồi.
Photon

7
  1. Không, bởi vì chuyển đổi DAC và ADC mất nhiều thời gian hơn so với phép chia hoặc nhân kỹ thuật số.

  2. Nhân và chia tương tự không đơn giản, sử dụng nhiều năng lượng hơn và sẽ không hiệu quả về chi phí (so với IC kỹ thuật số).

  3. IC nhân và phân chia tương tự nhanh (phạm vi GHz) có độ chính xác khoảng 1%. Điều đó có nghĩa là tất cả những gì bạn có thể chia trên bộ chia tương tự nhanh là ... số 8 bit hoặc đại loại như thế. IC kỹ thuật số xử lý số lượng như thế này rất nhanh.

  4. 3.410343.41034

Tại đây bạn có thể xem các bộ chia và số nhân tương tự được cung cấp bởi Thiết bị analog ( liên kết )

nhập mô tả hình ảnh ở đây

Những điều này không hữu ích lắm trong điện toán nói chung. Đây là tốt hơn nhiều trong xử lý tín hiệu tương tự.


4. Không chính xác. Số dấu phẩy động được thể hiện trong ký hiệu khoa học, về cơ bản hai số - hệ số và số mũ đều bao gồm phạm vi hạn chế hơn.
mrpyo

@mrpyo Bạn có chắc không? Tôi nghĩ rằng phạm vi float 16 bit cao hơn nhiều so với số tôi đã viết trước khi chỉnh sửa (đại loại như 0000000000000.1 và 10000000000000).
Kamil

vi.wikipedia.org/wiki/IEEE_floating_point Với C, floatnó có 23 bit cho hệ số, 8 bit cho số mũ và 1 bit cho dấu. Bạn sẽ phải đại diện cho 3 phạm vi tương tự.
mrpyo

Bạn không thể giảm tần suất yêu cầu bằng cách có nhiều đơn vị nối tiếp và chỉ sử dụng một đơn vị tại một thời điểm?
mrpyo

4
Tương đương tương tự thực sự của Điểm nổi sẽ là miền logarit, do đó, dải động cao vô lý (cao hơn so với mantissa FP) là không cần thiết. Nếu không, điểm tốt.
Brian Drumond

0

Trên thực tế, các nhà nghiên cứu hiện đang truy cập lại các kỹ thuật điện toán tương tự trong bối cảnh của VLSI, bởi vì tính toán tương tự có thể cung cấp hiệu quả năng lượng cao hơn nhiều so với các kỹ thuật số trong các ứng dụng cụ thể. Xem bài viết này:

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7313881&tag=1

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.