Sự khác nhau giữa X86 và X64

Bài 1: Thế nào là X86 và X64 - Ngày xưa khi IBM ra đời máy personal computer xài CPU 8-bit, cái chip có tên là 8088 còn gọi là XT computer - tốc độ 4.77 Mhz - Khi chế ra CPU 16-bit xử dụng chip có tên là 80286 còn gọi là AT computer - tốc độ 4.77 Mhz hay 8 Mhz (turbo mode) - từ đây có chữ turbo và cũng từ đây chữ turbo không còn xài nữa Tới giai đọan chế ra CPU 32-bit: - Xài chip có tên là 80386, gọi là máy 386 - có 2 loại 386DX và 386SX (máy 386SX không gắn được cái math co-processor chip). Tốc độ tối đa là 40 Mhz Rồi tới máy 486 xài 80486 - cũng có 486DX và 486SX - tốc độ tối đà 100 Mhz (với 486DX4) -Tới Pentium thì không còn gọi là 586 mà gọi là Pentium (first generation) - tốc độ như 75, 100 Mhz -Rồi tới Pentium II - tốc độ 166, 200, 233 Mhz - dân quê thì gọi tắt là máy 686 -Rồi tới Pentium III, Pentium 4 (gọi 786 hay 886 gì cũng được) Túm lại: Để nói chung máy 32 bit, người ta xài chữ x86 để ám chỉ máy pc có CPU 32-bit . x thay thế cho 3, 4, 5, 7, hay 8 đều được còn x64 để ám chỉ máy PC có CPU là 64bit (đây là loại máy thường dùng làm máy chủ) và thường sử dụng core 2 duo, core 2 Quad

