อัพเดตไมโครโค้ด อีกทางเลือกหนึ่งในการปรับเปลี่ยน AMI BIOS เพื่อรองรับโปรเซสเซอร์ในการออกแบบ LGA771 โปรเซสเซอร์กลางที่ผลิตโดย AMD

หากในทางทฤษฎีชิปเซ็ตและมาเธอร์บอร์ด LGA 775 สามารถรองรับ XEON 771 ได้ แต่ BIOS ดั้งเดิมไม่รองรับและไม่มีการดัดแปลงใด ๆ คุณสามารถแก้ไข BIOS ได้ด้วยตัวเอง

สำคัญ

1. คุณทำการเปลี่ยนแปลงทั้งหมดกับเฟิร์มแวร์ BIOS (โดยปกติจะเป็นไฟล์ .ROM) ด้วยความเสี่ยงและอันตรายของคุณเอง ในกรณีที่เกิดข้อผิดพลาดจะได้รับ "อิฐ" ที่รับประกันจากเมนบอร์ด
2. ขนาดไฟล์ของเฟิร์มแวร์ดั้งเดิมและเวอร์ชันที่แก้ไขจะต้องตรงกับขนาดไบต์

3. อัพเดตเฟิร์มแวร์ ไฟล์ไบออสการกลับไปที่ชิปทำได้โดยใช้ยูทิลิตี้ที่เป็นกรรมสิทธิ์จากผู้พัฒนาเมนบอร์ดเท่านั้น (ต้องดาวน์โหลดจากเว็บไซต์ของผู้ผลิต)
4. ในด้านบน เมนบอร์ดอ่า BIOS นั้นมีโมดูลอัพเดตเฟิร์มแวร์ในตัว (เช่นยูทิลิตี้ EZ Flash 2 สำหรับ ASUS P5Q ในส่วนเครื่องมือ) - ตัวเลือกที่ดีที่สุด

วิธีที่ดีที่สุดในการทำคืออะไร:
1. ฉันยังควรค้นหาตัวเลือกสำเร็จรูปที่รองรับ XEON บนอินเทอร์เน็ตหรือไม่
2. ดาวน์โหลดเฟิร์มแวร์เวอร์ชันล่าสุดจากเว็บไซต์อย่างเป็นทางการและเพิ่มไมโครโค้ด?

อย่างที่คุณเห็น ตัวเลือกที่สองนั้นปลอดภัยกว่า ไม่ว่าในกรณีใด คุณจะดาวน์โหลดเฟิร์มแวร์ดั้งเดิมจากเว็บไซต์ของผู้ผลิตเมนบอร์ด เช่น รับประกันเวอร์ชันล่าสุดและไม่มีข้อผิดพลาด (แม่นยำยิ่งขึ้น - การแก้ไขข้อผิดพลาดที่พบก่อนหน้านี้ทั้งหมด) เมื่อดาวน์โหลดเวอร์ชันสำเร็จรูปจากแหล่งข้อมูลบุคคลที่สาม (ด้วยเหตุผลที่ชัดเจนจะไม่อยู่ในไซต์ดั้งเดิม) - คุณสามารถรับเวอร์ชันที่คดเคี้ยวและฆ่า BIOS ได้

ก่อนอื่น คุณสามารถประเมินการมีอยู่ของไมโครโค้ด XEON ในเฟิร์มแวร์ BIOS ได้

- รับอิมเมจ AMI BIOS ปัจจุบันผ่าน Universal BIOS Backup ToolKit 2.0
— ดูเนื้อหาของไฟล์ ROM ที่ได้รับผ่าน AMIBCP V 3.37

ตัวเลือกสำหรับไบออส AMI (บริษัท อเมริกัน เมกะเทรนด์)

1. ดาวน์โหลดเวอร์ชันล่าสุด ไบออสจากเว็บไซต์ของผู้ผลิตเมนบอร์ดของคุณ

3. ดาวน์โหลดไมโครโค้ดสำหรับโปรเซสเซอร์ XEON 771: lga771_microcodes

4. ค้นหา CPUID ของโปรเซสเซอร์ของคุณโดยใช้ ไอด้า64หรือโปรแกรมที่คล้ายกัน (ดูเหมือน cpu0001067Ah) ถ้า ไบออสจะถูกเย็บติดก่อนการติดตั้งโปรเซสเซอร์ จากนั้นให้ข้ามขั้นตอนนี้ไป

5. คลายไฟล์เก็บถาวร เอ็มเอ็มทูลและ lga771_ไมโครโค้ดและออกจากไฟล์ที่มีนามสกุล .binเฉพาะไฟล์ที่ขึ้นต้นตรงกับ CPUID ของคอมพิวเตอร์ของคุณ (เช่น cpu0001067a_plat00000044_ver00000a0b_date20100928.bin)

ถ้าเราไม่รู้ว่ารหัสอะไร เราก็จะเย็บทุกอย่าง

