Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Kiến trúc máy tính] Định luật Amdahl nhiều giai đoạn

    Một chương trình gồm k giai đoạn, giai đoạn i chiếm tỉ lệ thời gian f_i (tổng các f_i = 1) và được tăng tốc với hệ số s_i. Theo định luật Amdahl tổng quát, thời gian sau cải tiến (so với 1 đơn vị ban đầu) là Σ f_i / s_i, và tốc độ tăng tốc tổng thể là nghịch đảo của tổng đó:

    Speedup = 1 / Σ (f_i / s_i)
    

    Hãy tính tốc độ tăng tốc tổng thể.

    Ví dụ

    Hai giai đoạn: f = 0.5, s = 2 và f = 0.5, s = 1 → tổng = 0.25 + 0.5 = 0.75 → speedup = 1/0.75 ≈ 1.33.

    • Định dạng đầu vào:

      Dòng 1: số giai đoạn k. k dòng tiếp theo, mỗi dòng: f_i s_i (tỉ lệ và hệ số tăng tốc).

    • Ràng buộc đầu vào:

      1 ≤ k ≤ 20, 0 ≤ f_i ≤ 1 (tổng = 1), s_i ≥ 1.0.

    • Định dạng đầu ra:

      Một dòng: tốc độ tăng tốc tổng thể, định dạng {:.2f}.

    Ví dụ:

    Đầu vào:

    2
    0.5 2
    0.5 1
    

    Đầu ra:

    1.33

    Giải thích:

    Tổng f/s = 0.5/2 + 0.5/1 = 0.25 + 0.5 = 0.75; speedup = 1/0.75 ≈ 1.33.

    Đang tải editor...