რისთვის გამოიყენება irq შეწყვეტის ნომერი. სისტემის შეფერხებები იტვირთება პროცესორი

კონფლიქტი არის სიტუაცია, როდესაც რამდენიმე ობიექტი ერთდროულად ცდილობს იმ რესურსზე წვდომას, რომელიც განკუთვნილია მხოლოდ ერთ მათგანზე. შეწყვეტის კონფლიქტი ხდება მაშინ, როდესაც მრავალი მოწყობილობა იყენებს ერთსა და იმავე შეწყვეტის ხაზს მოთხოვნის სიგნალის გასაგზავნად და არ არსებობს მექანიზმი, რომელიც გაუმკლავდება ერთდროულ მოთხოვნებს. თუ მძღოლი, რომელიც იღებს კონტროლს, არ მუშაობს იმ მოწყობილობასთან, რომელმაც გაგზავნა მოთხოვნა, მაშინ ან ჩავარდება, ან რომელიმე მოწყობილობა უბრალოდ არ მუშაობს.

ჩნდება კითხვა: შეიძლება თუ არა რამდენიმე მოწყობილობამ გამოიყენოს ერთი და იგივე შეწყვეტის ხაზი, თუ ეს პრინციპში შეუძლებელია? ყოველივე ამის შემდეგ, თუ მძღოლს შეუძლია განსაზღვროს ვისგან მოვიდა ზუსტად მოთხოვნა, მაშინ ის უპასუხებს სიგნალებს მხოლოდ "მისი" მოწყობილობიდან, იგნორირებას უკეთებს ყველა დანარჩენს. მაგრამ ეს წინასწარ უნდა იყოს განსაზღვრული, წინააღმდეგ შემთხვევაში კონფლიქტი გარდაუვალია.

ადგილობრივი PCI ავტობუსი შეიქმნა შეწყვეტის გაზიარების გათვალისწინებით. თითოეული PCI მოწყობილობა უნდა მუშაობდეს სწორად იმავე წყვეტის ხაზზე სხვა PCI მოწყობილობებთან. ეს კეთდება შემდეგნაირად: შეწყვეტის ხაზზე სიგნალის არსებობის ფაქტი განისაზღვრება არა ზღვარით, ე.ი. ძაბვის დონის ცვლილება, მაგრამ გარკვეული ძაბვის არსებობის ფაქტი. რამოდენიმე მოწყობილობას შეუძლია ერთდროულად შეცვალოს ძაბვა ხაზში, გახდეს მომსახურების რიგში.

ამრიგად, ერთი და იგივე IRQ- ის გაზიარება რამოდენიმე PCI მოწყობილობით არ არის კონფლიქტი განსაზღვრებით (სურ.). თუმცა, ზოგჯერ პრობლემები წარმოიქმნება. ჯერ ერთი, ყველა PCI მოწყობილობა არ მუშაობს სწორად სხვებთან ერთსა და იმავე შეწყვეტის ხაზზე. მეორეც, ზოგჯერ დრაივერებს აქვთ შეცდომები, რის გამოც მათ არ შეუძლიათ სწორად განსაზღვრონ სიგნალის წყარო, რაც ხელს უშლის სხვა დრაივერებს. მესამე, ყველა მოწყობილობა არ მუშაობს PCI ავტობუსზე; მაგალითად, ISA მოწყობილობებს, რომლებიც მოიცავს, მაგალითად, COM / LPT პორტის კონტროლერებს, არ შეუძლიათ შეაფერხონ სხვებს.

ბრინჯი Win2000 მოწყობილობის მენეჯერი IRQ რუკა - IO PIC Intel 440BX ჩიპსეტი

ბრინჯი Win2000 IRQ MAP - IO APIC - ჩიპსეტის საშუალებით KT266a

შედეგად, შესაძლებელია სიტუაციები, როდესაც კომპიუტერი იწყებს ხშირად გაყინვას, უარს ამბობს რაიმე ფუნქციის შესრულებაზე, ან თუნდაც უბრალოდ ეცემა ე.წ. ლურჯი ეკრანისიკვდილის".

Apic (გაფართოებული პროგრამირებადი შეფერხების კონტროლერი)

როგორც ზემოთ ნაჩვენებია, შეწყვეტის ხაზი კომპიუტერისთვის ძალიან მწირი რესურსია. თუმცა, კომპიუტერული ინდუსტრიის განვითარებასთან ერთად, კომპიუტერში სხვადასხვა გარე მოწყობილობების რაოდენობა მუდმივად იზრდება. მაგალითად, ერთ დედაპლატს შეიძლება ჰქონდეს 5-6 PCI სლოტი, AGP სლოტი, ჩაშენებული IDE კონტროლერი, ჩამონტაჟებული SCSI კონტროლერი, ჩაშენებული 1/2-პორტიანი ქსელის ადაპტერი და ა.შ. და ყველა ამ მოწყობილობას სჭირდება შეფერხებები. 16 IRQ ხაზი თანდათან აკლდა.

APICარის შეწყვეტის კონტროლერი, რომელიც საშუალებას გაძლევთ გამოიყენოთ 16 აპარატურის შეფერხება 16 – ის ნაცვლად. აპარატურის 16 შეფერხების ლიმიტი, რომელიც არ შეცვლილა 1982 წლიდან, ხელს უშლიდა პერსონალურ კომპიუტერში დამატებითი მოწყობილობების დაყენებას. 2001 წლის ბოლოს გამოჩნდა პირველი დედაპლატები APIC– ით.

ბრინჯი სისტემის გაწყვეტა მრავალპროცესორულ გარემოში.

წინა აღწერილობა იყო PIC– ებისთვის, რომლებიც განკუთვნილი იყო არაპროცესორული სისტემებისთვის. თუ სისტემა მოიცავს ორ ან მეტ პროცესორს, ეს მიდგომა დაუშვებელია და საჭიროა უფრო რთული PIC- ები.

ყველაფერი თანამედროვე პროცესორები x86 მოიცავს ადგილობრივ APIC- ს. თითოეულ ადგილობრივ APIC– ს აქვს 32 ბიტიანი რეგისტრი, შიდა საათი, ადგილობრივი ტაიმერი და ორი დამატებითი IRQ ხაზი, LINT0 და LINT1, დაცულია ადგილობრივი APIC შეფერხებისთვის. ყველა ადგილობრივი APIC დაკავშირებულია გარე I / O APIC– თან.

I / O APIC შეიცავს 24 IRQ ხაზს, 24 შეყვანის შეწყვეტის მარშრუტიზაციის ცხრილს, პროგრამირებადი რეგისტრებს და შეტყობინებების ბლოკს APIC ავტობუსში შეტყობინებების გაგზავნისა და მიღებისათვის. 8259A– ს IRQ ქინძისთავებისგან განსხვავებით, შეწყვეტის პრიორიტეტი არ არის მიბმული პინის ნომერზე.

შეწყვეტის მარშრუტიზაციის ცხრილის თითოეული ჩანაწერი შეიძლება ინდივიდუალურად იყოს დაპროგრამებული, რომ აჩვენოს შეწყვეტის ვექტორი და მისი პრიორიტეტი, პროცესორი, რომელიც გაუმკლავდება შეწყვეტას და როგორ შეირჩევა ეს პროცესორი. შეწყვეტის მარშრუტიზაციის ცხრილში მოცემული ინფორმაცია გამოიყენება თითოეული გარე სიგნალის გადასაყვანად შეტყობინებაში, რომელიც მიმართულია ერთი ან რამდენიმე ადგილობრივი APIC– ით APIC ავტობუსით.

სტატიკური განაწილება

IRQ სიგნალი გადაეცემა ადგილობრივ APIC- ებს, რომლებიც ჩამოთვლილია IRQ გადამისამართების ცხრილის შესაბამის ჩანაწერში. შეფერხება მიეწოდება ერთ კონკრეტულ პროცესორს, მრავალ პროცესორს ან ყველა პროცესორს.

დინამიური განაწილება

IRQ სიგნალი მიეწოდება პროცესორის ადგილობრივ APIC- ს, რომელიც ასრულებს პროცესს ყველაზე დაბალი პრიორიტეტით.

თითოეულ ადგილობრივ APIC– ს აქვს პროგრამირებადი სამუშაოს პრიორიტეტების რეგისტრი, რომელიც გამოიყენება მიმდინარე პროცესის პრიორიტეტის გამოსათვლელად. ინტელი ელოდება რომ ეს რეესტრი შეიცვლება ოპერაციული სისტემის ბირთვით ყველა პროცესის გადამრთველზე.

გარდა პროცესორების შეწყვეტისა, მრავალ APIC სისტემა საშუალებას აძლევს პროცესორს წარმოქმნას ინტერპროცესორული შეფერხებები. როდესაც CPU– ს სურს შეწყვიტოს გაგზავნა სხვა პროცესორზე, ის ინახავს შეწყვეტის ვექტორს და სამიზნე ადგილობრივ APIC ID– ს მისი ადგილობრივი APIC– ის შეწყვეტის ბრძანების რეესტრში (ICR). შემდეგ შეტყობინება იგზავნება APIC ავტობუსის საშუალებით სამიზნე ადგილობრივ APIC– ში, რომელიც გასცემს შესაბამის წყვეტს მის CPU– ს.

ბევრი უნიპროცესორული სისტემა ამჟამად შეიცავს I / O APIC ჩიპს, რომლის კონფიგურაცია შესაძლებელია ორი გზით:

1. როგორც სტანდარტული 8259A PIC, რომელიც დაკავშირებულია პროცესორთან. ადგილობრივი APIC გამორთულია და ორი ხაზი LINT0 და LINT1 კონფიგურირებულია როგორც INTR და NMI ქინძისთავები.

2. როგორც სტანდარტული გარე I / O APIC. ადგილობრივი APIC ჩართულია და ყველა გარე შეფერხება მიიღება I / O APIC- ის საშუალებით.

  • ალიევა ელენა ვიქტოროვნა, სტუდენტი
  • უფას სახელმწიფო საავიაციო ტექნიკური უნივერსიტეტი
  • შეწყვეტის კონტროლერი
  • კონტროლიორი
  • HARDWARE ინტერვენციები
  • ჩარევა

შეფერხება ნიშნავს ძირითადი გამოთვლის პროცესის დროებით შეწყვეტას ზოგიერთი დაგეგმილი ან დაუგეგმავი მოქმედების შესასრულებლად, რაც გამოწვეულია აპარატურის ან პროგრამის მუშაობით. შეწყვეტის მექანიზმი მხარდაჭერილია ტექნიკის დონეზე. აპარატურის შეფერხება ხდება როგორც მიკროპროცესორის რეაქცია ზოგიერთი მოწყობილობის ფიზიკურ სიგნალზე (კლავიატურა, სისტემის საათი, კლავიატურა, მყარი დისკიდა ა.შ.), ეს შეფერხებები ასინქრონული ხდება შემთხვევის დროს, ე.ი. მოხდეს შემთხვევით დროს. შეწყვეტის კონტროლერი შექმნილია მომსახურების შემომავალი მოთხოვნების დამუშავებისა და არბიტრაჟისთვის ცენტრალური გადამამუშავებელი ერთეულიპერიფერიული მოწყობილობებიდან. შეფერხებებს აქვთ გარკვეული პრიორიტეტი, რაც საშუალებას აძლევს შეფერხების კონტროლერს უპირატესობა მიანიჭოს ამ მომენტსდრო ერთ მოწყობილობაზე და არა მეორეზე. თანამედროვე კომპიუტერში არის 16 -მდე გარე და პერიფერიული მოწყობილობა, რომლებიც წარმოქმნიან შეფერხებებს.

  • დოკუმენტების ნაკადის ავტომატიზაცია წარმოების საწარმოს საწყობში
  • ზარები-ტექნოლოგიები, მახასიათებლები, გამოყენება და ეფექტურობა
  • საწარმოს ხელშეკრულებების ხელშეწყობისა და ხელშეკრულების გაფორმების იურიდიული დეპარტამენტის საინფორმაციო სისტემის მოდელის შემუშავება

შესავალი

