RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Май 2024
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031  

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Расширение ОЗУ в ИРИШЕ

Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty Расширение ОЗУ в ИРИШЕ

Сообщение  barsik Чт Янв 24 2019, 23:58

1
В этой теме можно пообщаться на тему расширения ОЗУ в ИРИШЕ за счёт плат ОЗУ подключаемых к системной магистрали, хотя можно обсудить и другие способы подключения плат с доп.ОЗУ, например, через локальную магистраль.

В 80-тые годы ОЗУ расширяли в виде платы на 565РУ5 с узлом регенерации. Несколько запасных банок 565РУ5/РУ7 встроено даже в три типа родных КНГМД ИРИШИ работающих с экзотическим дисководом. Видимо без этого крошечная схема КНГМД не заполняла всё пространство платы площадью 3.5 кв.дм, и разработчики решили встроить сюда чего-нибудь полезное, а именно RAM-диск из излишнего ОЗУ. Впрочем, больше ОЗУ было нужно и для самой CP/M.

Кстати, и для IBM PC самые первые платы расширения ОЗУ имели размер в 64 кб (не видел фото, но наверно они были на 565РУ3), так что в исторически первую матку PC образца 1981 года можно было воткнуть несколько таких плат и поиметь 256 кб ОЗУ. В XT память регенерируется встроенным DMA, который отжирает от ресурса CPU 5%. И вероятно РУ7 нельзя было применить, во-первых, потому что их ещё не выпускали, во-вторых, потому, что DMA в XT перебирал только 7 адресов, и в-третьих, регенерация РУ7-мых сожрала бы 20% скорости.

Считаем. DMA тратя 4 такта на байт делает 128 чтений каждые 2 МСЕК. Один такт длится 213 НСЕК. 4*128= 512 тактов занимают 0.108 МСЕК, что составляет 5% от 2 МСЕК. Из-за регенерации ОЗУ XT терят 5% скорости, а XT-Турбо тормозится вдвое меньше. Почти как у РК86.

Демонтированная плата граф.адаптера ИРИШИ идеально подходит, чтобы сделать модуль расширения ОЗУ на 64 кб на РУ5 или на 256 кб на РУ7. Т.к на плате уже есть панельки для ОЗУ, мультиплексоры и буфера шины. Хотя контроллер для регенерации динамического ОЗУ содержит ~8 TTL- корпусов и бОльшая часть посадочных мест микросхем на этой плате останется пустой.

У меня даже возникла мысль сделать из очищенной от микросхем платы граф.адаптера исторически достоверную плату расширения ОЗУ ИРИШИ. Но тут я сообразил, что для обеспечения прозрачности этот узел должен работать синхронно, используя особенности процессора. А значит при других процессорах он не сможет работать или же схему надо менять.

Неудобна неуниверсальная плата ОЗУ. Применяя чуть-чуть более современные ОЗУ 62512 (это детали из 80-тых) или w24512 (это более скоростное ретро из начала 90-тых) эквивалентная плата содержит лишь панельку на 28 ног и 4 TTL-корпуса обрамления и работает без тормозов с любым процессором. Но в принципе, можно сделать плату доп.ОЗУ на 565РУ5 несинхронной, что вызовет торможение программ в этом ОЗУ.

Плату на 565РУ5 стОит сделать, если на ней ставить сразу 3 банки 565РУ5 (что доводит общий объём ОЗУ ИРИШИ до 256 кб). Или даже - банку 565РУ7, а ещё лучше SIMM-30 на 1 мб. При таком объёме это оправдано, т.к столько скоростной дефицитной статики в DIP-корпусах тратить жалко и дорого. Тогда даже, если это ОЗУ будет несинхронным, тормозящим на 25% это не играет роли, т.к это ОЗУ не для программ, а для организации эл.диска.

Кстати, при добавке доп.ОЗУ большего, чем 64 кб, нужно или добавлять второй диспетчер памяти (как сделал авторы в плате КНГМД) или делать коррекцию в уже имеющемся диспетчере памяти. Так как имеющийся диспетчер памяти рассчитан на расширение всего на 64 кб. Это можно сделать найдя свободным или введя дополнительный с несколькими оазрядами.

- - - Добавлено - - -

А вообще расширение ОЗУ на 64 кб на двух 62256/w24257 или одной 61512 занимает столь малое место на плате, что их стоит добавлять в любую другую периферийную плату. Например, на плату текстового адаптера (на которой ~35 корпусов и ещё десяток влезут).

Или на плату КНГМД, на которой, в зависиммости от схемы, или ~20 корпусов (это РК-КНГМД) или ~15 корпусов (это корветовский КНГМД на ВГ93). РК-КНГМД выгоден тем, что работает (хотя только в режиме 1) в базовой ИРИШЕ (т.е без установки безтормозного ОЗУ) и даёт 400...560 кб на диск. Корветовский КНГМД может работать только при наличии безтормозного ОЗУ и без использования ПДП на нетурбированной ИРИШЕ даёт лишь 360/400 кб (в зависимости от формата), т.к скорости базовой ИРИШИ хватает только на плотность SD (Single Density).

Узкие 61512 по 64 кб сейчас купить легче, чем 565РУ5/4164, расход на ОЗУ выйдет дешевле, скорость работы ОЗУ будет выше, а деталей в 3 раза меньше. Их можно купить по цене от 100 до 200 рублей. Но если купить на разлом старую 486-тую матку, на которой может стоять до десятка w24257 и аналогов, то каждый килобайт расширения ОЗУ выйдет ещё дешевле. Если же придумать вариант схемы позволяющий расширение более, чем на 64 кб, то можно применить и более ёмкие статические ОЗУ, хотя они стоят намного дороже.


Последний раз редактировалось: barsik (Пт Окт 04 2019, 14:07), всего редактировалось 1 раз(а)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Ср Фев 06 2019, 19:45

2
Расширение ОЗУ до 96 кб (т.к 64+32=96) на статических ОЗУ с организацией 32К*8. Доп.ОЗУ в виде двух окон (с 4000 и C000) по 16К образуется в банке 1. Тем самым это ОЗУ оказывается в карте 1 в тех двух дырках, которые были пустые в базовой ИРИШЕ. И таким образом карта 1 становится полноценной на все 64 кб, содержит только ОЗУ, но в отличие от карты 2 (в которой в базовой ИРИШЕ работают программы, в карте 1 нет экрана, т.е он не отнимает у программ 16 кб).

Карта 3 по прежнему остаётся с двумя пустыми дырками по 16К и это как раз "плюс" этого варианта расширения, т.к тогда в карте 3 можно включить другие устройства, в частности, текстовый адаптер и цветной граф.адаптер 192*128 предназначенный специально для игр, а также расширение ОЗУ в окне 16 кб на 4 мб с собственным диспетчером.

В данной схеме годятся любые статические ОЗУ на 28 ног с организацией 32К*8, например, 62256, w24257, TC51832, Em51256C.


Расширение ОЗУ в ИРИШЕ RAM-32.1549517433


А вот расширение ОЗУ ИРИШИ до максимума, т.е до 128 кб (т.к 64+64=128). Применено дорогое статическое 32-х ногое (!!!) ОЗУ 621024 с организацией 128К*8, но в данной схеме оно используется лишь наполовину (т.к статики на 64 кб нет, 62512 это не 64 кб).

