Làm thế nào để bộ vi xử lý thương mại đáp ứng thời gian với đồng hồ gigahertz?


8

Tôi đang gặp khó khăn khi thực hiện một thiết kế đồ họa tương đối đơn giản (đối với Altera Cyclone IV) đáp ứng thời gian cho logic được điều khiển bởi xung nhịp 250 MHz. Điều này khiến tôi tự hỏi làm thế nào các bộ vi xử lý thương mại (như Intel Core i7) quản lý để đáp ứng thời gian ở tần số xung nhịp cao hơn mức độ lớn hơn.

Làm thế nào các bộ vi xử lý thương mại có thể đáp ứng thời gian ở mức 3,8 GHz khi tôi đang vật lộn ở 250 MHz cho một GPU?


8
một fpga và một bộ xử lý là táo và cam. Fpga được xây dựng từ các mô-đun / ô tương đối lớn được kết nối với nhau. Trình biên dịch cho fpga không tốt hơn hoặc kém hơn trình biên dịch phần mềm, có nghĩa là có rất nhiều chỗ để cải thiện hiệu suất, tín hiệu của bạn được chuyển đi khắp nơi, thông qua các ô lớn / chậm chiếm thời gian. Ví dụ, một bộ xử lý là chính xác các cổng cần thiết, không có định tuyến bổ sung (quét jtag và bist), v.v. Cùng một vấn đề với trình biên dịch nhưng có một số trình biên dịch chip tốt hơn (đắt tiền).
old_timer

Câu trả lời:


7

Các GPU không thực sự có "cổng" mỗi se. Họ thường có Bảng tra cứu (LUT). LUT thường được thực hiện bằng SRAM. Chẳng hạn, các Spartan 3 sử dụng SRAM 16 bit; có nghĩa là, bốn đầu vào địa chỉ tạo ra một tín hiệu đầu ra. "Lập trình" được thực hiện bằng cách tải SRAM với mẫu bit đại diện cho bảng chân lý, ví dụ như XOR 2 đầu vào, bạn có địa chỉ 00 = đầu ra 0, địa chỉ 01 = đầu ra 1, địa chỉ 10 = đầu ra 1, địa chỉ 11 = đầu ra 0.

Tất cả điều này có nghĩa là các GPU thực sự có nhiều, nhiều cổng phụ và không cần thiết để thực hiện cùng chức năng logic. Nếu bạn cần các GPU để lập trình lại và tạo mẫu nhanh, thì điều này thật tuyệt! Trên thực tế, một số người thực hiện thiết kế đầu tiên trong FPGA, gỡ lỗi nó và sau đó chuyển sang ASIC, nó sẽ nhỏ hơn, nhanh hơn và tiêu thụ ít năng lượng hơn, trong khi thực hiện điều tương tự với FPGA.

Bộ vi xử lý hiện đại cũng được lắp đặt. Chẳng hạn, trong một chương trình đơn giản, một phép tính rất lớn liên quan đến một số phép cộng và có thể là một vài bội số và việc so sánh có thể được thực hiện trong cùng một chu kỳ xung nhịp. Làm tất cả công việc này trong một chu kỳ đồng hồ có nghĩa là chu kỳ đồng hồ phải dài. Trong một triển khai theo đường ống (có thể thực hiện trong các GPU và thường được sử dụng để đạt được thời gian đóng), phép tính lớn được chia thành từng mảnh và mỗi phần được thực hiện trong một chu kỳ xung nhịp ngắn hơn nhiều. Việc tính toán vẫn mất khoảng thời gian như nhau, nhưng ưu điểm là sau khi phần đầu tiên được tính và phần dữ liệu một phần đầu tiên đã chuyển sang phần thứ hai, phần đầu tiên có thể ngay lập tức bắt đầu xử lý dữ liệu thứ hai. Tính toán đầu tiên vẫn sẽ mất nhiều chu kỳ để hoàn thành,

Vì vậy, một cách ngắn gọn, các GPU có logic chung trong khi CPU có logic cụ thể. FPGA có định tuyến chung trong khi CPU có định tuyến cụ thể. FPGA có thể là pipelined, nhưng CPU chắc chắn là pipelined.


6

Mở rộng về nhận xét của dwlech. Các bộ xử lý có kết nối đồng trực tiếp. Các FPGA được kết nối với nhau thông qua các kết nối lập trình. Ngoài ra các bộ xử lý đặt những thứ quan trọng cạnh nhau. Các GPU cũng cần chỗ cho SRAM chứa chương trình.


3
Hãy nhớ rằng các bộ xử lý từ các nhà cung cấp như Intel đang được thực hiện trên công nghệ tiên tiến, nơi sự đánh đổi tốc độ và sức mạnh là công nghệ tiên tiến. Nó cũng không phải là một kỳ công đơn giản để "đáp ứng thời gian" trên lõi bộ xử lý đa gigahertz ngay cả với những lợi thế cụ thể được ghi nhận bởi Brian Carlton.
Michael Karas

3
Bất chấp những gì @Michael Karas chỉ ra, các GPU mới nhất cũng thường xuyên xuất hiện trong lĩnh vực công nghệ dành cho các fab.
Brian Carlton
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.