CPI và IPC, giá trị hiệu suất của mọi bộ xử lý

Khi đo lường hiệu suất của bộ xử lý, nhiều số liệu thường được sử dụng, nhưng phổ biến nhất là CPI và IPC. Những từ viết tắt này đề cập đến điều gì và chúng ảnh hưởng như thế nào đến thiết kế của

Khi chúng ta nói rằng một bộ xử lý có hiệu suất tốt hơn một bộ xử lý khác, chính xác thì chúng ta muốn nói gì? Chà, một bộ xử lý thực thi một chương trình với tốc độ cao hơn một chương trình khác, nhưng các thông số và điều kiện được sử dụng để cải thiện hiệu suất của bộ xử lý so với người kế nhiệm của nó là gì?

CPI và IPC

Các bộ phận tiếp thị khi nói đến việc bán một công nghệ phức tạp như CPU hoặc một GPU phải đơn giản hóa hiệu suất, vì chúng có độ phức tạp ngày càng tăng và chính xác một trong những ngụy biện mà họ đã tạo ra là thuật ngữ IPC như một thuật ngữ để đo hiệu suất của bộ xử lý.

CPI hoặc Chu kỳ trên mỗi Chỉ dẫn, thước đo hiệu suất thực sự

giao tiếp CPU Thực tế trong bộ xử lý là không phải tất cả các lệnh đều có cùng số chu kỳ để giải quyết , Có nghĩa là, chu kỳ lệnh của mỗi lệnh thay đổi tùy theo độ phức tạp của nó và số bước mà nó phải trải qua.

Một cách mà các kiến ​​trúc sư cải thiện hiệu suất của bộ xử lý là giảm số bước mà CPU cần để giải quyết một số lệnh cụ thể, theo cách mà hiệu suất khi thực thi một luồng hoặc một chương trình, bạn sẽ tăng tốc độ của thực hiện chương trình bằng cách tăng tốc các hướng dẫn đó.

Hiện tượng này xảy ra ở cả CPU và GPU và đây là cách phổ biến nhất để tăng hiệu suất của bộ xử lý, vì tập hợp các thanh ghi và lệnh là những gì lệnh thực hiện, bộ nhớ định địa chỉ nó sử dụng và các bản ghi, nhưng không chỉ ra làm sao.

GCN so với RDNA 2 CPI

Ví dụ. Trong bảng so sánh này, bạn có thể thấy sự phát triển của kiến ​​trúc GPU GCN từ AMD đến RDNA từ cùng một công ty, như bạn có thể thấy cùng một chương trình đổ bóng mất ít chu kỳ hơn trong kiến ​​trúc RDNA, vì một phần tốt các hướng dẫn của nó có CPI thấp hơn.

IPC hoặc hướng dẫn mỗi chu kỳ

CPU Pila

Trong kiến ​​trúc máy tính , khái niệm lệnh trên mỗi chu kỳ đề cập đến số lượng lệnh mà bộ xử lý thực thi đồng thời, do đó, nó chủ yếu bị giới hạn ở số đơn vị thực thi trong bộ xử lý, nhưng nó không phải là yếu tố hạn chế duy nhất. vì có thể có các hướng dẫn sử dụng chung các phần tử của bộ xử lý và các phần tử đó cùng nhau sẽ cho hiệu suất kém hơn.

Nhưng thuật ngữ này có một biến thể khó hiểu, dựa trên việc lấy thời gian mà hai bộ xử lý thực hiện để thực hiện cùng một chương trình, sau đó đo sự khác biệt về thời gian, chuyển nó đến chu kỳ đồng hồ và đo sự biến thiên giữa hai bộ xử lý. Những gì xuất hiện là trung bình của các hướng dẫn mỗi chu kỳ, nhưng nó không phải là thứ trong kiến ​​trúc máy tính thường được gọi là IPC.

IPC như chúng tôi đã nói ở phần đầu là số lượng lệnh đồng thời mà bộ xử lý đang thực thi và khi chúng tôi nói thực thi nghĩa là nó đang giải quyết những gì tại thời điểm đó. Đó không phải là số lượng hướng dẫn được giải quyết vì rất ít hướng dẫn, có thể nói là gần như không có, ngày nay được giải quyết trong một chu kỳ đồng hồ duy nhất.

Điểm chuẩn chỉ cho biết một phần của câu chuyện

Điểm chuẩn CPU

Một cách để đo hiệu suất của bộ xử lý là thông qua các điểm chuẩn, không có gì khác hơn là các chương trình thực hiện một loạt các lệnh và nó nằm trong việc lựa chọn các lệnh được sử dụng làm chìa khóa cho mọi thứ. Các nhà sản xuất chủ yếu dựa vào các bài kiểm tra hiệu suất để bán sản phẩm và cần biết những hướng dẫn nào mà các phiên bản mới hơn của chúng sẽ sử dụng nhiều nhất.

