ตารางเวกเตอร์ขัดจังหวะ

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา
X86 Interrupt Vector Table.svg

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

ความเป็นมา

โปรเซสเซอร์ส่วนใหญ่มีตารางเวกเตอร์ขัดจังหวะ รวมถึงชิปจาก Intel, AMD , Infineon , Microchip [1] Atmel , [2] NXP, ARM [3] [4]เป็นต้น

ตัวจัดการขัดจังหวะ

วิธีการจัดการ

ตารางเวกเตอร์ขัดจังหวะใช้ในสามวิธีที่ได้รับความนิยมมากที่สุดในการค้นหาที่อยู่เริ่มต้นของรูทีนบริการขัดจังหวะ:

"กำหนดไว้ล่วงหน้า"

วิธีการ "กำหนดไว้ล่วงหน้า" จะโหลดตัวนับโปรแกรม (PC) โดยตรงด้วยที่อยู่ของรายการบางรายการภายในตารางเวกเตอร์ขัดจังหวะ ตารางกระโดดนั้นมีรหัสที่ปฏิบัติการได้ แม้ว่าโดยหลักการแล้ว ตัวจัดการการขัดจังหวะที่สั้นมากสามารถเก็บไว้ได้ทั้งหมดภายในตารางเวกเตอร์ขัดจังหวะ ในทางปฏิบัติโค้ดที่แต่ละรายการเป็นคำสั่งข้ามเดียวที่ข้ามไปยังรูทีนบริการขัดจังหวะแบบเต็ม (ISR) สำหรับการขัดจังหวะนั้น Intel 8080 , [5] Atmel AVR [6] [7]และไมโครคอนโทรลเลอร์ 8051 และไมโครชิปทั้งหมด[8]ใช้แนวทางที่กำหนดไว้ล่วงหน้า

"ดึงข้อมูล"

วิธีการ "ดึงข้อมูล" จะโหลดพีซีทางอ้อม โดยใช้ที่อยู่ของรายการบางรายการในตารางเวกเตอร์ขัดจังหวะเพื่อดึงที่อยู่ออกจากตารางนั้น แล้วโหลดพีซีด้วยที่อยู่นั้น [8]แต่ละรายการของ IVT เป็นที่อยู่ของรูทีนบริการขัดจังหวะ ไมโครคอนโทรลเลอร์ Motorola/Freescale ทั้งหมดใช้วิธีดึงข้อมูล [8]

"ขัดจังหวะรับทราบ"

สำหรับวิธีการ "รับทราบการขัดจังหวะ" อุปกรณ์ภายนอกจะให้หมายเลขตัวจัดการขัดจังหวะแก่ CPU วิธีการรับทราบการขัดจังหวะถูกใช้โดย Intel Pentium และไมโครโปรเซสเซอร์รุ่นเก่าจำนวนมาก [8]

เมื่อ CPU ได้รับผลกระทบจากการขัดจังหวะมันจะค้นหาตัวจัดการการขัดจังหวะในตารางเวกเตอร์ขัดจังหวะและโอนการควบคุมไป

ดูเพิ่มเติมที่

อ้างอิง

  1. ^ "dsPIC33F Family Reference Manual"ส่วน 29.1.1 Interrupt Vector Table
  2. ^ ส่วน "คู่มือผู้ใช้ AVR Libc" : บทนำเกี่ยวกับการจัดการขัดจังหวะของ avr-libc
  3. ^ "เอกสาร – ผู้พัฒนาแขน" . developer.arm.com ครับ สืบค้นเมื่อ2020-07-26 .
  4. ^ "เอกสาร – Arm Developer – ตารางเวกเตอร์ข้อยกเว้น AArch64 " developer.arm.com ครับ สืบค้นเมื่อ2020-07-26 .
  5. ^ คู่มือผู้ใช้ระบบไมโครคอมพิวเตอร์ Intel 8080 อินเทล คอร์ปอเรชั่น. กันยายน 2518 หน้า 2–11 ลำดับการขัดจังหวะ โอซีซี2058546 . อ.24210843 .  
  6. โรเจอร์ แอล. เทรย์เลอร์. "การขัดจังหวะ: การบริการ AVR ขัดจังหวะ"
  7. ^ แกรี่ ฮิลล์. "Atmel AVR Interrupt and Timing Subsystems: ตารางเวกเตอร์ขัดจังหวะ ATMEGA328P"
  8. อรรถa b c d Huang, Han-Wat (2005). Pic Microcontroller: บทนำเกี่ยวกับการเชื่อมต่อซอฟต์แวร์และฮาร์ดแวร์ การเรียนรู้ Cengage หน้า 247. ISBN 978-1-4018-3967-3. สืบค้นเมื่อ22 เมษายน 2556 .

ลิงค์ภายนอก