შეფერხება ნიშნავს ძირითადი გამოთვლის პროცესის დროებით შეწყვეტას ზოგიერთი დაგეგმილი ან დაუგეგმავი მოქმედების შესასრულებლად, რაც გამოწვეულია აპარატურის ან პროგრამის მუშაობით. იმ. ეს არის პროცესი, რომელიც დროებით ცვლის მიკროპროცესორს სხვა პროგრამის შესასრულებლად და შემდეგ უბრუნდება შეწყვეტილ პროგრამას. კლავიშზე კლავიშის დაჭერით, ჩვენ ვიწყებთ დაუყოვნებლივ ზარს პროგრამასთან, რომელიც ამოიცნობს კლავიშს, ათავსებს მის კოდს კლავიატურის ბუფერში, საიდანაც იგი იკითხება სხვა პროგრამის მიერ. იმ. მიკროპროცესორი შეწყვეტს შესრულებას გარკვეული ხნით მიმდინარე პროგრამადა გადადის შეწყვეტის დამმუშავებელზე, ე.წ. მას შემდეგ, რაც შეფერხების დამმუშავებელი დაასრულებს მუშაობას, შეწყვეტილი პროგრამა განაახლებს შესრულებას იმ ადგილიდან, სადაც ის შეჩერებულია. შეწყვეტის დამმუშავებლის მისამართი გამოითვლება შეწყვეტის ვექტორული ცხრილიდან.

შეწყვეტის მექანიზმი მხარდაჭერილია ტექნიკის დონეზე. წყაროს მიხედვით, შეფერხებები იყოფა:

  • ტექნიკა- წარმოიქმნება როგორც მიკროპროცესორის რეაქცია ზოგიერთი სიგნალის ფიზიკურ სიგნალზე (კლავიატურა, სისტემის საათი, კლავიატურა, მყარი დისკი და სხვა), ეს შეფერხებები ასინქრონული ხდება შემთხვევის დროს, ე.ი. მოხდეს შემთხვევით დროს;
  • პროგრამული- ეწოდება ხელოვნურად პროგრამის შესაბამისი ბრძანების (int) დახმარებით, გამიზნულია ოპერაციული სისტემის ზოგიერთი მოქმედების შესასრულებლად, არის სინქრონული;
  • გამონაკლისები- არის მიკროპროცესორის რეაქცია არასტანდარტულ ვითარებაზე, რომელიც წარმოიშვა მიკროპროცესორის შიგნით გარკვეული პროგრამის ბრძანების შესრულებისას (გაყოფა ნულზე, შეწყვეტა TF დროშით (კვალი)).

სისტემის აპარატურის გაწყვეტა

შეწყვეტის სისტემა არის პროგრამული უზრუნველყოფისა და აპარატურის ერთობლიობა, რომელიც ახორციელებს შეწყვეტის მექანიზმს.

სისტემის შეწყვეტის აპარატურა მოიცავს:

  • მიკროპროცესორული შედეგები - მათზე წარმოიქმნება სიგნალები, რომლებიც აცნობებენ მიკროპროცესორს ან რომ რაიმე გარე მოწყობილობა "ითხოვს ყურადღებას" (INTR), ან რომ საჭიროა რაიმე მოვლენის ან კატასტროფული შეცდომის (NMI) გადაუდებელი დამუშავება
  • INTR - pin შეწყვეტის მოთხოვნის შეყვანის სიგნალისთვის,
  • NMI - პინი არა masking შეწყვეტის შეყვანის სიგნალი
  • INTA - გამომავალი სიგნალი მიკროპროცესორის მიერ შეწყვეტის სიგნალის მიღების დადასტურების შესახებ (ეს სიგნალი იკვებება 8259A კონტროლერის მიკროცირკულატის ამავე სახელწოდების შესასვლელში;
  • 8259A პროგრამირებადი შეფერხების კონტროლერი (შექმნილია რვა განსხვავებული გარე მოწყობილობიდან სიგნალის გასაწყვეტად; იგი დამზადებულია მიკროცირკულატის სახით; ჩვეულებრივ გამოიყენება სერიულად ორი მიკროცირკულაცია, ამიტომ რიცხვი შესაძლო წყაროებიგარე შეწყვეტა 15-მდე პლუს ერთი არა-ნიღბიანი შეფერხება; ის არის ის, ვინც აყალიბებს შეწყვეტის ვექტორულ რიცხვს და გასცემს მის მონაცემთა ავტობუსს);
  • გარე მოწყობილობები (ტაიმერი, კლავიატურა, მაგნიტური დისკებიდა სხვ.)

შეწყვეტის დამუშავება

შეფერხება იწვევს მოვლენების სერიას, რომელიც ხდება როგორც აპარატურაში, ასევე პროგრამული უზრუნველყოფა... ლეღვი 1 გვიჩვენებს ამ მოვლენების ტიპურ თანმიმდევრობას.

როდესაც I / O მოწყობილობა დასრულდება, ხდება შემდეგი:

  • მოწყობილობა აგზავნის შეწყვეტის სიგნალს პროცესორზე.
  • შეფერხებაზე პასუხის გაცემამდე პროცესორმა უნდა დაასრულოს მიმდინარე ბრძანების შესრულება (იხ. სურათი 1).
  • პროცესორი ამოწმებს წყვეტის არსებობას, ამოიცნობს მას და აგზავნის მოწყობილობას, რომელმაც გამოგზავნა ეს შეწყვეტა, აცნობებს სიგნალს წარმატებული მიღებისა. ეს სიგნალი საშუალებას აძლევს მოწყობილობას გაასუფთაოს მისი შეწყვეტის სიგნალი.
სურათი 1. პროგრამის დრო: ნელი I / O

ახლა პროცესორი უნდა მოემზადოს, რომ გადასცეს კონტროლი შეწყვეტის დამმუშავებელს. თქვენ ჯერ ყველაფერი უნდა შეინახოთ მნიშვნელოვანი ინფორმაცია, რათა მოგვიანებით დაუბრუნდეთ მიმდინარე პროგრამის ადგილს, სადაც ის შეჩერდა. მინიმალური საჭირო ინფორმაცია არის პროგრამის სტატუსის სიტყვა და შემდეგი შესრულებული ბრძანების მისამართი, რომელიც მდებარეობს პროგრამის მრიცხველში. ეს მონაცემები გადადის სისტემის საკონტროლო დასტაზე.

სურათი 2. მარტივი შეფერხების დამუშავება

გარდა ამისა, შეწყვეტის დამმუშავებლის შეყვანის მისამართი, რომელიც პასუხისმგებელია ამ შეფერხების დამუშავებაზე, იტვირთება პროცესორის პროგრამულ მრიცხველში. კომპიუტერის არქიტექტურისა და ოპერაციული სისტემის მოწყობილობის მიხედვით, შეიძლება არსებობდეს ერთი პროგრამა ყველა შეფერხების დამუშავებისათვის, ან იყოს თითოეული პროგრამისთვის საკუთარი დამუშავების პროგრამა და თითოეული სახის შეფერხება. თუ არსებობს მრავალი პროგრამა, რომლითაც შესაძლებელია შეფერხებების დამუშავება, პროცესორმა უნდა განსაზღვროს რომელზე წვდომა მოახდინოს. ეს ინფორმაცია შეიძლება შეიცავდეს წყვეტის სიგნალს; წინააღმდეგ შემთხვევაში, საჭირო ინფორმაციის მისაღებად, პროცესორმა თავის მხრივ უნდა დაკითხოს ყველა მოწყობილობა, რათა დადგინდეს, რომელი მათგანი აგზავნის შეწყვეტას.

როგორც კი ახალი მნიშვნელობა იტვირთება პროგრამის მრიცხველში, პროცესორი გადადის მომდევნო ინსტრუქციურ ციკლზე, იწყებს მისი ამოღებას მეხსიერებიდან. ვინაიდან ბრძანება ამოღებულია იმ ადგილიდან, რომლის რაოდენობა დადგენილია პროგრამის მრიცხველის შინაარსით, კონტროლი გადადის შეფერხების რუტინაზე. ამ პროგრამის შესრულება გულისხმობს შემდეგ ოპერაციებს.

პროგრამის მრიცხველის შინაარსი და პროგრამის შეწყვეტის სტატუსი სიტყვა უკვე ინახება სისტემის დასტაში. თუმცა, ეს არ არის ყველა ის ინფორმაცია, რომელიც ეხება შესრულებადი პროგრამის მდგომარეობას. მაგალითად, თქვენ უნდა შეინახოთ პროცესორის რეგისტრების შინაარსი, რადგან ეს რეგისტრები შეიძლება საჭირო იყოს შეფერხების დამმუშავებლის მიერ. აქედან გამომდინარე, აუცილებელია შეინახოთ ყველა ინფორმაცია პროგრამის მდგომარეობის შესახებ. როგორც წესი, შეწყვეტის დამმუშავებელი იწყებს ყველა რეგისტრის შინაარსის ჩაწერას სტეკზე. სხვა ინფორმაცია, რომელიც უნდა იყოს დაცული, განხილულია მე -3 თავში, "პროცესების აღწერა და კონტროლი". ლეღვი ნაჩვენებია მარტივი მაგალითი, რომელშიც მომხმარებლის პროგრამა წყდება N უჯრედიდან ბრძანების შესრულების შემდეგ. ყველა რეგისტრის შინაარსი, ისევე როგორც მომდევნო ბრძანების მისამართი (N + 1), საერთო ჯამში, არის M სიტყვები, დასტაზე გადავიდა. დასტის მაჩვენებელი შემდეგ განახლდება, რათა მიუთითოს დასტის ახალი ზედა ნაწილი. პროგრამის მრიცხველი ასევე განახლებულია შეწყვეტის რუტინის დაწყების მითითებით.

შეწყვეტის დამმუშავებელს ახლა შეუძლია დაიწყოს მუშაობა. შეფერხებების დამუშავება მოიცავს სტატუსის შესახებ ინფორმაციის შემოწმებას, რომელიც დაკავშირებულია I / O ოპერაციებთან ან სხვა მოვლენებთან, რამაც გამოიწვია შეფერხება. ეს ასევე შეიძლება შეიცავდეს დამატებითი ინსტრუქციის ან შეტყობინების შეტყობინებების გაგზავნას I / O მოწყობილობებზე.

შეწყვეტის დამუშავების დასრულების შემდეგ, სტეკიდან იხსნება ადრე შენახული მნიშვნელობები, რომლებიც კვლავ იდება რეგისტრებში, რითაც აღდგება ის მდგომარეობა, რომელშიც ისინი იმყოფებოდნენ შეწყვეტამდე.

ბოლო ნაბიჯი არის პროგრამის სტატუსის სიტყვისა და პროგრამის მრიცხველის შინაარსის აღდგენა დასტიდან. შედეგად, შეწყვეტილი პროგრამის ბრძანება შესრულდება შემდეგში.

გამომდინარე იქიდან, რომ შეფერხება არ არის პროგრამიდან გამოძახებული ქვეგანყოფილება, მნიშვნელოვანია სრული აღდგენისთვის შეინარჩუნოს შეწყვეტილი პროგრამის ყველა სახელმწიფო ინფორმაცია. თუმცა, შეფერხება შეიძლება მოხდეს მომხმარებლის პროგრამის ნებისმიერ დროს და ნებისმიერ ადგილას. ეს მოვლენა არაპროგნოზირებადია.

შეწყვეტის კონტროლერი

შეწყვეტის კონტროლერი შექმნილია ცენტრალური პროცესორისთვის შემომავალი სერვისის მოთხოვნების დამუშავებისა და არბიტრაჟისათვის პერიფერიული მოწყობილობებიდან. ანალოგიით, შეწყვეტის კონტროლერის ფუნქცია შეიძლება შევადაროთ რომელიმე უფროსის მდივანს. მდივანმა უნდა გადაწყვიტოს, რომელი ვიზიტორი უნდა ჩაირიცხოს უფროსთან პირველად და ვინ მოგვიანებით, უფროსის მიერ მინიჭებული პრიორიტეტებისა და თავად ვიზიტორის სტატუსის საფუძველზე. ანალოგიურად კომპიუტერულ სისტემაში, შესაძლებელია რამდენიმე პერიფერიულმა მოწყობილობამ გააგზავნოს შეწყვეტის სიგნალი ან შეწყვეტის მოთხოვნა. კომპიუტერულ ლიტერატურაში ამ სიგნალს მოიხსენიებენ როგორც IRQ (შეწყვეტის მოთხოვნა).

როგორც ზემოთ აღვნიშნეთ, შეფერხებებს აქვთ გარკვეული პრიორიტეტი, რაც საშუალებას აძლევს შეფერხების კონტროლერებს მიანიჭონ უპირატესობა მოცემულ დროს ერთ მოწყობილობას მეორეზე. თანამედროვე კომპიუტერში არის 16 -მდე გარე და პერიფერიული მოწყობილობებიწარმოქმნის შეფერხებებს. ეს მოწყობილობებია:
–IRQ 0, სისტემის ქრონომეტრი; –IRQ 1, კლავიატურა; –IRQ 2, გამოიყენება კასკადში დაკავშირებული მოწყობილობების გამოსაძიებლად; –IRQ 8, რეალურ დროში საათი; –IRQ 9, დაცულია; –IRQ 10, დაცულია; –IRQ 11, დაცულია; –IRQ 12, ps / 2 - თაგვი; –IRQ 13, თანაპროცესორი; –IRQ 14, მყარი დისკის კონტროლერი; –IRQ 15, დაცულია; –IRQ 3, პორტები COM2, COM4; –IRQ 4, პორტები COM1, COM3; –IRQ 5, პორტი LPT2; –IRQ 6, დისკის კონტროლერი; –IRQ 7, LPT1 პორტი, პრინტერი.

აქ სიგნალები ჩამოთვლილია პრიორიტეტული კლებადობით. თქვენ ხედავთ, რომ IRQ 2 -ის შემდეგ, რასაც მოჰყვა IRQ 8. ფაქტია, რომ ერთ დროს შეწყვეტის კონტროლერი შედგებოდა ორი მიკროცირკულატისგან, ერთი მეორეს უკავშირდებოდა. ეს მეორე მიკროცირკულაცია უკავშირდება IRQ 2 ხაზს, ქმნის კასკადს. ის ემსახურება ხაზებს IRQ8 - IRQ 15. და შემდეგ მიჰყვება პირველი მიკროცირკულაციის ხაზებს.

კონტროლერის მუშაობის შეწყვეტა

შეწყვეტის კონტროლერებიითვლება ჩიპზე დაფუძნებული ინტელი 8259A, რომლებიც გამოიყენებოდა ძველ კომპიუტერებში 386 სერიამდე პროცესორებით. ამ კომპიუტერებს, როგორც წესი, ჰქონდათ 2 8259A ჩიპი, რომლებიც კასკადში იყო დაკავშირებული, ანუ ერთი მეორესთან. ერთ -ერთი მიკროცირკულატი, რომელიც დაკავშირებულია შეწყვეტის მოთხოვნის ხაზის საშუალებით უშუალოდ პროცესორთან არის ოსტატი ან ოსტატი. დანარჩენებს, რომლებიც დაკავშირებულია ბატონთან მსგავსი ქინძისთავებით, ეწოდებათ მონა.


სურათი 3. შეწყვეტის კონტროლერების კავშირის დიაგრამა და მათი ურთიერთქმედება ცენტრალურ პროცესორთან

სურათი 3 გვიჩვენებს შეფერხების კონტროლერების კავშირის დიაგრამას და მათ ურთიერთქმედებას ცენტრალურ პროცესორთან. შეწყვეტის სიგნალები პერიფერიული მოწყობილობებიდან ან მონა კონტროლერებიდან იგზავნება ძირითადი კონტროლერის IR0 - IR7 შესასვლელებში. სამაგისტრო კონტროლერის შიდა ლოგიკა ამუშავებს შემოსულ მოთხოვნებს პრიორიტეტული თვალსაზრისით. თუ მოწყობილობის მოთხოვნის პრიორიტეტი საკმარისია, მაშინ სიგნალი წარმოიქმნება კონტროლერის INT გამომავალზე, რომელიც იკვებება პროცესორის INTR შეყვანისას. წინააღმდეგ შემთხვევაში, მოთხოვნა დაბლოკილია.

თუ პროცესორი იძლევა შეფერხებებს, მაშინ მიმდინარე ბრძანების შესრულების დასრულების შემდეგ, ის ქმნის სიგნალების თანმიმდევრობას INTA ხაზზე, რაც მონა კონტროლერს იმუნურ ხდის შემომავალი ახალი შეწყვეტის მოთხოვნების მიმართ და დამატებით, ინფორმაციას კონტროლერის შიდა რეგისტრებიდან. გამოდის მონაცემთა ხაზში კონტროლერის შიდა რეგისტრებიდან, რომლითაც პროცესორი ცნობს შეფერხების ტიპს.

პროცესორი გადასცემს შეწყვეტის ნებართვას შეფერხების კონტროლერს ავტობუსის კონტროლერის საშუალებით. RD სიგნალი განკუთვნილია შეფერხების კონტროლერისთვის, რომ მოათავსოს შიდა რეგისტრების შინაარსი მონაცემთა ავტობუსზე. WR სიგნალზე, შეწყვეტის კონტროლერი, პირიქით, იღებს მონაცემებს ამავე სახელწოდების ავტობუსიდან და წერს შიდა რეესტრებში. შესაბამისად, ეს გავლენას ახდენს შეწყვეტის კონტროლერის მუშაობის რეჟიმში.

CS შეყვანა დაკავშირებულია მისამართების ავტობუსთან და ეს სიგნალი გამოიყენება კონკრეტული შეწყვეტის კონტროლერის იდენტიფიცირებისათვის. შეყვანა A0 მიუთითებს შეწყვეტის კონტროლერის პორტზე I / O სივრცეში.

შეყვანა IR0 - IR7 შექმნილია პერიფერიული მოწყობილობების და მონა კონტროლერებისგან შეწყვეტის მოთხოვნის მისაღებად.

შედეგები CAS0 - CAS2 შექმნილია კონკრეტული მონა კონტროლერის იდენტიფიცირებისათვის.

სტატიაში განხილულია აპარატურის შეფერხებები და მოწყობილობა, ფუნქციები, შეწყვეტის კონტროლერის მოქმედება. ეს კონტროლერიშეფერხებები გამოჩნდა კომპიუტერთან თავსებადი პირველ კომპიუტერებში. მას შემდეგ, როგორც პროცესორები, ასევე კომპიუტერი ძალიან შეიცვალა, თუმცა გარკვეული წერტილები დარჩა. ამიტომ, იმის გასაგებად და გასათვალისწინებელია 8295A შეწყვეტის კონტროლერის ორგანიზაცია.

ზემოთ მოყვანილი დიაგრამა აჩვენებს სიგნალებს, რომლებიც მოდიან არა მხოლოდ მონასა და მთავარ შეწყვეტის კონტროლერებზე, არამედ სხვა მონებზეც. ამასთან, თქვენს კომპიუტერს ან ლეპტოპს აქვს რეალურად 2 შეფერხების კონტროლერი, როგორც ზემოთ აღინიშნა: სამაგისტრო და მონა. მაგრამ თქვენ შეგიძლიათ შექმნათ თქვენი საკუთარი კომპიუტერული სისტემებირითაც 64 -მდე მონა შეწყვეტის კონტროლერს იყენებს.

თანამედროვე კომპიუტერებში დიდი ხანია კონტროლერის ფუნქციების შეწყვეტაშესრულებულია არა 8259A მიკროცირკულაცია, არამედ სამხრეთ ხიდი. თუმცა, ყველა პროგრამისა და მოწყობილობისთვის, ყველაფერი იგივე რჩება. უფრო მეტიც, შეწყვეტის კონტროლერი არის პროგრამირებადი და შიდა რეგისტრებსა და პორტებზე წვდომა უნდა მოხდეს ისევე, როგორც 8259A კონტროლერი.

დასკვნა

ამ ნაშრომში გათვალისწინებულია შეფერხებები, კერძოდ აპარატურის შეფერხებების დამუშავება და შეწყვეტის დამუშავების პრინციპი. ასევე განიხილება შეწყვეტის კონტროლერები და მათი მუშაობის პრინციპი.

შეფერხება ნიშნავს ძირითადი გამოთვლის პროცესის დროებით შეწყვეტას ზოგიერთი დაგეგმილი ან დაუგეგმავი მოქმედების შესასრულებლად, რაც გამოწვეულია აპარატურის ან პროგრამის მუშაობით. შეწყვეტის მექანიზმი მხარდაჭერილია ტექნიკის დონეზე. აპარატურის შეფერხებები წარმოიქმნება, როგორც მიკროპროცესორის რეაქცია ზოგიერთი მოწყობილობის ფიზიკურ სიგნალზე (კლავიატურა, სისტემის საათი, კლავიატურა, მყარი დისკი და ა. ხდება შემთხვევით დროს.

შეწყვეტის კონტროლერიშექმნილია ცენტრალური პროცესორისთვის შემომავალი სერვისის მოთხოვნების დამუშავებისა და არბიტრაჟისათვის პერიფერიული მოწყობილობებიდან. შეფერხებებს აქვთ გარკვეული პრიორიტეტი, რაც საშუალებას იძლევა შეწყვეტის კონტროლერიუპირატესობა მიანიჭეთ მოცემულ დროს ერთ მოწყობილობას მეორეზე. თანამედროვე კომპიუტერში არის 16 -მდე გარე და პერიფერიული მოწყობილობა, რომლებიც წარმოქმნიან შეფერხებებს.

ბიბლიოგრაფია

  1. ლექცია. აწყვეტინებს. ელ.ფოსტა რესურსი. http://hromatron.narod.ru/_lekcii/prerivania_lekcia_g2013.htm
  2. სისტემა წყვეტს | აპარატურის შეწყვეტა | შეწყვეტის დამუშავება http://life-prog.ru/view_os.php?id=16
  3. შეწყვეტის კონტროლერი. ელ.ფოსტა რესურსი http://sdelaycomputersam.ru/Controller_irq.php,
  4. აწყვეტინებს. შეწყვეტის კონტროლერი. მოწყობილობა, ფუნქციები, მუშაობა. ელ.ფოსტა რესურსი http://sdelaycomputersam.ru/Controller_irq.php
  5. Intel 8259A შეწყვეტის კონტროლერის ელექტრონული რესურსის სტრუქტურა და ინიციალიზაცია https://dev64.wordpress.com/2012/05/30/8259-programming/
კარგია, როდესაც შეკრების ან დაგეგმილი მოდერნიზაციის შემდეგ, კომპიუტერი იწყებს მუშაობას და მუშაობს სტაბილურად და შეცდომების გარეშე პირველად. გაცილებით უარესია, თუ წარმოიქმნება მოულოდნელი პრობლემები - სპონტანური გადატვირთვა და გაყინვა, პროგრამის გაუმართაობა, მოწყობილობების უმოქმედობა ან "უხილავი" და ა. პირველი მიზეზი, რაც ჩვეულებრივ გონებაში მოდის ამ შემთხვევაში არის შეწყვეტილი კონფლიქტი. ჩვენ კარგად ვიცით ამ ფენომენის ბუნება, ვართ თუ არა საკმარისად მომზადებულნი მასთან საბრძოლველად?

რა არის IRQ
შეფერხებები არის სისტემის რეაქციის ძირითადი მექანიზმი განვითარებად მოვლენებზე. აპარატურის შეფერხებები, ჩვეულებრივ IRQ– ებს (Interrupt ReQuest), არის ფიზიკური სიგნალები, რომლის დახმარებითაც მოწყობილობის კონტროლერი აცნობებს პროცესორს რაიმე მოთხოვნის დამუშავების აუცილებლობის შესახებ. პირობითად, შეწყვეტის დამუშავების სქემა ასე გამოიყურება:
1) პროცესორი იღებს შეწყვეტის სიგნალს და მის ნომერს;
2) სპეციალური ცხრილი გამოიყენება მოცემული ნომრით წყვეტის დამუშავებაზე პასუხისმგებელი პროგრამის მისამართის - შეწყვეტის დამმუშავებლისათვის;
3) პროცესორი აჩერებს ამჟამინდელი საქმედა გადადის დამმუშავებლის აღსრულებაზე (ზოგადად, ეს არის ერთგვარი მძღოლი);
4) მძღოლი იღებს წვდომას მოწყობილობაზე და ამოწმებს შეფერხების მიზეზს;
5) იწყება მოთხოვნილი ქმედებები - ინიციალიზაცია, მოწყობილობის კონფიგურაცია, მონაცემთა გაცვლა და ა.
6) მძღოლი გამოდის და პროცესორი უბრუნდება შეწყვეტილ ამოცანას.
ცხადია, რომ შეფერხების მექანიზმის სწორი მუშაობისთვის უნდა დაკმაყოფილდეს ორი პირობა: ჯერ ერთი, მოთხოვნის სიგნალი უნდა მიაღწიოს პროცესორს და, მეორეც, დამმუშავებლის მძღოლმა სწორად უნდა უპასუხოს ამ სიგნალს. კონფლიქტის შემთხვევაში, მეორე პირობა არ არის დაკმაყოფილებული: შეწყვეტის სიგნალი მოდის, მაგრამ მასზე რეაქცია არასწორი აღმოჩნდება, რის შედეგადაც ჩვენ გვაქვს (საუკეთესო შემთხვევაში) არაოპერაციული მოწყობილობა.

Კონფლიქტი
ჩვენ შეგვიძლია ვთქვათ, რომ კონფლიქტი არის სიტუაცია, როდესაც რამდენიმე ობიექტი ერთდროულად ცდილობს იმ რესურსზე წვდომას, რომელიც განკუთვნილია მხოლოდ ერთი მათგანისთვის. შეფერხება ხდება მაშინ, როდესაც მრავალი მოწყობილობა იყენებს ერთსა და იმავე შეწყვეტის ხაზს მოთხოვნის სიგნალის გასაგზავნად და არ არსებობს მექანიზმი, რომელიც გაუმკლავდება ერთდროულ მოთხოვნებს. თუ მძღოლი, რომელიც იღებს კონტროლს, არ მუშაობს იმ მოწყობილობასთან, რომელმაც გამოაგზავნა მოთხოვნა, მაშინ ან ჩავარდება, ან ერთ -ერთი მოწყობილობა უბრალოდ არ მუშაობს.
ჩნდება კითხვა: შეიძლება თუ არა რამდენიმე მოწყობილობამ გამოიყენოს ერთი და იგივე შეწყვეტის ხაზი, თუ ეს პრინციპში შეუძლებელია? ყოველივე ამის შემდეგ, თუ მძღოლს შეუძლია განსაზღვროს ვისგან მოვიდა ზუსტად მოთხოვნა, მაშინ ის უპასუხებს სიგნალებს მხოლოდ "მისი" მოწყობილობიდან, იგნორირებას უკეთებს ყველა დანარჩენს. მაგრამ ეს წინასწარ უნდა იყოს განსაზღვრული, წინააღმდეგ შემთხვევაში კონფლიქტი გარდაუვალია.
ადგილობრივი PCI ავტობუსი შეიქმნა შეწყვეტის გაზიარების გათვალისწინებით. თითოეული PCI მოწყობილობა უნდა მუშაობდეს სწორად იმავე წყვეტის ხაზზე სხვა PCI მოწყობილობებთან. ეს კეთდება შემდეგნაირად: შეწყვეტის ხაზზე სიგნალის არსებობის ფაქტი განისაზღვრება არა ზღვარით, ე.ი. ძაბვის დონის ცვლილება, მაგრამ გარკვეული ძაბვის არსებობის ფაქტი. რამოდენიმე მოწყობილობას შეუძლია ერთდროულად შეცვალოს ძაბვა ხაზში, გახდეს მომსახურების რიგში.
ამრიგად, ერთი და იგივე IRQ გაზიარება მრავალ PCI მოწყობილობას შორის არ არის კონფლიქტი განსაზღვრებით. თუმცა, ზოგჯერ პრობლემები წარმოიქმნება. ჯერ ერთი, ყველა PCI მოწყობილობა არ მუშაობს სწორად სხვებთან ერთსა და იმავე შეწყვეტის ხაზზე. მეორეც, ზოგჯერ დრაივერებს აქვთ შეცდომები, რის გამოც მათ არ შეუძლიათ სწორად განსაზღვრონ სიგნალის წყარო, რაც ხელს უშლის სხვა დრაივერებს. მესამე, ყველა მოწყობილობა არ მუშაობს PCI ავტობუსზე; მაგალითად, ISA მოწყობილობებს, რომლებიც მოიცავს, მაგალითად, COM / LPT პორტის კონტროლერებს, არ შეუძლიათ შეაფერხონ სხვებს. იმის გასაგებად, თუ როგორ შეგიძლიათ თავიდან აიცილოთ ან მოაგვაროთ კონფლიქტები, უნდა გესმოდეთ, როგორ ხდება IRQ– ების მართვა.

აპარატურის შეწყვეტა პერსონალურ კომპიუტერში
Როგორც იცით, პერსონალური კომპიუტერებიდაიწყო IBM კომპიუტერით. მისი არქიტექტურა მოიცავდა რვა აპარატურის შეწყვეტის (IRQ) ხაზს, რომელსაც აკონტროლებდა სპეციალური კონტროლერი. თითოეულ მათგანს მიენიჭა ნომერი, რომელიც განსაზღვრავს წყვეტის პრიორიტეტულობას და მისი დამმუშავებლის მისამართს (ე.წ. შეფერხების ვექტორი). ახალი არქიტექტურა, IBM PC AT, ითვალისწინებდა რვა შეწყვეტის ხაზს, რისთვისაც გამოიყენებოდა მეორე კონტროლერი, რომელიც უკავშირდებოდა პირველი კონტროლერის ერთ -ერთ წყვეტილ ხაზს. სამწუხაროდ, ეს არქიტექტურა იყო უკანასკნელი მას შემდეგ, რაც IBM– მ დაკარგა უნარი მართოს თავისი შექმნილი პლატფორმა, ამიტომ ყველა თანამედროვე კომპიუტერს ჯერ კიდევ აქვს თექვსმეტი შეფერხება, რომელთაგან ერთს მეორე კონტროლერი იყენებს.
IBM PC AT კომპიუტერს ჰქონდა მხოლოდ ერთი ავტობუსი, რომლის საშუალებითაც მოწყობილობებს შეეძლოთ კომუნიკაცია პროცესორთან და მეხსიერებასთან - ISA. შეწყვეტის ხაზების უმეტესობა მინიჭებული იყო სტანდარტულ ISA მოწყობილობებზე, დანარჩენი კი მომავლისთვის იყო დაცული. როდესაც ეს მომავალი დადგა, ცხადი გახდა, რომ ახალი უნივერსალური ავტობუსი PCI– მ მიიღო მხოლოდ ოთხი უფასო შეფერხება. ამრიგად, შეიქმნა შეფერხებების გაზიარების ჭკვიანური მექანიზმი (IRQ გაზიარება) და რიცხვების დინამიური ხელახალი განსაზღვრა (IRQ მართვა ან რუქა).
PCI მოწყობილობის შეწყვეტის კონტროლის მექანიზმის არსი ასეთია. ზოგადად, არსებობს ოთხი ფიზიკური PCI შეწყვეტის ხაზი სახელწოდებით PIRQ0, PIRQ1, PIRQ2 და PIRQ3. ისინი დაკავშირებულია შეწყვეტის კონტროლერთან. თითოეულ PCI მოწყობილობას, თავის მხრივ, აქვს ოთხი კონექტორი, სახელწოდებით INT A, INT B, INT C და INT D. თქვენ შეგიძლიათ შეუერთოთ ხაზები კონექტორებს ნებისმიერი თანმიმდევრობით. მაგალითად, პირველი PCI სლოტისთვის შეგიძლიათ გააკეთოთ შემდეგი გაყვანილობა: PIRQ0 - INT A, PIRQ1 - INT B, PIRQ2 - INT C, PIRQ3 - INT D. ხოლო მეორე - სხვაგვარად: PIRQ0 - INT B , PIRQ1 - INT C, PIRQ2 - INT D, PIRQ3 - INT A. ჩვეულებრივ მოწყობილობას სჭირდება მხოლოდ ერთი შეწყვეტის ხაზი, რომელიც დაკავშირებულია INT A.- სთან, როდესაც პირველ სლოტშია დაინსტალირებული, მოწყობილობა იყენებს PIRQ0 ხაზს, ხოლო მეორე სლოტში, PIRQ1 ხაზი იქნება იმავე პინზე. ამრიგად, მოწყობილობები სხვადასხვა სლოტში გამოიყენებენ სხვადასხვა ფიზიკურ შეწყვეტის ხაზებს. მათ შორის ტექნიკური კონფლიქტი აღმოიფხვრება.
AGP ავტობუსი, ფაქტობრივად, სპეციალიზებული PCI მოდიფიკაცია, ასევე იყენებს ერთ – ერთ PIRQ ხაზს - ჩვეულებრივ PIRQ0.
თანამედროვე სისტემებისთვის ოთხი ხაზი არ არის საკმარისი, ამიტომ ახალი ჩიპსეტები ხშირად იყენებენ რვა PIRQ ხაზს, რომლებიც ერთნაირად არის დაკავშირებული სხვადასხვა კომბინაციით PCI სლოტებთან და საბორტო მოწყობილობებთან.
PIRQ ხაზები დაკავშირებულია შეწყვეტის კონტროლერთან. მათ, ისევე როგორც სხვა ხაზებს, ენიჭებათ ლოგიკური IRQ ნომრები. თუ ერთსა და იმავე ფიზიკურ ხაზზე არის რამოდენიმე მოწყობილობა (და ეს დასაშვებია), მაშინ მათ ყველას ექნება ერთი და იგივე IRQ ნომერი. თუ მოწყობილობები სხვადასხვა ფიზიკურ ხაზზეა, მათ მაინც შეუძლიათ მიიღონ იგივე IRQ ნომრები. ნორმალური მძღოლები მათ საშუალებას მისცემს თავისუფლად იმოძრაონ შესრულების გარეშე, ვინაიდან PCI ავტობუსი მაინც მხოლოდ ერთ მოწყობილობაზეა გადაღებული. მთავარია იმის ამოცნობა, თუ რომელი მოწყობილობიდან მოვიდა სიგნალი.
PIRQ ხაზების ნომრები ავტომატურად ენიჭება ყბადაღებული Plug & Play მექანიზმის წყალობით. მაგრამ ასევე არსებობს Plug & Play ISA მოწყობილობები. მათ ასევე აქვთ უნარი ავტომატურად მიიღონ IRQ ნომერი. მაგრამ მათი შეწყვეტის ხაზი მათ ეკუთვნის ექსკლუზიურად და თუ PIRQ- ის რომელიმე ხაზი მიიღებს იმავე რიცხვს, წარმოიქმნება გადაუჭრელი კონფლიქტი.
ასე რომ, ჩვენ გავარკვიეთ, რომ PCI მოწყობილობები თავისუფალი უნდა იყოს IRQ კონფლიქტის საკითხებისგან. თუ ისინი, რა თქმა უნდა, სწორად მუშაობენ და ეს ყოველთვის ასე არ არის. გარდა ამისა, მძღოლებმა უნდა უზრუნველყონ შეფერხების გაზიარების მექანიზმი. ISA მოწყობილობებმა არ იციან როგორ გაზიარონ შეწყვეტის ხაზები და ამიტომ არიან კონფლიქტის პროვოკატორები. ამრიგად, კონფლიქტების აღმოფხვრის პრობლემა ჩნდება რიცხვების სწორად განაწილებაზე (პრობლემების წყაროა ISA მოწყობილობები და "მრუდი" დრაივერები) ან სხვადასხვა ფიზიკური ხაზების გასწვრივ ("მრუდი" PCI კონტროლერები).
მოდით შევხედოთ როგორ არის გამოყოფილი რიცხვები სისტემაში და როგორ შეგვიძლია გავლენა იქონიოს ამ პროცესზე.