Можно использовать и вторую половину, если откуда-то взять один управляющий бит. Но базовая ИРИША это не предусматривает, а добавка однобитового порта уже изменит изначальную архитектуру, введя дополнительную логику в работу диспетчера памяти. Причём желательно, чтобы вводимый доп.однобитовый порт можно было читать, также как в базовой ИРИШЕ читается порт управления памятью. С такой платой расширения ОЗУ в картах ИРИШИ больше нет пустых дыр и доп.устройства имеющие ОЗУ подключать уже некуда.


Расширение ОЗУ в ИРИШЕ RAM-64.1549469860


Если статические ОЗУ по 128 кб слишком дорогие для Вашего бюджета, то в этом случае можно получить в ИРИШЕ дополнительные 64 кб и на двух ОЗУ с организацией 32К*8. Для этого в этой схеме надо в зависимости от сигнала P1 подавать выборку /CS то на одну ОЗУ 32К, то на другую. Это можно сделать на 155 ЛА3. Тогда получится вот такая схема.


Расширение ОЗУ в ИРИШЕ RAM-3232.1549516750


Конечно, ёмкие статические ОЗУ в 128 кб, которые появились лишь 21-м веке, явно нарушают историческую реалистичность изделия. Эпохе соответствуют антикварные 565 РУ5, которые без доп.схемотехники для регенерации работают только при Z80. При КР580 для работы этих ОЗУ требуется схема регенерации, которая может содержать до 8 TTL-корпусов.

Известны схемы регенерации обеспечивающие прозрачность ОЗУ при процессоре КР580. Они используют клок F2. Авторы ИРИШИ вероятно были в курсе подобных схем и вывели этот сигнал на шину под именем CLCФ2.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Пн Июл 15 2019, 09:06

3
Как сделать для ИРИШИ плату дополнительного ОЗУ на статических микросхемах ясно любому. Но, к сожалению, статические ОЗУ большой ёмкости ещё относительно дороги, а главное, все они выпускаются в дурном конструктиве - в планарном или SMD исполнении, причем с шагом выводов в 0.5 мм, что удобно лишь для лилипутов с их крошечными ручками (у них, как известно из книги про приключения Гулливера рост не превышал 15-ти сантиметров).

В DIP конструктиве на 28 ног широко распространены только ОЗУ типа 62256 и w24257 из КЭШ-ей 386/486-тых маток (многие покупают ретро матки 486-тых только ради того, чтобы выковырять оттуда эти ОЗУ, а саму матку потом выкинуть). У меня есть 20 штук w24257, но мне жалко их тратить на одну конструкцию (т.к они слишком удобны для 8-ми разрядных изделий). К тому же, т.к придётся ставить много корпусов, монтажа получается слишком много и применять для ИРИШИ эти детали из середины 90-тых нелампово, т.к в 1985 году они были в СССР недоступны.

Потому решил слегка подумать на тему о изготовлении для ИРИШИ платы доп.ОЗУ в 256 кб на четырёх банках 565РУ5 или одной банке 565РУ7. Эти ОЗУ относительно ёмкие, но по принципу работы они - динамические. Это значит, что чтобы их использовать недостаточно тупо подключить их к шинам адреса и данных, - для них, оказывается, при процессоре не Z80 нужна ещё какая-то схема регенерации.

А вот при процессоре Z80 никакая схема регенерации не нужна. Она у этого процессора встроена внутрь кристалла, что лишний раз демонстрирует преимущество Z80 на другими современными ему процессорами. Хотелось бы поиметь универсальную схему платы доп.ОЗУ на DRAM пригодную для любых микропроцессоров, даже, если при этом полученное доп.ОЗУ будет немного тормозить (переводя процессор в режим ожидания).

В принципе несложно разработать свою схему регенерации с нуля. С другой стороны, зачем изобретать велосипед? Разумно сначала посмотреть как это сделали профессиональные инженеры. Лишь, если имеющиеся схемы окажутся неоптимальными и случайно удастся придумать, как их можно улучшить, только тогда можно заняться попытками сделать свою схему.

Ясно, как должна работать эта схема. В случае, если происходит обращение к доп.ОЗУ, то адреса CPU коммутируются на ОЗУ (в два этапа защёлкиваясь в ОЗУ по сигналам /RAS и /CAS). Причём /CAS=0 должен переключаться в 1 незадолго до конца маш.такта, т.к процессор держит данные только до конца маш.такта.

Если же обращения процессора нет, то /CAS подавать не надо, а адреса на ОЗУ надо выдавать с внутреннего счётчика регенерации. Внутренний счётчик регенерации в случае РУ5 д.быть 7-ми разрядным (лучше сразу 8-разрядов, т.к встречаются импортные ОЗУ у которых вектор регенерации 8-ми битовый). А в случае РУ7-мых счётчик регенерации д.быть 9-ти разрядным. Если хочется применить SIMM-30 на 1 мб, то нужен счётчик уже на 10 разрядов.

Счётчик регенерации должен переключаться (инкрементироваться) при неактивном /RAS. Удобно переключать счётчик по фронту 0->1 сигнала /RAS, - тогда его удобно блокировать сигналом /CAS, который есть только, когда к доп.ОЗУ обращается процессор. Т.е для счётчика из фронта 0->1 сигнала /RAS надо формировать короткий единичный импульс и перед подачей на счётный вход счётчика пропускать его через двухвходовый вентиль "И", подав на второй вход сигнал /CAS. Тогда, когда вместо цикла регенерации к ОЗУ полез процессор, сигнал /CAS=0 будет запрещать прохождение этого импульса на счётный вход счётчика регенерации, отчего переключения счётчика, т.е увеличения на единицу адреса регенерации не произойдёт, что и требуется.

Как видите сама идея проста как апельсин. Сложность только в синхронизации с микропроцессорным ядром. Возможно как синхронное подключение, так и асинхронное. Последнее, кстати, выгодно лишь, если CPU работает на такте в 3 или более раз выше, чем частота ОЗУ. Но в принципе, асинхронная работа с ОЗУ невыгодна. При одном и том же клоке CPU быстродействие намного выше в синхронной схеме.

До частоты CPU в 6 МГЦ быстродействие РУ5/РУ7 позволяет подключать CPU синхронно и без WAIT, т.к РУ5 или РУ7 будут нормально работать при частоте RAS-CAS до 6 МГЦ без явного перегрева. Потому что, в отличие от ОРИОНА, при регенерации на ОЗУ не нужно подавать /CAS, что резко сокращает разогрев. Т.о при клоке до 6 МГЦ процессор может работать без WAIT. А например, при частоте RAS-CAS в 4.5 МГЦ и клоке CPU в 9 МГЦ нужно добавлять один такт WAIT, но это будет тормознее, чем 6 МГЦ без WAIT.

В принципе, в машине в которой есть прерывания можно обойтись и без спец.схемы регенерации DRAM, используя метод программной регенерации (так сделано в IBM PC XT). При этом экономится с десяток дорогостоящих TTL-микросхем, но увы, при КР580 из-за отсутствия в нём NMI (т.е Non Masked Interrupt), возникает один фатальный недостаток, - как только в программе встретится команда DI, то произойдёт полное разрушение ОЗУ (с CPU 8085 такой проблемы нет, т.к у него есть NMI, но у него проблемы по включению его в стандартную МП-шину, т.к у 8085 странное устройство шины адреса).

