-
11. Data: 2009-08-13 17:12:13
Temat: Re: Graniczna pr?dkoś? machania LPT
Od: J.F. <j...@p...onet.pl>
On Thu, 13 Aug 2009 18:59:44 +0200, Sebastian Biały wrote:
>Mnie tu zastanawia, czy nowe zintegrowane chipsety I/O na nowoczesnych
>płytach głównych w ogóle ktoś projektuje pod tym kątem. Może po prostu
>to ograniczenie badziewnego hardware które haltuje CPU na czas dostępu?
>
>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.
Ostatnio jak sprawdzalem to IMHO tak wlasnie bylo - operacje na ISA
haltowaly procesor na ~1us, co szczegolnie istotne bylo im lepszy
procesor, ktory moglby w tym czasie tysiace operacji zrobic.
I jeszcze drobiazg - optymalizacja ISA zakonczyla sie gdzies w czasach
286, plyty 386 i pozniejsze byly nawet wolniejsze.
Niby teraz port LPT na chipsecie nie jest juz powiazany z ISA, ale cos
podejrzewam ze nadal ta ~1us zostala.
A osobna sprawa ze jak ambitny system operacyjny zacznie wyjatki
generowac, sprawdzac i emulowac, to tez mu tysiac instrukcji zejdzie
..
J.
-
12. Data: 2009-08-13 17:45:35
Temat: Re: Graniczna prędkość machania LPT
Od: Paweł <p...@n...pl>
>> W ECP powinien byc najszybszy i wyciagac ok. 2MHz.
>
> We wszystkich dostępnych trybach osiąga 290kHz.
Coś mi się przypomina, ze w trybie ECP trzeba chyba coś sprzętowo
potwierdzać na złączu LPT.
Paweł
-
13. Data: 2009-08-13 18:08:18
Temat: Re: Graniczna pr?dkoś? machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
J.F. wrote:
> A osobna sprawa ze jak ambitny system operacyjny zacznie wyjatki
> generowac, sprawdzac i emulowac, to tez mu tysiac instrukcji zejdzie
> ..
1.0 GHz -> 285kHz
2.1 GHz -> 291kHz
Nie ma zadnej sensownej zależnosci od prędkości procesora. Wygląda na
blokowanie przez hardware.
-
14. Data: 2009-08-13 18:24:12
Temat: Re: Graniczna prędkość machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
Paweł wrote:
> Coś mi się przypomina, ze w trybie ECP trzeba chyba coś sprzętowo
> potwierdzać na złączu LPT.
Nie wydaje mi się, żebym korzystał z takiej funkcjonalności która wymaga
potwierdzania. W teorii na adresie 0x378 jest zatrzask który powinienem
widzieć jako D0-D7 na zewnątrz. Taka prymitywną forme działania miały
chyba pierwsze LPT i tak zostało. W kazdym razie ten zatrzask jakiś
nieprędki jest.
-
15. Data: 2009-08-13 18:33:06
Temat: Re: Graniczna prędkość machania LPT
Od: Paweł <p...@n...pl>
>> Coś mi się przypomina, ze w trybie ECP trzeba chyba coś sprzętowo
>> potwierdzać na złączu LPT.
>
> Nie wydaje mi się, żebym korzystał z takiej funkcjonalności która wymaga
> potwierdzania. W teorii na adresie 0x378 jest zatrzask który powinienem
> widzieć jako D0-D7 na zewnątrz. Taka prymitywną forme działania miały
> chyba pierwsze LPT i tak zostało. W kazdym razie ten zatrzask jakiś
> nieprędki jest.
Dawno temu robiłem pewne urządzenie komunikujące się przez LPT.
W jednym trybie uzyskiwałem około 1MB w drugim znacznie mniej. Z tego co
pamiętam na płytce były jakieś przerzutniki generuje potwierdzenia.
Zobacz czy tu nie znajdziesz jakiś informacji:
http://www.beyondlogic.org/ecp/ecp.htm
http://www.beyondlogic.org/epp/epp.htm
Paweł
-
16. Data: 2009-08-13 18:35:06
Temat: Re: Graniczna prędkość machania LPT
Od: J.F. <j...@p...onet.pl>
On Thu, 13 Aug 2009 20:24:12 +0200, Sebastian Biały wrote:
>Paweł wrote:
>> Coś mi się przypomina, ze w trybie ECP trzeba chyba coś sprzętowo
>> potwierdzać na złączu LPT.
>
>Nie wydaje mi się, żebym korzystał z takiej funkcjonalności która wymaga
>potwierdzania. W teorii na adresie 0x378 jest zatrzask który powinienem
>widzieć jako D0-D7 na zewnątrz. Taka prymitywną forme działania miały
>chyba pierwsze LPT i tak zostało. W kazdym razie ten zatrzask jakiś
>nieprędki jest.
Ale jak ci zalezy na predkosci, to mozesz skorzystac z trybow
rozszerzonych. Trzeba bedzie podac zewnetrzny zegar ..
J.
-
17. Data: 2009-08-13 18:50:10
Temat: Re: Graniczna prędko?ć machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
J.F. wrote:
> Ale jak ci zalezy na predkosci, to mozesz skorzystac z trybow
> rozszerzonych. Trzeba bedzie podac zewnetrzny zegar ..
Nie nie, LPT to w ogóle tylko diagonstycznie jest, pewna zabawka na SPI
mi nie działa jak powinna i diagnozuje ja na piechotę. Tylko ze podczas
tej diagnozy nie mogłem uwierzyć, że tak powoli dziala i test zrobiłem.
Bede chciał szybko to wykorzystam jakies coś na USB. A na razie sobie
tylko tak narzekam.
-
18. Data: 2009-08-13 20:53:01
Temat: Re: Graniczna prędkość machania LPT
Od: Adam Dybkowski <a...@4...pl>
Sebastian Biały pisze:
> 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?
Jest bardzo duży rozrzut na różnych komputerach, nie zależy to prawie
wcale od częstotliwości procesora a raczej od chipsetu (do którego
dochodzi port LPT), ew. chipu na karcie PCI LPT.
290kHz to rzeczywiście słabo, powinno dać się wyciągnąć 500-800kHz na
większości komputerów.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
-
19. Data: 2009-08-13 20:54:55
Temat: Re: Graniczna prędko?ć machania LPT
Od: Adam Dybkowski <a...@4...pl>
Sebastian Biały pisze:
> Nie nie, LPT to w ogóle tylko diagonstycznie jest, pewna zabawka na SPI
> mi nie działa jak powinna i diagnozuje ja na piechotę. Tylko ze podczas
> tej diagnozy nie mogłem uwierzyć, że tak powoli dziala i test zrobiłem.
>
> Bede chciał szybko to wykorzystam jakies coś na USB. A na razie sobie
> tylko tak narzekam.
Jak na USB to polecam [de]serializer ze stajni FTDI: FT3232 lub nowsze
(np. FT4232H).
SPI/JTAG/UART serializuje sprzętowo - po początkowych ustawieniach
wysyłasz tylko opakowane specjalnie bajty przez USB, a po drugiej
stronie wychodzi np. ładna transmisja SPI.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
-
20. Data: 2009-08-14 06:17:11
Temat: Re: Graniczna prędkość machania LPT
Od: Zbych <a...@o...pl>
Sebastian Biały pisze:
> Sebastian Biały wrote:
>> Witam.
>> Czy ktoś mógłby mi potwierdzić mój wynik?
>
> http://sebobialy.net/lcd.tar.gz (3.4kB)
>
> To źródlo produkuje 290kHz na mojej płycie. Procesor >2GHz wiec to nie
> to ;)
>
> Uruchamiać jako root bo używa ioperm.
Zrobiłem test na WinXP. Taki program:
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE h = CreateFile(L"\\\\.\\giveio", GENERIC_READ, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(h == INVALID_HANDLE_VALUE) {
printf("GiveIO not installed\n");
return 1;
}
CloseHandle(h);
printf("Generuje\n");
while(1){
_outp(0x378, 0xFF);
_outp(0x378, 0x00);
}
return 0;
}
Wygenerował mi częstotliwość 400kHz, co daje zmianę stanu co 1,25us.