|
|
|
Typisk er der 7 udvidelsessokler på et almindeligt bundkort. I hver af disse sokler kan der monteres én adapter. Printkortet mases simpelthen ned i soklen, hvorefter dets kantconnectorer forbinder det til bussen.
Herunder ses etnetkort.Det er et ethernet-kort med PCI-interface, så det passer i en PCI-slot på en pentium-maskinen. Kortet (der koster 198,00) gør, at pc'en kan forbindes med andre pc'er, bare de også har netkort monteret.
Herunder ses et udsnit af et bundkort med fire PCI-sokler:
For at styre trafikken på I/O-busserne, har man indført begrebet IRQ. Det står for Interrupt Request,og det betyder noget i retning afanmodning om afbrydelse . Interrupts er et bærende princip i PC-opbygningen, og der findes to typer interrupts: Software-interrupts bruges til at kalde en lang række BIOS-rutiner. Hardware-interrupts, som er emnet her.
Fordelen med IRQ'ere er, at CPU'en kan arbejde videre med andre opgaver, mens en adapter "fordøjer" de data, den skal tage sig af. Når adapteren er færdig med arbejdet, melder den det til CPU'en med et nyt IRQ-signal.
Lad os som eksempel se tastaturet afsende sine data. Bitsene afsendes serielt fra tastaturet igennem kablet. Bitsene modtages af en tastatur-controller, som samler dem i portioner af 8 (én byte). Hver gang, den har en byte, afsender den et IRQ-signal til I/O-bussen. Det behandles af IRQ-controlleren, som får tilladelse af CPU'en til at benytte bussen. IRQ-controlleren melder tilbage til tastatur-controlleren, at nu er der fri bane, og så afsendes tegnet (byten):
Når der kommer et signal på én af IRQ-kanalerne, er det en melding til CPU'en. Den får at vide, at nu er der en enhed, der vil på bussen. Hvilken enhed, det er - det afhænger af IRQ-nummeret.
Herefter får enheden lov til at gå på bussen og hente eller sende sine data. Når handlingen er udført, afsender den et nyt IRQ-signal, som tegn til CPU'en om at nu er bussen fri. IRQ'erne har forskellig prioritet, så CPU'en ved, hvilken IRQ der har fortrin, hvis to signaler sættes samtidigt.
IRQ-systemet styres af en controller chip som Intel 8259. Den kan håndtere 8 IRQ-signaler, og derfor kobles to af dem sammen (via IRQ 2 og 9). Alle pc'er med ISA-bus rummer altså to 8259-chips.
MSD viser fordelingen af IRQ'er på den pc, programmet kører på. Der er 15 IRQ-kanaler i alt. Hver IRQ kan tildeles én enhed. Det er dog ikke altid muligt at udnytte IRQ 9 (den fungerer som en slags bro mellem to afdelinger i IRQ-systemet).
I billedet herover kan man se, at IRQ nummer 5, 10, 11, 12 og 15 ser ud til at være ledige.
På IRQ nummer 2 og 9 ses kædningen mellem de to IRQ-controllere.
Nogle IRQ'er er reserveret til forskellige interne enheder, der også skal kunne afbryde CPU'en. Det er IRQ-numrene 0, 1, 2, 8 og 13, som du kan se det i figuren herover. De kan ikke benyttes til andre enheder. Alle de andre er i princippet tilgængelige for indstikskort og EIDE-enheder.
Ved pc'ens opstart tildeles IRQ'er. Et ISA-indstikskort booker sig altså på én bestemt IRQ, hver gang pc'en startes. Den IRQ benyttes, hvergang enheden går på bussen.
Karbosguide.dk fortsættes i Modul 5b.
Læs også om SCSI, USB og FireWire i modul 5c
Copyright (c) 1996-2011 by Michael B. Karbo.