Đồ họa rẻ nhất? [đóng cửa]


44

Làm thế nào giá rẻ để có được các GPU? Tôi biết rằng chúng đắt hơn các bộ vi xử lý có khả năng tương đương, nhưng tôi tự hỏi liệu có tồn tại các GPU có thể chứa lõi mềm Microblaze chạy Linux hay không, trong khi vẫn có sẵn các cổng để thực hiện chức năng DSP (ví dụ như codec phương tiện) với chi phí cạnh tranh với , giả sử, một chiếc Cortex A8 (20-30 đô la tính theo số lượng. ~ 100).

(Xin lỗi nếu thuật ngữ của tôi không phải là thành ngữ tức là sai. Vui lòng nhận xét với các chỉnh sửa hoặc chỉnh sửa trực tiếp.)


(phích cắm không biết xấu hổ) radio GNU (USRP2) sử dụng AEMB kèm theo một loạt các khối DSP. Nó Software Defined Radio thực sự tốt - aeste.my/node/29
sybreon

@sybreon Thật kỳ lạ Tôi đang sử dụng USRP2 trong dự án Thiết kế cao cấp của mình - Nice
onaclov2000


Câu trả lời:


23

Gần đây tôi đã tham dự một hội nghị trực tuyến trên FPGA với bài phát biểu chính là "Bộ xử lý tiếp theo của bạn có phải là một bản đồ không."

Về cơ bản, FPGA có ý nghĩa trong bất kỳ ứng dụng nào đòi hỏi các luồng công việc song song cao, một ví dụ đang được sử dụng là phân tích hình ảnh Full HD để tìm người đi bộ chẳng hạn.

Điều bạn phải nhớ là bạn phải khởi tạo đồ họa của mình mỗi khi nó khởi động, tôi nghĩ rằng Xilinx của FPGA đi kèm (có lõi ARM trên chip) là một lựa chọn tốt, nhưng có lẽ đắt tiền. Nhìn vào những chiếc Actel với đèn flash trên chip cũng có thể hữu ích.

Về hiệu năng, công ty BDTI đã thực hiện một chuẩn mực trong các tính toán song song cao, trong đó họ đã thấy hiệu suất tăng khoảng 40 lần khi chuyển sang một đồ họa. Điều thú vị là họ đã so sánh các con chip với chi phí tương tự (23 đô la so với 28 đô la tôi tin).

Dưới đây là các liên kết có thể bạn quan tâm:

Hướng dẫn bỏ túi để lựa chọn bộ xử lý

Lưu trữ hội nghị FPGA (Đăng ký miễn phí, nhưng chỉ khả dụng trong khoảng 6 tháng sau câu trả lời này)

Bạn thực sự không thể so sánh hiệu suất của các hệ thống dựa trên nền tảng đồ họa dựa trên chỉ số MIPS hoặc Mhz. Cách thức sử dụng một FPGA để xử lý các tác vụ nhất định đơn giản là quá khác biệt so với Vi điều khiển. Thiết kế phần sụn cho một đồ họa là một thứ bạn phải làm bằng cách sử dụng VHDL, tương tự như hội. Một mức độ chuyển đăng ký (RTL) trừu tượng. Một số môi trường đang được sản xuất để cung cấp thêm tính trừu tượng, nhưng chúng vẫn thường được nhà cung cấp cụ thể. Wikipedia có một cái nhìn tổng quan về các ngôn ngữ có sẵn để lập trình mã FPGA:

Wikipedia: Lập trình đồ họa

Wikipedia: Thiết kế mạch kỹ thuật số

Nếu bạn có tiền để đốt, bạn có thể sử dụng các hệ thống LabView để xây dựng các hệ thống đo lường thời gian thực dựa trên nền tảng đồ họa. Các thiết bị cần thiết cho việc này là trong một pricerange hoàn toàn khác (1500 $ trở lên), nhưng mở ra thiết kế te cho đối tượng rộng hơn nhiều với lập trình đồ họa.

Ngày càng có nhiều nhà cung cấp đang cung cấp các bo mạch kết hợp các bộ vi điều khiển như chip ARM với một GPU để cung cấp các tính năng bổ sung cụ thể và sức mạnh xử lý song song. Một ví dụ về các sản phẩm như vậy có thể được tìm thấy ở đây: EmbeddedARM: sê-ri FPGA


23