Đó là lý do tại sao có những điểm chuẩn được định hướng nhiều hơn để tận dụng các chỉ dẫn mà CPI đã được cải thiện trong bộ xử lý hoặc tạo lợi thế cho một thương hiệu cụ thể so với những thương hiệu khác, đồng thời các nhà sản xuất cũng ưu tiên cải thiện chỉ số CPI và IPC của các hướng dẫn được sử dụng nhiều nhất để kiểm tra hiệu suất.

Phần mềm là một trong những lệnh vào cuối ngày

Hệ thống bán phần mềm CPI IPC

Những gì một bộ xử lý làm là thực thi một chương trình và điều quan trọng là các chương trình được sử dụng nhiều nhất trên thị trường sẽ ngày càng đạt được hiệu suất cao hơn, đó là lý do tại sao không chỉ các hướng dẫn của bộ xử lý được tối ưu hóa để có được nhiều hiệu suất hơn trong các điểm chuẩn mà còn để tạo ra sự khác biệt trong các chương trình và chức năng được sử dụng nhiều nhất.

Trong một số trường hợp, các biến thể mới của tập lệnh và đơn vị thực thi được tạo ra, như đã xảy ra với sự ra đời của các đơn vị SIMD vào cuối những năm 1990 cho nội dung đa phương tiện hoặc điều này đang xảy ra với các hướng dẫn để tăng tốc thuật toán trí tuệ nhân tạo.

Cải thiện hiệu suất không phải lúc nào cũng đi kèm với việc giảm số lượng chu kỳ trên mỗi lệnh, nó có thể ở dạng các đơn vị thực thi mới và thậm chí hỗ trợ đồng xử lý.

Kiến trúc so với kiến ​​trúc trong đó CPI và IPC có liên quan

i9 đấu với ryzen 7 Một trong những sai lầm phổ biến nhất là so sánh hai kiến ​​trúc theo cùng một ISA nhưng từ các nhà sản xuất khác nhau , đó là một so sánh sai nếu nó được thực hiện mà không tính đến một loạt các điều kiện.

Vì chúng tôi hoàn toàn không biết về những thay đổi lịch sử mà mỗi nhà sản xuất đã thực hiện trong chỉ số CPI và IPC của hướng dẫn, nên khi đo lường một chương trình ngay cả trong cùng một ISA, chúng tôi sẽ tìm thấy các kết quả khác nhau nếu chúng tôi so sánh hiệu suất với chương trình của một chương trình khác. Nguyên nhân? Cả hai đều sử dụng các hướng dẫn giống nhau nhưng thời gian cho mỗi hướng dẫn khác nhau.

Nhưng nếu chúng ta nói về việc triển khai của cùng một nhà sản xuất, thì chúng ta thấy rằng cả CPU và GPU đều phát triển dần dần, từ lần lặp này sang lần lặp khác, một phần tốt của các hướng dẫn của phiên bản trước đó được duy trì và CPI của một số ít được chọn trong thiết kế bộ xử lý giai đoạn = Stage.

Mối quan hệ giữa FLOPS với CPI và CPI là gì?

Hệ thống nhị phân

FLOPS là số lượng hoạt động trong dấu phẩy hoặc dấu phẩy động mà một đơn vị thực thi có thể thực hiện, một hoạt động chỉ kéo dài một chu kỳ và không được nhầm lẫn với một lệnh. Chúng cũng được sử dụng trong tiếp thị thay vì CPI và IPC, đặc biệt là khi nói đến GPU.

Ví dụ, chúng ta có thể có một bộ xử lý có tốc độ FLOPS thấp hơn nhiều so với một bộ xử lý khác và có được hiệu suất tốt hơn do số chu kỳ trên mỗi lệnh trong một kiến ​​trúc ngắn hơn một kiến ​​trúc khác . Khi nói đến việc đo lường hiệu suất trong FLOPS, các bộ phận tiếp thị thực hiện hướng dẫn với chỉ số CPI thấp nhất, miễn là họ đưa ra các con số rất cao. Nhưng trong thực tế, chúng ta đều biết rằng một chương trình được tạo thành từ vô số các hướng dẫn khác nhau.

Cũng giống như sai lầm khi so sánh các kiến ​​trúc khác nhau với CPI chênh lệch, thì việc so sánh các kiến ​​trúc khác nhau về tỷ lệ FLOPS lại càng sai lầm hơn.