Tôi biết rằng x87 có độ chính xác nội bộ cao hơn, có lẽ là sự khác biệt lớn nhất mà mọi người nhìn thấy giữa nó và các hoạt động SSE. Nhưng tôi phải tự hỏi, liệu có lợi ích nào khác khi sử dụng x87? Tôi có thói quen gõ -mfpmath=sse
tự động trong bất kỳ dự án nào, và tôi tự hỏi liệu tôi có thiếu gì khác mà FPU x87 cung cấp hay không.Lợi ích của x87 trên SSE
Trả lời
x87 có một số hướng dẫn không tồn tại trong tập lệnh SSE.
Ngoài đầu nó là tất cả các công cụ lượng giác như fsin, fcos, fatan, fatan2 và một số công cụ hàm mũ/logarit.
Nếu mã của bạn dành phần lớn thời gian làm lượng giác, bạn có thể thấy hiệu suất tăng nhẹ nếu bạn sử dụng x87. Một số thuật toán DSP sẽ rơi vào danh mục này.
Tuy nhiên, đối với mã toán học mã mà bạn dành phần lớn thời gian của mình để thực hiện các phép cộng, phép nhân vv. SSE thường nhanh hơn.
- Trình bày trên các máy cũ thực sự.
EOF
Có di sản đáng kể và khả năng tương thích hệ thống nhỏ với x87: SSE là một tính năng xử lý tương đối mới. Nếu mã của bạn là để chạy trên một vi điều khiển nhúng, có một cơ hội tốt nó sẽ không hỗ trợ hướng dẫn SSE.
Ngay cả các hệ thống không có FPU được cài đặt thường sẽ cung cấp bộ giả lập 80x87, sẽ làm cho mã chạy trong suốt (nhiều hoặc ít hơn). Tôi không biết về bất kỳ bộ giả lập SSE nào - chắc chắn một trong các hệ thống của tôi không có bất kỳ hệ thống nào, vì vậy các phiên bản phần tử Adobe Photoshop mới nhất từ chối chạy.
Hướng dẫn 80x87 có đặc điểm hoạt động song song tốt đã được khám phá và phân tích kỹ lưỡng kể từ khi được giới thiệu vào năm 1982 hoặc lâu hơn. Các bản sao khác nhau của x86 có thể đứng trên một lệnh SSE.
Vì vậy, điểm mấu chốt của bạn là: (a) x87 có hỗ trợ kế thừa tốt (b) x87 đã được nghiên cứu kỹ. –
Và (c) x87 được thiết lập. – asdf
Tôi không hoàn toàn 100%, nhưng tôi tin rằng trên nhiều bộ vi xử lý 32 bit không có FPU, toán học dấu phẩy động có thể được thực hiện nhanh hơn trên các giá trị 80 bit so với các giá trị 64 bit [ -bit exponent không làm việc nhanh hơn so với phần mềm 64 bit và số mũ 16 bit, nhưng cần thêm thời gian để đóng gói và giải nén].Tôi thực sự bối rối vì tại sao định dạng 80 bit đã không hoạt động trong vài thập kỷ qua, vì dưới dạng * định dạng * tính toán, nó có vẻ vượt trội trong mọi cách để tăng gấp đôi 64 bit. – supercat
hướng dẫn FPU có kích thước nhỏ hơn so với các chỉ lệnh SSE, vì vậy họ rất lý tưởng cho các công cụ demoscene
Tôi không mua thứ này; chắc chắn các lập trình viên cảnh trình diễn nghiêm túc nén luồng hướng dẫn của họ; các công cụ nén theo tên miền cụ thể sẽ có thể nén các chỉ lệnh SSE cũng như các lệnh x87. –
@StephenCanon (không nén), nhưng quan điểm của bạn là đúng nếu bạn/họ sử dụng bất kỳ loại nén nào – Quonux
chuyển đổi giữa float
và double
là nhanh hơn với x87 (thường là miễn phí) so với SSE. Với x87, bạn có thể tải và lưu trữ float
, double
hoặc long double
đến hoặc từ ngăn đăng ký và nó được chuyển đổi hoặc từ độ chính xác mở rộng mà không mất thêm chi phí. Với SSE, các hướng dẫn bổ sung được yêu cầu thực hiện chuyển đổi loại nếu các loại được trộn lẫn, vì các thanh ghi có chứa các giá trị float
hoặc double
. Các hướng dẫn chuyển đổi này khá nhanh nhưng phải mất thêm thời gian.
Sửa lỗi thực sự là không được trộn float
và double
quá mức, không được sử dụng x87, tất nhiên.
- 1. Hiểu lợi ích của Modernizr trên html5shiv
- 2. Lợi ích của MVVM trên MVC
- 3. Lợi ích của Struts
- 4. Lợi ích của JavaScript Prototype
- 5. Lợi ích của Mẫu Cầu
- 6. Lợi ích chính của MSMQ
- 7. Lợi ích của "Không phân đoạn" trên gói TCP?
- 8. Lợi ích của letrec là gì?
- 9. Lợi ích thực sự của phạm vi
- 10. Lợi ích của JCA là gì?
- 11. Lợi ích của MVC qua MVP
- 12. Lợi ích của Maven FailSafe Plugin
- 13. Lợi ích của chương trình học?
- 14. Lợi ích của nền tảng Java 64bit
- 15. Lợi ích của các khối phạm vi?
- 16. Lợi ích của Class.new trong Rspec
- 17. Lợi ích của Scala là gì?
- 18. HTML5 tag lợi ích
- 19. lợi ích của thiết kế tableless của các trang web?
- 20. Chính xác là lợi ích của việc sử dụng Punjab
- 21. Lợi ích của object.get() vs object.read() trong Grails
- 22. Lợi ích của định nghĩa hàm tạo này là gì
- 23. Lợi ích của việc tạo khung mvc tùy chỉnh
- 24. Cố gắng tự tin vào những lợi ích của TDD
- 25. Đậu nguyên mẫu và lợi ích của mùa xuân
- 26. Lợi ích của Mô-đun Mô-đun Javascript là gì?
- 27. Lợi ích của việc sử dụng một hàm tạo?
- 28. Lợi ích của việc sử dụng epoll_create1() thay vì epoll_create()
- 29. Lợi ích của Tài nguyên Javascript trong Eclipse là gì?
- 30. Lợi ích của \ n và PHP_EOL trong PHP là gì?
@LiraNuna thực sự? Tôi không biết bất kỳ opcode nào tính trực tiếp sin hoặc cos từ tập lệnh SSE. –
Vui lòng cung cấp nguồn, Quonux. – asdf
http://gruntthepeon.free.fr/ssemath/ – MickLH