LPT, rdtsc

Reply to
Michael Zaichenko
Loading thread data ...
Reply to
George Shepelev
Reply to
Alexander Derazhne
20-Feb-05 20:44 Dmitri Litovchenko wrote to Michael Zaichenko:

DL> Чем дальше я читаю это обсуждение, тем больше мне кажется, что для DL> этой задачи LPT-порт непригоден. В чистом виде - да. С дополнением в виде мелкй программиремой логики - годится, но тогда всё равно имеет смысл сразу от LPT уйти.

MZ>> 2МГц для 115 килобит - разве мало ?

DL> А ты их уже получил ;)? Получить от LPT-ZIPа мегабайт в секунду - DL> задача нетривиальная, если не невозможная, а он обменивается байтами. По досом с PCI-LPT он 2 мегагерца получит. Мне когда-то надо было посомтреть управление маленькой матричной принтерной головкой - информации по ней было 0.0(0), в готовом устройстве программу надо было заменить. Ну там было-то несколько линий, пяти LPT-шных статусных линий достаточно. Так вот под досом и слепил программку, которая дожидается первого изменения состояния линий, после чего запрещает прерывания и лупит, пока не заполнит весь выделенный буфер. Свои около 0.85мкс/отсчёт на той 486-ой после разгона ISA в биосе я получил вполне легко и стабильно.

wbr,

Reply to
Oleksandr Redchuk
Reply to
Anatoly Mashanov
Reply to
Michael Zaichenko
Reply to
Michael Zaichenko
21-Feb-05 11:11 Michael Zaichenko wrote to Oleksandr Redchuk:

OR>> По досом с PCI-LPT он 2 мегагерца получит. MZ> Вот подумал а зачем собсно LPT ежели он тормоз? MZ> Мож IDE попробовать?

Одиночные обращения от процессора к IDE даёт в лучшем случае те же

0.34-0.35мкс, что и PCI LPT, а в худшем (*1) - около 0.8мкс. ("проверено электроникой" как в виде зачитывания массива при помощи rep ins с засеканием времени по PerfomanceCounter, так и осциллографом). Правда, для 16-битных данных, но ты же всё равно не хочешь делать десериализатор :-) Все более быстрые способы передачи данных через IDE - это DMA-режимы, требующие *гораздо* больше электроники, чем то, на что ты уже не согласился.

*1 - например, мамка не даёт насильно выставить PIO, или выставить даёт, и даже при пуске компьютера на этапе тестирования наличия чего-то знакомого (ATA/ATAPI-устройства) на шлейфе обращается к нему на повышенной скорости - после обнаружения "а ничего на шнурке-то и нет" сбрасывает этот шнурок в PIO0 - в те 0.8-0.9 мкс, о которых я написал выше.

wbr,

Reply to
Oleksandr Redchuk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.