-
51. Data: 2009-08-14 15:49:39
Temat: Re: Graniczna prędko?ć machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
Waldemar Krzok wrote:
> To, co opisywałem to port IBM-XT z początku lat 80tych ub. stulecia.
> Myślisz, że jest gorzej?
Na wyrzucanej niedawno 3-letniej płycie wszystkie druty sygnałowe LPT
wchodziły do dużego chipa. Opis w google nieznany. IMHO optymalizuja co
się da, przecież RS232 już dawno "zoptymalizowano" do +5/-5V. Czemu z
LPT ma byc inaczej? Robi się, zeby dzialalo na aby aby i już.
-
52. Data: 2009-08-14 15:57:03
Temat: Re: Graniczna prędko?ć machania LPT
Od: Mateusz Viste <m...@n...please>
On Friday 14 August 2009 16:30, Sebastian Biały wrote:
> Ok. Coś tam wymyślę. Jestem bardzo ciekaw, ale musze znaleźc troche
> czasu i nerwów zeby zajmowac się znowu "systemami operacyjnymi" CP/M
> yyy, znaczy ... MSDOS.
Oj dlaczego od razu MS do tego mieszać! :)
Dyskusja mnie na tyle zaciekawiła, że sam przeprowadziłem test.
W QuickBASIC'u napisałem następujący programik:
DIM x AS LONG
DIM StartTime AS DOUBLE
DIM EndTime AS DOUBLE
StartTime = TIMER
FOR x = 1 TO 2000000
OUT &H378, 1
OUT &H378, 0
NEXT x
EndTime = TIMER
PRINT "Przeprowadzono 2'000'000 cykli w czasie: "; EndTime - StartTime; "s"
PRINT "Szybkosc: "; 2000000 / (EndTime - StartTime) / 1000; "KHz"
Wynik jaki otrzymałem to 332KHz. Procesor Pentium III. Wynik jest niezależny
od tego, czy załaduję EMM386 czy nie (spodziewałem się spowolnienia z EMM386,
a tu nic...). :-)
Pozdrawiam,
Mateusz Viste
-
53. Data: 2009-08-14 19:42:16
Temat: Re: Graniczna prędko?ć machania LPT
Od: "T.M.F." <t...@n...mp.pl>
>> O ile tam sa _te_ drivery ;) Przeciez to wszystko zalane plastikiem.
>
> To, co opisywałem to port IBM-XT z początku lat 80tych ub. stulecia.
> Myślisz, że jest gorzej?
Na mojej starej plycie multiIO z AT byl driver LS573.
--
Inteligentny dom - http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
-
54. Data: 2009-08-14 20:02:40
Temat: Re: Graniczna prędkość machania LPT
Od: JanuszK <J...@m...o2.pl>
Sebastian Biały wrote:
> Waldemar Krzok wrote:
>> Albo Ĺ?ciÄ?gnij sobie free-dos z sieci i przetestuj na real-mode w DOSie.
>
> Jak znajdÄ? gdzieĹ? TurboC w wygodnej wersji to z ciekawoĹ?ci sprawdze.
Tutaj masz dr dosa i kupe narzędzi, wypal płytke i testuj :)
http://www.hirensbootcd.net/
--
-----
Pozdr
Janusz
-
55. Data: 2009-08-15 21:50:14
Temat: Re: Graniczna prędko?ć machania LPT
Od: Adam Dybkowski <a...@4...pl>
J.F. pisze:
>> Wszystjo wskazuje na to że to koniec przydatności LPT :/ Chyba jednak
>> poświęcę chwilkę i zrobie coś na USB.
>
> Zalezy co chcesz osiagnac .. ale tak - koniec przydatnosci LPT, i
> koniec LPT w ogole.
No wiesz, producenci płyt głównych od dawna wieszczą koniec LPT. I w
gruncie rzeczy mają rację - drukarek z takim portem się już nie robi, a
i programatorek AVRów na USB można zrobić samemu bardzo tanio (z USB
realizowanym programowo na ATtiny). Albo kupić nieco lepszy z FT232R i
AFAIR Atmegą 8.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
-
56. Data: 2009-08-16 07:55:11
Temat: Re: Graniczna prędkość machania LPT
Od: Verox <a...@b...veroxsystems.com>
On Thu, 13 Aug 2009 16:11:19 +0200, Sebastian Biały napisał:
> Witam.
> Czy ktoś mógłby mi potwierdzić mój wynik? Macham sobie na zmiane D0:
> 01010101010101 ... w ciasnej pętli składającej się z outb na 0x378.
> Wychodzi mi fmax=290kHz. Troche biednie. Macham na Linuxie, ale to chyba
> nie ma za wiele do rzeczy. Mialem nadzieję na przynajmniej 1MHz. Ktoś
> może wie czemu tak mizernie to wychodzi?
przestaw sheduler na real-time:
sched_fifo_min = sched_get_priority_min(SCHED_FIFO);
sched_fifo_max = sched_get_priority_max(SCHED_FIFO);
sched_parms.sched_priority = sched_fifo_max - 1; // Najwyzszy
mozliwy
if (0 != sched_setscheduler(getpid(), SCHED_FIFO, &sched_parms))
perror("cannot set realtime scheduling policy");
Powinno pomóc.
--
begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek
-
57. Data: 2009-08-16 07:56:52
Temat: Re: Graniczna prędkość machania LPT
Od: Verox <a...@b...veroxsystems.com>
On Thu, 13 Aug 2009 17:52:53 +0200, Waldemar Krzok napisał:
> Sebastian Biały schrieb:
>> Witam.
>> Czy ktoś mógłby mi potwierdzić mój wynik? Macham sobie na zmiane D0:
>> 01010101010101 ... w ciasnej pętli składającej się z outb na 0x378.
>> Wychodzi mi fmax=290kHz. Troche biednie. Macham na Linuxie, ale to chyba
>> nie ma za wiele do rzeczy. Mialem nadzieję na przynajmniej 1MHz. Ktoś
>> może wie czemu tak mizernie to wychodzi?
>
> a to, że na Linuksie też musisz przejść przez port mapping. Jak chcesz
> szybciej machać, to musisz napisać sterownik, który będzie machał
> bezpośrednio nóżką. W zależności od rasy ustrojstwa (hardware portu)
> możesz wyciągnąć nawet ponad 2MHz.
Ale on macha nóżką, przez outb(). Problemem jest tutaj scheduler.
Jasne że lepiej i bez niepotrzebnego czekania można to zrobić w przestrzeni
jądra.
--
begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek
-
58. Data: 2009-08-16 08:29:42
Temat: Re: Graniczna prędkość machania LPT
Od: Waldemar Krzok <w...@z...fu-berlin.de>
Verox wrote:
> On Thu, 13 Aug 2009 17:52:53 +0200, Waldemar Krzok napisał:
>> Sebastian Biały schrieb:
>>> Witam.
>>> Czy ktoś mógłby mi potwierdzić mój wynik? Macham sobie na zmiane D0:
>>> 01010101010101 ... w ciasnej pętli składającej się z outb na 0x378.
>>> Wychodzi mi fmax=290kHz. Troche biednie. Macham na Linuxie, ale to chyba
>>> nie ma za wiele do rzeczy. Mialem nadzieję na przynajmniej 1MHz. Ktoś
>>> może wie czemu tak mizernie to wychodzi?
>>
>> a to, że na Linuksie też musisz przejść przez port mapping. Jak chcesz
>> szybciej machać, to musisz napisać sterownik, który będzie machał
>> bezpośrednio nóżką. W zależności od rasy ustrojstwa (hardware portu)
>> możesz wyciągnąć nawet ponad 2MHz.
>
> Ale on macha nóżką, przez outb(). Problemem jest tutaj scheduler.
> Jasne że lepiej i bez niepotrzebnego czekania można to zrobić w
> przestrzeni jądra.
dawno nie ogladalem zrodel Linuxa, ale w Unixie outb powodowalo exeption,
ktore bylo przechwytywane i dopiero w kernelu mapowane na "prawdziwe" outb.
Waldek
-
59. Data: 2009-08-16 08:59:07
Temat: Re: Graniczna prędkość machania LPT
Od: Mateusz Viste <m...@n...please>
On Thursday 13 August 2009 18:59, Sebastian Biały wrote:
> Przyznaje bez bicia, że nie mam DOSa zeby to w tej chwili sprawdzić pod
> nim. Moe rzeczywiście Linux sam z siebie ma spory narzut.
Chyba jednak nie ma :)
Patrz mój post <h...@m...viste-family.net>.
Programik DOSowy (w trybie real mode) zdołał wygenerować na PIII 450 MHz
niewiele więcej - 332 KHz...
Pozdrawiam,
Mateusz Viste
-
60. Data: 2009-08-17 09:48:45
Temat: Re: Graniczna prędkość machania LPT - podsumowanie prędkości
Od: Sebastian Biały <h...@p...onet.pl>
Sebastian Biały wrote:
> [ciach]
Podsumowanie uzyskanych predkości machania mojego LPT:
a) Linux - 290kHz
b) Windows - 291kHz
c) DOS - 297kHz
Wszystko wskazuje na to ze hardware haltuje CPU na określony czas przy
dostepie do tego portu.
Jeśli mapowanie portów coś tu miesza, to jest to te 6-7kHz różnicy,
czyli tyle co nic.
Moj ISA bridge to ATI SB600. Ku przestrodze :)