2010-06-02 26 views
12

Tôi đang cố gắng tối ưu hóa một số phép tính bằng cách sử dụng các tập lệnh MMX và SSE với lắp ráp nội tuyến. Tuy nhiên, tôi đã không thể tìm thấy tài liệu tham khảo tốt cho timings và tập quán của các bộ hướng dẫn nâng cao. Bạn có thể vui lòng giúp tôi tìm tài liệu tham khảo có chứa thông tin về thông lượng, độ trễ, toán hạng và có lẽ mô tả ngắn về hướng dẫn không?Tham chiếu lệnh SSE và MMX ngắn gọn với độ trễ và thông lượng

Cho đến nay, tôi đã tìm thấy:

Intel Hướng dẫn Tham khảo Intel 64 and IA-32 Architectures Developer's Manual: Vol. 2AIntel 64 and IA-32 Architectures Developer's Manual: Vol. 2B

Intel Tối ưu hóa Hướng dẫn http://www.intel.com/Assets/PDF/manual/248966.pdf

Thời gian của Integer Operations http://gmplib.org/~tege/x86-timing.pdf

Trả lời

10

Các Hướng dẫn Intel tham khảo nên prov ide một hướng dẫn đầy đủ để những gì các hướng dẫn thực sự làm, tôi đã có thể nghĩ? Nó có mã giả cho mỗi một, một mô tả về hoạt động của nó, và trong một số trường hợp thậm chí là một sơ đồ nhỏ của một trường hợp đại diện.

Để biết thời gian, không có hướng dẫn chính thức mà tôi biết. Trang Agner Sương mù là tài liệu tham khảo tiêu chuẩn:

http://www.agner.org/optimize/

+0

Hướng dẫn Agner rất tuyệt. Chính xác những gì tôi cần. – Joe

7

Các Intel's Intrinsic Guide (ở phía dưới bên trái của trang AVX), là một công cụ tìm kiếm được tổ chức tốt, nơi bạn có thể thu hẹp bởi SSE phiên bản và/hoặc hướng dẫn loại, ví dụ, số học FP hoặc Integical Logical.

Đối với mỗi lệnh, nó cũng hiển thị bảng độ trễ/thông lượng của CPU và theo tham số.

+2

Đó là điều tốt nhất tôi đã tìm thấy để xem những hướng dẫn nào có thể làm những gì bạn muốn. Các hướng dẫn khác rất tuyệt vời để trình bày chi tiết chính xác những gì mỗi lệnh ASM làm, nhưng điều đó chiếm quá nhiều không gian mà bạn không thể có được một cái nhìn tổng quan. Tôi đã hy vọng sẽ có một cái gì đó tương tự như hướng dẫn nội tại, nhưng đối với asm trực tiếp. Tuy nhiên, nó chủ yếu là một bản đồ 1: 1. –

1

Thời gian nằm trong "Hướng dẫn tối ưu hóa của Intel"; xem Phụ lục C để biết thông lượng và độ trễ cho mỗi lệnh cho mỗi kiến ​​trúc CPU.

Các vấn đề liên quan