- Vote on answer
- posted
19 years ago
LPT, rdtsc
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
DL> Чем дальше я читаю это обсуждение, тем больше мне кажется, что для DL> этой задачи LPT-порт непригоден. В чистом виде - да. С дополнением в виде мелкй программиремой логики - годится, но тогда всё равно имеет смысл сразу от LPT уйти.
MZ>> 2МГц для 115 килобит - разве мало ?
DL> А ты их уже получил ;)? Получить от LPT-ZIPа мегабайт в секунду - DL> задача нетривиальная, если не невозможная, а он обменивается байтами. По досом с PCI-LPT он 2 мегагерца получит. Мне когда-то надо было посомтреть управление маленькой матричной принтерной головкой - информации по ней было 0.0(0), в готовом устройстве программу надо было заменить. Ну там было-то несколько линий, пяти LPT-шных статусных линий достаточно. Так вот под досом и слепил программку, которая дожидается первого изменения состояния линий, после чего запрещает прерывания и лупит, пока не заполнит весь выделенный буфер. Свои около 0.85мкс/отсчёт на той 486-ой после разгона ISA в биосе я получил вполне легко и стабильно.
wbr,
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
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,