ก.เปิดตัวกันเลย เอ็มเอ็มทูล- กดปุ่ม (1) โหลดรอมและโหลด BIOS ล่าสุดสำหรับเมนบอร์ดของคุณลงในโปรแกรม หากคุณมี BIOS ล่าสุด คุณสามารถใช้ยูทิลิตี้นี้เพื่อรวมข้อมูลสำรอง BIOS จากพีซีของคุณและแก้ไขได้

บี.ไปที่แท็บ (2) แพทช์ซีพียูจากนั้นด้วยปุ่ม (3) เรียกดูให้เปิดไฟล์ .binสอดคล้องกับ CPUID ของคุณ

ค.ปล่อยให้ตัวเลือกเป็นค่าเริ่มต้น "แทรกข้อมูลแพทช์"และกดปุ่ม (4) นำมาใช้.

หลังจากอัพเดตด้วย BIOS ที่แก้ไขแล้ว คุณต้องรีเซ็ตการตั้งค่าผ่านปุ่มรีเซ็ตหรือจัมเปอร์หากเมนบอร์ดรองรับการรีเซ็ตดังกล่าวหรือโดยการถอดแบตเตอรี่ BIOS ออกสักสองสามนาที จากนั้นคอมพิวเตอร์จะรับรู้โปรเซสเซอร์ได้อย่างถูกต้องและทำงานได้ตามปกติ

ระบบอินพุตเอาต์พุตพื้นฐาน - ระบบพื้นฐานอินเทอร์เฟซอินพุต/เอาท์พุต ย่อว่า BIOS ชิปขนาดเล็กบนมาเธอร์บอร์ดซึ่งเป็นชิปตัวแรกที่ได้รับการควบคุมเมื่อเปิดพีซี ที่ให้ไว้: การตั้งค่าพื้นฐานพีซีกำลังตรวจสอบส่วนประกอบพีซีเมื่อเริ่มต้น...

ไม่มีความลับใดที่โปรเซสเซอร์เป็นเครื่องที่ควบคุมด้วยไมโครโปรแกรม และคำสั่งใด ๆ ของมันคือชุดคำสั่งไมโครที่แฟลชลงใน ROM โปรเซสเซอร์ระหว่างการผลิต ข้อผิดพลาดของไมโครโค้ดและข้อผิดพลาดของวงจร (errata) ที่เกิดขึ้นระหว่างการออกแบบอาจทำให้เกิดความเบี่ยงเบนจากข้อกำหนดของโปรเซสเซอร์และข้อผิดพลาดในการทำงาน เมื่อมีการเปิดตัวโปรเซสเซอร์ โดยปกติแล้วข้อมูลจำเพาะและรายการข้อผิดพลาดที่ตรวจพบจะถูกเผยแพร่

ทั้งหมด โปรเซสเซอร์อินเทลด้วยสถาปัตยกรรม P6 ซึ่งรวมถึงตระกูล Pentium Pro, Pentium II & III, Celeron, Pentium II & III Xeon และ Pentium II Overdrive มีคุณสมบัติที่โดดเด่นเช่น “ไมโครโค้ดที่ตั้งโปรแกรมใหม่ได้” โปรเซสเซอร์เหล่านี้มีความสามารถในการเปลี่ยนไมโครโค้ดเช่น เป็นไปได้ที่จะแก้ไขข้อผิดพลาดในการใช้งานซอฟต์แวร์และวงจรของโปรเซสเซอร์เฉพาะของตระกูล P6 และข้อผิดพลาดในตัวบางอย่างเกือบจะอยู่ในระดับฮาร์ดแวร์ ข้อผิดพลาดอาจปรากฏในขั้นตอนการออกแบบโปรเซสเซอร์ และแก้ไขได้โดยการเปลี่ยนไมโครโค้ด แต่ละตระกูลย่อย (PII, Celeron, PPro, Xeon) มีข้อกำหนด ด้วยการเปิดตัวโปรเซสเซอร์ใหม่แต่ละตัว Stepping (อุปกรณ์ทั้งหมดภายในนั้นเหมือนกันภายในกรอบการเบี่ยงเบนทางเทคโนโลยี) Intel จะเผยแพร่การอัปเดตข้อมูลจำเพาะซึ่งระบุข้อผิดพลาดที่ตรวจพบและแก้ไข (การเบี่ยงเบนจากข้อมูลจำเพาะ)

โดยหลักการแล้ว ข้อผิดพลาดเหล่านี้อาจทำให้ชีวิตยุ่งยากขึ้นได้ ซอฟต์แวร์ซึ่งใช้งานได้กับโปรเซสเซอร์ที่ "ชำรุด" เหล่านี้ (และผู้ใช้ ;-))

แน่นอนว่าทั้งหมดขึ้นอยู่กับข้อผิดพลาดเฉพาะ ในการกำจัดความน่าสะพรึงกลัวดังกล่าวจำเป็นต้องมีการเปลี่ยนแปลงไมโครโค้ดของโปรเซสเซอร์ซึ่งเป็นผลมาจากข้อผิดพลาดที่สามารถกำจัดได้อย่างสมบูรณ์หรือสามารถบรรเทาผลที่ตามมาของการมีอยู่ได้

