3.5.6. Programibilni brojači, prekidi (IRQ)

 Natrag  PC sustav  Dalje


Za rad računala potrebito je generirati takt signale, kojima se period može programski upravljati. U tu svrhu PC računalo ima programibilni trokanalni generator.

Trostruki programibilni brojač preko kanala '0' osigurava precizan takt za sat, drugi brojač preko kanala '1' upravlja uključivanjem DMA sklopa, a treći brojač preko kanala '2' daje tonski signal malom zvučniku u kućištu.

Svaki od brojača ima posebni taktni ulaz na koji se dovodi osnovni signal iz generatora takta mikroprocesora, koji se zatim pod programskom kontrolom umnožava ili dijeli u svakom od brojača. Brojači su vezani za podatkovnu i dio adresne sabirnice, kako bi se mogli unijeti novi sadržaji u njihove registre ili pročitati podaci iz istih, te preko adresnih veza izmijenio mod rada brojača, ukupno 6 modova rad; brojanje unazad, unaprijed, programski kontrolirano početno stanje i drugo.

U rad mikroprocesora ukomponiran je upravljač prekida (dva upravljača s ukupno 16 zahtijeva za prekid) koji svojim signalom procesoru skreće pozornost na neku pojavu na osnovu koje računalo donosi odluku što treba da radi i koju rutinu, uglavnom iz BIOS-a, treba da izvrši. Na ovaj način izbjegnuto je stalno praćenje pojava od strane računala (polling) i ubrzava se rad sustava. Primjer je tipkovnica koja se u prosjeku rijetko koristi. Ako se pritisne neka tipka generira se signal prekida (Interrupt request - IRQ) i šalje zahtjev računalu da izvrši programsku rutinu za tipkovnicu, a također i računalo generira u određenim vremenski razmacima prekid da ustanovi stanje tipkovnice.

Signal za prekid ukazuje mikroprocesoru da neki od U / I uređaja zahtijeva pažnju. Kada mikroprocesor primi zahtjev za prekid zaustavlja daljnje izvođenje tekuće operacije i sprema u svoje registre poziciju kod koje je tekuća operacija prekinuta. Tada izvršava programsku rutinu prekida ISR (Interrupt Service Routine). Koju će programsku rutinu izvršiti zna prema broju prekida kojeg dobiva kao odgovor u vidu binarnog broja od 2 byte-a kada se obrati uređaju koji je zahtijevao prekid. U podacima upisanim u prvih 1024 byte-a radne memorije (tablica prekida) upisano je u slijedu 256 adresa od po 4 byte-a, te će procesor npr. za broj prekida 7116 potražiti 113. mjesto od početka popisa te izvršiti programsku rutinu kojoj je početna adresa upisana na 113. mjestu. Početna adresa ISR naziva se VEKTOR prekida. Po odrađivanju programske rutine prekida procesor očitava iz svog registra poziciju na kojoj je prekinuo tekuću operaciju i nastavlja njeno izvršavanje.

Kako više periferija može zahtijevati prekid, uveden je pojam prioriteta prekida tako da se u slučaju više istovremenih zahtijeva za prekid prvo izvršava onaj koji ima najveći prioritet a to je prekid s najmanjim brojem.

Prekidi se po vrsti dijele u tri grupe:

             1. Prekidi na zadanim memorijskim lokacijama (BIOS-DOS).
             2. Programski prekidi koje kreira korisnik.
             3. Sklopovski prekidi, koji se mogu dozvoliti/zabraniti.

Mikroprocesor ima dva ulaza za prekide:

             I. Ulaz za nemaskirajuće sklopovske prekide.
            II. Ulaz za maskirajuće prekide sklopovlja sustava preko 
                kojeg se postavlja zahtjev za programski prekid.

Nemaskirajući prekidi, neposredno utječu na procesor, nastaju dijeljenjem s nulom, greškom u memoriji pri provjeri parnosti ili pri prijenosu kroz U / I kanal. Imaju najveći prioritet u izvršavanju.

Maskirajući (sklopovski) prekidi ostvaruju se djelovanjem dodatnih uređaja u računalu i njima upravlja UPRAVLJAČ PREKIDA. Upravljač prekida analizira prekid prema prioritetu, signalizira mikroprocesoru prekid najvećeg prioriteta i kad ga mikroprocesor odobri, upravljač prekida postavlja na podatkovnu sabirnicu broj prekida (0-255) koji po prihvatu prekida upravljaču šalje periferija. Mikroprocesor očita broj prekida te iz tablice prekida čita vektor prekida i izvršava pripadnu ISR.

Dodatni uređaji povezani su na sabirnicu preko dugačkog višekontaktnog konektora u obliku utora (slot) u koji se utakne tiskana pločica (kartica) na kojoj je uređaj sklopovski izveden npr. upravljač diska, fax/modem ili mrežna kartica. Svi slot-ovi povezani su sa sabirnicama na matičnoj ploči i vodovima koji omogućuju slanje signala za prekid (ne broja prekida).

Sklopovske prekide ostvaruju osnovni i dodatni upravljač, prvi kontrolira prekide od 0-7, a drugi od 8-15 ali preko drugog priključka osnovnog, kako je prikazano u tablici prekida poredanih prema prioritetu počevši od najvećeg prioriteta do najmanjeg.

 Sklopovski Prekidi
Tablica 3.5.16 Sklopovski prekidi PC-AT konfiguracije.

