Hirdetés

Hirdetés

Új hozzászólás Aktív témák

  • Czo

    őstag

    válasz envagyok #94296 üzenetére

    Nem tud illetve tud is. Minden, csak szoftver kerdese.

    Amikor egy ISA eszkoz megszakitast kezdemenyez, akkor meghuzza az adott megszakitashoz tartozo vezeteket, ezzel jelezve, az adott vezeteken a megszakitasi kerelmet. Ekkor a CPU abbahagyja amit csinal, megkeresi a tablazataban, hogy adott megszakitashoz milyen memoriacimen levo kodot kell futtatni, majd odaugrik. Az ott futo kodnak pedig a feladata, hogy elvegezze az erre az esetre vonatkozo teendoket.

    PCI-nal szinten hasonlo a helyzet, de a PCI-ra mar nincs odavezetve az osszes IRQ, hanem osszesen 4 IRQ vonal van, ezeket huzogatja az osszes kartya (korabban mar leirtam, hogy ezek el vannak csusztatva slotonkent).

    Tehat, pl. DOS alatt, beraktal a gepbe egy SCSI kartyat (amire mondjuk optikai drive es scanner van dugva) odajumperelve a 7-esre, beraktal a gepb egy Sound Blaster 2.0-t, szinten a 7-esre jumperelve. Erre azt mondanad, hogy utkozik, ami igaz is, meg nem is. Ezutan fogod a jatekot, beallitod a Sound Blastert, a 7-es IRQ-ra es elkezdessz jatszani. Azt fogod tapasztalni, hogy a jatek mukodik. Ezutan kilepsz a jatekbol, ujrainditod a gepet, azta a menupontot valasztod, amikor be lesz toltve a SCSI kartya drivere, meg a CD drivere is. Megint elinditod a jatekot, most viszont azt tapasztalod, hogy lefagy esetleg az elso hangszelet ismetlodik fagyas kozben.

    Mindez az IRQ utkozes miatt van. Az elso esetben, a jatek volt az elso, aki beallitotta a megszakitasi rutin cimet a 7-es IRQ-hoz, a jatek pedig feltetelezte, hogy minden esemeny, ami meghuzza a 7-es IRQ-t, az a hangkartya lesz. Mivel a nem hasznalt SCSI kartya nem rangatja a megszakitast, igy ez a feltetelezes teljesult is. A masodik probalkozasnal, a SCSI driver betoltese beallitotta a megszakitaskezelo rutin cimet, majd amikor elinditottad a jatekot, az atallitotta a memoriacimet a sajatjara. Ezutan az elso pillanatban, amikor nem a hangkartya, hanem az elo SCSI kartya produkalt egy megszakitast, a jatek lefagyott, mert a megszakitasi kerelemkor, a hangkartyat kezdte el piszkalni, ami nem abban az allapotnban volt, hogy ezzel foglalkozni tudjon.

    De ugyonilyen "meglepetes" ert, amikor volt a geped, azon volt a COM1 es a COM2, majd vettel egy 14400-es ISA modemet, es beszerelted. Mivel ez hozott magaval sajat COM portot, ezt bejumperelted COM3-nak. A COM1 es a COM3 ugyonazt a megszakitast hasznalja. Szepen elkezdtel BBS-rol toltogetni, a modemeddel ejszakankent, minden mukodott rendben, ahogy kell. Majd felraktad a Windowst, amihez kell eger, tehat az egerdriver ra is ult a COM1-hez tartozo megszakitasra. Majd elkezdted hasznalni a modemet es ketto fajta kimenetellel talalkoztal. Vagy orokre megallt az eger abban a sessionben (tehat ujra kellett inditani a gepet pl.), vagy csak addig allt meg, amig a modem aktiv volt. Ez attol fuggott, hogy a Windowsban hasznakt driver, hogy ult ra az IRQ-ra. Ha a driver elmenti, hogy mi volt ott elotte, majd visszaallitja, ha vegzett, akkor az eger "magahoztert", amikor a kapcsolatot bontottad. Ezert is volt pl reklamvideoja az IBM-nek az elso PS/2 idejen, hogy modem hasznalatnal is megy az eger, hiszen a PS/2-es eger nem a COM1-en van.

    PCI-nal is hasonlo a helyzet, ha a kartya nem jol informalja PCI busz vezerlot a megszakitasrol, vagy a szoftver nem foglalkozik azzal, hogy megkerdezze rendesen a buszvezerlot, akkor osszeakadnak a PCI kartyak is. Ha atsorrendezed, akkor at tudod rakni a kartyat masik megszakitasra , amit ha nem hasznal semmi/senki, akkor nyert ugyed van. Itt jon az, amit fentebb is irtam, az elcsusztatott megszakitasi vonalak. A sloton van 'A', 'B', 'C' es 'D' vonal, a karyan szinten, majd az elso slotnal ABCD a bekotes, a kovetkezo slotnal BCDA, az ezutaninal CDAB, majd jon a DABC es mivel korbeertunk, a kovetkezo megint ABCD lesz. Igy, ha a kartyaid az 'A' vonalat vezerlik, akkor mas-mas slotba rakva, mas-mas fizikai IRQ vonalhoz rendelodik az 'A' vonal. Ezert van pl hogy az 5 slotos Abit lapnal, van 2 slot, amelyikbe ha berakod, semmi nem valtozik. (ezt tudod allitani, a PIRQ_A beallitasoknal a BIOS-okban).
    Semmi voodoo nincs itt, semmi zavaro, meglepetest okozo tenyezo. Az egyes eszkozok speckoit elolvasgatva, ezek szepen le vannak irva.

Új hozzászólás Aktív témák