อย่างไรก็ตาม การสนับสนุน BIOS สำหรับโปรเซสเซอร์ที่ออกใหม่นั้นถูกกำหนดโดยเฉพาะอย่างยิ่งเมื่อมีเฟิร์มแวร์ที่เกี่ยวข้อง ตัวอย่างเช่น เมื่อ Celeron ตัวแรกปรากฏขึ้น เป็นเพราะขาดเวอร์ชันไมโครโค้ดที่เหมาะสมซึ่งทำให้ระบบทำงานไม่ถูกต้องกับโปรเซสเซอร์นี้

ไมโครโค้ดจะอัพเดตตัวเองเป็นบล็อกข้อมูลขนาด 2 กิโลไบต์ที่แฟลชอยู่ใน BIOS ของระบบ มีบล็อกดังกล่าวสำหรับโปรเซสเซอร์แต่ละตัวที่ก้าวมาจากตระกูล P6 Intel เป็นผู้จัดหาไมโครโค้ดเวอร์ชันล่าสุดให้กับผู้ผลิต BIOS ชั้นนำ ฐานข้อมูลการอัพเดตได้รับการอัปเดตและเปลี่ยนแปลงเมื่อมีโมเดลใหม่และเวอร์ชันไมโครโค้ดพร้อมใช้งาน Intel แนะนำให้อัพเดตเวอร์ชันไมโครโค้ดโดยใช้ยูทิลิตี้ของมันเมื่อติดตั้งโปรเซสเซอร์ใหม่บนเมนบอร์ดหรือหน่วยความจำแฟลชแบบแฟลชเพื่อให้แน่ใจว่า BIOS มีข้อมูลล่าสุด เวอร์ชันล่าสุดไมโครโค้ด โปรแกรมนี้กำหนดโปรเซสเซอร์ที่ใช้งานอยู่ (โดยใช้ CPUID) และค้นหาการอัพเดตที่เกี่ยวข้องในฐานข้อมูล หากพบไมโครโค้ดเวอร์ชันใหม่ ยูทิลิตี้นี้จะกะพริบโค้ดใน BIOS ในเครื่องโดยไม่ส่งผลกระทบต่อพื้นที่อื่น ที่. ไม่จำเป็นต้องตั้งโปรแกรมแฟลชทั้งหมดใหม่เพื่อรองรับ CPU ใหม่เหมือนเช่นเคย Intel จะโพสต์อัพเดตฐานข้อมูลบนเว็บไซต์เป็นระยะๆ

ฐานข้อมูลล่าสุดที่เรามีคือรุ่นปรับปรุง 5.01 และมีเวอร์ชันไมโครโค้ดต่อไปนี้:

โปรเซสเซอร์โปรเซสเซอร์ก้าวการปรับปรุงไมโครโค้ด Rev
โปรเซสเซอร์ Pentium III0x6720x04
โปรเซสเซอร์ Pentium III0x6730x02
โปรเซสเซอร์ Pentium III Xeon0x6720x21
โปรเซสเซอร์ Pentium III Xeon0x6730x22
โปรเซสเซอร์ Pentium II0x6330x34
โปรเซสเซอร์ Pentium II0x6340x35
โปรเซสเซอร์ Pentium II0x6500x32
โปรเซสเซอร์ Pentium II0x6510x30
โปรเซสเซอร์ Pentium II0x6520x14
โปรเซสเซอร์ Pentium II0x6530x01
โปรเซสเซอร์ Pentium II Xeon0x6520x29
โปรเซสเซอร์ Pentium II Xeon0x6530x04
โปรเซสเซอร์ Intel Celeron0x6500x32
โปรเซสเซอร์ Intel Celeron0x6510x30
โปรเซสเซอร์ Intel Celeron0x6600x09
โปรเซสเซอร์ Intel Celeron0x6650x02
โปรเซสเซอร์ Pentium II OverDrivex16320x02
โปรเซสเซอร์ Pentium Pro0x6120xC6
โปรเซสเซอร์ Pentium Pro0x6160xC6
โปรเซสเซอร์ Pentium Pro0x6170xC6
โปรเซสเซอร์ Pentium Pro0x6190xD2

คุณสามารถดาวน์โหลดยูทิลิตี้เวอร์ชันล่าสุดที่แก้ไขไมโครโค้ดได้โดยตรงจากที่นี่: pupdt501.exe (115 Kb)

สามารถดาวน์โหลดฐานข้อมูลเก่า (PEP15.PDB) ได้จากที่นี่: pupdt461.exe (111 KB)

หลังจากเสร็จสิ้นยูทิลิตี้ คุณจะต้องปิดเครื่องคอมพิวเตอร์ การอัพเดตจะถูกดาวน์โหลดไปยังโปรเซสเซอร์ระหว่าง POST ทุกครั้งที่ระบบเริ่มทำงาน โดยปกติแล้ว เพื่อให้ยูทิลิตี้ทำงานได้ คุณต้องอนุญาตให้เขียนหน่วยความจำแฟลชใหม่โดยใช้จัมเปอร์หรือในการตั้งค่า BIOS ต้องเปิดโปรแกรมจาก DOS เปล่า

