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] Đếm số data hazard RAW trong chuỗi lệnh

    Cho n lệnh, mỗi lệnh mô tả bởi rd rs rt (thanh ghi đích và hai nguồn; -1 nếu không có).

    Một lệnh được tính là có hazard RAW nếu ít nhất một trong hai nguồn của nó trùng với rd của một lệnh đứng trước trong khoảng cách ≤ 2 (tức lệnh liền trước hoặc cách 2 vị trí) — đây là vùng nguy hiểm của pipeline 5 tầng.

    Đếm số lệnh có hazard.

    Ví dụ: chuỗi (1,-1,-1),(2,1,-1),(3,2,1): lệnh 2 dùng r1 (đích lệnh 1), lệnh 3 dùng r2 (đích lệnh 2) → 2 lệnh có hazard.

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

      Dòng đầu là n. Tiếp theo là n dòng, mỗi dòng rd rs rt.

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

      1 ≤ n ≤ 10^5, -1 ≤ các thanh ghi ≤ 31

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

      In ra số lệnh có hazard RAW.

    Ví dụ:

    Đầu vào:

    3
    1 -1 -1
    2 1 -1
    3 2 1

    Đầu ra:

    2

    Giải thích:

    Lệnh 2 phụ thuộc lệnh 1, lệnh 3 phụ thuộc lệnh 2 → 2 lệnh có hazard.

    Đang tải editor...