ฉันอ่านประวัติของคอมพิวเตอร์และมาพร้อมกับโปรเซสเซอร์ IA-64 (Itanium) พวกเขาฟังดูน่าสนใจและฉันก็สับสนว่าทำไม Intel ถึงตัดสินใจทิ้งพวกเขา
ความสามารถในการเลือกคำสั่ง 2 อย่างที่คุณต้องการเรียกใช้ในรอบนั้นเป็นความคิดที่ดีโดยเฉพาะเมื่อเขียนโปรแกรมของคุณในชุดประกอบตัวอย่างเช่น bootloader ที่เร็วขึ้น
ผู้ลงทะเบียนหลายร้อยคนควรจะเชื่อมั่นในโปรแกรมเมอร์ชุดประกอบใด ๆ คุณสามารถจัดเก็บตัวแปรฟังก์ชั่นทั้งหมดในรีจิสเตอร์ได้ถ้ามันไม่เรียกฟังก์ชันอื่น
ความสามารถในการทำคำแนะนำเช่นนี้:
(qp) xor r1 = r2, r3 ; r1 = r2 XOR r3
(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3
เมื่อเทียบกับต้องทำ:
; 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
ฉันได้ยินมาว่าเป็นเพราะไม่มีการเปรียบเทียบย้อนหลัง x86 แต่เจ้าไม่สามารถแก้ไขได้โดยเพียงเพิ่มวงจร Pentium ลงไปและเพิ่มธงตัวประมวลผลที่จะเปลี่ยนเป็นโหมด Itanium (เช่นสลับไปยังโหมดป้องกันหรือโหมดยาว)
ทุกสิ่งที่ยอดเยี่ยมเกี่ยวกับมันจะทำให้พวกเขาก้าวกระโดดอย่างก้าวกระโดดไปข้างหน้าของ AMD
ความคิดใด ๆ
น่าเศร้าที่คุณต้องใช้คอมไพเลอร์ขั้นสูงในการทำเช่นนี้ หรือแม้แต่รุ่นเดียวต่อซีพียูเฉพาะรุ่น (เช่นรุ่นใหม่กว่าของ Itanium ที่มีคุณสมบัติพิเศษจะต้องใช้คอมไพเลอร์ที่แตกต่างกัน)
เมื่อฉันทำงานกับโครงการ WinForms (เป้าหมายมีเพียง. NET 2.0) ใน Visual Studio 2010 ฉันมีการรวบรวมเป้าหมายของ IA-64 ซึ่งหมายความว่ามี. NET runtime ที่สามารถรวบรวมสำหรับ IA-64 และ. NET runtime หมายถึง Windows นอกจากนี้คำตอบของแฮมิลตันยังกล่าวถึง Windows NT การมีระบบปฎิบัติการแบบเต็มเช่น Windows NT หมายความว่ามีคอมไพเลอร์ที่สามารถสร้างรหัสเครื่อง IA-64