[ Pobierz całość w formacie PDF ]
.Na najniższym poziomie do zasobów tych zaticzasię:" Adresy w pamięci operacyjnej" Kanały przerwań IRQ (Interrupt ReQest)" Kanały DMA (Direct Memory Access)" Adresy w przestrzeni wejścia/wyjściaZasoby te wymieniłem w kołejności, w jakiej sprawiają one najczęściejkłopoty.Najbardziej dokucztiwe z nich są konflikty z pamięcią, które zpewnością są najtrudniejsze do złokałizowania i usunięcia.Są one tematemrozdziału 7.pt. Pamięć", gdzie zostały opisane w kolejności od najczęściejdo najrzadziej występujących.Przerwania IRQ sprawiają więcejprobtemów niż kanały DMA, ponieważ większe jest na nie zapotrzebowanieurządzeń - praktycznie wszystkie karty rozszerzające wykorzystują przerwania.Mniej probłemów sprawiają kanały DMA, są one rzadziejwykorzystywane przez karty i zazwyczaj jest więcej kanałów dowykorzystania, niż potrzeba.Porty wejścia/wyjścia są najczęściej używaneprzez wszystkie urządzenia podłączone do magistrałi, jednak ztechnicznego punktu widzenia jest ich aż 64 kB, co powinno zaspokoićwiększość wymagań.Wspótne dła wszystkich zasobów jest to, że każdy znich powinien być wykorzystywany przez unikatowy moduł urządzenia tubkartę, zasoby nie mogą bądz też nie powinny być współdziełone.Zasoby są wymagane i wykorzystywane przez wiełe różnych elementówarchitektury komputera.Karty rozszerzające komunikują się przy ichpomocy z komputerem w cełu wykonania okreśłonego zadania.Niewszystkie karty mają takie same zapotrzebowanie na zasoby.Np.portszeregowy wymaga jednego przerwania i jednego adresu l/O, podczas gdykarta dzwiękowa potrzebuje dodatkowo jeszcze jednego kanału DMA.Większość kart sieciowych wymaga 16-kilobajtowego bloku adresów wpamięci, pojedynczego przerwania i jednego adresu I/O.W miarę wzrostu złożoności komputera gwałtownie rośnieprawdopodobieństwo wystąpienia konfliktu w dostępie do zasobów.Konfigurowanie komputera z kartą dzwiękową i sieciową możeprzyprawić mniej wtajemniczonych użytkowników o ból głowy.Abyumożłiwić rozwiązywanie konfliktów, większość kart pozwala namodyfikację przyznawanych im zasobów za pomocą odpowiedniegoustawiania zworek i przełączników na karcie.Na szczęście w większościprzypadków możliwe jest prawidłowe skonfigurowanie komputera, o ile wiesię, jak należy postępować.Przerwania (IRQ)Kanały IRQ, okreśłane też jako przerwania sprzętowe, są wykorzystywaneprzez różne urządzenia w celu zasygnalizowania procesorowi koniecznościwykonania określonej akcji.Procedura ta jest podobna do podnoszenia rękiprzez ucznia, który w ten sposób prosi o udzielenie mu głosu.184Kanały przerwań na płycie głównej i w gniazdach rozszerzających sąreprezentowane przez odpowiednie przewody etektryczne.W momenciewystąpienia przerwania kon-trotę nad komputerem przejmuje specjałnaprocedura obsługi przerwania.W procedurze tej zapisywana jest zawartośćwszystkich rejestrów procesora na stosie, po czym odczytywana jest tzw.tabłica wektorów przerwań.Tablica ta zawiera łistę adresów w pamięciodpowiadających kanałom przerwań.W załeżności od numeruwywołanego przerwania wykonywany jest skok do odpowiedniegopodprogramu.Wskazniki do elementów tabłicy wektorów przerwań wskazują na adressterownika programowego (ang.software driver) w pamięci, który jestwykorzystywany do obsługi przerwania wygenerowanego przez kartę.Np.wprzypadku karty sieciowej wskaznik ten może wskazywać na adressterownika załadowanego do pamięci i odpowiedzialnego za obsługę karty.W przypadku kontrolera dysku wektor może wskazywać na obszar koduBIOS-u, który obsługuje kontrołer.Po skończeniu wykonywania podprogramu obsługi przerwaniaoprogramowanie nadzorujące przywraca ze stosu poprzednie wartościrejestrów procesora i wznowiona zostaje czynność wykonywana przedwystąpieniem przerwania.Dzięki przerwaniom komputer potrafi reagować na zdarzenia zewnętrzne bezkonieczności ciągłego oczekiwania na wystąpienia zdarzenia.Za każdymrazem, kiedy w porcie szeregowym znajdzie się bajt danych do odczytania,generowane jest przerwanie, aby przesłany bajt został odczytany przednadejściem następnego.Trzeba pamiętać, że w niektórych przypadkachurządzenie podłączone do portu - w szczególności modem z układemUART 16550 lub wyższym - może zawierać bufor, który pozwala na zapi-sanie w nim większej ilości znaków, zanim wystąpi przerwanie.Przerwaniom sprzętowym przyporządkowano numery oznaczającepriorytety.Oprócz kilku wyjątków przerwanie o najwyższym prioryteciema najniższy numer.Przerwania0 wyższym priorytecie mają pierwszeństwo nad przerwaniami o niższympriorytecie 1 mogą przerywać ich obsługę.W rezultacie w komputerze możewystąpić kilka przerwań, z których każde kolejne zagnieżdża się wpoprzednim.Dopuszczenie do zagnieżdżania przerwań może prowadzić do przepełnieniastosu (zbyt wiele przerwań zostało wygenerowanych w zbyt krótkim czasie), naskutek czego wystąpi wewnętrzny błąd przepełnienia stosu i komputer się zawiesi.Jeżeli błąd taki zdarza się w systemie DOS.to można się przed nimzabezpieczyć wykorzystując parametr STACK w pliku CONFIG.SYS,dzięki któremu możemy powiększyć dostępny obszar stosu.Błąd ten niepowinien się zdarzyć w systemie Windows 95 czy Windows NT.Magistrala ISA wykrywa przerwania jako sygnały pojawiając się nawyprowadzeniach gniazda rozszerzającego.Każde z wyprowadzeńodpowiada innemu kanałowi przerwań.Ponieważ płyta w większościkomputerów nie potrafi rozpoznać, w którym gniezdzie znajduje się kartagenerująca przerwanie, mogłaby się zdarzyć pomyłka, gdyby więcej niż jednakarta była ustawiona na pojedyncze przerwanie.Z tego powodu każde prze-rwanie jest przeznaczone do wykorzystania przez pojedyncze urządzenie i wwiększości przypadków przerwania nie mogą być współdzielone. 185Czasami urządzenie zewnętrzne może dopuszczać do współdzieleniaprzerwań.Niektóre urządzenia pozwalają na to, jednak większość - nie.Wynika to ze sposobu, w jaki przerwania są zgłaszane magistrati ISA.System poziomowej obsługi przerwań w komputerach z magistraią MCApozwała na pełne współdziełenie przerwań.W komputerze MCAwszystkie karty mogą mieć ustawione to samo przerwanie i niespowoduje to konfliktu ani innego problemu.Komputery z magistrałąEISA mogą opcjonalnie wykorzystywać poziomową obsługę przerwań,która pozwata na ich współdziełenie, dotyczy to jednak tytko kart EISA
[ Pobierz całość w formacie PDF ]