Uobičajeno su IRQ10 i IRQ15 raspoloživi za opću nadogradnju, mada se mogu iskoristiti i IRQ5, IRQ11 i IRQ12 ako uređaji za koje su namijenjeni nisu ugrađeni. Neke od tehnologija, kao IO-APIC (I/O Advanced Programmable Interrupt Controller), uz odgovarajuću matičnu ploču i operativni sustav, kao Windows XP ili Linux, daju podršku višeprocesorskim računalima i služi za slanje dodatnih zahtijeva prekida prema različitim CPU i između njih samih. Osim navedenog i PCI-IRQ prekidi - PIRQ (16-23) mogu se slati kroz sustav za potrebe USB, SATA i PCI-Express uređaja, bez preklapanja sa standardnim IRQ sustavom (0-15). PIRQ je u osnovi proširenje prethodne tablice. U procesore je ukomponiran Local APIC koji može podržati do 224 uporabljiva IRQ zahtijeva za međusobnu komunikaciju do 60 procesora. Navedenu tehnologija koristi firma Intel u Pentium Procesorima, a postoje i funkcionalno slične verzije drugih proizvođača (kao OPEN Programmable Interrupt Controller).

Sklopovske prekide zahtijevaju komponente računala koje u osnovi rade samostalno ali traže obradu od mikroprocesora kad zatraže prekid. Svi sklopovi istog tipa zatražit će prekid prema prethodnoj tablici, npr. za sve diskove biti će isti prekid pod brojem IRQ14 i dojaviti će se upravljaču prekida kao prisutnost signala na 'četrnaestoj žici - IRQ14' sabirnice prekida. Dio ostalih vektora prekida, koji nisu dio sklopovske strukture računala, prikazan je na slici 3.5.17.

 Vektori prekida
Tablica 3.5.17 Vektori prekida PC-AT konfiguracije.

Ako se tijekom izvršavanja prekidnog programa dojavi novi prioritetniji prekid, prekida se trenutno aktivan prekid, izvršava prioritetniji, potom nastavlja započeti prekidni program te na kraju tekući program.

Postoje programski prekidi koje generira program sa ciljem da pozove neke dodatne programe na izvršavanje. Programski prekidi mogu da imaju broj prema tablici vektora prekida koristeći već definirane brojeve i rutine DOS-a i BIOS-a, ili će se definirati novi prekid koji nije 'zauzet' u tablici prekida kome će se dodijeliti rutina koju je izradio korisnik. Tako se po pritisku tipke tipkovnice realizira prekid IRQ1 i odrađuje program na 4 byte-noj adresi upisanoj na adresi od 24-27 u BIOS-u. Četiri adresirana prolaza (porta) za sklopovlje računala. Ako se kreira novi prekidni broj i pripadni mu program i pridruže prekidu IRQ1 može se s novim programom izmjeniti 'raspored slova' na tipkama tipkovnice, odnosno novim programom izmjeni se kod tipki u odnosu na kod kojeg ima originalan prekidni program.

DMA, upravljač prekida, U / I upravljač, upravljač tipkovnice, i ostali logički sklopovi tvore skupinu elektroničkih sklopova najčešće integriranih u jednom većem zajedničkom kućištu nazvanom ASIC (Application Specific Integrated Circuit) ili CHIPSET (skup-set čipova). Poneke matične ploče imaju u svom sastavu integrirane sklopove koji se uobičajeno izvode kao kartice periferije npr. upravljač tvrdog diska, upravljač serijskog i paralelnog kanala i slično. To je gotovo pravilo na svim PCI matičnim pločama. Dizajn i organizacija chipset-a od temeljnog su značaja za kvalitetu i performanse cjelokupnog računalnog sustava.

Koncept BIOS-a PC računala datira još od 80' godina kada su dizajnirana prva PC računala. S vremenom se je pokazalo da ima svoja ograničenja glede dodavanja sklopovlja računalu, te je već u samom početku implementiran još jedan dodatni upravljač sklopovskih prekida. No veliki problem bili su veliki poslužiteljski resursi. Moderni uređaji vrlo su raznoliki po sučeljima i namjenama te je oko 2005. godine firma Intel predstavila novi koncept EFI (Extensible Firmware Interface) kao nadogradnju BIOS-a. Na temelju EFI specifikacije ustanovljena je UEFI specifikacija (Unified Extensible Firmware Interface), međusloj između BIOS-a i operativnog sustava, koju su prihvatili gotovo svi proizvođači računala i računalne opreme, te su riješena brojna postojeća ograničenja kao: raznolikost operativnih sustava, veličina adresnog prostora CPU i raznolikost izvedbi (x86, x86-64, ARM), pristup velikim diskovnim resursima (MBR-GPT) i drugi. Kao najvažnije uveden je 'boot manager' mehanizam koji je zadužen učitavanje operativnog sustava i svih potrebnih upravljačkih programa, a značajno je omogućavanje nadogradnje. Dakle, počelo je s poslužiteljima i s vremenom postalo standard i za kućna računala bilo s Windows, Linux ili Mac operativnim sustavom.

 Natrag
 Tražila
 Dalje

 Početak
 KAZALO  Informatička abeceda
 
Citiranje ove stranice:
Radić, Drago. " Informatička abeceda " Split-Hrvatska.
{Datum pristupa}. <https://informatika.buzdo.com/>.
Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost