Chủ Nhật, 30 tháng 12, 2018

[CĂN BẢN] VỀ 32-BIT VÀ 64-BIT, TẠI SAO MÁY NHẬN KHÔNG ĐỦ RAM, TẠI SAO CÀI ỨNG DỤNG KHÔNG ĐƯỢC ...

Trong series những bài viết căn bản này, mình sẽ bắt đầu về Windows 32-bit vs 64-bit, x86x64 là gì. Từ đó anh em sẽ không phải thắc mắc những thứ như "Tại sao máy mình có 8 GB RAM mà cài Windows xong chỉ nhận có 4 GB" hay "Tại sao mình tải cái ứng dụng XXX đó về cài trên máy không được?" hay "Office có bản 32-bit với 64-bit, cài cái nào đây?" …


Đang tải Windows XP.jpg…
Đã là người dùng Windows thì ít nhiều chúng ta đều biết đến sự tồn tại của bản 32-bit và 64-bit, nó có từ rất lâu rồi kể từ thời Windows XP kia và xưa thì đa phần dùng bản 32-bit, phổ biến đến độ bản 64-bit gần như không được nhớ đến và người dùng phổ thông cũng hiếm khi cài đặt vì một cái lý do mà tới giờ mình vẫn chưa thể kiểm chứng là "64-bit nặng hơn 32-bit", mình chỉ thấy lúc đó bản 64-bit hỗ trợ driver kém hơn nên không xài thôi. Với phần cứng máy tính hồi đó thì chỉ cần nghe "nặng hơn" là đủ để không xài 64-bit. Thế nhưng đến thời đại Windows 10 thì 64-bit lại phổ biến hơn, cũng dễ hiểu khi mà phần cứng giờ đã mạnh hơn và nó cần Windows 64-bit để khai thác toàn diện. Rốt cuộc giờ thế giới đảo chiều, Windows 64-bit lại phổ biến hơn 32-bit. Không chỉ Windows, các hệ điều hành khác như Ubuntu cũng có bản 32-bit và 64-bit. Thế nhưng khi nói về 2 khái niệm này thì chúng ta phải nói về cả phần cứng lẫn phần mềm.

Đầu tiên là vụ 32-bit và 64-bit, 2 giá trị này nghĩa là gì và nó ảnh hưởng như thế nào đến chiếc máy tính của anh em?

Đang tải CPU 32-bit vs 64-bit.jpg…
32-bit hay 64-bit dùng để mô tả kiến trúc hay thiết kế của vi xử lý và cũng là độ rộng của thanh ghi (register) của CPU. Một vi xử lý 32-bit tích hợp register 32-bit và tương tự với vi xử lý 64-bit sẽ tích hợp register 64-bit. Giờ CPU trên máy tính đa phần là 64-bit nhưng ở thế giới SoC cho thiết bị di động như smartphone thì 64-bit SoC chỉ mới xuất hiện trong khoảng 4 năm trở lại đây, chẳng hạn như Snapdragon 800/801 nổi tiếng một thời vẫn là SoC 32-bit được những flagship thời đó như HTC One M8, OnePlus One, Xiaomi Mi4, Sony Xperia Z3 sử dụng và điểm chung của chúng là đều có không quá 3 GB RAM. Sau này kể từ Snapdragon 810 trở đi thì SoC này đã dùng kiến trúc 64-bit và 4 GB RAM bắt đầu phổ biến.

Đang tải CPU Register 32-bit vs 64-bit.jpg…
Trở lại với register thì đây là một bộ nhớ có dung lượng rất nhỏ và vi xử lý cần nó để truy xuất nhanh dữ liệu để tối ưu hiệu năng xử lý. Bit là đơn vị thể hiện độ rộng của register. Một register 64-bit có thể lưu nhiều dữ liệu hơn so với 32-bit và cũng chính độ rộng này ảnh hưởng đến khả năng khai thác bộ nhớ ngẫu nhiên (RAM) của CPU.

Đang tải RAM.jpg…
Register 32-bit tương ứng với 2^32 (4.294.967.296) ô địa chỉ trong bộ đệm nên bị giới hạn truy xuất tối đa 4 GB hay 4.294.967.296 byte RAM. Trong khi đó 64-bit hay 2^64 (18.446.744.073.709.551.616) ô địa chỉ, không chỉ có độ rộng gấp đôi so với 32-bit mà số lượng ô địa chỉ trong register còn gấp 4.294.967.296 lần. Trên lý thuyết CPU có register 64-bit sẽ có thể truy xuất 18.446.744.073.709.551.616 byte RAM hay 18.446.744 Terabyte (TB) RAM. Thực tế thì CPU 32-bit chỉ có thể khai thác khoảng 3,5 GB RAM bởi 1 phần của register được dùng để lưu những dữ liệu tạm khác bên cạnh ô địa chỉ bộ nhớ. CPU 64-bit với register có không gian nhớ cực lớn đã loại bỏ rào cản truy xuất bộ nhớ RAM, bạn có gắn vài chục TB RAM đi nữa thì vẫn chưa thấm vào đâu với khả năng khai thác của vi xử lý.

Bên cạnh 2 khái niệm 32-bit và 64-bit thì người ta còn hay gọi 32-bit là x86 còn 64-bit là x64. Cách gọi này cũng đúng nhưng cần phải hiểu x86 hay x64 là tập lệnh mà vi xử lý sử dụng:

Đang tải intel 8086 vs intel 8086k.jpg…
Intel 8086 x86 vs Intel Core i7-8086K phiên bản kỷ niệm.
X86 là kiến trúc tập lệnh do Intel phát triển, giới thiệu vào năm 1978 trên dòng vi xử lý 8086, nó còn được gọi là IA-32. Kiến trúc tập lệnh (ISA) đóng vai trò là giao tiếp giữa phần mềm và phần cứng nên một phần mềm được viết cho kiến trúc x86 sẽ chỉ có thể chạy trên phần cứng x86, ở đây là CPU x86. Trong khi đó x64 là phần mở rộng hay phiên bản 64-bit của x86 và mặc dù cả Intel lẫn AMD đều phát triển kiến trúc tập lệnh này nhưng AMD là hãng đầu tiên chuẩn hoá và công bố cấu hình vào năm 2000. Hãng cũng đăng ký sáng chế cho kiến trúc x64của mình và đặt tên là AMD64 thành ra nhiều khi x64 còn được gọi là amd64. Kiến trúc x64 tương tích ngược với các ứng dụng x86, tức là phần mềm viết cho kiến trúc x86 vẫn có thể chạy với CPU x64 mà không cần phải chỉnh sửa lại nhưng phần mềm viết cho kiến trúc x64 lại không thể chạy trên CPU x86.

Nói tới đây thì hẳn anh em đã hiểu 32-bit/x86 vs 64-bit/x64 qua đó giải thích cho 2 câu hỏi cơ bản về phần cứng lẫn phần mềm hay gặp trên Windows:

"Tại sao máy em có 8 GB RAM mà máy chỉ nhận 4 GB?" > Do em cài Windows 32-bit - Windows cũng là một phần mềm và nó được viết cho kiến trúc 32-bit/x86 thành ra nó sẽ không thể nhận toàn bộ dung lượng RAM, chỉ giới hạn ở 4 GB. Giải pháp duy nhất là cài Windows 64-bit.

"Tại sao em cài phần mềm XXX không được trên Windows?" > Do em cài một phần mềm 64-bit trên Windows 32-bit. Các hãng làm phần mềm thường phát hành cả 2 phiên bản 32-bit lẫn 64-bit nhưng nhiều phần mềm chỉ có bản 64-bit thành ra khi tải về thì anh em không thể cài lên máy chạy Windows 32-bit được.

Windows 32-bit vs 64-bit, cách phân biệt?

Nói về khác nhau ở kiến trúc thì mình xin chịu thua, đó là chuyện cao siêu của mấy anh kỹ sư bên Microsoft làm ra Windows. Những ở khía cạnh là người dùng bình thường thì những khác biệt có thể thấy rất rõ bên ngoài. Điển hình như mục Program Files trong ổ C:

Đang tải Windows 64-bit.jpg…
Trên Windows 10 64-bit chẳng hạn thì anh em sẽ thấy có những 2 thư mục gồm Program Files và Program Files (x86). Program Files là thư mục mặc định chứa ứng dụng desktop (.exe) khi anh em cài vào máy. Tuy nhiên, Program Files (x86) sẽ dành cho các ứng dụng 32-bit/x86 còn Program Files còn lại dành cho ứng dụng 64-bit/x64. Sở dĩ phải cần có 2 thư mục riêng biệt bởi khi ứng dụng khởi chạy và cần truy xuất dữ liệu chia sẻ chẳng hạn như các file .dll thì chúng sẽ có thể tìm chính xác ở đâu nhờ 2 thưc mục riêng rẽ cũng là 2 đường dẫn riêng.

Và cũng cần nhắc lại rằng, nếu anh em đang dùng Windows 32-bit thì không thể cài ứng dụng x64 nhưng nếu anh em đang dùng Windows 64-bit thì không phải bận tâm về điều này, ứng dụng x86 hay x64 đều chạy được.

Để xác định Windows của bạn là 32-bit hay 64-bit thì cách nhanh nhất là vào ổ C: chứa Windows xem có 2 thư mục Program Files nói trên hay không. Nếu chỉ có 1 thư mục Program Files mà không có Program Files (x86) thì xác định đây là Windows 32-bit.

Đang tải Windows 64-bit About this PC.jpg…
Để chắc ăn hơn nữa thì trên Windows 10 anh em có thể nhấn Start > tìm About your PC (mục này trong Settings > System > About) > trong phần Device specifications anh em lưu ý dòng System type như hình trên: 64-bit operating system, x64-based processor tức hệ điều hành (Windows 10) 64-bit, vi xử lý x64 (Intel Core i9-9900K) như chiếc máy mình đang dùng.

Phần mềm 32-bit vs 64-bit chọn cái nào?

Đang tải Firefox 32-bit vs 64-bit.jpg…
Như đã nói, anh em xài Windows 32-bit thì không thể cài ứng dụng 64-bit, riêng anh em xài Windows 64-bit thì mỗi khi tìm tải ứng dụng khá là phân vân khi không biết phải chọn phiên bản nào. Theo kinh nghiệm của mình thì hãy cài phiên bản x64 nếu ứng dụng có. Mình lấy ví dụ điển hình như trình duyệt Firefox, khi tải về mình thường chọn phiên bản x64, các trình duyệt như Chrome, Opera đều tự động nhận biết hệ thống 32-bit hay 64-bit để tải về và cài đặt phiên bản tương ứng. Trong trường hợp ứng dụng không có phiên bản 64-bit thì anh em cứ tải bản 32-bit về dùng bình thường.

Ứng dụng 64-bit so với 32-bit không khác biệt nhiều về trải nghiệm, mình từng rất "ngố" khi nghĩ rằng cài trình duyệt web 64-bit sẽ duyệt nhanh hơn gấp đôi so với phiên bản 32-bit :D. Thực ra ứng dụng 64-bit có 2 thứ tốt hơn so với 32-bit là nó có thể khai thác độ bảo mật cao hơn của hệ thống 64-bit cũng như có thể khai thác nhiều hơn 4 GB bộ nhớ RAM mỗi khi truy xuất. Do đó ứng dụng 64-bit thường ổn định hơn so với 32-bit.

Đang tải Office 365.jpg…
Office 32-bit và 64-bit? Mình thường cài bản 64-bit, tuy nhiên nếu như anh em cài đặt tự động thì Office vẫn tải về bản 32-bit. Một lý do khiến Microsoft vẫn gợi ý người dùng xài bản 32-bit đó là nhiều plug-in được các hãng thứ 3 phát triển cho Office không tương thích với phiên bản Office 64-bit. Mình từng gặp vấn đề này trong Outlook 64-bit khi mà plug-in giúp lọc email rác lại không hoạt động được với phiên bản này, phải cài lại bản 32-bit. Không chỉ Microsoft mà nhiều hãng vẫn gợi ý người dùng tải bản 32-bit cũng vì lý do tương thích.

Đang tải Windows 10.jpg…
Chung quy lại còn mấy ngày nữa là năm 2019, anh em nên dùng Windows 64-bit, hãy quên bản 32-bit đi bởi lỡ máy có đang 4 GB RAM mà muốn nâng lên 8 GB thì anh em không cần phải cài lại Windows nếu đang dùng bản 64-bit, cứ cắm thêm là máy nhận thêm. Chưa kể nhiều phần mềm đã bắt đầu bỏ phiên bản 32-bit để tập trung phát triển 64-bit.

https://tinhte.vn/threads/can-ban-ve-32-bit-va-64-bit-tai-sao-may-nhan-khong-du-ram-tai-sao-cai-ung-dung-khong-duoc.2898281/

Không có nhận xét nào:

Đăng nhận xét