Tại sao các GPU không phổ biến?


65

Đọc về các GPU, nếu tôi hiểu chính xác, về cơ bản chúng là các mạch cổng logic có thể cấu hình đầy đủ. Là điều này, người ta có thể thiết kế bất cứ điều gì với họ. Người ta có thể thiết kế mọi thứ theo cách tùy chỉnh nhất có thể và do đó, đáp ứng cùng một kết thúc theo cách hiệu quả hơn rất nhiều có thể có được bằng cách sử dụng một vi điều khiển. Có được điều này, nó trông giống như một GPU đánh bại một vi điều khiển bất cứ lúc nào, bất cứ ngày nào. Vì vậy, câu hỏi của tôi là, nếu các GPU thực sự tuyệt vời như vậy, điều gì khiến chúng không phổ biến hơn nhiều so với vi điều khiển? Từ quan điểm này, đối với tôi, có vẻ như các GPU đã xóa sạch các bộ vi điều khiển từ lâu. Vậy tại sao điều này không phải là trường hợp? Đó có phải là chi phí, khó khăn để lập trình một FPGA, hoặc hoàn toàn một cái gì khác?



Bạn cũng có thể muốn đọc chủ đề này: Electronics.stackexchange.com/questions/4382/iêu
Tom L.

43
Máy bay trực thăng linh hoạt hơn ô tô, vậy tại sao mọi người vẫn sử dụng xe hơi để đi làm?
Olin Lathrop

15
Bởi vì tất cả các công ty FPGA cung cấp cho bạn các công cụ độc quyền hoàn toàn khủng khiếp có đường cong học tập khổng lồ và hầu hết các nhà phát triển không thể truy cập được. Thay thế bằng một chuỗi công cụ hoàn toàn mở và chúng có thể sẽ có mặt ở khắp nơi.
R ..

@R .. ... hoặc ít nhất không phải là một lựa chọn của lựa chọn cuối cùng tuyệt đối.
Dan Neely

Câu trả lời:


94

Bạn đang bỏ qua rất nhiều yếu tố để đưa ra lựa chọn thiết kế:

  1. Chi phí . Các GPU đắt hơn micros cho cùng độ phức tạp của logic.

  2. Độ phức tạp logic . Mã thực thi có thể thực hiện logic phức tạp hơn nhiều so với cùng một số cổng trong vi được sử dụng trực tiếp.

  3. Dễ phát triển . Viết mã thực thi dễ hơn là xác định logic cho tất cả các vấn đề nhỏ. Ngay cả các dự án vi điều khiển khiêm tốn cũng có hàng ngàn dòng mã. Việc phát triển các định nghĩa logic tương đương sẽ mất nhiều thời gian hơn và khó khăn hơn nhiều để gỡ lỗi và xác minh.

  4. Tiêu thụ điện năng . Vì các GPU được dành cho các hoạt động tốc độ cao mà micros không thể xử lý (nếu không bạn sử dụng micro), chúng không được tối ưu hóa cho công suất thấp. Điều này làm cho chúng không phù hợp với một số ứng dụng năng lượng thấp. Một số máy vi tính có dòng ngủ dưới 1 PhaA và có thể hoạt động chỉ với một vài loạiA với tốc độ xung nhịp chậm. Hãy thử tìm một đồ họa có thể làm điều này.

Ưu điểm chính của FPGA so với micros là chúng nhanh hơn và có thể làm nhiều việc song song hơn. Ngoài ra, bạn muốn sử dụng một vi mô. Do đó, trong quá trình thiết kế, bạn thường bắt đầu với một micro, sau đó miễn cưỡng đi đến một FPGA khi bạn thực sự cần tốc độ và / hoặc hoạt động tốc độ cao đồng thời. Thậm chí sau đó, bạn chỉ thực hiện các phần quan trọng về tốc độ trong một đồ họa và để lại các chức năng điều khiển tốc độ thấp hơn và tương tự như trong micro.


2
"Ngay cả khi đó, bạn chỉ thực hiện các phần quan trọng về tốc độ trong một đồ họa và để lại các chức năng điều khiển tốc độ thấp hơn và tương tự như trong vi mô." Và đó là vì sự phát triển cho một FPGA là một nỗi đau, phải không?
Utku

2
@Utku: Vâng, đó là lý do 3 ở trên, mặc dù lý do 1-2 cũng thường được áp dụng. Các GPU chỉ không hiệu quả về mặt chi phí như micros cho cùng một tác vụ, trừ khi tác vụ đó có các yêu cầu tốc độ cao đến mức mà một vi mô không thể thực hiện được.
Olin Lathrop

4
Thật dễ dàng để nói rằng câu trả lời này được viết từ quan điểm của người dùng CPU. "miễn cưỡng đi đến một đồ họa khi bạn thực sự cần tốc độ và / hoặc hoạt động tốc độ cao đồng thời". Họ không tệ đến thế đâu. Có những ứng dụng mà người ta thậm chí không nghĩ sẽ sử dụng CPU qua một GPU.
stanri

26
Theo cách tôi thường giải thích: Thật khó để làm mọi thứ song song trên CPU và thật khó để thực hiện mọi thứ một cách thanh thản trong một đồ họa.
Ben Jackson

14
Một điều lớn cần nhớ về các GPU: khả năng cấu hình lại của logic có giá - logic tương đương mà một GPU thực hiện ít phức tạp hơn nhiều so với bản thân FPGA. Tất cả các bảng tra cứu, các thành phần ma trận định tuyến, vv tiêu thụ nhiều diện tích và năng lượng silicon hơn nhiều so với các triển khai tương đương trong logic cứng. Điều này có nghĩa là các GPU kém hơn trong tất cả các số liệu hiệu suất - mức tiêu thụ năng lượng hoạt động và nhàn rỗi, mật độ, tốc độ xung nhịp, v.v. - so với việc xây dựng cùng chức năng trực tiếp trong silicon như được thực hiện với vi điều khiển, CPU mục đích chung và chính bản thân FPGA.
alex.forencich

45

Một điểm khác biệt mà tôi chưa từng thấy ở đây là các GPU được sử dụng và hoạt động theo cách hoàn toàn khác với các bộ xử lý.

Một FPGA thực sự giỏi trong việc thực hiện chính xác cùng một nhiệm vụ, lặp đi lặp lại. Ví dụ: xử lý tín hiệu video, âm thanh hoặc RF. Hoặc định tuyến các gói Ethernet. Hoặc mô phỏng dòng chảy chất lỏng. Bất kỳ tình huống nào bạn có rất nhiều loại dữ liệu giống nhau được ném vào bạn rất nhanh và bạn muốn xử lý tất cả theo cùng một cách. Hoặc bạn muốn chạy cùng một thuật toán nhiều lần. FPGA không thực sự có 'nhiệm vụ' bắt đầu và dừng [1], toàn bộ công việc của nó là làm tương tự với bất kỳ dữ liệu nào nó nhận được, miễn là nó được bật. Nó không thay đổi bánh răng, nó không làm gì khác. Đây là công nhân dây chuyền sản xuất cuối cùng. Nó sẽ làm điều tương tự lặp đi lặp lại, nhanh nhất có thể, mãi mãi.

CPU, mặt khác, là hình ảnh thu nhỏ của tính linh hoạt. Chúng có thể được lập trình để làm bất cứ điều gì cả, và chúng có thể được lập trình để làm nhiều việc khác nhau cùng một lúc. Họ có các nhiệm vụ bắt đầu và dừng lại, họ thay đổi bánh răng, đa nhiệm, liên tục chuyển đổi và thay đổi chức năng.

Các FPGA và CPU là hoàn toàn đối lập. Hàng hóa của CPU là thời gian - nó phải hoàn thành công việc nhanh hơn. Ứng dụng của bạn chạy càng nhanh thì càng tốt.

Hàng hóa của FPGA là không gian. FPGA của bạn chỉ lớn như vậy và chỉ có rất nhiều cổng có sẵn để thực hiện nhiệm vụ bạn muốn. Phần lớn thời gian, vấn đề có kích thước lớn hơn tốc độ [2].

Có thể làm cho một hành động như một CPU. Bạn có thể đặt lõi IP CPU vào một đồ họa, tuy nhiên rất khó để biện minh vì những lý do mà người khác đã mô tả [3]. FPGA và CPU là hai mặt đối lập, cả hai đều có điểm mạnh và điểm yếu riêng, và cả hai đều có vị trí riêng của mình.


Ghi chú:

1) Một FPGA có thể được thiết kế để thực hiện các nhiệm vụ khác nhau, nhưng ngay cả khi đó nó sẽ là một con số cụ thể mà nó được thiết kế sẵn.

2) Tốc độ cũng là một đặc điểm kỹ thuật thiết kế đồ họa. Đó thực sự là một sự đánh đổi giữa tốc độ và kích thước.

3) Việc đưa CPU vào một đồ họa được thực hiện tương đối thường xuyên, tuy nhiên nó được thực hiện trên cơ sở từng trường hợp, tùy thuộc vào các ứng dụng cụ thể. Ví dụ, nếu bạn cần một bộ vi điều khiển thực sự nhỏ và có thêm không gian đồ họa.

Và cuối cùng: Câu trả lời này là một sự đơn giản hóa lớn - Các GPU được sử dụng theo những cách rất đa dạng và phức tạp và đây là một tổng quan rất ngắn gọn về cách chúng được sử dụng nói chung.


1
"Hoặc định tuyến các gói ethernet. Hoặc mô phỏng dòng chất lỏng." Mặc dù, theo như tôi biết, ASIC thường được sử dụng cho cái trước (ít nhất là trong sản xuất hàng loạt) và GPU nhanh hơn, rẻ hơn, công suất thấp hơn và dễ dàng lập trình hơn cho cái sau.
thiệu lại vào

1
@reirab Đó là những ví dụ về loại hoạt động mà các GPU có thể làm tốt, chúng xuất hiện trong tâm trí bởi vì chúng đều là các ứng dụng mà cá nhân tôi đã mã hóa cho các GPU. Có nhiều hơn một cách để da mèo. Việc lựa chọn thiết bị phụ thuộc vào nhiều yếu tố thiết kế.
stanri

5
@reirab bất cứ điều gì một FPGA có thể làm ASIC có thể làm cho công suất thấp hơn và chi phí sản xuất cận biên thấp hơn. Ưu điểm của FPGA là tạo mẫu và sản xuất khối lượng thấp vì chi phí trả trước cho một ASIC lớn hơn nhiều; có nghĩa là cái sau chỉ có ý nghĩa khi thiết kế được hoàn thiện và bạn đang tạo ra rất nhiều trong số chúng.
Dan Neely

Thật kỳ lạ khi tuyên bố rằng CPU linh hoạt hơn so với một GPU, xem xét rằng bạn có thể thực hiện CPU một cách dễ dàng trong một FPGA (bất kỳ sinh viên CS nghiêm túc nào cũng nên làm điều đó ít nhất một lần). Một đồ họa là một khái niệm thấp hơn nhiều so với CPU, vì vậy nó không có ý nghĩa gì khi so sánh chúng trực tiếp với nhau.
Voo

Câu trả lời này thực sự làm phiền tôi. "Hàng hóa của CPU là thời gian", "Hàng hóa của FPGA là không gian." Huh? ASIC và CPU là hai cực đối lập, và các GPU ngồi ở giữa nhận được cả hai tốt nhất và tồi tệ nhất của cả hai thế giới.
Ngày

20

Như Olin nói, một cái gì đó như micro sẽ hiệu quả hơn cho nhiều tác vụ và hầu như bạn sẽ luôn tìm thấy một micro được sử dụng ở bất cứ nơi nào xuất hiện một FPGA. Diện tích silicon được sử dụng (có nghĩa là chi phí theo kiểu phi tuyến) và mức tiêu thụ điện năng ít hơn nhiều. Vì lý do đó, không có gì lạ khi thực hiện MCU 'mềm' trên một đồ họa - nhưng chi phí và hiệu suất của một vi mô như vậy là không đủ.

Một số đồ họa hiện đại chứa một hoặc nhiều lõi 'cứng' như dòng ARM phổ biến. Ngoài ra, chúng có thể chứa các khối bộ nhớ chuyên dụng vì thực sự không hiệu quả để khiến bộ nhớ ra khỏi cổng. Một lõi vi mô 32 bit chiếm một phần nhỏ của khu vực silicon trong một đồ họa thông thường, cho bạn ý tưởng về chi phí tương đối.

Việc phát triển khó khăn hơn đáng kể và IP có xu hướng không được cung cấp miễn phí như đối với các giải pháp SOC siêu nhỏ và chuyên dụng - ví dụ như bộ điều khiển LCD, giao diện PCI, MAC Ethernet. Lý do một phần là do tiết lộ các mô tả logic HDL, họ đang chuyển thiết kế không chỉ là sự khởi tạo của thiết kế. Một lý do khác là hiệu năng phụ thuộc vào cách bố trí logic trong FPGA, đòi hỏi rất nhiều nỗ lực trong quá trình phát triển.

Một điều phức tạp nữa là hầu hết các GPU phức tạp đều dựa trên RAM để cấu hình và chi phí xử lý là do bộ nhớ không biến đổi bên ngoài được yêu cầu để lưu trữ cấu hình và bộ nhớ chương trình cho bất kỳ MCU nào trên tàu. Bộ nhớ này phải được nạp vào RAM khi bật nguồn.

FPGA là những công cụ cực kỳ hữu ích trong hộp công cụ, nhưng chúng sẽ không sớm thay thế MCU hay ASIC.


10

Việc sử dụng silicon tốt nhất cho công việc là ASIC, không có gì lãng phí, nhưng chúng có đường cong học tập lớn, NRE và tính không linh hoạt.

Có hai cách để xây dựng tính linh hoạt vào chip. a) Có ALU được tối ưu hóa không gian và sử dụng nó nhiều lần trên dữ liệu được lưu trữ. Đây được gọi là MCU và yêu cầu một vùng silicon rộng lớn 'không làm gì cả', bộ nhớ chương trình, các thanh cái rộng chạy từ đơn vị này sang đơn vị khác và các công tắc truy cập xe buýt. b) Có logic chi tiết, với một vài phần được tối ưu hóa không gian tùy chọn như bội số, RAM nhỏ và CPU đơn giản. Đây được gọi là một đồ họa và đòi hỏi một vùng silicon rộng lớn 'không làm gì cả', các công tắc và đường kết nối có thể lập trình.

Rõ ràng với các cấu trúc đó, MCU hoạt động tốt nhất cho các tác vụ có thể được chia thành các phần nối tiếp và các GPU hoạt động tốt nhất cho các tác vụ cần hoạt động song song tốc độ cao. Khi ứng dụng nặng và chi phí bị chi phối bởi chi phí silicon, đó là cách hai loại sẽ được sử dụng một cách tự nhiên.

Khi ứng dụng nhẹ nhưng khối lượng lớn, chi phí bị chi phối bởi bao bì thay vì silicon và một trong hai loại là khả thi. Altera có một số GPU công suất rất nhỏ rất nhỏ để cạnh tranh với các MCU có giá trị một đô la.

Đối với các ứng dụng có khối lượng thấp, chi phí phát triển có xu hướng chiếm ưu thế và MCU sẽ thắng, giả sử chúng có tốc độ


9

Về tiêu thụ năng lượng và sử dụng silicon, một bộ vi xử lý rất kém so với bộ vi xử lý.

Một đồ họa tiêu thụ phần lớn diện tích silicon của nó trong mạch cấu hình logic một cái gì đó không áp dụng cho vi mô. Phải có nhiều kết nối hơn có sẵn hơn mức cần thiết cho việc triển khai chuyên dụng của bộ vi xử lý.

FPGA tiêu thụ nhiều năng lượng hơn một ASIC chuyên dụng như bộ vi xử lý vì logic không được triển khai hiệu quả.

Bất kỳ chức năng nào có thể được thực hiện trong một đồ họa có thể được thực hiện hiệu quả hơn, rẻ hơn, với mức tiêu thụ điện năng thấp hơn, không gian bảng nhỏ hơn, vv trong một ASIC chuyên dụng. Đây là giả định khối lượng đủ lớn để bù NRE.


Nếu mục tiêu là để thực hiện toàn bộ bộ tính năng của bộ vi xử lý, chắc chắn. Khi bạn nhận được một nhiệm vụ cụ thể, bạn cũng có thể xác định rất nhiều silicon bị lãng phí trong vi điều khiển - có thể công cụ mã hóa đó bị lãng phí không gian trong dự án của bạn. Hoặc ngoại vi CAN? Hoặc đơn vị dấu phẩy động? Mức độ sử dụng tốt nhất của FPGA là thấp hơn, nhưng bạn cũng không phải chịu mức sử dụng 0% trong các khu vực rộng lớn như cách mà vi điều khiển thực hiện. (Mặt khác, với việc đo xung nhịp đồng hồ, việc sử dụng 0% mạch lớn là rất đáng mong đợi từ góc độ sức mạnh)
Ben Voigt

8

Các hệ thống dựa trên bộ vi xử lý, và sau đó là Vi điều khiển, đã có thể đạt được một mức độ lớn về chức năng nhờ khả năng sử dụng nhiều đoạn mạch riêng lẻ trong đó để thực hiện nhiều nhiệm vụ khác nhau ở các thời điểm khác nhau. Tôi nghĩ rằng nên so sánh Tank máy chơi arcade, được thiết kế năm 1976, với trò chơi Combat chạy trên máy trò chơi điều khiển vi xử lý thứ hai của thế giới, Atari 2600. Mặc dù có một số khác biệt về cách chơi, phần cứng Atari 2600 về cơ bản được thiết kế để thực hiện các trò chơi như Tank với chi phí tối thiểu; thực tế là nó có thể được tạo ra để chơi các trò chơi khác nhau bằng cách chèn các hộp ROM khác nhau là một phần thưởng tuyệt vời.

Xe tăng trò chơi cho phép hai người chơi lái xe tăng quanh màn hình và bắn những phát súng vào nhau. Nó có các bộ đếm "trượt" cho từng vị trí X và Y của từng xe tăng, vị trí X và Y của từng người chơi, bộ đếm lên / xuống cho mỗi góc của người chơi và góc bắn của từng người chơi, một bộ đếm cho từng điểm của người chơi, tia raster X và Y quầy tính toán, và rất nhiều mạch điều khiển trên đầu những thứ đó. Nó có phần cứng để lấy dữ liệu sân chơi từ ROM và hiển thị nó, cũng có phần cứng để tìm nạp hình dạng cho xe tăng của hai người chơi và ghi điểm từ ROM và hiển thị những hình đó.

Atari 2600 có bộ đếm trượt cho các vị trí nằm ngang của mỗi trong số hai đối tượng người chơi, mỗi đối tượng hai tên lửa và một đối tượng bổ sung gọi là "quả bóng" không được sử dụng trong Combat nhưng được sử dụng trong một số trò chơi khác. Đối với mỗi đối tượng người chơi, nó có phần cứng để tạo ra một mẫu được lưu trữ trong chốt 8 bit, cũng như chốt tám bit "bị trì hoãn" cho mỗi trình phát được sao chép vào chốt 8 bit chính bất cứ khi nào người chơi khác hình dạng được cập nhật. Nó cũng có bộ đếm vị trí chùm tia ngang và chốt hình dạng sân chơi 20 bit được xuất ra màn hình hai lần trên mỗi đường quét, với bản sao bên phải xuất hiện dưới dạng lặp lại hoặc phản chiếu bên trái. Nó có phần cứng để phát hiện va chạm, nhưng không phải làm bất cứ điều gì do hậu quả của chúng. Nó không có bất kỳ phần cứng nào cho các vị trí thẳng đứng của bất kỳ đối tượng nào, cũng như vị trí thẳng đứng của chùm raster (!), cũng như không có phần cứng nào liên quan đến việc giữ điểm, hiển thị điểm, thời lượng trò chơi, v.v.

Tất cả các chức năng mà 2600 bỏ qua phần cứng được xử lý bởi phần mềm trong hộp mực. Chỉ cần kiểm tra vị trí thẳng đứng của từng đối tượng so với vị trí tia raster một lần trên mỗi đường quét, chỉ cần cập nhật điểm của người chơi và thời gian trò chơi còn lại nhiều nhất là một khung hình, điểm của người chơi được lưu trữ trên các đường quét phía trên sân chơi và do đó có thể chia sẻ cùng một phần cứng được sử dụng cho sân chơi, v.v.

Cách tiếp cận thông thường để thực hiện một trò chơi như "Xe tăng" trong một đồ họa sẽ là sử dụng các mạch riêng cho các chức năng khác nhau theo cách tương tự như máy arcade 1976 đã làm. Cách tiếp cận như vậy sẽ có hiệu quả, nhưng sử dụng một lượng lớn phần cứng. Cách tiếp cận dựa trên bộ vi xử lý có thể loại bỏ hơn một nửa phần cứng đó để đổi lấy việc thêm bộ vi xử lý, có khả năng chứa ít mạch hơn phần cứng mà nó thay thế (2600 có thể thực hiện các trò chơi phức tạp hơn nhiều so với Tank, đòi hỏi phần cứng nhiều hơn nếu họ không sử dụng bộ vi xử lý).

FPGA là tuyệt vời trong trường hợp một người cần một thiết bị có thể thực hiện nhiều nhiệm vụ đơn giản cùng một lúc . Các hệ thống dựa trên bộ vi xử lý (hoặc dựa trên vi điều khiển) thường tốt hơn, tuy nhiên, trong trường hợp có nhiều nhiệm vụ cần thực hiện, nhưng chúng không cần phải xử lý đồng thời, vì chúng giúp dễ dàng sử dụng một lượng nhỏ của mạch để thực hiện một số lượng lớn các mục đích riêng biệt.


Bạn cũng không thể đặt mìn à ?? ;-)
Scott Seidman

@ScottSeidman: Máy arcade có một vài mỏ ở các vị trí được thiết kế cứng, được vẽ là X's. 2600 sẽ rất khó để hiển thị mìn dưới dạng X trong khi hiển thị cả người chơi và cả tên lửa. Nếu người ta không bận tâm đến việc các mỏ nhấp nháy ở tần số 60Hz thì có thể sử dụng một số thủ thuật được phát hiện sau đó, nhưng sẽ cần nhiều mã hơn (COMBAT là một hộp mực 2K khá đầy đủ - thậm chí cả hai byte trong không sử dụng Vectơ BRK / IRQ tại $ FFFE / FFFF được sử dụng để giữ bảng hai byte!).
supercat

Có lẽ Combat có thể thực hiện các quả mìn dưới dạng các ô vuông nhấp nháy nếu nó sẵn sàng từ bỏ một số tùy chọn khác như bắn nảy, v.v. nhưng tôi nghĩ Joe Decuir (lập trình viên) đã làm rất tốt khi chọn các tùy chọn có thể chơi được. Một ưu điểm của tôi là máy bay ném bom hai tầng có thể vui hơn nếu máy bay ném bom là một sprite gấp 2 lần chứ không phải 4x.
supercat

5

Đó hoàn toàn là chi phí. Khi một micro có thể thấp tới 30 cent, một chiếc FPGA giá rẻ nằm trong lãnh thổ 5 đô la. Chi phí có vẻ không cao, nhưng khi bạn kiếm được một triệu đồ chơi mới lạ để bán với giá 10 đô la thì giá của đồ họa sẽ giết chết điểm mấu chốt của bạn.


6
Chi phí chắc chắn là một vấn đề, nhưng để nói rằng sự khác biệt hoàn toàn là chi phí là ngây thơ khi nghĩ rằng tất cả các micros có thể được thay thế bằng các GPU.
Olin Lathrop

@OlinLathrop nếu chi phí không phải là vấn đề thì bất cứ điều gì vi mô có thể làm, đều có thể được thực hiện bởi một FPGA. Điều này đã được thể hiện với khả năng của một GPU để giữ lõi vi điều khiển mềm. Vấn đề là một GPU có thể chứa lõi như vậy ít nhất là và thứ tự cường độ đắt hơn thì lõi vi mô đang được mô phỏng.
vini_i

Chi phí có thể có ý nghĩa nhiều hơn giá mỗi đơn vị, nhưng đó là tất cả những gì bạn muốn đưa vào phân tích này.
Scott Seidman

2
Tôi không thể biết nếu bạn cố tình giả vờ bỏ lỡ điểm, hoặc chỉ dày đặc. Dù bằng cách nào, bạn đang phản ứng với điều gì đó không ai nói. Tất cả đều đồng ý rằng các GPU có giá cao hơn và chi phí đó là một vấn đề. Nhưng một lần nữa, để khẳng định nó là vấn đề duy nhất là sai. Nếu tôi đưa cho bạn một loạt các micros và FPGA miễn phí, vẫn có những lý do quan trọng tại sao bạn sử dụng micros trên các GPU trong nhiều thiết kế.
Olin Lathrop

4
@sleb: Không, sự khác biệt về chi phí không chỉ do khối lượng. Diện tích silicon được yêu cầu trên mỗi cổng được phân phối lớn hơn đáng kể trong một đồ họa so với chip tùy chỉnh như vi điều khiển. Tất cả các cấu hình đó ở cấp độ kết nối cổng cần diện tích silicon để thực hiện. Với khối lượng lớn, giá thành của một con chip là tất cả về diện tích silicon của nó.
Olin Lathrop

5

Chỉ cần thêm vào các câu trả lời rất hay khác, tôi nghĩ rằng việc áp dụng FPGA cũng là một vấn đề của miền: ví dụ, đối với các thiết bị biến đổi thần kinh, các bo mạch đồ họa đang trở nên khá phổ biến vì có nhu cầu song song rất lớn, đó là một điểm mạnh của FPGA.

Nếu bạn ngoại suy xu hướng mà chúng ta thấy đối với các thiết bị biến đổi thần kinh, người ta có thể tưởng tượng rằng các lĩnh vực khác dựa trên, hoặc yêu cầu nghiêm trọng, song song có thể sẽ áp dụng các GPU nhiều hơn nữa. Vì vậy, có thể FPGA sẽ không trở nên phổ biến đối với các sản phẩm cấp tiêu dùng, nhưng nó có thể dành cho các miền cụ thể vì dường như nó hiện đang xảy ra đối với các thiết bị biến đổi thần kinh.


Mặc dù điều này có thể đúng, nhưng điều này dường như không đủ cho một câu trả lời hoàn chỉnh. Có lẽ nó sẽ tốt hơn như một bình luận, hoặc bạn có thể mở rộng về nó.
Null

Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ.
Funkyguy

3
@Funkyguy, điều này không trả lời câu hỏi. Về cơ bản, họ nói rằng các GPU không phổ biến vì các ứng dụng tiêu dùng thông thường không yêu cầu sự song song đó là sự phù hợp mạnh mẽ của các GPU.
stanri
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.