ดังที่ฉันเขียนในคำตอบของฉันสำหรับคำถามนั้นภูมิปัญญาพื้นบ้านที่ได้รับในเรื่องนี้ - อย่างน่าเสียดายที่คำอธิบายอื่น ๆ ที่นั่น (และที่อื่นใน SuperUser) - ติดอยู่ในโลกตามที่มันเป็นรอบปี 1991 แม้จะมีความมั่งคั่งของการอ้างอิงทางเทคนิค ตอนนี้มันเป็นอย่างไร
คุณคงไม่สับสนถ้าคุณอ่านคำตอบของฉันเพราะคุณจะไม่ถามเกี่ยวกับ "BIOS ที่โหลดจาก ROM" ในตอนแรก
"ชิพ BIOS" ของคุณไม่ใช่ ROM; ไม่มีรหัสเครื่องระหว่างการเริ่มต้นโปรเซสเซอร์และคำสั่งแรกในเฟิร์มแวร์ และ "M" ทั้งใน "RAM" และ "ROM" หมายถึง "หน่วยความจำ"
ขณะที่ผมเขียนก่อนในเครื่องคอมพิวเตอร์ที่ทันสมัยเฟิร์มเครื่องที่จะจัดขึ้นในRAM ไม่ระเหย ไม่ใช่ ROM เหมือนที่เคยเป็นมา ดูคำตอบก่อนหน้านี้สำหรับรายละเอียดของชิป NVRAM ที่เชื่อมต่อกับบัส LPC (ตัวอย่างเช่น: บนเครื่องนั่งถอดประกอบข้างฉันขณะที่ฉันพิมพ์สิ่งนี้ NVRAM ที่ถือเฟิร์มแวร์คือ Pm49FL004T ซึ่งเป็นชิป LPC แฟลชแรม RAM)
CPU แบบ 32 บิตไม่เริ่มทำงานในโหมดจริงและไม่เริ่มต้นด้วยที่อยู่ที่ต่ำกว่าบรรทัด 1MiB นั่นเป็นเวลาหลายสิบปีที่ขยะล้าสมัยจากช่วงเวลาของโปรเซสเซอร์ x86 แบบ 16 บิต พวกเขาเริ่มต้นในสิ่งที่เป็นที่รู้จักเรียกขานว่าโหมดที่ไม่เป็นจริงและอีกครั้งในคำตอบก่อนที่ฉันได้ให้รายละเอียดของสิ่งที่ได้รับกรณีที่จริงตั้งแต่การถือกำเนิดของ 80386 พวกเขาโหลดคำสั่งแรกของพวกเขาจากที่อยู่ซึ่งอันที่จริงอยู่ด้านบนสุดของพื้นที่ที่อยู่แบบ 32 บิต, FFFFFFF0
.
ในคำตอบก่อนหน้าของฉันฉันบอกคุณในรายละเอียดที่ส่วนใหญ่เฟิร์มแวร์เครื่องถูกแมปลงในพื้นที่ที่อยู่ทางกายภาพในเครื่อง x86 32- บิตและ 64- บิต โปรดจำไว้ว่า: ทั้งสอง RAM และ ROM ที่มีหน่วยความจำ ฟิสิคัลแอดเดรสคือแอดเดรสหน่วยความจำบนบัสระบบ พวกเขาสามารถอยู่ทั้ง RAM หรือ ROM (พวกเขายังสามารถพูดถึงสิ่งอื่น ๆ ได้เช่นกัน แต่นั่นเป็นเพียงการพูดคุยที่ซับซ้อน) ที่อยู่ทางกายภาพFFFFFFF0
คือ 16 ไบต์ด้านล่างของช่วง 512KiB ที่ 512KiB สูงสุดของเฟิร์มแวร์ใน RAM ที่ไม่ลบเลือนจะถูกแมปบน ระบบบัสโดย "ชิปเซ็ต"
ไม่มี "การโหลด" จากชิป ROM ในตำนานบางตัวที่ดำเนินการตั้งแต่เริ่มต้นหรือรีเซ็ต ชิปโฮลดิ้งเฟิร์มเป็นแรมไม่ระเหย มันยังคงรักษาเนื้อหาของมันเขียนเมื่อมันเป็น "ประกาย" ข้ามวงจรไฟฟ้า และซีพียูจะอ่านคำสั่งเฟิร์มแวร์และข้อมูลจากมันผ่านทางบัสของระบบและบนบัส LPC (และอาจเป็นสะพาน LPC / FWH) ที่เชื่อมต่อกับบัสของระบบผ่านชิปเซ็ตโดยใช้ที่อยู่หน่วยความจำทางกายภาพ
อ่านเพิ่มเติม