Re: Dwa COM'y na jednym IRQ

Autor: Maciej W. Rozycki (macro_at_amg.gda.pl)
Data: Wed 01 Jul 1998 - 19:31:40 MET DST


On Wed, 1 Jul 1998, Olaf Swieca wrote:

> Sorry, myslalem o przerwaniu 8 a napisalem 1C. Wlasnie nie wiem jak dlugo
> trwa to przerwanie 8 w oryginalnym czyms np. DOSie. Ciekawe tez jak wyglada
> to w Windows, kidy odpalam program DOS owy.
> TAK nawiasem, to udalo mi sie przyspieszyc zegar (INT 8) nawet pod Windows95
> w programie DOSowym i troche mnie to dziwi, chociaz nie bardzo.

 Obsluga IRQ0 w BIOSie jest stosunkowo krotka (pod warunkiem, ze int 0x1c
nic nie zawiera). W sumie, sklada sie z inkrementacji licznika czasu (z
wykrywaniem przepelnienia), dekrementacji licznika interwalu wlaczenia
silnikow dyskietek i ewentualnego ich wylaczenia. Potem tylko wywolanie
int 0x1c i wyslanie EOI do 8259.

 W praktyce, udawalo mi sie zwiekszac czestotliwosc przerwania zegarowego
do ponad 200 kHz (dzielnik w 8254 = 5) na Pentium 75 bez zawieszenia
systemu. Niemniej jednak, praca maszyny byla mocno spowolniona, gdyz
wiekszosc czasu provesor spedzal w obsludze IRQ0.

 Jako ciekawostke, moge podac fakt, ze w tych warunkach pracy, intelowski
program do ustalania typu procesora (a takze wiele innych), w ok. 75%
wykrywal obecnosc i386, zas Pentium -- jedynie w ok. 25% (zagadka:
dlaczego? -- za rozwiazanie nagrod nie przewiduje sie ;-) ).

--
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro_at_ds2.pg.gda.pl, PGP key available        +


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 17:23:51 MET DST