Tôi đã đọc về lịch sử của máy tính và tôi đã đi cùng với bộ xử lý IA-64 (Itanium). Chúng nghe có vẻ rất thú vị và tôi đã bối rối không biết tại sao Intel lại quyết định bỏ chúng.
Khả năng chọn rõ ràng 2 hướng dẫn bạn muốn chạy trong chu trình đó là một ý tưởng tuyệt vời, đặc biệt là khi viết chương trình của bạn trong cụm, ví dụ, bộ tải khởi động nhanh hơn.
Hàng trăm thanh ghi nên có sức thuyết phục đối với bất kỳ lập trình viên lắp ráp nào. Về cơ bản, bạn có thể lưu trữ tất cả các biến chức năng trong các thanh ghi nếu nó không gọi bất kỳ biến nào khác.
Khả năng làm hướng dẫn như thế này:
(qp) xor r1 = r2, r3 ; r1 = r2 XOR r3
(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3
so với việc phải làm:
; eax = r1
; ebx = r2
; ecx = r3
mov eax, ebx ; first put r2 into r1
xor eax, ecx ; then set r1 equivalent to r2 XOR r3
mov eax, (imm32) ; first put (imm32) into r1
xor eax, ecx ; then set r1 equivalent to (imm32) XOR r3
Tôi nghe nói là do không có khả năng so sánh ngược x86, nhưng không thể sửa được bằng cách chỉ thêm mạch Pentium vào nó và chỉ cần thêm một cờ xử lý sẽ chuyển nó sang chế độ Itanium (như chuyển sang chế độ Bảo vệ hoặc Dài)
Tất cả những điều tuyệt vời về nó sẽ chắc chắn đưa họ một bước nhảy vọt trước AMD.
Có ý kiến gì không?
Đáng buồn thay, điều này có nghĩa là bạn sẽ cần một trình biên dịch rất tiên tiến để làm điều này. Hoặc thậm chí một mô hình cụ thể của CPU. (Ví dụ: phiên bản mới hơn của Itanium có tính năng bổ sung sẽ yêu cầu trình biên dịch khác nhau).
Khi tôi đang làm việc với dự án WinForms (mục tiêu chỉ có .NET 2.0) trong Visual Studio 2010, tôi đã có một mục tiêu biên dịch của IA-64. Điều đó có nghĩa là có một thời gian chạy .NET có thể được biên dịch cho IA-64 và thời gian chạy .NET có nghĩa là Windows. Thêm vào đó, câu trả lời của Hamilton đề cập đến Windows NT. Có một hệ điều hành hoàn chỉnh như Windows NT có nghĩa là có một trình biên dịch có khả năng tạo mã máy IA-64.