2009-07-22 34 views
6

tôi đang làm một số công việc liên quan đến MIPS lắp ráp, và tôi tiếp tục đi ngang qua bốn dấu chấm động pseudoinstructions tải/cửa hàng: l.s, l.d, s.s, s.d. Tôi tìm thấy một số tài liệu trực tuyến và đã tìm ra rằng có bốn hướng dẫn "thực tế" có vẻ giống như vậy: lwc1, ldc1, swc1sdc1.MIPS dấu chấm động: swc1 vs s.s

Câu hỏi duy nhất của tôi là sự khác biệt là gì? Theo như tôi có thể nói, cả hai bộ hướng dẫn làm chính xác điều tương tự. Các giả có thể tồn tại chỉ vì chúng dễ đọc hơn không?

Cảm ơn trước vì mọi thông tin chi tiết.

Trả lời

7

Câu hỏi duy nhất của tôi là sự khác biệt là gì? Theo như tôi có thể nói, cả hai bộ hướng dẫn làm chính xác điều tương tự.

Có, bạn nói đúng. Sự khác biệt duy nhất có thể xuất hiện là khi một lệnh giả được dịch sang nhiều hơn một lệnh "thực".

Làm giả có thể tồn tại chỉ vì chúng dễ đọc hơn không?

Một lần nữa, có. Đó là lý do tại sao chúng tồn tại. Họ đưa ra ảo giác về một bộ chỉ dẫn rõ ràng hơn. Trích dẫn Computer organization and design/Patterson & Hennessy:

... trình kết hợp cũng có thể xử lý các biến thể phổ biến của hướng dẫn ngôn ngữ máy như thể chúng là hướng dẫn theo cách riêng của chúng. Phần cứng không cần thực hiện các hướng dẫn này; tuy nhiên, sự xuất hiện của chúng trong ngôn ngữ aassembly đơn giản hóa việc dịch và lập trình. ...

Với ví dụ của bạn, đó là nhiều hơn "rõ ràng" để nói:

l.s $f2, 24(t1)  # Load Single contained in 24(t1) to $f2 

hơn

lwc1 $f2, 24(t1)  # Load Word into Coprocessor 1 from 24(t1) to $f2 

cũng như bạn có thể hiểu rõ hơn:

move $7, $18  # move contents of $18 to $7 

hơn

add $7, $18, $0 

Đối với tôi, nó chỉ được trợ giúp bởi bộ nhớ để nhận mã dễ đọc hơn.

2

Thực ra tôi nghĩ rằng,

LWC1 is Load Word to Co-processor 1 
LDC1 is Load Double Word to Co-processor 1 

vv ...


Đoán những gì, tôi nhấn trên một trang bằng sáng chế cố nhớ lại những.

US Patent 5555384 - gia hạn mâu thuẫn hướng dẫn do trì hoãn một hướng dẫn mâu thuẫn vào giai đoạn đường ống dẫn giống như một hướng dẫn phi mâu thuẫn thứ ba

Có hai loại hướng dẫn tải thực hiện bởi FPC 20:
LWC1 (Load Word Coprocessor 1, được thể hiện trong hình 4) và
LDC1 (Load Double Word Coprocessor 1, được hiển thị trong hình 8).

LWC1 tải từ 32 bit từ hệ thống con bộ nhớ vào thanh ghi chung FPC.
LDC1 tải một từ kép 64 bit từ hệ thống con bộ nhớ vào sổ đăng ký chung FPC.

xác nhận điều đó.
(btw: đừng bận tâm tìm kiếm các số liệu được giới thiệu ở đây trừ khi bạn có quyền truy cập vào trang web).

+0

Cảm ơn, nhưng tôi đã hiểu điều đó (những tài liệu được liệt kê trong tài liệu chính thức). Có lẽ tôi nên rõ ràng hơn, nhưng câu hỏi của tôi là sự khác biệt giữa phiên bản giả của mỗi lệnh tải/lưu trữ đơn/đôi và phiên bản thực tế (lwc1 vs l.s, ldc1 vs l.d, v.v.). –

+0

Tôi cho rằng lý do cho tên psudocode và bộ chỉ dẫn là để đơn giản và tính di động của psudocode trên các biến thể trong ISA. – nik

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