2010-04-24 59 views
9

Tôi đang chuẩn bị bài kiểm tra cho hệ thống máy tính. Tôi không hiểu cách tính số bit địa chỉ cần thiết cho bộ nhớ.Làm thế nào để tính số bit địa chỉ cần thiết cho bộ nhớ?

Ví dụ,
Giả sử rằng một 1G x 32-bit bộ nhớ chính được xây dựng sử dụng chip RAM 256M x 4-bit và bộ nhớ này là word-địa chỉ.

Số bit địa chỉ cần thiết cho mô-đun bộ nhớ là gì?

Số bit địa chỉ cần thiết cho toàn bộ bộ nhớ là gì?

Và còn nếu bộ nhớ là byte địa chỉ, giải pháp nào sẽ là giải pháp?

Rất cám ơn

+2

Hãy cho chúng tôi biết suy nghĩ của bạn trước tiên. –

+0

Không nên sử dụng thẻ bài tập về nhà nữa! – markus

Trả lời

4

Ngày nay, từ byte được luôn được sử dụng để có nghĩa là 8 bit (nó không luôn luôn sử dụng để được như vậy, đó là lý do từ octet, cụ thể định nghĩa nghĩa chính xác 8 bit, vẫn được sử dụng trong tài liệu khi cần có độ chính xác, ví dụ: khi chỉ định giao thức truyền thông).

Vì vậy, bạn tính số lượng bit bạn phải giải quyết, chia cho 8 và đó là số lượng byte bạn phải giải quyết. Số lượng bit bạn cần trong mỗi địa chỉ rõ ràng là trần của logarit trong cơ sở 2 của số byte riêng biệt mà bạn cần phải giải quyết - Tôi chắc chắn hy vọng rằng phần không đến như là một bất ngờ ;-).

Thuật ngữ word vẫn còn khá mơ hồ: tùy thuộc vào ngữ cảnh có thể có nghĩa là 16 bit hoặc 32 bit hoặc thậm chí nhiều hơn. Dù sao, một khi bạn biết bao nhiêu bit có nghĩa là, quá trình này là chính xác giống như cho byte, chỉ cần thay thế 32 (hoặc bất cứ điều gì) thay cho 8 trong đoạn trước. Tất nhiên điều này chỉ áp dụng cho một mô-đun duy nhất đối với toàn bộ bộ nhớ - trong mỗi trường hợp, tính số bit, chia để lấy số byte hoặc từ, log2, sau đó lấy trần của nó (rõ ràng là bước cuối cùng không cần thiết nếu log2 là số nguyên ;-).

8

Số bit địa chỉ cần cho mô-đun bộ nhớ là gì?

Biết những sẽ giúp:

2^8 = 256 
2^10 = 1024 = 1 KB 
2^20 = 1 MB 
2^30 = 1 GB 
2^32 = 4,294,967,296 = 4 GB 

Bạn sẽ cần ít nhất 28 bit để giải quyết trong một mô-đun bộ nhớ 256MB (các số mũ thêm khi bạn nhân họ).

Số bit địa chỉ cần cho bộ nhớ đầy đủ là gì?

Vì 1 GB = 2^30, bạn sẽ cần 30 bit để giải quyết 1 GB bộ nhớ đó.

Bộ nhớ nhiều nhất bạn có thể xử lý với 32 bit là 4 GB.

Và còn nếu bộ nhớ là byte có thể giải quyết được, giải pháp là gì?

Bạn không chắc mình đang hỏi gì ở đây.

+0

Bạn sẽ cần ít nhất 28 bit để giải quyết trong mô-đun bộ nhớ 256MB. Nó sẽ là "Bạn sẽ cần ít nhất 8 bit để giải quyết trong mô-đun bộ nhớ 256MB" Tôi có đúng không? –

+0

Tôi nghĩ rằng bảng mà tôi đưa ra ở trên là chính xác: 2^8 = 256, 2^20 = 1MB. Vì vậy, (2^8) * (2^20) = 2^28 = 256MB, bởi vì "số mũ thêm khi bạn nhân". – duffymo

0

Bạn phải chỉ tính toán nó với:

S = (k*l)/(m*n) 

đây,
k*l = Chip mà chúng tôi muốn tạo, và
m*n = Chip được sử dụng để tạo ra nó.

Trong câu hỏi của bạn, bạn cần chip {(2*1024)*32}/(256*4), sẽ cung cấp cho bạn kết quả là chip 64.

+2

Các chuyên viên chăm sóc có nên giải thích các phiếu bầu của họ không? – markus

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