Турбирование РК86 с помощью куска проволоки
Придумал, как истратив один кусок проволоки, ускорить работу РК86, за счёт сокращения времени захвата шины. Благодаря тому что клок КР580 и ВТ57 в РК86 можно произвольно менять, при повышении такта ВТ57 с 1.77 МГЦ до 3.2 МГЦ, более чем вдвое сокращается время простоя КР580. В базовой схеме время простоя CPU составляет ~25%. После повышения клока ПДП простой сократится вдвое. Тогда реальное быстродействие составит 87.5% от частоты 1.77 МГЦ, то есть 1.55 МГЦ, вместо 1.3 МГЦ в базовой схеме. Турбирование на ~20%, что существенно. В "Партнёре", где кварц 18 МГЦ такая доработка даёт реальный такт 1.79 МГЦ вместо 1.5.
В базовой схеме ВТ57 тактируется тем же тактом 1.77 МГЦ, что и КР580. Для ускорения достаточно впаять в схему РК86 счётчик 155ИЕ2, который делит F2TTL 16 МГЦ на 5, что и даёт требуемый такт в 3.2 МГЦ.
Тот, кто не дружит с паяльником, и не в состоянии смонтировать на плате одну дополнительную микросхему, может ограничиться повышением клока ВТ57 до 16:6=2.66 МГЦ. Такой такт присутствует на ноге 9 счётчика ИЕ4 (D3), хотя это и не меандр. Тогда, всего лишь за счёт расхода куска проволоки, время простоя CPU сокращается в 1.5 раза и реальный такт РК86 достигает 1.77 * (1-(0.25 : 1.5)) = 1.475 МГЦ. Турбирование на 13.5%.
Такой вариант не даёт выигрыш по длине цикла чтения ПДП из ОЗУ (т.к 2.66 МГЦ в схеме РК не меандр), т.е не повышает надёжность при перегруженной шине, а лишь экономит расход деталей. Но если поставить свой делитель такта 16 МГЦ на 6 такой: делим на 3, а затем делим на 2, отчего на выходе меандр, то длительности цикла обращения к ОЗУ будут длиннее и требования к мощности выходов ОЗУ и их быстродействию снизятся.
ВТ57 в моём РК86 нормально работал при тактировании 3.33 МГЦ, так что с этим проблем нет. Ограничение на такт ВТ57 накладывает не быстродействие самого ВТ57, а быстродействие небуферизованного ОЗУ 565РУ5, что зависит от перегруженности шины. Впрочем и это легко исправить введением одного такта WAIT при обращениях к ОЗУ (это конструктивно проще, чем вводить буфер для ОЗУ).
- - - Добавлено - - -
При подборе деталей для монтажа РК, обнаружил, что у меня есть скоростная статическая память общим объёмом ~1 мб.
Скрытый текст
Код:
HN58C65FPI-25T 8K x 8 Electrically Erasable and Programmable CMOS ROM
EM51256C-15PL 8 шт 32K x 8 High Speed 15 ns SRAM TAG Memory
w24257AK-15 10 шт 32K x 8 High Speed 15 ns CMOS Static RAM
TC51832ASPL-10 32K x 8 High Speed 10 ns CMOS pseudo static RAM
N341256P-15 32K x 8 CMOS static RAM
TC55257BPL-10 32K x 8 CMOS static RAM
TC55257BPL-10L 32K x 8 CMOS static RAM
CXK58257AP-10L 32K x 8 CMOS static RAM
HM6264LP-15 2 шт 8K x 8 CMOS static RAM
HM6264P-12 8K x 8 CMOS static RAM
CXK5864BM-10L 8K x 8 CMOS static RAM
HM6516-6 2 шт 2048 x 8 CMOS static RAM
HM1-6514-9 12 шт 1024 x 4 CMOS static RAM
[свернуть]
Ввиду этого, с учётом отсутствия у меня внешних носителей, появилось желание иметь от 32-х до 128 кб статического ОЗУ. Использовать которое можно, или как псевдо ПЗУ с резидентными программами, прокачиваемое в окне 8К A000...BFFF, или как энерго независимый эл.диск, в котором можно будет хранить все часто используемые CP/M-программы. Запитав микросхемы памяти от батарейки, превращаем RAM в ROM. Поэтому хочу примениить, как минимум, 32 кб статических ОЗУ в роли ПЗУ. Естественно, самые скоростные 10 и 15-ти наносекундные RAM оставлю для акселератора РК86 на Z80B с тактом 9 МГЦ.
Ещё более интересна HN58C65FPI 'Electrically Erasable and Programmable CMOS ROM' с объёмом в 8 кб. Эта микросхема ведёт себя как обычное быстрое статическое ОЗУ, но при выключении питания ничего не забывает. Что очень удобно при разработке и отладке ROM-BIOS, т.к стирать и перешивать УФ-ПЗУ не только утомительно, но главное в том, что ресурс перезашивок у ПЗУ выше 2732 очень мал. Если древние РФ2 выдерживают сотни перезашивок, то 27128, 27256 дохнут уже после 5-10.
Т.к кроме ПЗУ F800, другого ПЗУ в РК нет, а возиться с вводом в МГ-формате, при каждом включении - не смешно, то хочу поставить злектро стираемую ПЗУ в адресах A000...BFFF, где размещу RAMDOS и загрузчик с проводной линии. Тем самым программно и без хлопот, по мере необходимости, смогу менять состав резидентного ПО.
Недавно разработанный новый драйвер проводной линии обеспечивает скорость ~2 кб в секунду (при реальном такте CPU в 2.5 МГЦ), тогда как старый драйвер 1995 имел скорость всего 200 байт в секунду. Но новый протокол передачи требует наличия уже не двух проводов, а четырёх. Естественно, применение ВВ51 позволило бы увеличить скорость передачи ещё, как минимум, в 4 раза, но я предпочитаю обходиться проводами вместо лишних микросхем там где это возможно.
Цитата:
Сообщение от error404
надо бы весь комп перевести на одну банку РУ7 - это будет красиво (без напаивания ОЗУ вторым этажом)
Две банки памяти лучше, чем одна по многим причинам
- число деталей и трудоёмкость одинаковы (точнее при одной РУ7 деталей даже больше).
- РУ5-тые имею только двухэтажными (90% имеющихся РУ5-тых - двухэтажные, т.к на почти всех моих платах ОРИОНА - РУ5-е используются только в таком виде), одиночных РУ5-тых - буквально единицы.
- при 2-х этажах, место на монтаж на плате или слепыше не тратится.
- нагрузочная способность РК изначально рассчитана на двух-этажность ОЗУ (для РУ3-тьих).
- полезно иметь РУ5-тые, чтобы проверять, что они регенерируются в конкретном режиме ВГ75, т.к если режим работоспособен на РУ7-мых, это не значит, что будет работать на РУ5-тых, у которых вдвое меньше период регенерации.
- 256К + 64К= 320К, а это больше, чем 256К.
Но главный довод, - если ставить только одну банку, то это пусть технически "красивее", но не позволяет использовать SIMM. Т.к из SIMM не должен читаться экран. Потому-что, когда ПДП читает экран из основной банки, то SIMM регенерируются. При работе ПДП из SIMM читается не экранный адрес, а адрес регенерации. При этом адреса регенерации A8,A9, A10 для мультиплексора регенерации берутся от ВГ75 (адреса сканирования в знакоместе, что меняются каждые 64 МКСЕК).
Этот же довод, но по другой причине работает и для второй банки на РУ7-мых. Дело в том, что при такой регенерации период регенерации составляет самую маленькую величину. Благодаря чему, надеюсь, ~20 шт оставшихся сбойных РУ7-мых удастся использовать. Без этого РУ7-мые вообще использовать нельзя, т.к даже теоретически период их регенерации при базовой схеме превышает паспортные данные.
Если же ставить только одну банку РУ7-мых, то период регенерации будет превышать паспортные данные (т.е период более 4 МСЕК), что недопустимо, и исправить это за счёт использования LC0,LC1,LC2 будет нельзя из-за экрана (см.предыдущий абзац).