อย่างไรก็ตาม ตัวเลือกที่เหมาะสมที่สุดดังกล่าวกำหนดให้ BIOS รองรับ API พิเศษสำหรับการอัปเดตไมโครโค้ดของโปรเซสเซอร์ ซึ่งจะทำให้ยูทิลิตี้การอัพเดตที่ใช้ BIOS สามารถโหลดไมโครโค้ดใหม่ได้ หากเวอร์ชันของ BIOS ระบบที่ใช้งานอยู่ไม่รองรับ API แสดงว่าผู้ใช้ต้องดำเนินการดังกล่าว ไม่มีทางเลือกอื่นนอกจากต้องได้รับเวอร์ชันใหม่จากผู้ผลิตเมนบอร์ด อย่างไรก็ตาม มันไม่ใช่เรื่องง่ายนักหากไม่ใช่เป็นไปไม่ได้ บ่อยครั้งหลังจากการผลิตเมนบอร์ดรุ่นใดรุ่นหนึ่งสิ้นสุดลง ผู้ผลิตจะหยุดปล่อยการอัปเดต BIOS แต่ในขณะเดียวกันอาจมีโปรเซสเซอร์ใหม่วางจำหน่ายและผู้ใช้อาจมีความต้องการติดตั้ง CPU ใหม่ในระบบของคุณ

อย่างไรก็ตาม ในกรณีนี้ ยูทิลิตี้นี้สามารถดาวน์โหลดการแก้ไขข้อผิดพลาดทางเทคนิคไปยังโปรเซสเซอร์ได้โดยตรง ในกรณีนี้ ยูทิลิตี้ทำให้เกิดการโหลด ระบบปฏิบัติการทันทีหลังจากอัพเดตไมโครโค้ด อย่างไรก็ตาม การอัพเดตไมโครโค้ดจะหายไปหากระบบซอฟต์หรือรีบูตอย่างหนัก

คำถามเกิดขึ้น อะไรคือผลที่ตามมาของการอัพเดตเฟิร์มแวร์ด้วยตัวเอง? ก่อนอื่นคุณต้องแน่ใจว่าคุณต้องการมันจริงๆ หากเฟิร์มแวร์เวอร์ชันเก่าและผู้ผลิตมาเธอร์บอร์ดไม่มี BIOS เวอร์ชันใหม่ แต่ที่สำคัญที่สุดคือคุณกำลังเผชิญกับการทำงานที่ไม่เสถียรของแอปพลิเคชั่นบางตัวและคุณหวังว่าการเปลี่ยนไมโครโค้ดของโปรเซสเซอร์จะช่วยคุณได้ เฉพาะในกรณีนี้เท่านั้นที่สมเหตุสมผลที่จะเปลี่ยนเฟิร์มแวร์ด้วยตัวเอง สิ่งนี้เต็มไปด้วยอะไร - ในความคิดของฉันไม่มีอะไรอันตราย ประการแรก อย่าลืมว่าการดาวน์โหลดการอัปเดตไมโครโค้ดไปยังโปรเซสเซอร์นั้นถูกใช้ใน BIOS ทั้งหมดบนบอร์ด P6 มาเป็นเวลานาน (หลายคนเคยเห็นตัวเลือกการอัปเดตไมโครโค้ดลึกลับ: เปิด/ปิดใช้งานในการตั้งค่า) และไม่มีอะไร! ทุกอย่างทำงานได้

นี่เป็นการเน้นย้ำถึงความจำเป็นในการใช้งานอีกครั้ง ใครจะรู้ว่าสิ่งต่างๆ จะเป็นอย่างไรหากไม่มีการอัปเดตนี้! ข้อแตกต่างเพียงอย่างเดียวคือก่อนหน้านี้ไมโครโค้ดได้รับการอัพเดตด้วยการติดตั้งแฟลชเวอร์ชันใหม่ แต่ตอนนี้ไม่สามารถตั้งโปรแกรมเนื้อหาทั้งหมดของ BIOS ใหม่ได้ แต่มีเพียงบางส่วนเท่านั้น

ของฉัน ประสบการณ์ส่วนตัวจนถึงขณะนี้การทำงานกับโปรแกรมนี้ถูก จำกัด ไว้ที่ 7 กรณีซึ่งเป็นไปได้ที่จะอัปเดตไมโครโค้ดบนเมนบอร์ดเพียงตัวเดียว (Abit LX6 พร้อม PII 233) ในกรณีอื่น BIOS มีไมโครโค้ดเวอร์ชันที่อัปเดตอยู่แล้ว นอกจากนี้เรายังไม่พบ BIOS ที่ไม่รองรับการอัพเดตไมโครโค้ด

สำหรับความเป็นไปได้ที่คล้ายกันในการอัปเดตไมโครโค้ดในโปรเซสเซอร์จากผู้ผลิตรายอื่น (AMD, Cyrix) ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับปัญหานี้ แต่ฉันเกือบจะแน่ใจว่า CPU เหล่านี้มีความสามารถคล้ายกันในการเปลี่ยนไมโครโค้ด

ที่จริงแล้ว คุณสามารถค้นหาวิธีการ อุปกรณ์ และไมโครโค้ดดั้งเดิมได้ (ตามคำแนะนำของ AMI โดยตรง) และในกรณีส่วนใหญ่ การใช้วิธีนี้จะไม่ก่อให้เกิดปัญหาใด ๆ และไม่มีข้อผิดพลาด แต่ในทางปฏิบัติของฉัน ฉันพบปัญหาต่อไปนี้เป็นประจำ:

เหล่านั้น. มีปัญหาการขาดแคลนซ้ำซาก พื้นที่ว่างภายในภาพ เมื่อคุณแก้ไข BIOS สำหรับโปรเซสเซอร์เฉพาะสำหรับตัวคุณเอง คุณสามารถเพิกเฉยต่อสิ่งนี้ได้เพราะ คุณสามารถโหลดไมโครโค้ดเพียงตัวเดียวสำหรับโปรเซสเซอร์ของคุณโดยเฉพาะ หรือลบไมโครโค้ดเก่าบางส่วนเพื่อเพิ่มพื้นที่ว่าง แต่เมื่อคุณแก้ไขด้วยสตรีม คุณจะต้องมองหาวิธีแก้ปัญหาอื่น ซึ่งถือเป็นการประนีประนอม

เพื่อเป็นการประนีประนอม ฉันเลือกวิธีแก้ปัญหาต่อไปนี้ - ยอมรับ เวอร์ชันล่าสุดไมโครโค้ดสำหรับโปรเซสเซอร์ทั้งหมดของรุ่น CORE ในทุกการออกแบบ (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) และแทนที่ทุกสิ่งที่มาก่อนด้วย ชุดไมโครโค้ดกลายเป็นดังนี้:

ปริมาตรของชุดนี้มีเพียง 76 กิโลไบต์เท่านั้น ไฟล์นี้ได้รับจากการรวมไฟล์เหล่านี้:

cpu00010676_plat00000001_ver0000060f_date20100929.bin
cpu00010676_plat00000004_ver0000060f_date20100929.bin
cpu00010676_plat00000010_ver0000060f_date20100929.bin
cpu00010676_plat00000040_ver0000060f_date20100929.bin
cpu00010677_plat00000010_ver0000070a_date20100929.bin
cpu0001067a_plat00000011_ver00000a0b_date20100928.bin
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
cpu000006f2_plat00000001_ver0000005d_date20101002.bin
cpu000006f6_plat00000001_ver000000d0_date20100930.bin
cpu000006f6_plat00000004_ver000000d2_date20101001.bin
cpu000006f7_plat00000010_ver0000006a_date20101002.bin
cpu000006f7_plat00000040_ver0000006b_date20101002.bin
cpu000006fb_plat00000001_ver000000ba_date20101003.bin
cpu000006fb_plat00000004_ver000000bc_date20101003.bin
cpu000006fb_plat00000010_ver000000ba_date20101003.bin
cpu000006fb_plat00000040_ver000000bc_date20101003.bin
cpu000006fd_plat00000001_ver000000a4_date20101002.bin

ขั้นตอนการปรับเปลี่ยนเองก็เปลี่ยนแปลงไปเล็กน้อยและหากไม่ง่ายกว่านี้ก็เร็วขึ้น:

ขั้นตอนที่ 1— เปิดอิมเมจ BIOS ในโปรแกรม MMTool:



ขั้นตอนที่ 2— หากต้องการตรวจสอบให้ไปที่แท็บสุดท้าย (CPU PATCH) และดูจำนวนไมโครโค้ด ตัวอย่างเช่นมี 31 รายการ:

ขั้นตอนที่ 3— ไปที่แท็บแทนที่แล้วมองหารายการ “P6 Micro Code” ที่อยู่ในรายการ:

ขั้นตอนที่ 4— เมื่อเลือกรายการ "P6 Micro Code" แล้ว ให้กดปุ่ม Ikshtsyu เลือกไฟล์ ncpucode.bin ที่อธิบายไว้ข้างต้น และแทนที่ด้วยปุ่มแทนที่:





ขั้นตอนที่ 5— หากต้องการตรวจสอบให้ไปที่แท็บสุดท้าย (CPU PATCH) และดูจำนวนไมโครโค้ด หลังจากเปลี่ยนไมโครโค้ดแล้ว เหลือ 17 เวอร์ชันล่าสุด:

ไม่มีความแตกต่างพื้นฐานกับขั้นตอนการแก้ไขที่อธิบายไว้ใน delidded.com ในกรณีส่วนใหญ่ผลลัพธ์จะไม่เหมือนกันอย่างแน่นอน แต่โปรเซสเซอร์จะได้รับไมโครโค้ดที่จำเป็น ในแง่บวกเชิงอัตวิสัย ฉันเพียงต้องการดึงความสนใจไปที่ความจริงที่ว่าไมโครโค้ดสำหรับโปรเซสเซอร์ปัจจุบันทั้งหมดได้รับการประกันว่าจะได้รับการอัปเดต ไม่ว่าจะเป็น "พลเรือน" หรือ "เซิร์ฟเวอร์" และในทางปฏิบัติแล้วไม่มีความเสี่ยงที่จะได้รับข้อความเกี่ยวกับ ขาดพื้นที่ แม้ว่าในทางปฏิบัติของฉันแม้สำหรับชุดไมโครโค้ดดังกล่าวก็ยังมีพื้นที่ไม่เพียงพอสองสามครั้ง แต่นี่ก็เป็นกับ BIOS สำหรับบอร์ด ECS P4M900T-M และ ECS P4M900T-M2 ซึ่งโดยทั่วไปเข้ากันได้กับ Xeon E5450

ตามธรรมเนียมแล้ว ฉันเผยแพร่ลิงก์ไปยังไฟล์เก็บถาวรพร้อมเครื่องมือ - (zip, 234KB) ไฟล์เก็บถาวรมีไฟล์ปฏิบัติการ MMTOL.exe(เวอร์ชัน 3.22 BKMOD) ไฟล์ที่มีไมโครโค้ดสำหรับโปรเซสเซอร์ 45/65nm ทั้งหมดของรุ่น core/xeon ncpucode.binรวมถึงสองไฟล์ 45nm.binและ 65nm.binด้วยไมโครโค้ดสำหรับโปรเซสเซอร์ 45 นาโนเมตรเท่านั้น และสำหรับ 65 นาโนเมตรเท่านั้น การใช้ไฟล์เหล่านี้มีประโยชน์ในกรณีที่จำเป็นต้องเพิ่มพื้นที่ว่างใน BIOS เช่นสำหรับเฟิร์มแวร์ใหม่ของคอนโทรลเลอร์ เครือข่าย ดิสก์ ฯลฯ

!หมายเหตุ: ทั้งไฟล์ ncpucode.bin หรือไฟล์ 45nm.bin/65nm.bin ไม่รองรับโปรเซสเซอร์ Pentium 4, Celeron (ไม่มีตัวอักษรต่อท้าย), Pentium D, Celeron D และ Xeon W (เช่น Xeon 5080) เหล่านี้คือโปรเซสเซอร์รุ่น NetBrust

ตั้งแต่ต้นเดือนมกราคม เป็นเรื่องยากที่จะพลาดข่าวสารเกี่ยวกับช่องโหว่ของฮาร์ดแวร์ Spectre และ Meltdown ซึ่งกลายเป็นหัวข้อที่จริงจังและครอบคลุมมาก แม้ว่าผู้ผลิตจะตระหนักถึงปัญหาเหล่านี้ตั้งแต่ฤดูร้อนที่แล้ว แต่ส่วนใหญ่ดูเหมือนจะเริ่มตอบสนองหลังจากผู้เชี่ยวชาญเปิดเผยรายละเอียดต่อสาธารณะแล้วเท่านั้น ทีม Googleโครงการศูนย์

ตัวอย่างเช่น ย้อนกลับไปในเดือนมกราคม ท่ามกลางแพทช์อื่นๆ Intel ได้เปิดตัวการอัปเดตไมโครโค้ดเพื่อต่อต้าน Spectre สำหรับ Broadwell, Haswell, Skylake, ทะเลสาบคาบีและ คอฟฟี่เลค- แต่เกือบจะในทันทีก็ชัดเจนว่าพวกเขานำไปสู่ความล้มเหลวและ ในตอนแรก Intel กล่าวว่าปัญหาดังกล่าวส่งผลต่อชิป Broadwell และ Haswell เท่านั้น แต่ต่อมาได้รับทราบถึงการมีอยู่ของข้อบกพร่องในคอมพิวเตอร์ที่ใช้โปรเซสเซอร์ Skylake, Kaby Lake และ Coffee Lake และพันธมิตรและผู้ใช้จะงดเว้นการติดตั้งแพตช์ในตอนนี้ ในที่สุดในช่วงต้นเดือนกุมภาพันธ์ ไมโครโค้ดเวอร์ชันได้รับการแก้ไขแล้ว แต่สำหรับชิปผู้บริโภคบนมือถือและเดสก์ท็อปของตระกูล Skylake เท่านั้น

หลังจากหนึ่งเดือนของการทดสอบและทดสอบแพทช์อย่างเข้มข้นโดย Intel และพันธมิตรก็ถึงเวลาสำหรับโปรเซสเซอร์ปัจจุบันอื่น ๆ ไม่มากก็น้อย: การอัปเดตไมโครโค้ดได้รับการเผยแพร่สำหรับชิปที่ใช้สถาปัตยกรรม Kaby Lake และ Coffee Lake รวมถึง Skylake - แพลตฟอร์มที่ใช้ซึ่งไม่ได้รับผลกระทบจากการอัปเดตครั้งก่อน เรากำลังพูดถึงโปรเซสเซอร์ Intel Core i รุ่นที่ 6, 7 และ 8 รวมถึงตระกูล Core X, Xeon Scalable และ Xeon D ล่าสุด

