2013-11-25 17 views
5

Tôi vô tình bị kẹt trong một bài tập về nhà, và tôi rất thích giúp một số người hiểu rõ hơn. Dưới đây là những gì tôi đã được đưa ra:Cách tính CPI hiệu quả cho bộ nhớ cache cấp 3

  1. cơ sở CPU CPI = 2, tốc độ xung nhịp = 2GHz
  2. cache Tiểu học, Hoa hậu Rate/Chỉ thị = 7%
  3. L-2 cache thời gian truy cập = 15ns
  4. L-2 cache, địa phương Hoa hậu Rate/Chỉ thị = 30%
  5. L-3 cache thời gian truy cập = 30ns
  6. L-3 cache, toàn cầu Hoa hậu Rate/Chỉ thị = 3%, chính thời gian truy cập bộ nhớ = 150ns

Hiệu quả CPI là gì?

Đó là sự hiểu biết của tôi rằng tôi cần phải tính toán hình phạt bỏ lỡ cho mỗi cấp độ bộ nhớ cache.

  • L1 bỏ lỡ phạt = truy cập thời điểm L2 = 15ns/(1ns/2cc) = 30 chu kỳ đồng hồ
  • L2 bỏ lỡ phạt = truy cập thời điểm L3 = 30ns/(1ns/2cc) = 60 chu kỳ đồng hồ
  • L3 bỏ lỡ phạt = truy cập thời điểm MM = 150ns/(1ns/2cc) = 300 đồng hồ chu kỳ

Bây giờ tôi cần phải tính toán hiệu quả CPI. Đây là nơi tôi hơi bối rối.

Tôi tin rằng thức nên là:

CPI = BaseCPI + (% L1 MR/Instr * L1 Hoa hậu Penalty) + (% L1 MR/Instr * % L2 MR/Instr * L2 Hoa hậu Penalty) + (% toàn cầu MR/Instr * L3 Hoa hậu Penalty)

Nếu tôi làm điều này, tôi nhận được

CPI = 2.0 + (0.07 * 30) + (0.07 * 0.3 * 60) + (0,03 * 30 0) = 14,36


Sau khi gửi email hướng dẫn của tôi vì không ai trong lớp hiểu được lời giải thích phút 1-2 của toàn cầu và địa phương, tôi được cho biết rằng câu trả lời của tôi là gần gũi, nhưng sai. Nếu bất cứ ai có thể cung cấp một số thông tin chi tiết, hoặc thậm chí chỉ cho tôi hướng tới một hướng dẫn tốt, tôi sẽ biết ơn. Tôi có thể hiểu cách tìm ra hiệu quả CPI cho bộ nhớ cache cấp 1 và 2. Làm cho nhảy đến 3 confuses tôi.

+1

thảo luận liên quan: [http://stackoverflow.com/questions/20483999/calculating-actual-effective-cpi-for-3-level-cache/20617511](http://stackoverflow.com/questions/ 20483999/tính toán-thực tế-hiệu quả-cpi-cho-3-level-cache/20617511) – chus

Trả lời

0

Nó có thể giúp suy nghĩ về nó theo một hướng khác. Nếu chúng ta giả sử chúng ta sẽ thực hiện 1.000.000 lệnh, với tỷ lệ truy cập cache chính của bạn, 93% trong số đó sẽ đạt và chỉ yêu cầu 2CPI. 7% hoặc 70.000 sẽ cần phải đạt mức bộ nhớ cache thấp hơn. Trong số đó 70.000, 70% (49.000) sẽ nhấn trong L2 và yêu cầu 15ns (hoặc 30CPI). Điều đó khiến 21.000 người cần phải đến từ L3 hoặc thấp hơn. 97% (20370) sẽ trúng L3 và yêu cầu 60CPI. 630 còn lại sẽ yêu cầu truy cập bộ nhớ tại 300CPI.

Vì vậy, tổng số đồng hồ cho toàn bộ cọc là 930.000 * 2 + 49.000 * 30 + 20370 * 60 + 630 * 300, tổng cộng là 4,741,200, với số lượng lệnh là 1.000.000, cho CPI hiệu quả 4.7412.

Điều đó có thể vẫn không đúng, vì tôi không hoàn toàn chắc chắn sự khác biệt giữa tỷ lệ bỏ lỡ cục bộ/cục bộ là gì trong câu hỏi cụ thể này và cách áp dụng nó ở đây, nhưng điều này ít nhất cho thấy một cách tiếp cận khác giúp hiểu câu hỏi. Nó cũng giả định rằng, ví dụ, hình phạt bỏ lỡ trong L2 của 60 đồng hồ là toàn bộ hình phạt - nói cách khác, có một truy cập mà bỏ lỡ trong tiểu học và L2 và phải lấy từ L3 chỉ có 60 đồng hồ, hoặc phải mất 60 đồng hồ để lấy nó từ L3 vào L2 và sau đó thêm 30 đồng hồ để có được nó từ L2 thành tiểu học, và sau đó là 2 đồng hồ thông thường, với tổng số 92 đồng hồ trên một L2 bỏ lỡ? Có lẽ đó là sự khác biệt giữa địa phương/toàn cầu?

+0

Đầu tiên, cảm ơn bạn đã trả lời. Tôi đã làm một cái gì đó tương tự như những gì bạn đề nghị lúc đầu. Sau khi nói chuyện với giáo sư của tôi một lần nữa, ông nói rằng công thức của tôi là chính xác. Tôi nghĩ rằng vấn đề của tôi nằm trong các hình phạt bỏ lỡ. Nếu tôi đọc bài viết của bạn một cách chính xác, đó là những gì bạn cũng đang cố gắng để hiển thị. Quay lại để crunching một số số. – user2990107

-1

Vấn đề WCU, phải không? Tôi có cùng lớp.

Kiểm tra D2L. Trang 18-20 của toàn bộ Chương 5 pdf được cung cấp. Sách giáo khoa cần thiết Tổ chức và thiết kế máy tính đi vào chi tiết khá tốt về các loại vấn đề này. Từ một cái nhìn nhanh, tôi nghĩ rằng bạn có thể làm một vài hoạt động không chính xác. Số chính xác ... hoạt động sai. Tôi đang tự mình làm việc. Tôi sẽ đăng bài ở đây nếu tôi tìm thấy câu trả lời của tôi

0
  • Hey guys, tôi đang ở 242 cũng được, tôi không biết nếu điều này là đúng một trong hai nhưng đây là những gì tôi đã nhận ..

    chính bỏ lỡ hình phạt = 150ns/(1/2) = 300 chu kỳ. L2 miss = 15 ns/(1/2) = 30 chu kỳ. L3 miss = 30 ns/(1/2) = 60 chu kỳ.

    nên cpi = 2 + (. 07 * 300) + (. * 07 .3 * 30) + (. 03 * 60) = 25,43

0

Hey vì vậy tôi gửi qua email mình hỏi về vấn đề này giải pháp

hiệu quả CPI = 2.0 + 0,07 x 30 + 0,30 x 60 + 0,03 x 300 = 31,1

và phản ứng của ông là L1 và L3 là đúng nhưng mà tôi đã phải đưa vào tài khoản các địa phương tỷ lệ bỏ lỡ cho L2. Không chắc chắn điều đó có nghĩa là gì, nhưng hy vọng thông tin nhỏ này giúp

-1

Sau khi nói chuyện với giáo sư, ông nói rằng công thức này là đúng, nhưng nói với tôi rằng ông không thể cho tôi biết câu trả lời có chính xác hay không. Anh ta dường như đang ám chỉ nó đúng, nhưng nó chỉ có thể là một sự hiểu lầm về rào cản ngôn ngữ.

1

gì nếu nó là như thế này: cho một mức độ bộ nhớ cache hai Chỉ số CPI có hiệu quả là:

CPI = CPI (bình thường) + MissRAteL1 * MissPenaltyL2 + GlobalMissRAte * TotalMissPenalty

sau đó cho ba cấp bộ nhớ cache nó có thể là:

CPI = CPI + MissRateL1 * MissPenaltyL2 + (MISSRATEL2/MissRAteL1) (MissPEnaltyL1 + MissPEnaltyL2) + GlobalMiss Tỷ lệ (MissPEnaltyL1 + MissPEnaltyL2 + MissPEnaltyL3)

CPI = 2 + 7% x60 + (7%/30%) x (60 + 30) + 3% x (300 + 60 + 90) ..

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