Có phải đồ họa mạnh như số lượng cổng họ có không?


7

Hãy nói rằng tôi có một cổng 1 triệu. Tôi đã tìm thấy một vài bộ xử lý trên OpenCores chỉ yêu cầu cổng 50k. Vì vậy, liệu có thể tạo ra một bộ xử lý 8 lõi với một GPU như vậy không? Hoặc có giới hạn nào đối với các GPU khi thực hiện những thứ song song ồ ạt không?

Xin lỗi nếu nó có vẻ mới, nhưng tôi là người mới sử dụng đồ họa.

Câu trả lời:


5

Có về nguyên tắc. Mặc dù nếu bạn muốn họ nói chuyện với nhau, nó có thể sử dụng logic khá nhiều để phân xử, chuyển mạch xe buýt, v.v. và khi chạy các bus xung quanh FPGA, rất nhiều cổng và khả năng kết nối có thể được sử dụng để định tuyến.


8

Về cơ bản bạn đang hỏi hai câu hỏi:

- "Các GPU có mạnh bằng số lượng cổng mà chúng có không?"

Tôi thực sự nói rằng câu trả lời là "không". Kích thước cho bạn biết chúng "to" như thế nào, nhưng không phải là "mạnh" như thế nào, bởi vì:

  1. "Mạnh mẽ" là rất chủ quan cho ứng dụng cuối của bạn.
  2. "Mạnh mẽ" thường được liên kết nhiều hơn với nút công nghệ so với kích thước của khuôn (một thiết bị nhỏ từ thế hệ hiện tại có thể có cùng kích thước với một thế hệ cũ - chúng có "mạnh" như nhau không?)

- Paraphrasing: "Tôi có thể chia số lượng" cổng "cần thiết cho tổng số" cổng "và lấy số lõi tôi có thể lắp trong thiết bị không?"

Câu trả lời cho điều này cũng là "không". Điều này là do các GPU được định tuyến giới hạn, có nghĩa là:

  1. Mặc dù có thể có đủ tài nguyên logic trên chip, phần mềm sẽ không thể định tuyến được nhiều lõi đó, đặc biệt là nếu có kết nối trên không.
  2. Thiết kế, về tổng thể, có khả năng không đáp ứng hiệu suất thời gian của lõi riêng lẻ.

Một vấn đề khác là làm thế nào để xử lý I / O ngoài chip - liệu có đủ băng thông và số lượng I / O để cung cấp / đọc dữ liệu từ số lượng lõi đó không?

(BTW, chúng tôi đang cố gắng để bắt đầu một trang web SE dành riêng cho FPGA ... xem xét hỗ trợ nó ... http://area51.stackexchange.com/proposals/20632/programmable-logic-and-fpga-design?referrer= YmxhQ2OJUo-FAaI1gMp5oQ2 )


4

Bạn sẽ thấy số lượng cổng chỉ là ước tính, thay vì sự thật đơn giản về các GPU. Nhìn kỹ hơn, số lượng cổng được quảng cáo sẽ bao gồm những thứ như sử dụng các phần của khối RAM cho logic và logic bạn tổng hợp sẽ không bị giảm xuống thành một loại cổng tiêu chuẩn duy nhất như thể bạn đang xây dựng không có gì ngoài cổng NAND 2 đầu vào, kể từ đó các khối logic phức tạp hơn một chút - thường có các LUT với 4 đầu vào trở lên cho mỗi thanh ghi.

Vì vậy, câu hỏi thực sự là làm thế nào hiệu quả phần mềm tổng hợp có thể ánh xạ thiết kế cụ thể của bạn đến chip cụ thể của bạn. Bạn có thể có thể làm một bộ xử lý 8 lõi một cách dễ dàng - nếu các lõi, và quan trọng là các kết nối của chúng, phù hợp với chip đủ tốt. Rất có thể một thiết kế thất bại vì thiếu định tuyến tín hiệu thay vì thiếu logic.


2

Ngoài các thiết bị ngoại vi chết chóc (có thể tạo ra sự khác biệt khá lớn về "sức mạnh" với những thứ như Block RAM, hệ số nhân nhúng, v.v.) và tốc độ xung nhịp / "đóng thời gian", một yếu tố hạn chế khác của FPGA thường là pin đếm.

Chắc chắn, bạn có thể đặt 8 lõi vào một đồ họa, nhưng sau đó bạn phải lấy 8 lõi đó để nói chuyện với thế giới bên ngoài. Để làm cho vấn đề tồi tệ hơn, một khi bạn vượt quá vài trăm chân, bạn phải sử dụng gói BGA, việc thiết kế PCB trở nên khó khăn hơn nhiều.


2

Vâng, các GPU là tuyệt vời để thực hiện những thứ song song ồ ạt. Nhiều người đã đặt 8 CPU trở lên trên một GPU - nó không chỉ đơn thuần là "về nguyên tắc".

Kiểm tra hình ảnh sơ đồ tầng trong bài viết "Hệ thống 24 bộ xử lý trên thiết kế chip chip với mạng trên chip" của Zhoukun WANG và Omar HAMMAMI.

Sơ đồ tầng đó làm cho khá rõ ràng rằng đồ họa cụ thể đó có khá nhiều thứ. 24 lõi CPU - mỗi lõi là một CPU MicroBlaze 32 bit với tổng số bộ nhớ dữ liệu và hướng dẫn cục bộ 32 KByte - chiếm khoảng một nửa số FPGA (xung quanh chu vi). Việc định tuyến giữa các lõi CPU và 4 bus ngoài độc lập sẽ lấp đầy tất cả các phần còn lại của FPGA. (Các bus ngoài có mỗi bit 64 bit dữ liệu cộng với một số tín hiệu điều khiển, mỗi tín hiệu dẫn đến một mô-đun bộ nhớ DDR2 độc lập).

(IC đặc biệt này cũng bao gồm hai lõi cứng CPU PowerPC 405 ngoài cấu trúc đồ họa - Zhoukun và Omar dường như không bận tâm sử dụng chúng).

Như những người khác ở đây đã chỉ ra, việc chia "số lượng cổng trong một đồ họa" cho "số lượng cổng trong CPU" là quá lạc quan. Trong trường hợp này, 142.128 LUT trên Xilinx FPGA Virtex-4 FX140 chia cho khoảng 1000 LUT cần thiết cho một MicroBlaze kích thước tối thiểu cung cấp (tối ưu) 142 CPU cho mỗi chip. Vì vậy, bạn có thất vọng khi rõ ràng "chỉ" 24 CPU phù hợp với kết cấu đồ họa đó (không tính hai lõi cứng PowerPC 405 bên ngoài kết cấu đồ họa trên IC đó) không?

Một GPU cổng 1 triệu chia cho CPU cổng 50 nghìn cho (tối ưu) 20 CPU cho mỗi chip. Tôi nghĩ rằng bạn sẽ may mắn khi ép được thậm chí 4 CPU vào đồ họa đó.

"Thật đáng kinh ngạc những gì bạn có thể siết chặt vào các bộ phận này nếu bạn thiết kế kiến ​​trúc máy một cách cẩn thận để khai thác tài nguyên FPGA. Ngược lại, có một bài viết rất thú vị trên tờ EE Times gần đây của một đồng nghiệp từ VAutomation thực hiện ảo 6502 trong VHDL, sau đó tổng hợp Mặc dù vậy, thiết kế 6502 chỉ sử dụng khoảng 4000 "cổng ASIC" nhưng nó không phù hợp với XC4010, một cái gọi là "Cổng 10.000". RISC 32 bit có hai vấn đề phải phù hợp và 4 MHz 6502 thì không, nói rất nhiều về tổng hợp VHDL so với vị trí thủ công, về kiến ​​trúc kế thừa so với tùy chỉnh và thậm chí có thể là một cái gì đó về CISC so với RISC ... "- Jan Gray

Bài viết trên Wikipedia: "bộ xử lý mềm" có nhiều thông tin hơn về việc đóng gói nhiều CPU trên một đồ họa đơn.


Thật buồn cười là một chiếc 6502 sẽ sử dụng 4000 "cổng ASIC" khi phần thực có khoảng 5000 bóng bán dẫn.
supercat

1

Ừ kiểu vậy, chắc vậy.

Ngoài sự khác biệt về các thiết bị ngoại vi chết (RAM, bộ đệm IO, v.v ...) Bạn cũng cần xem xét thực tế rằng các loại GPU khác nhau được đánh giá cho tốc độ xung nhịp khác nhau.

Bạn có thể có hai GPU cổng 500k, nhưng nếu một cái có xung nhịp tối đa 50 MHz và cái kia tăng lên 1 GHz, thì cái này rõ ràng mạnh hơn cái kia.

Bây giờ, nói chung không đơn giản trong thế giới thực, vì các GPU bị hạn chế bởi độ trễ lan truyền hơn tốc độ xung nhịp thuần túy, nhưng các thiết bị khác nhau có các đơn vị logic nhanh hơn hoặc chậm hơn, thay đổi mức độ logic của bạn có thể phức tạp mà không phải sử dụng bộ đệm đồng bộ hoặc gặp vấn đề di căn.

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.