เวอร์ชันไมโครโค้ดใหม่จะพร้อมใช้งานในกรณีส่วนใหญ่ผ่านการเปิดตัวเฟิร์มแวร์ใหม่โดย OEM สำหรับเมนบอร์ดและแล็ปท็อป Intel ยังคงสนับสนุนให้ผู้คนอัปเดตระบบของตนอย่างต่อเนื่อง รุ่นปัจจุบันและยังได้เผยแพร่เอกสารที่อธิบายสถานะของการแก้ไขไมโครโค้ดที่คล้ายกันสำหรับผลิตภัณฑ์อื่นๆ รวมถึงชิปรุ่นก่อนๆ ที่เริ่มต้นด้วย 45 nm Core 2 สำหรับชิปเหล่านี้บางตัว กำลังมีการวางแผนแพตช์สำหรับชิปอื่นๆ ที่อยู่ในนั้น ดำเนินการทดสอบล่วงหน้าสำหรับคนอื่นๆ - มีอยู่แล้วในรูปแบบเวอร์ชันเบต้า โดยปกติแล้ว ยิ่งสถาปัตยกรรมเก่ามากเท่าไรก็ยิ่งได้รับเฟิร์มแวร์ป้องกันสเปกตรัมในภายหลังเท่านั้น อย่างไรก็ตาม การอัปเดตไมโครโค้ดสำหรับสถาปัตยกรรม Sandy Bridge, Ivy Bridge, Haswell และ Broadwell ในปัจจุบันไม่มากก็น้อยอยู่ในการทดสอบเบต้าแล้ว นอกจากนี้ ชิป Atom จำนวนหนึ่งและแม้แต่ตัวเร่งความเร็ว Xeon Phi ก็ได้รับแพตช์แล้ว

Intel เล่าว่ามีวิธีอื่นในการต่อสู้กับช่องโหว่ที่ค้นพบในหน่วยการทำนายสาขาในโปรเซสเซอร์สมัยใหม่ ตัวอย่างเช่น Retpoline ซึ่งพัฒนาโดย Google เทียบกับ Spectre CVE-2017-5715 (การฉีดเป้าหมายสาขาหรือการฉีดเป้าหมายเข้าไปในสาขา) สำหรับผู้ที่สนใจข้อมูลเพิ่มเติมเกี่ยวกับ Retpoline และวิธีการทำงาน บริษัทได้เผยแพร่รายงานทางเทคนิคพิเศษ

การอัปเดตไมโครโค้ดป้องกัน Specter ของ Intel จะเริ่มเปิดตัวในรูปแบบของเฟิร์มแวร์ BIOS ใหม่สำหรับมาเธอร์บอร์ดต่างๆ ในอีกไม่กี่วันและสัปดาห์ข้างหน้า ฉันสงสัยว่าพวกเขาจะมีผลกระทบเพิ่มเติมต่อการเสื่อมประสิทธิภาพของระบบปลายทางหรือไม่?

โปรเซสเซอร์สมัยใหม่เป็นอุปกรณ์ที่ซับซ้อนซึ่งอาจมีข้อบกพร่องได้ นอกจากนี้ แทนที่จะดำเนินการคำสั่ง x86 โดยตรง ตัวประมวลผล x86 สมัยใหม่จะมีโค้ดภายในที่ใช้การรองรับชุดคำสั่ง x86 รหัสภายในเรียกว่าไมโครโค้ด สามารถอัปเดตไมโครโค้ดเพื่อแก้ไขหรือลดข้อบกพร่องของ CPU ได้

ข้อบกพร่องของ CPU บางอย่างอาจทำให้ Firefox ขัดข้อง ตัวอย่างเช่น เป็นที่ทราบกันว่า Firefox 57 และใหม่กว่าอาจขัดข้องใน CPU Broadwell-U ที่มีไมโครโค้ดเก่าเป็นครั้งคราว ในลักษณะที่ไม่พบในไมโครโค้ด Broadwell-U เวอร์ชันใหม่กว่า

สามารถโหลดการอัพเดตไมโครโค้ดลงใน CPU ได้โดยใช้เฟิร์มแวร์ (โดยปกติจะเรียกว่า BIOS แม้กระทั่งบนคอมพิวเตอร์ที่มีเฟิร์มแวร์ UEFI ในทางเทคนิคแทนที่จะเป็น BIOS แบบเก่า) หรือโดยระบบปฏิบัติการ การอัปเดตไมโครโค้ดจะไม่คงอยู่ในระหว่างการรีบูต ดังนั้นในกรณีของระบบดูอัลบูต หากการอัปเดตไมโครโค้ดไม่ได้ถูกส่งผ่าน BIOS ระบบปฏิบัติการทั้งสองจะต้องจัดให้มีการอัปเดต

