Sự khác biệt giữa Intel 64 và AMD64 là gì?


29

Ai đó có thể giải thích nếu có bất kỳ sự khác biệt giữa kiến ​​trúc intel64 và amd64?


3
IA64 = kiến ​​trúc Intel / HP Itanium VLIW. AMD64 là phần mở rộng được AMD phát triển của tập lệnh x86 tiêu chuẩn.

6
Tiếp thị. AMD đã phát triển nó, sau đó cấp phép cho Intel. AMD đang cấp phép x86 từ Intel và Intel đang cấp phép x64 từ AMD. Điều này đảm bảo rằng không ai có thể kiện người kia mà không mất quyền bán toàn bộ dòng sản phẩm cpu của họ, vì họ sẽ tự bắn vào chân mình.

1
Ý bạn là x86-64 hay IA64? Cái trước giống như AMD64 (nghĩa đen là cùng một bộ hướng dẫn chính xác , hoặc bạn sẽ cần phải biên dịch lại tất cả các ứng dụng cho một CPU hoặc cái kia), và cái sau là một kiến trúc CPU hoàn toàn khác.
Đột phá

2
Ý tôi là x86-64. Intel ban đầu sử dụng tên IA-32e và EM64T trước khi giải quyết Intel 64 để thực hiện.
Mayhem

Câu trả lời:


26

Từ những gì tôi đã đọc Bộ nhớ mở rộng Công nghệ 64 bit (EM64T) là việc triển khai AMD64 của AMD và sự khác biệt giữa Intel64 và AMD64 là:

  • Các lệnh BSF và BSR của EM64T hoạt động khác nhau khi nguồn bằng 0 và kích thước toán hạng là 32 bit. Bộ xử lý đặt cờ không và để lại 32 bit trên của đích không xác định.

  • AMD64 hỗ trợ 3DNow! hướng dẫn. Điều này bao gồm tìm nạp trước với opcode 0x0F 0x0D và PREFECHW, rất hữu ích để ẩn độ trễ bộ nhớ.

  • EM64T thiếu khả năng lưu và khôi phục phiên bản rút gọn (và do đó nhanh hơn) của trạng thái dấu phẩy động (liên quan đến các hướng dẫn FXSAVE và FXRSTOR).

  • EM64T thiếu một số thanh ghi dành riêng cho mô hình được coi là kiến ​​trúc của AMD64. Chúng bao gồm SYSCFG, TOP_MEM và TOP_MEM2.

  • EM64T hỗ trợ cập nhật vi mã như ở chế độ 32 bit, trong khi bộ xử lý AMD64 sử dụng định dạng cập nhật vi mã khác và kiểm soát MSR.

  • Lệnh CPUID của EM64T rất đặc trưng cho nhà cung cấp, như bình thường đối với các bộ xử lý kiểu x86.

  • EM64T hỗ trợ các hướng dẫn MONITOR và MWAIT, được sử dụng bởi các hệ điều hành để xử lý tốt hơn với Hyper-threading.

  • Các hệ thống AMD64 cho phép sử dụng khẩu độ AGP dưới dạng IO-MMU. Các hệ điều hành có thể tận dụng điều này để cho các thiết bị PCI bình thường DMA vào bộ nhớ trên 4 GiB. Các hệ thống EM64T yêu cầu sử dụng bộ đệm nảy, tốc độ chậm hơn.

  • SYSCALL và SYSRET cũng chỉ được hỗ trợ ở chế độ IA-32e (không ở chế độ tương thích) trên EM64T. SYSENTER và SYSEXIT được hỗ trợ trong cả hai chế độ.

  • Các nhánh gần với tiền tố 0 × 66 (kích thước toán hạng) hoạt động khác nhau. Một loại CPU chỉ xóa 32 bit trên cùng, trong khi loại còn lại xóa 48 bit trên cùng.


Bạn đã đọc văn bản đó từ đâu?
Tamara Wijsman

4
Chà, một số diễn đàn / blog + wikipedia ( en.wikipedia.org/wiki/EMT64#Intel_64 ). Ngoài ra tôi đã xem qua một số hướng dẫn từ Intel và AMD.
Mayhem

@Nubok: Vui lòng thêm sự khác biệt cho việc triển khai kiến ​​trúc thông qua công nghệ (tất nhiên là phiên bản 64 bit)  !
dùng2284570

IO-MMU là một vấn đề lớn - thiếu nó có nghĩa là bạn phải chiếm một lượng bộ nhớ thấp không tầm thường cho bộ đệm (64MB là mặc định hiện tại trên Linux). Intel sau đó đã giới thiệu một cái gì đó tương tự như VT-d và sử dụng nó cho một mức độ khó phân khúc sản phẩm - tuy nhiên độ tin cậy của mã (và trong một số trường hợp là silicon) có xu hướng dẫn đến việc nó không được sử dụng mặc định trên Linux cho bản gốc mục đích.
GreenReaper

8

Tại trang x86 của Wikipedia bạn có thể đọc

Vào năm 1999-2003, AMD đã mở rộng kiến ​​trúc 32 bit này thành 64 bit và gọi nó là x86-64 trong các tài liệu ban đầu và sau đó là AMD64. Intel đã sớm áp dụng các phần mở rộng kiến ​​trúc của AMD dưới tên IA-32e, sau này được đổi tên thành EM64T và cuối cùng là Intel 64.

Nói cách khác, sự khác biệt chủ yếu là tiếp thị. Có các phần mở rộng cụ thể của Intel và AMD cho tập lệnh, nhưng miễn là bạn đang viết chương trình trong không gian người dùng, bạn thường không cần phải biết sự khác biệt.


3
you don't generally need to know the differenceSai: ngay cả sự khác biệt nhỏ về hướng dẫn chung chung là rất quan trọng bugs.chromium.org/p/nativeclient/issues/detail?id=2010
user2284570

4
Sai: ngay cả sự khác biệt nhỏ trong hướng dẫn chung là rất quan trọng Để công bằng, (1), ông nói rằng bạn thường không cần phải biết những khác biệt này. Rõ ràng có những trường hợp cụ thể mà nó có thể quan trọng. (2) hầu hết chúng ta không viết một hộp cát cứng phải bảo vệ bất kỳ và tất cả các đường dẫn chỉ dẫn có sẵn.
Eric W
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.