Mỗi word cũng có địa chỉ bằng cách lấy địa chỉ của byte đầu tiên trong chuỗi byte của word đó.. Hình 1: mô tả bộ nhớ dung lượng 1 GByte, định địa chỉ theo byte.. Mỗi word có 4 bytes.. Me
Trang 1Trong file bài tập chương 7, trang 4, có dòng:
“Bộ nhớ luận lý dùng 32 bits, định địa chỉ theo byte kích thước bộ nhớ ảo = 232 bytes = 4 GByte”
Có một số bạn chưa hiểu “định địa chỉ theo byte” là sao, cô giải thích như bên dưới:
Bộ nhớ là một dãy các byte xếp liên tục nhau (mỗi byte luôn 8 bits)
Ngoài ra còn có word (từ nhớ), tùy từng hệ thống mà một word có thể 2, 4, 8, … bytes
Thông thường, mỗi byte sẽ được đánh một địa chỉ Mỗi word cũng có địa chỉ (bằng cách lấy địa chỉ của byte đầu tiên trong chuỗi byte của word đó) Ví dụ như hình 1
Hình 1: mô tả bộ nhớ dung lượng 1 GByte, định địa chỉ theo byte Mỗi word có 4 bytes
Byte có địa chỉ 0 đang có nội dung là 8 (tức 8 bits trong byte địa chỉ 0 hiện tại đang là 00001000) Nhưng cũng có một số hệ thống, mỗi word sẽ đánh một địa chỉ riêng, không quan tâm địa chỉ ở mức byte
Ví dụ như hình 2
Memory hoạt động như hình 1 gọi là định địa chỉ theo byte
Memory hoạt động như hình 2 gọi là định địa chỉ theo word
Trang 2Hình 2: mô tả bộ nhớ dung lượng 1 G Word, định địa chỉ theo word Mỗi word có 4 bytes
Ví dụ khi nói một bộ nhớ có kích thước 1G, định địa chỉ theo byte Ngay lập tức biết bộ nhớ này có chính xác 230 bytes (các byte từ 0 tới 230-1) Nếu 1 word có 4 bytes, thì có 230/4 = 228 word
word từ 0 tới 230-1) Nếu 1 word có 4 bytes thì thật sự có tới 230×4 bytes
Bộ nhớ định địa chỉ theo byte thông dụng, còn bộ nhớ định địa chỉ theo word ít thông dụng hơn
Về cách truy xuất bộ nhớ:
Bộ xử lý muốn lấy dữ liệu/nội dung của một byte/word thì phải cung cấp cho memory địa chỉ của
byte/word đó
chứa nội dung của byte/word đó
Cụ thể hơn:
Với bộ nhớ định địa chỉ theo byte (tức mỗi byte được đánh 1 số/hay được địa chỉ), như trong hình 1:
Vậy thanh ghi chứa địa chỉ trong bộ xử lý phải dùng tối thiểu bao nhiêu bits để chứa được các giá trị từ
0 đến 230-1?
Phải dùng tối thiểu là 30 bits để biểu diễn được một số mà tầm trị từ 0 đến 230-1
Còn thanh ghi chứa nội dung của byte, chắc chắn chỉ cần tối thiểu chỉ cần 8 bits
Từ đó, nếu cho biết bộ nhớ nào đó dùng 30bits để định địa chỉ, bộ nhớ định địa chỉ theo byte bộ nhớ có
230 bytes, các byte đánh số từ 0 tới 230-1
Nếu cho biết bộ nhớ nào đó dùng 30bits để định địa chỉ, bộ nhớ định địa chỉ theo word bộ nhớ có 230
word, các word đánh số từ 0 tới 230-1 (nếu mỗi word 4 byte thì dung lương bộ nhớ là 230× 4 bytes)
Trang 3Quay lại bài tập 3, chương 7: đề cho bộ nhớ luận lý dùng 32 bits để đánh địa chỉ, bộ nhớ định địa chỉ theo byte bộ nhớ có 232 bytes = 4 GByte
Nếu đề này cho bộ nhớ định địa chỉ theo word, mỗi word 4 bytes, thì kích thước bộ nhớ này là
232 word (232×4 bytes)
-