pdf4 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 9482 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Sự khác nhau giữa X86 và X64, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 1: Thế nào là X86 và X64 - Ngày xưa khi IBM ra đời máy personal computer xài CPU 8-bit, cái chip có tên là 8088 còn gọi là XT computer - tốc độ 4.77 Mhz - Khi chế ra CPU 16-bit xử dụng chip có tên là 80286 còn gọi là AT computer - tốc độ 4.77 Mhz hay 8 Mhz (turbo mode) - từ đây có chữ turbo và cũng từ đây chữ turbo không còn xài nữa .. Tới giai đọan chế ra CPU 32-bit: - Xài chip có tên là 80386, gọi là máy 386 - có 2 loại 386DX và 386SX (máy 386SX không gắn được cái math co-processor chip). Tốc độ tối đa là 40 Mhz Rồi tới máy 486 xài 80486 - cũng có 486DX và 486SX - tốc độ tối đà 100 Mhz (với 486DX4) -Tới Pentium thì không còn gọi là 586 mà gọi là Pentium (first generation) - tốc độ như 75, 100 Mhz -Rồi tới Pentium II - tốc độ 166, 200, 233 Mhz - dân quê thì gọi tắt là máy 686 -Rồi tới Pentium III, Pentium 4 (gọi 786 hay 886 gì cũng được) Túm lại: Để nói chung máy 32 bit, người ta xài chữ x86 để ám chỉ máy pc có CPU 32-bit ... x thay thế cho 3, 4, 5, 7, hay 8 đều được còn x64 để ám chỉ máy PC có CPU là 64bit (đây là loại máy thường dùng làm máy chủ) và thường sử dụng core 2 duo, core 2 Quad Bài 2:Qua đây mình cũng viết một bài về bộ nhớ 64 bit Ở đây chúng ta cần đặt ra câu hỏi :Hệ thống máy tính 64 bit là gì??? -64 bit liên qua tới quá trình máy tính bạn xử lý dữ liệu, được gọi là những "từ"-Word. -Những Word (bao gồm một phần dữ liệu hoặc câu lệnh dùng để thao tác dữ liệu, hoặc là cả hai) là chìa khoá dẫn tới mọi tính toán của máy tính. Như vậy, kích thước của một từ mà hệ thống máy tính chấp nhận có thể ảnh hưởng rất lớn đến tốc độ xử lý dữ liệu và độ chính xác của dữ liệu đó - từ càng dài, thì thông tin chuyển qua bộ xử lý trong mỗi xung nhịp đồng hồ, hay số lượng câu lệnh áp dụng trên dữ liệu đó càng lớn. -Khái niệm “Word” là một khái niệm rất dễ gây nhầm lẫn, điều quan trọng cần biết là: theo lý thuyết, máy tính 64 bit có thể xử lý được gấp đôi lượng dữ liẹu trong mỗi xung nhịp. Tuy nhiên, điều này khác với việc tốc độ tăng lên gấp đôi! -Mặc dù hệ thống 64 bit có vẻ như là một phát minh khá mới mẻ, nhưng thực ra nó đã có mặt từ lâu trước khi máy tính để bàn xuất hiện. Hệ thống 64 bit đầu tiên chính là máy tính 7030 Stretch của IBM, ra đời năm 1961. Kể từ đó, hệ thống 64 bit đã trải qua một quá trình phát triển im lìm, nhưng đầy hiệu quả trong các máy chủ cao cấp cũng như các siêu máy tính. -Và hệ thống 64 bit đã phải mất rất nhiều năm mới có thể len lỏi được đến tầng lớp máy chủ thông thường. Năm 1994, Intel lần đầu tiên thông báo kế hoạch chuyển sang máy chủ 64 bit khi hợp tác với HP. Chưa đầy một năm sau đó, Sun phát hành loại hệ thống máy tính SPARC 64 bit đầu tiên dành cho máy tính trạm trong môi trường xí nhiệp . Có vẻ như cuối cùng thì một số thứ cũng đã chuyển sang 64 bit. -Sáu năm sau đó, Intel lần đầu tiên cung cấp dòng sản phẩm có tên Itanium vào năm 2001, kết quả của sự hợp tác giữa họ với HP từ năm 1994. Tuy vậy, sản phẩm này vẫn nhằm vào dòng máy chủ mà bỏ quên người dùng máy tính để bàn. Cuối cùng, năm 2003, hệ thống 64 bit cũng đã tấn công thị trường máy tính để bàn với sự ra mắt của chip Opterons và Athlon 64 do AMD sản xuất. Mặc dù những loại chip này không thực sự dựa trên cấu trúc 64 bit (bởi chúng phải giữ nguyên tính tương thích với các loại phần mềm và máy tính hiện thời), nhưng chúng cũng đã sử dụng một nhóm các câu lệnh 64-bit mở rộng có tên gọi x86-64. -Vấn đè ở đây là, dù hệ thống đó có là 64-bit nguyên bản, hay chỉ là x86-64, thì chúng cũng không thể hoạt động được nếu thiếu một hệ điều hành có khả năng sử dụng chúng. Ngoài ra, cũng chẳng có sản phẩm nào mà người dùng bình thường có khả năng sử dụng lại hỗ trợ 64 bit. Chỉ đến khi Microsoft thực hiện một số nỗ lực nửa vời nhằm cải biến lại Windows XP vào năm 2005, mọi việc mới thay đổi. Trái ngược với quan niệm thông thường, Hệ điều hành X không hỗ trợ cấu trúc 64 bit nguyên bản, bởi bộ xử lý PowerPC dùng cho máy tính Macs và bao gồm G5 thực ra không phải là bộ xử lý 64 bit, mặc dù G5 có thể sử dụng câu lệnh 64 bit. Nhưng trước hết, hãy cùng hãy cùng xem lại mọt số khái niệm cơ bản về 64 bit. Như đã giải thích ở trên, một Word là một nhóm thông tin được xử lý cùng nhau. Đó có thể là dữ liệu chương trình, hoặc là một câu lệnh giúp thay đổi dữ liệu đó. Đôi khi, những câu lệnh hoặc dữ liệu có kích thước quá lớn và phải cần nhiều Word khác nhau để thể hiện . -Vậy thì nếu như một số câu lệnh quá nhỏ, còn một số khác lại quá lớn, thì điều gì quyết định kích thước của từ? Câu trả lời là: một phần dựa trên lịch sử, còn một phần khác dựa trên một nhân tố hết sức quan trọng là thanh ghi bộ xử lý ( Processor Register ) . -Thanh ghi là nhóm dữ liệu lớn nhất mà CPU có thể xử lý cùng 1 lúc, và cần có flag để biểu thị nội dung của nó (chiếm một phần thanh ghi). Do đó, kích thước của Word cũng tương đương với độ lớn thanh ghi. Và theo cách này, CPU luôn có khả năng thao tác tất cả các câu lệnh nhận được. -Nếu theo giải thích ở trên, thì lịch sử có vai trò gì? Thực ra, về mặt lịch sử, cấu trúc x86 được hoàn thành bằng Word có độ dài 16-bit dành cho 8086. Tức là mỗi câu lệnh, mỗi nhóm dữ liệu, và mỗi địa chỉ bộ nhớ đều phải dài chính xác 16 bit. -Khác với máy tính ngày nay, những bộ xử lý sơ khai thường không cho phép dữ liệu được dàn trải ra quá một Word , làm giới hạn chức năng, trong khi tốc độ đồng hồ vốn đã rất chậm chạp. Còn nếu như dữ liệu có kích thước lớn hơn 16 bit, nó sẽ bị cắt bớt, và việc này sẽ khiến máy bị treo. -Mặc dù tốc độ xử lý đã tăng theo cấp số mũ và độ phức tạp của Word cũng ngày càng tăng, nhưng những bộ xử lý phù hợp với cấu trúc x86 vẫn cần có Word với độ dài 16 bit. Vì thế, để giải quyết nhu cầu ngày càng tăng về không gian dữ liệu, các kỹ sư nhanh nhạy của chúng ta đã phát triển khái niệm “cắt khúc” đường truyền, gửi nhiều Word 16 bit cùng một lúc. -Chính từ thuật ngữ này mà giờ đây chúng ta mới có khái niệm 32 bit và 64 bit. Một bộ xử lý 32 bit chuyên thao tác với các từ đôi ( DWORD ) , gồm hai Word 16 bit được thao tác cùng một lúc. Và các máy tính x86-64 thì xử lý 4 Word ( QWORD ) 16 bit cùng lúc. -Vậy thì tại sao lại phải duy trì quy tắc cổ điển này trong khi không có bộ xử lý nào ngày nay lại dùng từ 16 bit? Nguyên nhân rất đơn giản – đó là tính tương thích những gì đã có trước kia. Mục đích chủ yếu của cấu trúc x86 là nhằm tạo ra một tiêu chuẩn hoạt động. Một bộ xử lý 64 bit thực sự (như Itanium hay SPARC) không biết làm như thế nào với Word 16-bit cũng như bộ vi xử lí 16-bit không biết làm thế nào với Word 64-bit . Đơn giản là hai cấu trúc này hoàn toàn không tương thích. -Sau khi tìm hiểu về thanh ghi CPU, chúng ta có thể chuyển sang một nhân tố của cấu trúc "64-bit" mà mọi người đều nói tới: chính là bộ nhớ. Một trong số những loại thanh ghi CPU quan trọng nhất là địa chỉ bộ nhớ - một Single-Word (tức là nó không thể bị cắt ngắn được nữa) giúp đưa nhóm dữ liệu cuối cùng ra khỏi CPU. -Nghe có vẻ phức tạp quá phải không? thực ra là không – hãy cứ nghĩ về nó như thể việc bạn có thể đi tới nhà bạn bè bằng tàu hoả, tàu điện ngầm… bất cứ loại phương tiện giao thông công cộng nào bạn thích. Bạn có thể đến ga tàu bằng đường bộ. Nhưng tàu điện hiếm khi đưa bạn đến chính xác điểm bạn muốn – đôi khi bạn phải chuyển ga. Làm sao bạn biết được cần xuống ga nào? Vào thời điểm nào? Khi xuống ga thì phải đến đâu? -Đây chính là những điều được địa chỉ bộ nhớ giải quyết – nó dẫn đường cho dữ liệu khi ra khỏi CPU cho đến khi bạn cần sử dụng nó lạii một lần nữa . Dữ liệu di chuyển qua Bus tới CPU, được thao tác, chuyển đổi… Nhưng hiếm khi một chuyến đi qua CPU là đủ - vì vậy dữ liệu cần phải được chuyển tới RAM để dùng vào việc sau này. -Tất nhiên, cách giải thích này đã được đơn giản hoá hết mức có thể, nhưng nó cũng cho ta một số hiểu biết cơ bản về địa chỉ bộ nhớ. Word có kích thước càng lớn thì khả năng kết hợp càng lớn hoặc những địa chỉ cũng càng lớn. -Đây chính là hạn chế mà nhiều người nghĩ tới khi tự hỏi tại sao cả 4 GB của RAM không được dùng hết . Một hệ điều hành 32 bit chỉ có thể nhận địa chỉ chính xác 4 G, và cả 4 G này đều phải được chia sẻ bao gồm nhân, và những xử lí chứa địa chỉ bộ nhớ ảo. Chính vì nguyên nhân này mà người dùng Windows XP không thể nhìn thấy toàn bộ 4GB bộ nhớ - phần lớn chỉ khoảng 3.2GB nếu dùng Service Pack 2.

Các file đính kèm theo tài liệu này:

  • pdfSự khác nhau giữa x86 và x64.pdf
Tài liệu liên quan