Advanced Programmable Interrupt Controller
கணினியில், இன்டெல்லின் மேம்பட்ட நிரல்படுத்தக்கூடிய குறுக்கீடு கட்டுப்படுத்தி (ஏபிஐசி) என்பது குறுக்கீடு கட்டுப்படுத்திகளின் குடும்பமாகும். அதன் பெயர் குறிப்பிடுவது போல, ஏபிஐசி இன்டெல்லின் 8259 புரோகிராமபிள் இன்டர்பர்ட் கன்ட்ரோலரை (பிஐசி) விட மிகவும் மேம்பட்டது, குறிப்பாக மல்டி பிராசஸர் அமைப்புகளின் கட்டுமானத்தை செயல்படுத்துகிறது. மல்டி பிராசஸர் கணினி அமைப்புகளில் குறுக்கீடு ரூட்டிங் செயல்திறன் சிக்கல்களைத் தீர்க்கும் நோக்கில் வடிவமைக்கப்பட்ட பல கட்டிடக்கலை வடிவமைப்புகளில் இதுவும் ஒன்றாகும். ஏபிஐசி என்பது ஒரு பிளவு கட்டிடக்கலை வடிவமைப்பாகும், இதில் ஒரு உள்ளூர் கூறு (எல்ஏபிஐசி) பொதுவாக செயலிக்குள் ஒருங்கிணைக்கப்படுகிறது, மேலும் ஒரு கணினி பேருந்தில் விருப்பமான ஐ/ஓ ஏபிஐசி உள்ளது. முதல் ஏபிஐசி 82489டிஎக்ஸ் ஆகும், இது ஒரு தனித்துவமான சிப்பாகும், இது லோக்கல் மற்றும் ஐ/ஓ ஏபிஐசி என இரண்டிலும் செயல்பட்டது. 82489 டிஎக்ஸ் இன்டெல் 486 மற்றும் ஆரம்பகால பென்டியம் செயலிகளுடன் சமச்சீர் மல்டி பிராசஸர் (எஸ். எம். பி) அமைப்புகளை உருவாக்க உதவியது; எடுத்துக்காட்டாக, குறிப்பு இரு வழி 486 எஸ். எம். பி அமைப்பு மூன்று 82489 டிஎக்ஸ் சில்லுகளைப் பயன்படுத்தியது, இரண்டு உள்ளூர் ஏபிஐசி மற்றும் ஒன்று ஐ/ஓ ஏபிஐசி. P54C செயலியில் தொடங்கி, உள்ளூர் APIC செயல்பாடு இன்டெல் செயலிகளின் சிலிக்கானில் ஒருங்கிணைக்கப்பட்டது. முதல் அர்ப்பணிக்கப்பட்ட I/O APIC இன்டெல் 82093AA ஆகும், இது PIIX3-அடிப்படையிலான அமைப்புகளுக்காக வடிவமைக்கப்பட்டது. இன்டெல் ஏபிஐசி அமைப்பில் இரண்டு கூறுகள் உள்ளன, அவை உள்ளூர் ஏபிஐசி (எல்ஏபிஐசி) மற்றும் ஐ/ஓ ஏபிஐசி ஆகும். கணினியில் உள்ள ஒவ்வொரு CPU-யிலும் ஒரு LAPIC உள்ளது. முதல் செயல்பாட்டில் (82489DX), இன்டெல் செயலிகளின் சிலிக்கானில் அதன் பிற்கால செயல்பாட்டிற்கு மாறாக, லேபிக் ஒரு தனித்துவமான சுற்றாக இருந்தது. அமைப்பில் உள்ள ஒவ்வொரு புறப் பேருந்துக்கும் பொதுவாக ஒரு I/O APIC உள்ளது. அசல் கணினி வடிவமைப்புகளில், எல்ஏபிஐசி மற்றும் ஐ/ஓ ஏபிஐசி ஆகியவை பிரத்யேக ஏபிஐசி பஸ் மூலம் இணைக்கப்பட்டன. புதிய அமைப்புகள் அனைத்து ஏபிஐசி கூறுகளுக்கும் இடையிலான தகவல்தொடர்புக்கு சிஸ்டம் பஸைப் பயன்படுத்துகின்றன. ஒவ்வொரு ஏபிஐசி, ஒரு தனித்த சிப்பாக இருந்தாலும் அல்லது ஒரு சிபியுவில் ஒருங்கிணைக்கப்பட்டாலும், அதன் குறிப்பிட்ட ஏபிஐசி செயல்படுத்தலுக்காக நான்கு-பிட் பதிப்பு எண்ணைக் கொண்ட பதிப்பு பதிவேட்டைக் கொண்டுள்ளது. எடுத்துக்காட்டாக, 82489 டிஎக்ஸ் ஏபிஐசி பதிப்பு எண் 0 ஐக் கொண்டுள்ளது, அதே நேரத்தில் பதிப்பு 1 பென்டியம் 90 மற்றும் 100 செயலிகளில் ஒருங்கிணைக்கப்பட்ட முதல் தலைமுறை உள்ளூர் ஏபிஐசி களுக்கு ஒதுக்கப்பட்டது. 8259 பிஐசி கொண்ட அமைப்புகளில், 8259 கணினியின் பூட்ஸ்ட்ராப் செயலி (பிஎஸ்பி), கணினியின் ஐ/ஓ ஏபிஐசி-களில் ஒன்று அல்லது இரண்டிலும் உள்ள எல்ஏபிஐசியுடன் இணைக்கப்படலாம். இருப்பினும், தர்க்கரீதியாக, 8259 எந்த நேரத்திலும் ஒரு முறை மட்டுமே இணைக்கப்பட்டுள்ளது. டிஸ்கிரீட் ஏபிஐசி முதல் தலைமுறை இன்டெல் ஏபிஐசி சிப், இன்டெல் 80486 மற்றும் ஆரம்பகால பென்டியம் செயலிகளுடன் பயன்படுத்தப்பட வேண்டிய 82489டிஏக்ஸ், உண்மையில் ஒரு சுற்றுவட்டத்தில் வெளிப்புற உள்ளூர் மற்றும் ஐ/ஓ ஏபிஐசி ஆகும். பெரும்பாலான பென்டியம் செயலிகளில் காணப்படும் "ஒருங்கிணைந்த ஏபிஐசி" க்கு மாறாக இன்டெல் எம்பி 1.4 விவரக்குறிப்பு இதை "தனித்துவமான ஏபிஐசி" என்று குறிப்பிடுகிறது. 82489DX இல் 16 குறுக்கீடு கோடுகள் இருந்தன; இது சில ISA குறுக்கீடுகளை இழக்கக்கூடும் என்ற வினோதத்தையும் கொண்டிருந்தது. ஒரு மல்டி பிராசஸர் 486 அமைப்பில், ஒவ்வொரு CPU யும் அதன் சொந்த 82489DX உடன் இணைக்கப்பட வேண்டும்; கூடுதலாக ஒரு துணை 82489DX ஐ I/O APIC ஆக பயன்படுத்த வேண்டியிருந்தது. 82489DX ஆல் 8259A (XT-PIC) ஐப் பின்பற்ற முடியவில்லை, எனவே இவை பின்னோக்கிய பொருந்தக்கூடிய தன்மைக்கு இயற்பியல் சில்லுகளாக சேர்க்கப்பட வேண்டியிருந்தது. 82489DX என்பது 132-முள் PQFP ஆக தொகுக்கப்பட்டது. ஒருங்கிணைந்த உள்ளூர் ஏபிஐசி உள்ளூர் ஏபிஐசி (எல்ஏபிஐசி) கள் ஒரு எஸ்எம்பி அமைப்பில் சில குறிப்பிட்ட செயலிகளுக்கான அனைத்து வெளிப்புற குறுக்கீடுகளையும் நிர்வகிக்கின்றன. கூடுதலாக, அவை எல். ஏ. பி. ஐ. சி. களுக்கு இடையில் இடை-செயலி குறுக்கீடுகளை (ஐபிஐ) ஏற்றுக்கொண்டு உருவாக்க முடியும். ஐ/ஓ ஏபிஐசியிலிருந்து பயன்படுத்தக்கூடிய 224 குறுக்கீடு திசையன்களை எல்ஏபிஐசி ஆதரிக்கலாம். வெக்டர் எண்கள் 0 முதல் 31 வரை, 0 முதல் 255 வரை, x86 செயலிகளால் விதிவிலக்கான கையாளுதலுக்காக ஒதுக்கப்பட்டுள்ளன. பி5 மைக்ரோஆர்கிடெக்சரில் (பி54சி) தொடங்கும் அனைத்து இன்டெல் செயலிகளும் உள்ளமைக்கப்பட்ட உள்ளூர் ஏபிஐசி-ஐக் கொண்டுள்ளன. இருப்பினும், உள்ளூர் ஏபிஐசி ஒரு பி5 செயலியில் முடக்கப்பட்டிருந்தால், அதை மென்பொருள் மூலம் மீண்டும் இயக்க முடியாது; இந்த வரம்பு இனி பி6 செயலிகளிலும் அதற்குப் பிந்தையவற்றிலும் இல்லை. உள்ளூர் ஏபிஐசி இயக்கப்படாமல் பிசிஐ 2.2 மற்றும் அதற்குப் பிந்தைய விவரக்குறிப்புகளின் செய்தி சமிக்ஞை குறுக்கீடுகள் (எம்எஸ்ஐ) அம்சத்தைப் பயன்படுத்த முடியாது. எம்எஸ்ஐ பயன்பாடு ஒரு ஐ/ஓ ஏபிஐசி தேவையை நீக்குகிறது. கூடுதலாக, எம்எஸ்ஐ முறையில் 224 குறுக்கீடுகள் வரை ஆதரிக்கப்படுகின்றன, மேலும் ஐஆர்க்யூ பகிர்வு அனுமதிக்கப்படாது. உள்ளூர் ஏபிஐசி டைமரின் மற்றொரு நன்மை என்னவென்றால், இது ஒரு உயர் தெளிவுத்திறன் (ஒரு மைக்ரோ விநாடி அல்லது சிறந்த வரிசையில்) டைமரை வழங்குகிறது, இது இடைவெளி மற்றும் ஒன்-ஆஃப் பயன்முறை இரண்டிலும் பயன்படுத்தப்படலாம். ஏபிஐசி டைமர் அதன் ஆரம்ப ஏற்றுக்கொள்ளும் சிக்கல்களைக் கொண்டிருந்தது. 2002 ஆம் ஆண்டின் மைக்ரோசாப்ட் ஆவணம் (அதற்கு பதிலாக உயர் துல்லிய நிகழ்வு டைமரை ஏற்றுக்கொள்வதற்கு வாதிட்டது) லேபிக் டைமரை "மோசமான தெளிவுத்திறன்" கொண்டதாகவும், "கடிகாரங்கள் சிலிக்கான் சில நேரங்களில் மிகவும் பிழையானவை" என்றும் விமர்சித்தது. இருப்பினும், ஏபிஐசி டைமர் எடுத்துக்காட்டாக விண்டோஸ் 7 ஆல் விவரக்குறிப்பு இயக்கப்படும்போது பயன்படுத்தப்படுகிறது, மேலும் அனைத்து சூழ்நிலைகளிலும் விண்டோஸ் 8 ஆல் பயன்படுத்தப்படுகிறது. (விண்டோஸ் 8 இந்த டைமருக்கு பிரத்யேக உரிமைகளைக் கோருவதற்கு முன்பு, இது CPU-Z போன்ற சில நிரல்களாலும் பயன்படுத்தப்பட்டது.) மைக்ரோசாப்ட் விண்டோஸின் கீழ் ஏபிஐசி டைமர் பகிரக்கூடிய வளம் அல்ல. ஏபிஐசி டைமரால் வழங்கப்படும் அபிரியோடிக் குறுக்கீடுகள் லினக்ஸ் கர்னல் டிக் இல்லாத கர்னல் அம்சத்தால் பயன்படுத்தப்படுகின்றன. இந்த விருப்பமான ஆனால் இயல்புநிலை அம்சம் 2.6.18 உடன் புதியது. ஏபிஐசி டைமருடன் கணினியில் இயக்கப்பட்டிருக்கும் போது, கர்னல் நேரத்தை பராமரிக்க 8253 நிரல்படுத்தக்கூடிய இடைவெளி டைமரைப் பயன்படுத்தாது. ஒரு விஎம்வேர் ஆவணம் குறிப்பிடுகிறது, "மென்பொருளுக்கு அதன் அதிர்வெண்ணை தீர்மானிக்க நம்பகமான வழி இல்லை. பொதுவாக, உள்ளூர் ஏபிஐசி டைமரின் அதிர்வெண்ணைத் தீர்மானிப்பதற்கான ஒரே வழி பிஐடி அல்லது சிஎம்ஓஎஸ் டைமரைப் பயன்படுத்தி அதை அளவிடுவதாகும், இது தோராயமான முடிவை மட்டுமே அளிக்கிறது. I/O APICs I/O APICs ஒரு திசைதிருப்பல் அட்டவணையைக் கொண்டுள்ளன, இது புற பேருந்துகளிலிருந்து ஒன்று அல்லது அதற்கு மேற்பட்ட உள்ளூர் APIC களுக்கு பெறும் குறுக்கீடுகளை வழிநடத்த பயன்படுகிறது. ஆரம்பகால I/O APICகள் (82489DX, SIO.A மற்றும் PCEB/ESC போன்றவை) 16 குறுக்கீடு கோடுகளுக்கு மட்டுமே ஆதரவைக் கொண்டிருந்தன, ஆனால் பின்னர் வந்த 82093AA (PIIX3/PIIX4 க்கான தனி சிப்) 24 குறுக்கீடு கோடுகளுக்கு ஆதரவைக் கொண்டிருந்தன. இது 64-பின் PQFP ஆக தொகுக்கப்பட்டது. 82093ஏஏ பொதுவாக பிஐஐஎக்ஸ்3/பிஐஐஎக்ஸ்4 உடன் இணைக்கப்பட்டு அதன் ஒருங்கிணைந்த பாரம்பரியமான 8259 பிஐசி-களைப் பயன்படுத்தியது. ICH1 மற்றும் இன்டெல் 815 ஆகியவை I/O APIC ஐ ஒருங்கிணைத்தன. லினக்ஸைப் பயன்படுத்தும் 2009 இன்டெல் அளவுகோலின் படி, ஐ/ஓ ஏபிஐசி குறுக்கீடு தாமதத்தை 8259 முன்மாதிரியுடன் (எக்ஸ்டி-பிஐசி) ஒப்பிடுகையில் கிட்டத்தட்ட மூன்று காரணிகளால் குறைத்தது, அதே நேரத்தில் எம்எஸ்ஐ பயன்படுத்துவது தாமதத்தை இன்னும் அதிகமாகக் குறைத்தது, எக்ஸ்டி-பிஐசி அடிப்படையுடன் ஒப்பிடுகையில் கிட்டத்தட்ட ஏழு காரணிகளால். மாறுபாடுகள் xAPIC பென்டியம் 4 உடன் அறிமுகப்படுத்தப்பட்டது, அதே நேரத்தில் x2APIC என்பது இன்டெல்லின் நிரல்படுத்தக்கூடிய குறுக்கீடு கட்டுப்படுத்தியின் மிக சமீபத்திய தலைமுறையாகும், இது நவம்பர் 2008 இல் நெஹாலெம் மைக்ரோஆர்கிடெக்சருடன் அறிமுகப்படுத்தப்பட்டது. x2APIC இன் முக்கிய மேம்பாடுகள் ஆதரிக்கப்படும் CPU களின் எண்ணிக்கை மற்றும் இடைமுகத்தின் செயல்திறனை நிவர்த்தி செய்கின்றன. x2APIC இப்போது CPUகளை முகவரியிட 32 பிட்களைப் பயன்படுத்துகிறது, இது இயற்பியல் இலக்கு முறையைப் பயன்படுத்தி 232−1 CPUகளை முகவரியிட அனுமதிக்கிறது. தர்க்கரீதியான இலக்கு முறை இப்போது வித்தியாசமாக வேலை செய்கிறது மற்றும் கிளஸ்டர்களை அறிமுகப்படுத்துகிறது; இந்த முறையைப் பயன்படுத்தி, ஒருவர் 220−16 செயலிகள் வரை உரையாற்ற முடியும். மேம்படுத்தப்பட்ட இடைமுகம் இடை-செயலி குறுக்கீடுகளை (ஐபிஐ) அனுப்ப தேவையான ஏபிஐசி பதிவு அணுகல்களின் எண்ணிக்கையைக் குறைக்கிறது. இந்த நன்மையின் காரணமாக, கே. வி. எம் x2APIC ஐ இயற்பியல் ரீதியாக ஆதரிக்காத பழைய செயலிகளுக்கு பின்பற்ற முடியும் மற்றும் செய்கிறது, மேலும் இந்த ஆதரவு QEMU மீண்டும் கான்ரோவிற்கும் AMD ஒப்டெரான் ஜி-சீரிஸ் செயலிகளுக்கும் கூட வெளிப்படுகிறது (இவை இரண்டும் x2APIC ஐ சொந்தமாக ஆதரிக்கவில்லை). ஏபிஐசிவி என்பது வன்பொருள் மெய்நிகராக்க ஆதரவுக்கான இன்டெல்லின் பிராண்ட் பெயர், இது விருந்தினர்களின் குறுக்கீடு மேல்நிலையைக் குறைப்பதை நோக்கமாகக் கொண்டுள்ளது. ஏபிஐசிவி ஐவி பிரிட்ஜ்-இபி செயலி தொடரில் அறிமுகப்படுத்தப்பட்டது, இது ஜியோன் இ 5-26 XX வி2 (2013 ஆம் ஆண்டின் பிற்பகுதியில் தொடங்கப்பட்டது) மற்றும் ஜியோன் இ 5-46 XX வி2 (2014 ஆம் ஆண்டின் தொடக்கத்தில் தொடங்கப்பட்டது) என விற்கப்படுகிறது. ஏஎம்டி ஏ. வி. ஐ. சி என்ற இதேபோன்ற தொழில்நுட்பத்தை அறிவித்தது, இது குடும்ப 15h மாதிரிகள் 6Xh (கேரிசோ) செயலிகள் மற்றும் புதியவற்றில் கிடைக்கிறது. ஏபிஐசி அமைப்புகளை செயல்படுத்துவதில் பல அறியப்பட்ட பிழைகள் உள்ளன, குறிப்பாக 8254 எவ்வாறு இணைக்கப்பட்டுள்ளது என்ற கவலையுடன். குறைபாடுள்ள பயோஸ்கள் குறுக்கீடு வழிநடத்துதலை சரியாக அமைக்காமல் போகலாம் அல்லது தவறான ஏ. சி. பி. ஐ அட்டவணைகள் மற்றும் இன்டெல் மல்டி பிராசஸர் விவரக்குறிப்பு (எம். பி. எஸ்) அட்டவணைகளை வழங்காமல் போகலாம். இயக்க முறைமை அதை சரியாக ஆதரிக்காதபோது ஏபிஐசி கணினி செயலிழப்புக்கு ஒரு காரணமாக இருக்கலாம். பழைய இயக்க முறைமைகளில், I/O மற்றும் உள்ளூர் APICகள் பெரும்பாலும் முடக்கப்பட வேண்டியிருந்தது. சமச்சீர் மல்டி ப்ராசசர் மற்றும் மல்டி கோர் அமைப்புகளின் பரவலால் இது இனி சாத்தியமில்லை என்றாலும், ஃபார்ம்வேர் மற்றும் இயக்க முறைமைகளில் உள்ள பிழைகள் இப்போது ஒரு அரிய நிகழ்வாகும். போட்டி ஏஎம்டி மற்றும் சைரிக்ஸ் ஒரு முறை 32 செயலிகள் வரை ஆதரிக்கும் ஓரளவு ஒத்த நோக்கத்திற்காக ஓபன்பிக் கட்டமைப்பை முன்மொழிந்தன; இது 1995 ஆம் ஆண்டில் ஐபிஎம் மற்றும் காம்பாக் ஆகியவற்றிலிருந்து குறைந்தபட்சம் அறிவிப்பு ஆதரவைக் கொண்டிருந்தது. இருப்பினும் ஓபன்பிக் உடன் x86 மதர்போர்டு எதுவும் வெளியிடப்படவில்லை. x86 சந்தையில் ஓபன்பிக் தோல்வியடைந்த பிறகு, ஏஎம்டி அதன் ஏஎம்டி அத்லான் மற்றும் அதற்குப் பிந்தைய செயலிகளுக்கு இன்டெல்லின் ஏபிஐசி-க்கு உரிமம் வழங்கியது. இருப்பினும் ஓபன்பிக் பதிவு விவரக்குறிப்புகளின் அடிப்படையில் ஐபிஎம் தங்கள் மல்டி பிராசஸர் இன்டர்பர்ட் கன்ட்ரோலரை (எம்பிஐசி) உருவாக்கியது. ஐபிஎம் உட்பட பவர்பிசி அடிப்படையிலான வடிவமைப்புகளில் எம்பிஐசி பயன்படுத்தப்பட்டது, எடுத்துக்காட்டாக சில ஆர்எஸ்/6000 அமைப்புகளில், ஆனால் ஆப்பிள் நிறுவனமும், அவற்றின் பவர் மேக் ஜி5எஸ் வரை தாமதமாக பயன்படுத்தப்பட்டது. இன்டெல் 8259 புரோகிராமபிள் குறுக்கீடு கட்டுப்படுத்தி (பிஐசி) இடை-செயலி குறுக்கீடு (ஐபிஐ) குறுக்கீடு கையாளுபவர் இடையூறு தாமதம் செய்தி சமிக்ஞை குறுக்கீடுகள் (எம்எஸ்ஐ) முகமூடி இல்லாத குறுக்கீடு (என்எம்ஐ) குறிப்புகள் மேலும் வாசிப்பு ஐஏ-32 இன்டெல் கட்டிடக்கலை மென்பொருள் உருவாக்குநரின் கையேடு, தொகுதி 3 ஏஃ கணினி நிரலாக்க வழிகாட்டி, பகுதி 1, அத்தியாயம் 10. வெளிப்புற இணைப்புகள் இன்டெல் 64 கட்டிடக்கலை x2APIC விவரக்குறிப்பு (PDF) இன்டெல் x2APIC கட்டமைப்பைப் பற்றிய கூடுதல் தகவல்களை இன்டெல் 64 மற்றும் IA-32 கட்டமைப்புகள் மென்பொருள் உருவாக்குநரின் கையேடுகள் மதர்போர்டு இடையூறுகள் அபிக் கட்டிடக்கலை IBM PC பொருந்தக்கூடிய X86 கட்டமைப்பில் காணலாம்.