2015-02-15 31 views
8

Trên Intel Intrisics Guide đối với hầu hết các hướng dẫn, nó cũng có giá trị cho cả thời gian chờ và thông lượng. Ví dụ:Thông lượng thời gian chờ SIMD

__m128i _mm_min_epi32

Performance 
Architecture Latency Throughput 
Haswell  1  0.5 
Ivy Bridge 1  0.5 
Sandy Bridge 1  0.5 
Westmere  1  1 
Nehalem  1  1 

chính xác gì những con số này nghĩa là gì? Tôi đoán độ trễ chậm hơn có nghĩa là lệnh mất nhiều thời gian hơn để thực thi, nhưng Thông lượng 1 cho Nehalem và 0.5 cho Ivy, nghĩa là lệnh nhanh hơn trên Nehalem?

+2

Các lõi hiện đại có * hai * đơn vị thực thi có thể thực thi lệnh cùng một lúc. Vì vậy, nếu mặt trời chiếu sáng và bạn có gió ở phía sau và chương trình của bạn có hai trong số chúng gần nhau thì cả hai đều hoàn thành trong một chu kỳ. Làm cho nó nhìn vào hồ sơ của bạn mà họ đã mất một nửa chu kỳ. –

Trả lời

10

Các "độ trễ" cho một lệnh là bao nhiêu chu kỳ đồng hồ nó có thực hiện một hướng dẫn (bao lâu để được hướng dẫn để hoàn thành.

thường thông là số lệnh trong một chu kỳ đồng hồ, nhưng thông lượng ở đây là số chu kỳ đồng hồ trên mỗi bắt đầu chỉ dẫn độc lập - vì vậy 0,5 chu kỳ đồng hồ có nghĩa là 2 hướng dẫn có thể được phát hành trong một chu kỳ đồng hồ và kết quả đã sẵn sàng trong chu kỳ đồng hồ tiếp theo

Tài liệu Intel tại đây: https://software.intel.com/en-us/articles/measuring-instruction-latency-and-throughput

+0

Điều này được mô tả ở đây: https://software.intel.com/en-us/articles/measuring-instruction-latency-and-throughput – Novelocrat

+0

@Novelocrat: Vậy là vậy. –

+1

Không, thông lượng là số lượng hướng dẫn trên mỗi chu kỳ đồng hồ. Intel đang trích dẫn thông lượng đối ứng và gọi nó là thông lượng. –

4

Sau đây là một trích dẫn từ trang của Intel Measuring Instruction Latency and Throughput.

trễ và Throughput

Độ trễ là số lượng đồng hồ bộ xử lý cần cho một lệnh có dữ liệu của nó có sẵn để sử dụng bởi hướng dẫn khác. Do đó, hướng dẫn có độ trễ 6 đồng hồ sẽ có dữ liệu có sẵn cho một hướng dẫn khác mà nhiều đồng hồ sau khi bắt đầu thực hiện .

Thông lượng là số đồng hồ bộ xử lý cần để thực hiện lệnh để thực thi hoặc thực hiện các phép tính của nó. Một hướng dẫn với một thông lượng của 2 đồng hồ sẽ buộc đơn vị thực hiện của nó cho rằng nhiều chu kỳ ngăn cản một lệnh cần thực hiện đơn vị từ đang được thực hiện. Chỉ sau khi lệnh được thực hiện với đơn vị thực hiện thì lệnh tiếp theo sẽ được nhập.

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