Interrupt

ከውክፔዲያ

በዲጂታል ኮምፒውተሮች ውስጥ፣ ኢንተራፕት ማለት ከሶፍትዌሩ ትኩረት የሚፈልግ ክስተት በሚኖርበት ወቅት ፕሮሰሰሩ የሚሰጠው ምላሽ ነው። የኢንተራፕት ሁነት ፕሮሰሰሩ በማሳወቅ፣ ሲፈቀድለት አሁን ላይ እየሰራ ያለን ኮድ ፕሮሰሰሩ እንዲያቋርጥ በማድረግ፣ ሁነቱ ጊዜውን በጠበቀ መልኩ እንዲከናወን ያደርጋል። ጥያቄው ተቀባይነት ካገኘ፣ ፕሮሰሰሩ የአሁን ላይ ስራዎቹን በማስቆም መልስ ይሰጣል፣ ስቴቱን ያስቀምጣል፣ እና ኢንተራፕት ሃንድለር (ወይም የኢንተራፕት ሰርቪስ ሩቲን፣ አይ.ኤስ.አር (ISR) የሚል መተግበሪያን በመጠቀም ለሁነቱ ምላሽ ይሰጣል። ይህ መስተጓጎል ጊዜያዊ ነው፣ እናም ኢንተራፕቱ ከባድ ችግር እስካልጠቆመ ድረስ፣ ፕሮሰሰሩ መደበኛ ስራውን ይቀጥላል ኢንተራፕት ሃንድለሩ ሲጨርስ። ኢንተራፕቶች በመደበኛነት በሃርድዌር መገልገያዎች ጥቅም ላይ የሚውሉ ሲሆን የኤሌክትሮኒክ ወይም የአካላዊ ሁነት ለውጦች ትኩረት እንደሚያስፈልጋቸው ለመጠቆም ጥቅም ላይ ይውላሉ። በተጨማሪም ኢንተራፕቶች ኮፕፒውተር ብዙ ስራ በሚሰራበት ጊዜ፣ በተለይ በሪል ታይም የኮምፒውቲንግ ስራ ጊዜ ለመተግበር ነው። ኢንተራፕትን በእዚህ መልኩ የሚተገብሩ ሲስተሞች ኢንተራፕት-መራሽ ይባላሉ።

አይነቶች

የኢንተራፕት ምልክቶች በሃርድዌር ወይም ሶፍትዌት ለውጦች ሊሰጡ ይችላሉ። እነዚህም በቅደም ተከተል፣ የሃርድዌር እና የሶፍትዌር ኢንተራፕቶች ተብለው ይከፈላሉ። ለአንድ የተወሰነ ፕሮሰሰር፣ የኢንተራፕር አይነቶች ቁጥር በአርኪቴክቸሩ ይወሰናል።

የሃርድዌር ኢንተራፕቶች

የሃርድዌር ኢንተራፕት ከሃርድ ዌሩ ሁነት ጋር የሚገናኝ ሲሆን በውጪያዊ የሃርድዌር መገልገያ ምሳሌ የኢንተራፕት ጥያቄ (IRQ) የኮፒውተር መስመር፣ ወይም በፕሮሰሰር ሎጂክ ወስጥ መካተታቸው የታወቁ መገልገያዎች (ምሳሌ የሲፒዩ ሰአት ያዥ በአይ.ቢ.ኤም. ሲስተም/370)፣ መገልገያው ከኦፕሬቲንግ ሲስተሙ (ኦ.ኤስ) ትኩረት እንደሚፈልግ ወይም፣ ኦ.ኤስ ከሌለም ሲ.ፒ.ዩውን ከሚያንቀሳቅሰው ከ”ቤር ሜታል” ፕሮግራም ትኩረት እንደሚፈልግ ማሳያ ነው። እንደዚህ አይነት የውጪ መገልገያዎች የኮምፒውተሩ አካል ሊሆኑ ይችላሉ (ምሳሌ፣ ዲስክ ኮንትሮለር)፣ ወይም ወጪያዊ ፔሪፈራልስ (ተቀጽላዎች)። ለምሳሌ፣ የኪቦርድ ቁልፍ መጫን ወይም በPS/2 ቦታ የተሰካ ማውስ ማንቀሳቀስ የሃርድዌር ኢንተራፕቶቹን በማስነሳት ፕሮሰሰሩ የኪቦርድ መጫንን ወይም የማውስ ቦታን እንዲያውቅ ያደርጋል። የሃርድዌር ኢንተራፕቶች ከፕሮሰሰር ሰአቱ ጋር ሳይናበቡ ሊደርሱ ይችላሉ፣ እናም በትእዛዝ ማስፈጸም ጊዜ በየትኛውም ሰአት ሊመጡ ይችላሉ። በቀጣይነትም፣ ሁሉም የሃርድዌር መልእክቶች ከፕሮሰሰር ሰአቱ ጋር እንዲናበቡ በማድረግ እና ድንበራቸውን በጠበቀ ትእዛዝ መልኩ ይፈጸማሉ። በብዙ ሲስተሞች ውስጥ፣ እያንዳንዱ መገልገያ ከተወሰነ የ IRQ ሲግናል ጋር ይቆራኛል። ይህም የትኛው ሃርድዌር አገልግሎት እየጠየቀ እኝደሆነ በቀላሉ ለመለየት እናም ለእዛ መገልገያ አገልግሎት ማቅረቡን ለማፋጠን ይረዳል። በተወሰኑ የድሮ ሲስተሞች ውስጥ ሁሉም ኢንተራፕቶች ወደ አንድ ቦታ የሚላኩ ሲሆን ኦፕሬቲንግ ሲስተሙ ከፍተኛ ቅድሚያ የሚሰጣቸውን ያልተገለጡ ልዩ ትእዛዞችን ለመለየት ያስችላል። በአሁን ወቅት ያሉ ሲስተሞች ደግሞ፣ የተለየ የኢንተራፕት ሂደት ለእያንዳንዱ የኢንተራፕት አይነት ወይም ለእያንዳንዱ የኢንተራፕት ምንጭ፣ በብዛት እንደ አንድ ወይም ከእዚያ በላይ የቬክተር ቴብሎች ይተገበራል።

ማስክ ማድረግ

ፕሮሰሰሮች በአይነተኛነት ውስጣዊ የሆነ የኢንተራፕት ማስክ መመዝገቢያ አላቸው፣ ይህም እየመረጡ የሃርድዌር ኢንተራፕቶችን እንዲያበሩ ወይም እንዲያጠፉ ይረዳል። እያንዳንዱ የኢንተራፕት ሲግናል በማስክ ሬጂስተሩ ውስጥ የተያያዘ ነው፣ በተወሰኑ ሲስተሞች ውስጥ፣ ኢንተራፕቱ ቢቱ በሚዘጋጅበት ወቅት ይበራል እና ቤቱ ባዶ በሚሆንበት ወቅት ይጠፋል፣ በሌሎች ላይ ደግሞ ቀድሞ የተመደበ ቢት ኢንተራፕቱን ያጠፋዋል። ኢንተራፕቱ በሚጠፋበት ወቅት፣ የተገናኘው የኢንተራፕት ሲግናል በፕሮሰሰሩ ይታለፋል። በማስኩ ተጽእኖ የሚፈጠርባቸው ሲግናሎች ማስክ መደረግ የሚቻልባቸው ኢንተራፕቶች ይባላሉ። አንዳንድ የኢንተራፕት ሲግናሎች በኢንተራፕት ማስኩ ጫና አይደረግባቸውም ስለዚህም መጥፋት አይችሉም፣ እነዚህ ማስክ መደረግ የማይችሉ ኢንተራፕቶች ይባላሉ (NMI)። NMI በማንኛውም ሁኔታ ውስጥ ችላ ሊባሉ የማይገባቸውን ከፍትኛ ትኩረት የሚፈልጉ ሁነቶችን፣ እንደ ከዋችዶግ ጊዜ መያዣ የሚሰጡ የጊዜ አልፏል ማሳወቂያዎችን ይጠቁማሉ። አንድን ኢንተራፕት ማስክ ማድረግ ማለት ማጥፋት ሲሆን፣ ማስኩን ማስወገድ ማለት ማብራት ማለት ነው።

አስመሳይ ኢንተራፕቶች

የአስመሳይ (ስፑሪየስ) ኢንተራፕት ማለት የሃርድዌር ኢንተራፕት ሆኖ ምንም ምንጭ ሊገኝለት ያልቻለ ማለት ነው። “ፋንተም ኢንተራፕት” ወይም “ጎስት ኢንተራፕት” ይህንን ሁነት ለመጠቆም ይውላሉ። የአስመሳይ ኢንተራፕቶች ዋየርድ-ኦ.አር (wired-OR) ኢንተራፕት ሰርኪውት ለፕሮሰሰር መግቢያው የደረጃ-ሴንሴቲቭ ጋር ችግር ይሆናል። እንደዚህ አይነት ኢንተራፕቶች ሲስተሙ በሚያስቸግረበት ወቅት መለየት አስቸጋሪ ናቸው። በዋየርድ-ኦ.አር (wired-OR) ሰርኪውት ውስጥ፣ የፓራሲቲክ ካፓሲታንስ ቻርጅ ማድረግ/ዲስቻርጅ ማድረግ በኢንተራፕት መስመሩ ባያስ ሬዚስተር ፕሮሰሰሩ አውቆ የተወሰነ መዘግየት መኖሩን ከዛም የኢንተራፕት ምንጩ እስኪጸዳ ያደርጋል። ኢንተራፕት የሚያደርገው መገልገያ በጣም ቆይቶ ከጸዳ የኢንተራፕት ሰርቪስ ሩቲን (ISR)፣ የአሁን ISR እስኪመለስ የዝምታ ጊዜ ለማሳለፍ እና የኢንተራፕት ሰርኪውቱ እስኪመለስ በቂ ጊዜ አይኖርም። ውጤቱ የሚሆነው፣ ፕሮሰሰሩ ሌላ ኢንተራፕት ሊኣጋጥም ነው ብሎ ይገምታል፣ ምክኒያቱም የኢንተራፕት ጥያቄ በሚያቀርብበት ወቅት ቮልቴጁ በበቂ ሁኔታ ከፍ ብሎ የውስጣዊ ሎጂክ 1 ወይም ሎጂክ 0 ለምፍጠር አይበቃም። የሚታየው ኢንተራፕት የሚለይ ምንጭ አይኖረውም፣ ስለዚህም “አስመሳይ” ሞኒከር ይሆናል። የአስመሳይ ኢንተራፕት በተሳሳተ የሰርኪውት ዲዛይን፣ ከፍተኛ የድምጽ መጠኖች፣ ክሮስቶክ፣ የሰአት አተባበቅ ችግሮች የኤሌክትሪካል ስህተቶች ውጤት ሊሆንም ይችላል፣ ወይም በብዛት ባያጋጥምም፣ የመገልገያ ኢራታ ሊሆን ይችላል። አስመሳይ ኢንተራፕት የሲስተም መቆለፍ ወይም ሌላ ያልተገለጸ ኦፕሬሽን ሊያስከትል ይችላል ISR የተሳሳተ ኢንተራፕት ሊያጋጥም ይችላል ብሎ ከግምት ውስጥ ካላስገባ። አስመሳይ ኢንተራፕቶች በብዛት የዋየርድ-ኦ.አር (wired-OR) ውጤት እንደመሆናቸው፣ በእነዚህ አይነት ሲስተሞች ውስጥ ጥሩ የፕሮግራሚንግ ስራ ለ ISR ሁሉንም የኢንተራፕት ምንጮች እንዲያውቅ እና ምንም ውስኔ እንዳይወስድ (ከመመዝገብ ባላለፈ) የትኛውም ምንጮች ኢንተራፕት እያደረጉ ካልሆነ።


የሶፍትዌር ኢንተራፕቶች

የሶፍትዌት ኢንተራፕት የተወሰኑ ትእዛዞችን ወይም የተወሰኑ ሁኔታዎች በሚሟሉበት ጊዜ በፕሮሰሰሩ የሚጠየቅ ነው። እያንዳንዱ የሶፍትዌትር ኢንተራፕት ሲግናል ከተወሰነ የኢንተራፕት ሃንድለር ጋር የተገናኘ ነው። የሶፍትዌር ኢንተራፕት ልዩ የሆነ ትእዛዝን በመፈጸም አውቆ ሊፈጸም ይችላል፣ በዲዛይን፣ ሲፈጸም ኢንተራፕትን ያስከትላል። እንደነዚህ አይነት ትእዛዞች ከንኡስ-ሩቲን ጥሪዎች ጋር በተመሳሳይነት ይሰራሉ እና ለብዙ አይነት አገልግሎቶች ጥቅም ላይ ይውላሉ፣ እንደ የኦፕሬቲንግ ሲስተም አገልግሎቶች እና ከመገልገያ ድራይቨሮች ጋር አብሮ መስራት (ምሳሌ የሚቀመጥ ሚዲያን ማንበብ ወይም መጻፍ)። የሶፍትዌር ኢንተራፕቶች ባልተጠበቀ ሁኔታ በፕሮግራም ማስፈጸም ስህተቶች ምክኒያት ሊመጡ ይችላሉ። እነዚህ ኢንተራፕቶች በአይነተኝነት ትራፖች ወይም ኤክሰፕሽኖች ተብለው ይጠራሉ። ለምሳሌ፣ በዜሮ አካፍል የሚባል ኤክሲፕሽን “ይወገዳል” (የሶፍትዌር ኢንተራፕት ይጠየቃል) ፕሮሰሰሩ የማካፈል ትእዛዝ ተሰጥቶት አካፋዩ ዜሮ ከሆነ። በአይነተኝነት፣ ኦፕሬቲንግ ሲስተሙ እንደዚህ አይነት ኤክሰፕሽኖችን ይይዝና መልስ ይሰጣቸዋል።