Làm thế nào giá rẻ để có được các GPU? Theo Newark, các GPU rẻ nhất là khoảng $ 10 (Bão Altera cấp thấp nhất và Xilinx Spartan cấp thấp nhất). Chúng có thể có đủ dung lượng để chạy CPU 8 bit đơn giản.

Như bạn có thể mong đợi, ngay cả các CPU 32 bit đơn giản (tức là không có MMU) cũng cần khoảng 4 lần tài nguyên FPGA của CPU 8 bit. Các GPU có đủ tài nguyên để chạy CPU 32 bit đơn giản như vậy có giá khoảng 14 đô la. Sự hiểu biết của tôi là uCLinux đã được chuyển đến một số CPU mềm này (chẳng hạn như NIOS II / e) - bạn có thể thấy uClinux phù hợp với mục đích của mình.

Linux chính thức yêu cầu CPU có MMU (chẳng hạn như NIOS II / f). Một CPU 32 bit có MMU đòi hỏi khoảng 4 lần tài nguyên FPGA của CPU 32 bit không có MMU - những lý do cho điều này không quá rõ ràng.

Theo như tôi có thể nói từ trang Xilinx Microblaze , CPU mềm Microblaze chỉ chạy trên Xilinx FPGA.

Linux đã được chuyển sang một số CPU mềm khác. Nếu bạn muốn chạy Linux trên một số GPU của công ty khác, bạn có thể muốn xem các cổng Linux được liệt kê tại "Lõi CPU mềm cho FPGA" .

Một vài trong số các CPU mềm này - bao gồm cả MMU - sẽ phù hợp với Xilinx Spartan XC3S400A ($ 17 từ Avnet).

Tôi đã nghe nói rằng một số CPU mềm 32 bit - bao gồm cả MMU - khá dễ dàng để thiết lập làm "lõi kép" trên chip FPGA $ 20. Thay vào đó, những người theo "Dao cạo của Jan" có thể cố gắng nén hàng tá CPU 8 bit trên cùng một chip.


1
Có các triển khai Microblaze mã nguồn mở (như aeMB - opencores.org/project,aemb ) nên chuyển sang các FPGA khác (không phải Xilinx).
mrkj

(shameless plug) các AEMB được biết để chạy UC / OS-II Altera FPGA quá - aeste.my/node/7
sybreon

11

Nói chung, FPGA sẽ có giá cao hơn nhiều so với cùng một thiết bị được triển khai bằng silicon, bởi vì có rất nhiều chi phí do khả năng cấu hình lại. Vì vậy, không, bạn sẽ không tìm thấy một GPU với giá 20-30 đô la có sức mạnh tương đương với CPU ARM là 20-30 đô la. Bây giờ, bạn có thể tìm thấy một GPU với giá 20-30 đô la có thể thực hiện các tác vụ cụ thể nhanh hơn nhiều so với ARM 20-30 đô la đó, nhưng nó sẽ không thể đánh bại nó trong các tác vụ điện toán nói chung.

Đây là lý do tại sao người ta thường thấy mọi người gắn một vi điều khiển và một đồ họa trên cùng một bảng. ARM và PPC là hai loại phổ biến nhất được kết hợp với một FPGA.


4
Tôi hiểu rằng tôi sẽ không tìm thấy một GPU nào đánh bại một micro về chi phí và hiệu năng, nhưng có vẻ như có thể tồn tại một GPU vượt qua chi phí của micro + FPGA, trong khi cung cấp hiệu năng tương tự, tất cả trong một chip. Điều đó có ý nghĩa?
pingswept

10

Khi mua một đồ họa, đừng quên tính đến chi phí của bộ nhớ Flash chứa chương trình FPGA. Điều đó thật dễ quên.

Là một nhà thiết kế PCB, các GPU dễ dàng bố trí hơn một triệu lần, bởi vì bạn có thể sắp xếp lại sơ đồ chân theo cách bạn muốn ngay cả sau khi bảng được tạo ra. Có những khoản tiết kiệm chi phí tiềm năng liên quan đến số lớp ít hơn cần thiết để định tuyến một đồ họa.

Đối với những người khác sử dụng GPU so với hiệu năng của CPU, tôi đồng ý ở một mức độ nhất định. Một bộ xử lý thực tế sẽ nhanh hơn trong việc thực hiện những thứ của bộ xử lý thực tế so với một bộ vi xử lý được lập trình để hoạt động như một bộ xử lý.

Tuy nhiên, điều đó không thực sự công bằng với một đồ họa. CPU là "giới hạn thời gian"; nếu bạn muốn làm nhiều việc hơn, bạn cần nhiều thời gian hơn hoặc bộ xử lý nhanh hơn. Các GPU thường là "giới hạn khu vực"; nếu bạn muốn làm nhiều việc hơn, bạn cần một đồ họa lớn hơn.

Chẳng hạn, giả sử bạn tạo một bộ phân tích quang phổ xử lý tín hiệu âm thanh đơn sắc. Giả sử nó tốn 70% thời gian của CPU và bạn đã nhanh như CPU ​​có thể đi. Bạn không thể thêm hỗ trợ âm thanh nổi, vì CPU không đủ nhanh để thực hiện kênh thứ hai trước khi phải xử lý lại kênh đầu tiên. Nhưng nếu bạn đang sử dụng 70% của FPGA, bạn có thể mua một GPU lớn hơn và thả kênh thứ hai vào. Nó không cần phải đi nhanh hơn.

Bây giờ, nếu bạn chuyển vấn đề sang miền Thiết kế kỹ thuật số, sử dụng Finite State Machines và Datapaths thay vì CPU, tôi sẽ đặt cược đô la vào peso rằng FPGA sẽ nghiền nát CPU, với chi phí tăng độ phức tạp trong thiết kế.


1
Ngoài ra còn có các loại GPU dựa trên flash (ACTEL) và một số loại dựa trên SRAM có flash tích hợp (Xilinx Spartan3AN, LatticeXP).
sybreon

Bạn cũng có thể chỉ cần mua CPU nhanh hơn và thả kênh thứ hai vào. Không phải là một so sánh tốt.
user253751

@immibis Những gì bạn đang nói thực sự giống như quan điểm của ajs410: một GPU không cần phải nhanh hơn , nó cần phải lớn hơn . Nếu bạn muốn đi với CPU, điều bạn có thể làm là mang CPU thứ hai, miễn là bản chất của việc xử lý là song song.
Johan Boulé

7

Xilinx gần đây đã thực hiện một thỏa thuận với ARM, điều này sẽ cho phép họ đưa lõi ARM lên trên các GPU. Thật không may, chúng sẽ chỉ có sẵn cho các thiết bị Virtex hàng đầu.


3
Rất thú vị.
pingswept

2
Tôi nghĩ rằng bạn đã nhầm về lõi ARM chỉ xuất hiện trong các thiết bị Virtex. Thông cáo báo chí không nói nhiều và tôi không nghĩ bạn có thể suy luận rằng thực tế là lõi PPC chỉ xuất hiện trong các phần V2P, V4FX và V5FXT. Trang web của Xilinx đề cập đến các thiết bị được tối ưu hóa cho "hiệu suất, chi phí và sức mạnh" (xem xilinx.com/t Technology / roadmap / processing-pl platform.htmlm ); bạn sẽ nhận thấy chi phí không bao giờ là một véc tơ tối ưu hóa cho dòng Virtex.
mrkj

1
Ngoài ra, ARM không bao giờ được đề cập trong thông báo về -ri 7-series ( xilinx.com/t Technology / roadmap / 7-series- fpgas.htmlm ), và không có phần V6 hoặc V7 với PPC. Tôi đồng ý với tất cả những điều này là chúng đang di chuyển khỏi các bộ xử lý nhúng trong các phần hiệu suất cao.
mrkj

3
Tôi đoán kết quả của thỏa thuận này là Zynq ?
Janus Troelsen

4

Định giá đồ họa là kỳ lạ - một khi bạn nói chuyện với một disti nhượng quyền, bạn thấy rằng giá được trích dẫn tại Digikey, Mouser, v.v. có thể cao hơn nhiều lần so với những gì họ có thể nhận được. Giá rẻ nhất tôi biết là Lattice EC1 trong QFP100 với giá dưới 3 GBP trong số lượng khay. Thêm GBP0,40 hoặc hơn cho bộ nhớ flash SPI.

Việc đưa CPU vào kết cấu đồ họa nói chung không có giá trị tốt về chi phí silicon, nhưng các yếu tố khác như khớp nối chặt chẽ giữa CPU và FPGA, và số lượng gói giảm có thể thay đổi sự đánh đổi tối ưu so với sử dụng CPU riêng biệt.