หากต้องการมีระบบที่ทันสมัยบน Mac ให้ใช้การอัพเดทระบบ OS X ทั้งหมดและการอัพเดทเฟิร์มแวร์ของ Apple ที่นำเสนอในบานหน้าต่างการอัพเดทของ แอพสโตร์แอป.

หากต้องการอนุญาตให้ Windows โหลดไมโครโค้ดที่อัปเดตลงบน CPU โปรดตรวจสอบให้แน่ใจ วินโดวส์อัพเดตเปิดใช้งานและตั้งค่าให้ติดตั้งการอัปเดต

หากต้องการดูสถาปัตยกรรมไมโครโปรเซสเซอร์และไมโครโค้ดที่ใช้งานอยู่ ให้เรียกใช้คำสั่ง reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 ในพร้อมท์คำสั่งของ Windows - คุณสามารถเปิดพรอมต์คำสั่งโดยการกด Windows + R พิมพ์ cmd แล้วกด Return ) บรรทัดที่ชื่อ "VendorIdentifier" จะแสดงผู้จำหน่าย CPU (GenuineIntel สำหรับ Intel หรือ AuthenticAMD สำหรับ AMD) บรรทัดที่มีป้ายกำกับว่า "ตัวระบุ" จะให้สถาปัตยกรรมไมโครเป็นตัวเลขสามตัว ได้แก่ "ครอบครัว" "แบบจำลอง" และ "ก้าว" สิ่งเหล่านี้เกี่ยวข้องกับการระบุว่าจุดบกพร่องของ CPU เฉพาะอาจเกี่ยวข้องกับ CPU ในคอมพิวเตอร์ของคุณหรือไม่ บรรทัดที่ชื่อว่า "Update Revision" แสดงการแก้ไขไมโครโค้ดปัจจุบัน (สำหรับสถาปัตยกรรมไมโครโดยเฉพาะ) โดยมีศูนย์ทั้งสองด้าน ตัวอย่างเช่น อัปเดตการแก้ไข REG_BINARY 000000001E000000 หมายความว่าการแก้ไขเป็น 1E (เลขฐานสิบหก) บรรทัดที่มีข้อความว่า "การแก้ไขการอัปเดตก่อนหน้า" แสดงการแก้ไขไมโครโค้ดที่โหลดจาก BIOS

หากผู้จำหน่ายคือ GenuineIntel ตระกูลคือ 6 รุ่นคือ 61 และ Stepping คือ 4 เพื่อหลีกเลี่ยงไม่ให้เกิดปัญหากับ Firefox 57 หรือใหม่กว่า การแก้ไขไมโครโค้ดต้องเป็น 1A หรือสูงกว่า

การอัพเดตไมโครโค้ดจะถูกใช้งานเป็นค่าเริ่มต้นหรือไม่นั้นขึ้นอยู่กับการแจกจ่าย Linux และอาจแตกต่างกันสำหรับ CPU ของ Intel และ AMD

  • ในการเผยแพร่บน Debian รวมถึง Ubuntu การอัปเดตไมโครโค้ดสำหรับโปรเซสเซอร์ Intel จัดทำโดยแพ็คเกจ Intel-Microcode และการอัพเดตไมโครโค้ดสำหรับโปรเซสเซอร์ AMD จัดทำโดยแพ็คเกจ amd64-microcode
  • บน Arch การอัปเดตไมโครโค้ดของ AMD จะถูกติดตั้งตามค่าเริ่มต้น แต่การอัปเดตไมโครโค้ดของ Intel จำเป็นต้องมีขั้นตอนพิเศษ
  • บน Fedora การอัปเดตไมโครโค้ดจะถูกติดตั้งตามค่าเริ่มต้น

หากต้องการดูสถาปัตยกรรมไมโครโปรเซสเซอร์และไมโครโค้ดที่ใช้งานอยู่ ให้รันคำสั่ง less /proc/cpuinfo ในเทอร์มินัล บรรทัดที่มีป้ายกำกับ "vendor_id" แสดงผู้จำหน่าย CPU (GenuineIntel สำหรับ Intel หรือ AuthenticAMD สำหรับ AMD) สถาปัตยกรรมไมโครถูกกำหนดเป็นตัวเลขสามตัวบนบรรทัดที่มีป้ายกำกับว่า "ตระกูล cpu" "รุ่น" และ "ก้าว" สิ่งเหล่านี้เกี่ยวข้องกับการระบุว่าจุดบกพร่องของ CPU เฉพาะอาจเกี่ยวข้องกับ CPU ในคอมพิวเตอร์ของคุณหรือไม่ บรรทัดที่มีข้อความว่า "ไมโครโค้ด" จะแสดงหมายเลขการแก้ไขไมโครโค้ด (สำหรับสถาปัตยกรรมไมโครโดยเฉพาะ) ในรูปแบบเลขฐานสิบหก