Itanium thất bại vì VLIW cho khối lượng công việc ngày nay chỉ đơn giản là một ý tưởng khủng khiếp.
Một trong những bộ phim khoa học máy tính (tôi quên cái nào, thật đáng buồn khi các công cụ tìm kiếm thất bại) nói rằng "EPIC là một ý tưởng tuyệt vời cho đến khi họ nhận ra rằng các trình biên dịch cần thiết để làm cho nó không thể được viết ".
Đó là khá nhiều vấn đề về móng tay.
Để tính toán khoa học, nơi bạn nhận được ít nhất một vài chục hướng dẫn cho mỗi khối cơ bản, VLIW có thể hoạt động tốt. Có đủ hướng dẫn để tạo các gói tốt. Đối với khối lượng công việc hiện đại hơn, trong đó đôi khi bạn nhận được khoảng 6-7 hướng dẫn cho mỗi khối cơ bản, nó chỉ đơn giản là không (đó là trung bình, IIRC, cho SPEC2000). Trình biên dịch chỉ đơn giản là không thể tìm thấy các hướng dẫn độc lập để đưa vào các gói.
Bộ xử lý x86 hiện đại, ngoại trừ Intel Atom và tôi tin rằng AMD E-3 * /4 *, là tất cả các bộ vi xử lý không theo yêu cầu. Chúng duy trì một cửa sổ hướng dẫn động của khoảng 100 lệnh, và trong cửa sổ đó chúng thực hiện các lệnh bất cứ khi nào đầu vào của chúng trở nên sẵn sàng. Nếu nhiều hướng dẫn đã sẵn sàng để đi và chúng không cạnh tranh về tài nguyên, chúng sẽ đi cùng nhau trong cùng một chu kỳ.
Vậy điều này khác với VLIW như thế nào? Sự khác biệt chính đầu tiên giữa VLIW và out-of-order là bộ vi xử lý out-of-order có thể chọn hướng dẫn từ các khối cơ bản khác nhau để thực hiện cùng một lúc. Những hướng dẫn này được thực thi một cách suy đoán (dựa trên dự đoán chi nhánh, chủ yếu). Điểm khác biệt chính thứ hai là các bộ vi xử lý không theo thứ tự xác định các lịch trình này theo cách động (tức là, mỗi lệnh động được lập lịch độc lập; trình biên dịch VLIW hoạt động trên các lệnh tĩnh). Sự khác biệt chính thứ ba là việc triển khai các bộ vi xử lý không theo thứ tự có thể rộng như mong muốn, mà không thay đổi bộ lệnh (Intel Core có 5 cổng thực thi, các bộ xử lý khác có 4, v.v.).
Hiệu suất khôn ngoan với các thông số kỹ thuật tương tự (bộ nhớ cache, lõi, v.v.) chúng chỉ đánh bại crap từ Itanium.
Vậy tại sao một người mua Itanium ngay bây giờ? Vâng, lý do duy nhất thực sự là HP-UX. Nếu bạn muốn chạy HP-UX, đó là cách để làm điều đó ...
Nhiều nhà biên dịch không nhìn thấy nó theo cách này - họ luôn thích thực tế rằng Itanium mang lại cho họ nhiều việc phải làm hơn, đưa họ trở lại kiểm soát, vv Nhưng họ sẽ không thừa nhận nó đã thất bại như thế nào.
Bạn sẽ nhận được câu trả lời hay hơn tại serverfault.com, methinks. ;) –
Theo ý kiến của tôi nó rất "lập trình liên quan", bởi vì bất cứ điều gì chúng tôi chương trình được thực hiện bởi bộ xử lý-thingie bên trong máy. Vì vậy, bạn phải biết làm thế nào và tại sao nó hoạt động ít nhất một chút. –
Không thực sự. Toàn bộ PC là cần thiết cho lập trình, nhưng câu hỏi cấu hình PC thuộc về serverfault.com và không phải stackoverflow.com. – OregonGhost