Một điều tôi thiếu hiểu biết là làm thế nào để mã được biên dịch cho một CPU Intel hoạt động trên một CPU AMD.Tại sao các ứng dụng Off-the-shelf hoạt động trên cả bộ vi xử lý Intel và AMD?
Sự hiểu biết cơ sở của tôi là nếu bạn biên dịch mã C, ví dụ, trình biên dịch sẽ chuyển mã nguồn thành ngôn ngữ máy sẽ có hướng dẫn cho một bộ xử lý cụ thể. Vì vậy, bạn cần biên dịch với trình biên dịch cho bất kỳ nền tảng nào bạn muốn ứng dụng của mình sử dụng. Tại sao bạn không yêu cầu một trình biên dịch cho AMD so với Intel, và phải mua phần mềm cho một bộ xử lý cụ thể?
Tôi biết rằng bộ vi xử lý AMD và bộ vi xử lý Intel chia sẻ một số khả năng tương thích trong các hướng dẫn x86 cũ hơn; những gì tôi muốn biết là làm thế nào để họ làm điều đó? Ý tôi là, không giống như AMD hay Intel đang gọi nhau và nói với nhau về bí mật thương mại của họ, vậy làm thế nào họ có thể tạo ra những bộ chỉ dẫn tương thích?
Mọi khả năng tương thích vẫn dựa trên tập lệnh 386, với một loạt các câu lệnh như "NẾU CPU AMD, làm điều này ELSE IF INTEL làm điều đó"?
Vì vậy, cùng với câu trả lời của bdonlan .. bộ hướng dẫn được công bố bởi Intel hoặc AMD, thì bộ kia tạo ra một con chip hỗ trợ cùng (hoặc một số phần mở rộng của chúng) của tập lệnh đó? Sự khác biệt sau đó nằm trong phần thực hiện phần cứng cụ thể của các hướng dẫn đó. Điều đó có đúng không? – romandas
@romandas: Vâng, sự hiểu biết của bạn là chính xác. Các nhà sản xuất chip ghi lại bộ hướng dẫn, cho phép người khác sao chép nó. – Zifre
Tôi đề nghị thêm thông tin đó vào câu trả lời của bạn, hoặc có bdonlan thêm thông tin của bạn vào của họ, vì vậy tôi có thể chấp nhận câu trả lời đã hợp nhất là câu trả lời cuối cùng. – romandas