Для программной регенерации каждые 2 МСЕК аппаратно вызывается прерывание и процессор "вручную" регенерирует все 128 столбцов матрицы DRAM, выполняя в цикле 64 команды POP (это самая быстрая программа регенерации). Можно посчитать, какой процент скорости CPU при этом теряется. Считать лень (ориентировочно при клоке 1.77 МГЦ без DMA будет торможение на ~25%), да и без учёта "тормозов" ясно, что это нехорошо, т.к все игры от РК86 и ОРИОНА делают команду DI.

Вероятно с момента, как в 1970 году начался выпуск микросхем динамической памяти (первой DRAM стала https://en.wikipedia.org/wiki/Intel_1103), была разработана сотня схем для их регенерации. Но я смог найти лишь несколько таких схем. Да и то, похоже, эти схемы пригодны только для КР580.

Из отечественных это схема от Микро-80 и схема из книги В.Домрачёв и другие, "Одноплатные микро-ЭВМ". М.Энергоатомиздат, 1988. Похоже, что обе эти схемы сделаны грамотно, - подключают ОЗУ в МП-шину без использования циклов WAIT.

Схема от Микро-80

Расширение ОЗУ в ИРИШЕ M80DRAMp2.1563179132 (кликабельно для регистрированных пользователей)

по-идиотски начерчена (вот здесь есть эта же схема более нормально перечерченная). В книге В.Домрачёва на стр.68 приведён вариант схемы регенерации очень похожий на схему регенератора от Микро-80 (с заменой двух 155ИЕ5 на одну 561ИЕ10).

Расширение ОЗУ в ИРИШЕ Domrachev_page_68.1563178709 (кликабельно для регистрированных пользователей)

А на странице 89 приведён ещё более грамотный вариант этой схемы.

Расширение ОЗУ в ИРИШЕ Domrachev_page_89.1563178860 (кликабельно для регистрированных пользователей)

А если вам понятны схемы в американском ГОСТ-е на начертание, то можете посмотреть схемы американских аналогов (от компьютеров MITS/Altair-8800):

http://s100computers.com/Hardware%20Folder/MITS/16K%20DRAM/16K%20DRAM.htm
http://s100computers.com/Hardware%20Folder/Central%20Data/64K%20RAM.htm

В них я не стал разбираться (они начерчены по иностранному), т.к сразу уже по фото видно, что применённое в них число TTL-микросхем заметно больше, чем в вышеупомянутых отечественных схемах. Вторая из этих схем (на 64К) для данной задачи вообще не годится, т.к там применена иностранная БИС MC3242AP (адресный мультиплексор DRAM).

Как видите, в схеме Микро-80 применён (неудачно себя впоследствии проявивший в РК86) формирователь /RAS /CAS на сдвиговом регистре 155ИР1, а В.Домрачёв использовал для этих целей два триггера. Детально (по логике работы) я обе схемы не сравнивал, но на первый взгляд они близки. Но схема Домрачёва проще (использует только Ф2 и SYNC, в схеме от Микро-80 зачем-то ещё используются два каких-то такта ТИ1 и ТИ2).

В обоих этих схемах (а это скорее всего одна и та же схема, но чуть в разных соусах) для фиксации факта обращения процессора используется сигнал SYNC, защёлкиваемый в регистре клоком Ф2, и полученный сигнал DSYNC (т.е SYNC задержанный на один маш.такт) используется как флаг обращения процессора. Кстати, впервые плата доп.ОЗУ на DRAM для машины на КР580 была применена для компьютера "Альтаир-8800" в 1976 году. http://s100computers.com/Hardware%20Folder/MITS/4K%20Dynamic%20RAM/4K%20DRAM.htm. Интересно там сумели сделать прозрачный доступ процессора?

Как видите, оказывается, схему прозрачного доступа к ОЗУ по сути изобрёл не А.Волков, а С.Попов. Т.к схема регенератора динамической памяти для Микро-80 разработанная С.Поповым работает точно по принципу Специалиста, - точно также на основе использования сигнала SYNC. С фактической точки зрения С.Попов опередил А.Волкова на несколько лет, хотя возможно, он даже не понял, что изобрёл нечто полезное для разработки компьютеров. И именно А.Волков сумел сделать целый графический компьютер на этом принципе.

Вот это использование в этой схеме сигнала SYNC и неприятно. Т.к сигнала SYNC в других процессорах нет как класса.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Ср Окт 02 2019, 18:05

4
Как известно иришин диспетчер теоретически может адресовать ОЗУ в 240 кб (это 256 кб минус 16 кб, что занимает ПЗУ в карте 0). Но в этом случае архитектура получается непригодная для программирования, потому базовая прошивка рассчитана только на полное ОЗУ в 128 кб, т.к такая концепция коммутации ОЗУ с данной конструкцией диспетчера памяти (управляемого всего двумя битами PC2 и PC3 ППА ВВ55) оптимальна для большинства задач.

Т.о базовая ИРИША, не меняя схему диспетчера ОЗУ или прошивку 155РЕ3 карты памяти, позволяет прибавить к имеющимся базовым 64 кб ОЗУ ещё столько же, отчего общий объём ОЗУ составит аж 128 кб. Дополнительное ОЗУ в 64 кб включается кусочками по 16 кб в четырёх окнах размером в 16К в картах памяти 1 и 3. Для программ 128 кб вполне достаточно, но вот для организации эл.диска желательно иметь ещё больше ОЗУ.

Разработчики ИРИШИ решили эту задачу некрасиво, - они добавили второй диспетчер памяти и с его помощью организовали доступ к ещё 512 кб ОЗУ и 96К ПЗУ, разместив их и новый хитроумный и очень сложный диспетчер памяти на дополнительной плате КНГМД. Это вынужденное и довольно громоздкое решение, а главное, оно не изящное и неудобное в программировании.

Недавно выяснилось, что разряды PC0 и PC1 ППА не используются в ИРИШЕ никаким образом (хотя и выведены, видимо, для использования пользователем, на локальный разъём платы ЦП). Наличие двух дополнительных битов, причём в одном сплошном 4-х битовом порту (разряды PC0...PC3, что обеспечивает запись одной командой) позволяет расширить число конфигураций памяти с 4 до 16, что позволяет управляя тем же диспетчером иметь уже не одну 64-х килобайтовую банку доп.ОЗУ, а целых четыре. При этом разряды PC2, PC3 по-прежнему задают номер карты, а разряды PC0 и PC1 задают номер банки включённой в качестве доп.памяти в 16-ти килобайтовых окнах доступа к ней (с 4000 и C000 в картах 1 и 3). Это намного более простое по деталям, удобное и изящное решение.

Наличие этой идеи позволяет расширить ОЗУ ИРИШИ до 64+4*64= 320 кб самым простым в реализации способом. Ещё один плюс при этом в том, что используется оригинальный диспетчер памяти, который уже изначально поддержан эмулятором (т.е не требуется его доработка, эмулятор EMU уже поддерживает эти 320 кб).

"Лампово", т.е в стиле исторической эпохи (середины 80-тых) было бы сделать плату расширения ОЗУ на 565РУ7. К сожалению, неумеренное потребление ГМО и ядовитых химикатов в выращенных китайцами овощах за время после краха СССР настолько сильно подорвало умственные способности (т.е средний IQ) населения, что уже вряд-ли найдётся человек, который сумеет разработать плату доп.ОЗУ ИРИШИ на 565РУ7. Удачно, что при использовании статических ОЗУ думать не надо, они ставятся "в лоб", тупым подключением на одноименные цепи.

Но в DIP-конструктиве распространены и недОроги только статические ОЗУ с организацией 32К*8 (что применялись в кэшах IBM PC из 90-тых). Если на них набирать все 256К, то понадобится аж 8 панелек. Хотя адреса в системной магистрали ИРИШИ буферизованы и они, по крайней мере при клоке 1.77, выдержат такую нагрузку, но монтировать столько панелек вручную слишком утомительно. Для ручного монтажа разумно ограничиться лишь 4-мя панельками, что даёт 128 кб доп.ОЗУ (значит всего будет 64+4*32= 192 кб ОЗУ).

Вот полная схема периферийной платы ИРИШИ, которая даёт дополнительные 128 кб (в ней используется всего один доп.бит PC1, бит PC0 не используется). Имея в запасе ещё один бит не проблема добавить ещё 128 кб (до полных 256). Для этого достаточно заменить дешифратор на 4 выхода на дешифратор на 8 выходов (например на ИД6 или ИД7) подав на доп.адресный вход сигнал PC0 и подав 4 доп.выхода дешифратора на 4 доп.корпуса ОЗУ 32К*8.

Расширение ОЗУ в ИРИШЕ RAM_196_kb.1570023763


Последний раз редактировалось: barsik (Пт Окт 04 2019, 18:08), всего редактировалось 1 раз(а) (Обоснование : добавил одну пропущенную букву)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty Re: Расширение ОЗУ в ИРИШЕ

Сообщение  Viktor2312 Ср Окт 02 2019, 19:01

5
.
Вот, что можно рассмотреть, пока есть в наличии и цена более менее норм:

https://www.chipdip.ru/product/ut621024pc-70ll

Технические параметры:

Серия: UT62

Тип памяти: SRAM

Объем памяти: 1 Mбит (128k x 8 )

Максимальная тактовая частота (скорость): 70 нс

Интерфейс: parallel

Напряжение питания, В: 4.5…5.5

Рабочая температура, °C: 0…+70

Корпус: DIP-32 (15,24 мм)


.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Чт Окт 03 2019, 07:34

6
Viktor2312 пишет:Вот, что можно рассмотреть, пока есть в наличии и цена более менее
Это великолепный вариант, лучше не бывает (не лохотрон ли?), - любителям ретро-компов надо эти микросхемы закупать килограммами пока есть возможность. В прошлом году я интересовался ценой 621024/w241024 и цены на них были выше 1000 рублей за корпус.

Для 8-ми разрядок в которых предусмотрена возможность банково наращивать ОЗУ или есть ППА пользователя на больших статических ОЗУ очень удобно делать простые внутренние или внешние электронные диски. Например в ОРИОНЕ-128 всего на одной такой микросхеме очень удобно добавлять ОЗУ до 256 кб. Я делал в 1991 году в своём ОРИОНЕ 3-ю банку ОЗУ на двух 62256 (удобно ставится панелька на 28 ног на месте бесполезного при Z80 преобразователя +12В). Впрочем, переразведя плату ОРИОНА, используя всего две такие микросхемы ОЗУ, можно на треть сократить размер платы ОРИОНА и его электропотребление.

С такой микросхемой схема платы расширения ОЗУ на 128 кб будет намного проще:

Расширение ОЗУ в ИРИШЕ Dop_128K_na_621024.1570167014
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Пт Окт 04 2019, 08:52

7
Не пробовал, но думаю что, если нет других, сильно грузящих системную магистраль, плат, можно буфер АП6 на шину данных ОЗУ не ставить.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty Re: Расширение ОЗУ в ИРИШЕ

Сообщение  Viktor2312 Пт Окт 04 2019, 11:23

8
4 микросхемы всего получается, пожалуй её можно и на плате МП разместить, главное чтобы схема точно рабочей была...

Вот только не понял, зачем ЛА9 с открытым коллектором, почему не ЛА3. Тогда и не нужно будет два раза инвертировать сигнал /READY.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty Re: Расширение ОЗУ в ИРИШЕ

Сообщение  barsik Пт Окт 04 2019, 12:17

9
Viktor2312 пишет:её можно и на плате МП разместить
Эта схема под сигналы системной магистрали, т.е под разъём ГРПМ-61. Потому на плате ЦП без вороха проводов нельзя применить именно такую схему, т.к на плате ЦП стоит разъём не системной магистрали, а локальной.

Для локальной магистрали, кстати, схема логики проще, т.к там сигналы ещё в интелловском интерфейсе. Т.е для локальной магистрали такая схема (с включением ОЗУ в неиспользуемых окнах карт 1 и 3) не пойдёт или придется делать кучу коррекций, чтобы запрещать буфера системной магистрали, иначе будет конфликт. В локальную магистраль подключать ОЗУ без больших коррекций можно только на место ПЗУ, т.е в окне 16К в карте 0.

По такой схеме можно только подпаять ворохом проводов от разъёма ГРПМ-61 к платке, но чем же это лучше, чем периферийная плата имеющая свой разъём ГРПМ-61 и втыкаемая в разъём на кросс-плате.

Viktor2312 пишет:не понял, зачем ЛА9 с открытым коллектором, почему не ЛА3
Нельзя, надо именно с открытым коллектором. Это монтажное ИЛИ для нулей. Для всех I/O-портов сигналы готовности формируются на вентилях с открытым коллектором. Когда I/O-устройство отработало, то оно выходным транзистором с ОК закорачивает эту цепь на землю, что формирует сигнал готовности для КР580.

Кстати из-за такой особенности, ИРИША подвержена вандализму. Если сделать обращение в какой-либо не существующий физически I/O-порт, то ИРИША просто зависнет (до нажатия на кнопку СБРОС). Потому нельзя вытащить из разъёма ГРПМ-61, например плату внешнего электронного диска, - без неё у меня ИРИША зависает на сбросе. Т.к по сбросу соответствующим ROM-BIOS электронный диск инициализируется, при этом по первому же обращению в несуществующий порт происходит завис.

Потому, по правильному, надо бы иметь какую-то систему конфигураторов, т.е перемычек или микро выключателей, которыми задавать, что именно такое устройство в системе есть. По указанной причине ИРИША сама не может определить это программно.


Последний раз редактировалось: barsik (Пт Окт 04 2019, 13:49), всего редактировалось 1 раз(а)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty Re: Расширение ОЗУ в ИРИШЕ

Сообщение  Viktor2312 Пт Окт 04 2019, 12:52

10
Эта схема под сигналы системной магистрали, т.е под разъём ГРПМ-61. Потому на плате ЦП без вороха проводов нельзя применить именно такую схему, т.к ....

Я имел в виду в контексте, при изготовлении новой печатной платы, а не лепить ворохом проводов к уже имеющейся.

Нельзя, надо именно с открытым коллектором. Это монтажное ИЛИ для нулей. Для всех медленных БИС-ов и периферийных плат сигналы готовности формируются на вентилях с открытым коллектором. Сразу по обращению (т.е по получению его /CS=0) устройство закорачивает эту цепь на землю загоняя КР580 в ожидание. А когда устройство отработало, то выключает транзистор с открытым коллектором и резистор привязки утягивает цепь на уровень единицы, т.е неготовность убирается.

Согласен, забыл уже про это, сигнал же на системной шине, но всё равно, схема не оптимальна, зачем резистор, 2 кОм, резистор уже есть на модуле процессора, а так выходит будет куча резюков по разным модулям разбросано которые по сути будут параллельно соединены, сейчас уже получится, 330 Ом и 2 кОм в параллель, а как известно общее сопротивление меньше меньшего, так что будет чуть меньше 330 Ом.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Пт Окт 04 2019, 17:12

11
Viktor2312 пишет:Я имел в виду... при изготовлении новой печатной платы модуля ЦП
Если разрабатывать и выпускать новую плату ЦП, то всё-равно эта схема не годится. Зачем детали из внешней шины переносить на плату ЦП и ставить их там на внешней шине. Так можно сделать только, если не хватает ума или энтузиазма придумать лучшего варианта, при котором ОЗУ, как и ПЗУ включено в локальной шине?

Такой вариант с ОЗУ внутри МП-ядра несложно придумать, но это надо макетировать. У меня такое желание, если и возникнет, то нескоро. И то только, если это действительно будет надо, т.е будет спрос и появится серъёзный энтузиаст, кто захочет это сделать и возъмёт на себя огромные расходы.

А этого явно не предвидится, т.к похоже даже оригинальные платы ИРИШИ народ не настраивает. Похоже даже не пытается. По моей оценке было выпущено и продано, как минимум, 40 комплектов плат ИРИШИ. Почему все эти люди купившие платы не пишут в форумах радостные сообщения о том, что успешно настроились и теперь разрабатывают огромное количество программ?

За монтаж 32-х ногих ОЗУ 621024 на плате ЦП я бы не взялся, но установку 32-х килобайт внутрь ядра вполне можно отмакетировать "малой кровью", т.к на плате ЦП есть две панельки на 28 ног и одна из них свободна, когда применено одно ПЗУ на 16К (27128 или 27256) вместо двух 2764. Тогда в свободную панельку можно поставить одну 62256 в окне 4000...BFFF видимую в картах 2 и 0 (вместо 32К ОЗУ из платы граф.адаптера). Это даст 32 кб бестормозного ОЗУ. Без изменения прошивки в РТ4 на плате граф.адаптера это общего объёма ОЗУ не прибавит, лишь сделает его быстрее (т.к вместо асинхронного и вэйтованного ОЗУ на плате граф.адаптера будет использоваться синхронное и безвэйтовое ОЗУ в тех же адресах). Хотя при желании, изменив прошивку РТ4, можно и освободившиеся 32 кб с платы граф.адаптера включить в доступ в пустых дырках карт 1 или 3.

Но даже отмакетировав схему включения статического ОЗУ в ядро, нет смысла делать другой вариант платы ЦП на том же процессоре КР580. Смысл есть делать на Z80 или 1821ВМ85, причём в турбо варианте, как раз об этом я и писал вчера здесь, вот в этом абзаце:
плата ЦП ИРИШИ наоборот проста как апельсин и не проблема её переразвести на 1821ВМ85 на такте 4 МГЦ существенно упростив и улучшив (заменив не только процессор и элементную базу, но и введя прямо на плату 128 кб быстрого ОЗУ на статике, что сделает ИРИШУ самой быстрой отечественной 8-ми разрядкой)
Но пока не будет спроса на платы ИРИШИ, рассуждать на эту тему бессмысленно. Может быть спрос чуть возрастёт, если будет простой контроллер винта IDE, поддержанный CP/M, или простой контроллер microSD и тоже поддержанный CP/M, - не бездосовой оболочкой (!), - именно CP/M увеличивает число программ (а бездосовым нортоном читающим из формата FAT, как это сдуру сделали для РК и других ретро-компов, на ИРИШЕ можно запускать лишь три игры).
Viktor2312 пишет:зачем резистор, 2 кОм, резистор уже есть на модуле процессора... получится, 330 Ом и 2 кОм в параллель
Какие 2 кОма? На цепь /READY из периферийных плат выходит голый открытый коллектор никаких резисторов 2К нет. Как раз потому, что резистор привязки есть на плате ЦП. Он 330 Ом, но сдуру на землю идёт и 470 Ом. Вот эти 470 Ом и не нужны вообще. Нужна лишь нагрузка каскада ОК на +5В.

Эти несуразные цепочки 330-470 разработчики ИРИШИ заимствовали из плат больших машин. Там это применяли видимо потому, что соединительные косы между платами и шкафами были длинными с большими паразитными емкостями шин. А в ИРИШЕ это не надо. Я думаю, что и без них будет хорошо. Ни в одной из последующих 8-ми разрядок эту идею не повторили. Не видел я такого и в платах СМ-1800. Жаль, когда их выкинули, я схемы себе не забрал.


Последний раз редактировалось: barsik (Пт Окт 04 2019, 17:48), всего редактировалось 1 раз(а) (Обоснование : вставил одну букву)
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty Re: Расширение ОЗУ в ИРИШЕ

Сообщение  Viktor2312 Пт Окт 04 2019, 17:27

12
Меня как раз таки интересует только микропроцессор КР580ВМ80А, и совсем не интересны Z80 и ВМ85, поэтому предполагал, и пока ещё собираюсь делать для себя плату. Но меня бесят эти разъёмы ГРПМ, они слишком туго входят и ещё сложнее вытащить, я их буду менять на два разъёма IDC-40 и два шлейфа с наколанными на них разъёмами через нужные расстояния, это уже точно. Да, это усложнит извлечение модуля, сначала нужно будет отсоединить сзади эти два разъёма, а потом уже извлечь плату из корзины, но это проще, чем выдирать из этих ГРПМ, к тому же они очень дорогие, уж не 10 руб. так уж точно и сложно доставаемые. Поэтому от них я буду избавляться, просто задняя стенка корпуса будет в виде дверцы, открыл, отсоединил разъёмы от нужной платы и открутив крепления (два винтика) на передней панели вытащил плату. Пока что это всё у меня на стадии обдумывания, но сильно менять плату я не хочу.
А так же меня бесят эти резисторные сборки из резисторов, я резисторы хочу нормально расположить па плате, чтобы получать удовольствие от пайки платы, а не долбаться.
Но, сначала я вычерчу электрическую принципиальную схему, продумав каждый узел, а потом уже буду разрабатывать печатную плату, с новым форм-фактором, скорее всего это будет 200 х 200 мм. И вот тут, хотелось бы возможно что-то добавить на плату, если будет свободное место, но пока особо ничего не ясно, я ещё к этому процессу не приступал, жду начала осени, а то вот сегодня +29, ну это точно ещё не осень, надеюсь к 1 декабря наступит...

Резистор, да 2 кОм, я ступил, он же на входе стоит. Так проще наверно было бы транзистор КТ315 поставить с резистором 4,7 кОм в базе, и тогда было бы 4 микросхемы ЛЛ1, ЛА3, АП6, ОЗУ.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Ср Ноя 04 2020, 15:16

13
Если у любителя ретро ЭВМ имеется не только ИРИША, но и находятся в эксплуатации и другие 8-ми разрядные машины, то не выгодно в ИРИШУ ставить плату расширения ОЗУ большого объёма.

Можно с'экономить килограмм дорогого статического ОЗУ (типа w24257), если сообразить, что программ огромного размера для ИРИШИ нет и не предвидится. И всем программам, что есть и появятся хватит для размещения кода и данных 64 Кб адресного пространства или даже всего 48 Кб. Для увеличения скорости прогона до 1.77 МГЦ достаточно 32 или даже всего 16 Кб безвэйтового ОЗУ. Расширение ОЗУ свыше 64 Кб, ни скорость, ни число пригодных программ не увеличит, хотя если этого доп.ОЗУ достаточно много, то его можно использовать под эл.диск в какой-либо ОС.

Однако смонтировав дорогие ИМС в плату расширения ОЗУ ИРИШИ, эти ценные микросхемы статического ОЗУ будет уже нельзя применить на другой машине, например, на РК86 или Специалисте. Кроме того, обще-подключимый эл.диск упрощает обмен файлами между машинами (я так переносил программы), иначе перенос файлов между ИРИШЕЙ и другой машиной придётся делать через прошивку ПЗУ или по проводной линии (по МГ-входу не получится, т.к у ИРИШИ не популярный, ни с какой машиной несовместимый МГ-формат). Кроме того, если в качестве эл.диска будет использован micro-SD со своим контроллером, то доп.ОЗУ большее необходимых для ускорения работы 32-х килобайт не нужно.

Потому видится более экономичным (не только по деталям, но и, что не менее важно, и по труду) сделать эл.диск на статике внешним, что позволит его подключать к РК86, ИРИШЕ или любому другому 8-ми разрядному компьютеру или контроллеру. А ИРИШЕ для ускорения достаточно доп.ОЗУ всего в 32 Кб. Некоторым плюсом внешнего эл.диска является то, что тогда его можно неделями не выключать, выключая лишь питание ИРИШИ.

Так как, диспетчер памяти ИРИШИ устроен так, что только половина ОЗУ (в двух окнах по 16К) может быть занята бестормозным ОЗУ (из платки доп.ОЗУ). А именно, в участках памяти 0000...3FFF и 8000...BFFF нельзя включить скоростное внешнее ОЗУ - здесь всегда медленное ОЗУ из платы граф.адаптера (что печально, т.к программы из под ЯВУ обычно работают с адреса 100). Т.о, как ни извращайся с доп.платами ОЗУ, в половине адресного пространства памяти ИРИШИ всегда будет стоять тормозящее (до ~1 МГЦ эффективного такта в режимах 2 и 3) ОЗУ.

Потому невыгодно тратить очень ценные скоростные w24257 или даже намного более медленные 62256, а также большой труд на ненужно большое расширение ОЗУ самой ИРИШИ. Нет сомнения, что безтормозное ОЗУ ИРИШЕ нужно (для ускорения работы). Но его достаточно всего 32 кб, т.к дырок под расширение ОЗУ в адресном пространстве есть всего 16+16= 32 Кб. С точки зрения минимизации монтажного труда разумнее всего спаять крошечную платку устанавливаемую в ГРПМ-31 на плате ЦП, т.е в локальную магистраль. При этом и схема проще и КР580 в режиме отключки от магистрали (когда он лишён доступа к ОЗУ в плате граф.адаптера) поимеет ОЗУ.

Что не только позволит процессору КР580 прогонять любые программы работая в изолированной локальной шине (например, обслуживать клавиатуру и джойстик), избавит от перепрошивки ПЗУ при установке других активных плат, но и решит главную задачу - ускорение работы ИРИШИ до скорости заданной клоком процессора (без WAIT-ов).

Не та тема, чтобы обсуждать эл.диск, потому о схеме доп.ОЗУ. На крошечной платке для локальной магистрали должен быть дешифратор сигналов P0 и P1 (они задают номер банки, одной из двух, не считая ПЗУ, которое - банка 0). Это один корпус, например 1533 ИД7. А буфер АП6 не нужен, он ничего не улучшит (т.к АП6 даёт нагрузку ШД в один TTL-вход и ОЗУ без него даёт нагрузку ШД в один вход).

Таким образом задача ускорения ИРИШИ и создание возможности подключить к ней КНГМД (что невозможно в базовой ИРИШЕ из-за рваного темпа прогона вызванного неравномерным торможением граф.адаптером) решается монтажом на обрывке куска текстолита двух узких корпусов: w24257 и 1533 ИД7. Конструкция произвольная. Спаяв эту небольшую платку мы получаем возможность прогонять программы в стабильном темпе и с максимальной скоростью (что и требуется для работы платы КНГМД по любой схеме).

Теоретически можно одну панельку ПЗУ 2764 на плате ЦП занять под ПЗУ 27256, а во вторую поставить статическое ОЗУ 62256 (т.к у неё тот же конструктив и цоколёвка). Это практично, труда меньше, но придётся резать печать, монтировать вторым этажом и потому доработка нереверсивна. Т.е придётся делать грубое вторжение в саму высокоэстэтичную плату ЦП, что категорически не одобряет Viktor2312. В то время как отдельная платка с доп.ОЗУ подключаемая через локальный ГРПМ не требует коррекция на основной плате и легко реверсивна (извлечением из локального разъёма ГРПМ-31).
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  Viktor2312 Ср Ноя 04 2020, 19:31

14
Не та тема, чтобы обсуждать эл.диск, потому о схеме доп.ОЗУ. На крошечной платке для локальной магистрали должен быть дешифратор сигналов P0 и P1 (они задают номер банки, одной из двух, не считая ПЗУ, которое - банка 0). Это один корпус, например 1533 ИД7. А буфер АП6 не нужен, он ничего не улучшит (т.к АП6 даёт нагрузку ШД в один TTL-вход и ОЗУ без него даёт нагрузку ШД в один вход).

...делать грубое вторжение в саму высокоэстэтичную плату ЦП, что категорически не одобряет...

В то время как отдельная платка с доп.ОЗУ подключаемая через локальный ГРПМ не требует коррекция на основной плате и легко реверсивна (извлечением из локального разъёма ГРПМ-31).

Тут нужно вычертить схему, чтобы понять, а возможно и сделать в итоге плату. Опишите подробнее, я хочу схемку начертить.

А хотя не получится, так как сигналы P0 и P1 не выведены на разъём X6.

А вот в МП-ВМ80 в новом форм-факторе, будет 3 свободных контакта, так как разъём IDC-34? и туда можно завети эти сигналы, и ещё один.

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty .

Сообщение  barsik Ср Ноя 04 2020, 21:49

15
Viktor2312 пишет:Тут нужно вычертить схему, чтобы понять, а возможно и сделать в итоге плату. Опишите подробнее, я хочу схемку начертить. А хотя не получится, так как сигналы P0 и P1 не выведены на разъём X6.
Получится, получится. Хотя и не без вторжений на основную плату.

Разработчики ИРИШИ не вывели P0, P1, хотя на самОй плате они называются P1, P2 (вероятно коррекция с переименованием не доведена до конца) ни на X6, ни на X5. Как и в пульте отладки и внешних платах ПЗУ и автоинкрементного ROM-диска нужна ещё и коса на X5 (т.к там ШД и сигналы упр). Понадобятся /RD /WR и IO/-M и обратно на осн.плату для блокировки буфера магистрали пойдёт чип-селект (ОЗУ или ПЗУ).

Их (P0, P1) всё-равно нельзя было бы использовать без доп.коррекций на осн.плате, т.к при включении устройства в локальной шине надо блокировать буфер магистрали D38, D39 иначе при чтении в процессор устройство выдаст байт в локальную шину и туда же откроется буфер магистрали и возникнет конфликт на ШД (и одна из микросхем может сгореть). А блокирует буфер магистрали сигнал /SSSD=1.

Потому, чтобы включить какое либо другое из устройств (кроме тех, чьи чип-селекты уже заведены на D19 (который и участвует в проиводстве /SSSD) или идут на него же через диоды НД1) в локальную магистраль надо занять вход у D19. Можно освободить у D19 один из двух входов (тех что идут к НД1) или подать выборку статики 32К через ещё один (добавленный) диод в общую точку диодов в диодной сборе НД1.
Viktor2312 пишет:Опишите подробнее, я хочу схемку начертить.
Если не терпится. А так бы и сам нарисовал, когда вновь займусь ИРИШЕЙ (вроде ничего сложного, ума должно хватить). Это же просто схема совпадений на два окна по 16К.

Итак, нам надо сформировать чип-селект, возникающий, когда процессор лезет в окно 4000...7FFF в карте 1 и когда процессор лезет в окно C000...FFFF в той же карте 1. По этой выборке что-то внешнее включается в два окна по 16 Кб (там где в карте дырки). Написал "что-то" потому, что это может быть как ОЗУ, так и ПЗУ (да и вообще любое устройство, например КНГМД адресуемый в области памяти). Итак, чип селект должен возникать для банки 1, т.е когда сигналы выбора банки P0=1, а P1=0 (всего карта памяти ИРИШИ адресует банки 0, 1 и 2, а банку 3 не адресует вообще, она отсутствует, как класс).

Итак думаем, как сделать выборку окна 4000...7FFF. Ясно, что это происходит при A15=0 и A14=1. Т.о на логических ИМС или с использованием дешифраторов надо поиметь схему совпадений на 4 сигнала. Также надо чтобы чип-селект формировался и для второго окна C000...FFFF для той же банки 1 (потому сигналы выбора банки P1, P0 те же), но для этого окна адреса A14=A15=1.

Из 4-х нужных пока сигналов один из них, а именно А14, - оказывается не нужен (т.к выборка генерится и при А14=0 и при А14=1). Итого остаётся всего 3 сигнала. Чип селект статического доп.ОЗУ должен стать =0, когда P0 и А15 =1, а P1 =0. Но для чип-селекта надо ещё иключить обращение в порт. Т.е в формировании чип селекта на статическое ОЗУ должен участвовать и сигнал IO/-M=0 (этот сигнал =0, когда идёт обращение к памяти, а не к В/У).

Обычно выборку удобно формировать на 555 ИД7. Он удобен для таких вещей, как неоднократно указывал автор вот этой незабвенной книги, которую всем полезно читать на ночь каждый день, хотя бы по полчаса.

У ИД7 шесть входов, так что он позволяет выделить почти любую комбинацию из 5-6 сигналов, а из 4-х сигналов вообще любую. Таким образом простейшая платка для расширения ОЗУ состоит из корпуса статики 32К (62256 или w24257) и дешифратора 1533 ИД7, о чём я выше и упомянул. Замечу ещё что разъём ГРПМ-31 папа должен впаиваться в платку втыкаемую в ГРМП-31 локальной магистрали вертикально (перпендикулярно поверхности), для чего Г-образно загнутые выводы разъёма распрямляются.
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Расширение ОЗУ в ИРИШЕ Empty победа разума на сарсапариллой

Сообщение  barsik Пн Ноя 09 2020, 11:50

16
Расширение ОЗУ на доп.платках стандартным (т.е заложенным в конструкцию и архитектуру) способом - это полезное дело, по-крайней мере его можно использовать под эл.диск и оно ускоряет и избавляет процессор от рваного темпа прогона, что имеет место при использовании ОЗУ из платы граф.адаптера. А стабильный темп работы процессора, в частности, позволяет использовать традиционный КНГМД по любой схеме.

Однако, бытовой компьютер нужен не для того, чтобы поиметь на нём дисковод или даже эл.диск. На бытовом компьютере нам нужно не только хранить кулинарные рецепты и считать проценты банка и налоги (это реклама компьютера для домохозяек в США в начале 80-тых). А важно, чтобы на ИРИШЕ динамичные игры работали с нормальной скоростью. Исходно ИРИША в играх тормозит и, увы, добавление бестормозного ОЗУ (подключаемого с помощью диспетчера памяти) игры не ускоряет.

Архитектура ИРИШИ имеет один неприятный недостаток. Который заключается в том, что за счёт введения бестормозного доп.ОЗУ на внешней плате нельзя поднять быстродействие игр. Т.е расширяй, не расширяй ОЗУ, скорость прогона игр (без смены самой архитектуры) - никак не поднимешь.

Программы базовой ИРИШИ работают в карте 2. В этой карте включено всё ОЗУ, что есть в базовой ИРИШЕ (другие карты для программ не годятся, т.к зияют дырками предназначенными для второй банки ОЗУ, которой в базовой ИРИШЕ нет). Карта 0 служит для работы ROM-BIOS - в этой карте включено ПЗУ и экран (чтобы можно было выводить на него из ПЗУ). А карта 2 как раз даёт все 64 Кб ОЗУ и экран удобно поднят под вершину адресного пространства, чтобы создать максимальное сплошное ОЗУ. Потому все имеющеся программы ИРИШИ работают именно в карте 2, в которой всё ОЗУ медленное.

Т.о у такой архитектуры есть неприятное для прогона динамичных игр свойство, которое заключается в том, что с экраном ИРИШИ может работать программа только из карты 2. Таким образом двигать по экрану спрайты может только программа из медленного ОЗУ, что в цвете обеспечивает скорость всего-лишь около 1 МГЦ.

Что конечно могло бы привести любителей ИРИШИ в отчаяние, ибо движения принца Персии со скоростью артритной улитки могут не только навеять здоровый сон, но и вызвать серъёзную депрессию у любителей ИРИШИ, потративших десятки килорублей и сотни часов труда, чтобы её оживить. И всё-же после прочтения этого абзаца не следует сразу плакать, биться головой об стену или даже намыливать верёвку подвешенную к потолку.

Вы узнали неприглядную тайну, многие годы тщательно скрываемую фанатами ИРИШИ от посторонних (дабы не отвращать), но  я конечно бы не стал выдавать эту информацию, столь компроментирующую эту платформу, если бы не нашёл отличное решение.

Обладая даже небольшим количеством серых клеточек в мозге, любой, кто помнит карты памяти ИРИШИ сможет обнаружить, что экран доступен не только в карте 2, но и в карте 0 (где с ним работает код из ПЗУ). Код из ПЗУ работает с колоссальной скоростью (т.к вообще лишён тормозов), - ПЗУ-шный код разгоняет процессор аж до 1.77 МГЦ реального такта. Потому, если поставить в ИРИШУ ПЗУ не 27128, а 27256 и организовать двухстраничность ПЗУ, то прошив в ПЗУ движок игры, мы получим её ускорение аж в ~1.7 раза. Не стоит забывать, что даже программа работающая из нетормозимого ОЗУ при чтении/записи экрана всё-равно тормозится (потому и указано ~1.7, а не точно 1.77)

Увы, даже при столь большом быстродействии процессора в 1.77 МГЦ уровняться в скорости с Apple-IIe для которого американский программист Джордан Мехнер написал оригинал игры "Принц Персии" не удастся. Дело в том, что цвет в Apple-II, хотя и довольно убогий, но зато не тормозит, а цвет в ИРИШЕ удваивает объём экранной графики и потому тормозит. Оценим потери на цвет в процентов 20-25, точно не более.

Некоторые наглые враги утверждают, что 6502 на 1 МГЦ работает быстрее, чем Z80 на 2 МГЦ (были даже идиоты, что утверждали, что Z80 надо 4 МГЦ, чтобы сравняться, но это явные идиоты, их мнение нас не должно волновать). Таким образом даже, чтобы лишь сравняться с машиной, которой располагал Джордан Мехнер на машине с видеодаптером ИРИШИ понадобится эффективный такт КР580/Z80 - примерно 2.75 МГЦ.

Ясно, что прошивка кода игры в ПЗУ не самое удобное решение. Значит неизбежны доработки. Какие возможны варианты доработки архитектуры, чтобы работать с экраном из быстрого ОЗУ? Т.к экран присутствует лишь в картах 0 и 2, то надо сделать так, чтобы в этих картах появилось быстрое ОЗУ. Первый и нелучший вариант это ввести доработку, чтобы в карте 0 вместо ПЗУ на 0...3FFF или медленного ОЗУ на 4000...BFFF включалось скоростное нетормозимое ОЗУ.

Аппаратно это решается тем, что управлямый каким-то программным битом чип-селект ПЗУ временно переключается от ПЗУ на статическое ОЗУ 6264/62256 смонтированное тут же на плате ЦП. Тогда в карте 0 вместо ПЗУ в области 0...3FFF будет включено быстрое ОЗУ и программа может работать с экраном на максимальной скорости, что даёт процессор. Если 62256 ставить во вторую панельку ПЗУ 2764 (что свободна, если применено ПЗУ 27128 или 27256) это неплохой вариант по объёму доработок. Это потребует несколько разрезов печати на плате и монтаж, вероятно, двух дешёвых TTL-корпусов вторым этажом.

Это я описал, что можно сделать. Но гораздо более выгоден другой вариант дающий аж 48 Кб скоростного ОЗУ. Он основан на том, что на основную плату ЦП встраивается перекорёживатель архитектуры. С его помощью делается так, чтобы в карте 2, в которой присутствует экран, в области памяти вне экрана (0...BFFF) вместо медленного ОЗУ включалось 48 Кб скоростного ОЗУ.

Это по сути наглое расширение ОЗУ совсем не по принципам иришиного диспетчера памяти заложенного разработчиками. В карте 2 область 0...FFFF - внешняя, т.е буфера магистрали работают на приём и передачу. Потому, чтобы в карте 2 вместо банки 2 включилась банка 3 (которая вообще диспетчером не поддерживается) достаточно лишь вместо P0=0 подать P0=1 (т.е проинвертировать всего один сигнал). При этом должна выбраться отсутствующая банка 3, а плата граф.адаптера не отзовётся и не помешает.

Таким образом, если мы на отдельной грязной картонке с разъёмом ГРПМ-61 смонтируем статическое ОЗУ (естественно c логикой для её выборки в банке 3 и с неизбежным формирователем READY), и, как выше указано, на плате ЦП ИРИШИ добавим коррекцию на сигнал P1, то получится не только экономная по деталям, но и самая оптимальная и эффективная по скорости доработка.

Важно, что при этом игры сделанные для базовой ИРИШИ будут совместимы и будут работать в 1.6 раза быстрее, т.к этот метод расширения ОЗУ в той же карте подменяет 48 Кб медленного ОЗУ из платы граф.адаптера на быстрое ОЗУ. Аналогично новые игры написанные для такой ИРИШИ будут работать на базовой ИРИШЕ, но в 1.6 раза тормознее. Это оптимальное решение идеальным образом снимающее проклятие неудачного диспетчера памяти ИРИШИ.

На плате ЦП надо ввести узел, который из двоичных сигналов 1.0 на входе, на выход выдаёт 1.1, но лишь когда обращение в область 0...BFFF (т.к на C000...FFFF должен оставаться экран из платы граф.адаптера). Схема не оптимизирована, лишь показывает логику (кстати эта комбинаторная схемка из 4-х входов и 2-х выходов заменяется одной РПЗУ, например 556 РТ4). Работа схемы приводит к тому, что при обращении процессора в адреса 2.0000... 2.BFFF происходит обращение в несуществующую банку 3 на те же адреса 3.0000... 3.BFFF. И одновременно выдаётся чип.селект для доп.ОЗУ (чтобы не повторять логику выборки на платке доп.ОЗУ), благодаря чему на платке доп.ОЗУ меньше деталей (только конвертор интерфейса и типовой формирователь READY).

Расширение ОЗУ в ИРИШЕ IRISHA.1604909985

Эта химическая идея обходит (игнорирует) неудачный иришин диспетчер ОЗУ, снимая все его ограничения. Такая несложная реконструкция ИРИШИ даёт 48 Кб быстрого ОЗУ и, что удачно, не мешает стандартным расширениям ОЗУ, т.к они все затрагивают лишь карты 1 и 3, а данное доп.ОЗУ подменяет ОЗУ в карте 2 (что в оригинале читается из граф.адаптера) на ОЗУ из несуществующей банки 3. Как недостаток можно указать лишь то, что общий объём ОЗУ такой схемой увеличивается не на 48 Кб, а всего на 32 Кб (ОЗУ 16К-блоков 0 и 2 из ОЗУ граф.адаптера доступно в картах 1 и 3). Таким образом общее ОЗУ увеличивается до 64+32= 96 Кб.

Но суть доработки не в расшиении ОЗУ, а в том, что 48 Кб тормозного ОЗУ в плате граф.адапера заменяется на другое (уже нетормозимое) ОЗУ грубо сляпанное на грязной картонке привинченной к разъёму ГРПМ-61. На плате ЦП делается один разрез прямо у контанта ГРПМ, сложнее распаять на плате ЦП три 16-ти ногих TTL-корпуса вторым этажом. Их можно напаивать лишь на 1533, не на буфера (иначе они перегреются). Дизайн платы резко пострадает, но достигаемый выигрыш стоит того.

Тем не менее это однозначно самый оптимальный для игр, и одновременно один из самых простых, вариантов введения в ИРИШУ нетормозимого ОЗУ. При необходимости (с расходом в 2 корпуса логики) можно ввести две страницы по 48К быстрого ОЗУ (получится машина с цельнобанковой коммутацией).



Т.к у меня нет однокорпусной статики на 64К, то для ускорения монтажа придётся ставить w24257. При этом только 32К ОЗУ 0...7FFF будет скоростным (для игры этого с избытком), а общее ОЗУ составит 64+16= 80 Кб. Вот какая полная схема платки при ОЗУ 32К и коррекции на плате ЦП. Можно начинать подыскивать грязную картонку для монтажа.

Расширение ОЗУ в ИРИШЕ RAM32Bank3.1604923096
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения