Tính toán mật độ mã và lưu lượng bộ nhớ cho mã lắp ráp

lập trình


Giả sử giá trị của các biến A, B, C, D, F nằm trong bộ nhớ trung tâm của máy tính. Tất cả các biến là số nguyên 4 byte. Opcode là 1 byte, ngoại trừ hoạt động Push/pop là 2 bit. Địa chỉ bộ nhớ là 16 bit và địa chỉ thanh ghi là 5 bit. Tính mật độ mã và lưu lượng bộ nhớ cho mã sau:

Một)

đẩy D
đẩy B
đẩy một
THÊM VÀO
đẩy C
MU
DIV
POP F
b)

TẢI MỘT
THÊM B
CỬA HÀNG T
TẢI C
DIV D
MUL T
CỬA HÀNG F
Đối với trường hợp này, tôi đã thực hiện một số tính toán

Những gì tôi đã thử:

Mật độ mã cho A) = số lần đẩy/bật* 2bit + số lệnh.ALU * 8 bit + số lần đẩy/bật * 16 bit = 5*2+ 3*8 + 5 *16 = 10+24+80=114 chút

Mật độ mã cho B) = Tổng số lệnh * 8bit + số lần tải/lưu trữ * 16 bit = 7*8 + 4*16 =56+64 =120 bit

Lưu lượng bộ nhớ Trường hợp A = ?????
Trường hợp lưu lượng bộ nhớ B = ????

Tôi không biết liệu những tính toán này có ổn không, còn lưu lượng bộ nhớ thì sao?

Giải pháp 1

Mặc dù chúng tôi rất sẵn lòng giúp đỡ những người đang gặp khó khăn nhưng điều đó không có nghĩa là chúng tôi ở đây để làm tất cả cho bạn! Chúng tôi không thể làm tất cả công việc, bạn sẽ được trả tiền cho việc này hoặc đó là một phần điểm số của bạn và sẽ không công bằng chút nào nếu chúng tôi làm tất cả cho bạn.

Vì vậy chúng tôi cần bạn thực hiện công việc và chúng tôi sẽ giúp đỡ bạn khi bạn gặp khó khăn. Điều đó không có nghĩa là chúng tôi sẽ cung cấp cho bạn giải pháp từng bước mà bạn có thể thực hiện!
Bắt đầu bằng cách giải thích hiện tại bạn đang ở đâu và bước tiếp theo trong quy trình là gì. Sau đó, hãy cho chúng tôi biết bạn đã cố gắng thực hiện bước tiếp theo như thế nào và điều gì đã xảy ra khi bạn thực hiện.

Và phép tính nhỏ mà bạn đã thực hiện cho đến nay có vẻ rất đáng ngờ hoặc định nghĩa về máy ảo của bạn là cần thiết (một lần nữa, chúng tôi đã đề cập đến điều này trong cả hai câu hỏi khác của bạn) để thậm chí bắt đầu tính ra bất kỳ số thực nào: hoặc tất cả các sổ đăng ký của bạn đều kích cỡ khác nhau, hoặc bạn đã tạo nên những con số …
Với lịch sử câu hỏi của bạn, có vẻ như bạn đang muốn người khác làm bài tập về nhà cho mình bằng cách làm một công việc lặt vặt và hy vọng có được kết quả hoàn chỉnh để giao nộp như công việc của chính mình…

Nếu bạn gặp vấn đề khi bắt đầu thì điều này có thể hữu ích: Cách viết mã để giải quyết vấn đề, Hướng dẫn cho người mới bắt đầu[^]

コメント

タイトルとURLをコピーしました