2
Điểm cực kỳ tốt. Xem thêm bài đăng này [ Element14.com/community/thread/2434] từ một nhân viên Farnell đề xuất rằng chip Altera Cyclone IV có sẵn với giá chỉ 3 đô la, trong khi giá niêm yết rẻ nhất của Farnell trên trang web của họ là gần 20 đô la. Bây giờ, rõ ràng hầu hết mọi người sẽ không mua với số lượng 250.000, nhưng những nhà phân phối đó có lẽ là như vậy, và họ có thể sẵn sàng giao dịch với mức giá thấp hơn 566% ...
Jules

3

Dự đoán tốt nhất của tôi cho đến nay là một cái gì đó giống như Xilinx XC3S400A, có giá khoảng 16 đô la, nhưng tôi không chắc chắn rằng nó có thể xử lý MicroBlaze.


3
Từ một cái nhìn nhanh trên mạng, một lõi microblaze sẽ sử dụng khoảng một nửa số tế bào logic trong XC3S400A. Ngoài ra, Cortex A8 sẽ chạy ở tốc độ 600 MHz - 800 MHz, trong khi microblaze trên FPGA sẽ chạy ở 200 MHz - 300 MHz.
davr

Vì vậy, nó sẽ chậm hơn ~ 3x (giả sử hệ thống của bạn bị giới hạn bộ xử lý), nhưng chi phí tương đương, trong khi để lại các cổng dư thừa cho một cái gì đó khác.
pingswept

1
Đó chỉ là so sánh tần số, cách cơ bản nhất để so sánh tốc độ xử lý thực tế. Tôi không có đủ kiến ​​thức về nó, nhưng có thể ví dụ với cùng tốc độ xung nhịp, ARM nhanh gấp đôi so với Microblaze
davr

1
Vâng, đủ công bằng. Một xấp xỉ đầu tiên, tôi đoán.
pingswept

3

Nó phụ thuộc rất nhiều vào ứng dụng của bạn. Ứng dụng lý tưởng ở đây sẽ bao gồm một phần điều khiển nhỏ (phù hợp với microblaze / NIOS) nhưng là phần tính toán có thể hưởng lợi từ sự song song lớn của phần cứng tùy chỉnh. Trong những trường hợp này, ngay cả một GPU có kích thước khiêm tốn (Spartan hoặc tương đương) có thể dễ dàng vượt trội hơn bất kỳ CPU có mục đích chung nào. Nhưng đó là trường hợp tốt nhất (mặc dù có thể đạt được rất nhiều trong nhiều ứng dụng trong thế giới thực), nếu ứng dụng của bạn có phần kiểm soát đáng kể hoặc không dễ dàng ánh xạ tới phần cứng, hãy tiêu tiền của bạn cho phần cứng cố định (ví dụ ARM) có lẽ tốt hơn


3

Nếu bạn cần một bảng mạch thay vì chỉ chip, đây là hai tùy chọn gần đây từ năm 2013:

  • Các vi mạch nhúng Mojo , Spartan-6. 75 đô la Mỹ.
  • Parallela , Zynq SoC (ARM + FPGA) của Adapteva và Máy gia tốc đa lõi Epiphany của riêng họ. 99 đô la Mỹ.

0

Vì nhiều CPLD hiện tại của Altera là các GPU có bộ nhớ cấu hình tích hợp, bạn có thể lấy chúng cho http://www.altera.com/products/devices/cpld/max2/mx2-index.jsp


0

trước hết bạn muốn chạy linux trên lõi. Làm thế nào về việc chạy nó trên ARM như một số đề xuất khác trong chủ đề này. MCU rất tốt trong việc chạy hệ điều hành nhưng nó gây lãng phí cho việc xây dựng MCU. MCU có thể phù hợp với một khu vực silicon nhỏ hơn nhiều khi được thiết kế tùy chỉnh cho điều đó và do đó có thể được sản xuất với giá rẻ hơn. Sau đó, có những lời giải thích khác về việc các GPU thực sự giỏi trong việc xử lý song song - thực tế mặc dù các hoạt động logic không cảm thấy như xử lý chính xác. Giống như bạn chỉ ra các GPU mạnh mẽ trở nên đắt đỏ, và thực sự đói điện. Vì vậy, một nền tảng chi phí thấp có thể chạy linux và DSP cần những lợi ích của việc xử lý song song cho IO nhanh, v.v. Hãy xem bộ xử lý song song XMOS

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.