რუქის შეწყვეტა
როგორც ვთქვი, IRQ ნომრების უმეტესობა უკვე დაკავებულია სტანდარტული მოწყობილობებით, უფრო სწორად, მინიჭებული მათი შეწყვეტის ხაზებით. მოდით განვიხილოთ ბრძანება:
0 - სისტემის ქრონომეტრი (ნომერი ყოველთვის დაკავებულია);
1 - კლავიატურა (ნომერი ყოველთვის დაკავებულია);
2 - მეორე შეწყვეტის კონტროლერი (ყოველთვის დაკავებულია);
3 - COM2 პორტი (შესაძლებელია გამორთვა და ნომრის გამოშვება);
4 - COM1 პორტი (გამორთვა შესაძლებელია და ნომრის გამოშვება);
5 - LPT2 პორტი (ჩვეულებრივ ნომერი უფასოა);
6 - ფლოპი დისკის კონტროლერი (შეიძლება გამორთოთ და გამოუშვათ ნომერი);
7 - LPT1 პორტი (თუ არა EPP ან ECP რეჟიმში, მაშინ ნომერი უფასოა);
8 - რეალურ დროში საათი (ყოველთვის დაკავებულია);
9 - უფასო;
10 - უფასო;
11 - უფასო;
12 - PS / 2 მაუსი (შეიძლება იყოს უფასო, თუ ასეთი მაუსი არ არის);
13 - თანაპროცესორი (ყოველთვის დაკავებულია);
14 და 15 - კონტროლერი მყარი დისკები(შეიძლება გამორთული იყოს და ნომერი დაცლილია).
ტიპიურ სისტემაში არის რიცხვები 5, 7, 9-11, ანუ თხუთმეტიდან ხუთი. გარდა ამისა, თქვენ შეგიძლიათ უსაფრთხოდ გამორთოთ COM2 და LPT1 პორტები, გაზარდოთ უფასო ნომრების რაოდენობა შვიდამდე. უფასო არ ნიშნავს იმას, რომ ისინი დაკავებულები არ არიან, უბრალოდ შესაძლებელია მათ შორის უფასო გადახვევა.
ნებისმიერ სისტემას აქვს სამი სტანდარტული PCI მოწყობილობა - ACPI, USB კონტროლერი და ვიდეო ბარათი, რომელთაგან თითოეული მიიღებს ერთ ნომერს. რთული მოწყობილობა (მაგალითად, ხმის კარტა) შეიძლება მოითხოვოს მრავალი ხაზი - INT A, INT B და ა. მათი კომპონენტებისთვის, რომლებიც არ ეწინააღმდეგება ერთმანეთს (ყოველივე ამის შემდეგ, განსხვავებული ფიზიკური ხაზები), მაგრამ სხვა მოწყობილობებთან - ადვილად.
თქვენ შეგიძლიათ გაარკვიოთ, თუ როგორ არის განაწილებული რიცხვები ამჟამად განაწილებული რამდენიმე გზით. კომპიუტერის ჩატვირთვის დასაწყისში გამოჩნდება ტექსტის კონფიგურაციის ცხრილი. ამის შემდეგ არის PCI მოწყობილობების სია, რომელსაც აქვს მინიჭებული IRQ ნომერი (იხილეთ სკრინშოტი). სხვა გზა მუშაობს Windows 9x– ზე. მართვის პანელში არის "სისტემის" ხატი, ხოლო ჩანართი "მოწყობილობები", რომელსაც ეწოდება აპლეტი. ჩვენ ვირჩევთ "კომპიუტერის" მოწყობილობის თვისებებს და ყველა მოწყობილობა იქ იქნება ჩამოთვლილი, რაც მიუთითებს მათ IRQ- ს (იხილეთ სკრინშოტი).
Windows 2000 -ში ჩვენ არ გვაქვს წვდომა მენეჯმენტის შეფერხებაზე, ამიტომ IRQ სიის სანახავად, ჩვენ უნდა გამოვიყენოთ სტანდარტული საინფორმაციო პროგრამა (Control Panel / Administrative Tools / Computer Management / System Information / Hardware Resources).

BIOS IRQ გამოყოფა
სისტემაში IRQ რიცხვები ორჯერ არის განაწილებული ფიზიკურ ხაზებს შორის. პირველად ეს ხდება სისტემის BIOS– ის ჩატვირთვის დროს. თითოეულ Plug & Play მოწყობილობას (ყველა PCI, თანამედროვე ISA, ინტეგრირებული მოწყობილობა), უფრო სწორად მისი შეწყვეტის ხაზები, ენიჭება ერთი ათი შესაძლო რიცხვიდან. თუ არ არის საკმარისი რიცხვები, რამდენიმე ხაზი მიიღებს ერთ საერთო. თუ ეს არის PIRQ ხაზები, მაშინ ნორმალურია - ნორმალური დრაივერების თანდასწრებით და ოპერაციული სისტემის მხარდაჭერით (ამის შესახებ იხილეთ ქვემოთ), ყველაფერი იმუშავებს. და თუ რამდენიმე ISA მოწყობილობა ან PCI და ISA მოწყობილობა მიიღებს ერთსა და იმავე ნომერს, მაშინ კონფლიქტი უბრალოდ გარდაუვალია, შემდეგ კი აუცილებელია ჩარევა განაწილების პროცესში.
უპირველეს ყოვლისა, თქვენ უნდა გამორთოთ ყველა გამოუყენებელი ISA მოწყობილობა (სისტემებში ISA სლოტების გარეშე, ისინი ასევე არსებობს) - პორტები COM1, COM2 და ფლოპი დისკი. თქვენ ასევე შეგიძლიათ გამორთოთ LPT პორტის EPP და ECP რეჟიმები, შემდეგ შესაძლებელი გახდება IRQ7 შეფერხება.
BIOS დაყენებაჩვენ გვჭირდება განყოფილება "PCI / PNP კონფიგურაცია". IRQ ნომრების განაწილებაზე ზემოქმედების ორი ძირითადი გზა არსებობს: დაბლოკოს კონკრეტული ნომერი და პირდაპირ მიანიჭოს PIRQ ხაზის ნომერი.
პირველი მეთოდი ხელმისაწვდომია ყველა BIOS– ისთვის: იპოვეთ ერთეულების სია "IRQ x used by:" (in ახალი BIOSიმალება "IRQ რესურსების" ქვემენიუში). ის შეფერხებები, რომლებიც უნდა მიენიჭოს ექსკლუზიურად ISA მოწყობილობებს, უნდა იყოს მითითებული "Legacy ISA". ამრიგად, PCI მოწყობილობებისთვის ნომრების მინიჭებისას, ეს შეფერხებები გამოტოვებული იქნება. ეს უნდა გაკეთდეს, თუ რომელიმე ISA მოწყობილობა შენარჩუნდება PCI მოწყობილობის ერთ შეწყვეტაში, რის გამოც ორივე არ მუშაობს. შემდეგ ჩვენ ვიპოვით ამ IRQ– ს ნომერს და ვბლოკავთ მას BIOS– ის დაყენებაში. PCI მოწყობილობა გადადის ახალი ნომერი IRQ, მაგრამ ISA მოწყობილობა რჩება. კონფლიქტი მოგვარდა.
მეორე, უფრო მოსახერხებელი გზა IRQ ნომრების გასაკონტროლებლად არის პირდაპირი დავალება. იმავე BIOS Setup ქვემენიუში შეიძლება იყოს ელემენტები ფორმის "Slot X use IRQ" (სხვა სახელები: "PIRQx use IRQ", "PCI Slot x priority", "INT Pin x IRQ").
მათი დახმარებით, ოთხივე PIRQ ხაზს შეიძლება მიენიჭოს კონკრეტული ნომერი. სხვათა შორის, ახალ AwardBIOS 6.00– ში შეგიძლიათ ზუსტად ნახოთ რომელი მოწყობილობები (მათ შორის ჩამონტაჟებული) იყენებენ ამა თუ იმ ხაზს. უბრალოდ შეხედე მარჯვენა მხარე BIOS– ის დაყენების ეკრანი: ფოტო გვიჩვენებს, თუ როგორ მოვახერხე კურსორის გადატანა ერთეულზე „Slot 1/5 use IRQ no.“, ხოლო წარწერა „Display Contr.“ გამოჩნდა მარჯვნივ. ანუ პირველი PIRQ ხაზი გამოიყენება ვიდეო კარტით. თუ ახლა დავდებ რაიმე კონკრეტულ ნომერს "ავტო" -ს ნაცვლად, ვიდეო ბარათი გადავა ამ შეფერხებაზე.

IRQ ნომრების გამოყოფა Windows ინსტრუმენტები
მეორედ ხდება გამოყოფილი რიცხვების გამოყოფა ოპერაციული სისტემა... როგორც ჩემი ექსპერიმენტებიდან ჩანს, Windows "98 იწყებს ჩარევას BIOS- ის მიერ შესრულებულ ქმედებებში" ოჰ მხოლოდ ექსტრემალურ შემთხვევებში. თუ თქვენ გაქვთ ნორმალური BIOS, აქ აღწერილი ტექნიკა არ არის საჭირო.
უნდა აღინიშნოს, რომ IRQ გაზიარების და დინამიური განაწილების მექანიზმების სწორი მოქმედება Windows- ს მოითხოვს ჩიპსეტის აღიარებას. დედაპლატადა გადმოწერილი IRQ მინიპორტი. რაც უფრო უახლესი ვერსიაა Windows, მით მეტი ჩიპსეტი მხარს უჭერს საკუთარ მინიპორტს (PCIIMP.PCI). თუმცა, ყოველთვის უმჯობესია ითამაშოთ უსაფრთხოდ და დააინსტალიროთ უახლესი ჩიპსეტის დრაივერი.
Windows 98 -ში IRQ განაწილების სისტემა კონტროლდება სტანდარტული მოწყობილობის მენეჯერის გამოყენებით. სიაში სისტემური მოწყობილობებითქვენ უნდა იპოვოთ PCI ავტობუსი. მის თვისებებში არის სპეციალური ჩანართი (იხილეთ სკრინშოტი). თუ ყველაფერი სწორად არის კონფიგურირებული, მინი პორტი იქნება ნახსენები იქ ("წარმატებით დატვირთულია") და კონტროლი PCI ავტობუსი(საჭე) ჩართული იქნება. ამრიგად, Windows "98 -ს აქვს საშუალება გააკონტროლოს შეწყვეტილი რიცხვების განაწილება ფიზიკურ ხაზებს შორის. მაგრამ ვინაიდან BIOS ხშირად კარგად უმკლავდება ამას, ეს მექანიზმი არ არის ჩართული.
მაგრამ ზოგჯერ ეს უბრალოდ აუცილებელია. როგორც უკვე ვთქვი, PCI მოწყობილობები არ უნდა იყოს კონფლიქტური, თუ ისინი იყენებენ ერთსა და იმავე ლოგიკურ შეწყვეტას. სხვა რამ არის ISA მოწყობილობები, რომლებიც ასევე მოიცავს COM და LPT პორტებს. თუ მოწყობილობა არ არის Plug & Play, BIOS– მა შეიძლება არ შეამჩნიოს ის იმ წყვეტით, რომლითაც ის დაკავებულია PCI მოწყობილობას. შემდეგ თქვენ უნდა დაჯავშნოთ შეფერხება. ეს კეთდება დისპეტჩერში Windows მოწყობილობები"98: აირჩიეთ" კომპიუტერი "მოწყობილობა, დარეკეთ მის თვისებებზე, გადადით მეორე ჩანართზე. შემდეგ ყველაფერი ნათელია.
ზედმეტობის გარდა, თქვენ შეგიძლიათ პირდაპირ დააყენოთ შეწყვეტის ნომერი მოწყობილობისთვის. ამისათვის თქვენ უნდა იპოვოთ "რესურსების" ჩანართი მის თვისებებში, გამორთოთ ავტომატური რეგულირებადა შეეცადეთ შეცვალოთ მინიჭებული შეწყვეტის ნომერი.
სამწუხაროდ, ეს ყოველთვის არ მუშაობს.
Windows 2000 არის სპეციალური სისტემა. Თუ თქვენ გაქვთ თანამედროვე კომპიუტერიმაშინ ის ალბათ მხარს უჭერს ACPI კონფიგურაციის ინტერფეისს. ამ შემთხვევაში, Windows 2000 საერთოდ უგულებელყოფს BIOS- ის მოქმედებებს და "დაკიდებს" ყველა PCI მოწყობილობას ერთ ლოგიკურ შეფერხებაზე. ზოგადად, ეს მშვენივრად იმუშავებს (როდესაც ISA არ არსებობს), მაგრამ ზოგჯერ პრობლემები წარმოიქმნება. იმისათვის, რომ შეცვალოთ რიცხვების შეწყვეტა, თქვენ უნდა შეცვალოთ HAL ბირთვი, ან ხელახლა დააინსტალიროთ Windows 2000 BIOS– ში ACPI გამორთულით. ბირთვის შეცვლა ხდება შემდეგნაირად: მოწყობილობის მენეჯერში აირჩიეთ "კომპიუტერი" / "კომპიუტერი ACPI- ით", შეცვალეთ დრაივერი " სტანდარტული კომპიუტერი", გადატვირთეთ. თუ ეს არ მუშაობს, თქვენ კვლავ უნდა დააინსტალიროთ Windows 2000.
ვიმედოვნებ, რომ ზემოთ მოყვანილი ინფორმაცია დაგეხმარებათ ტექნიკურ ხარვეზებთან ბრძოლაში. და დაიმახსოვრე: წარმოქმნილი პრობლემების უმეტესობა დაკავშირებულია დაბალი დონე კომპიუტერული ცოდნაკომპიუტერის მასპინძელი. ამიტომ, თქვენ ყოველთვის უნდა ისწრაფოდეთ თვითგანათლებისკენ, მაშინ იქნება ნაკლები პრობლემა, და ის, რაც წარმოიქმნება, არ აღმოჩნდება გადაუჭრელი.

