2012-12-30 50 views
6

Tôi cần bao nhiêu quầy hàng để thực hiện các hướng dẫn sau đây đúng cách. Tôi hơi bối rối với những gì tôi đã làm, vì vậy tôi ở đây để xem các chuyên gia trả lời.Đường ống trong lắp ráp

lw $1,0($2); 

beq $1,$2,Label; 

Lưu ý rằng việc kiểm tra xem chi nhánh sẽ xảy ra hay không sẽ được thực hiện trong giai đoạn giải mã. Nhưng rs đăng ký nguồn của beq đó là $ 1 trong trường hợp này sẽ được cập nhật sau khi giai đoạn writeback của lệnh lw. Vì vậy, chúng ta cần phải chuyển tiếp dữ liệu mới từ bộ nhớ trong giai đoạn bộ nhớ để giải mã giai đoạn của lệnh beq.

Stage đi như thế này:

enter image description here

NẾU: Hướng dẫn quyến rũ; ID: Hướng dẫn Giải mã Ex: Thực hiện/ALU giai đoạn MEM: đọc dữ liệu từ bộ nhớ WB: lưu trữ dữ liệu trong nơi đăng ký

Đây là những gì tôi đã làm cho đến nay.

Khi lw ở giai đoạn exec và beq trong giai đoạn giải mã, điều kiện ngừng hoạt động trở thành sự thật và bong bóng được tạo. Bây giờ lw đang trong giai đoạn Mem và beq vẫn đang trong giai đoạn giải mã do bong bóng, một lần nữa tình trạng trì trệ đã trở thành sự thật và gian hàng thứ hai đã xảy ra. Và bây giờ lw là trong WB (viết lại) và beq đang ở giai đoạn giải mã nhưng vẫn là giá trị của $ 1 sẽ cập nhật vào cuối giai đoạn WB mà cuối cùng có nghĩa là beq sẽ vẫn hoạt động với giá trị sai $ 1.

+0

"kiểm tra xem chi nhánh có xảy ra hay không" - bạn có ý định kiểm tra nào. Theo http://www.csc.gatech.edu/~copeland/3055-00/lab/lab-2/MIPS_pipes.JPEG nhánh được thực hiện trong EX; và PC mới được chuyển tiếp đến PC đăng ký tại MEM. – osgx

+0

Bạn cần thêm 1 gian hàng thêm vì chi nhánh bị trễ. Vì vậy, bạn sẽ cần 7 quầy hàng. – Blood

+0

làm thế nào nó trở thành 7 quầy hàng ?? Tại hầu hết các quầy hàng có thể là 2 – Alfred

Trả lời

2

có vẻ như bạn sẽ cần một gian hàng thứ ba để cho phép sổ đăng ký được ghi lại vào tệp đăng ký trước khi giải mã hoặc chuyển tiếp dữ liệu từ giai đoạn ghi lại đến giai đoạn giải mã. Dù bằng cách nào, điều này sẽ được thực hiện nếu sổ đăng ký được viết bằng rs.

Bạn có vẻ cần quá nhiều quầy hàng vì nhánh được phát hiện sớm ở giai đoạn giải mã, điều này rất tốt vì nó tiết kiệm tìm nạp các hướng dẫn không cần thiết sẽ bị xóa, nhưng bạn phải phát hiện mối nguy hiểm phù hợp.

+0

ok. Tôi nghĩ vậy đó. Và tôi đã có một cuộc tranh luận với giáo sư của tôi và anh ấy nói rằng tôi chỉ cần hai quầy hàng và không viết lại cho trường hợp trên. Đây là lý do tôi bối rối – Alfred

+0

@Alfred giáo sư của bạn có thể giả định rằng tệp đăng ký không đồng bộ và nó sẽ được cập nhật trước đồng hồ tiếp theo, nhưng đó có thể không phải là loại bộ nhớ bạn đang sử dụng hoặc muốn sử dụng. – iabdalkader

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