Thực hiện các CPU x86 khác nhau (với FPU tích hợp và gần đây hợp lý, cho ra đời millenium này) sản xuất chính xác kết quả tương tự cho các dấu phẩy động nổi của chúng, giả sử cùng một lệnh trên các CPU được so sánh, cùng đầu vào và giống nhau các thông số hoạt động như chế độ làm tròn? Tôi không quan tâm đến sự khác biệt về thời gian, cũng như trong số Pentium FDIV bug (không đủ điều kiện chỉ vì sự cố đó là cổ xưa). Tôi đoán câu trả lời là có để cộng, trừ, phủ định, và từ tròn đến số nguyên, vì chúng có định nghĩa chính xác, và tôi khó có thể tưởng tượng được sự phân kỳ trong việc triển khai có thể là gì (có lẽ ngắn của một lỗi trong phát hiện tràn/tràn, nhưng đó sẽ là một thảm họa trong một số ứng dụng, vì vậy tôi tưởng tượng điều này đã bị bắt và cố định từ lâu).Các hoạt động của FP có cho kết quả tương tự trên các CPU x86 khác nhau không?
Phép nhân dường như có nhiều khả năng thực hiện phân tách: xác định số điểm nổi chính xác kép (64 bit, bao gồm 52 + 1 mantissa) của sản phẩm của hai DPFPN đôi khi yêu cầu tính toán sản phẩm của tính tương đương của chúng với (khoảng) độ chính xác 104 bit, trong đó, đối với vài LSBits, được cho là một sự lãng phí công sức. Tôi tự hỏi nếu điều này thậm chí đã cố gắng, và thực hiện một cách chính xác. Hoặc có lẽ IEEE-754, hoặc một số tiêu chuẩn de-facto, quy định một cái gì đó?
Phân chia có vẻ tinh tế hơn.
Và, thiếu một thiết kế chung, tôi nghi ngờ tất cả việc triển khai những thứ phức tạp hơn (chức năng trig, nhật ký ..) có thể được đồng bộ chính xác, với nhiều phương pháp toán học có thể được sử dụng.
Tôi yêu cầu điều đó từ một sự kết hợp của sự tinh khiết thuần khiết; sẵn sàng cải thiện that answer of mine; và mong muốn một phương thức (đôi khi) cho phép một chương trình đang chạy trong một máy ảo để phát hiện sự không khớp giữa CPU giả vờ chạy, và thực tế.
Trong khi câu hỏi rất thú vị (và tôi muốn xem câu trả lời), có vẻ như bạn không thể sử dụng điều này để phát hiện ảo hóa. Hầu hết các máy ảo tôi chạy (VMWare và KVM chủ yếu) đều có CPU vật lý được báo cáo chính xác, do đó, những sự kỳ quặc của chipset sẽ không gây ra sự không phù hợp trong trường hợp đó. – ssube
Tạo mã được tối ưu hóa là một điều lớn hơn rất nhiều để lo lắng. FPU rất * rất khó để tối ưu hóa một cách nhất quán. Các trình biên dịch lý do lớn đã chuyển sang SSE2. –
Tôi không đồng ý với ý kiến đóng góp. Mặc dù động lực cho câu hỏi có thể không mang tính xây dựng, câu hỏi thực tế là khá hợp lệ và có thể được "hỗ trợ bởi sự kiện, tài liệu tham khảo hoặc chuyên môn cụ thể". –