ალბათ ყველაზე გავრცელებული შეწყვეტის კონფლიქტი (IRQ) ასოცირდება თანამედროვე ინტეგრირებულ სერიულ პორტთან COM2 დედაპლატებიდა შიდა მოდემი (იგულისხმება სრულფასოვანი შიდა კომპიუტერის მოდემი და არა პროგრამული მოდემი, რომელსაც ასევე უწოდებენ WinModem). ფაქტია, რომ სრულფასოვან შიდა მოდემს უკვე აქვს გარკვეული პორტის მხარდაჭერა; ნაგულისხმევად, ეს პორტი ენიჭება COM2– ს, სისტემა ასევე ჩვეულებრივ ააქტიურებს მეორე სერიულ პორტს. ამრიგად, სისტემას აქვს ორი იდენტური პორტი ერთიდაიგივე რესურსების გამოყენებით (წყვეტები და I / O პორტის მისამართები).

ამ პრობლემის გადაწყვეტა საკმაოდ მარტივია: შეიყვანეთ სისტემის BIOS Setup და გამორთეთ ჩაშენებული COM2 პორტი. გარდა ამისა, თქვენ შეიძლება გაითვალისწინოთ COM1 პორტის გამორთვა, რომელიც ასევე იშვიათად გამოიყენება. გამოუყენებელი COMx პორტების გამორთვა ერთ -ერთია უკეთესი გზებიგათავისუფლების შეფერხებები (IRQ) სხვა მოწყობილობებისთვის.

კიდევ ერთი გავრცელებული კონფლიქტი არის სერიულ პორტებთან. სტანდარტული შეფერხების რუქის ცხრილში, თქვენ შეიძლება შენიშნეთ, რომ IRQ3 ენიჭება COM2- ს, ხოლო IRQ4 ენიჭება COM1- ს. პრობლემა ჩნდება მაშინ, როდესაც სისტემას ემატება დამატებითი COM3 და / ან COM4 პორტები და თავისუფალი შეფერხებები მათ ხელით არ ენიჭებათ (სტანდარტულად ისინი იყენებენ ერთსა და იმავე IRQ3 და IRQ4).

დამატებით გართულებებს იწვევს ის ფაქტი, რომ ზოგიერთი პორტის ბარათი არ იძლევა IRQ3 და IRQ4 გარდა სხვა შეფერხებების შერჩევის საშუალებას. შედეგად, IRQ3 COM4– ზე და IRQ4 COM3– ზე მინიჭება იწვევს კონფლიქტს COM1– თან და COM2– თან, რომლებიც ასევე იყენებენ ამ შეფერხებებს: ორ პორტს არ შეუძლია ერთდროულად გამოიყენოს ერთი და იგივე შეწყვეტის კონტროლის არხი. DOS– ში მუშაობისას ეს ნებადართული იყო, რადგან მასში მხოლოდ ერთი ამოცანის შესრულება იყო შესაძლებელი, მაგრამ Windows და OS / 2– ში ეს სრულიად შეუძლებელია. იმისათვის, რომ გამოიყენოთ ორზე მეტი პარალელური COM პორტი კომპიუტერში, საჭიროა მრავალსაფეხურიანი დაფა, რომელიც, დანართი 3 -ით და მე -4 -ით, დამატებით შეფერხებების გამოყენების საშუალებას იძლევა. შეფერხებების გაზიარება, პრინციპში, მისაღებია იმ მოწყობილობებისთვის, რომლებიც ჩვეულებრივ არ მუშაობენ ერთდროულად (ან განუწყვეტლივ). პორტები არ მიეკუთვნება ამ მოწყობილობის კატეგორიას. თქვენ შეგიძლიათ გამოიყენოთ შეწყვეტა სკანერისა და მოდემისთვის ერთად, მაგრამ ამ შემთხვევაში, თუ ისინი ერთდროულად გამოიყენება, იქნება კონფლიქტი. საბედნიეროდ, მოწყობილობების უმეტესობა, რომლებიც ადრე იყენებდნენ პორტებს (როგორიცაა თაგვები, ეტიკეტების პრინტერები და ა გარე მოდემები) ახლა დაუკავშირდით USB პორტებს, ასე რომ წარმოიქმნება პრობლემები მრავალი პორტის მხარდაჭერის აუცილებლობისას. თანამედროვე მომხმარებლებიკომპიუტერი არ უნდა გამოჩნდეს.

თუ თქვენ ჯერ კიდევ გჭირდებათ მრავალი სერიული პორტის გამოყენება, საუკეთესო გამოსავალიიქნება მრავალსაფეხურიანი დაფის შეძენა, რომელიც ან იძლევა არაკონფლიქტური შეფერხებების დაყენების შესაძლებლობას, ან შეიცავს საკუთარ პროცესორს, რომელიც საშუალებას იძლევა ერთი სისტემის შეწყვეტა გადანაწილდეს რამდენიმე პორტს შორის. ზოგიერთ ძველ მრავალფუნქციურ ბარათს ჰქონდა ISA ინტერფეისი, მაგრამ დღეს ისინი შეიცვალა PCI ბარათებით, რომლებიც ასევე უზრუნველყოფენ შესრულების უპირატესობებს.

თუ ცხრილში ნახსენები რომელიმე მოწყობილობა აკლია (მაგალითად, ჩაშენებული მაუსის პორტი (IRQ12) ან მეორე პარალელური პორტი (IRQ5)), მათი შეფერხებები შეიძლება ჩაითვალოს ხელმისაწვდომად. მაგალითად, მეორე პარალელური პორტი ძალზე იშვიათია, ამიტომ მასზე მინიჭებული IRQ5 შეწყვეტა ყველაზე ხშირად გამოიყენება ხმის ადაპტერის ბარათისთვის. ანალოგიურად, IRQ15 შეფერხება გამოიყენება მეორადი IDE კონტროლერისთვის. თუ სისტემაში არ არსებობს დისკის მოწყობილობა, რომელიც დაკავშირებულია მეორად IDE არხთან, შეგიძლიათ გამორთოთ ეს კონტროლერი BIOS– ში, რითაც გაათავისუფლებთ სხვა შეწყვეტას სხვა მოწყობილობებისთვის.

უნდა აღინიშნოს, რომ შეწყვეტის პარამეტრების შემოწმების უმარტივესი გზაა Windows Device Manager. Windows 95b– ზე არის HWDIAG პროგრამა, ხოლო Windows 98 – ზე და ზემოთ მოგვიანებით ვერსიები- კონსოლის სისტემის ინფორმაცია. ეს კომუნალური საშუალებები საშუალებას გაძლევთ მიიღოთ დეტალური ანგარიში სისტემაში რესურსების გამოყენების შესახებ, ასევე დაინსტალირებული დრაივერებიმოწყობილობები და Windows რეესტრის ჩანაწერები თითოეული მოწყობილობისთვის. ვ Windows სისტემები XP და Vista– სთვის, სისტემის ინფორმაციას იძლევა Msinfo32 პროგრამა.

თანამედროვე სისტემაში ISA კონექტორების გარეშე გაზიარებული შეფერხებების მაქსიმალური რაოდენობის უზრუნველსაყოფად, მიყევით ამ ნაბიჯებს სისტემის BIOS– თან მუშაობისას.

  1. გამორთეთ სისტემის BIOS– ში გამოუყენებელი პორტები. მაგალითად, თუ სერიული და პარალელური პორტების ნაცვლად გამოიყენება USB პორტები, გამორთეთ ისინი. შედეგად, სამამდე შეფერხების გათავისუფლება შესაძლებელია.
  2. მიუთითეთ IRQ შეწყვეტა, რომელიც გამოქვეყნებულია 1 -ლი საფეხურით PCI / PnP მოწყობილობებისთვის ხელმისაწვდომი შეფერხებების სიაში. დამოკიდებულია იმაზე BIOS ვერსიაშესაბამისი პარამეტრები ხელმისაწვდომია PnP / PCI რესურსების გამორიცხვის ან PnP / PCI კონფიგურაციის განყოფილებაში.
  3. გააქტიურეთ პარამეტრების გადატვირთვის ვარიანტი, რათა გაასუფთაოთ IRQ მარშრუტიზაციის ცხრილები CMOS მეხსიერებაში.
  4. შეინახეთ ცვლილებები და გამოდით BIOS– ის დაყენების პროგრამიდან.

კარგია, როდესაც შეკრების ან დაგეგმილი მოდერნიზაციის შემდეგ, კომპიუტერი იწყებს მუშაობას და მუშაობს სტაბილურად და შეცდომების გარეშე პირველად. გაცილებით უარესია, თუ წარმოიქმნება მოულოდნელი პრობლემები - სპონტანური გადატვირთვა და გაყინვა, პროგრამის გაუმართაობა, მოწყობილობების უმოქმედობა ან "უხილავი" და ა. პირველი მიზეზი, რაც ჩვეულებრივ გონებაში მოდის ამ შემთხვევაში არის შეწყვეტილი კონფლიქტი. ჩვენ კარგად ვიცით ამ ფენომენის ბუნება, ვართ თუ არა საკმარისად მომზადებულნი მასთან საბრძოლველად?

რა არის IRQ


შეფერხებები არის სისტემის რეაქციის ძირითადი მექანიზმი განვითარებად მოვლენებზე. აპარატურის შეფერხებები, ჩვეულებრივ IRQs (Interrupt ReQuest), არის ფიზიკური სიგნალები, რომლებიც გამოიყენება მოწყობილობის კონტროლერის მიერ პროცესორის ინფორმირებისათვის გარკვეული მოთხოვნის დამუშავებისათვის. პირობითად, შეწყვეტის დამუშავების სქემა ასე გამოიყურება:
1) პროცესორი იღებს შეწყვეტის სიგნალს და მის ნომერს;
2) სპეციალური ცხრილი გამოიყენება მოცემული ნომრით წყვეტის დამუშავებაზე პასუხისმგებელი პროგრამის მისამართის - შეწყვეტის დამმუშავებლისათვის;
3) პროცესორი აჩერებს მიმდინარე მუშაობას და გადადის დამმუშავებლის შესრულებაზე (ზოგადად, ეს არის ერთგვარი დრაივერი);
4) მძღოლი იღებს წვდომას მოწყობილობაზე და ამოწმებს შეფერხების მიზეზს;
5) იწყება მოთხოვნილი ქმედებები - ინიციალიზაცია, მოწყობილობის კონფიგურაცია, მონაცემთა გაცვლა და ა.
6) მძღოლი გამოდის და პროცესორი უბრუნდება შეწყვეტილ ამოცანას.
ცხადია, რომ შეფერხების მექანიზმის სწორი მუშაობისთვის უნდა დაკმაყოფილდეს ორი პირობა: ჯერ ერთი, მოთხოვნის სიგნალი უნდა მიაღწიოს პროცესორს და, მეორეც, დამმუშავებლის მძღოლმა სწორად უნდა უპასუხოს ამ სიგნალს. კონფლიქტის შემთხვევაში, მეორე პირობა არ არის დაკმაყოფილებული: შეწყვეტის სიგნალი მოდის, მაგრამ მასზე რეაქცია არასწორი აღმოჩნდება, რის შედეგადაც ჩვენ გვაქვს (საუკეთესო შემთხვევაში) არაოპერაციული მოწყობილობა.

Კონფლიქტი

ჩვენ შეგვიძლია ვთქვათ, რომ კონფლიქტი არის სიტუაცია, როდესაც რამდენიმე ობიექტი ერთდროულად ცდილობს იმ რესურსზე წვდომას, რომელიც განკუთვნილია მხოლოდ ერთი მათგანისთვის. შეფერხება ხდება მაშინ, როდესაც მრავალი მოწყობილობა იყენებს ერთსა და იმავე შეწყვეტის ხაზს მოთხოვნის სიგნალის გასაგზავნად და არ არსებობს მექანიზმი, რომელიც გაუმკლავდება ერთდროულ მოთხოვნებს. თუ მძღოლი, რომელიც იღებს კონტროლს, არ მუშაობს იმ მოწყობილობასთან, რომელმაც გამოაგზავნა მოთხოვნა, მაშინ ან ჩავარდება, ან ერთ -ერთი მოწყობილობა უბრალოდ არ მუშაობს.
ჩნდება კითხვა: შეიძლება თუ არა რამდენიმე მოწყობილობამ გამოიყენოს ერთი და იგივე შეწყვეტის ხაზი, თუ ეს პრინციპში შეუძლებელია? ყოველივე ამის შემდეგ, თუ მძღოლს შეუძლია განსაზღვროს ვისგან მოვიდა ზუსტად მოთხოვნა, მაშინ ის უპასუხებს სიგნალებს მხოლოდ "მისი" მოწყობილობიდან, იგნორირებას უკეთებს ყველა დანარჩენს. მაგრამ ეს წინასწარ უნდა იყოს განსაზღვრული, წინააღმდეგ შემთხვევაში კონფლიქტი გარდაუვალია.
ადგილობრივი PCI ავტობუსი შეიქმნა შეწყვეტის გაზიარების გათვალისწინებით. თითოეული PCI მოწყობილობა უნდა მუშაობდეს სწორად იმავე წყვეტის ხაზზე სხვა PCI მოწყობილობებთან. ეს კეთდება შემდეგნაირად: შეწყვეტის ხაზზე სიგნალის არსებობის ფაქტი განისაზღვრება არა ზღვარით, ე.ი. ძაბვის დონის ცვლილება, მაგრამ გარკვეული ძაბვის არსებობის ფაქტი. რამოდენიმე მოწყობილობას შეუძლია ერთდროულად შეცვალოს ძაბვა ხაზში, გახდეს მომსახურების რიგში.
ამრიგად, ერთი და იგივე IRQ გაზიარება მრავალ PCI მოწყობილობას შორის არ არის კონფლიქტი განსაზღვრებით. თუმცა, ზოგჯერ პრობლემები წარმოიქმნება. ჯერ ერთი, ყველა PCI მოწყობილობა არ მუშაობს სწორად სხვებთან ერთსა და იმავე შეწყვეტის ხაზზე. მეორეც, ზოგჯერ დრაივერებს აქვთ შეცდომები, რის გამოც მათ არ შეუძლიათ სწორად განსაზღვრონ სიგნალის წყარო, რაც ხელს უშლის სხვა დრაივერებს. მესამე, ყველა მოწყობილობა არ მუშაობს PCI ავტობუსზე; მაგალითად, ISA მოწყობილობებს, რომლებიც მოიცავს, მაგალითად, COM / LPT პორტის კონტროლერებს, არ შეუძლიათ შეაფერხონ სხვებს. იმის გასაგებად, თუ როგორ შეგიძლიათ თავიდან აიცილოთ ან მოაგვაროთ კონფლიქტები, უნდა გესმოდეთ, როგორ ხდება IRQ– ების მართვა.

აპარატურის შეწყვეტა პერსონალურ კომპიუტერში


მოგეხსენებათ, პერსონალური კომპიუტერები დაიწყო IBM PC– ით. მისი არქიტექტურა მოიცავდა რვა აპარატურის შეწყვეტის (IRQ) ხაზს, რომელსაც აკონტროლებდა სპეციალური კონტროლერი. თითოეულ მათგანს მიენიჭა ნომერი, რომელიც განსაზღვრავს წყვეტის პრიორიტეტულობას და მისი დამმუშავებლის მისამართს (ე.წ. შეფერხების ვექტორი). ახალი არქიტექტურა, IBM PC AT, ითვალისწინებდა რვა შეწყვეტის ხაზს, რისთვისაც გამოიყენებოდა მეორე კონტროლერი, რომელიც უკავშირდებოდა პირველი კონტროლერის ერთ -ერთ წყვეტილ ხაზს. სამწუხაროდ, ეს არქიტექტურა იყო უკანასკნელი მას შემდეგ, რაც IBM– მ დაკარგა უნარი მართოს მის მიერ შექმნილი პლატფორმის განვითარება, ამიტომ ყველა თანამედროვე კომპიუტერს ჯერ კიდევ აქვს თექვსმეტი შეფერხება, რომელთაგან ერთს მეორე კონტროლერი იყენებს.
IBM PC AT კომპიუტერს ჰქონდა მხოლოდ ერთი ავტობუსი, რომლის საშუალებითაც მოწყობილობებს შეეძლოთ კომუნიკაცია პროცესორთან და მეხსიერებასთან - ISA. შეწყვეტის ხაზების უმეტესობა მინიჭებული იყო სტანდარტულ ISA მოწყობილობებზე, დანარჩენი კი მომავლისთვის იყო დაცული. როდესაც ეს მომავალი დადგა, აღმოჩნდა, რომ ახალმა უნივერსალურ PCI ავტობუსმა მიიღო მხოლოდ ოთხი უფასო შეფერხება. ამრიგად, შეიქმნა შეფერხებების გაზიარების ჭკვიანური მექანიზმი (IRQ გაზიარება) და რიცხვების დინამიური ხელახალი განსაზღვრა (IRQ მართვა ან რუქა).
PCI მოწყობილობის შეწყვეტის კონტროლის მექანიზმის არსი ასეთია. ზოგადად, არსებობს ოთხი ფიზიკური PCI შეწყვეტის ხაზი სახელწოდებით PIRQ0, PIRQ1, PIRQ2 და PIRQ3. ისინი დაკავშირებულია შეწყვეტის კონტროლერთან. თითოეულ PCI მოწყობილობას, თავის მხრივ, აქვს ოთხი კონექტორი სახელწოდებით INT A, INT B, INT C და INT D. თქვენ შეგიძლიათ შეუერთოთ ხაზები კონექტორებს ნებისმიერი თანმიმდევრობით. მაგალითად, პირველი PCI სლოტისთვის შეგიძლიათ გააკეთოთ შემდეგი გაყვანილობა: PIRQ0 - INT A, PIRQ1 - INT B, PIRQ2 - INT C, PIRQ3 - INT D. ხოლო მეორე - სხვაგვარად: PIRQ0 - INT B , PIRQ1 - INT C, PIRQ2 - INT D, PIRQ3 - INT A. ჩვეულებრივ მოწყობილობას სჭირდება მხოლოდ ერთი შეწყვეტის ხაზი, რომელიც დაკავშირებულია INT A.- სთან, როდესაც პირველ სლოტშია დაინსტალირებული, მოწყობილობა იყენებს PIRQ0 ხაზს, ხოლო მეორე სლოტს ექნება PIRQ1 ხაზი იმავე პინზე. ამრიგად, მოწყობილობები სხვადასხვა სლოტში გამოიყენებენ სხვადასხვა ფიზიკურ შეწყვეტის ხაზებს. მათ შორის ტექნიკური კონფლიქტი აღმოიფხვრება.
AGP ავტობუსი, ფაქტობრივად, სპეციალიზებული PCI მოდიფიკაცია, ასევე იყენებს ერთ – ერთ PIRQ ხაზს - ჩვეულებრივ PIRQ0.
თანამედროვე სისტემებისთვის ოთხი ხაზი არ არის საკმარისი, ამიტომ ახალი ჩიპსეტები ხშირად იყენებენ რვა PIRQ ხაზს, რომლებიც ერთნაირად არის დაკავშირებული სხვადასხვა კომბინაციით PCI სლოტებთან და დაფაზე ჩაშენებულ მოწყობილობებთან.
PIRQ ხაზები დაკავშირებულია შეწყვეტის კონტროლერთან. მათ, ისევე როგორც სხვა ხაზებს, ენიჭებათ ლოგიკური IRQ ნომრები. თუ ერთსა და იმავე ფიზიკურ ხაზზე არის რამოდენიმე მოწყობილობა (და ეს დასაშვებია), მაშინ მათ ყველას ექნება ერთი და იგივე IRQ ნომერი. თუ მოწყობილობები სხვადასხვა ფიზიკურ ხაზზეა, მათ მაინც შეუძლიათ მიიღონ იგივე IRQ ნომრები. ნორმალური მძღოლები მათ საშუალებას მისცემს თავისუფლად იმოძრაონ შესრულების გარეშე, ვინაიდან PCI ავტობუსი მაინც მხოლოდ ერთ მოწყობილობაზეა გადაღებული. მთავარია იმის ამოცნობა, თუ რომელი მოწყობილობიდან მოვიდა სიგნალი.
PIRQ ხაზების ნომრები ავტომატურად ენიჭება ყბადაღებული Plug & Play მექანიზმის წყალობით. მაგრამ ასევე არსებობს Plug & Play ISA მოწყობილობები. მათ ასევე აქვთ უნარი ავტომატურად მიიღონ IRQ ნომერი. მაგრამ მათი შეწყვეტის ხაზი მათ ეკუთვნის ექსკლუზიურად და თუ PIRQ- ის რომელიმე ხაზი მიიღებს იმავე რიცხვს, წარმოიქმნება გადაუჭრელი კონფლიქტი.
ასე რომ, ჩვენ გავარკვიეთ, რომ PCI მოწყობილობები თავისუფალი უნდა იყოს IRQ კონფლიქტის საკითხებისგან. თუ ისინი, რა თქმა უნდა, სწორად მუშაობენ და ეს ყოველთვის ასე არ არის. გარდა ამისა, მძღოლებმა უნდა შეუწყონ ხელი შეწყვეტის გაზიარებას. ISA მოწყობილობებმა არ იციან როგორ გაზიარონ შეწყვეტის ხაზები და ამიტომ არიან კონფლიქტის პროვოკატორები. ამრიგად, კონფლიქტების აღმოფხვრის პრობლემა ჩნდება რიცხვების სწორად განაწილებაზე (პრობლემების წყაროა ISA მოწყობილობები და "მრუდი" დრაივერები) ან სხვადასხვა ფიზიკური ხაზების გასწვრივ ("მრუდი" PCI კონტროლერები).
მოდით შევხედოთ როგორ არის გამოყოფილი რიცხვები სისტემაში და როგორ შეგვიძლია გავლენა იქონიოს ამ პროცესზე.

რუქის შეწყვეტა

როგორც ვთქვი, IRQ ნომრების უმეტესობა უკვე დაკავებულია სტანდარტული მოწყობილობებით, უფრო სწორად, მინიჭებული მათი შეწყვეტის ხაზებით. მოდით განვიხილოთ ბრძანება:
0 - სისტემის ქრონომეტრი (ნომერი ყოველთვის დაკავებულია);
1 - კლავიატურა (ნომერი ყოველთვის დაკავებულია);
2 - მეორე შეწყვეტის კონტროლერი (ყოველთვის დაკავებულია);
3 - COM2 პორტი (შესაძლებელია გამორთვა და ნომრის გამოშვება);
4 - COM1 პორტი (გამორთვა შესაძლებელია და ნომრის გამოშვება);
5 - LPT2 პორტი (ჩვეულებრივ ნომერი უფასოა);
6 - ფლოპი დისკის კონტროლერი (შეიძლება გამორთოთ და გამოუშვათ ნომერი);
7 - LPT1 პორტი (თუ არა EPP ან ECP რეჟიმში, მაშინ ნომერი უფასოა);
8 - რეალურ დროში საათი (ყოველთვის დაკავებულია);
9 - უფასო;
10 - უფასო;
11 - უფასო;
12 - PS / 2 მაუსი (შეიძლება იყოს უფასო, თუ ასეთი მაუსი არ არის);
13 - თანაპროცესორი (ყოველთვის დაკავებულია);
14 და 15 - მყარი დისკის კონტროლერი (შეიძლება გამორთოთ და გამოუშვათ ნომერი).
ტიპიურ სისტემაში არის რიცხვები 5, 7, 9-11, ანუ თხუთმეტიდან ხუთი. გარდა ამისა, თქვენ შეგიძლიათ უსაფრთხოდ გამორთოთ COM2 და LPT1 პორტები, გაზარდოთ უფასო ნომრების რაოდენობა შვიდამდე. უფასო არ ნიშნავს იმას, რომ ისინი დაკავებულები არ არიან, უბრალოდ შესაძლებელია მათ შორის უფასო გადახვევა.
ნებისმიერ სისტემას აქვს სამი სტანდარტული PCI მოწყობილობა - ACPI, USB კონტროლერი და ვიდეო ბარათი, რომელთაგან თითოეული მიიღებს ერთ ნომერს. კომპლექსურ მოწყობილობას (მაგალითად, ხმის კარტს) შეიძლება დასჭირდეს რამდენიმე ხაზი - INT A, INT B და ა. მათი კომპონენტებისთვის, რომლებიც არ ეწინააღმდეგება ერთმანეთს (ყოველივე ამის შემდეგ, განსხვავებული ფიზიკური ხაზები), მაგრამ სხვა მოწყობილობებთან - ადვილად.
თქვენ შეგიძლიათ გაარკვიოთ, თუ როგორ არის განაწილებული რიცხვები ამჟამად განაწილებული რამდენიმე გზით. კომპიუტერის ჩატვირთვის დასაწყისში გამოჩნდება ტექსტის კონფიგურაციის ცხრილი. ამის შემდეგ არის PCI მოწყობილობების სია, რომელსაც აქვს მინიჭებული IRQ ნომერი (იხილეთ სკრინშოტი). სხვა გზა მუშაობს Windows 9x– ზე. მართვის პანელში არის "სისტემის" ხატი, ხოლო ჩანართი "მოწყობილობები", რომელსაც ეწოდება აპლეტი. ჩვენ ვირჩევთ "კომპიუტერის" მოწყობილობის თვისებებს და ყველა მოწყობილობა იქ იქნება ჩამოთვლილი, რაც მიუთითებს მათ IRQ- ს (იხილეთ სკრინშოტი).
Windows 2000 -ში ჩვენ არ გვაქვს წვდომა მენეჯმენტის შეფერხებაზე, ამიტომ IRQ სიის სანახავად, ჩვენ უნდა გამოვიყენოთ სტანდარტული საინფორმაციო პროგრამა (Control Panel / Administrative Tools / Computer Management / System Information / Hardware Resources).

BIOS IRQ გამოყოფა

სისტემაში IRQ რიცხვები ორჯერ არის განაწილებული ფიზიკურ ხაზებს შორის. პირველად ამას აკეთებს სისტემის BIOS სისტემის ჩატვირთვისას. თითოეულ Plug & Play მოწყობილობას (ყველა PCI, თანამედროვე ISA, ინტეგრირებული მოწყობილობა), უფრო სწორად მისი შეწყვეტის ხაზს, ენიჭება ერთი ათი შესაძლო რიცხვიდან. თუ არ არის საკმარისი რიცხვები, რამდენიმე ხაზი მიიღებს ერთ საერთო. თუ ეს არის PIRQ ხაზები, მაშინ ნორმალურია - ნორმალური დრაივერების თანდასწრებით და ოპერაციული სისტემის მხარდაჭერით (ამის შესახებ იხილეთ ქვემოთ), ყველაფერი იმუშავებს. და თუ რამდენიმე ISA მოწყობილობა ან PCI და ISA მოწყობილობა მიიღებს ერთსა და იმავე ნომერს, მაშინ კონფლიქტი უბრალოდ გარდაუვალია, შემდეგ კი აუცილებელია ჩარევა განაწილების პროცესში.
უპირველეს ყოვლისა, თქვენ უნდა გამორთოთ ყველა გამოუყენებელი ISA მოწყობილობა (სისტემებში ISA სლოტების გარეშე, ისინი ასევე არსებობს) - პორტები COM1, COM2 და ფლოპი დისკი. თქვენ ასევე შეგიძლიათ გამორთოთ LPT პორტის EPP და ECP რეჟიმები, შემდეგ შესაძლებელი გახდება IRQ7 შეფერხება.
BIOS Setup– ში ჩვენ გვჭირდება განყოფილება "PCI / PNP კონფიგურაცია". IRQ ნომრების განაწილებაზე ზემოქმედების ორი ძირითადი გზა არსებობს: დაბლოკოს კონკრეტული ნომერი და პირდაპირ მიანიჭოს PIRQ ხაზის ნომერი.
პირველი მეთოდი ხელმისაწვდომია ყველა BIOS– ისთვის: იპოვეთ ერთეულების ჩამონათვალი „IRQ x used by:“ (ახალ BIOS– ში ის იმალება ქვემენიუში „IRQ რესურსები“). ის შეფერხებები, რომლებიც უნდა მიენიჭოს ექსკლუზიურად ISA მოწყობილობებს, უნდა იყოს მითითებული "Legacy ISA". ამრიგად, PCI მოწყობილობებისთვის ნომრების მინიჭებისას, ეს შეფერხებები გამოტოვებული იქნება. ეს უნდა გაკეთდეს იმ შემთხვევაში, თუ ISA მოწყობილობა შენარჩუნდება PCI მოწყობილობის ერთ შეწყვეტაში, რის გამოც ორივე არ მუშაობს. შემდეგ ჩვენ ვიპოვით ამ IRQ– ს ნომერს და ვბლოკავთ მას BIOS– ის დაყენებაში. PCI მოწყობილობა გადადის ახალ IRQ ნომერზე, მაგრამ ISA მოწყობილობა რჩება. კონფლიქტი მოგვარდა.
მეორე, უფრო მოსახერხებელი გზა IRQ ნომრების გასაკონტროლებლად არის პირდაპირი დავალება. იმავე BIOS Setup ქვემენიუში შეიძლება იყოს ელემენტები ფორმის "Slot X use IRQ" (სხვა სახელები: "PIRQx use IRQ", "PCI Slot x priority", "INT Pin x IRQ").
მათი დახმარებით, ოთხივე PIRQ ხაზს შეიძლება მიენიჭოს კონკრეტული ნომერი. სხვათა შორის, ახალ AwardBIOS 6.00– ში შეგიძლიათ ზუსტად ნახოთ რომელი მოწყობილობები (მათ შორის ჩამონტაჟებული) იყენებენ ამა თუ იმ ხაზს. უბრალოდ გადახედეთ BIOS– ის დაყენების ეკრანის მარჯვენა მხარეს: ფოტო გვიჩვენებს, თუ როგორ გადავათრიე კურსორი ერთეულზე „სლოტი 1/5 გამოიყენე IRQ no.“, ხოლო სიტყვები „ჩვენების კონტრ.“ გამოჩნდა მარჯვნივ. ანუ პირველი PIRQ ხაზი გამოიყენება ვიდეო კარტით. თუ ახლა დავდებ რაიმე კონკრეტულ ნომერს "ავტო" -ს ნაცვლად, ვიდეო ბარათი გადავა ამ შეფერხებაზე.

IRQ– ების გამოყოფა Windows– ის გამოყენებით

მეორედ შეწყვეტის ნომრები გამოყოფილია ოპერაციული სისტემის მიერ. როგორც ჩემი ექსპერიმენტებიდან ჩანს, Windows "98 იწყებს ჩარევას BIOS- ის მიერ შესრულებულ ქმედებებში" ოჰ მხოლოდ ექსტრემალურ შემთხვევებში. თუ თქვენ გაქვთ ნორმალური BIOS, აქ აღწერილი ტექნიკა არ არის საჭირო.
უნდა აღინიშნოს, რომ IRQ გაზიარების და დინამიური განაწილების მექანიზმების სათანადოდ მუშაობისთვის Windows- მა უნდა ამოიცნოს დედაპლატის ჩიპსეტი და ჩატვირთოს IRQ მინიპორტი. რაც უფრო უახლესი ვერსიაა Windows, მით მეტი ჩიპსეტი მხარს უჭერს საკუთარ მინიპორტს (PCIIMP.PCI). თუმცა, ყოველთვის უმჯობესია ითამაშოთ უსაფრთხოდ და დააინსტალიროთ უახლესი ჩიპსეტის დრაივერი.
Windows 98 -ში IRQ განაწილების სისტემას აკონტროლებს სტანდარტული მოწყობილობის მენეჯერი. იპოვეთ PCI ავტობუსი სისტემის მოწყობილობების სიაში. მის თვისებებში არის სპეციალური ჩანართი (იხილეთ სკრინშოტი). თუ ყველაფერი სწორად არის კონფიგურირებული, იქ აღინიშნება მინი პორტი ("წარმატებით დატვირთულია") და ჩართული იქნება PCI ავტობუსის მართვა (საჭე). ამრიგად, Windows "98 -ს აქვს საშუალება გააკონტროლოს ფიზიკურ ხაზებს შორის შეწყვეტილი რიცხვების გამოყოფა. მაგრამ ვინაიდან BIOS ასევე კარგად უმკლავდება ამას, ეს მექანიზმი არ არის ჩართული.
მაგრამ ზოგჯერ ეს უბრალოდ აუცილებელია. როგორც უკვე ვთქვი, PCI მოწყობილობები არ უნდა იყოს კონფლიქტური, თუ ისინი იყენებენ ერთსა და იმავე ლოგიკურ შეწყვეტას. სხვა რამ არის ISA მოწყობილობები, რომლებიც ასევე მოიცავს COM და LPT პორტებს. თუ მოწყობილობა არ არის Plug & Play, BIOS– მა შეიძლება არ შეამჩნიოს ის იმ წყვეტით, რომლითაც ის დაკავებულია PCI მოწყობილობას. შემდეგ თქვენ უნდა დაჯავშნოთ შეფერხება. ეს კეთდება Windows 98 მოწყობილობის მენეჯერში: შეარჩიეთ კომპიუტერული მოწყობილობა, დარეკეთ მის თვისებებზე, გადადით მეორე ჩანართზე.
ზედმეტობის გარდა, თქვენ შეგიძლიათ პირდაპირ დააყენოთ შეწყვეტის ნომერი მოწყობილობისთვის. ამისათვის თქვენ უნდა იპოვოთ "რესურსების" ჩანართი მის თვისებებში, გამორთოთ ავტომატური კონფიგურაცია და სცადოთ შეცვალოთ მინიჭებული შეწყვეტის ნომერი.
სამწუხაროდ, ეს ყოველთვის არ მუშაობს.
Windows 2000 არის სპეციალური სისტემა. თუ თქვენ გაქვთ თანამედროვე კომპიუტერი, მაშინ ის ალბათ მხარს უჭერს ACPI კონფიგურაციის ინტერფეისს. ამ შემთხვევაში, Windows 2000 საერთოდ უგულებელყოფს BIOS- ის მოქმედებებს და "დაკიდებს" ყველა PCI მოწყობილობას ერთ ლოგიკურ შეფერხებაზე. ზოგადად, ეს მშვენივრად იმუშავებს (როდესაც ISA არ არსებობს), მაგრამ ზოგჯერ პრობლემები წარმოიქმნება. იმისათვის, რომ შეცვალოთ რიცხვების შეწყვეტა, თქვენ უნდა შეცვალოთ HAL ბირთვი, ან ხელახლა დააინსტალიროთ Windows 2000 BIOS– ში ACPI გამორთულით. ბირთვის შეცვლა ხდება შემდეგნაირად: მოწყობილობის მენეჯერში აირჩიეთ "კომპიუტერი" / "კომპიუტერი ACPI", შეცვალეთ დრაივერი "სტანდარტული კომპიუტერი", გადატვირთეთ. თუ ეს არ მუშაობს, თქვენ კვლავ უნდა დააინსტალიროთ Windows 2000.
ვიმედოვნებ, რომ ზემოთ მოყვანილი ინფორმაცია დაგეხმარებათ ტექნიკურ ხარვეზებთან ბრძოლაში. და დაიმახსოვრე: წარმოქმნილი პრობლემების უმეტესობა დაკავშირებულია კომპიუტერის მფლობელის კომპიუტერული ცოდნის დაბალ დონესთან. ამიტომ, თქვენ ყოველთვის უნდა ისწრაფოდეთ თვითგანათლებისკენ, მაშინ იქნება ნაკლები პრობლემა, და ის, რაც წარმოიქმნება, არ აღმოჩნდება გადაუჭრელი.