คำถามติดแท็ก register

3
อะไรคือความแตกต่างระหว่างการลงทะเบียนฮาร์ดแวร์และการลงทะเบียนหน่วยความจำแมป?
สิ่งนี้น่างงงวยดังนั้นฉันจะวางมันทั้งหมดที่นี่ เห็นได้ชัดว่าผ่าน MMIO คุณสามารถเข้าถึงอุปกรณ์ภายนอกโดยใช้ที่อยู่หน่วยความจำที่กำหนดซึ่งจะถูกกำหนดเส้นทางไปยังอุปกรณ์นั้นอีกครั้ง (ผ่านการเขียนแพ็คเก็ตคำสั่ง ฯลฯ ) อย่างไรก็ตามฉันเคยได้ยินคำอธิบายที่หลากหลายของทั้งคู่ การลงทะเบียนฮาร์ดแวร์ (เช่นการลงทะเบียน CPU / GPU หรือชิปเสียง) และการลงทะเบียนที่แมปหน่วยความจำใช้สลับกันได้ พวกเขาเป็นสิ่งเดียวกันหรือไม่ เมื่อคุณพูดว่า "หน่วยความจำที่แมปลงทะเบียน" คุณไม่ได้อ้างถึงที่อยู่ซึ่งข้อมูลไบต์จะถูกกำหนดเส้นทางไปยังที่อยู่เฉพาะภายในอุปกรณ์นั้น (เช่นในทางทฤษฎี: ที่อยู่ 0x500 ของ GPU ใช้สำหรับลงทะเบียน TEXTURE_BUFFER) อย่างไรก็ตามอุปกรณ์ที่แมปหน่วยความจำไม่สามารถแมปการลงทะเบียนทางกายภาพภายใน RAM ดังนั้นโดยทั่วไปแล้วความแตกต่างระหว่างการลงทะเบียนหน่วยความจำแมปและเพียงลงทะเบียนฮาร์ดแวร์คืออะไร?

1
ข้อมูลย้ายจากหน่วยความจำหลักไปยัง CPU ลงทะเบียนโดยตรงโดยไม่ไปที่แคชหน่วยความจำหรือไม่? [ปิด]
ข้อมูลเปลี่ยนจากหน่วยความจำหลักไปยัง CPU โดยตรงหรือไม่เมื่อ CPU ดึงข้อมูลจากหน่วยความจำหลัก หรือข้อมูลต้องไปจากหน่วยความจำหลักไปยังหน่วยความจำแคชก่อนก่อนที่จะไปลงทะเบียน?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.