Giống như cái này , có 1.49 DMIPS / MHz. Ngay cả với đường ống vẫn chỉ có 1 giai đoạn thực hiện trong mỗi chu kỳ phải không?
Giống như cái này , có 1.49 DMIPS / MHz. Ngay cả với đường ống vẫn chỉ có 1 giai đoạn thực hiện trong mỗi chu kỳ phải không?
Câu trả lời:
DMIPS và MIPS không giống nhau. DMIPS là viết tắt của "Dhstallone MIPS" và đó là một tiêu chuẩn để so sánh hiệu suất của các bộ vi điều khiển / bộ vi xử lý khác nhau trên các bộ hướng dẫn khác nhau. Tiêu chuẩn không còn quá mới nữa (*), do đó, bộ xử lý tham chiếu có thể làm gì ở 1 DMIPS / MHz trong 1 giây có thể mất bộ điều khiển nâng cao hơn 670 ms ở cùng tốc độ xung nhịp, chỉ vì nó sẽ thực hiện một số hành động trong 1 lệnh trong khi đó bộ điều khiển khác có thể cần 2 lệnh hoặc một lệnh yêu cầu nhiều chu kỳ máy hơn.
Chẳng hạn, kiến trúc 16 bit, thường sẽ có hiệu suất Dhstallone tốt hơn kiến trúc 8 bit và 32 bit, giống như kiến trúc mà bạn đang đề cập, thậm chí nhiều hơn.
(*) m.Alin đề cập đến điểm chuẩn CoreMark gần đây hơn . Lưu ý rằng điều này được viết bằng C, do đó, thực tế bạn cũng bao gồm hiệu suất của trình biên dịch trong kết quả (giống như Dhstallone, BTW).
DMIPS là một phép đo tương đối chứ không phải là tuyệt đối. Trái ngược với MIPS, nó thực sự đo lường mức độ nhanh chóng của uC có thể làm điều gì đó hữu ích thay vì chỉ thực hiện nhanh như thế nào.
Giống như bất kỳ điểm chuẩn nào, nó cũng có những hạn chế, nhưng một cách đơn giản là xem nó có thể hoàn thành mã điểm chuẩn nhanh như thế nào so với VAX 11/780 (máy 1 MIPS)
Vì vậy, ví dụ nếu uC của bạn hoàn thành điểm chuẩn nhanh hơn 100 lần so với VAX 11/780, bạn có máy 100DMIPS. Nếu nó chạy ở tốc độ 100 MHz, thì nó được đánh giá ở mức 1 DMIPS / MHz.
Lưu ý rằng DMIPS được quảng cáo thường không thể đạt được trong sử dụng bình thường, đặc biệt là trên các uC lớn với tốc độ flash, tìm nạp trước, thời gian chờ / bỏ lỡ, v.v ... Dưới đây là một cuộc thảo luận tốt về hiệu suất PIC32 DMIPS. Liên kết này có một số mã Dhstallone cho vi điều khiển.