ตัวควบคุม Direct Memory Access (DMA) สำหรับ intel


คำตอบ:


5

DMA นั้นเป็นมาตรฐานในชิปเซ็ตสมัยใหม่ โดยปกติแล้วจะเป็นโมดูลแยกในภาคใต้ของเมนบอร์ดและไม่ได้เป็นส่วนหนึ่งของชิปซีพียู โปรเซสเซอร์ Intel ที่ทันสมัยเช่น Sandy Bridge Line ควรสนับสนุนเทคโนโลยี แต่เป็นคำถามของเมนบอร์ดมากกว่าซีพียู


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

นั่นคือเกินความรู้ของฉัน
แบรนดอน Kreisel

2

ในขณะที่ DMA นั้นเป็นมาตรฐานในระบบที่ใช้ x86 ที่ทันสมัยความต้องการตัวควบคุม DMA ที่เป็นศูนย์กลางและเฉพาะได้หายไปแล้ว: ในยุคของ ISA คอนโทรลเลอร์ DMA สามารถตั้งโปรแกรมให้ทำงาน DMA ในนามของซีพียูได้

ในเครื่องจักรที่ทันสมัยรองรับ Bus Mastering สิ่งนี้ทำให้ไม่จำเป็นต้องใช้คอนโทรลเลอร์ DMA กลางและอนุญาตให้อุปกรณ์แต่ละตัว - เช่นการ์ด PCI ทำการบัสด้วยตนเองและทำให้อุปกรณ์แต่ละตัวสามารถดำเนินการ DMA ได้โดยไม่จำเป็นต้องขอความช่วยเหลือจากคอนโทรลเลอร์ DMA ส่วนกลาง


0

แม้ว่านี่จะไม่เกี่ยวกับ x86 แต่ฉันมาที่นี่ขณะค้นหาที่ฉันสามารถหาข้อมูลเกี่ยวกับ DMA สำหรับ CPU ของ Intel ได้เนื่องจากฉันใช้เวลาสักครู่ในการดูคู่มือ CPU ฉันคิดว่าฉันออกจากที่นี่

ในขณะที่พยายามคิดสิ่งนี้ฉันพบว่าคอนโทรลเลอร์ DMA ไม่ได้นั่งอยู่บน CPU แต่อยู่บนชิปเซ็ต ฉันพยายามคิดออกและไม่พบข้อมูลเกี่ยวกับ DMA ในคู่มือ Intels i-7 LGA 2011 (ยกเว้นข้อมูลการแมป DMA ใหม่)

อย่างไรก็ตามหากฉันดูในคู่มือสำหรับชิปเซ็ตของฉัน ( X79 express, Intel ) ฉันสามารถค้นหาข้อมูลเกี่ยวกับตัวควบคุม DMA (ดูหน้า 101 เป็นต้นไป)


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