ไมโครโปรเซสเซอร์ - 8257 DMA Controller
DMA ย่อมาจาก Direct Memory Access ได้รับการออกแบบโดย Intel เพื่อถ่ายโอนข้อมูลในอัตราที่เร็วที่สุด ช่วยให้อุปกรณ์สามารถถ่ายโอนข้อมูลไปยัง / จากหน่วยความจำได้โดยตรงโดยไม่มีการรบกวนของ CPU
เมื่อใช้ตัวควบคุม DMA อุปกรณ์จะร้องขอให้ CPU เก็บข้อมูลที่อยู่และบัสควบคุมดังนั้นอุปกรณ์จึงมีอิสระในการถ่ายโอนข้อมูลไปยัง / จากหน่วยความจำโดยตรง การถ่ายโอนข้อมูล DMA จะเริ่มต้นหลังจากได้รับสัญญาณ HLDA จาก CPU เท่านั้น
DMA ดำเนินการอย่างไร?
ต่อไปนี้เป็นลำดับของการดำเนินการโดย DMA -
ในขั้นต้นเมื่ออุปกรณ์ใด ๆ ต้องส่งข้อมูลระหว่างอุปกรณ์และหน่วยความจำอุปกรณ์จะต้องส่งคำขอ DMA (DRQ) ไปยังตัวควบคุม DMA
ตัวควบคุม DMA ส่งคำขอ Hold (HRQ) ไปยัง CPU และรอให้ CPU ยืนยัน HLDA
จากนั้นไมโครโปรเซสเซอร์จะระบุสถานะบัสข้อมูลบัสแอดเดรสและบัสควบคุมทั้งหมด CPU ออกจากการควบคุมบัสและรับทราบคำขอ HOLD ผ่านสัญญาณ HLDA
ตอนนี้ CPU อยู่ในสถานะ HOLD และคอนโทรลเลอร์ DMA ต้องจัดการการทำงานบนบัสระหว่าง CPU หน่วยความจำและอุปกรณ์ I / O
คุณสมบัติของ 8257
นี่คือรายการคุณสมบัติเด่นบางประการของ 8257 -
มีสี่ช่องสัญญาณซึ่งสามารถใช้กับอุปกรณ์ I / O สี่เครื่อง
แต่ละช่องมีที่อยู่ 16 บิตและตัวนับ 14 บิต
แต่ละช่องสามารถถ่ายโอนข้อมูลได้สูงสุด 64kb
แต่ละช่องสามารถตั้งโปรแกรมได้อย่างอิสระ
แต่ละช่องสามารถดำเนินการอ่านโอนเขียนโอนและตรวจสอบการดำเนินการโอน
สร้างสัญญาณ MARK ไปยังอุปกรณ์ต่อพ่วงที่มีการถ่ายโอน 128 ไบต์
ต้องใช้นาฬิกาเฟสเดียว
ความถี่มีตั้งแต่ 250Hz ถึง 3MHz
มันทำงานใน 2 โหมดกล่าวคือ Master mode และ Slave mode.
8257 สถาปัตยกรรม
ภาพต่อไปนี้แสดงสถาปัตยกรรมของ 8257 -
8257 พินคำอธิบาย
ภาพต่อไปนี้แสดงแผนภาพพินของคอนโทรลเลอร์ 8257 DMA -
DRQ 0 −DRQ3
เหล่านี้เป็นอินพุตคำขอ DMA สี่ช่องสัญญาณซึ่งอุปกรณ์ต่อพ่วงใช้สำหรับการใช้บริการ DMA เมื่อเลือกโหมดลำดับความสำคัญคงที่แล้ว DRQ 0จะมีลำดับความสำคัญสูงสุดและ DRQ 3มีลำดับความสำคัญต่ำที่สุด
DACK o - DACK 3
นี่คือบรรทัดรับทราบ DMA ที่ใช้งานต่ำซึ่งจะอัปเดตอุปกรณ์ต่อพ่วงที่ร้องขอเกี่ยวกับสถานะของคำขอโดย CPU เส้นเหล่านี้ยังสามารถทำหน้าที่เป็นเส้นแฟลชสำหรับอุปกรณ์ที่ร้องขอ
งo - ง7
สายข้อมูลเหล่านี้เป็นแบบสองทิศทางซึ่งใช้เพื่อเชื่อมต่อบัสระบบกับบัสข้อมูลภายในของคอนโทรลเลอร์ DMA ในโหมด Slave จะมีคำสั่งเป็น 8257 และคำสถานะจาก 8257 ในโหมดหลักบรรทัดเหล่านี้จะใช้เพื่อส่งไบต์ที่สูงกว่าของแอดเดรสที่สร้างไปยังสลัก ที่อยู่นี้สลักเพิ่มเติมโดยใช้สัญญาณ ADSTB
IOR
เป็นสายอินพุตไตรสถานะแบบสองทิศทางที่ใช้งานอยู่ต่ำซึ่งใช้โดย CPU เพื่ออ่านรีจิสเตอร์ภายในของ 8257 ในโหมด Slave ในโหมดหลักจะใช้เพื่ออ่านข้อมูลจากอุปกรณ์ต่อพ่วงระหว่างรอบการเขียนหน่วยความจำ
IOW
เป็นเส้นไตรสถานะสองทิศทางต่ำที่ใช้งานได้ซึ่งใช้เพื่อโหลดเนื้อหาของบัสข้อมูลไปยังทะเบียนโหมด 8 บิตหรือไบต์บน / ล่างของการลงทะเบียนที่อยู่ DMA 16 บิตหรือการนับจำนวนเทอร์มินัล ในโหมดหลักจะใช้เพื่อโหลดข้อมูลไปยังอุปกรณ์ต่อพ่วงระหว่างรอบการอ่านหน่วยความจำ DMA
CLK
เป็นสัญญาณความถี่นาฬิกาที่จำเป็นสำหรับการทำงานภายในของ 8257
รีเซ็ต
สัญญาณนี้ใช้เพื่อรีเซ็ตคอนโทรลเลอร์ DMA โดยปิดใช้งานช่อง DMA ทั้งหมด
กo - ก3
นี่คือบรรทัดที่อยู่ที่สำคัญน้อยที่สุดสี่บรรทัด ในโหมดทาสจะทำหน้าที่เป็นอินพุตซึ่งเลือกหนึ่งในรีจิสเตอร์ที่จะอ่านหรือเขียน ในโหมดหลักจะเป็นบรรทัดเอาต์พุตที่อยู่หน่วยความจำที่มีนัยสำคัญน้อยที่สุดสี่บรรทัดที่สร้างโดย 8257
CS
มันเป็นสายการเลือกชิปที่ใช้งานต่ำ ในโหมด Slave จะเปิดใช้งานการอ่าน / เขียนไปยัง / จาก 8257 ในโหมดหลักจะปิดใช้งานการอ่าน / เขียนไปยัง / จาก 8257
ก4 - ก7
นี่คือการตอดที่สูงขึ้นของที่อยู่ไบต์ที่ต่ำกว่าที่สร้างโดย DMA ในโหมดหลัก
พร้อม
เป็นสัญญาณอินพุตแบบอะซิงโครนัสที่มีการใช้งานสูงซึ่งทำให้ DMA พร้อมโดยการใส่สถานะรอ
HRQ
สัญญาณนี้ใช้เพื่อรับสัญญาณขอพักจากอุปกรณ์เอาท์พุต ในโหมดทาสจะเชื่อมต่อด้วยสายอินพุต DRQ 8257 ในโหมด Master จะเชื่อมต่อกับอินพุต HOLD ของ CPU
HLDA
เป็นสัญญาณตอบรับการระงับซึ่งระบุตัวควบคุม DMA ว่า CPU ได้รับบัสให้กับอุปกรณ์ต่อพ่วงที่ร้องขอโดย CPU เมื่อตั้งค่าเป็น 1
MEMR
เป็นสัญญาณการอ่านหน่วยความจำต่ำซึ่งใช้ในการอ่านข้อมูลจากตำแหน่งหน่วยความจำที่กำหนดแอดเดรสระหว่างรอบการอ่าน DMA
MEMW
เป็นสัญญาณสามสถานะที่ใช้งานอยู่ต่ำซึ่งใช้ในการเขียนข้อมูลไปยังตำแหน่งหน่วยความจำที่กำหนดแอดเดรสระหว่างการดำเนินการเขียน DMA
ADST
สัญญาณนี้ใช้เพื่อแปลงไบต์ที่สูงกว่าของที่อยู่หน่วยความจำที่สร้างโดยตัวควบคุม DMA ลงในสลัก
AEN
สัญญาณนี้ใช้เพื่อปิดใช้งานแอดเดรสบัส / บัสข้อมูล
TC
ย่อมาจาก 'Terminal Count' ซึ่งระบุวัฏจักร DMA ปัจจุบันไปยังอุปกรณ์ต่อพ่วงในปัจจุบัน
เครื่องหมาย
เครื่องหมายจะเปิดใช้งานหลังจากทุกๆ 128 รอบหรือทวีคูณอินทิกรัลตั้งแต่เริ่มต้น ระบุว่าวงจร DMA ปัจจุบันเป็นรอบที่ 128 นับตั้งแต่เอาต์พุต MARK ก่อนหน้าไปยังอุปกรณ์ต่อพ่วงที่เลือก
V ซีซี
เป็นสัญญาณไฟที่จำเป็นสำหรับการทำงานของวงจร