Sự khác nhau giữa 32 bit và 64 bit?
SỰ
KHÁC NHAU GIỮA 32 BIT VÀ 64 BIT
Bạn là một nhân viên trong xưởng chế
biến nước táo. Bạn có một chiếc máy trước mặt và một đống táo, với mỗi quả
tương ứng với 1 ô.
Trên
bàn phím chỉ có 2 con số: 0 và 1. Mỗi ô chứa táo sẽ đánh số tương ứng. Bạn có
thể lựa chọn cách đánh số.
Giả
sử mỗi lần lấy táo bạn chỉ nhập được tối đa 2 số. Vậy thì các giá trị bạn có thể
nhập vào máy tính là 00, 01, 10, 11. Nếu đánh 4 ô táo đó các mã số lần lượt là
00, 01, 10, 11, vậy thì chỉ có tối đa 4 ô táo có thể dùng. (Lưu ý là mình nói
đánh dấu ô táo, không phải quả táo vì táo trong ô có thể mất và có
thể nhận hàng mới.)
Bạn có thể truy cập vào ô táo thứ 5
không? Không, vì máy của bạn chỉ có thể nhận diện được 4 trường
hợp như đã kể phía trên.
Vậy
giả sử máy có thể nhập tối đa 3 số thì sao? Máy sẽ trông như thế này đây!
Như
thế thì bạn có thể nhập được bao nhiêu giá trị nhỉ? 000, 001, 010, 011, 100,
101, 110, 111. Hừm, 8 cái. Vậy nếu ta đánh số ô chứa táo tương ứng như trên 000,
001,..., 110, 111, thế là ta có thể truy cập tối đa 8 ô chứa táo rồi.
Ta
cùng nhập 000, và ấn nút đỏ thôi!
Nào
táo số 000, biến thành nước nào!
Nào
táo số 101, biến thành nước nào!
Lại
câu hỏi cũ, nếu chỉ có thể truy cập tối đa 8 ô chứa táo, vậy làm sao truy cập
táo thứ 9?
Chúng
ta sẽ tăng giới hạn nhập của máy lên.
Giả
sử máy có giới hạn là 32 slot để nhập. Vậy thì số ô chứa táo tối đa có thể truy
cập là bao nhiêu? 4,294,967,296 ô, với mỗi ô lần lượt là 00000000000000000000000000000000, 00000000000000000000000000000001,... (32 chữ số). Tại sao lại ra con số 4 tỷ này? Vì mỗi slot nhập có 2 trường hợp là 0 và 1, trong mỗi khả năng nó thì slot nhập kế tiếp lại có 2 trường hợp. Như thế thì ta có 2*2*2*...*2 (32 lần), tương ứng với 2^32 = 4,294,967,296.
Bàn
táo đủ rồi, ta quay lại về máy tính nào.
Nếu
xem máy để truy cập các ô táo đó là register, và các ô táo là các ô lưu trữ dữ
liệu trên RAM, quả táo chính là dữ liệu. Thì ta sẽ hiểu nôm na rằng, register
có một kích thước thể hiện giới hạn truy cập dữ liệu trên RAM (cũng như lúc nãy
chúng ta bảo rằng kích thước máy nhập thể hiện giới hạn ô táo chúng ta có thể
truy cập). Vậy thì 32 bit và 64 bit chính là loại register thể hiện giới hạn của
chúng. Đối với 32 bit, ta có thể truy cập được 4 triệu bit bộ nhớ, tương ứng với
4GB bộ nhớ. Điều này dẫn đến máy 32 bit chỉ có thể sử dụng tối đa RAM 4GB, với
RAM trên 4GB sẽ là không thể, cũng giống như việc truy cập vào ô táo thứ 5 khi
giới hạn máy nhập là 2 như ví dụ bên trên vậy.
64
bit ra đời để giải quyết bài toán trên. Với 64 bit, ta có thể truy cập được
2^64 = 18,446,744,073,709,551,616 ô, tương ứng với 16777216 TB, tha hồ mà sử dụng.
RAM
càng lớn, máy tính chạy càng nhanh? Đúng nhưng không đúng.
Đúng vì đối với các RAM kích thước nhỏ, khi bộ nhớ RAM đầy thì nó sẽ chuyển dữ
liệu về ổ cứng để lưu trữ tạm thời. So với việc tương tác giữa RAM và register,
lại có sự phát sinh thêm thời gian giữa RAM và ổ cứng, dẫn đến máy bị chậm. Với
RAM kích thước lớn, chúng không lo bị đầy nên không cần phải gửi nhờ dữ liệu
cho ổ cứng, nên sẽ không bị chậm vì lý do đó. Nhưng máy cũng sẽ có thể bị chậm
vì lý do dở hơi nào khác. Chính vì thế RAM không quyết định tốc độ của máy, thế
nhưng RAM ít thì chắc chắn máy sẽ chậm.
Tổng
kết:
Trong đời sống thường
ngày, chúng ta hay gặp những thứ nhỏ nhặt, cũng vì chúng ta ít quan tâm và
không được ai giải thích nên xem nó là điều hiển nhiên. Mình hi vọng những bài
viết giải thích những điều đơn giản này giúp các bạn mở rộng lăng kính của mình
không chỉ giới hạn bởi hai từ “hiển nhiên” ấy, mà nó còn là một sự hiểu biết về
ý nghĩa của chúng. Cám ơn các bạn đã đọc!
Nội dung bài viết thuộc về Lê Công Diễn.
Người viết: Lê
Công Diễn
Mang đi nhớ ghi nguồn
Nhận xét
Đăng nhận xét